Overture
Version 25
|
Classes | |
struct | CanInterpolateQueryData |
struct | CanInterpolateResultData |
Functions | |
int | canInterpolate (CompositeGrid &cg, int numberToCheck, CanInterpolateQueryData *cid, CanInterpolateResultData *cir, const int numberOfValidGhost=0) |
int | canInterpolateOld (CompositeGrid &cg, int numberToCheck, CanInterpolateQueryData *cid, CanInterpolateResultData *cir, const int numberOfValidGhost=0) |
int | transferInterpDataForAMR (CompositeGrid &cg, intSerialArray *ipLocal, intSerialArray *ilLocal, realSerialArray *ciLocal) |
Logical | cgCanInterpolate (const Integer &k10, const Integer &k20, const RealArray &r, const IntegerArray &ok, const IntegerArray &useBackupRules, const Logical checkForOneSided, const CompositeGrid &cg, const IntegerArray &mask, int *pValidRange=NULL) |
Determine whether points on grid k1 (target) at r in the coordinates of grids k2 (donor) can be interpolated from grids k2 (donor). | |
void | getInterpolationStencil (const Integer &k10, const Integer &k20, const RealArray &r, const IntegerArray &interpolationStencil, const IntegerArray &useBackupRules, const CompositeGrid &cg, int *pValidRange=NULL) |
Determine the lower-left corner of the interpolation stencil. | |
int CanInterpolate::canInterpolate | ( | CompositeGrid & | cg, |
int | numberToCheck, | ||
CanInterpolateQueryData * | cid, | ||
CanInterpolateResultData * | cir, | ||
const int | numberOfValidGhost = 0 |
||
) |
References assert, cgCanInterpolate(), debug, dim, displayMask(), CanInterpolate::CanInterpolateQueryData::donor, fabs(), FALSE, getCPU(), getInterpolationStencil(), getLocalArrayWithGhostBoundaries(), ParallelUtility::getMaxValue(), gid, CanInterpolate::CanInterpolateQueryData::grid, gridSpacing, CanInterpolate::CanInterpolateQueryData::i, i2, iab, CanInterpolate::CanInterpolateQueryData::id, CanInterpolate::CanInterpolateResultData::id, CanInterpolate::CanInterpolateResultData::il, il, CompositeGrid::interpolationOverlap, CompositeGrid::interpolationWidth, isPeriodic, mask, max(), min(), MPI_Real, NULL, GridCollection::numberOfDimensions(), OV_ABORT, Overture::OV_COMM, q, CanInterpolate::CanInterpolateQueryData::rv, sPrintF(), validRange, and CanInterpolate::CanInterpolateResultData::width.
Referenced by Ogmg::buildExtraLevelsNew(), InterpolatePoints::buildInterpolationInfo(), InterpolatePointsOnAGrid::buildInterpolationInfo(), Ogen::checkCanInterpolate(), InterpolatePointsOnAGrid::findNearestValidGridPoint(), findNearestValidGridPoint(), interpolateRefinements(), and Ogen::updateRefinementFillInterpolationDataNew().
int CanInterpolate::canInterpolateOld | ( | CompositeGrid & | cg, |
int | numberToCheck, | ||
CanInterpolateQueryData * | cid, | ||
CanInterpolateResultData * | cir, | ||
const int | numberOfValidGhost = 0 |
||
) |
References assert, cgCanInterpolate(), debug, dim, displayMask(), CanInterpolate::CanInterpolateQueryData::donor, fabs(), FALSE, getCPU(), getInterpolationStencil(), getLocalArrayWithGhostBoundaries(), ParallelUtility::getMaxValue(), gid, CanInterpolate::CanInterpolateQueryData::grid, gridSpacing, CanInterpolate::CanInterpolateQueryData::i, i2, iab, CanInterpolate::CanInterpolateQueryData::id, CanInterpolate::CanInterpolateResultData::id, CanInterpolate::CanInterpolateResultData::il, il, CompositeGrid::interpolationOverlap, CompositeGrid::interpolationWidth, isPeriodic, mask, max(), min(), MPI_Real, NULL, GridCollection::numberOfDimensions(), OV_ABORT, Overture::OV_COMM, q, CanInterpolate::CanInterpolateQueryData::rv, sPrintF(), validRange, and CanInterpolate::CanInterpolateResultData::width.
Logical CanInterpolate::cgCanInterpolate | ( | const Integer & | k10, |
const Integer & | k20, | ||
const RealArray & | r, | ||
const IntegerArray & | ok, | ||
const IntegerArray & | useBackupRules, | ||
const Logical | checkForOneSided, | ||
const CompositeGrid & | cg, | ||
const IntegerArray & | mask, | ||
int * | pValidRange = NULL |
||
) |
Determine whether points on grid k1 (target) at r in the coordinates of grids k2 (donor) can be interpolated from grids k2 (donor).
: pointer to an array validRange(2,3) which defines the valid index range of points that can be used for interpolation. Normally this is cg[k20].extendedRange
: wdh 091118 : added validRange so we can interpolate from ghost points.
References Overture::abort(), assert, MappedGrid::boundaryCondition(), GenericGridCollection::componentGridNumber, COMPOSITE_GRID_FOR_3, MappedGrid::dimension(), MappedGrid::discretizationWidth(), CompositeGridData::epsilon, MappedGrid::extendedRange(), fabs(), FALSE, g_boundaryCondition, g_discretizationWidth, g_gridSpacing, g_indexRange, g_isCellCentered, g_isPeriodic, g_mask, getInterpolationStencil(), MappedGrid::gridSpacing(), MappedGrid::I1(), i2, MappedGrid::I2(), MappedGrid::I3(), iab, iab2_, MappedGrid::indexRange(), CompositeGrid::interpolationOverlap, CompositeGrid::interpolationWidth, MappedGrid::isCellCentered(), GridCollection::ISinteriorBoundaryPoint, MappedGrid::isPeriodic(), GridCollection::ISusedPoint, iw0_, LogicalFalse, LogicalTrue, max(), max0(), min0(), GenericGridCollection::multigridLevelNumber, NULL, MappedGrid::numberOfDimensions(), GenericGridCollection::numberOfGrids(), ok_, ov0_, r, r_, Start, useBackupRules_, and validRange.
Referenced by canInterpolate(), canInterpolateOld(), Ogen::updateRefinementFillInterpolationData(), and Ogen::updateRefinementNew().
void CanInterpolate::getInterpolationStencil | ( | const Integer & | k10, |
const Integer & | k20, | ||
const RealArray & | r, | ||
const IntegerArray & | interpolationStencil, | ||
const IntegerArray & | useBackupRules, | ||
const CompositeGrid & | cg, | ||
int * | pValidRange = NULL |
||
) |
Determine the lower-left corner of the interpolation stencil.
: If the coordinates r(i,0:d-1) lie outside the extendedIndexRange then a value of INT_MAX is returned in the interpolationStencil.
: pointer to an array validRange(2,3) which defines the valid index range of points that can be used for interpolation. Normally this is cg[k2].extendedRange
: wdh 091118 : added validRange so we can interpolate from ghost points.
References MappedGrid::boundaryCondition(), GenericGridCollection::componentGridNumber, CompositeGridData::epsilon, MappedGrid::extendedRange(), g_boundaryCondition, g_gridSpacing, g_indexRange, g_isCellCentered, g_isPeriodic, MappedGrid::gridSpacing(), MappedGrid::indexRange(), INTEGER_MAX, interpolationStencil_, CompositeGrid::interpolationWidth, MappedGrid::isCellCentered(), MappedGrid::isPeriodic(), iw0_, GenericGridCollection::multigridLevelNumber, NULL, MappedGrid::numberOfDimensions(), r, r_, useBackupRules_, and validRange.
Referenced by canInterpolate(), canInterpolateOld(), and cgCanInterpolate().
int CanInterpolate::transferInterpDataForAMR | ( | CompositeGrid & | cg, |
intSerialArray * | ipLocal, | ||
intSerialArray * | ilLocal, | ||
realSerialArray * | ciLocal | ||
) |
References Overture::abort(), assert, axis1, axis2, IndexBox::base(), IndexBox::bound(), ci, debug, Mapping::functionPeriodic, getCPU(), ListOfIntDistributedArray::getLength(), CopyArray::getLocalArrayBox(), ParallelUtility::getMaxValue(), MappedGrid::gridIndexRange(), GenericGridCollection::gridNumber, ig, CompositeGrid::interpolationCoordinates, CompositeGridData::interpolationCoordinatesLocal, CompositeGrid::interpolationPoint, CompositeGridData::interpolationPointLocal, CompositeGrid::interpoleeGrid, CompositeGridData::interpoleeGridLocal, ip, IndexBox::isEmpty(), isPeriodic, MappedGrid::isPeriodic(), CompositeGridData::localInterpolationDataForAll, CompositeGridData::localInterpolationDataState, mask, max(), MPI_Real, NULL, GenericGridCollection::numberOfBaseGrids(), GenericGridCollection::numberOfComponentGrids(), GridCollection::numberOfDimensions(), GenericGridCollection::numberOfRefinementLevels(), Overture::OV_COMM, printF(), GridCollection::refinementFactor, and GridCollection::refinementLevel.
Referenced by Ogen::updateRefinementFillInterpolationDataNew().