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

PhysBCUtil Class Reference

Encapsulates all physical BC's for IAMR solves. More...

#include <PhysBCUtil.H>

Inheritance diagram for PhysBCUtil:

Inheritance graph
[legend]
Collaboration diagram for PhysBCUtil:

Collaboration graph
[legend]
List of all members.

Public Types

enum  BCType {
  bogusBC = -1, SolidWall, Inflow, Outflow,
  Symmetry, noShear, Custom, NUM_PHYS_BC_TYPES
}

Public Methods

 PhysBCUtil ()
virtual ~PhysBCUtil ()
virtual PhysBCUtil * newPhysBCUtil () const
 "virtual" constructor

virtual DomainGhostBC * MacPressureBC () const
 Pressure BCs returns pressure BC for MAC projection.

virtual DomainGhostBC * gradMacPressureBC () const
 returns BC applied to MAC pressure before computing gradient

virtual DomainGhostBC * LevelPressureBC () const
 returns pressure BC for level projection

virtual DomainGhostBC * gradPiBC () const
 returns BC applied to Pi before computing gradient

virtual DomainGhostBC * SyncProjBC () const
 returns pressure BC for sync projection

virtual DomainGhostBC * gradESyncBC () const
 returns BC applied to sync correction before computing gradient

virtual DomainGhostBC * FreestreamCorrBC () const
 returns BC for freestream preservation correction

virtual DomainGhostBC * gradELambdaBC () const
 BC for grad eLambda.

virtual DomainGhostBC * InitialProjBC () const
 returns pressure BC for initial velocity projection

virtual DomainGhostBC * gradInitialProjCorrBC () const
 BC for gradient of correction for initial projection.

virtual basicVelBC * viscousVelBC () const
 returns velocity BC for viscous source

virtual basicVelBC * tracingVelBC () const
 returns velocity BC for tracing (inviscid)

virtual basicEdgeVelBC * advectionVelBC () const
 returns edge-centered vel BC for edge-ctrd vel (single component)

virtual basicEdgeVelBC * edgeVelBC () const
 returns edge-centered velocity BC for edge-centered vel (multicomponent)

virtual basicVelBC * uDelUBC (bool a_isViscous) const
 returns BC on cell-centered u-dot-del-u term

virtual DomainGhostBC * viscousSolveBC (int a_dir) const
 returns single-component BC for viscous solves

virtual basicVelBC * uStarBC (bool a_isViscous=true) const
 returns pre-projection velocity BC

virtual DomainGhostBC * viscousRefluxBC (int a_dir) const
 returns sungle-component BC for viscous refluxing solves

virtual DomainGhostBC * diffusiveBC (int a_scalarType) const
 Scalar BC's.

virtual DomainGhostBC * scalarTraceBC (int a_scalarType) const
virtual DomainGhostBC * scalarDiffusionSolveBC (int a_scalarType) const
virtual DomainGhostBC * scalarRefluxSolveBC (int a_scalarType) const
virtual DomainGhostBC * lambdaBC () const
 volume discrepancy BC's

virtual basicVelBC * viscousSrcBC () const
 Miscellaneous BC's BC on viscous source term itself.

virtual basicVelBC * diffusiveSrcBC (int scalarType) const
 BC on diffusive source term itself.

virtual DomainGhostBC * streamFunctionBC (const Interval &a_comps) const
void Dx (const Real a_dx)
 miscellaneous utility functions sets cell spacing

Real Dx () const
 returns cell spacing

void Time (const Real a_time)
 sets time

Real Time () const
 returns current time

int loBC (int a_dir) const
int hiBC (int a_dir) const
int getBC (int a_dir, const Side::LoHiSide &a_side) const
virtual void computeBoundaryDt (Real &a_dt, Real a_cfl, Real a_dx) const
 this is in case the BC's have an effect on the timestep


Protected Methods

virtual DomainGhostBC * basicPressureBC (bool a_isHomogeneous) const
 sets basic physical BC on pressure (called by public BC functions)

virtual DomainGhostBC * basicGradPressureBC () const
 sets basic physical BC on pressure before taking gradients

virtual basicVelBC * basicCCVelBC (bool a_isHomogeneous, bool a_isViscous) const
 basic physical BC on cell-centered velocity

