|
| | 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 |