11 #ifndef _MULTIBLOCKLEVELEXCHANGE_H_ 12 #define _MULTIBLOCKLEVELEXCHANGE_H_ 19 #include "NamespaceHeader.H" 220 #include "NamespaceFooter.H" The class MultiBlockLevelGeom stores topological and geometric information.
Definition: MultiBlockLevelGeom.H:29
Vector< IntVect > m_powers
powers in Taylor polynomial
Definition: MultiBlockLevelExchange.H:143
int m_degree
degree of Taylor polynomials
Definition: MultiBlockLevelExchange.H:137
Vector< RefCountedPtr< LayoutData< Box > > > m_stencilCellsFullMinBox
Definition: MultiBlockLevelExchange.H:210
MultiBlockCoordSys * m_coordSysPtr
contains coordinate systems; from m_geomPtr
Definition: MultiBlockLevelExchange.H:152
MultiBlockLevelGeom * m_geomPtr
contains topological and geometric information
Definition: MultiBlockLevelExchange.H:149
#define CH_assert(cond)
Definition: CHArray.H:37
Vector< int > m_interpDimsVect
dimensions that are not fixed. Default 0:SpaceDim-1.
Definition: MultiBlockLevelExchange.H:170
virtual void defineVector()
must be in the derived class, else error when calling.
LayoutData< RefCountedPtr< IVSFAB< MBStencil > > > m_stencils
interpolation stencils
Definition: MultiBlockLevelExchange.H:187
LayoutData< RefCountedPtr< IVSFAB< MBVectorStencil > > > m_vectorstencils
vector interpolation stencils
Definition: MultiBlockLevelExchange.H:195
const LayoutData< IntVectSet > & ghostCells() const
accessor
Definition: MultiBlockLevelExchange.H:75
A not-necessarily-disjoint collective of boxes.
Definition: BoxLayout.H:145
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
int m_order
order of approximation wanted
Definition: MultiBlockLevelExchange.H:131
virtual void interpGhostsVector(LevelData< FArrayBox > &a_data) const
fill extra-block ghost cells of vector a_data at all components
LayoutData< IntVectSet > m_ghostCells
extra-block ghost cells of m_grids that need to be filled in
Definition: MultiBlockLevelExchange.H:161
Vector< int > m_fixedPt
fixed values of dimensions that are fixed. Default empty.
Definition: MultiBlockLevelExchange.H:173
bool m_isDefined
is defined?
Definition: MultiBlockLevelExchange.H:116
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 ...
The class MultiBlockLevelExchange stores topological and geometric information.
Definition: MultiBlockLevelExchange.H:29
bool isDefined() const
Definition: MultiBlockLevelExchange.H:105
BoxLayout m_gridsFixedOff
displacement of original underlying grids from m_grids: 0 in m_interpDimsVect but varying in m_fixedD...
Definition: MultiBlockLevelExchange.H:176
DisjointBoxLayout m_gridsFull
original underlying grids
Definition: MultiBlockLevelExchange.H:155
bool m_isVectorDefined
is defined for vector transformations?
Definition: MultiBlockLevelExchange.H:119
int m_nblocks
Number of mapping blocks.
Definition: MultiBlockLevelExchange.H:158
Box m_degreeBox
[0:m_degree]^D
Definition: MultiBlockLevelExchange.H:140
Vector< BoxLayout * > m_validLayout
for each source block, min Box containing valid cells
Definition: MultiBlockLevelExchange.H:204
const LayoutData< RefCountedPtr< IVSFAB< MBStencil > > > & stencils() const
accessor
Definition: MultiBlockLevelExchange.H:88
Vector< Copier * > m_copiers
Copier *m_copiers[srcBlock] for copying from m_grids to BoxLayout *m_validLayout[srcBlock].
Definition: MultiBlockLevelExchange.H:213
Structure for passing component ranges in code.
Definition: Interval.H:23
virtual ~MultiBlockLevelExchange()
destructor
virtual void removeNoValidSource()
remove from m_ghostCells all cells that do not have complete stencils.
Vector< RefCountedPtr< LayoutData< Box > > > m_stencilCellsMinBox
Definition: MultiBlockLevelExchange.H:208
int m_ghosts
width of ghost layer around m_grids, at which data will be filled in
Definition: MultiBlockLevelExchange.H:128
A BoxLayout that has a concept of disjointedness.
Definition: DisjointBoxLayout.H:30
Vector< Copier * > m_copiersFull
Definition: MultiBlockLevelExchange.H:215
virtual interface class encapsulating multi-block mapping API
Definition: MultiBlockCoordSys.H:34
Vector< BoxLayout * > m_validFullLayout
Definition: MultiBlockLevelExchange.H:206
Vector< int > m_fixedDimsVect
dimensions that are fixed. Default empty.
Definition: MultiBlockLevelExchange.H:167
MultiBlockLevelExchange()
default constructor
Definition: MultiBlockLevelExchange.H:35
The class MultiBlockUtil contains some functions used by MultiBlockLevelGeom, MultiBlockLevelExchange...
Definition: MultiBlockUtil.H:23
A Rectangular Domain on an Integer Lattice.
Definition: Box.H:469
virtual void define(const MultiBlockLevelGeom *a_geomPtr, int a_ghosts, int a_order)
int m_radius
radius of neighborhood of data used for interpolation to ghost cell
Definition: MultiBlockLevelExchange.H:134
const LayoutData< RefCountedPtr< IVSFAB< MBVectorStencil > > > & vectorstencils() const
accessor
Definition: MultiBlockLevelExchange.H:101
int m_numTaylorCoeffs
number of coefficients in Taylor polynomial
Definition: MultiBlockLevelExchange.H:146
Cell-Based or Node-Based Indices.
Definition: Box.H:45
MultiBlockUtil * m_mbUtil
Definition: MultiBlockLevelExchange.H:217
DisjointBoxLayout m_grids
underlying grids
Definition: MultiBlockLevelExchange.H:125
bool m_allGridsHaveFixedPt
whether all original underlying grids contain m_fixedPt in m_fixedDimsVect
Definition: MultiBlockLevelExchange.H:179
Interval m_fixedDims
interval of dimensions that are fixed. Default empty.
Definition: MultiBlockLevelExchange.H:164
IndexType m_type
either IndexType::TheCellType() for averaged, or IndexType::TheNodeType() for centered ...
Definition: MultiBlockLevelExchange.H:122