PatchMappedConsOperator Class Reference

#include <PatchMappedConsOperator.H>

Inheritance diagram for PatchMappedConsOperator:

Inheritance graph
[legend]

List of all members.


Detailed Description

Patch Mapped Cons Operator - a class for evaluating hyperbolic conservation fluxes on mapped multiblock grids

Public Member Functions

 PatchMappedConsOperator (const int a_numFluxesPerField=1)
 Constructor.
virtual ~PatchMappedConsOperator ()
 Destructor.
virtual void define (const ProblemDomain &a_domain, const Real &a_dx, LevelGridMetrics *a_levelGridMetrics, 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 DataIndex &a_currentDataIdx, const Box &a_currentBox)
 Set the current data index and box before calling.
virtual void evalFlux (const FArrayBox &a_UavgFab, FluxBox &a_FfaceAvg, FluxBox &a_FfromWfaceAvg, Real a_weight, bool a_setFlattening, FArrayBox &a_flatteningFab)
 Evaluate the flux at a given time.
virtual void evalRHS (FArrayBox &a_LofU, const FluxBox &a_FfaceAvg)
 Evaluate the operator (div(flux)) at a given time.
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 unitNormals (const LayoutData< FluxBox > *const a_unitNormalLayPtr)
 sets m_unitNormalLayPtr
void setMaxSpeed (Real a_maxSpeed)
 sets m_maxSpeed
void useArtificialDissipation (bool a_useArtificialDissipation)
 sets whether to use artificial dissipation
void artificialDissipation (Real a_artificialDissipation)
 sets coefficient of artificial dissipation
virtual void addArtificialViscosity (FArrayBox &a_UnewFab, const FArrayBox &a_UoldFab, FluxBox &a_flux, Real a_weight)
 add artificial viscosity to a_Unew
void addMappedArtificialViscosity (FArrayBox &a_JUnewFab, const FArrayBox &a_UoldFab, FluxBox &a_flux, const FluxBox &a_N, const FArrayBox &a_J, const Box &a_box, Real a_weight)
 Add artificial viscosity to a_JUnew for mapped grids.
virtual Real getMaxWaveSpeed (const FArrayBox &a_U, const Box &a_bx)

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 forwardBasisTransform (FArrayBox &a_W, const int a_dir, const Box &a_box)
virtual void reverseBasisTransform (FArrayBox &a_W, const int a_dir, const Box &a_box)
virtual void getAllFluxes (FluxBox &a_FfaceAvg, FluxBox &a_FfaceCen, const FluxBox &a_WfaceAvg, const FluxBox &a_WfaceCen)
virtual void fluxCorrection (FluxBox &a_fluxAvg, const FArrayBox &a_UavgFab)

Protected Attributes

ProblemDomain m_blockDomain
const MultiBlockCoordSysm_coordSys
MOLMappedPhysicsm_molMappedPhysics
LevelGridMetricsm_levelGridMetrics
const LayoutData< FluxBox > * m_unitNormalLayPtr
bool m_useArtificialDissipation
Real m_artificialDissipation
Real m_maxSpeed
bool m_isMaxSpeedSet
DataIndex m_currentDataIdx

Private Member Functions

PatchMappedConsOperatoroperator= (const PatchMappedConsOperator &a_input)
 PatchMappedConsOperator (const PatchMappedConsOperator &a_input)

Constructor & Destructor Documentation

PatchMappedConsOperator::PatchMappedConsOperator ( const int  a_numFluxesPerField = 1  ) 

Constructor.

Object requires define() to be called before all other functions.

virtual PatchMappedConsOperator::~PatchMappedConsOperator (  )  [virtual]

Destructor.

Destroys all objects created by define(). Passed in data references of define() are left alone.

PatchMappedConsOperator::PatchMappedConsOperator ( const PatchMappedConsOperator a_input  )  [private]


Member Function Documentation

virtual void PatchMappedConsOperator::define ( const ProblemDomain a_domain,
const Real a_dx,
LevelGridMetrics a_levelGridMetrics,
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 PatchMappedConsOperator::setCurrentTime ( const Real a_currentTime  )  [virtual]

Set the current time before calling evalRHS or addArtificialViscosity.

Reimplemented from PatchConsOperator.

virtual void PatchMappedConsOperator::setCurrentBox ( const DataIndex a_currentDataIdx,
const Box a_currentBox 
) [virtual]

Set the current data index and box before calling.

Required before calling evalRHS or addArtificialViscosity.

virtual void PatchMappedConsOperator::evalFlux ( const FArrayBox a_UavgFab,
FluxBox a_FfaceAvg,
FluxBox a_FfromWfaceAvg,
Real  a_weight,
bool  a_setFlattening,
FArrayBox a_flatteningFab 
) [virtual]

Evaluate the flux at a given time.

virtual void PatchMappedConsOperator::evalRHS ( FArrayBox a_LofU,
const FluxBox a_FfaceAvg 
) [virtual]

Evaluate the operator (div(flux)) at a given time.

virtual void PatchMappedConsOperator::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

Parameters:
a_cellW  cell-averaged primitive variables

Reimplemented from PatchConsOperator.

void PatchMappedConsOperator::unitNormals ( const LayoutData< FluxBox > *const   a_unitNormalLayPtr  ) 

sets m_unitNormalLayPtr

void PatchMappedConsOperator::setMaxSpeed ( Real  a_maxSpeed  ) 

sets m_maxSpeed

void PatchMappedConsOperator::useArtificialDissipation ( bool  a_useArtificialDissipation  ) 

sets whether to use artificial dissipation

void PatchMappedConsOperator::artificialDissipation ( Real  a_artificialDissipation  ) 

sets coefficient of artificial dissipation

virtual void PatchMappedConsOperator::addArtificialViscosity ( FArrayBox a_UnewFab,
const FArrayBox a_UoldFab,
FluxBox a_flux,
Real  a_weight 
) [virtual]

add artificial viscosity to a_Unew

Reimplemented from PatchConsOperator.

void PatchMappedConsOperator::addMappedArtificialViscosity ( FArrayBox a_JUnewFab,
const FArrayBox a_UoldFab,
FluxBox a_flux,
const FluxBox a_N,
const FArrayBox a_J,
const Box a_box,
Real  a_weight 
)

Add artificial viscosity to a_JUnew for mapped grids.

virtual Real PatchMappedConsOperator::getMaxWaveSpeed ( const FArrayBox a_U,
const Box a_bx 
) [virtual]

virtual void PatchMappedConsOperator::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 from PatchConsOperator.

virtual void PatchMappedConsOperator::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 from PatchConsOperator.

virtual void PatchMappedConsOperator::forwardBasisTransform ( FArrayBox a_W,
const int  a_dir,
const Box a_box 
) [protected, virtual]

virtual void PatchMappedConsOperator::reverseBasisTransform ( FArrayBox a_W,
const int  a_dir,
const Box a_box 
) [protected, virtual]

virtual void PatchMappedConsOperator::getAllFluxes ( FluxBox a_FfaceAvg,
FluxBox a_FfaceCen,
const FluxBox a_WfaceAvg,
const FluxBox a_WfaceCen 
) [protected, virtual]

Reimplemented from PatchConsOperator.

virtual void PatchMappedConsOperator::fluxCorrection ( FluxBox a_fluxAvg,
const FArrayBox a_UavgFab 
) [protected, virtual]

PatchMappedConsOperator& PatchMappedConsOperator::operator= ( const PatchMappedConsOperator a_input  )  [private]


Member Data Documentation


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

Generated on Wed Jun 28 03:27:27 2017 for Chombo + EB + MF by  doxygen 1.5.5