CubedSphere2DPanelCS Class Reference

#include <CubedSphere2DPanelCS.H>

Inheritance diagram for CubedSphere2DPanelCS:

Inheritance graph
[legend]

List of all members.


Detailed Description

Basic single-panel cubed sphere Coordinates.

The CubedSphere2DPanelCS class implements the NewFourthOrderCoordSys class for cubed sphere panels in equiangular coordinates.

Public Member Functions

 CubedSphere2DPanelCS (int nPanel, RealVect &dDX, IntVect &ix)
 constructor
void setFlatMap (bool a_flatMap)
virtual ~CubedSphere2DPanelCS ()
RealVect realCoord (const RealVect &a_Xi) const
 given coordinate in mapped space, return its location in real space
void realCoord (FArrayBox &a_x, const FArrayBox &a_Xi, const Box &a_box) const
 given coordinates in mapped space, return locations in real space
RealVect mappedCoord (const RealVect &a_x) const
 given coordinate in real space, return its location in the mapped space
virtual void getNodeRealCoordinates (FArrayBox &a_nodeCoords, const Box &a_box) const
 return Cartesian XYZ locations of cell centers
virtual void getCellMappedCoordinates (FArrayBox &a_cellCoords, const Box &a_box) const
virtual void getFaceMappedCoordinates (FArrayBox &a_faceCoords, const int a_dir, const Box &a_box) const
virtual void getNodeMappedCoordinates (FArrayBox &a_nodeCoords, const Box &a_box) const
virtual Real dXdXi (const RealVect &a_Xi, int a_dirX, int a_dirXi) const
 note that a_Xi is in mapped space.
virtual int dimension () const
 returns dimensionality of the space (3, or 2 if flat)
virtual void cellVol (FArrayBox &a_vol, const FluxBox &a_N, const Box &a_box) const
 computes cell volumes
virtual void volFlux (FluxBox &a_volFlux, const FluxBox &a_Nt, const Box &a_box) const
 computes NT * F.
virtual void getN (FluxBox &a_N, const Box &a_box) const
 computes face-centered N
virtual void getAvgJ (FArrayBox &a_avgJ, const Box &a_box) const
 computes cell-averaged J
virtual void getAvgJ (FArrayBox &a_avgJ, const FluxBox &a_volFlux, const Box &a_box) const
 computes cell-averaged J; ignores a_volFlux
virtual void getAvgJinverse (FluxBox &a_avgJinverse, const Box &a_box) const
 computes face-averaged 1/J
virtual Real pointwiseJ (const RealVect &a_X) const
 Jacobian evaluated at location X in real space.
virtual void pointwiseJ (FArrayBox &a_J, const FArrayBox &a_Xi, const Box &a_box) const
 Jacobian evaluated at locations Xi in mapped space.
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 Real getN (const RealVect &a_Xi, int a_s, int a_d, int a_d1) const
 this evaluates the script N values from equation 12 in Phil's notes
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 pointTransformEquiangularToLonLat (const RealVect &a_xi, RealVect &a_rllXi) const
void pointTransformEquiangularToCartesian (const RealVect &a_xi, Real *a_xyz) const
void fabTransformEquiangularToLonLat (const FArrayBox &a_xiFab, FArrayBox &a_rllXiFab) const
void fabTransformEquiangularToCartesian (const FArrayBox &a_xiFab, FArrayBox &a_xyzFab) const
void vectorTransformEquiangularToCartesian (const RealVect &a_xi, const Real *a_vecCS, Real *a_vecXYZ) const
void vectorTransformCartesianToEquiangular (const RealVect &a_xi, const Real *a_vecXYZ, Real *a_vecCS) const
void vectorTransformLatLonToEquiangular (const RealVect &a_xi, const Real *a_vecRLL, Real *a_vecCS) const
void fabVectorTransformLatLonToEquiangular (const FArrayBox &a_xiFab, const FArrayBox &a_vecRLLFab, FArrayBox &a_vecCSFab) const
void fabVectorTransformEquiangularToLatLon (const FArrayBox &a_xiFab, const FArrayBox &a_vecCSFab, FArrayBox &a_vecRLLFab) const
virtual void vectorTransformMappedToRealCenterFab (FArrayBox &a_vectorFab) const
 transform a FAB of SpaceDim-vectors from mapped-coordinate basis to real-coordinate basis at cell centers
