#include <PhysIBC.H>
Virtual base class through which a user specifies the initial and boundary conditions for a hyperbolic system of PDEs.
Public Member Functions | |
PhysIBC () | |
Constructor. | |
virtual | ~PhysIBC () |
Destructor. | |
virtual void | define (const ProblemDomain &a_domain, const Real &a_dx) |
Define the object. | |
virtual PhysIBC * | new_physIBC ()=0 |
Factory method - this object is its own factory. | |
virtual void | initialize (LevelData< FArrayBox > &a_U)=0 |
Set up initial conditions. | |
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 fluxes. | |
virtual void | setBdrySlopes (FArrayBox &a_dW, const FArrayBox &a_W, const int &a_dir, const Real &a_time)=0 |
Set boundary slopes. | |
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. | |
PhysIBC () | |
Constructor. | |
virtual | ~PhysIBC () |
Destructor. | |
virtual PhysIBC * | new_physIBC ()=0 |
Define the object. | |
virtual void | initialize (LevelData< FArrayBox > &a_phi, LevelData< FArrayBox > &a_pi, Real a_dx)=0 |
Set up initial conditions. | |
Protected Member Functions | |
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. | |
Protected Attributes | |
bool | m_isDefined |
ProblemDomain | m_domain |
Real | m_dx |
Private Member Functions | |
void | operator= (const PhysIBC &a_input) |
PhysIBC (const PhysIBC &a_input) | |
void | operator= (const PhysIBC &a_input) |
PhysIBC (const PhysIBC &a_input) |
PhysIBC::PhysIBC | ( | ) |
Constructor.
virtual PhysIBC::~PhysIBC | ( | ) | [virtual] |
Destructor.
PhysIBC::PhysIBC | ( | const PhysIBC & | a_input | ) | [inline, private] |
References MayDay::Error().
PhysIBC::PhysIBC | ( | ) | [inline] |
Constructor.
virtual PhysIBC::~PhysIBC | ( | ) | [inline, virtual] |
Destructor.
PhysIBC::PhysIBC | ( | const PhysIBC & | a_input | ) | [inline, private] |
References MayDay::Error().
virtual void PhysIBC::define | ( | const ProblemDomain & | a_domain, | |
const Real & | a_dx | |||
) | [virtual] |
Define the object.
Set the problem domain index space and the grid spacing for this initial and boundary condition object.
virtual PhysIBC* PhysIBC::new_physIBC | ( | ) | [pure virtual] |
Factory method - this object is its own factory.
Return a point to a new PhysIBC object with m_isDefined = false (i.e., its define() must be called before it is used).
Implemented in ChannelModianoIBC, ChannelShockIBC, Explosion1dIBC, ExplosionIBC, Gaussian1dIBC, Gaussian1dvIBC, GaussianIBC, GaussianPBC, GaussianSmoothBC, RampIBC, ShockTubeIBC, SineIBC, SourceIBC, WaveIBC, and WaveIBC.
Referenced by AMRLevelWaveEqnFactory::IBC().
Set up initial conditions.
Implemented in ChannelModianoIBC, ChannelShockIBC, Explosion1dIBC, ExplosionIBC, Gaussian1dIBC, Gaussian1dvIBC, GaussianIBC, GaussianPBC, GaussianSmoothBC, RampIBC, ShockTubeIBC, SineIBC, SourceIBC, and WaveIBC.
virtual void PhysIBC::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 | |||
) | [pure virtual] |
Set boundary fluxes.
Implemented in ChannelModianoIBC, ChannelShockIBC, Explosion1dIBC, ExplosionIBC, Gaussian1dIBC, Gaussian1dvIBC, GaussianIBC, GaussianPBC, GaussianSmoothBC, RampIBC, ShockTubeIBC, SineIBC, SourceIBC, and WaveIBC.
virtual void PhysIBC::setBdrySlopes | ( | FArrayBox & | a_dW, | |
const FArrayBox & | a_W, | |||
const int & | a_dir, | |||
const Real & | a_time | |||
) | [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.
Implemented in ChannelModianoIBC, ChannelShockIBC, Explosion1dIBC, ExplosionIBC, Gaussian1dIBC, Gaussian1dvIBC, GaussianIBC, GaussianPBC, GaussianSmoothBC, RampIBC, ShockTubeIBC, SineIBC, SourceIBC, and WaveIBC.
virtual void PhysIBC::artViscBC | ( | FArrayBox & | a_F, | |
const FArrayBox & | a_U, | |||
const FArrayBox & | a_divVel, | |||
const int & | a_dir, | |||
const Real & | a_time | |||
) | [pure virtual] |
Adjust boundary fluxes to account for artificial viscosity.
Implemented in ChannelModianoIBC, ChannelShockIBC, Explosion1dIBC, ExplosionIBC, Gaussian1dIBC, Gaussian1dvIBC, GaussianIBC, GaussianPBC, GaussianSmoothBC, RampIBC, ShockTubeIBC, SineIBC, SourceIBC, and WaveIBC.
virtual void PhysIBC::getBoundaryFaces | ( | Box & | a_boundaryBox, | |
const Box & | a_dataFaceBox, | |||
const int & | a_dir, | |||
const Side::LoHiSide & | a_side | |||
) | [protected, virtual] |
void PhysIBC::operator= | ( | const PhysIBC & | a_input | ) | [inline, private] |
References MayDay::Error().
virtual PhysIBC* PhysIBC::new_physIBC | ( | ) | [pure virtual] |
Define the object.
Set the problem domain index space and the grid spacing for this initial and boundary condition object. virtual void define(const ProblemDomain& a_domain, const Real& a_dx); Factory method - this object is its own factory Return a point to a new PhysIBC object with m_isDefined = false (i.e., its define() must be called before it is used).
Implemented in ChannelModianoIBC, ChannelShockIBC, Explosion1dIBC, ExplosionIBC, Gaussian1dIBC, Gaussian1dvIBC, GaussianIBC, GaussianPBC, GaussianSmoothBC, RampIBC, ShockTubeIBC, SineIBC, SourceIBC, WaveIBC, and WaveIBC.
void PhysIBC::operator= | ( | const PhysIBC & | a_input | ) | [inline, private] |
References MayDay::Error().
bool PhysIBC::m_isDefined [protected] |
ProblemDomain PhysIBC::m_domain [protected] |
Real PhysIBC::m_dx [protected] |