Chombo + EB + MF  3.2
Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes | Private Member Functions | List of all members
CylinderCS Class Reference

MultiBlockCoordSys with a central cubic box and four sectors. More...

#include <CylinderCS.H>

Inheritance diagram for CylinderCS:
Inheritance graph
[legend]

Public Member Functions

virtual void blockRemapping (RealVect &a_xi_valid, int &a_n_valid, const RealVect &a_xiSrc, int a_nSrc) const
 block mapping conversion function More...
 
void setAllPhysical (const RealVect &a_centerPoint, const RealVect &a_centralRectSize, const Real &a_outerRadius)
 
void setCenterPoint (const RealVect &a_centerPoint)
 
void setCentralRectSize (const RealVect &a_centralRectSize)
 
void setOuterRadius (Real a_outerRadius)
 
Constructors, destructor and defines
 CylinderCS ()
 
virtual ~CylinderCS ()
 
virtual void define (const ProblemDomain &a_levelDomain, const RealVect &a_dx)
 
- Public Member Functions inherited from MultiBlockCoordSys
 MultiBlockCoordSys ()
 default constructor More...
 
virtual ~MultiBlockCoordSys ()
 destructor (should this delete the members of coordSysVect? More...
 
virtual int whichBlock (const Box &a_box) const
 returns block number in which a_box is contained in the global index space More...
 
virtual int whichBlock (const IntVect &a_iv) const
 returns block number in which a_iv is contained in the global index space More...
 
virtual int whichBlockOverlap (const Box &a_box) const
 returns block number that overlaps a_box in the global index space More...
 
virtual int whichBlockBuffered (const IntVect &a_iv, int a_bufferSize) const
 returns block number in which a_iv is contained within buffer of a_bufferSize More...
 
virtual RealVect blockRemappingGeneral (int a_nDst, const RealVect &a_xiSrc, int a_nSrc) const
 general block mapping conversion function More...
 
virtual IntVect cellAvoidingBoundaries (const IntVect &a_cell, int a_blockNum, int a_radius) const
 return a cell that is far enough away from external boundaries More...
 
virtual void keepInDomain (Box &a_bx, int a_blockNum) const
 modify a_bx so that it lies entirely within the physical domain More...
 
virtual ProblemDomain problemDomain (const Box &a_baseBox, int a_numGhost) const
 return ProblemDomain within block, with box and ghost cells More...
 
virtual ProblemDomain blockDomainOfBox (const Box &a_baseBox) const
 return ProblemDomain of block containing a box More...
 
virtual VectorTransformation vectorBlockTransformation (int a_nDst, const RealVect &a_xiSrc, int a_nSrc) const
 return vector transformation from one block to another at a point. More...
 
virtual VectorTransformation vectorBlockTransformationCenter (int a_nDst, const IntVect &a_ivSrc, int a_nSrc) const
 return vector transformation from one block to another at center of a cell. More...
 
virtual void vectorBlockTransformationCenter (BaseFab< VectorTransformation > &a_vtFab, int a_nDst, const Box &a_srcBox, int a_nSrc) const
 
virtual VectorTransformation vectorBlockTransformationAvg (int a_nDst, const IntVect &a_ivSrc, int a_nSrc) const
 return average vector transformation from one block to another at a cell More...
 
virtual void vectorBlockTransformationAvg (BaseFab< VectorTransformation > &a_vtFab, int a_nDst, const Box &a_srcBox, int a_nSrc, Interval a_fixedDims=Interval()) const
 return average vector transformation from one block to another at a cell, with averaging over specified dimensions only More...
 
virtual Tuple< VectorTransformation, SpaceDimvectorBlockTransformationGrad (int a_nDst, const IntVect &a_ivSrc, int a_nSrc) const
 return gradient of vector transformation from one block to another at a cell More...
 
virtual void vectorBlockTransformationGrad (BaseFab< VectorTransformation > &a_vtGradFab, int a_nDst, const Box &a_srcBox, int a_nSrc, Interval a_fixedDims=Interval()) const
 return gradient of vector transformation from one block to another at a cell, over specified dimensions only More...
 
virtual void vectorBlockAvgTransformation (BaseFab< VectorAvgTransformation > &a_vtAvgFab, int a_nDst, const Box &a_srcBox, int a_nSrc, Interval a_fixedDims=Interval()) const
 
virtual Vector< RealVectdisplacements (const Vector< RealVect > &a_dstCoords, const Vector< int > &a_dstBlocks, const RealVect &a_srcCoords, int a_srcBlock) const
 return displacements More...
 
virtual Real distance (const RealVect &a_srcCoords, int a_srcBlock, const RealVect &a_dstCoords, int a_dstBlock) const
 return distance between two points More...
 
virtual const NewCoordSysgetCoordSys (int a_n) const
 Return the mapping which corresponds to the block with the given index. More...
 
virtual const NewCoordSysgetCoordSys (const Box &a_box) const
 
const Vector< Box > & mappingBlocks () const
 const access to the mapping blocks More...
 
int numBlocks () const
 number of blocks More...
 
const Vector< Tuple< BlockBoundary, 2 *SpaceDim > > & boundaries () const
 const access to the block boundaries More...
 
const BaseFab< int > & validNum (int a_block) const
 const access to m_validNum[a_block] More...
 
const BaseFab< int > & validBlocks (int a_block) const
 const access to m_validBlocks[a_block] More...
 
const BaseFab< IndicesTransformation > & validTransformations (int a_block) const
 const access to m_validTransformations[a_block] More...
 
const IndicesTransformationblockTransformation (int a_blockSrc, int a_blockDst) const
 const access to m_allBlockTransformations[blockSrc][blockDst] More...
 
void initializeBlockTransformations ()
 Need to have m_boundaries for this. More...
 
void validBlocksCells (Vector< int > &a_validBlocks, Vector< IntVect > &a_validCells, int a_origBlock, const IntVect &a_origCell)
 Return list of valid blocks and cells corresponding to a_cell in a_block. More...
 
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. More...
 
int realDim () const
 
RealVect dxVect () const
 
bool gotBoundaries () const
 
bool gotBlockTransformations () const
 
bool gotMappingBlocks () const
 
bool gotCoordSysVect () const
 
bool useScriptN () const
 
bool isDefined () const
 

Protected Member Functions

void setFortranCommon ()
 
void defineBoundaries ()
 
- Protected Member Functions inherited from MultiBlockCoordSys
void permute (Vector< int > &a_vec, int a_start, int a_length, Vector< Vector< int > > &a_allPathsDir, const Vector< int > &a_changedDirs)
 
void setAllBoundaries (BlockBoundary::btype a_btype)
 
void setBoundaryFromFaces (int a_srcBlock, int a_srcFaceID, int a_dstBlock, int a_dstFaceID, IntVect a_sign=IntVect::Unit)
 

Protected Attributes

RealVect m_centerPoint
 
RealVect m_centralRectSize
 
Real m_outerRadius
 
RealVect m_centralRectLo
 
RealVect m_centralRectHi
 
- Protected Attributes inherited from MultiBlockCoordSys
bool m_gotCoordSysVect
 Do we have m_coordSysVect? More...
 
Vector< NewCoordSys * > m_coordSysVect
 Vector of NewCoordSys – one for each mapping block. More...
 
bool m_gotMappingBlocks
 Do we have m_mappingBlocks? More...
 
Vector< Boxm_mappingBlocks
 Associated regions in index space over which each mapping is valid. More...
 
bool m_gotBoundaries
 
RealVect m_dxVect
 The grid spacing, must be the same across all mapping blocks. More...
 
int m_realDim
 Number of dimensions in real space; default SpaceDim. More...
 
Vector< Tuple< BlockBoundary, 2 *SpaceDim > > m_boundaries
 Description of each boundary face of each block; set these in derived class and then set m_gotBoundaries true. More...
 
bool m_gotBlockTransformations
 
Vector< Vector< IndicesTransformation > > m_allBlockTransformations
 [blockSrc][blockDst] gives transformation from blockSrc to blockDst More...
 
Vector< BaseFab< int > *> m_validNum
 
Vector< BaseFab< int > *> m_validBlocks
 
Vector< BaseFab< IndicesTransformation > *> m_validTransformations
 
bool m_useScriptN
 Whether scriptN is used in calculating N. More...
 

Static Protected Attributes

static const int NUMBLOCKS = 5
 
static const int CENTRAL = 0
 
static const int XPOS = 1
 
static const int YPOS = 2
 
static const int XNEG = 3
 
static const int YNEG = 4
 

Private Member Functions

void operator= (const CylinderCS &)
 
 CylinderCS (const CylinderCS &)
 

Detailed Description

MultiBlockCoordSys with a central cubic box and four sectors.

MultiBlockCoordSys with a central cubic box and four sectors.

Constructor & Destructor Documentation

◆ CylinderCS() [1/2]

CylinderCS::CylinderCS ( )

Default constructor.

◆ ~CylinderCS()

virtual CylinderCS::~CylinderCS ( )
virtual

Destructor.

◆ CylinderCS() [2/2]

CylinderCS::CylinderCS ( const CylinderCS )
inlineprivate

Member Function Documentation

◆ define()

virtual void CylinderCS::define ( const ProblemDomain a_levelDomain,
const RealVect a_dx 
)
virtual

Reimplemented in CylinderEquiangularCS, and CylinderSpokesCS.

◆ blockRemapping()

virtual void CylinderCS::blockRemapping ( RealVect a_xi_valid,
int &  a_n_valid,
const RealVect a_xiSrc,
int  a_nSrc 
) const
virtual

block mapping conversion function

given xi_k in block k, returns which block (k_valid) contains that location in its valid region and its location in that block's computational coordinate space.

Implements MultiBlockCoordSys.

◆ setAllPhysical()

void CylinderCS::setAllPhysical ( const RealVect a_centerPoint,
const RealVect a_centralRectSize,
const Real a_outerRadius 
)

◆ setCenterPoint()

void CylinderCS::setCenterPoint ( const RealVect a_centerPoint)
inline

References m_centerPoint.

◆ setCentralRectSize()

void CylinderCS::setCentralRectSize ( const RealVect a_centralRectSize)
inline

References m_centralRectSize.

◆ setOuterRadius()

void CylinderCS::setOuterRadius ( Real  a_outerRadius)
inline

References m_outerRadius.

◆ setFortranCommon()

void CylinderCS::setFortranCommon ( )
protected

◆ defineBoundaries()

void CylinderCS::defineBoundaries ( )
protected

◆ operator=()

void CylinderCS::operator= ( const CylinderCS )
inlineprivate

Member Data Documentation

◆ NUMBLOCKS

const int CylinderCS::NUMBLOCKS = 5
staticprotected

◆ CENTRAL

const int CylinderCS::CENTRAL = 0
staticprotected

◆ XPOS

const int CylinderCS::XPOS = 1
staticprotected

◆ YPOS

const int CylinderCS::YPOS = 2
staticprotected

◆ XNEG

const int CylinderCS::XNEG = 3
staticprotected

◆ YNEG

const int CylinderCS::YNEG = 4
staticprotected

◆ m_centerPoint

RealVect CylinderCS::m_centerPoint
protected

◆ m_centralRectSize

RealVect CylinderCS::m_centralRectSize
protected

◆ m_outerRadius

Real CylinderCS::m_outerRadius
protected

◆ m_centralRectLo

RealVect CylinderCS::m_centralRectLo
protected

◆ m_centralRectHi

RealVect CylinderCS::m_centralRectHi
protected

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