11 #ifndef _CUBEDSPHERESHELLPANELCS_H_ 12 #define _CUBEDSPHERESHELLPANELCS_H_ 28 #include "NamespaceHeader.H" 111 const Box& a_box)
const;
118 const Box& a_box)
const;
122 const Box& a_box)
const;
127 const Box& a_box)
const;
131 const Box& a_box)
const;
135 const Box& a_box)
const;
154 const Box& a_box)
const;
159 const Box& a_box)
const;
173 const Box& a_box)
const;
177 const Box& a_box)
const;
185 const Box& a_box)
const;
200 int a_s,
int a_d,
int a_d1,
201 int a_row,
int a_column)
const;
228 const Real * a_vecCS,
229 Real * a_vecXYZ)
const;
234 const Real * a_vecXYZ,
235 Real * a_vecCS)
const;
274 const IntVect& a_orthoComps)
const;
283 const IntVect& a_csComps)
const;
289 const Interval& a_vectorIntv)
const;
295 const Interval& a_vectorIntv)
const;
300 const Interval& a_vectorIntv)
const;
305 const Interval& a_vectorIntv)
const;
309 virtual void getOrthonormalizingMatrix(
315 virtual void getDeorthonormalizingMatrix(
326 const Box& a_box)
const;
333 const Box& a_box)
const;
339 const Box& a_box)
const;
345 const Box& a_box)
const;
351 const Box& a_box)
const;
357 const Box& a_box)
const;
391 #include "NamespaceFooter.H" int panel() const
access function to panel id
Definition: CubedSphereShellPanelCS.H:360
virtual void getCellMappedCoordinates(FArrayBox &a_cellCoords, const Box &a_box) const
virtual void getN(FluxBox &a_N, const Box &a_box) const
computes face-centered N
virtual Real getNMatrixEntry(const RealVect &a_Xi, int a_s, int a_d, int a_d1, int a_row, int a_column) const
note that a_Xi is in mapped space.
void fabVectorTransformLatLonToEquiangular(const FArrayBox &a_xiFab, const FArrayBox &a_vecRLLFab, FArrayBox &a_vecCSFab) const
virtual void orthonormalize(const FArrayBox &a_csFab, FArrayBox &a_orthoFab, const Box &a_box, int a_idir, const IntVect &a_csComps, const IntVect &a_orthoComps) const
convert components in a_csComps of vector a_csFab in coordinate-system basis to components in a_ortho...
void getLineMetrics(FArrayBox &a_metrics, const Box &a_box) const
computes line element metrics in each coordinate direction
virtual Real dXidX(const RealVect &a_X, int a_dirX, int a_dirXi) const
RefCountedPtr< Spline1DMapping > getVerticalMap() const
Definition: CubedSphereShellPanelCS.H:93
#define CH_assert(cond)
Definition: CHArray.H:37
void fabTransformEquiangularToLonLat(const FArrayBox &a_xiFab, FArrayBox &a_rllXiFab) const
virtual void getAvgJinverse(FluxBox &a_avgJinverse, const Box &a_box) const
computes face-averaged 1/J
void vectorTransformEquiangularToCartesian(const RealVect &a_xi, const Real *a_vecCS, Real *a_vecXYZ) const
void setFlatMap(bool a_flatMap)
virtual void contravariantMetric(FArrayBox &a_metric, int a_dir) const
return row a_idir of contravariant metric
Virtual base class encapsulating mapped-grid coordinate systems.
Definition: NewFourthOrderCoordSys.H:77
Definition: CubedSphereShellPanelCS.H:42
void setVerticalMap(RefCountedPtr< Spline1DMapping > a_map)
Definition: CubedSphereShellPanelCS.H:88
Real m_radius
Definition: CubedSphereShellPanelCS.H:379
virtual int dimension() const
returns dimensionality of the space (3, or 2 if flat)
Definition: CubedSphereShellPanelCS.H:146
bool m_flatMap
Definition: CubedSphereShellPanelCS.H:382
int m_realDim
Definition: CubedSphereShellPanelCS.H:373
CubedSphereShellPanelCS(int nPanel, RealVect &dDX, IntVect &ix)
constructor
virtual void curlSpherical(const FArrayBox &a_vecRLLFab, FArrayBox &a_curlFab, const Box &a_box) const
return radial component of curl of a_vecRLLFab, which has SpaceDim components and is cell-centered...
bool isNull() const
Definition: RefCountedPtr.H:599
void getContravariantMetricJAverage(FArrayBox &a_matrixFab, const int a_dir) const
returns G^{ij}J averaged over faces of direction a_dir
virtual void getAvgJ(FArrayBox &a_avgJ, const Box &a_box) const
computes cell-averaged J
virtual void getMappedCoordinates(FArrayBox &a_coords, const Box &a_box) const
A FArrayBox-like container for face-centered fluxes.
Definition: FluxBox.H:22
virtual Real dXdXi(const RealVect &a_Xi, int a_dirX, int a_dirXi) const
note that a_Xi is in mapped space.
virtual void deorthonormalize(const FArrayBox &a_orthoFab, FArrayBox &a_csFab, const Box &a_box, int a_idir, const IntVect &a_orthoComps, const IntVect &a_csComps) const
convert components in a_orthoComps of vector a_orthoFab in orthonormal basis to components in a_csCom...
Structure for passing component ranges in code.
Definition: Interval.H:23
virtual void orthonormalizeVectorFluxes(FArrayBox &a_fluxFab, const Box &a_box, const Interval &a_vectorIntv) const
convert from fluxes in block frame in component directions to fluxes in orthonormal frame in normal a...
virtual void magnitude(const FArrayBox &a_vecFab, FArrayBox &a_magFab, const Box &a_box) const
return magnitude of SpaceDim-vector with all components (in UNIT basis) in alpha direction, then all in beta direction, then all in r direction.
IntVect m_ix
Definition: CubedSphereShellPanelCS.H:388
virtual void getNodeMappedCoordinates(FArrayBox &a_nodeCoords, const Box &a_box) const
void vectorTransformLatLonToEquiangular(const RealVect &a_xi, const RealVect &a_vecRLL, RealVect &a_vecCS) const
void fabTransformEquiangularToCartesian(const FArrayBox &a_xiFab, FArrayBox &a_xyzFab) const
double Real
Definition: REAL.H:33
virtual Real pointwiseJ(const RealVect &a_X) const
Jacobian evaluated at location X in real space.
void fabVectorTransformEquiangularToLatLon(const FArrayBox &a_xiFab, const FArrayBox &a_vecCSFab, FArrayBox &a_vecRLLFab) const
RealVect realCoord(const RealVect &a_Xi) const
given coordinate in mapped space, return its location in real space
RefCountedPtr< Spline1DMapping > m_verticalMap
Definition: CubedSphereShellPanelCS.H:385
virtual void vectorTransformRealToMappedCenterFab(FArrayBox &a_vectorFab) const
transform a FAB of SpaceDim-vectors from real-coordinate basis to mapped-coordinate basis at cell cen...
void pointTransformEquiangularToCartesian(const RealVect &a_xi, Real *a_xyz) const
A Rectangular Domain on an Integer Lattice.
Definition: Box.H:469
A Real vector in SpaceDim-dimensional space.
Definition: RealVect.H:41
virtual void getFaceMappedCoordinates(FArrayBox &a_faceCoords, const int a_dir, const Box &a_box) const
virtual void gradient(const FArrayBox &a_fab, FArrayBox &a_gradFab, const Box &a_box) const
return cell-centered gradient of a_fab, with derivatives of all components in the alpha direction...
virtual void volFlux(FluxBox &a_volFlux, const FluxBox &a_Nt, const Box &a_box) const
computes NT * F.
Real m_height
Definition: CubedSphereShellPanelCS.H:376
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
An integer Vector in SpaceDim-dimensional space.
Definition: CHArray.H:42
Definition: FArrayBox.H:45
virtual void vectorTransformMappedToRealCenterFab(FArrayBox &a_vectorFab) const
transform a FAB of SpaceDim-vectors from mapped-coordinate basis to real-coordinate basis at cell cen...
void setHeight(Real a_height)
Definition: CubedSphereShellPanelCS.H:60
virtual void magnitudeNatural(const FArrayBox &a_vecFab, FArrayBox &a_magFab, const Box &a_box) const
return magnitude of SpaceDim-vector with components in NATURAL basis.
int m_nPanel
Definition: CubedSphereShellPanelCS.H:370
virtual void getNodeRealCoordinates(FArrayBox &a_nodeCoords, const Box &a_box) const
return Cartesian XYZ locations of cell centers
Real getHeight() const
Definition: CubedSphereShellPanelCS.H:67
void setRadius(Real a_radius)
Definition: CubedSphereShellPanelCS.H:74
void vectorTransformCartesianToEquiangular(const RealVect &a_xi, const Real *a_vecXYZ, Real *a_vecCS) const
virtual void deorthonormalizeVectorFluxes(FArrayBox &a_fluxFab, const Box &a_box, const Interval &a_vectorIntv) const
convert from fluxes in orthonormal frame in normal and tangential directions to fluxes in block frame...
virtual ~CubedSphereShellPanelCS()
virtual void divSpherical(const FArrayBox &a_vecRLLFab, FluxBox &a_divFlux, const Box &a_box) const
return face-centered divergence of a_vecRLLFab, which has SpaceDim components and is cell-centered...
Real getRadius() const
Definition: CubedSphereShellPanelCS.H:81
void pointTransformEquiangularToLonLat(const RealVect &a_xi, RealVect &a_rllXi) const
virtual void cellVol(FArrayBox &a_vol, const FluxBox &a_N, const Box &a_box) const
computes cell volumes
virtual void curlRadial(const FArrayBox &a_vecFab, FArrayBox &a_curlFab, const Box &a_box) const
return cell-centered radial component of curl of a_vecFab, which has SpaceDim components and is cell-...
RealVect mappedCoord(const RealVect &a_x) const
given coordinate in real space, return its location in the mapped space