Peano
Loading...
Searching...
No Matches
FaceDataMovement.h
Go to the documentation of this file.
1// This file is part of the Peano project. For conditions of distribution and
2// use, please see the copyright notice at www.peano-framework.org
3#pragma once
4
5
9
10
11namespace peano4 {
12 namespace datamanagement {
61 template <typename Data, typename StackMap, typename LoadStoreComputeFlag>
63 StackMap& stackMap,
64 int spacetreeId,
66 const FaceMarker& faceMarker,
67 const char* name,
68 LoadStoreComputeFlag loadStoreComputeFlag
69 );
70
83 template <typename Data, typename StackMap, typename LoadStoreComputeFlag>
85 StackMap& stackMap,
86 int spacetreeId,
88 const FaceMarker& faceMarker,
89 const char* name,
90 LoadStoreComputeFlag loadStoreComputeFlag
91 );
92
107 template <
108 typename Data,
109 typename StackMap,
110 typename LoadStoreComputeFlag,
111 typename Send>
113 StackMap& stackMap,
114 int spacetreeId,
115 int position,
116 int toStack,
118 const FaceMarker& faceMarker,
119 LoadStoreComputeFlag loadStoreComputeFlag,
120 Send send
121 );
122
138 template <
139 typename Data,
140 typename StackMap,
141 typename LoadStoreComputeFlag,
142 typename ReceiveAndMerge>
144 StackMap& stackMap,
145 int spacetreeId,
146 int position,
147 int fromStack,
150 const FaceMarker& faceMarker,
151 LoadStoreComputeFlag loadStoreComputeFlag,
152 ReceiveAndMerge receiveAndMerge
153 );
154 } // namespace datamanagement
155} // namespace peano4
156
157
158#include "FaceDataMovement.cpph"
SendReceiveContext
There are three different scenarios when we merge data:
void receiveAndMergeFaceData(StackMap &stackMap, int spacetreeId, int position, int fromStack, peano4::grid::TraversalObserver::SendReceiveContext context, const peano4::grid::GridTraversalEvent &event, const FaceMarker &faceMarker, LoadStoreComputeFlag loadStoreComputeFlag, ReceiveAndMerge receiveAndMerge)
Receive the data of one face and merge it into the local data.
void loadFaceData(StackMap &stackMap, int spacetreeId, const peano4::grid::GridTraversalEvent &event, const FaceMarker &faceMarker, const char *name, LoadStoreComputeFlag loadStoreComputeFlag)
Load the face data of one cell onto the call stack.
void storeFaceData(StackMap &stackMap, int spacetreeId, const peano4::grid::GridTraversalEvent &event, const FaceMarker &faceMarker, const char *name, LoadStoreComputeFlag loadStoreComputeFlag)
Store the face data of one cell from the call stack.
void sendFaceData(StackMap &stackMap, int spacetreeId, int position, int toStack, peano4::grid::TraversalObserver::SendReceiveContext context, const FaceMarker &faceMarker, LoadStoreComputeFlag loadStoreComputeFlag, Send send)
Send the data of one face.
Provide information about selected face.
Definition FaceMarker.h:35