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 DisjointBoxLayoutgrids () const
 accessor More...
 
const DisjointBoxLayoutgridsFull () const
 accessor More...
 
MultiBlockCoordSyscoordSysPtr () 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 IntervalfixedDims () const
 
const Vector< int > & fixedDimsVect () const
 
const Vector< int > & interpDimsVect () const
 
const Vector< int > & fixedPt () const
 
const BoxLayoutgridsFixedOff () const
 
bool allGridsHaveFixedPt () const
 
MultiBlockUtilmbUtil () 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
 
MultiBlockCoordSysm_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< IntVectSetm_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...
 
MultiBlockUtilm_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: