Chombo + EB + MF
3.2
|
Physical/domain initial and boundary conditions. More...
#include <PhysIBC.H>
Public Member Functions | |
PhysIBC () | |
Constructor. More... | |
virtual | ~PhysIBC () |
Destructor. More... | |
virtual void | define (const ProblemDomain &a_domain, const Real &a_dx) |
Define the object. More... | |
virtual PhysIBC * | new_physIBC ()=0 |
Factory method - this object is its own factory. More... | |
virtual void | initialize (LevelData< FArrayBox > &a_U)=0 |
Set up initial conditions. More... | |
virtual void | primBC (FArrayBox &a_WGdnv, const FArrayBox &a_Wextrap, const FArrayBox &a_W, const int &a_dir, const Side::LoHiSide &a_side, const Real &a_time)=0 |
Set boundary primitive values. More... | |
virtual void | setBdrySlopes (FArrayBox &a_dW, const FArrayBox &a_W, const int &a_dir, const Real &a_time)=0 |
Set boundary slopes. More... | |
virtual void | artViscBC (FArrayBox &a_F, const FArrayBox &a_U, const FArrayBox &a_divVel, const int &a_dir, const Real &a_time)=0 |
Adjust boundary fluxes to account for artificial viscosity. More... | |
virtual void | getBoundaryFaces (Box &a_boundaryBox, const Box &a_dataFaceBox, const int &a_dir, const Side::LoHiSide &a_side) |
This function is called by primBC() to get boundary faces of a Box. More... | |
Protected Attributes | |
bool | m_isDefined |
ProblemDomain | m_domain |
Real | m_dx |
Private Member Functions | |
void | operator= (const PhysIBC &) |
PhysIBC (const PhysIBC &) | |
Physical/domain initial and boundary conditions.
Virtual base class through which a user specifies the initial and boundary conditions for a hyperbolic system of PDEs.
PhysIBC::PhysIBC | ( | ) |
Constructor.
|
virtual |
Destructor.
|
private |
|
virtual |
Define the object.
a_domain | problem domain index space |
a_dx | grid spacing |
Reimplemented in PhysMappedIBC.
|
pure virtual |
Factory method - this object is its own factory.
Return a pointer to a new PhysIBC object with m_isDefined = false (i.e., its define() must be called before it is used).
Implemented in WaveIBC, RampIBC, ExplosionIBC, PhysMappedIBC, and AdvectTestIBC.
Set up initial conditions.
a_U | conserved variables |
Implemented in WaveIBC, RampIBC, ExplosionIBC, PhysMappedIBC, and AdvectTestIBC.
|
pure virtual |
Set boundary primitive values.
a_WGdnv | primitive variables at face centers; this routine replaces values along boundary faces of domain |
a_Wextrap | extrapolated primitive variables to a_side of cells in direction a_dir (cell-centered data) |
a_W | primitive variables at start of time step (cell-centered data) |
a_dir | normal direction of the domain where boundary condition fluxes needed |
a_side | side of the domain where boundary condition fluxes needed |
a_time | physical time of the problem, for time-varying boundary conditions |
Implemented in WaveIBC, RampIBC, ExplosionIBC, PhysMappedIBC, and AdvectTestIBC.
|
pure virtual |
Set boundary slopes.
The boundary slopes in a_dW are already set to one-sided difference approximations. If this function doesn't change them, they will be used for the slopes at the boundaries.
a_dW | face-centered differences of primitive variables |
a_W | primitive variables at start of time step (cell-centered data) |
a_dir | normal direction of faces |
a_time | physical time of the problem, for time-varying boundary conditions |
Implemented in PhysMappedIBC, WaveIBC, RampIBC, ExplosionIBC, and AdvectTestIBC.
|
pure virtual |
Adjust boundary fluxes to account for artificial viscosity.
a_F | face-centered flux, to be adjusted on boundary |
a_U | cell-centered conserved variables |
a_divVel | face-centered divergence of cell-centered velocity |
a_dir | normal direction of faces |
a_time | physical time of the problem, for time-varying boundary conditions |
Implemented in PhysMappedIBC, WaveIBC, RampIBC, ExplosionIBC, and AdvectTestIBC.
|
virtual |
|
private |
|
protected |
|
protected |
|
protected |