|
| StarPatchOperator (const Domain< D > &domain, const GhostFiller< D > &ghost_filler, bool neumann=false) |
| Construct a new StarPatchOperator object. More...
|
|
StarPatchOperator< D > * | clone () const override |
| Get a clone of this operator. More...
|
|
void | applySinglePatch (const PatchInfo< D > &pinfo, const PatchView< const double, D > &u_view, const PatchView< double, D > &f_view, bool internal) const |
|
void | applySinglePatch (const PatchInfo< D > &pinfo, const PatchView< const double, D > &u_view, const PatchView< double, D > &f_view) const override |
| Apply the operator to a single patch. More...
|
|
void | applySinglePatchWithInternalBoundaryConditions (const PatchInfo< D > &pinfo, const PatchView< const double, D > &u_view, const PatchView< double, D > &f_view) const override |
| Apply the operator to a single patch. More...
|
|
void | enforceBoundaryConditions (const PatchInfo< D > &pinfo, const PatchView< const double, D > &u_view) const |
|
void | enforceInternalBoundaryConditions (const PatchInfo< D > &pinfo, const PatchView< const double, D > &u_view) const |
|
void | modifyRHSForInternalBoundaryConditions (const PatchInfo< D > &pinfo, const PatchView< const double, D > &u_view, const PatchView< double, D > &f_view) const override |
| Treat the internal patch boundaries as domain boundaires and modify RHS accordingly. More...
|
|
void | addDrichletBCToRHS (Vector< D > &f, std::function< double(const std::array< double, D > &)> gfunc) |
| Helper function for adding Dirichlet boundary conditions to right hand side. More...
|
|
void | addNeumannBCToRHS (Vector< D > &f, std::function< double(const std::array< double, D > &)> gfunc, std::array< std::function< double(const std::array< double, D > &)>, D > gfunc_grad) |
| Helper function for adding Neumann boundary conditions to right hand side. More...
|
|
| PatchOperator (const Domain< D > &domain, const GhostFiller< D > &ghost_filler) |
| Construct a new Patch Operator object. More...
|
|
virtual | ~PatchOperator () |
| Destroy the PatchOperator object.
|
|
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.
|
|
virtual | ~Operator () |
| Destroy the Operator object.
|
|
template<int D>
class ThunderEgg::Poisson::StarPatchOperator< D >
Implements 2nd order finite-difference Laplacian operator.
Supports both Dirichlet and Neumann boundary conditions
- Template Parameters
-
D | the number of Cartesian dimensions |