11 #ifndef _NEWCOORDSYS_H_ 12 #define _NEWCOORDSYS_H_ 21 #include "NamespaceHeader.H" 53 const Box& a_box)
const;
57 const Box& a_box)
const;
61 const Box& a_box)
const;
70 const Box& a_box)
const =0;
76 int a_dirXi)
const = 0;
94 const Box& a_box)
const;
98 virtual int getNumN()
const = 0;
104 virtual int getNcomponent(
const int a_row,
const int a_col)
const = 0;
127 const Box& a_box)
const = 0;
138 const Box& a_box)
const = 0;
145 const Box& a_box)
const;
165 bool a_fourthOrder=
true)
const =0;
177 bool a_fourthOrder=
true)
const;
255 #include "NamespaceFooter.H" virtual VectorTransformation vectorTransformationRealToMapped(const RealVect &a_Xi) const
return matrix that transforms vector components from real space to mapped space at point a_Xi in mapp...
virtual void vectorTransformRealToMappedCenterFab(FArrayBox &a_vectorFab) const
transform a FAB of SpaceDim-vectors from real-coordinate basis to mapped-coordinate basis at cell cen...
virtual VectorTransformation vectorTransformationMappedToRealCenter(const IntVect &a_iv) const
return matrix that transforms vector components from mapped space to real space at center of cell a_i...
virtual void vectorTransformMappedToRealAvgFab(FArrayBox &a_vectorFab, const FArrayBox &a_gradVectorFab) const
transform a FAB of SpaceDim-vectors from mapped-coordinate basis to real-coordinate basis...
A class to facilitate interaction with physical boundary conditions.
Definition: ProblemDomain.H:141
virtual ~NewCoordSysFactory()
Definition: NewCoordSys.H:247
NewCoordSysFactory()
Definition: NewCoordSys.H:243
virtual void setTime(const Real &a_time) const
Set time for moving grids.
Definition: NewCoordSys.H:230
virtual VectorTransformation vectorTransformationMappedToReal(const RealVect &a_Xi) const
return matrix that transforms vector components from mapped space to real space at point a_Xi in mapp...
virtual const RealVect & dx() const =0
access function to simplify things – returns mapped-space cell spacing
virtual int getNcomponent(const int a_row, const int a_col) const =0
index function into face-centered metric terms
const int SpaceDim
Definition: SPACE.H:38
virtual ~NewCoordSys()
Definition: NewCoordSys.H:42
virtual void getCenterMappedCoordinates(FArrayBox &a_Xi, const Box &a_box) const
given indices in a_box, return centers of cells (or of faces, or of edges) in mapped coordinates...
A FArrayBox-like container for face-centered fluxes.
Definition: FluxBox.H:22
Real m_time
Const is already well entrenched.
Definition: NewCoordSys.H:218
virtual RealVect mappedCoord(const RealVect &a_x) const =0
given coordinate in real space, return its location in the mapped space
virtual Real pointwiseJ(const RealVect &a_Xi) const =0
Jacobian evaluated at location Xi in mapped space.
Structure for passing component ranges in code.
Definition: Interval.H:23
NewCoordSys()
default constructor
Definition: NewCoordSys.H:34
virtual int getNumN() const =0
returns number of components in the metric term matrix (N)
virtual RealVect realCoord(const RealVect &a_Xi) const =0
given coordinate in mapped space, return its location in real space
pure-virtual base class defining factory interface for CoordSys
Definition: NewCoordSys.H:236
double Real
Definition: REAL.H:33
virtual void getAvgJ(FArrayBox &a_avgJ, const Box &a_box) const =0
computes cell-averaged J
virtual void getNodeRealCoordinates(FArrayBox &a_nodeCoords, const Box &a_box) const =0
return Cartesian XYZ locations of nodes
virtual void vectorTransformMappedToRealCenterFab(FArrayBox &a_vectorFab) const
transform a FAB of SpaceDim-vectors from mapped-coordinate basis to real-coordinate basis at cell cen...
virtual void computeDivergence(FArrayBox &a_divF, const FluxBox &a_F, const FluxBox &a_N, const Box &a_box, Interval &divInterval) const
returns integral of divergence over mapped-grid cells
virtual void getAvgJinverse(FluxBox &a_avgJinverse, const Box &a_box) const =0
computes face-averaged 1/J
virtual VectorTransformation vectorTransformationRealToMappedCenter(const IntVect &a_iv) const
return matrix that transforms vector components from real space to mapped space at center of cell a_i...
virtual void vectorTransformInternalAvgFab(FArrayBox &a_vectorFab, const FArrayBox &a_gradVectorFab, const BaseFab< VectorTransformation > &a_tfmCenterFab) const
internal function to transform a FAB of SpaceDim-vectors from one basis to another, averaged over cells, given BaseFab of vector transformations at cell centers
A Rectangular Domain on an Integer Lattice.
Definition: Box.H:469
A Real vector in SpaceDim-dimensional space.
Definition: RealVect.H:41
virtual int dimension() const
returns dimensionality of the space
Definition: NewCoordSys.H:115
virtual void cellVol(FArrayBox &a_vol, const FluxBox &a_N, const Box &a_box) const =0
computes cell volumes
An integer Vector in SpaceDim-dimensional space.
Definition: CHArray.H:42
Definition: FArrayBox.H:45
virtual RealVect centerMappedCoordinates(const IntVect &a_iv) const
given indices, return centers of cells in mapped coordinates
virtual Real dXdXi(const RealVect &a_Xi, int a_dirX, int a_dirXi) const =0
note that a_Xi is in mapped space.
virtual void computeMetricTermProductAverage(FluxBox &a_product, const FluxBox &a_F, const FluxBox &a_N, const FluxBox &a_FforGrad, const Box &a_box, bool a_fourthOrder=true) const =0
computes 4th-order average of product = N^T*F
Virtual base class encapsulating mapped-grid coordinate systems.
Definition: NewCoordSys.H:30
virtual void vectorTransformRealToMappedAvgFab(FArrayBox &a_vectorFab, const FArrayBox &a_gradVectorFab) const
transform a FAB of SpaceDim-vectors from real-coordinate basis to mapped-coordinate basis...
virtual void getN(FluxBox &a_N, const Box &a_box) const =0
computes integral of N over each face of a_box