virtual void basicCCVelBC (DomainGhostBC &a_newBC, bool a_isHomogeneous, bool a_isViscous, int a_velComponent, Interval &a_interval) const
 returns a single-component BC for cell-centered velocity

virtual basicEdgeVelBC * basicECVelBC (bool a_isHomogeneous, bool a_isViscous, bool a_isSingleComponent) const
virtual DomainGhostBC * basicScalBC (bool a_isHomogeneous, int a_scalType) const
virtual void setBCs ()
 interact with ParmParse to set physical BC types


Protected Attributes

Tuple< int, SpaceDim > m_loBC
Tuple< int, SpaceDim > m_hiBC

Detailed Description

Encapsulates all physical BC's for IAMR solves.

This class is designed to contain all the information needed to specify all physical boundary conditions needed for the IAMR code. This includes BC's for velocity, pressures, scalars. While basic solid-wall BCs are coded in to this class, the idea is that for a more complicated set of physical boundary conditions (inflow, etc) a problem-dependent class will be derived from this one which will override the generic BC's in this class


Member Enumeration Documentation

enum PhysBCUtil::BCType
 

Enumeration values:
bogusBC 
SolidWall 
Inflow 
Outflow 
Symmetry 
noShear 
Custom 
NUM_PHYS_BC_TYPES 


Constructor & Destructor Documentation

PhysBCUtil::PhysBCUtil (    ) 
 

virtual PhysBCUtil::~PhysBCUtil (    )  [virtual]
 


Member Function Documentation

virtual basicEdgeVelBC* PhysBCUtil::advectionVelBC (    )  const [virtual]
 

returns edge-centered vel BC for edge-ctrd vel (single component)

virtual void PhysBCUtil::basicCCVelBC (  DomainGhostBC &    a_newBC,
bool    a_isHomogeneous,
bool    a_isViscous,
int    a_velComponent,
Interval &    a_interval
)  const [protected, virtual]
 

returns a single-component BC for cell-centered velocity

Reimplemented in channelBC.

virtual basicVelBC* PhysBCUtil::basicCCVelBC (  bool    a_isHomogeneous,
bool    a_isViscous
)  const [protected, virtual]
 

basic physical BC on cell-centered velocity

virtual basicEdgeVelBC* PhysBCUtil::basicECVelBC (  bool    a_isHomogeneous,
bool    a_isViscous,
bool    a_isSingleComponent
)  const [protected, virtual]
 

Reimplemented in channelBC.

virtual DomainGhostBC* PhysBCUtil::basicGradPressureBC (    )  const [protected, virtual]
 

sets basic physical BC on pressure before taking gradients

virtual DomainGhostBC* PhysBCUtil::basicPressureBC (  bool    a_isHomogeneous )  const [protected, virtual]
 

sets basic physical BC on pressure (called by public BC functions)

virtual DomainGhostBC* PhysBCUtil::basicScalBC (  bool    a_isHomogeneous,
int    a_scalType
)  const [protected, virtual]
 

Reimplemented in channelBC.

virtual void PhysBCUtil::computeBoundaryDt (  Real &    a_dt,
Real    a_cfl,
Real    a_dx
)  const [virtual]
 

this is in case the BC's have an effect on the timestep

pass in currently computed dt, along with cfl and dx. If effect of boundary conditions requires a decreased timestep, the newly reduced timestep is returned. In the default case, this just returns a_dt back; however, derived classes may actually have an effect.

Reimplemented in channelBC.

virtual DomainGhostBC* PhysBCUtil::diffusiveBC (  int    a_scalarType )  const [virtual]
 

Scalar BC's.

Reimplemented in channelBC.

virtual basicVelBC* PhysBCUtil::diffusiveSrcBC (  int    scalarType )  const [virtual]
 

BC on diffusive source term itself.

Real PhysBCUtil::Dx (    )  const
 

returns cell spacing

void PhysBCUtil::Dx (  const Real    a_dx ) 
 

miscellaneous utility functions sets cell spacing

virtual basicEdgeVelBC* PhysBCUtil::edgeVelBC (    )  const [virtual]
 

returns edge-centered velocity BC for edge-centered vel (multicomponent)

virtual DomainGhostBC* PhysBCUtil::FreestreamCorrBC (    )  const [virtual]
 