virtual void vectorTransformRealToMappedCenterFab (FArrayBox &a_vectorFab) const
 transform a FAB of SpaceDim-vectors from real-coordinate basis to mapped-coordinate basis at cell centers
virtual void contravariantMetric (FArrayBox &a_metric, int a_dir) const
 return row a_idir of contravariant metric
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_orthoComps of vector a_orthoFab in orthonormal basis, at points with indices in a_box, on lines where direction a_idir is constant
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_csComps of vector a_csFab in coordinate-system basis, at points with indices in a_box, on lines where direction a_idir is constant
virtual void getOrthonormalizingMatrix (FArrayBox &a_matrixFab, const Box &a_box, int a_idir) const
 return coefficients to convert components of a vector from coordinate-system basis to orthonormal basis, at points with indices in a_box, on lines where direction a_idir is constant
virtual void getDeorthonormalizingMatrix (FArrayBox &a_matrixFab, const Box &a_box, int a_idir) const
 return coefficients to convert components of a vector from orthonormal basis to coordinate-system basis, at points with indices in a_box, on lines where direction a_idir is constant
virtual void curl (const FArrayBox &a_vecFab, FArrayBox &a_curlFab, const Box &a_box) const
 return radial component of curl of a_vecFab, which has SpaceDim components and is cell-centered. Does not seem to work.
virtual void curlSpherical (const FArrayBox &a_vecFab, FArrayBox &a_curlFab, const Box &a_box) const
 return radial component of curl of a_vecFab, which has SpaceDim components and is cell-centered, by converting to spherical coordinates.
int panel () const
 access function to panel id

Protected Attributes

int m_nPanel
int m_realDim
bool m_flatMap
IntVect m_ix


Constructor & Destructor Documentation

CubedSphere2DPanelCS::CubedSphere2DPanelCS ( int  nPanel,
RealVect dDX,
IntVect ix 
)

constructor

nPanel (0-3 Equatorial, 4 North Pole, 5 South Pole) and defines the panel on the cubed sphere described by this object. dDX The cell spacing on this panel. ix Index of the bottom-left edge of this panel in index space.

virtual CubedSphere2DPanelCS::~CubedSphere2DPanelCS (  )  [virtual]

Destructor.


Member Function Documentation

void CubedSphere2DPanelCS::setFlatMap ( bool  a_flatMap  ) 

RealVect CubedSphere2DPanelCS::realCoord ( const RealVect a_Xi  )  const [virtual]

given coordinate in mapped space, return its location in real space

Implements NewFourthOrderCoordSys.

void CubedSphere2DPanelCS::realCoord ( FArrayBox a_x,
const FArrayBox a_Xi,
const Box a_box 
) const [virtual]

given coordinates in mapped space, return locations in real space

Reimplemented from NewFourthOrderCoordSys.

RealVect CubedSphere2DPanelCS::mappedCoord ( const RealVect a_x  )  const [virtual]

given coordinate in real space, return its location in the mapped space

Implements NewFourthOrderCoordSys.

virtual void CubedSphere2DPanelCS::getNodeRealCoordinates ( FArrayBox a_nodeCoords,
const Box a_box 
) const [virtual]

return Cartesian XYZ locations of cell centers

Reimplemented from NewFourthOrderCoordSys.

virtual void CubedSphere2DPanelCS::getCellMappedCoordinates ( FArrayBox a_cellCoords,
const Box a_box 
) const [virtual]

virtual void CubedSphere2DPanelCS::getFaceMappedCoordinates ( FArrayBox a_faceCoords,
const int  a_dir,
const Box a_box 
) const [virtual]

virtual void CubedSphere2DPanelCS::getNodeMappedCoordinates ( FArrayBox a_nodeCoords,
const Box a_box 
) const [virtual]

virtual Real CubedSphere2DPanelCS::dXdXi ( const RealVect a_Xi,
int  a_dirX,
int  a_dirXi 
) const [virtual]

note that a_Xi is in mapped space.

Implements NewFourthOrderCoordSys.

virtual int CubedSphere2DPanelCS::dimension (  )  const [inline, virtual]

returns dimensionality of the space (3, or 2 if flat)

Reimplemented from NewCoordSys.

References m_realDim.

