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

The class MultiBlockLevelGeom stores topological and geometric information. More...

#include <MultiBlockLevelGeom.H>

Public Member Functions

 MultiBlockLevelGeom ()
 default constructor More...
 
 ~MultiBlockLevelGeom ()
 destructor More...
 
 MultiBlockLevelGeom (const MultiBlockCoordSys *a_coordSysPtr, const DisjointBoxLayout &a_grids, int a_ghosts, Interval a_fixedDims=Interval(), Vector< int > a_fixedPt=Vector< int >())
 full constructor More...
 
void undefine ()
 
void define (const MultiBlockCoordSys *a_coordSysPtr, const DisjointBoxLayout &a_grids, const int a_solUpdateGhosts, const int a_spaceOrder, Interval a_fixedDims=Interval(), Vector< int > a_fixedPt=Vector< int >())
 define knowing only ghosts required for the solution update procedure. DEPRECATED. More...
 
void define (const MultiBlockCoordSys *a_coordSysPtr, const DisjointBoxLayout &a_grids, int a_ghosts, Interval a_fixedDims=Interval(), Vector< int > a_fixedPt=Vector< int >())
 define with explicit specification of number of multiblock ghosts More...
 
int ghosts () const
 accessor More...
 
const DisjointBoxLayout & grids () const
 accessor More...
 
const DisjointBoxLayout & gridsFull () const
 accessor More...
 
MultiBlockCoordSys * coordSysPtr () const
 accessor More...
 
const LayoutData< int > & block () const
 accessor More...
 
const LayoutData< IVSFAB< IntVect > *> & validIndices () const
 accessor More...
 
const LayoutData< IVSFAB< int > *> & validBlock () const
 accessor More...
 
const LayoutData< IVSFAB< RealVect > *> & validMappedCenter () const
 accessor More...
 
const Interval & fixedDims () const
 
const Vector< int > & fixedDimsVect () const
 
const Vector< int > & interpDimsVect () const
 
const Vector< int > & fixedPt () const
 
const BoxLayout & gridsFixedOff () const
 
bool allGridsHaveFixedPt () const
 
MultiBlockUtil * mbUtil () const
 
void extraBlockGhosts (LayoutData< IntVectSet > &a_ghostCells, int a_ghostLayer) const
 return indices of destination ghost cells for a particular width More...
 
bool isDefined () const
 

Protected Attributes

bool m_isDefined
 
MultiBlockCoordSys * m_coordSysPtr
 coordinate system (given in constructor) More...
 
DisjointBoxLayout m_gridsFull
 original underlying grids More...
 
DisjointBoxLayout m_grids
 underlying grids (given in constructor) varying in m_interpDimsVect but set to m_fixedPt in m_fixedDimsVect More...
 
BoxLayout m_gridsFixedOff
 displacement of original underlying grids from m_grids: 0 in m_interpDimsVect but varying in m_fixedDimsVect More...
 
bool m_allGridsHaveFixedPt
 whether all original underlying grids contain m_fixedPt in m_fixedDimsVect More...
 
int m_ghosts
 width of ghost layer around m_grids, from which data will be taken (given in constructor) More...
 
Interval m_fixedDims
 dimensions that are fixed. Default is empty. More...
 
Vector< int > m_fixedDimsVect
 dimensions that are fixed. Default is empty. More...
 
Vector< int > m_fixedPt
 coordinates in dimensions of m_fixedDims. Default is empty. More...
 
Vector< int > m_interpDimsVect
 dimensions that will be interpolated, which is all dimensions that are not in m_fixedDims. Default is 0:SpaceDim-1. More...
 
Vector< Tuple< BlockBoundary, 2 *SpaceDim > > m_boundaries
 all block boundaries; from m_coordSysPtr More...
 
LayoutData< int > m_block
 block containing each box of m_grids More...
 
LayoutData< IntVectSet > m_ghostCells
 extra-block ghost cells from which data will be taken. Lives on m_grids. More...
 
LayoutData< IVSFAB< IntVect > *> m_validIndices
 coordinate indices within the valid block of the cell in which the center of each extra-block ghost cell falls. Lives on m_ghostCells, has 1 component. More...
 
LayoutData< IVSFAB< int > *> m_validBlock
 index of the valid block in which the center of each extra-block ghost cell falls. Lives on m_ghostCells, has 1 component. More...
 
LayoutData< IVSFAB< RealVect > *> m_validMappedCenter
 mapped coordinates, in valid block's index space, of center of each extra-block ghost cell. Lives on m_ghostCells, has 1 component. More...
 