returns BC for freestream preservation correction

int PhysBCUtil::getBC (  int    a_dir,
const Side::LoHiSide &    a_side
)  const
 

virtual DomainGhostBC* PhysBCUtil::gradELambdaBC (    )  const [virtual]
 

BC for grad eLambda.

Reimplemented in channelBC.

virtual DomainGhostBC* PhysBCUtil::gradESyncBC (    )  const [virtual]
 

returns BC applied to sync correction before computing gradient

virtual DomainGhostBC* PhysBCUtil::gradInitialProjCorrBC (    )  const [virtual]
 

BC for gradient of correction for initial projection.

virtual DomainGhostBC* PhysBCUtil::gradMacPressureBC (    )  const [virtual]
 

returns BC applied to MAC pressure before computing gradient

Reimplemented in channelBC.

virtual DomainGhostBC* PhysBCUtil::gradPiBC (    )  const [virtual]
 

returns BC applied to Pi before computing gradient

int PhysBCUtil::hiBC (  int    a_dir )  const
 

virtual DomainGhostBC* PhysBCUtil::InitialProjBC (    )  const [virtual]
 

returns pressure BC for initial velocity projection

virtual DomainGhostBC* PhysBCUtil::lambdaBC (    )  const [virtual]
 

volume discrepancy BC's

virtual DomainGhostBC* PhysBCUtil::LevelPressureBC (    )  const [virtual]
 

returns pressure BC for level projection

int PhysBCUtil::loBC (  int    a_dir )  const
 

virtual DomainGhostBC* PhysBCUtil::MacPressureBC (    )  const [virtual]
 

Pressure BCs returns pressure BC for MAC projection.

virtual PhysBCUtil* PhysBCUtil::newPhysBCUtil (    )  const [virtual]
 

"virtual" constructor

Reimplemented in channelBC.

virtual DomainGhostBC* PhysBCUtil::scalarDiffusionSolveBC (  int    a_scalarType )  const [virtual]
 

virtual DomainGhostBC* PhysBCUtil::scalarRefluxSolveBC (  int    a_scalarType )  const [virtual]
 

virtual DomainGhostBC* PhysBCUtil::scalarTraceBC (  int    a_scalarType )  const [virtual]
 

virtual void PhysBCUtil::setBCs (    )  [protected, virtual]
 

interact with ParmParse to set physical BC types

Reimplemented in channelBC.

virtual DomainGhostBC* PhysBCUtil::streamFunctionBC (  const Interval &    a_comps )  const [virtual]
 

virtual DomainGhostBC* PhysBCUtil::SyncProjBC (    )  const [virtual]
 

returns pressure BC for sync projection

Real PhysBCUtil::Time (    )  const
 

returns current time

void PhysBCUtil::Time (  const Real    a_time ) 
 

sets time

virtual basicVelBC* PhysBCUtil::tracingVelBC (    )  const [virtual]
 

returns velocity BC for tracing (inviscid)

virtual basicVelBC* PhysBCUtil::uDelUBC (  bool    a_isViscous )  const [virtual]
 

returns BC on cell-centered u-dot-del-u term

virtual basicVelBC* PhysBCUtil::uStarBC (  bool    a_isViscous = true )  const [virtual]
 

returns pre-projection velocity BC

virtual DomainGhostBC* PhysBCUtil::viscousRefluxBC (  int    a_dir )  const [virtual]
 

returns sungle-component BC for viscous refluxing solves

virtual DomainGhostBC* PhysBCUtil::viscousSolveBC (  int    a_dir )  const [virtual]
 

returns single-component BC for viscous solves

virtual basicVelBC* PhysBCUtil::viscousSrcBC (    )  const [virtual]
 

Miscellaneous BC's BC on viscous source term itself.

virtual basicVelBC* PhysBCUtil::viscousVelBC (    )  const [virtual]
 

returns velocity BC for viscous source


Member Data Documentation

Tuple<int, SpaceDim> PhysBCUtil::m_hiBC [protected]
 

Tuple<int, SpaceDim> PhysBCUtil::m_loBC [protected]
 


The documentation for this class was generated from the following file:
Generated on Thu Aug 29 11:07:47 2002 for Chombo&INS by doxygen1.2.16