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


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