Chombo + EB + MF  3.2
Public Member Functions | Protected Attributes | List of all members
PhysMappedIBC Class Referenceabstract

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

#include <PhysMappedIBC.H>

Inheritance diagram for PhysMappedIBC:
Inheritance graph
[legend]

Public Member Functions

 PhysMappedIBC ()
 Constructor. More...
 
virtual ~PhysMappedIBC ()
 Destructor. More...
 
virtual void define (const ProblemDomain &a_domain, const Real &a_dx)
 Define the object. More...
 
virtual PhysMappedIBCnew_physIBC ()=0
 Factory method - this object is its own factory. More...
 
virtual void setTime (Real a_time)
 
virtual void setCoordSys (MultiBlockCoordSys *a_coordSysPtr)
 
void setCoordSys (NewCoordSys *a_coordSysPtr)
 
virtual void print ()
 
virtual void initialize (LevelData< FArrayBox > &a_U)=0
 Set up initial conditions. More...
 
virtual void initializeWithJ (LevelData< FArrayBox > &a_U)
 
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)
 Old set boundary fluxes for Cartesian methods – will cause an error. More...
 
virtual void primBC (FArrayBox &a_WGdnv, const FArrayBox &a_Wextrap, const FArrayBox &a_W, const FArrayBox *const a_unitNormalBasisPtr, const Interval &a_velIntv, const int &a_dir, const Side::LoHiSide &a_side, const Real &a_time)=0
 Set boundary fluxes. More...
 
virtual void setBdrySlopes (FArrayBox &a_dW, const FArrayBox &a_W, const int &a_dir, const Real &a_time)=0
 Set boundary slopes. More...
 
virtual void artViscBC (FArrayBox &a_F, const FArrayBox &a_U, const FArrayBox &a_divVel, const int &a_dir, const Real &a_time)
 Old artificial viscosity for Cartesian methods – will cause an error. More...
 
virtual void artViscBC (FArrayBox &a_NtFdir, const CHArray< Real, SpaceDim+1, ArRangeCol > &a_Nctg, const FArrayBox &a_U, const FArrayBox &a_unitNormalBasis, const FArrayBox &a_divVel, const FArrayBox &a_csq, const FArrayBox &a_dxFace, const Interval &a_momIntv, const Real a_alpha, const Real a_beta, const Box &a_loFaceBox, const int a_hasLo, const Box &a_hiFaceBox, const int a_hasHi, const int a_dir)=0
 Adjust boundary fluxes to account for artificial viscosity. More...
 
bool haveExactSoln () const
 Do we have the exact solution. More...
 
- Public Member Functions inherited from PhysIBC
 PhysIBC ()
 Constructor. More...
 
virtual ~PhysIBC ()
 Destructor. More...
 
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 of a Box. More...
 

Protected Attributes

MultiBlockCoordSysm_coordSysPtr
 
Real m_time
 
bool m_haveCoordSys
 
bool m_haveTime
 
bool m_haveExactSoln
 
- Protected Attributes inherited from PhysIBC
bool m_isDefined
 
ProblemDomain m_domain
 
Real m_dx
 

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

◆ PhysMappedIBC()

PhysMappedIBC::PhysMappedIBC ( )

Constructor.

◆ ~PhysMappedIBC()

virtual PhysMappedIBC::~PhysMappedIBC ( )
virtual

Destructor.

Member Function Documentation

◆ define()

virtual void PhysMappedIBC::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.

Reimplemented from PhysIBC.

◆ new_physIBC()

virtual PhysMappedIBC* PhysMappedIBC::new_physIBC ( )
pure virtual

Factory method - this object is its own factory.

Return a point to a new PhysMappedIBC object with m_isDefined = false (i.e., its define() must be called before it is used).

Implements PhysIBC.

◆ setTime()

virtual void PhysMappedIBC::setTime ( Real  a_time)
virtual

◆ setCoordSys() [1/2]

virtual void PhysMappedIBC::setCoordSys ( MultiBlockCoordSys a_coordSysPtr)
virtual

Set the coordinate system for this IBC. This object does not assume of the coordinate system.

◆ setCoordSys() [2/2]

void PhysMappedIBC::setCoordSys ( NewCoordSys a_coordSysPtr)

Set the coordinate system for this IBC. This object does not assume of the coordinate system. This method is the single-block version of setCoordSys.

◆ print()

virtual void PhysMappedIBC::print ( )
inlinevirtual

References initialize().

◆ initialize()

virtual void PhysMappedIBC::initialize ( LevelData< FArrayBox > &  a_U)
pure virtual

Set up initial conditions.

Implements PhysIBC.

Referenced by print().

◆ initializeWithJ()

virtual void PhysMappedIBC::initializeWithJ ( LevelData< FArrayBox > &  a_U)
inlinevirtual

References MayDay::Error().

◆ primBC() [1/2]

virtual void PhysMappedIBC::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 
)
inlinevirtual

Old set boundary fluxes for Cartesian methods – will cause an error.

Implements PhysIBC.

References MayDay::Error(), and setBdrySlopes().

◆ primBC() [2/2]

virtual void PhysMappedIBC::primBC ( FArrayBox a_WGdnv,
const FArrayBox a_Wextrap,
const FArrayBox a_W,
const FArrayBox *const  a_unitNormalBasisPtr,
const Interval a_velIntv,
const int &  a_dir,
const Side::LoHiSide a_side,
const Real a_time 
)
pure virtual

Set boundary fluxes.

◆ setBdrySlopes()

virtual void PhysMappedIBC::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.

Implements PhysIBC.

Referenced by primBC().

◆ artViscBC() [1/2]

virtual void PhysMappedIBC::artViscBC ( FArrayBox a_F,
const FArrayBox a_U,
const FArrayBox a_divVel,
const int &  a_dir,
const Real a_time 
)
inlinevirtual

Old artificial viscosity for Cartesian methods – will cause an error.

Implements PhysIBC.

References MayDay::Error(), and haveExactSoln().

◆ artViscBC() [2/2]

virtual void PhysMappedIBC::artViscBC ( FArrayBox a_NtFdir,
const CHArray< Real, SpaceDim+1, ArRangeCol > &  a_Nctg,
const FArrayBox a_U,
const FArrayBox a_unitNormalBasis,
const FArrayBox a_divVel,
const FArrayBox a_csq,
const FArrayBox a_dxFace,
const Interval a_momIntv,
const Real  a_alpha,
const Real  a_beta,
const Box a_loFaceBox,
const int  a_hasLo,
const Box a_hiFaceBox,
const int  a_hasHi,
const int  a_dir 
)
pure virtual

Adjust boundary fluxes to account for artificial viscosity.

◆ haveExactSoln()

bool PhysMappedIBC::haveExactSoln ( ) const

Do we have the exact solution.

Referenced by artViscBC().

Member Data Documentation

◆ m_coordSysPtr

MultiBlockCoordSys* PhysMappedIBC::m_coordSysPtr
protected

◆ m_time

Real PhysMappedIBC::m_time
protected

◆ m_haveCoordSys

bool PhysMappedIBC::m_haveCoordSys
protected

◆ m_haveTime

bool PhysMappedIBC::m_haveTime
protected

◆ m_haveExactSoln

bool PhysMappedIBC::m_haveExactSoln
protected

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