Mushy Layer  1.0
Public Types | Public Member Functions | Protected Attributes | List of all members
AdvectIBC Class Reference

IBC for simple advection. More...

#include <AdvectIBC.H>

Inheritance diagram for AdvectIBC:
PhysIBC

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.
 
PhysIBCnew_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 RealVectadvectionVel () 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< Realm_plumeBounds
 Extend of plume along domain boundary.
 
LevelData< FluxBox > * m_advVel
 advection velocity field for the whole level
 
FluxBoxm_advVelBox
 advection velocity for the specific box we're integrating over
 
Vector< Realm_bcVal [SpaceDim][2]
 Boundary value.
 
Real m_slopeVal [SpaceDim][2]
 Boundary slope value.
 
Vector< Realm_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
 

Detailed Description

IBC for simple advection.

Parameters:

Member Function Documentation

◆ initialize()

void AdvectIBC::initialize ( LevelData< FArrayBox > &  a_U)
virtual

Set up initial conditions.

shouldn't be in this function

Implements PhysIBC.

◆ new_physIBC()

PhysIBC * AdvectIBC::new_physIBC ( )
virtual

Factory method - this object is its own factory.

Return a pointer to a new PhysIBC object with m_isDefined = false (i.e., its define() must be called before it is used) and m_isFortranCommonSet set to value of m_isFortranCommonset in the current (factory) object.

Implements PhysIBC.

◆ setBdrySlopes()

void AdvectIBC::setBdrySlopes ( FArrayBox a_dW,
const FArrayBox a_W,
const int &  a_dir,
const Real a_time 
)
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.


The documentation for this class was generated from the following files: