PhysIBC Class Reference

#include <PhysIBC.H>

Inheritance diagram for PhysIBC:

Inheritance graph
[legend]
Collaboration diagram for PhysIBC:

Collaboration graph
[legend]

List of all members.


Detailed Description

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.

Public Member Functions

 PhysIBC ()
 Constructor.
virtual ~PhysIBC ()
 Destructor.
virtual void define (const ProblemDomain &a_domain, const Real &a_dx)
 Define the object.
virtual PhysIBCnew_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 PhysIBCnew_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)


Constructor & Destructor Documentation

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().


Member Function Documentation

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().

virtual void PhysIBC::initialize ( LevelData< FArrayBox > &  a_U  )  [pure virtual]

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]

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]

virtual void PhysIBC::getBoundaryFaces ( Box a_boundaryBox,
const Box a_dataFaceBox,
const int &  a_dir,
const Side::LoHiSide a_side 
) [protected, virtual]

This function is called by primBC to get boundary faces.

Parameters:
a_boundaryBox  face-centered box of boundary faces to fill in
a_dataFaceBox  face-centered box
a_dir  which direction
a_side  which side

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.

virtual void PhysIBC::initialize ( LevelData< FArrayBox > &  a_phi,
LevelData< FArrayBox > &  a_pi,
Real  a_dx 
) [pure virtual]

Set up initial conditions.

Implemented in WaveIBC.

void PhysIBC::operator= ( const PhysIBC a_input  )  [inline, private]

References MayDay::Error().


Member Data Documentation

bool PhysIBC::m_isDefined [protected]

Real PhysIBC::m_dx [protected]


The documentation for this class was generated from the following files:

Generated on Tue Apr 14 14:23:54 2009 for Chombo + EB by  doxygen 1.5.5