virtual void CubedSphere2DPanelCS::cellVol ( FArrayBox a_vol,
const FluxBox a_N,
const Box a_box 
) const [virtual]

computes cell volumes

Reimplemented from NewFourthOrderCoordSys.

virtual void CubedSphere2DPanelCS::volFlux ( FluxBox a_volFlux,
const FluxBox a_Nt,
const Box a_box 
) const [virtual]

computes NT * F.

Reimplemented from NewFourthOrderCoordSys.

virtual void CubedSphere2DPanelCS::getN ( FluxBox a_N,
const Box a_box 
) const [virtual]

computes face-centered N

Reimplemented from NewFourthOrderCoordSys.

virtual void CubedSphere2DPanelCS::getAvgJ ( FArrayBox a_avgJ,
const Box a_box 
) const [virtual]

computes cell-averaged J

Reimplemented from NewFourthOrderCoordSys.

virtual void CubedSphere2DPanelCS::getAvgJ ( FArrayBox a_avgJ,
const FluxBox a_volFlux,
const Box a_box 
) const [virtual]

computes cell-averaged J; ignores a_volFlux

Reimplemented from NewFourthOrderCoordSys.

virtual void CubedSphere2DPanelCS::getAvgJinverse ( FluxBox a_avgJinverse,
const Box a_box 
) const [virtual]

computes face-averaged 1/J

Reimplemented from NewFourthOrderCoordSys.

virtual Real CubedSphere2DPanelCS::pointwiseJ ( const RealVect a_X  )  const [virtual]

Jacobian evaluated at location X in real space.

Reimplemented from NewFourthOrderCoordSys.

virtual void CubedSphere2DPanelCS::pointwiseJ ( FArrayBox a_J,
const FArrayBox a_Xi,
const Box a_box 
) const [virtual]

Jacobian evaluated at locations Xi in mapped space.

Reimplemented from NewFourthOrderCoordSys.

virtual void CubedSphere2DPanelCS::computeDivergence ( FArrayBox a_divF,
const FluxBox a_F,
const FluxBox a_N,
const Box a_box,
Interval divInterval 
) const [virtual]

returns integral of divergence over mapped-grid cells

Reimplemented from NewCoordSys.

virtual Real CubedSphere2DPanelCS::getN ( const RealVect a_Xi,
int  a_s,
int  a_d,
int  a_d1 
) const [virtual]

this evaluates the script N values from equation 12 in Phil's notes

note that a_Xi is in mapped space.

Reimplemented from NewFourthOrderCoordSys.

virtual Real CubedSphere2DPanelCS::getNMatrixEntry ( const RealVect a_Xi,
int  a_s,
int  a_d,
int  a_d1,
int  a_row,
int  a_column 
) const [virtual]

note that a_Xi is in mapped space.

Reimplemented from NewFourthOrderCoordSys.

void CubedSphere2DPanelCS::pointTransformEquiangularToLonLat ( const RealVect a_xi,
RealVect a_rllXi 
) const

transform a point from mapped-coordinate basis to longitude-latitude coordinate basis

void CubedSphere2DPanelCS::pointTransformEquiangularToCartesian ( const RealVect a_xi,
Real a_xyz 
) const

transform a point from mapped-coordinate basis to Cartesian coordinate basis

void CubedSphere2DPanelCS::fabTransformEquiangularToLonLat ( const FArrayBox a_xiFab,
FArrayBox a_rllXiFab 
) const

transform a FAB of points from mapped-coordinate basis to latitude-longitude coordinate basis

void CubedSphere2DPanelCS::fabTransformEquiangularToCartesian ( const FArrayBox a_xiFab,
FArrayBox a_xyzFab 
) const

transform a FAB of points from mapped-coordinate basis to Cartesian coordinate basis

void CubedSphere2DPanelCS::vectorTransformEquiangularToCartesian ( const RealVect a_xi,
const Real a_vecCS,
Real a_vecXYZ 
) const

transform a vector from mapped-coordinate basis to real-coordinate basis, given a point a_xi in mapped space

void CubedSphere2DPanelCS::vectorTransformCartesianToEquiangular ( const RealVect a_xi,
const Real a_vecXYZ,
Real a_vecCS 
) const

transform a vector from real-coordinate basis to mapped-coordinate basis, given a point a_xi in mapped space

