Chombo + EB + MF
3.2
|
Virtual base class encapsulating fourth-order CoordSys. More...
#include <FourthOrderCoordSys.H>
Public Member Functions | |
FourthOrderCoordSys () | |
default constructor More... | |
virtual | ~FourthOrderCoordSys () |
virtual void | define (const DisjointBoxLayout &a_grids, const ProblemDomain &a_domain, const RealVect &a_cellSpacing, const IntVect &a_ghostVect) |
this define should probably be called from the derived-class define More... | |
virtual void | regrid (const DisjointBoxLayout &a_newGrids)=0 |
virtual RealVect | realCoord (const RealVect &a_Xi) const =0 |
given coordinate in mapped space, return its location in real space More... | |
virtual RealVect | mappedCoord (const RealVect &a_x) const =0 |
given coordinate in real space, return its location in the mapped space More... | |
virtual void | realCoord (FArrayBox &a_x, const FArrayBox &a_Xi) const |
given coordinates in mapped space, return locations in real space More... | |
virtual void | mappedCoord (FArrayBox &a_Xi, const FArrayBox &a_x) const |
given coordinate in real space, return its location in the mapped space More... | |
virtual Real | pointwiseJ (const RealVect &a_X) const |
Jacobian evaluated at location X in real space. More... | |
virtual void | pointwiseJ (FArrayBox &a_J) const |
Jacobian evaluated at index locations of a_J. More... | |
virtual void | pointwiseJ (FArrayBox &a_J, const FArrayBox &a_Xi) const |
Jacobian evaluated at locations Xi in mapped space. More... | |
virtual void | mappedGridDivergence (LevelData< FArrayBox > &a_divF, const LevelData< FluxBox > &a_F) const |
returns integral of divergence over mapped-grid cells More... | |
virtual void | simpleDivergence (LevelData< FArrayBox > &a_divF, const LevelData< FluxBox > &a_F) const |
virtual void | setQuadrature (const EdgeQuadrature *a_quadrature) |
virtual const LevelData< FluxBox > & | getFaceMetricTerms () const |
reuturns reference to face-averaged N More... | |
virtual const LevelData< FluxBox > & | getTanGranNTerms () const |
returns reference to tangential gradients of N More... | |
virtual int | tanGradComp (const int a_faceDir, const int a_tanDir, const int a_comp) const |
virtual const LevelData< FArrayBox > & | getCellVolumes () const |
virtual const LevelData< FArrayBox > & | getJ () const |
returns fourth-order averaged cell-centered J More... | |
virtual const LevelData< FluxBox > & | getJInverse () const |
returns fourth-order averaged face-centered 1/J More... | |
virtual const LevelData< FluxBox > & | getNJinverse () const |
returns fourth-order averaged face-centered N/J More... | |
virtual void | computeTangentialGrad (LevelData< FluxBox > &a_gradPhi, const LevelData< FluxBox > &a_phiFace) const |
virtual void | computeProductAverage (LevelData< FluxBox > &a_product, const LevelData< FluxBox > &a_F, const LevelData< FluxBox > &a_G, bool a_fourthOrder=true) const |
helper function More... | |
virtual void | computeMetricTermProductAverage (LevelData< FluxBox > &a_product, const LevelData< FluxBox > &a_F, bool a_fourthOrder=true) const |
computes 4th-order average of product = N^T*F More... | |
virtual Real | dXdXi (const RealVect &a_X, int a_dirX, int a_dirXi) const =0 |
note that a_X is in real (not mapped) space. More... | |
virtual void | dXdXi (FArrayBox &a_dxdXi, const FArrayBox &a_X, int a_destComp, int a_dirX, int a_dirXi) const |
note that a_X is in real (not mapped) space. More... | |
const RealVect & | dx () const |
access function to simplify things – returns mapped-space cell spacing More... | |
const ProblemDomain & | domain () const |
access function, returns mapped-space problem domain More... | |
const DisjointBoxLayout & | grids () const |
access function – returns const reference to grids More... | |
const IntVect & | ghostVect () const |
access function – returns const reference to number of ghost cells More... | |
Public Member Functions inherited from CoordSys< FArrayBox, FluxBox > | |
CoordSys () | |
default constructor More... | |
virtual | ~CoordSys () |
Static Public Member Functions | |
static int | getMetricTermComponent (const int a_row, const int a_col) |
index function into face-centered metric terms More... | |
Public Attributes | |
Interval | m_volInterval |
which component directions to use when computing cell volumes More... | |
Protected Member Functions | |
virtual Real | getN (const RealVect &a_X, int a_s, int a_d, int a_d1) const |
note that a_X is in real (not mapped) space. More... | |
virtual Real | getNMatrixEntry (const RealVect &a_X, int a_s, int a_d, int a_d1, int a_row, int a_column) const |
note that a_X is in real (not mapped) space. More... | |
virtual void | defineFaceMetricTerms (LevelData< FluxBox > &a_faceMetricTerms) |
virtual void | incrementFaceMetricWithEdgeTerm (FArrayBox &a_faceMetrics, int a_faceDir, int a_edgeDir, const Side::LoHiSide &a_side) |
virtual void | computeTransverseFaceMetric (FArrayBox &a_faceMetrics, int a_faceDir, int a_dDir) |
virtual void | computeCellVolumes (LevelData< FArrayBox > &a_cellVolumes) |
virtual void | computeJ (LevelData< FArrayBox > &a_J) |
virtual void | computeJinverse (LevelData< FluxBox > &a_Jinverse) |
virtual void | computeNJinverse (LevelData< FluxBox > &a_NJinverse) |
Virtual base class encapsulating fourth-order CoordSys.
The FourthOrderCoordSys class extends the CoordSys base class by providing API elements and implementation details specific to fourth-order discretizaitions. Implementations of specific coordinate systems will be provided by derived classes.
FourthOrderCoordSys::FourthOrderCoordSys | ( | ) |
default constructor
|
virtual |
Destructor.
|
virtual |
this define should probably be called from the derived-class define
Implements CoordSys< FArrayBox, FluxBox >.
Reimplemented in CartesianCoordSys.
|
pure virtual |
Implements CoordSys< FArrayBox, FluxBox >.
Implemented in CartesianCoordSys.
given coordinate in mapped space, return its location in real space
Implements CoordSys< FArrayBox, FluxBox >.
Implemented in CartesianCoordSys.
given coordinate in real space, return its location in the mapped space
Implements CoordSys< FArrayBox, FluxBox >.
Implemented in CartesianCoordSys.
|
virtual |
given coordinates in mapped space, return locations in real space
Implements CoordSys< FArrayBox, FluxBox >.
|
virtual |
given coordinate in real space, return its location in the mapped space
Implements CoordSys< FArrayBox, FluxBox >.
Jacobian evaluated at location X in real space.
Implements CoordSys< FArrayBox, FluxBox >.
Reimplemented in CartesianCoordSys.
|
virtual |
Jacobian evaluated at index locations of a_J.
|
virtual |
Jacobian evaluated at locations Xi in mapped space.
Implements CoordSys< FArrayBox, FluxBox >.
|
virtual |
returns integral of divergence over mapped-grid cells
Implements CoordSys< FArrayBox, FluxBox >.
Reimplemented in CartesianCoordSys.
|
virtual |
|
virtual |
reuturns reference to face-averaged N
Implements CoordSys< FArrayBox, FluxBox >.
returns reference to tangential gradients of N
References computeMetricTermProductAverage(), computeProductAverage(), computeTangentialGrad(), getCellVolumes(), getJ(), getJInverse(), getNJinverse(), m_tanGradNTerms, and tanGradComp().
|
virtual |
Referenced by getTanGranNTerms().
Implements CoordSys< FArrayBox, FluxBox >.
Referenced by getTanGranNTerms().
returns fourth-order averaged cell-centered J
Implements CoordSys< FArrayBox, FluxBox >.
Referenced by getTanGranNTerms().
returns fourth-order averaged face-centered 1/J
Implements CoordSys< FArrayBox, FluxBox >.
Referenced by getTanGranNTerms().
returns fourth-order averaged face-centered N/J
Implements CoordSys< FArrayBox, FluxBox >.
Referenced by getTanGranNTerms().
|
virtual |
Referenced by getTanGranNTerms().
|
virtual |
helper function
given face-centered phi, increment with Laplacian(phi) correction in place to compute 4th-order face averages of phicomputes 4th-order average of product = F*G
Referenced by getTanGranNTerms().
|
virtual |
computes 4th-order average of product = N^T*F
if a_fourthOrder is false, then only do a second-order dot product
Referenced by getTanGranNTerms().
|
inlinestatic |
|
pure virtual |
note that a_X is in real (not mapped) space.
Implemented in CartesianCoordSys.
Referenced by getMetricTermComponent().
|
virtual |
note that a_X is in real (not mapped) space.
fills the destComp component of a_dxdXi with the derivative of x w/ respect to Xi in the dirX direction Note that the default implementation of this in FourthOrderCoordSys class throws an error, since there is no way to get real=space coordinate x from index location except in the derived class.. (default implementation is there in case derived class doesn't provide it)
|
inline |
access function to simplify things – returns mapped-space cell spacing
References m_dx.
|
inline |
access function, returns mapped-space problem domain
References m_domain.
|
inline |
access function – returns const reference to grids
References m_grids.
|
inline |
access function – returns const reference to number of ghost cells
References m_ghostVect.
|
protectedvirtual |
note that a_X is in real (not mapped) space.
|
protectedvirtual |
note that a_X is in real (not mapped) space.
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
Interval FourthOrderCoordSys::m_volInterval |
which component directions to use when computing cell volumes
|
protected |
Referenced by grids().
|
protected |
Referenced by domain().
|
protected |
Referenced by ghostVect().
Referenced by getTanGranNTerms().
|
protected |