MultiBlockLevelExchange Class Reference

#include <MultiBlockLevelExchange.H>

Inheritance diagram for MultiBlockLevelExchange:

Inheritance graph
[legend]

List of all members.


Detailed Description

The class MultiBlockLevelExchange stores topological and geometric information.

MultiBlockLevelExchange 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.

Public Member Functions

 MultiBlockLevelExchange ()
 default constructor
virtual ~MultiBlockLevelExchange ()
 destructor
 MultiBlockLevelExchange (const MultiBlockLevelGeom *a_geomPtr, int a_ghosts, int a_order)
 full constructor
virtual void undefine ()
virtual void define (const MultiBlockLevelGeom *a_geomPtr, int a_ghosts, int a_order)
virtual void defineVector ()
 must be in the derived class, else error when calling.
virtual void interpGhosts (LevelData< FArrayBox > &a_data, const Interval &a_intvl) const
 fill extra-block ghost cells of a_data at components in a_intvl
virtual void interpGhosts (LevelData< FArrayBox > &a_data) const
 fill extra-block ghost cells of a_data at all components
virtual void interpGhostsVector (LevelData< FArrayBox > &a_data) const
 fill extra-block ghost cells of vector a_data at all components
virtual void interpGhostsVector (LevelData< FArrayBox > &a_data, const Interval &a_intvl) const
 fill extra-block ghost cells of vector a_data at components in a_intvl, of length SpaceDim. Must be in the derived class, else error when calling.
virtual void interpGhostsAllWithVector (LevelData< FArrayBox > &a_data, const Interval &a_vecIntvl) const
 fill extra-block ghost cells of all components of a_data at components, where a_vecIntvl is interval of components of a vector, and the other components are scalars
const LayoutData< IntVectSet > & ghostCells () const
 accessor
const LayoutData
< RefCountedPtr< IVSFAB
< MBStencil > > > & 
stencils () const
 accessor
const LayoutData
< RefCountedPtr< IVSFAB
< MBVectorStencil > > > & 
vectorstencils () const
 accessor
bool isDefined () const

Protected Member Functions

virtual void removeNoValidSource ()
 remove from m_ghostCells all cells that do not have complete stencils.

Protected Attributes

bool m_isDefined
 is defined?
bool m_isVectorDefined
 is defined for vector transformations?
IndexType m_type
 either IndexType::TheCellType() for averaged, or IndexType::TheNodeType() for centered
DisjointBoxLayout m_grids
 underlying grids
int m_ghosts
 width of ghost layer around m_grids, at which data will be filled in
int m_order
 order of approximation wanted
int m_radius
 radius of neighborhood of data used for interpolation to ghost cell
int m_degree
 degree of Taylor polynomials
Box m_degreeBox
 [0:m_degree]^D
Vector< IntVectm_powers
 powers in Taylor polynomial
int m_numTaylorCoeffs
 number of coefficients in Taylor polynomial
MultiBlockLevelGeomm_geomPtr
 contains topological and geometric information
MultiBlockCoordSysm_coordSysPtr
 contains coordinate systems; from m_geomPtr
DisjointBoxLayout m_gridsFull
 original underlying grids
int m_nblocks
 Number of mapping blocks.
LayoutData< IntVectSetm_ghostCells
 extra-block ghost cells of m_grids that need to be filled in
Interval m_fixedDims
 interval of dimensions that are fixed. Default empty.
Vector< int > m_fixedDimsVect
 dimensions that are fixed. Default empty.
Vector< int > m_interpDimsVect
 dimensions that are not fixed. Default 0:SpaceDim-1.
Vector< int > m_fixedPt
 fixed values of dimensions that are fixed. Default empty.
BoxLayout m_gridsFixedOff
 displacement of original underlying grids from m_grids: 0 in m_interpDimsVect but varying in m_fixedDimsVect
bool m_allGridsHaveFixedPt
 whether all original underlying grids contain m_fixedPt in m_fixedDimsVect
LayoutData< RefCountedPtr
< IVSFAB< MBStencil > > > 
m_stencils
 interpolation stencils
LayoutData< RefCountedPtr
< IVSFAB< MBVectorStencil > > > 
m_vectorstencils
 vector interpolation stencils
Vector< BoxLayout * > m_validLayout
 for each source block, min Box containing valid cells
Vector< BoxLayout * > m_validFullLayout
Vector< RefCountedPtr
< LayoutData< Box > > > 
m_stencilCellsMinBox
Vector< RefCountedPtr
< LayoutData< Box > > > 
m_stencilCellsFullMinBox
Vector< Copier * > m_copiers
 Copier *m_copiers[srcBlock] for copying from m_grids to BoxLayout *m_validLayout[srcBlock].
Vector< Copier * > m_copiersFull
MultiBlockUtilm_mbUtil


Constructor & Destructor Documentation

MultiBlockLevelExchange::MultiBlockLevelExchange (  )  [inline]

default constructor

References m_isDefined, and m_isVectorDefined.

virtual MultiBlockLevelExchange::~MultiBlockLevelExchange (  )  [virtual]

destructor

MultiBlockLevelExchange::MultiBlockLevelExchange ( const MultiBlockLevelGeom a_geomPtr,
int  a_ghosts,
int  a_order 
)

full constructor


Member Function Documentation

virtual void MultiBlockLevelExchange::undefine (  )  [virtual]

virtual void MultiBlockLevelExchange::define ( const MultiBlockLevelGeom a_geomPtr,
int  a_ghosts,
int  a_order 
) [virtual]

virtual void MultiBlockLevelExchange::defineVector (  )  [virtual]

must be in the derived class, else error when calling.

virtual void MultiBlockLevelExchange::interpGhosts ( LevelData< FArrayBox > &  a_data,
const Interval a_intvl 
) const [virtual]

fill extra-block ghost cells of a_data at components in a_intvl

virtual void MultiBlockLevelExchange::interpGhosts ( LevelData< FArrayBox > &  a_data  )  const [virtual]

fill extra-block ghost cells of a_data at all components

virtual void MultiBlockLevelExchange::interpGhostsVector ( LevelData< FArrayBox > &  a_data  )  const [virtual]

fill extra-block ghost cells of vector a_data at all components

virtual void MultiBlockLevelExchange::interpGhostsVector ( LevelData< FArrayBox > &  a_data,
const Interval a_intvl 
) const [virtual]

fill extra-block ghost cells of vector a_data at components in a_intvl, of length SpaceDim. Must be in the derived class, else error when calling.

virtual void MultiBlockLevelExchange::interpGhostsAllWithVector ( LevelData< FArrayBox > &  a_data,
const Interval a_vecIntvl 
) const [virtual]

fill extra-block ghost cells of all components of a_data at components, where a_vecIntvl is interval of components of a vector, and the other components are scalars

const LayoutData< IntVectSet >& MultiBlockLevelExchange::ghostCells (  )  const [inline]

accessor

References CH_assert, isDefined(), and m_ghostCells.

const LayoutData< RefCountedPtr< IVSFAB<MBStencil> > >& MultiBlockLevelExchange::stencils (  )  const [inline]

accessor

IVSFAB<MBStencil> *m_stencils[dit] lives on m_ghostCells[dit] and has 1 component. For each IntVect thisGhostCell in IntVectSet m_ghostCells[dit] (i.e., thisGhostCell an extra-block ghost cell of m_grids[dit]), MBStencil *m_stencils[dit](thisGhostCell, 0) contains the interpolation stencil for thisGhostCell.

References CH_assert, isDefined(), and m_stencils.

const LayoutData< RefCountedPtr< IVSFAB<MBVectorStencil> > >& MultiBlockLevelExchange::vectorstencils (  )  const [inline]

accessor

IVSFAB<MBVectorStencil> *m_vectorstencils[dit] lives on m_ghostCells[dit] and has 1 component. For each IntVect thisGhostCell in IntVectSet m_ghostCells[dit] (i.e., thisGhostCell an extra-block ghost cell of m_grids[dit]), MBVectorStencil *m_vectorstencils[dit](thisGhostCell, 0) contains the vector interpolation stencil for thisGhostCell.

References CH_assert, isDefined(), and m_vectorstencils.

bool MultiBlockLevelExchange::isDefined (  )  const [inline]

References m_isDefined.

Referenced by ghostCells(), stencils(), and vectorstencils().

virtual void MultiBlockLevelExchange::removeNoValidSource (  )  [protected, virtual]

remove from m_ghostCells all cells that do not have complete stencils.


Member Data Documentation

is defined?

Referenced by isDefined(), and MultiBlockLevelExchange().

is defined for vector transformations?

Referenced by MultiBlockLevelExchange().

either IndexType::TheCellType() for averaged, or IndexType::TheNodeType() for centered

underlying grids

width of ghost layer around m_grids, at which data will be filled in

order of approximation wanted

radius of neighborhood of data used for interpolation to ghost cell

degree of Taylor polynomials

[0:m_degree]^D

powers in Taylor polynomial

number of coefficients in Taylor polynomial

contains topological and geometric information

contains coordinate systems; from m_geomPtr

original underlying grids

Number of mapping blocks.

extra-block ghost cells of m_grids that need to be filled in

Referenced by ghostCells().

interval of dimensions that are fixed. Default empty.

dimensions that are fixed. Default empty.

dimensions that are not fixed. Default 0:SpaceDim-1.

fixed values of dimensions that are fixed. Default empty.

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

whether all original underlying grids contain m_fixedPt in m_fixedDimsVect

interpolation stencils

For each dit, IVSFAB<MBStencil> *m_stencils[dit] lives on IntVectSet m_ghostCells[dit] and has 1 component, containing the stencil for each extra-block ghost cell of m_grids[dit].

Referenced by stencils().

vector interpolation stencils

For each dit, IVSFAB<MBVectorStencil> *m_vectorstencils[dit] lives on IntVectSet m_ghostCells[dit] and has 1 component, containing the vector stencil for each extra-block ghost cell of m_grids[dit].

Referenced by vectorstencils().

for each source block, min Box containing valid cells

For each srcBlock and dit, Box (*(m_validLayout[srcBlock]))[dit] is the minimum Box containing all valid cells that are needed to fill in the ghost cells of m_ghostCells[dit].

Copier *m_copiers[srcBlock] for copying from m_grids to BoxLayout *m_validLayout[srcBlock].


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

Generated on Thu Nov 23 03:27:23 2017 for Chombo + EB + MF by  doxygen 1.5.5