#include <PhysBCUtil.H>
Inheritance diagram for PhysBCUtil:
Public Types | |
enum | BCType { bogusBC = -1, SolidWall, Inflow, Outflow, Symmetry, noShear, Custom, NUM_PHYS_BC_TYPES } |
Public Member Functions | |
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 single-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 Member Functions | |
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 |
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
|
|
|
|
|
|
|
returns edge-centered vel BC for edge-ctrd vel (single component)
|
|
returns a single-component BC for cell-centered velocity
Reimplemented in channelBC. |
|
basic physical BC on cell-centered velocity
|
|
Reimplemented in channelBC. |
|
sets basic physical BC on pressure before taking gradients
|
|
sets basic physical BC on pressure (called by public BC functions)
|
|
Reimplemented in channelBC. |
|
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. |
|
Scalar BC's.
Reimplemented in channelBC. |
|
BC on diffusive source term itself.
|
|
returns cell spacing
|
|
miscellaneous utility functions sets cell spacing
|
|
returns edge-centered velocity BC for edge-centered vel (multicomponent)
|
|
returns BC for freestream preservation correction
|
|
|
|
BC for grad eLambda.
Reimplemented in channelBC. |
|
returns BC applied to sync correction before computing gradient
|
|
BC for gradient of correction for initial projection.
|
|
returns BC applied to MAC pressure before computing gradient
Reimplemented in channelBC. |
|
returns BC applied to Pi before computing gradient
|
|
|
|
returns pressure BC for initial velocity projection
|
|
volume discrepancy BC's
|
|
returns pressure BC for level projection
|
|
|
|
Pressure BCs returns pressure BC for MAC projection.
|
|
"virtual" constructor
Reimplemented in channelBC. |
|
|
|
|
|
|
|
interact with ParmParse to set physical BC types
Reimplemented in channelBC. |
|
|
|
returns pressure BC for sync projection
|
|
returns current time
|
|
sets time
|
|
returns velocity BC for tracing (inviscid)
|
|
returns BC on cell-centered u-dot-del-u term
|
|
returns pre-projection velocity BC
|
|
returns single-component BC for viscous refluxing solves
|
|
returns single-component BC for viscous solves
|
|
Miscellaneous BC's BC on viscous source term itself.
|
|
returns velocity BC for viscous source
|
|
|
|
|