Mushy Layer
1.0
|
IBC for simple advection. More...
#include <AdvectIBC.H>
Public Types | |
enum | bcType { m_dirichlet, m_extrap, m_inflowOutflow, m_plumeInflow, m_neumann, m_numBCTypes } |
Possible BC types. | |
Public Member Functions | |
AdvectIBC () | |
Null constructor. | |
AdvectIBC (int a_numComp) | |
Constructor. | |
~AdvectIBC () | |
Destructor. | |
PhysIBC * | new_physIBC () |
Factory method - this object is its own factory. More... | |
void | setDefaultValues (int a_numComp=1) |
set default boundary values | |
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) |
Set boundary fluxes. | |
void | setBdrySlopes (FArrayBox &a_dW, const FArrayBox &a_W, const int &a_dir, const Real &a_time) |
Set boundary slopes. More... | |
void | initialize (LevelData< FArrayBox > &a_U) |
Set up initial conditions. More... | |
void | advectionVel (const RealVect &a_advVel) |
set velocity | |
const RealVect & | advectionVel () const |
advection velocity. No idea what this is here for. | |
void | probType (const int a_probtype) |
set problem type | |
void | setBoundaryValue (Real a_bcVal, int a_bcType, int a_dir, Side::LoHiSide a_hiLo, int a_comp=0) |
set boundary value (default is 0) | |
void | setBoundaryValues (RealVect bcVals, IntVect bcType, Side::LoHiSide a_hiLo, int a_comp=0) |
Set boundary values (N dimensional version) | |
void | setPlume (Vector< Real > a_plumeVals, Vector< Real > plumeBounds) |
Set plume details. | |
void | setBCType (int a_bcType, int a_dir, Side::LoHiSide a_hiLo) |
Set the type of condition on each boundary. | |
Real | getBoundaryValue (int a_dir, Side::LoHiSide a_hiLo, int a_comp=0) const |
access boundary value | |
void | setAdvVel (LevelData< FluxBox > *a_advVel) |
Set pointer to advection velocity. | |
void | setAdvVel (FluxBox *a_advVel) |
Set pointer to advection velocity for the box we're integrating over. | |
void | setSlopeValue (Real a_slopeVal, int a_dir, Side::LoHiSide a_hiLo) |
set slope value (default is 0) | |
Real | getSlopeValue (int a_dir, Side::LoHiSide a_hiLo) const |
access slope value | |
void | artViscBC (FArrayBox &a_F, const FArrayBox &a_U, const FArrayBox &a_divVel, const int &a_dir, const Real &a_time) |
Apply artifical viscosity BCs. | |
int | probType () const |
accessor | |
Protected Attributes | |
RealVect | m_velocity |
Don't know what this is for. | |
Real | m_bcValPlume |
boundary value at the plume | |
Real | m_inflowVal |
Boundary value for inflow in a plume. | |
Vector< Real > | m_plumeBounds |
Extend of plume along domain boundary. | |
LevelData< FluxBox > * | m_advVel |
advection velocity field for the whole level | |
FluxBox * | m_advVelBox |
advection velocity for the specific box we're integrating over | |
Vector< Real > | m_bcVal [SpaceDim][2] |
Boundary value. | |
Real | m_slopeVal [SpaceDim][2] |
Boundary slope value. | |
Vector< Real > | m_plumeVals |
Multi component plume values. | |
Vector< int > | m_bcType [SpaceDim][2] |
Boundary condition type. | |
bool | m_isBCvalSet |
Whether or not BCs have been set. | |
bool | m_isSlopeValSet |
Whether or not boundary slopes have been set. | |
bool | m_isBCtypeSet |
Whether or not BC types have been set. | |
int | m_numComps |
number of components | |
IBC for simple advection.
Parameters:
|
virtual |
|
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.