DoubleCartesianRotateCS Class Reference

#include <DoubleCartesianRotateCS.H>

Inheritance diagram for DoubleCartesianRotateCS:

Inheritance graph

List of all members.

Detailed Description

MultiBlockCoordSys consisting of two blocks in each dimension, which are rotated from mapped to real space.

MultiBlockCoordSys with a central cubic box and four sectors.

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
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 double-cartesian coordinate system needs it.
Constructors, destructor and defines
 DoubleCartesianRotateCS ()
virtual ~DoubleCartesianRotateCS ()
virtual void define (const ProblemDomain &a_levelDomain, const RealVect &a_dx)

Protected Member Functions

void defineBoundaries ()
int findDim (const RealVect &a_rv) const
int findSign (const RealVect &a_rv) const

Protected Attributes

Tuple< IntVect, NUMBLOCKSm_origin
Box m_blockIndicesBox
BaseFab< int > m_blockIndices
BaseFab< IntVectm_perm
BaseFab< IntVectm_sign
BaseFab< IndicesTransformationm_indTransform
BaseFab< VectorTransformationm_vecTransform

Static Protected Attributes

static const int NUMBLOCKS = D_TERM6(2, *2, *2, *2, *2, *2)

Private Member Functions

void operator= (const DoubleCartesianRotateCS &)
 DoubleCartesianRotateCS (const DoubleCartesianRotateCS &)

Constructor & Destructor Documentation

DoubleCartesianRotateCS::DoubleCartesianRotateCS (  ) 

Default constructor.

virtual DoubleCartesianRotateCS::~DoubleCartesianRotateCS (  )  [virtual]


DoubleCartesianRotateCS::DoubleCartesianRotateCS ( const DoubleCartesianRotateCS  )  [inline, private]

Member Function Documentation

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

virtual void DoubleCartesianRotateCS::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.

virtual Vector<RealVect> DoubleCartesianRotateCS::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 DoubleCartesianRotateCS::separateVolFlux ( LevelData< FluxBox > &  a_flux  )  const [virtual]

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

Reimplemented from MultiBlockCoordSys.

void DoubleCartesianRotateCS::defineBoundaries (  )  [protected]

int DoubleCartesianRotateCS::findDim ( const RealVect a_rv  )  const [protected]

int DoubleCartesianRotateCS::findSign ( const RealVect a_rv  )  const [protected]

void DoubleCartesianRotateCS::operator= ( const DoubleCartesianRotateCS  )  [inline, private]

Member Data Documentation

const int DoubleCartesianRotateCS::NUMBLOCKS = D_TERM6(2, *2, *2, *2, *2, *2) [static, protected]

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

Generated on Fri Apr 19 03:27:40 2019 for Chombo + EB + MF by  doxygen 1.5.5