#include <DoubleCartesianCS.H>
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< RealVect > | displacements (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 | |
DoubleCartesianCS () | |
virtual | ~DoubleCartesianCS () |
virtual void | define (const ProblemDomain &a_levelDomain, const RealVect &a_dx) |
Protected Member Functions | |
void | defineBoundaries () |
Protected Attributes | |
Tuple< IntVect, NUMBLOCKS > | m_origin |
Box | m_blockIndicesBox |
BaseFab< int > | m_blockIndices |
Static Protected Attributes | |
static const int | NUMBLOCKS = D_TERM6(2, *2, *2, *2, *2, *2) |
Private Member Functions | |
void | operator= (const DoubleCartesianCS &) |
DoubleCartesianCS (const DoubleCartesianCS &) |
DoubleCartesianCS::DoubleCartesianCS | ( | ) |
Default constructor.
virtual DoubleCartesianCS::~DoubleCartesianCS | ( | ) | [virtual] |
Destructor.
DoubleCartesianCS::DoubleCartesianCS | ( | const DoubleCartesianCS & | ) | [inline, private] |
virtual void DoubleCartesianCS::define | ( | const ProblemDomain & | a_levelDomain, | |
const RealVect & | a_dx | |||
) | [virtual] |
virtual void DoubleCartesianCS::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> DoubleCartesianCS::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.
Have separate volume flux on each block. Normally does nothing, but double-cartesian coordinate system needs it.
Reimplemented from MultiBlockCoordSys.
void DoubleCartesianCS::defineBoundaries | ( | ) | [protected] |
void DoubleCartesianCS::operator= | ( | const DoubleCartesianCS & | ) | [inline, private] |
const int DoubleCartesianCS::NUMBLOCKS = D_TERM6(2, *2, *2, *2, *2, *2) [static, protected] |
Tuple<IntVect, NUMBLOCKS> DoubleCartesianCS::m_origin [protected] |
Box DoubleCartesianCS::m_blockIndicesBox [protected] |
BaseFab<int> DoubleCartesianCS::m_blockIndices [protected] |