CubedSphere2DCS Class Reference

#include <CubedSphere2DCS.H>

Inheritance diagram for CubedSphere2DCS:

Inheritance graph
[legend]

List of all members.


Detailed Description

simple multiblock coordinate system for a cylinder

The CubedSphere2DCS coordinate system class is a multiblock example that takes place on a cubed inflated onto the surface of a sphere.

Public Member Functions

 CubedSphere2DCS ()
 default constructor
 CubedSphere2DCS (int a_nResolution, int a_nLayers=0)
virtual ~CubedSphere2DCS ()
virtual void define (int a_nResolution, int a_nLayers=0)
virtual void define (const ProblemDomain &a_levelDomain, const RealVect &a_dx)
void setFlatMap (bool a_flatMap)
void setRadii (Real a_rMin, Real a_rMax)
void regrid (const DisjointBoxLayout &a_newGrids)
RealVect realCoord (const RealVect &a_X) const
RealVect mappedCoord (const RealVect &a_x) const
void vecTransMatrix_Pt (int a_nSourcePanel, int a_nDestPanel, Real a_dX, Real a_dY, Real *a_dT) const
void vecTransMatrix (int a_nSourcePanel, int a_nDestPanel, int a_nAlphaIx, int a_nBetaIx, Real a_dDeltaA, Real *a_dAvgT, Real *a_dAlphaGradT, Real *a_dBetaGradT) const
VectorTransformation vectorBlockTransformation (int a_nDst, const RealVect &a_xiSrc, int a_nSrc) const
 return vector transformation from one block to another at a point.
void cartesianFromMapped (Real &xx, Real &yy, Real &zz, const RealVect &a_xiSrc, int a_nSrc) const
 convert from mapped coordinate to Cartesian coordinates
void mappedFromCartesian (RealVect &a_xiDst, int a_nDst, Real xx, Real yy, Real zz) const
 convert from Cartesian coordinates to mapped coordinate
virtual void blockRemapping (RealVect &a_xi_valid, int &a_n_valid, const RealVect &a_xiSrc, int a_nSrc) const
 block mapping conversion function
virtual RealVect blockRemappingGeneral (int a_nDst, const RealVect &a_xiSrc, int a_nSrc) const
virtual Vector< RealVectdisplacements (const Vector< RealVect > &a_dstCoords, const Vector< int > &a_dstBlocks, const RealVect &a_srcCoords, int a_srcBlock) const
 return displacements
virtual void separateVolFlux (LevelData< FluxBox > &a_flux) const
 Have separate volume flux on each block. Normally does nothing, but cubed-sphere coordinate system needs it.
virtual Real radialMappedToReal (Real a_rMapped) const
 Function to convert from 0:1 to m_rMin:m_rMax.
virtual Real radialRealToMapped (Real a_rReal) const
 Function to convert from m_rMin:m_rMax to 0:1.

Protected Member Functions

void setFortranCommon ()
void defineBoundaries ()

Protected Attributes

int m_nResolution
int m_nLayers
bool m_flatMap
Real m_rMin
Real m_rMax


Constructor & Destructor Documentation

CubedSphere2DCS::CubedSphere2DCS (  ) 

default constructor

CubedSphere2DCS::CubedSphere2DCS ( int  a_nResolution,
int  a_nLayers = 0 
)

virtual CubedSphere2DCS::~CubedSphere2DCS (  )  [virtual]

Destructor.


Member Function Documentation

virtual void CubedSphere2DCS::define ( int  a_nResolution,
int  a_nLayers = 0 
) [virtual]

virtual void CubedSphere2DCS::define ( const ProblemDomain a_levelDomain,
const RealVect a_dx 
) [virtual]

void CubedSphere2DCS::setFlatMap ( bool  a_flatMap  ) 

void CubedSphere2DCS::setRadii ( Real  a_rMin,
Real  a_rMax 
)

void CubedSphere2DCS::regrid ( const DisjointBoxLayout a_newGrids  ) 

RealVect CubedSphere2DCS::realCoord ( const RealVect a_X  )  const

RealVect CubedSphere2DCS::mappedCoord ( const RealVect a_x  )  const

