|
|
| EBHelmholtzRobinEBBC () |
| | Default constructor. Must subsequently set coefficients.
|
| |
| | EBHelmholtzRobinEBBC (const int a_order, const int a_weight, const Real a_A, const Real a_B, const Real a_C) |
| | Full constructor which sets constant coefficients.
|
| |
| | EBHelmholtzRobinEBBC (const int a_order, const int a_weight, const std::function< Real(const RealVect &a_pos)> &a_A, const std::function< Real(const RealVect &a_pos)> &a_B, const std::function< Real(const RealVect &a_pos)> &a_C) |
| | Full constructor which sets variable coefficients.
|
| |
|
virtual | ~EBHelmholtzRobinEBBC () |
| | Destructor.
|
| |
| void | setOrder (const int a_order) |
| | Set BC order.
|
| |
| void | setWeight (const int a_weight) |
| | Set equation weights for least squares reconstruction.
|
| |
| virtual void | setDomainDropOrder (const int a_domainSize) |
| | Drop BC order if domain size is equal or below this.
|
| |
| void | setCoefficients (const Real a_A, const Real a_B, const Real a_C) |
| | Set constant coefficients.
|
| |
| void | setCoefficients (const std::function< Real(const RealVect &a_pos)> &a_A, const std::function< Real(const RealVect &a_pos)> &a_B, const std::function< Real(const RealVect &a_pos)> &a_C) |
| | Set variable coefficients.
|
| |
| virtual void | applyEBFlux (VoFIterator &a_vofit, EBCellFAB &a_Lphi, const EBCellFAB &a_phi, const BaseIVFAB< Real > &a_Bcoef, const DataIndex &a_dit, const Real &a_beta, const bool &a_homogeneousPhysBC) const override |
| | Apply the EB flux. This is the version that is called by EBHelmholtzOp.
|
| |
|
| EBHelmholtzEBBC () |
| | Default constructor.
|
| |
|
virtual | ~EBHelmholtzEBBC () |
| | Destructor.
|
| |
|
| EBHelmholtzEBBC (const EBHelmholtzEBBC &a_other)=delete |
| | Disallowed – don't see why you would need it.
|
| |
|
EBHelmholtzEBBC & | operator= (const EBHelmholtzEBBC &a_other)=delete |
| | Disallowed - don't see why you would need it.
|
| |
| void | define (const Location::Cell a_dataLocation, const EBLevelGrid &a_eblg, const AmrMask &a_validCells, const RealVect &a_probLo, const Real &a_dx, const int a_ghostCF) |
| | Define function that is called by EBHelmholtzOp.
|
| |
| const LayoutData< BaseIVFAB< VoFStencil > > & | getGradPhiStencils () const |
| | Get the stencil for computing the finite-volume approximation to kappa*Div(F).
|
| |
|
| virtual void | define () override |
| | User define function.
|
| |
| VoFStencil | getInterpolationStencil (const VolIndex &a_vof, const DataIndex &a_dit, const VofUtils::Neighborhood a_neighborhood, const int a_order) const |
| | Get a least-squares based interpolation stencil.
|
| |
| bool | isStencilValidCF (const VoFStencil &a_stencil, const DataIndex &a_dit) const |
| | Check if stencil is valid.
|
| |
| RealVect | getBoundaryPosition (const VolIndex &a_vof, const DataIndex &a_dit) const |
| | Returns physical position at the boundary.
|
| |
| Real | applyStencil (const VoFStencil &a_stencil, const EBCellFAB &a_phi) const |
| | Apply stencil to data holder and return result.
|
| |
|
|
bool | m_useConstant |
| | Use constant for BC.
|
| |
|
bool | m_useFunction |
| | Use function for BC value.
|
| |
|
int | m_order |
| | Stencil order.
|
| |
|
int | m_weight |
| | Stencil weight (for weighting equations in least squares reconstruction)
|
| |
|
int | m_domainDropOrder |
| | Special flag for dropping stencil order when domains become coarser than this.
|
| |
|
Real | m_constantA |
| | Constant A-coefficient.
|
| |
|
Real | m_constantB |
| | Constant B-coefficient.
|
| |
|
Real | m_constantC |
| | Constant C-coefficient.
|
| |
|
std::function< Real(const RealVect &a_pos)> | m_functionA |
| | Function-based A-coefficient.
|
| |
|
std::function< Real(const RealVect &a_pos)> | m_functionB |
| | Function-based B-coefficient.
|
| |
|
std::function< Real(const RealVect &a_pos)> | m_functionC |
| | Function-based C-coefficient.
|
| |
|
Location::Cell | m_dataLocation |
| | Data centering.
|
| |
|
int | m_ghostCF |
| | Number of ghost cells that were filled across CF interface.
|
| |
|
Real | m_dx |
| | Grid resolution.
|
| |
|
RealVect | m_probLo |
| | Lower-left corner of computational domain.
|
| |
|
EBLevelGrid | m_eblg |
| | Level grid.
|
| |
|
RefCountedPtr< LevelData< BaseFab< bool > > > | m_validCells |
| | Valid grid cells.
|
| |
|
LayoutData< BaseIVFAB< VoFStencil > > | m_gradPhiStencils |
| | Stencils for computing the flux on a single level. This is a single-level object.
|
| |
Base class for passing Robin EB boundary conditions into EBHelmholtzOp.
Robin bcs are in the form A*phi + B*dphi/dn = C. We impose dphi/dn = (C - A*phi)/B where phi is extrapolated to the EB to first order.
- Note
- The B-coefficient is not the same as in the Helmholtz equation...
-
In our notation, n points into the computational domain.