Chombo + EB + MF
3.2
|
Patch Cons Operator - a class for evaluating the Laplacian. More...
#include <PatchConsOperator.H>
Public Member Functions | |
PatchConsOperator () | |
Default constructor. More... | |
virtual | ~PatchConsOperator () |
Destructor. More... | |
virtual void | define (const ProblemDomain &a_domain, const Real &a_dx, const MOLPhysics *const a_molPhysics, const int &a_numStates) |
Actual constructor. More... | |
virtual void | setCurrentTime (const Real &a_currentTime) |
Set the current time before calling evalRHS or addArtificialViscosity. More... | |
virtual void | setCurrentBox (const Box &a_currentBox) |
Set the current box before calling evalRHS or addArtificialViscosity. More... | |
virtual void | getNormalFlux (FluxBox &a_FfaceAvg, const FArrayBox &a_UavgFab, Real a_weight, bool a_setFlattening, FArrayBox &a_flatteningFab) |
Evaluate the normal flux. More... | |
virtual void | updateODE (FArrayBox &a_solnFab, const FArrayBox &a_rhsFab, Real a_dt) |
update solution – soln += dt*rhs (required by LevelRK4) More... | |
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 More... | |
void | spaceOrder (int a_spaceOrder) |
set spatial order of accuracy More... | |
void | limitFaceValues (bool a_limitFaceValues) |
if true, limit face values More... | |
void | highOrderLimiter (bool a_highOrderLimiter) |
void | useFlattening (bool a_useFlattening) |
sets whether to flatten extrapolations to faces More... | |
void | noPPM (bool a_noPPM) |
sets m_noPPM More... | |
void | doDeconvolution (bool a_doDeconvolution) |
sets m_doDeconvolution More... | |
void | doFaceDeconvolution (bool a_doFaceDeconvolution) |
sets m_doFaceDeconvolution More... | |
void | useArtificialViscosity (bool a_useArtificialViscosity) |
sets whether to use artificial viscosity (from divergence) More... | |
void | artificialViscosity (Real a_artificialViscosity) |
sets coefficient of artificial viscosity (from divergence) More... | |
void | numGhost (int a_numGhost) |
sets m_numGhost, the number of ghost cells More... | |
virtual void | addArtificialViscosity (FArrayBox &a_UnewFab, const FArrayBox &a_UoldFab, FluxBox &a_flux, Real a_weight) |
add artificial viscosity to a_Unew More... | |
virtual void | getFluxDivergence (FArrayBox &a_LofU, const FluxBox &a_FfaceAvg) |
virtual bool | isDefined () const |
Is the object completely defined. More... | |
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 More... | |
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 More... | |
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) | |
Patch Cons Operator - a class for evaluating the Laplacian.
PatchConsOperator::PatchConsOperator | ( | ) |
Default constructor.
Object requires define() to be called before all other functions.
|
virtual |
|
private |
|
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 |
Set the current time before calling evalRHS or addArtificialViscosity.
Reimplemented in PatchMappedConsOperator.
|
virtual |
Set the current box before calling evalRHS or addArtificialViscosity.
|
virtual |
Evaluate the normal flux.
|
virtual |
update solution – soln += dt*rhs (required by LevelRK4)
|
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 |
add artificial viscosity to a_Unew
Reimplemented in PatchMappedConsOperator.
|
virtual |
|
virtual |
Is the object completely defined.
Return true if the object is completely defined.
|
protectedvirtual |
may be used in derived classes just before calling Riemann solver in direction a_dir
Reimplemented in PatchMappedConsOperator.
|
protectedvirtual |
may be used in derived classes just after calling Riemann solver in direction a_dir
Reimplemented in PatchMappedConsOperator.
|
protectedvirtual |
Reimplemented in PatchMappedConsOperator.
|
protectedvirtual |
|
private |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |