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 Member Functions

 PhysBCUtil ()
virtual ~PhysBCUtil ()
virtual PhysBCUtilnewPhysBCUtil () 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 (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 Member Functions

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 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 Jun 2 13:58:56 2004 for Chombo&INSwithParticles by doxygen 1.3.2