void CubedSphere2DPanelCS::vectorTransformLatLonToEquiangular ( const RealVect a_xi,
const Real a_vecRLL,
Real a_vecCS 
) const

transform a vector from longitude-latitude coordinate basis to mapped-coordinate basis

void CubedSphere2DPanelCS::fabVectorTransformLatLonToEquiangular ( const FArrayBox a_xiFab,
const FArrayBox a_vecRLLFab,
FArrayBox a_vecCSFab 
) const

transform a FAB of vectors from latitude-longitude coordinate basis to mapped-coordinate basis

void CubedSphere2DPanelCS::fabVectorTransformEquiangularToLatLon ( const FArrayBox a_xiFab,
const FArrayBox a_vecCSFab,
FArrayBox a_vecRLLFab 
) const

transform a FAB of vectors from mapped-coordinate basis to latitude-longitude coordinate basis

virtual void CubedSphere2DPanelCS::vectorTransformMappedToRealCenterFab ( FArrayBox a_vectorFab  )  const [virtual]

transform a FAB of SpaceDim-vectors from mapped-coordinate basis to real-coordinate basis at cell centers

Reimplemented from NewCoordSys.

virtual void CubedSphere2DPanelCS::vectorTransformRealToMappedCenterFab ( FArrayBox a_vectorFab  )  const [virtual]

transform a FAB of SpaceDim-vectors from real-coordinate basis to mapped-coordinate basis at cell centers

Reimplemented from NewCoordSys.

virtual void CubedSphere2DPanelCS::contravariantMetric ( FArrayBox a_metric,
int  a_dir 
) const [virtual]

return row a_idir of contravariant metric

Reimplemented from NewFourthOrderCoordSys.

virtual void CubedSphere2DPanelCS::orthonormalize ( const FArrayBox a_csFab,
FArrayBox a_orthoFab,
const Box a_box,
int  a_idir,
const IntVect a_csComps,
const IntVect a_orthoComps 
) const [virtual]

convert components in a_csComps of vector a_csFab in coordinate-system basis to components in a_orthoComps of vector a_orthoFab in orthonormal basis, at points with indices in a_box, on lines where direction a_idir is constant

Reimplemented from NewFourthOrderCoordSys.

virtual void CubedSphere2DPanelCS::deorthonormalize ( const FArrayBox a_orthoFab,
FArrayBox a_csFab,
const Box a_box,
int  a_idir,
const IntVect a_orthoComps,
const IntVect a_csComps 
) const [virtual]

convert components in a_orthoComps of vector a_orthoFab in orthonormal basis to components in a_csComps of vector a_csFab in coordinate-system basis, at points with indices in a_box, on lines where direction a_idir is constant

Reimplemented from NewFourthOrderCoordSys.

virtual void CubedSphere2DPanelCS::getOrthonormalizingMatrix ( FArrayBox a_matrixFab,
const Box a_box,
int  a_idir 
) const [virtual]

return coefficients to convert components of a vector from coordinate-system basis to orthonormal basis, at points with indices in a_box, on lines where direction a_idir is constant

virtual void CubedSphere2DPanelCS::getDeorthonormalizingMatrix ( FArrayBox a_matrixFab,
const Box a_box,
int  a_idir 
) const [virtual]

return coefficients to convert components of a vector from orthonormal basis to coordinate-system basis, at points with indices in a_box, on lines where direction a_idir is constant

virtual void CubedSphere2DPanelCS::curl ( const FArrayBox a_vecFab,
FArrayBox a_curlFab,
const Box a_box 
) const [virtual]

return radial component of curl of a_vecFab, which has SpaceDim components and is cell-centered. Does not seem to work.

virtual void CubedSphere2DPanelCS::curlSpherical ( const FArrayBox a_vecFab,
FArrayBox a_curlFab,
const Box a_box 
) const [virtual]

return radial component of curl of a_vecFab, which has SpaceDim components and is cell-centered, by converting to spherical coordinates.

int CubedSphere2DPanelCS::panel (  )  const [inline]

access function to panel id

References m_nPanel.


Member Data Documentation

Referenced by panel().

Referenced by dimension().


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

Generated on Tue Sep 26 03:27:02 2017 for Chombo + EB + MF by  doxygen 1.5.5