MultiBlockUtil * m_mbUtil
 

Detailed Description

The class MultiBlockLevelGeom stores topological and geometric information.

MultiBlockLevelGeom stores topological and geometric information about a particular layout with a particular MultiBlockCoordSys.

Implementations of specific multiblock coordinate systems will be provided by derived classes.

Constructor & Destructor Documentation

◆ MultiBlockLevelGeom() [1/2]

MultiBlockLevelGeom::MultiBlockLevelGeom ( )
inline

default constructor

References define(), m_isDefined, undefine(), and ~MultiBlockLevelGeom().

◆ ~MultiBlockLevelGeom()

MultiBlockLevelGeom::~MultiBlockLevelGeom ( )

destructor

Referenced by MultiBlockLevelGeom().

◆ MultiBlockLevelGeom() [2/2]

MultiBlockLevelGeom::MultiBlockLevelGeom ( const MultiBlockCoordSys *  a_coordSysPtr,
const DisjointBoxLayout &  a_grids,
int  a_ghosts,
Interval  a_fixedDims = Interval(),
Vector< int >  a_fixedPt = Vector< int >() 
)

full constructor

Member Function Documentation

◆ undefine()

void MultiBlockLevelGeom::undefine ( )

Referenced by MultiBlockLevelGeom().

◆ define() [1/2]

void MultiBlockLevelGeom::define ( const MultiBlockCoordSys *  a_coordSysPtr,
const DisjointBoxLayout &  a_grids,
const int  a_solUpdateGhosts,
const int  a_spaceOrder,
Interval  a_fixedDims = Interval(),
Vector< int >  a_fixedPt = Vector< int >() 
)

define knowing only ghosts required for the solution update procedure. DEPRECATED.

Referenced by MultiBlockLevelGeom().

◆ define() [2/2]

void MultiBlockLevelGeom::define ( const MultiBlockCoordSys *  a_coordSysPtr,
const DisjointBoxLayout &  a_grids,
int  a_ghosts,
Interval  a_fixedDims = Interval(),
Vector< int >  a_fixedPt = Vector< int >() 
)

define with explicit specification of number of multiblock ghosts

◆ ghosts()

int MultiBlockLevelGeom::ghosts ( ) const
inline

accessor

References m_ghosts.

◆ grids()

const DisjointBoxLayout& MultiBlockLevelGeom::grids ( ) const
inline

accessor

References m_grids.

◆ gridsFull()

const DisjointBoxLayout& MultiBlockLevelGeom::gridsFull ( ) const
inline

accessor

References m_gridsFull.

◆ coordSysPtr()

MultiBlockCoordSys* MultiBlockLevelGeom::coordSysPtr ( ) const
inline

accessor

References m_coordSysPtr.

◆ block()

const LayoutData<int>& MultiBlockLevelGeom::block ( ) const
inline

accessor

References m_block.

◆ validIndices()

const LayoutData< IVSFAB<IntVect>* >& MultiBlockLevelGeom::validIndices ( ) const
inline

accessor

References m_validIndices.

◆ validBlock()

const LayoutData< IVSFAB<int>* >& MultiBlockLevelGeom::validBlock ( ) const
inline

accessor

References m_validBlock.

◆ validMappedCenter()

const LayoutData< IVSFAB<RealVect>* >& MultiBlockLevelGeom::validMappedCenter ( ) const
inline

accessor

References m_validMappedCenter.

◆ fixedDims()

const Interval& MultiBlockLevelGeom::fixedDims ( ) const
inline

References m_fixedDims.

◆ fixedDimsVect()

const Vector<int>& MultiBlockLevelGeom::fixedDimsVect ( ) const
inline

References m_fixedDimsVect.

◆ interpDimsVect()

const Vector<int>& MultiBlockLevelGeom::interpDimsVect ( ) const
inline

References m_interpDimsVect.

◆ fixedPt()

const Vector<int>& MultiBlockLevelGeom::fixedPt ( ) const
inline

References m_fixedPt.

◆ gridsFixedOff()

const BoxLayout& MultiBlockLevelGeom::gridsFixedOff ( ) const
inline

References m_gridsFixedOff.

◆ allGridsHaveFixedPt()

bool MultiBlockLevelGeom::allGridsHaveFixedPt ( ) const
inline

References m_allGridsHaveFixedPt.

◆ mbUtil()

MultiBlockUtil* MultiBlockLevelGeom::mbUtil ( ) const
inline

References extraBlockGhosts(), and m_mbUtil.

◆ extraBlockGhosts()

