Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

PhysIBC Class Reference

Physical/domain initial and boundary conditions. More...

#include <PhysIBC.H>

Inheritance diagram for PhysIBC:

Inheritance graph
[legend]
Collaboration diagram for PhysIBC:

Collaboration graph
[legend]
List of all members.

Public Methods

 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 fluxBC (FArrayBox &a_F, const FArrayBox &a_W, const FArrayBox &a_Wextrap, 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)
 Apply artificial viscosity at the boundary.

virtual void initialize (LevelData< FArrayBox > &a_U)=0
 Set up initial conditions.


Protected Attributes

bool m_isDefined
ProblemDomain m_domain
Real m_dx

Private Methods

void operator= (const PhysIBC &a_input)
 PhysIBC (const PhysIBC &a_input)

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.


Constructor & Destructor Documentation

PhysIBC::PhysIBC  
 

Constructor.

virtual PhysIBC::~PhysIBC   [inline, virtual]
 

Destructor.

PhysIBC::PhysIBC const PhysIBC &    a_input [inline, private]
 


Member Function Documentation

virtual void PhysIBC::artViscBC FArrayBox   a_F,
const FArrayBox   a_U,
const FArrayBox   a_divVel,
const int &    a_dir,
const Real   a_time
[virtual]
 

Apply artificial viscosity at the boundary.

The default implementation of this currently does nothing.

Reimplemented in RampIBC.

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 void PhysIBC::fluxBC FArrayBox   a_F,
const FArrayBox   a_W,
const FArrayBox   a_Wextrap,
const int &    a_dir,
const Side::LoHiSide   a_side,
const Real   a_time
[pure virtual]
 

Set boundary fluxes.

Implemented in IdealMHDIBC, ExplosionIBC, GaussianIBC, RampIBC, SineIBC, and WaveIBC.

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

Set up initial conditions.

Implemented in IdealMHDIBC, ExplosionIBC, GaussianIBC, RampIBC, SineIBC, and WaveIBC.

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 IdealMHDIBC, ExplosionIBC, GaussianIBC, RampIBC, SineIBC, and WaveIBC.

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

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 ExplosionIBC, GaussianIBC, RampIBC, SineIBC, and WaveIBC.


Member Data Documentation

ProblemDomain PhysIBC::m_domain [protected]
 

Real PhysIBC::m_dx [protected]
 

bool PhysIBC::m_isDefined [protected]
 


The documentation for this class was generated from the following file:
Generated on Tue Jul 2 10:44:14 2002 for Chombo by doxygen1.2.16