Class for passing EddingtonSP1 domain boundary conditions into EBHelmholtzOp.
More...
#include <CD_EBHelmholtzEddingtonSP1DomainBC.H>
|
| EBHelmholtzEddingtonSP1DomainBC ()=delete |
| Not allowed, use the full constructor.
|
|
| EBHelmholtzEddingtonSP1DomainBC (const EddingtonSP1DomainBc &a_eddingtonBCs, const RefCountedPtr< RtSpecies > &a_species, const Real a_r1, const Real a_r2) |
| Full constructor. More...
|
|
| EBHelmholtzEddingtonSP1DomainBC (const EBHelmholtzEddingtonSP1DomainBC &a_other)=delete |
| Disallowed – don't see why you would need it. More...
|
|
| EBHelmholtzEddingtonSP1DomainBC (const EBHelmholtzEddingtonSP1DomainBC &&a_other)=delete |
| Disallowed – don't see why you would need it. More...
|
|
virtual | ~EBHelmholtzEddingtonSP1DomainBC () |
| Destructor.
|
|
EBHelmholtzEddingtonSP1DomainBC & | operator= (const EBHelmholtzEddingtonSP1DomainBC &a_other)=delete |
| Disallowed - don't see why you would need it. More...
|
|
EBHelmholtzEddingtonSP1DomainBC & | operator= (const EBHelmholtzEddingtonSP1DomainBC &&a_other)=delete |
| Disallowed - don't see why you would need it. More...
|
|
void | define (const Location::Cell a_dataLocation, const EBLevelGrid &a_eblg, const RealVect &a_probLo, const Real a_dx) override final |
| Define function. More...
|
|
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 final |
| Get face flux. This is for regular cells. More...
|
|
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 final |
| Get face flux. This is for irregular cells. More...
|
|
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.
|
|
|
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. More...
|
|
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. More...
|
|
Static Protected Attributes inherited from EBHelmholtzDomainBC |
constexpr static int | m_comp = 0 |
| Component that everything is defined for. Always have m_comp = 0.
|
|
constexpr static int | m_nComp = 1 |
| Number of components. Always have m_nComp = 1.
|
|
Class for passing EddingtonSP1 domain boundary conditions into EBHelmholtzOp.
This calss is a wrapper for Dirichlet/Neumann boundary conditions where the values/functions are passed in through EddingtonDomainBc
- Note
- For this class to operate correctly with time-dependent boundary conditions, the user must ensure that the time dependence is captured by reference. The time argument in ElectrostaticDomainBc::BcFunction by this class, so whatever function is put in there, it must capture time by reference.
◆ EBHelmholtzEddingtonSP1DomainBC() [1/3]
EBHelmholtzEddingtonSP1DomainBC::EBHelmholtzEddingtonSP1DomainBC |
( |
const EddingtonSP1DomainBc & |
a_eddingtonBCs, |
|
|
const RefCountedPtr< RtSpecies > & |
a_species, |
|
|
const Real |
a_r1, |
|
|
const Real |
a_r2 |
|
) |
| |
Full constructor.
- Parameters
-
[in] | a_eddingtonBCs | EddingtonSP1 boundary conditions on domain sides |
[in] | a_species | Radiative transfer species |
[in] | a_r1 | "First reflection coefficient" |
[in] | a_r2 | "Second reflection coefficient" |
◆ EBHelmholtzEddingtonSP1DomainBC() [2/3]
Disallowed – don't see why you would need it.
- Parameters
-
[in] | a_other | Other operator |
◆ EBHelmholtzEddingtonSP1DomainBC() [3/3]
Disallowed – don't see why you would need it.
- Parameters
-
[in] | a_other | Other operator |
◆ define()
void EBHelmholtzEddingtonSP1DomainBC::define |
( |
const Location::Cell |
a_dataLocation, |
|
|
const EBLevelGrid & |
a_eblg, |
|
|
const RealVect & |
a_probLo, |
|
|
const Real |
a_dx |
|
) |
| |
|
finaloverridevirtual |
Define function.
- Parameters
-
[in] | a_dataLocation | Data location |
[in] | a_eblg | Level grids |
[in] | a_probLo | Lower-left corner of computational domain |
[in] | a_dx | Grid resolution |
- Note
- Overriding because this is a wrapper class for Dirichlet/Neumann, and those objects need defining.
Reimplemented from EBHelmholtzDomainBC.
◆ getFaceFlux() [1/2]
void EBHelmholtzEddingtonSP1DomainBC::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 |
|
finaloverridevirtual |
Get face flux. This is for regular cells.
- Parameters
-
[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. |
- Note
- a_faceFlux is defined in the first strip of interior cells on the (dir,side) edge of the domain.
Implements EBHelmholtzDomainBC.
◆ getFaceFlux() [2/2]
Real EBHelmholtzEddingtonSP1DomainBC::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 |
|
finaloverridevirtual |
Get face flux. This is for irregular cells.
- Parameters
-
[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.
◆ operator=() [1/2]
Disallowed - don't see why you would need it.
- Parameters
-
[in] | a_other | Other operator |
◆ operator=() [2/2]
Disallowed - don't see why you would need it.
- Parameters
-
[in] | a_other | Other operator |
◆ m_bcObjects
BC objects on each domain side.
These are instantiated in the constructor where we construct Neumann/Dirichlet on each domain side.
The documentation for this class was generated from the following files: