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 DomainGhostBCMacPressureBC () const
 Pressure BCs returns pressure BC for MAC projection.

virtual DomainGhostBCgradMacPressureBC () const
 returns BC applied to MAC pressure before computing gradient

virtual DomainGhostBCLevelPressureBC () const
 returns pressure BC for level projection

virtual DomainGhostBCgradPiBC () const
 returns BC applied to Pi before computing gradient

virtual DomainGhostBCSyncProjBC () const
 returns pressure BC for sync projection

virtual DomainGhostBCgradESyncBC () const
 returns BC applied to sync correction before computing gradient

virtual DomainGhostBCFreestreamCorrBC () const
 returns BC for freestream preservation correction

virtual DomainGhostBCgradELambdaBC () const
 BC for grad eLambda.

virtual DomainGhostBCInitialProjBC () const
 returns pressure BC for initial velocity projection

virtual DomainGhostBCgradInitialProjCorrBC () const
 BC for gradient of correction for initial projection.

virtual basicVelBCviscousVelBC () const
 returns velocity BC for viscous source

virtual basicVelBCtracingVelBC () const
 returns velocity BC for tracing (inviscid)

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

virtual basicEdgeVelBCedgeVelBC () const
 returns edge-centered velocity BC for edge-centered vel (multicomponent)

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

virtual DomainGhostBCviscousSolveBC () const
 returns multi-component BC for viscous solves

virtual DomainGhostBCviscousSolveBC (int a_dir) const
 returns single-component BC for viscous solves

virtual basicVelBCuStarBC (bool a_isViscous=true) const
 returns pre-projection velocity BC

virtual DomainGhostBCviscousRefluxBC (int a_dir) const
 returns single-component BC for viscous refluxing solves

virtual DomainGhostBCdiffusiveBC (int a_scalarType) const
 Scalar BC's.

virtual DomainGhostBCscalarTraceBC (int a_scalarType) const
virtual DomainGhostBCscalarDiffusionSolveBC (int a_scalarType) const
virtual DomainGhostBCscalarRefluxSolveBC (int a_scalarType) const
virtual DomainGhostBClambdaBC () const
 volume discrepancy BC's

virtual basicVelBCviscousSrcBC () const
 Miscellaneous BC's BC on viscous source term itself.

virtual basicVelBCdiffusiveSrcBC (int scalarType) const
 BC on diffusive source term itself.

virtual DomainGhostBCstreamFunctionBC (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 DomainGhostBCbasicPressureBC (bool a_isHomogeneous) const
 sets basic physical BC on pressure (called by public BC functions)

virtual DomainGhostBCbasicGradPressureBC () const
 sets basic physical BC on pressure before taking gradients

virtual basicVelBCbasicCCVelBC (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 basicEdgeVelBCbasicECVelBC (bool a_isHomogeneous, bool a_isViscous, bool a_isSingleComponent) const
virtual DomainGhostBCbasicScalBC (bool a_isHomogeneous, int a_scalType) const
virtual void setBCs ()
 interact with ParmParse to set physical BC types


Protected Attributes

Tuple< int, SpaceDimm_loBC
Tuple< int, SpaceDimm_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 single-component BC for viscous refluxing solves

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

returns single-component BC for viscous solves

virtual DomainGhostBC* PhysBCUtil::viscousSolveBC   const [virtual]
 

returns multi-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 Wed Jan 19 17:56:25 2005 for Chombo&INSwithParticles by doxygen1.2.16