Class for passing electrostatic domain boundary conditions into EBHelmholtzOp. More...
#include <CD_EBHelmholtzElectrostaticDomainBC.H>
Protected Attributes | |
ElectrostaticDomainBc | m_electrostaticBCs |
Electrostatic domain boundary conditions. | |
std::map< ElectrostaticDomainBc::DomainSide, std::shared_ptr< EBHelmholtzDomainBC > > | m_bcObjects |
BC objects on each domain side. | |
![]() | |
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 | |
![]() | |
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 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. | |
Class for passing electrostatic domain boundary conditions into EBHelmholtzOp.
This calss is a wrapper for Dirichlet/Neumann boundary conditions where the values/functions are passed in through ElectrostaticDomainBc. This class will simply instantiate one such BC object for each edge/face in the computational domain, and call the appropriate BC function when EBHelmholtzOp asks for it.
EBHelmholtzElectrostaticDomainBC::EBHelmholtzElectrostaticDomainBC | ( | const ElectrostaticDomainBc & | a_electrostaticBCs | ) |
Full constructor.
[in] | a_electrostaticBCs | Electrostatic domain boundary condition functions (in time and space) |
|
delete |
Disallowed – don't see why you would need it.
[in] | a_other | Other operator |
|
delete |
Disallowed – don't see why you would need it.
[in] | a_other | Other operator |
|
finaloverridevirtual |
Define function.
[in] | a_dataLocation | Data location (either Location::Cell::Center or Location::Cell::Centroid). |
[in] | a_eblg | Level grids |
[in] | a_probLo | Lower-left corner of computational domain |
[in] | a_dx | Grid resolution |
Reimplemented from EBHelmholtzDomainBC.
|
finaloverridevirtual |
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.
|
finaloverridevirtual |
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.
|
delete |
Disallowed - don't see why you would need it.
[in] | a_other | Other operator |
|
delete |
Disallowed - don't see why you would need it.
[in] | a_other | Other operator |
|
protected |
BC objects on each domain side.
These are instantiated in the constructor where we construct Neumann/Dirichlet on each domain side.