11 #ifndef _MULTIBLOCKLEVELCOPIER_H_ 12 #define _MULTIBLOCKLEVELCOPIER_H_ 19 #include "NamespaceHeader.H" 240 #include "NamespaceFooter.H" virtual void copyToVector(const LevelData< FArrayBox > &a_src, BoxLayoutData< FArrayBox > &a_dst) const
copy from a_src to extra-block cells of vector a_dst at all components
LayoutData< RefCountedPtr< IVSFAB< MBStencil > > > m_stencils
interpolation stencils
Definition: MultiBlockLevelCopier.H:207
The class MultiBlockLevelGeom stores topological and geometric information.
Definition: MultiBlockLevelGeom.H:29
MultiBlockLevelCopier()
default constructor
Definition: MultiBlockLevelCopier.H:36
Vector< RefCountedPtr< LayoutData< Box > > > m_stencilCellsMinBox
Definition: MultiBlockLevelCopier.H:228
#define CH_assert(cond)
Definition: CHArray.H:37
Vector< BoxLayout * > m_validFullLayout
Definition: MultiBlockLevelCopier.H:226
const LayoutData< IntVectSet > & extraCells() const
accessor
Definition: MultiBlockLevelCopier.H:92
MultiBlockLevelGeom * m_geomPtr
contains topological and geometric information
Definition: MultiBlockLevelCopier.H:161
A not-necessarily-disjoint collective of boxes.
Definition: BoxLayout.H:145
Interval m_fixedDims
interval of dimensions that are fixed. Default empty.
Definition: MultiBlockLevelCopier.H:187
The class MultiBlockLevelCopier stores topological and geometric information.
Definition: MultiBlockLevelCopier.H:30
virtual void copyToAllWithVector(const LevelData< FArrayBox > &a_src, BoxLayoutData< FArrayBox > &a_dst, const Interval &a_vecIntvl) const
copy from a_src to extra-block cells of a_dst at all components where a_vecIntvl is interval of compo...
Vector< RefCountedPtr< LayoutData< Box > > > m_stencilCellsFullMinBox
Definition: MultiBlockLevelCopier.H:230
LayoutData< RefCountedPtr< IVSFAB< MBVectorStencil > > > m_vectorstencils
vector interpolation stencils
Definition: MultiBlockLevelCopier.H:215
LayoutData< IVSFAB< RealVect > *> m_validMappedCenter
mapped coordinates, in valid block's index space, of center of each extra-block ghost cell...
Definition: MultiBlockLevelCopier.H:184
virtual void defineVector()
must be in the derived class, else error when calling.
virtual ~MultiBlockLevelCopier()
destructor
Vector< IntVect > m_powers
powers in Taylor polynomial
Definition: MultiBlockLevelCopier.H:155
LayoutData< int > m_blockNumbersDst
block number of base box of each box in m_dstLayout
Definition: MultiBlockLevelCopier.H:140
BoxLayout m_dstLayout
underlying destination grids
Definition: MultiBlockLevelCopier.H:131
int m_nblocks
Number of mapping blocks.
Definition: MultiBlockLevelCopier.H:167
DisjointBoxLayout m_srcLayout
underlying source grids
Definition: MultiBlockLevelCopier.H:126
BoxLayout m_gridsFixedOff
displacement from m_fixedPt of original underlying grids, 0 in m_interpDimsVect but varying in m_fixe...
Definition: MultiBlockLevelCopier.H:199
bool m_allGridsHaveFixedPt
whether all original underlying grids contain m_fixedPt in m_fixedDimsVect
Definition: MultiBlockLevelCopier.H:137
int m_numTaylorCoeffs
number of coefficients in Taylor polynomial
Definition: MultiBlockLevelCopier.H:158
LayoutData< IVSFAB< int > *> m_validBlock
index of the valid block in which the center of each extra-block ghost cell falls. Lives on m_extraCellsIVS, has 1 component.
Definition: MultiBlockLevelCopier.H:178
Structure for passing component ranges in code.
Definition: Interval.H:23
Box m_degreeBox
[0:m_degree]^D
Definition: MultiBlockLevelCopier.H:152
BoxLayout m_dstFixedOff
displacement of original destination layout from m_dstLayout: 0 in m_interpDimsVect but varying in m_...
Definition: MultiBlockLevelCopier.H:134
A BoxLayout that has a concept of disjointedness.
Definition: DisjointBoxLayout.H:30
DisjointBoxLayout m_srcFullLayout
Definition: MultiBlockLevelCopier.H:128
Vector< Copier * > m_copiers
Copier *m_copiers[srcBlock] for copying from m_grids to BoxLayout *m_validLayout[srcBlock].
Definition: MultiBlockLevelCopier.H:233
bool isDefined() const
Definition: MultiBlockLevelCopier.H:109
LayoutData< IntVectSet > m_extraCellsIVS
extra-block cells of m_dstLayout that need to be filled in, in the form of IntVectSets ...
Definition: MultiBlockLevelCopier.H:175
virtual interface class encapsulating multi-block mapping API
Definition: MultiBlockCoordSys.H:34
int m_degree
degree of Taylor polynomials
Definition: MultiBlockLevelCopier.H:149
Vector< int > m_fixedDimsVect
dimensions that are fixed. Default empty.
Definition: MultiBlockLevelCopier.H:190
bool m_isDefined
is defined?
Definition: MultiBlockLevelCopier.H:117
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
MultiBlockUtil * m_mbUtil
Definition: MultiBlockLevelCopier.H:237
bool m_isVectorDefined
is defined for vector transformations?
Definition: MultiBlockLevelCopier.H:120
LayoutData< IVSFAB< IntVect > *> m_validIndices
index of the valid cell in which each extra-block ghost cell falls. Lives on m_extraCellsIVS, has 1 component.
Definition: MultiBlockLevelCopier.H:181
Vector< int > m_interpDimsVect
dimensions that are not fixed. Default 0:SpaceDim-1.
Definition: MultiBlockLevelCopier.H:193
Vector< int > m_fixedPt
fixed values of dimensions that are fixed. Default empty.
Definition: MultiBlockLevelCopier.H:196
An integer Vector in SpaceDim-dimensional space.
Definition: CHArray.H:42
Cell-Based or Node-Based Indices.
Definition: Box.H:45
Vector< BoxLayout * > m_validLayout
for each source block, min Box containing valid cells
Definition: MultiBlockLevelCopier.H:224
int m_order
order of approximation wanted
Definition: MultiBlockLevelCopier.H:143
const LayoutData< RefCountedPtr< IVSFAB< MBStencil > > > & stencils() const
accessor
Definition: MultiBlockLevelCopier.H:105
Vector< Copier * > m_copiersFull
Definition: MultiBlockLevelCopier.H:235
MultiBlockCoordSys * m_coordSysPtr
contains coordinate systems; from m_geomPtr
Definition: MultiBlockLevelCopier.H:164
IndexType m_type
either IndexType::TheCellType() for averaged, or IndexType::TheNodeType() for centered ...
Definition: MultiBlockLevelCopier.H:123
int m_radius
radius of neighborhood of data used for interpolation to extra-block cell
Definition: MultiBlockLevelCopier.H:146
virtual void copyTo(const LevelData< FArrayBox > &a_src, BoxLayoutData< FArrayBox > &a_dst, const Interval &a_intvl) const
copy from a_src to extra-block cells of a_dst at components in a_intvl
virtual void define(const MultiBlockLevelGeom *a_geomPtr, const BoxLayout &a_dstLayout, int a_order)