FieldFillPatchOps< BCOpCreator > Class Template Reference
|
Kynema-SGF API v0.1.0
CFD solver for wind plant simulations
|
#include <FieldFillPatchOps.H>
Public Types | |
| using | Functor = typename BCOpCreator::FunctorType |
Public Member Functions | |
| FieldFillPatchOps (Field &field, const amrex::AmrCore &mesh, const SimTime &time, FieldInterpolator itype=FieldInterpolator::CellConsLinear, FieldInterpolator face_itype=FieldInterpolator::FaceDivFree) | |
| FieldFillPatchOps (Field &field, const amrex::AmrCore &mesh, const SimTime &time, const BCOpCreator &bc_op, FieldInterpolator itype=FieldInterpolator::CellConsLinear, FieldInterpolator face_itype=FieldInterpolator::FaceDivFree) | |
| amrex::Vector< amrex::MultiFab * > | get_mfab_vec (int lev) |
| void | fillpatch (int lev, amrex::Real time, amrex::MultiFab &mfab, const amrex::IntVect &nghost, const FieldState fstate=FieldState::New) override |
| Implementation that handles filling patches on a single level as well as across a coarse-fine interface. | |
| void | fillpatch_sibling_fields (int lev, amrex::Real time, amrex::Array< amrex::MultiFab *, AMREX_SPACEDIM > &mfabs, amrex::Array< amrex::MultiFab *, AMREX_SPACEDIM > &ffabs, amrex::Array< amrex::MultiFab *, AMREX_SPACEDIM > &cfabs, const amrex::IntVect &nghost, const amrex::Vector< amrex::BCRec > &fillpatch_bcrec, const amrex::Vector< amrex::BCRec > &physbc_bcrec, const FieldState) override |
| Implementation that handles filling patches on a single level as well as across a coarse-fine interface, for an array of different fields. | |
| void | fillpatch_from_coarse (int lev, amrex::Real time, amrex::MultiFab &mfab, const amrex::IntVect &nghost, const FieldState fstate=FieldState::New) override |
| Implementation that handles filling patches from a coarse to fine level. | |
| void | fillphysbc (int lev, amrex::Real time, amrex::MultiFab &mfab, const amrex::IntVect &nghost, const FieldState) override |
| Implementation that handles filling physical boundary conditions. | |
| void | set_inflow (int lev, amrex::Real time, amrex::MultiFab &mfab, const amrex::IntVect &nghost, const FieldState) override |
| void | set_inflow_sibling_fields (const int lev, const amrex::Real time, const amrex::Array< amrex::MultiFab *, AMREX_SPACEDIM > mfabs) override |
| Public Member Functions inherited from kynema_sgf::FieldFillPatchOpsBase | |
| FieldFillPatchOpsBase ()=default | |
| virtual | ~FieldFillPatchOpsBase ()=default |
| virtual void | set_inflow_sibling_fields (int lev, amrex::Real time, amrex::Array< amrex::MultiFab *, AMREX_SPACEDIM > mfabs)=0 |
Protected Member Functions | |
| Functor | bc_functor () |
| Functor | bc_functor_face (const int face_dir) |
| void | check_face_mapper () |
Protected Attributes | |
| const SimTime & | m_time |
| const amrex::AmrCore & | m_mesh |
| Field & | m_field |
| const BCOpCreator | m_op |
| amrex::Interpolater * | m_mapper |
| Function that handles interpolation from coarse to fine level. | |
| amrex::Interpolater * | m_face_mapper |
| Function that handles interpolation from coarse to fine level for faces. | |
Detailed Description
class kynema_sgf::FieldFillPatchOps< BCOpCreator >
Concrete implementation of filling patches and boundary conditions on multi-level AMR meshes.
Member Typedef Documentation
◆ Functor
| using kynema_sgf::FieldFillPatchOps< BCOpCreator >::Functor = typename BCOpCreator::FunctorType |
Constructor & Destructor Documentation
◆ FieldFillPatchOps() [1/2]
|
inline |
- Parameters
-
field Field whose patches are filled by this instance mesh The mesh instance to determine amrex::Geometry at a level time Time instance itype Interpolation type (default: conservative cell linear) face_itype Face interpolation type (default: face divergence free)
◆ FieldFillPatchOps() [2/2]
|
inline |
Member Function Documentation
◆ bc_functor()
|
inlineprotected |
◆ bc_functor_face()
|
inlineprotected |
◆ check_face_mapper()
|
inlineprotected |
◆ fillpatch()
|
inlineoverridevirtual |
Implementation that handles filling patches on a single level as well as across a coarse-fine interface.
Implements kynema_sgf::FieldFillPatchOpsBase.
Reimplemented in kynema_sgf::FillMPL, kynema_sgf::OceanWavesFillInflow, and kynema_sgf::PlaneFillInflow.
◆ fillpatch_from_coarse()
|
inlineoverridevirtual |
Implementation that handles filling patches from a coarse to fine level.
Implements kynema_sgf::FieldFillPatchOpsBase.
Reimplemented in kynema_sgf::FillMPL, kynema_sgf::OceanWavesFillInflow, and kynema_sgf::PlaneFillInflow.
◆ fillpatch_sibling_fields()
|
inlineoverridevirtual |
Implementation that handles filling patches on a single level as well as across a coarse-fine interface, for an array of different fields.
Implements kynema_sgf::FieldFillPatchOpsBase.
Reimplemented in kynema_sgf::FillMPL, kynema_sgf::OceanWavesFillInflow, and kynema_sgf::PlaneFillInflow.
◆ fillphysbc()
|
inlineoverridevirtual |
Implementation that handles filling physical boundary conditions.
Implements kynema_sgf::FieldFillPatchOpsBase.
Reimplemented in kynema_sgf::FillMPL, kynema_sgf::OceanWavesFillInflow, and kynema_sgf::PlaneFillInflow.
◆ get_mfab_vec()
|
inline |
Utility function to get a vector of multifabs for over states
Returns one or two multifabs at a given level depending on whether the field was registered with states. When two states are returned the first one is the Old state and the second one is the New state.
◆ set_inflow()
|
inlineoverridevirtual |
Implements kynema_sgf::FieldFillPatchOpsBase.
◆ set_inflow_sibling_fields()
|
inlineoverride |
Member Data Documentation
◆ m_face_mapper
|
protected |
Function that handles interpolation from coarse to fine level for faces.
◆ m_field
|
protected |
◆ m_mapper
|
protected |
Function that handles interpolation from coarse to fine level.
◆ m_mesh
|
protected |
◆ m_op
|
protected |
◆ m_time
|
protected |
The documentation for this class was generated from the following file:
- /home/runner/work/kynema-sgf/kynema-sgf/src/core/FieldFillPatchOps.H
Generated by