void CubedSphere2DCS::vecTransMatrix_Pt ( int  a_nSourcePanel,
int  a_nDestPanel,
Real  a_dX,
Real  a_dY,
Real a_dT 
) const

Calculate the pointwise transformation matrix using gnomonic coordinates on the source panel (a_dX, a_dY).

void CubedSphere2DCS::vecTransMatrix ( int  a_nSourcePanel,
int  a_nDestPanel,
int  a_nAlphaIx,
int  a_nBetaIx,
Real  a_dDeltaA,
Real a_dAvgT,
Real a_dAlphaGradT,
Real a_dBetaGradT 
) const

VectorTransformation CubedSphere2DCS::vectorBlockTransformation ( int  a_nDst,
const RealVect a_xiSrc,
int  a_nSrc 
) const [virtual]

return vector transformation from one block to another at a point.

Return object that transforms the components of a vector situated at a_xiSrc from basis of block a_nSrc to components in basis in block a_nDst.

Default implementation goes through real space.

Reimplemented from MultiBlockCoordSys.

void CubedSphere2DCS::cartesianFromMapped ( Real xx,
Real yy,
Real zz,
const RealVect a_xiSrc,
int  a_nSrc 
) const

convert from mapped coordinate to Cartesian coordinates

given a_xiSrc in block a_nSrc, return 3D Cartesian coordinates of point.

void CubedSphere2DCS::mappedFromCartesian ( RealVect a_xiDst,
int  a_nDst,
Real  xx,
Real  yy,
Real  zz 
) const

convert from Cartesian coordinates to mapped coordinate

given 3D Cartesian coordinates of point and destination block returns mapped coordinates of that point. Radius information is discarded.

virtual void CubedSphere2DCS::blockRemapping ( RealVect a_xi_valid,
int &  a_n_valid,
const RealVect a_xiSrc,
int  a_nSrc 
) const [virtual]

block mapping conversion function

given a_xiSrc in block a_nSrc, returns which block (a_n_valid) contains that location in its valid region and its location (a_xi_valid) in that block's computational coordinate space.

Implements MultiBlockCoordSys.

virtual RealVect CubedSphere2DCS::blockRemappingGeneral ( int  a_nDst,
const RealVect a_xiSrc,
int  a_nSrc 
) const [virtual]

given mapped coordinate a_xiSrc of a point in block a_nSrc return mapped coordinates in block a_nDst.

Reimplemented from MultiBlockCoordSys.

virtual Vector<RealVect> CubedSphere2DCS::displacements ( const Vector< RealVect > &  a_dstCoords,
const Vector< int > &  a_dstBlocks,
const RealVect a_srcCoords,
int  a_srcBlock 
) const [virtual]

return displacements

Return a Vector of same length as a_dstCoords and a_dstBlocks, with component i of this Vector being the displacement from point a_srcCoords in mapped coordinates of block a_srcBlock to point a_dstCoords[i] in mapped coordinates of block a_dstBlocks[i].

If this method is not overwritten, then component i of the returned Vector is simply the displacement in physical coordinates from a_srcCoords to a_dstCoords[i].

Reimplemented from MultiBlockCoordSys.

virtual void CubedSphere2DCS::separateVolFlux ( LevelData< FluxBox > &  a_flux  )  const [virtual]

Have separate volume flux on each block. Normally does nothing, but cubed-sphere coordinate system needs it.

Reimplemented from MultiBlockCoordSys.

virtual Real CubedSphere2DCS::radialMappedToReal ( Real  a_rMapped  )  const [virtual]

Function to convert from 0:1 to m_rMin:m_rMax.

virtual Real CubedSphere2DCS::radialRealToMapped ( Real  a_rReal  )  const [virtual]

Function to convert from m_rMin:m_rMax to 0:1.

void CubedSphere2DCS::setFortranCommon (  )  [protected]

void CubedSphere2DCS::defineBoundaries (  )  [protected]


Member Data Documentation

int CubedSphere2DCS::m_nLayers [protected]

bool CubedSphere2DCS::m_flatMap [protected]


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

Generated on Thu Nov 23 03:27:08 2017 for Chombo + EB + MF by  doxygen 1.5.5