Chombo + EB  3.2
Public Member Functions | Protected Attributes | List of all members
WaveIBC Class Reference

Example of a sinusoidal plane wave plus a constant density. More...

#include <WaveIBC.H>

Inheritance diagram for WaveIBC:
Inheritance graph
[legend]

Public Member Functions

 WaveIBC ()
 Null constructor. More...
 
 WaveIBC (Real &a_smallPressure, const Real &a_gamma, const Real &a_ambientDensity, const Real &a_deltaDensity, const int &a_pressure, const IntVect &a_waveNumber, const RealVect &a_center, const RealVect &a_velocity, const Real &a_artvisc)
 Constructor which defines parameters used by Fortran routines. More...
 
virtual ~WaveIBC ()
 Destructor. More...
 
void setFortranCommon (Real &a_smallPressure, const Real &a_gamma, const Real &a_ambientDensity, const Real &a_deltaDensity, const int &a_pressure, const IntVect &a_waveNumber, const RealVect &a_center, const RealVect &a_velocity, const Real &a_artvisc)
 Sets parameters in a common block used by Fortran routines. More...
 
PhysIBCnew_physIBC ()
 Factory method - this object is its own factory. More...
 
void initialize (LevelData< FArrayBox > &a_U)
 Set up initial conditions. More...
 
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 primitive values. More...
 
void setBdrySlopes (FArrayBox &a_dW, const FArrayBox &a_W, const int &a_dir, const Real &a_time)
 Set boundary slopes. More...
 
void artViscBC (FArrayBox &a_F, const FArrayBox &a_U, const FArrayBox &a_divVel, const int &a_dir, const Real &a_time)
 Adjust boundary fluxes to account for artificial viscosity. More...
 
- Public Member Functions inherited from PhysIBC
 PhysIBC ()
 Constructor. More...
 
virtual ~PhysIBC ()
 Destructor. More...
 
virtual void define (const ProblemDomain &a_domain, const Real &a_dx)
 Define the object. More...
 
virtual void getBoundaryFaces (Box &a_boundaryBox, const Box &a_dataFaceBox, const int &a_dir, const Side::LoHiSide &a_side)
 This function is called by primBC() to get boundary faces of a Box. More...
 

Protected Attributes

bool m_isFortranCommonSet
 
- Protected Attributes inherited from PhysIBC
bool m_isDefined
 
ProblemDomain m_domain
 
Real m_dx
 

Detailed Description

Example of a sinusoidal plane wave plus a constant density.

Parameters: a_smallPressure - Lower limit for pressure (returned) a_gamma - Gamma for polytropic, gamma-law gas a_ambientDensity - Ambient density add to the plane-wave a_deltaDensity - Mean of the plane-wave a_pressure - If 0, use isentropic pressure if 1, use the constant pressure of 1.0 a_waveNumber - The wave number of the plane-wave a_velocity - Initial velocity of the gas a_center - Position of a maximum of the plane-wave a_artvisc - Artificial viscosity coefficient

Constructor & Destructor Documentation

◆ WaveIBC() [1/2]

WaveIBC::WaveIBC ( )

Null constructor.

◆ WaveIBC() [2/2]

WaveIBC::WaveIBC ( Real a_smallPressure,
const Real a_gamma,
const Real a_ambientDensity,
const Real a_deltaDensity,
const int &  a_pressure,
const IntVect a_waveNumber,
const RealVect a_center,
const RealVect a_velocity,
const Real a_artvisc 
)

Constructor which defines parameters used by Fortran routines.

◆ ~WaveIBC()

virtual WaveIBC::~WaveIBC ( )
virtual

Destructor.

Member Function Documentation

◆ setFortranCommon()

void WaveIBC::setFortranCommon ( Real a_smallPressure,
const Real a_gamma,
const Real a_ambientDensity,
const Real a_deltaDensity,
const int &  a_pressure,
const IntVect a_waveNumber,
const RealVect a_center,
const RealVect a_velocity,
const Real a_artvisc 
)

Sets parameters in a common block used by Fortran routines.

◆ new_physIBC()

PhysIBC* WaveIBC::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.

◆ initialize()

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

Set up initial conditions.

Implements PhysIBC.

◆ primBC()

void WaveIBC::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 
)
virtual

Set boundary primitive values.

Implements PhysIBC.

◆ setBdrySlopes()

void WaveIBC::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.

◆ artViscBC()

void WaveIBC::artViscBC ( FArrayBox a_F,
const FArrayBox a_U,
const FArrayBox a_divVel,
const int &  a_dir,
const Real a_time 
)
virtual

Adjust boundary fluxes to account for artificial viscosity.

Implements PhysIBC.

Member Data Documentation

◆ m_isFortranCommonSet

bool WaveIBC::m_isFortranCommonSet
protected

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