ThunderEgg
1.0.0
|
This is an Operator where derived classes only have to implement the two virtual functions that operate on single patch. More...
#include <PatchOperator.h>
Public Member Functions | |
PatchOperator (const Domain< D > &domain, const GhostFiller< D > &ghost_filler) | |
Construct a new Patch Operator object. More... | |
virtual PatchOperator< D > * | clone () const override=0 |
Clone this patch operator. More... | |
virtual | ~PatchOperator () |
Destroy the PatchOperator object. | |
virtual void | applySinglePatch (const PatchInfo< D > &pinfo, const PatchView< const double, D > &u_view, const PatchView< double, D > &f_view) const =0 |
Apply the operator to a single patch. More... | |
virtual void | modifyRHSForInternalBoundaryConditions (const PatchInfo< D > &pinfo, const PatchView< const double, D > &u_view, const PatchView< double, D > &f_view) const =0 |
Treat the internal patch boundaries as domain boundaires and modify RHS accordingly. More... | |
virtual void | applySinglePatchWithInternalBoundaryConditions (const PatchInfo< D > &pinfo, const PatchView< const double, D > &u_view, const PatchView< double, D > &f_view) const =0 |
Apply the operator to a single patch. More... | |
void | apply (const Vector< D > &u, Vector< D > &f) const override |
Apply the operator. More... | |
const Domain< D > & | getDomain () const |
Get the Domain object associated with this PatchOperator. | |
const GhostFiller< D > & | getGhostFiller () const |
Get the GhostFiller object associated with this PatchOperator. | |
Public Member Functions inherited from ThunderEgg::Operator< D > | |
virtual | ~Operator () |
Destroy the Operator object. | |
This is an Operator where derived classes only have to implement the two virtual functions that operate on single patch.
D | the number of Cartesian dimensions. |
|
inline |
Construct a new Patch Operator object.
This sets the Domain and GhostFiller
domain | the Domain |
ghost_filler | the GhostFiller |
|
inlineoverridevirtual |
Apply the operator.
This will update the ghost values in u, and then will call applySinglePatch for each patch
u | the left hand side |
f | the right hand side |
Implements ThunderEgg::Operator< D >.
|
pure virtual |
Apply the operator to a single patch.
The ghost values in u will be updated to the latest values, and should not need to be modified
pinfo | the patch |
u_view | the solution |
f_view | the left hand side |
Implemented in ThunderEgg::VarPoisson::StarPatchOperator< D >, and ThunderEgg::Poisson::StarPatchOperator< D >.
|
pure virtual |
Apply the operator to a single patch.
The ghost values in u will be updated to the latest values, and should not need to be modified
pinfo | the patch |
u_view | the solution |
f_view | the left hand side |
Implemented in ThunderEgg::VarPoisson::StarPatchOperator< D >, and ThunderEgg::Poisson::StarPatchOperator< D >.
|
overridepure virtual |
Clone this patch operator.
Implements ThunderEgg::Operator< D >.
Implemented in ThunderEgg::VarPoisson::StarPatchOperator< D >, and ThunderEgg::Poisson::StarPatchOperator< D >.
|
pure virtual |
Treat the internal patch boundaries as domain boundaires and modify RHS accordingly.
This will be u_viewed in patch solvers to formulate a RHS for the individual patch to solve for.
pinfo | the patch |
u_view | the left hand side |
f_view | the right hand side |
Implemented in ThunderEgg::VarPoisson::StarPatchOperator< D >, and ThunderEgg::Poisson::StarPatchOperator< D >.