#include <Proto_MBInterpLayout.H>
|
| MBInterpLayout () |
|
| MBInterpLayout (const MBDisjointBoxLayout &layout, int order=4) |
|
void | addPointToBaseFootprint (Point a_point) |
|
void | ignoreAxis (int dir) |
| Modifies the base footprint so that the designated axis is ignored. More...
|
|
bool | isIgnoredAxis (int dir) const |
|
void | setCopy (int a_dir, bool a_flag) |
| Allows stencils produced with this layout to be copied along the designated axis (optimization) More...
|
|
bool | isCopied (int a_dir) const |
|
std::set< Point > | baseFootprint () const |
| Returns the set of shifts that would be used in the bulk of a regular grid. More...
|
|
template<typename MAP , MemType MEM> |
std::set< Point > | footprint (Point point, MBIndex index, const MBLevelMap< MAP, MEM > &map) const |
| Returns the modified base footprint, adding extra points for dealing with boundaries. More...
|
|
template<typename MAP , MemType MEM> |
std::vector< MBDataPoint > | computeSourcePoints (const MBLevelMap< MAP, MEM > &map, Point center, MBIndex index, int minSources) const |
| Converts a set of shifts (footprint) into a set of MBDataPoint used to access data for interpolation. More...
|
|
Point | footprintMask () const |
| Return contains 1 for axes participating in interpolation and 0 for axes not participating. More...
|
|
Box | footprintSpan () const |
| Returns the span of the base footprint (for 4th order this should be Box::Kernel(2) if no axes are ignored) More...
|
|
const MBDisjointBoxLayout & | layout () const |
|
|
Point | applyIgnoredAxes (Point basePoint, Point sourcePoint) const |
|
template<typename MAP , MemType MEM> |
void | addRedundantBoundarySources (MBIndex localIndex, std::set< MBDataPoint > &sourcePoints, const MBLevelMap< MAP, MEM > &map) const |
|
void | addTriplePointFootprint (std::set< Point > &footprint, Point center, Point triplePointBoundary, MBIndex index) const |
|
void | addBoundaryFootprint (std::set< Point > &footprint, Point center, MBIndex index) const |
|
void | removeDomainBoundaryPoints (std::set< Point > &footprint, Point center, MBIndex index) const |
|
void | removeTriplePointPoints (std::set< Point > &footprint, Point center, MBIndex index) const |
|
void | addInwardPoints (std::set< Point > &footprint, MBIndex index) const |
|
void | augmentFootprint (Point shift, std::set< Point > &augmentedFootprint, const std::set< Point > &footprint) const |
|
template<typename MAP , MemType MEM> |
bool | addSourceFromShiftedPoint (Point shiftedPoint, std::set< MBDataPoint > &sources, const MBLevelMap< MAP, MEM > &map, MBIndex index) const |
|
template<typename MAP , MemType MEM> |
bool | addSourcePoint (std::set< MBDataPoint > &sourcePoints, Point localPoint, MBIndex localIndex, Point sourcePoint, MBIndex sourceIndex, const MBLevelMap< MAP, MEM > &map) const |
|
template<typename MAP , MemType MEM> |
void | addSourcePointsNear (Point centerPoint, MBIndex centerIndex, MBIndex localIndex, std::set< MBDataPoint > &sourcePoints, const MBLevelMap< MAP, MEM > &map) const |
|
void | removeSourcePointsNear (Point trueCenterPoint, int numSourcesToKeep, std::set< MBDataPoint > &sourcePoints) const |
|
◆ MBInterpLayout() [1/2]
Proto::MBInterpLayout::MBInterpLayout |
( |
| ) |
|
|
inline |
◆ MBInterpLayout() [2/2]
◆ addPointToBaseFootprint()
void Proto::MBInterpLayout::addPointToBaseFootprint |
( |
Point |
a_point | ) |
|
|
inline |
◆ ignoreAxis()
void Proto::MBInterpLayout::ignoreAxis |
( |
int |
dir | ) |
|
|
inline |
Modifies the base footprint so that the designated axis is ignored.
- Parameters
-
dir | The axis to be ignored |
Referenced by addPointToBaseFootprint().
◆ isIgnoredAxis()
bool Proto::MBInterpLayout::isIgnoredAxis |
( |
int |
dir | ) |
const |
|
inline |
◆ setCopy()
void Proto::MBInterpLayout::setCopy |
( |
int |
a_dir, |
|
|
bool |
a_flag |
|
) |
| |
|
inline |
Allows stencils produced with this layout to be copied along the designated axis (optimization)
- Parameters
-
References m_copyAxes.
◆ isCopied()
bool Proto::MBInterpLayout::isCopied |
( |
int |
a_dir | ) |
const |
|
inline |
◆ baseFootprint()
std::set<Point> Proto::MBInterpLayout::baseFootprint |
( |
| ) |
const |
|
inline |
Returns the set of shifts that would be used in the bulk of a regular grid.
- Returns
References m_baseFootprint.
◆ footprint()
template<typename MAP , MemType MEM>
Returns the modified base footprint, adding extra points for dealing with boundaries.
- Parameters
-
point | The "center" of the stencil. This is the point being interpolated to |
index | The index of the patch which contains point (in its ghost region) |
- Returns
Referenced by layout().
◆ computeSourcePoints()
template<typename MAP , MemType MEM>
Converts a set of shifts (footprint) into a set of MBDataPoint used to access data for interpolation.
- Parameters
-
footprint | The set of shifts returned from this->footprint above |
map | Used to convert local index space points into points in adjacent blocks as needed |
center | The point being interpolated to |
index | The index of the patch containing center |
minSources | The minimum number of sources needed for operator to be fully determined |
- Returns
◆ footprintMask()
Point Proto::MBInterpLayout::footprintMask |
( |
| ) |
const |
|
inline |
Return contains 1 for axes participating in interpolation and 0 for axes not participating.
- Returns
◆ footprintSpan()
Box Proto::MBInterpLayout::footprintSpan |
( |
| ) |
const |
|
inline |
Returns the span of the base footprint (for 4th order this should be Box::Kernel(2) if no axes are ignored)
- Returns
Referenced by isIgnoredAxis().
◆ layout()
References addBoundaryFootprint(), addInwardPoints(), addRedundantBoundarySources(), addTriplePointFootprint(), applyIgnoredAxes(), augmentFootprint(), footprint(), index, m_layout, removeDomainBoundaryPoints(), and removeTriplePointPoints().
Referenced by MBInterpLayout().
◆ applyIgnoredAxes()
Point Proto::MBInterpLayout::applyIgnoredAxes |
( |
Point |
basePoint, |
|
|
Point |
sourcePoint |
|
) |
| const |
|
inlineprivate |
◆ addRedundantBoundarySources()
template<typename MAP , MemType MEM>
void Proto::MBInterpLayout::addRedundantBoundarySources |
( |
MBIndex |
localIndex, |
|
|
std::set< MBDataPoint > & |
sourcePoints, |
|
|
const MBLevelMap< MAP, MEM > & |
map |
|
) |
| const |
|
inlineprivate |
◆ addTriplePointFootprint()
void Proto::MBInterpLayout::addTriplePointFootprint |
( |
std::set< Point > & |
footprint, |
|
|
Point |
center, |
|
|
Point |
triplePointBoundary, |
|
|
MBIndex |
index |
|
) |
| const |
|
inlineprivate |
◆ addBoundaryFootprint()
void Proto::MBInterpLayout::addBoundaryFootprint |
( |
std::set< Point > & |
footprint, |
|
|
Point |
center, |
|
|
MBIndex |
index |
|
) |
| const |
|
inlineprivate |
◆ removeDomainBoundaryPoints()
void Proto::MBInterpLayout::removeDomainBoundaryPoints |
( |
std::set< Point > & |
footprint, |
|
|
Point |
center, |
|
|
MBIndex |
index |
|
) |
| const |
|
inlineprivate |
◆ removeTriplePointPoints()
void Proto::MBInterpLayout::removeTriplePointPoints |
( |
std::set< Point > & |
footprint, |
|
|
Point |
center, |
|
|
MBIndex |
index |
|
) |
| const |
|
inlineprivate |
◆ addInwardPoints()
void Proto::MBInterpLayout::addInwardPoints |
( |
std::set< Point > & |
footprint, |
|
|
MBIndex |
index |
|
) |
| const |
|
inlineprivate |
◆ augmentFootprint()
void Proto::MBInterpLayout::augmentFootprint |
( |
Point |
shift, |
|
|
std::set< Point > & |
augmentedFootprint, |
|
|
const std::set< Point > & |
footprint |
|
) |
| const |
|
inlineprivate |
◆ addSourceFromShiftedPoint()
template<typename MAP , MemType MEM>
bool Proto::MBInterpLayout::addSourceFromShiftedPoint |
( |
Point |
shiftedPoint, |
|
|
std::set< MBDataPoint > & |
sources, |
|
|
const MBLevelMap< MAP, MEM > & |
map, |
|
|
MBIndex |
index |
|
) |
| const |
|
inlineprivate |
◆ addSourcePoint()
template<typename MAP , MemType MEM>
◆ addSourcePointsNear()
template<typename MAP , MemType MEM>
◆ removeSourcePointsNear()
void Proto::MBInterpLayout::removeSourcePointsNear |
( |
Point |
trueCenterPoint, |
|
|
int |
numSourcesToKeep, |
|
|
std::set< MBDataPoint > & |
sourcePoints |
|
) |
| const |
|
inlineprivate |
◆ m_layout
◆ m_baseFootprint
std::set<Point> Proto::MBInterpLayout::m_baseFootprint |
|
private |
◆ m_copyAxes
Array<bool, DIM> Proto::MBInterpLayout::m_copyAxes |
|
private |
The documentation for this class was generated from the following file: