#include <PatchConsOperator.H>

Public Member Functions | |
| PatchConsOperator () | |
| Default constructor. | |
| virtual | ~PatchConsOperator () |
| Destructor. | |
| virtual void | define (const ProblemDomain &a_domain, const Real &a_dx, const MOLPhysics *const a_molPhysics, const int &a_numStates) |
| Actual constructor. | |
| virtual void | setCurrentTime (const Real &a_currentTime) |
| Set the current time before calling evalRHS or addArtificialViscosity. | |
| virtual void | setCurrentBox (const Box &a_currentBox) |
| Set the current box before calling evalRHS or addArtificialViscosity. | |
| virtual void | getNormalFlux (FluxBox &a_FfaceAvg, const FArrayBox &a_UavgFab, Real a_weight, bool a_setFlattening, FArrayBox &a_flatteningFab) |
| Evaluate the normal flux. | |
| virtual void | updateODE (FArrayBox &a_solnFab, const FArrayBox &a_rhsFab, Real a_dt) |
| update solution -- soln += dt*rhs (required by LevelRK4) | |
| virtual void | getFaceAvg (FluxBox &a_faceW, const FArrayBox &a_cellW, const FArrayBox &a_WofUavg, FArrayBox &a_flatteningFab, bool a_setFlattening) |
| finds face-centered W and limits it using Colella&Sekora limiter; also solves Riemann problem | |
| void | spaceOrder (int a_spaceOrder) |
| set spatial order of accuracy | |
| void | limitFaceValues (bool a_limitFaceValues) |
| if true, limit face values | |
| void | highOrderLimiter (bool a_highOrderLimiter) |
| void | useFlattening (bool a_useFlattening) |
| sets whether to flatten extrapolations to faces | |
| void | noPPM (bool a_noPPM) |
| sets m_noPPM | |
| void | doDeconvolution (bool a_doDeconvolution) |
| sets m_doDeconvolution | |
| void | doFaceDeconvolution (bool a_doFaceDeconvolution) |
| sets m_doFaceDeconvolution | |
| void | useArtificialViscosity (bool a_useArtificialViscosity) |
| sets whether to use artificial viscosity (from divergence) | |
| void | artificialViscosity (Real a_artificialViscosity) |
| sets coefficient of artificial viscosity (from divergence) | |
| void | numGhost (int a_numGhost) |
| sets m_numGhost, the number of ghost cells | |
| virtual void | addArtificialViscosity (FArrayBox &a_UnewFab, const FArrayBox &a_UoldFab, FluxBox &a_flux, Real a_weight) |
| add artificial viscosity to a_Unew | |
| virtual void | getFluxDivergence (FArrayBox &a_LofU, const FluxBox &a_FfaceAvg) |
| virtual bool | isDefined () const |
| Is the object completely defined. | |
Protected Member Functions | |
| virtual void | preRiemann (FArrayBox &a_WLeft, FArrayBox &a_WRight, int a_dir, const Box &a_box) |
| may be used in derived classes just before calling Riemann solver in direction a_dir | |
| virtual void | postRiemann (FArrayBox &a_Wface, int a_dir, const Box &a_box) |
| may be used in derived classes just after calling Riemann solver in direction a_dir | |
| virtual void | getAllFluxes (FluxBox &a_FfaceAvg, FluxBox &a_FfaceCen, const FluxBox &a_WfaceAvg, const FluxBox &a_WfaceCen) |
| virtual void | reduceFlux (FluxBox &a_FfaceAvg, FluxBox &a_FfaceForGrad) |
Protected Attributes | |
| bool | m_isDefined |
| Real | m_dx |
| ProblemDomain | m_domain |
| MOLPhysics * | m_molPhysics |
| MOLUtilities | m_util |
| int | m_spaceOrder |
| bool | m_limitFaceValues |
| bool | m_highOrderLimiter |
| bool | m_useFlattening |
| int | m_numFluxes |
| int | m_numGhost |
| int | m_numFields |
| int | m_numFluxesPerField |
| bool | m_hasCoarser |
| bool | m_hasFiner |
| bool | m_noPPM |
| bool | m_doDeconvolution |
| bool | m_doFaceDeconvolution |
| bool | m_useArtificialViscosity |
| Real | m_artificialViscosity |
| Real | m_currentTime |
| bool | m_isCurrentTimeSet |
| Box | m_currentBox |
| bool | m_isCurrentBoxSet |
Private Member Functions | |
| void | operator= (const PatchConsOperator &a_input) |
| PatchConsOperator (const PatchConsOperator &a_input) | |
| PatchConsOperator::PatchConsOperator | ( | ) |
Default constructor.
Object requires define() to be called before all other functions.
| virtual PatchConsOperator::~PatchConsOperator | ( | ) | [virtual] |
| PatchConsOperator::PatchConsOperator | ( | const PatchConsOperator & | a_input | ) | [private] |
| virtual void PatchConsOperator::define | ( | const ProblemDomain & | a_domain, | |
| const Real & | a_dx, | |||
| const MOLPhysics *const | a_molPhysics, | |||
| const int & | a_numStates | |||
| ) | [virtual] |
Actual constructor.
Inside the routine, we cast away const-ness on the data members for the assignment. The arguments passed in are maintained const (coding standards). a_refine is the refinement ratio between this level and the next coarser level. For the coarsest level, an empty DisjointBoxLayout is passed in for coarserDisjointBoxLayout.
| virtual void PatchConsOperator::setCurrentTime | ( | const Real & | a_currentTime | ) | [virtual] |
Set the current time before calling evalRHS or addArtificialViscosity.
Reimplemented in PatchMappedConsOperator.
| virtual void PatchConsOperator::setCurrentBox | ( | const Box & | a_currentBox | ) | [virtual] |
Set the current box before calling evalRHS or addArtificialViscosity.
| virtual void PatchConsOperator::getNormalFlux | ( | FluxBox & | a_FfaceAvg, | |
| const FArrayBox & | a_UavgFab, | |||
| Real | a_weight, | |||
| bool | a_setFlattening, | |||
| FArrayBox & | a_flatteningFab | |||
| ) | [virtual] |
Evaluate the normal flux.
| virtual void PatchConsOperator::updateODE | ( | FArrayBox & | a_solnFab, | |
| const FArrayBox & | a_rhsFab, | |||
| Real | a_dt | |||
| ) | [virtual] |
update solution -- soln += dt*rhs (required by LevelRK4)
| virtual void PatchConsOperator::getFaceAvg | ( | FluxBox & | a_faceW, | |
| const FArrayBox & | a_cellW, | |||
| const FArrayBox & | a_WofUavg, | |||
| FArrayBox & | a_flatteningFab, | |||
| bool | a_setFlattening | |||
| ) | [virtual] |
finds face-centered W and limits it using Colella&Sekora limiter; also solves Riemann problem
| a_cellW | cell-averaged primitive variables |
Reimplemented in PatchMappedConsOperator.
| void PatchConsOperator::spaceOrder | ( | int | a_spaceOrder | ) |
set spatial order of accuracy
| void PatchConsOperator::limitFaceValues | ( | bool | a_limitFaceValues | ) |
if true, limit face values
| void PatchConsOperator::highOrderLimiter | ( | bool | a_highOrderLimiter | ) |
| void PatchConsOperator::useFlattening | ( | bool | a_useFlattening | ) |
sets whether to flatten extrapolations to faces
| void PatchConsOperator::noPPM | ( | bool | a_noPPM | ) |
sets m_noPPM
| void PatchConsOperator::doDeconvolution | ( | bool | a_doDeconvolution | ) |
sets m_doDeconvolution
| void PatchConsOperator::doFaceDeconvolution | ( | bool | a_doFaceDeconvolution | ) |
sets m_doFaceDeconvolution
| void PatchConsOperator::useArtificialViscosity | ( | bool | a_useArtificialViscosity | ) |
sets whether to use artificial viscosity (from divergence)
| void PatchConsOperator::artificialViscosity | ( | Real | a_artificialViscosity | ) |
sets coefficient of artificial viscosity (from divergence)
| void PatchConsOperator::numGhost | ( | int | a_numGhost | ) |
sets m_numGhost, the number of ghost cells
| virtual void PatchConsOperator::getFluxDivergence | ( | FArrayBox & | a_LofU, | |
| const FluxBox & | a_FfaceAvg | |||
| ) | [virtual] |
| virtual bool PatchConsOperator::isDefined | ( | ) | const [virtual] |
Is the object completely defined.
Return true if the object is completely defined.
| virtual void PatchConsOperator::preRiemann | ( | FArrayBox & | a_WLeft, | |
| FArrayBox & | a_WRight, | |||
| int | a_dir, | |||
| const Box & | a_box | |||
| ) | [protected, virtual] |
may be used in derived classes just before calling Riemann solver in direction a_dir
Reimplemented in PatchMappedConsOperator.
| virtual void PatchConsOperator::postRiemann | ( | FArrayBox & | a_Wface, | |
| int | a_dir, | |||
| const Box & | a_box | |||
| ) | [protected, virtual] |
may be used in derived classes just after calling Riemann solver in direction a_dir
Reimplemented in PatchMappedConsOperator.
| virtual void PatchConsOperator::getAllFluxes | ( | FluxBox & | a_FfaceAvg, | |
| FluxBox & | a_FfaceCen, | |||
| const FluxBox & | a_WfaceAvg, | |||
| const FluxBox & | a_WfaceCen | |||
| ) | [protected, virtual] |
Reimplemented in PatchMappedConsOperator.
| virtual void PatchConsOperator::reduceFlux | ( | FluxBox & | a_FfaceAvg, | |
| FluxBox & | a_FfaceForGrad | |||
| ) | [protected, virtual] |
| void PatchConsOperator::operator= | ( | const PatchConsOperator & | a_input | ) | [private] |
bool PatchConsOperator::m_isDefined [protected] |
Real PatchConsOperator::m_dx [protected] |
ProblemDomain PatchConsOperator::m_domain [protected] |
MOLPhysics* PatchConsOperator::m_molPhysics [protected] |
MOLUtilities PatchConsOperator::m_util [protected] |
int PatchConsOperator::m_spaceOrder [protected] |
bool PatchConsOperator::m_limitFaceValues [protected] |
bool PatchConsOperator::m_highOrderLimiter [protected] |
bool PatchConsOperator::m_useFlattening [protected] |
int PatchConsOperator::m_numFluxes [protected] |
int PatchConsOperator::m_numGhost [protected] |
int PatchConsOperator::m_numFields [protected] |
int PatchConsOperator::m_numFluxesPerField [protected] |
bool PatchConsOperator::m_hasCoarser [protected] |
bool PatchConsOperator::m_hasFiner [protected] |
bool PatchConsOperator::m_noPPM [protected] |
bool PatchConsOperator::m_doDeconvolution [protected] |
bool PatchConsOperator::m_doFaceDeconvolution [protected] |
bool PatchConsOperator::m_useArtificialViscosity [protected] |
Real PatchConsOperator::m_artificialViscosity [protected] |
Real PatchConsOperator::m_currentTime [protected] |
bool PatchConsOperator::m_isCurrentTimeSet [protected] |
Box PatchConsOperator::m_currentBox [protected] |
bool PatchConsOperator::m_isCurrentBoxSet [protected] |
1.5.5