#include <WaveIBC.H>
Initial conditions for gaussian.
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
Parameters used in the initial conditions m_rr0 - initial radius
Public Member Functions | |
WaveIBC () | |
Null constructor. | |
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. | |
virtual | ~WaveIBC () |
Destructor. | |
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. | |
PhysIBC * | new_physIBC () |
Factory method - this object is its own factory. | |
void | initialize (LevelData< FArrayBox > &a_U) |
Set up initial conditions. | |
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. | |
void | setBdrySlopes (FArrayBox &a_dW, const FArrayBox &a_W, const int &a_dir, const Real &a_time) |
Set boundary slopes. | |
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. | |
WaveIBC () | |
Null constructor. | |
~WaveIBC () | |
Destructor. | |
void | setParams (Real a_r0, RealVect a_x0=RealVect::Zero) |
Sets parameters. | |
PhysIBC * | new_physIBC () |
Factory method - this object is its own factory. | |
void | initialize (LevelData< FArrayBox > &a_phi, LevelData< FArrayBox > &a_pi, Real a_dx) |
Set up initial conditions. | |
Protected Attributes | |
bool | m_isFortranCommonSet |
RealVect | m_x0 |
Real | m_rr0 |
bool | m_params_are_set |
WaveIBC::WaveIBC | ( | ) |
Null constructor.
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.
virtual WaveIBC::~WaveIBC | ( | ) | [virtual] |
Destructor.
WaveIBC::WaveIBC | ( | ) |
Null constructor.
WaveIBC::~WaveIBC | ( | ) | [inline] |
Destructor.
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.
PhysIBC* WaveIBC::new_physIBC | ( | ) | [virtual] |
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] |
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.
void WaveIBC::setParams | ( | Real | a_r0, | |
RealVect | a_x0 = RealVect::Zero | |||
) |
Sets parameters.
PhysIBC* WaveIBC::new_physIBC | ( | ) | [virtual] |
bool WaveIBC::m_isFortranCommonSet [protected] |
RealVect WaveIBC::m_x0 [protected] |
Real WaveIBC::m_rr0 [protected] |
bool WaveIBC::m_params_are_set [protected] |