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

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

virtual void time (Real a_time)
 set current time

virtual Real time () const

Protected Attributes

bool m_isDefined
 define() has been called

ProblemDomain m_domain
Real m_dx
 The current level's grid spacing.

Real m_time
 current solution time


Private Member Functions

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


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

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, RotorMHDIBC, WaveMHDIBC, ExplosionIBC, GaussianIBC, RampIBC, SineIBC, 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 IdealMHDIBC, RotorMHDIBC, WaveMHDIBC, ExplosionIBC, GaussianIBC, RampIBC, SineIBC, 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
[virtual]
 

Apply artificial viscosity at the boundary.

The default implementation of this currently does nothing.

Reimplemented in RampIBC.

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

Set up initial conditions.

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

virtual void PhysIBC::time Real  a_time  )  [virtual]
 

set current time

virtual Real PhysIBC::time  )  const [virtual]
 

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


Member Data Documentation

bool PhysIBC::m_isDefined [protected]
 

define() has been called

ProblemDomain PhysIBC::m_domain [protected]
 

Real PhysIBC::m_dx [protected]
 

The current level's grid spacing.

Real PhysIBC::m_time [protected]
 

current solution time


The documentation for this class was generated from the following file:
Generated on Fri Jul 2 17:56:00 2004 for Chombo by doxygen 1.3.2