void MultiBlockLevelGeom::extraBlockGhosts ( LayoutData< IntVectSet > &  a_ghostCells,
int  a_ghostLayer 
) const

return indices of destination ghost cells for a particular width

In a_ghostCells, return ghost cells of m_grids out to a_ghostLayer, which is width of destination ghost cell layer. This function requires m_grids, m_coordSysPtr, m_block, and m_boundaries, but NOT anything else like m_validIndices, m_validBlock, m_validMappedCenter.

Referenced by mbUtil().

◆ isDefined()

bool MultiBlockLevelGeom::isDefined ( ) const
inline

References m_isDefined.

Member Data Documentation

◆ m_isDefined

bool MultiBlockLevelGeom::m_isDefined
protected

is this object defined? covers m_coordSysPtr, m_grids, m_ghosts, m_boundaries, m_block, m_ghostCells, m_validIndices, m_validBlock, m_validMappedCenter

Referenced by isDefined(), and MultiBlockLevelGeom().

◆ m_coordSysPtr

MultiBlockCoordSys* MultiBlockLevelGeom::m_coordSysPtr
protected

coordinate system (given in constructor)

Referenced by coordSysPtr().

◆ m_gridsFull

DisjointBoxLayout MultiBlockLevelGeom::m_gridsFull
protected

original underlying grids

Referenced by gridsFull().

◆ m_grids

DisjointBoxLayout MultiBlockLevelGeom::m_grids
protected

underlying grids (given in constructor) varying in m_interpDimsVect but set to m_fixedPt in m_fixedDimsVect

Referenced by grids().

◆ m_gridsFixedOff

BoxLayout MultiBlockLevelGeom::m_gridsFixedOff
protected

displacement of original underlying grids from m_grids: 0 in m_interpDimsVect but varying in m_fixedDimsVect

Referenced by gridsFixedOff().

◆ m_allGridsHaveFixedPt

bool MultiBlockLevelGeom::m_allGridsHaveFixedPt
protected

whether all original underlying grids contain m_fixedPt in m_fixedDimsVect

Referenced by allGridsHaveFixedPt().

◆ m_ghosts

int MultiBlockLevelGeom::m_ghosts
protected

width of ghost layer around m_grids, from which data will be taken (given in constructor)

Referenced by ghosts().

◆ m_fixedDims

Interval MultiBlockLevelGeom::m_fixedDims
protected

dimensions that are fixed. Default is empty.

Referenced by fixedDims().

◆ m_fixedDimsVect

Vector<int> MultiBlockLevelGeom::m_fixedDimsVect
protected

dimensions that are fixed. Default is empty.

Referenced by fixedDimsVect().

◆ m_fixedPt

Vector<int> MultiBlockLevelGeom::m_fixedPt
protected

coordinates in dimensions of m_fixedDims. Default is empty.

Referenced by fixedPt().

◆ m_interpDimsVect

Vector<int> MultiBlockLevelGeom::m_interpDimsVect
protected

dimensions that will be interpolated, which is all dimensions that are not in m_fixedDims. Default is 0:SpaceDim-1.

Referenced by interpDimsVect().

◆ m_boundaries

Vector< Tuple<BlockBoundary, 2*SpaceDim> > MultiBlockLevelGeom::m_boundaries
protected

all block boundaries; from m_coordSysPtr

◆ m_block

LayoutData<int> MultiBlockLevelGeom::m_block
protected

block containing each box of m_grids

Referenced by block().

◆ m_ghostCells

LayoutData< IntVectSet > MultiBlockLevelGeom::m_ghostCells
protected

extra-block ghost cells from which data will be taken. Lives on m_grids.

◆ m_validIndices

LayoutData< IVSFAB<IntVect>* > MultiBlockLevelGeom::m_validIndices
protected

coordinate indices within the valid block of the cell in which the center of each extra-block ghost cell falls. Lives on m_ghostCells, has 1 component.

Referenced by validIndices().

◆ m_validBlock

LayoutData< IVSFAB<int>* > MultiBlockLevelGeom::m_validBlock
protected

index of the valid block in which the center of each extra-block ghost cell falls. Lives on m_ghostCells, has 1 component.

Referenced by validBlock().

◆ m_validMappedCenter

LayoutData< IVSFAB<RealVect>* > MultiBlockLevelGeom::m_validMappedCenter
protected

mapped coordinates, in valid block's index space, of center of each extra-block ghost cell. Lives on m_ghostCells, has 1 component.

Referenced by validMappedCenter().

◆ m_mbUtil

MultiBlockUtil* MultiBlockLevelGeom::m_mbUtil
protected

Referenced by mbUtil().


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