|
chombo-discharge
|
Boundary condition class for passing Neumann domain boundary conditions into EBHelmholtzOp. More...
#include <CD_EBHelmholtzNeumannDomainBC.H>


Public Member Functions | |
| EBHelmholtzNeumannDomainBC () | |
| Constructor. Must subsequently call setDphiDn or setBxDphiDn. | |
| EBHelmholtzNeumannDomainBC (const Real a_DphiDn) | |
| Constructor. | |
| EBHelmholtzNeumannDomainBC (const std::function< Real(const RealVect &a_pos)> &a_value) | |
| Full constructor. | |
| virtual | ~EBHelmholtzNeumannDomainBC () |
| Destructor. | |
| void | setDphiDn (const Real a_DphiDn) |
| Set value of dphi/dn on the EB. | |
| void | setDphiDn (const std::function< Real(const RealVect &a_pos)> &a_DphiDn) |
| Set spatially dependent value of dphi/dn on the EB. | |
| void | setBxDphiDn (const Real a_BxDphiDn) |
| Set the value of B*dphi/dn on the EB. | |
| void | setBxDphiDn (const std::function< Real(const RealVect &a_pos)> &a_BxDphiDn) |
| Set the spatially dependent value of B*dphi/dn on the EB. | |
| virtual void | getFaceFlux (BaseFab< Real > &a_faceFlux, const BaseFab< Real > &a_phi, const BaseFab< Real > &a_Bcoef, const int &a_dir, const Side::LoHiSide &a_side, const DataIndex &a_dit, const bool a_useHomogeneous) const override |
| Get face flux. This is for regular cells. | |
| virtual Real | getFaceFlux (const VolIndex &a_vof, const EBCellFAB &a_phi, const EBFaceFAB &a_Bcoef, const int &a_dir, const Side::LoHiSide &a_side, const DataIndex &a_dit, const bool a_useHomogeneous) const override |
| Get face flux. This is for irregular cells. | |
Public Member Functions inherited from EBHelmholtzDomainBC | |
| EBHelmholtzDomainBC () | |
| Constructor. | |
| virtual | ~EBHelmholtzDomainBC () |
| Destructor. | |
| EBHelmholtzDomainBC (const EBHelmholtzDomainBC &a_other)=delete | |
| Disallowed – don't see why you would need it. | |
| EBHelmholtzDomainBC (const EBHelmholtzDomainBC &&a_other)=delete | |
| Disallowed – don't see why you would need it. | |
| EBHelmholtzDomainBC & | operator= (const EBHelmholtzDomainBC &a_other)=delete |
| Disallowed - don't see why you would need it. | |
| EBHelmholtzDomainBC & | operator= (const EBHelmholtzDomainBC &&a_other)=delete |
| Disallowed - don't see why you would need it. | |
| virtual void | define (const Location::Cell a_dataLocation, const EBLevelGrid &a_eblg, const RealVect &a_probLo, const Real a_dx) |
| Define function. | |
Protected Attributes | |
| bool | m_multByBco |
| Hook for multiplying by b-coefficient or not. | |
| bool | m_useConstant |
| Use constant for BC. | |
| bool | m_useFunction |
| Use function for BC value. | |
| Real | m_constantDphiDn |
| Value on the domain side. | |
| std::function< Real(const RealVect &a_pos)> | m_functionDphiDn |
| Value on the domain side. | |
Protected Attributes inherited from EBHelmholtzDomainBC | |
| Location::Cell | m_dataLocation |
| Data centering. | |
| Real | m_dx |
| Grid resolution. | |
| RealVect | m_probLo |
| Lower-left corner of computational domain. | |
| EBLevelGrid | m_eblg |
| Level grid. | |
Additional Inherited Members | |
Protected Member Functions inherited from EBHelmholtzDomainBC | |
| RealVect | getBoundaryPosition (const IntVect &a_iv, const int &a_dir, const Side::LoHiSide &a_side) const |
| Returns the cell-centered position at the boundary. | |
| void | multiplyByBcoef (BaseFab< Real > &a_flux, const BaseFab< Real > &a_bco, const int a_dir, const Side::LoHiSide a_side) const |
| Utility function which multiplies the flux (or actually, dphi/dn) by the B-coefficient. This is used by the implementation classes when they compute the regular flux at the domain edges/faces. | |
Static Protected Attributes inherited from EBHelmholtzDomainBC | |
| static constexpr int | m_comp = 0 |
| Component that everything is defined for. Always have m_comp = 0. | |
| static constexpr int | m_nComp = 1 |
| Number of components. Always have m_nComp = 1. | |
Boundary condition class for passing Neumann domain boundary conditions into EBHelmholtzOp.
This class can set either dphi/dn or B*dphi/dn on the boundary.
Constructor.
| [in] | a_DphiDn | Constant value of dphi/dn on all domain sides. |
| EBHelmholtzNeumannDomainBC::EBHelmholtzNeumannDomainBC | ( | const std::function< Real(const RealVect &a_pos)> & | a_value | ) |
Full constructor.
| [in] | a_DphiDn | Spatially dependent value of dphi/dn on all domain sides. |
|
overridevirtual |
Get face flux. This is for regular cells.
| [in,out] | a_faceFlux | Face-centered flux. |
| [in] | a_phi | Cell-centered data |
| [in] | a_Bcoef | Face-centered B-coefficient |
| [in] | a_dir | Coordinate direction |
| [in] | a_side | High or low side |
| [in] | a_dit | Data index |
| [in] | a_useHomogeneous | Homogeneous physical BCs or not. |
Implements EBHelmholtzDomainBC.
|
overridevirtual |
Get face flux. This is for irregular cells.
| [in] | a_vof | Grid cell |
| [in] | a_phi | Cell-centered data |
| [in] | a_Bcoef | Face-centered B-coefficient |
| [in] | a_dir | Coordinate direction |
| [in] | a_side | High or low side |
| [in] | a_dit | Data index |
| [in] | a_useHomogeneous | Homogeneous physical BCs or not. |
Implements EBHelmholtzDomainBC.
Set the value of B*dphi/dn on the EB.
| [in] | a_BxDphiDn | Value of B*dphi/dn. |
| void EBHelmholtzNeumannDomainBC::setBxDphiDn | ( | const std::function< Real(const RealVect &a_pos)> & | a_BxDphiDn | ) |
Set the spatially dependent value of B*dphi/dn on the EB.
| [in] | a_BxDphiDn | Value of B*dphi/dn. |
Set value of dphi/dn on the EB.
| [in] | a_DphiDn | Value of dphi/dn. |
| void EBHelmholtzNeumannDomainBC::setDphiDn | ( | const std::function< Real(const RealVect &a_pos)> & | a_DphiDn | ) |
Set spatially dependent value of dphi/dn on the EB.
| [in] | a_DphiDn | Value of dphi/dn. |