#include <source/algorithm/femutils/standard/PatchBoundaryEdgeSum.h>
Public Member Functions | |
PatchBoundaryEdgeSum (const string &object_name) | |
Constructor initializes object to default (mostly undefined) state. | |
~PatchBoundaryEdgeSum () | |
Destructor for the schedule releases all internal storage. | |
void | registerSum (int edge_data_id) |
Register edge data with given patch data identifier for summing. | |
void | setupSum (tbox::Pointer< hier::PatchLevel< DIM > > level) |
Set up summation operations for edge data across shared edges on a single level. | |
void | computeSum () const |
Compute sum of edge values at each shared edge and replace each such edge value with the corresponding sum. |
Usage of a patch boundry edge sum involves the following sequence of steps:
* PatchBoundaryEdgeSum<DIM> my_edge_sum("My Edge Sum"); *
* my_edge_sum.registerSum(edge_data_id1); * my_edge_sum.registerSum(edge_data_id2); * etc... *
* my_edge_sum.setupSum(level); *
* my_edge_sum.computeSum() *
The result of these operations is that each edge patch data value associated with the registered ids at patch boundaries on the level is replaced by the sum of all data values at the edge.
|
Constructor initializes object to default (mostly undefined) state.
|
|
Destructor for the schedule releases all internal storage.
|
|
Register edge data with given patch data identifier for summing.
|
|
Set up summation operations for edge data across shared edges on a single level.
|
|
Compute sum of edge values at each shared edge and replace each such edge value with the corresponding sum. At the end of this method, all values at shared edge locations on patch boundaries will have the same value. |