Overture  Version 25
Macros | Functions
checkOverlappingGrid.C File Reference
#include "Overture.h"
#include "ParallelUtility.h"
#include "ParallelGridUtility.h"
#include "Ogen.h"
Include dependency graph for checkOverlappingGrid.C:

Macros

#define GET_LOCAL(type, xd, xs)   type ## SerialArray & xs = xd
 
#define GET_LOCAL_CONST(type, xd, xs)   const type ## SerialArray & xs = xd
 
#define ForBoundary(side, axis)
 
#define FOR_3(i1, i2, i3, I1, I2, I3)
 
#define FOR_3D(i1, i2, i3, I1, I2, I3)
 
#define iab(side, axis)   ab[(axis)][(side)]
 
#define boundaryCondition(i0, i1)   boundaryConditionp[i0+2*(i1)]
 
#define boundaryDiscretizationWidth(i0, i1)   boundaryDiscretizationWidthp[i0+2*(i1)]
 
#define extendedIndexRange(i0, i1)   eirp[i0+2*(i1)]
 
#define discretizationWidth(i0)   dwp[i0]
 
#define isPeriodic(i0)   isPeriodicp[i0]
 
#define mask(i0, i1, i2)   maskgp[i0+maskgDim0*(i1+maskgDim1*(i2))]
 
#define iab(side, axis)   ab[(axis)][(side)]
 
#define boundaryCondition(i0, i1)   boundaryConditionp[i0+2*(i1)]
 
#define boundaryDiscretizationWidth(i0, i1)   boundaryDiscretizationWidthp[i0+2*(i1)]
 
#define extendedIndexRange(i0, i1)   eirp[i0+2*(i1)]
 
#define discretizationWidth(i0)   dwp[i0]
 
#define isPeriodic(i0)   isPeriodicp[i0]
 
#define mask(i0, i1, i2)   maskgp[i0+maskgDim0*(i1+maskgDim1*(i2))]
 
#define MASK(i0, i1, i2)   maskp[i0+maskDim0*(i1+maskDim1*(i2))]
 
#define MASK3A(i1, i2, i3)   MASK(i1-1,i2,i3)==0 || MASK(i1,i2,i3)==0 || MASK(i1+1,i2,i3)==0
 
#define MASK3B(i1, i2, i3)   MASK3A(i1,i2-1,i3)==0 || MASK3A(i1,i2,i3)==0 || MASK3A(i1,i2+1,i3)==0
 
#define MASK3C(i1, i2, i3)   MASK3B(i1,i2,i3-1)==0 || MASK3B(i1,i2,i3)==0 || MASK3B(i1,i2,i3+1)==0
 
#define MASK5A(i1, i2, i3)   MASK(i1-2,i2,i3)==0 || MASK(i1-1,i2,i3)==0 || MASK(i1,i2,i3)==0 || MASK(i1+1,i2,i3)==0 || MASK(i1+2,i2,i3)==0
 
#define MASK5B(i1, i2, i3)   MASK5A(i1,i2-2,i3)==0 || MASK5A(i1,i2-1,i3)==0 || MASK5A(i1,i2,i3)==0 || MASK5A(i1,i2+1,i3)==0 || MASK5A(i1,i2+2,i3)==0
 
#define MASK5C(i1, i2, i3)   MASK5B(i1,i2,i3-2)==0 || MASK5B(i1,i2,i3-1)==0 || MASK5B(i1,i2,i3)==0 || MASK5B(i1,i2,i3+1)==0 || MASK5B(i1,i2,i3+2)==0
 
#define MASK7A(i1, i2, i3)   MASK(i1-3,i2,i3)==0 || MASK(i1-2,i2,i3)==0 || MASK(i1-1,i2,i3)==0 || MASK(i1,i2,i3)==0 || MASK(i1+1,i2,i3)==0 || MASK(i1+2,i2,i3)==0 || MASK(i1+3,i2,i3)==0
 
#define MASK7B(i1, i2, i3)   MASK7A(i1,i2-3,i3)==0 || MASK7A(i1,i2-2,i3)==0 || MASK7A(i1,i2-1,i3)==0 || MASK7A(i1,i2,i3)==0 || MASK7A(i1,i2+1,i3)==0 || MASK7A(i1,i2+2,i3)==0 || MASK7A(i1,i2+3,i3)==0
 
#define MASK7C(i1, i2, i3)   MASK7B(i1,i2,i3-3)==0 || MASK7B(i1,i2,i3-2)==0 || MASK7B(i1,i2,i3-1)==0 || MASK7B(i1,i2,i3)==0 || MASK7B(i1,i2,i3+1)==0 || MASK7B(i1,i2,i3+2)==0 || MASK7B(i1,i2,i3+3)==0
 
#define MASK9A(i1, i2, i3)   MASK(i1-4,i2,i3)==0 || MASK(i1-3,i2,i3)==0 || MASK(i1-2,i2,i3)==0 || MASK(i1-1,i2,i3)==0 || MASK(i1,i2,i3)==0 || MASK(i1+1,i2,i3)==0 || MASK(i1+2,i2,i3)==0 || MASK(i1+3,i2,i3)==0 || MASK(i1+4,i2,i3)==0
 
#define MASK9B(i1, i2, i3)   MASK9A(i1,i2-4,i3)==0 || MASK9A(i1,i2-3,i3)==0 || MASK9A(i1,i2-2,i3)==0 || MASK9A(i1,i2-1,i3)==0 || MASK9A(i1,i2,i3)==0 || MASK9A(i1,i2+1,i3)==0 || MASK9A(i1,i2+2,i3)==0 || MASK9A(i1,i2+3,i3)==0 || MASK9A(i1,i2+4,i3)==0
 
#define MASK9C(i1, i2, i3)   MASK9B(i1,i2,i3-4)==0 || MASK9B(i1,i2,i3-3)==0 || MASK9B(i1,i2,i3-2)==0 || MASK9B(i1,i2,i3-1)==0 || MASK9B(i1,i2,i3)==0 || MASK9B(i1,i2,i3+1)==0 || MASK9B(i1,i2,i3+2)==0 || MASK9B(i1,i2,i3+3)==0 || MASK9B(i1,i2,i3+4)==0
 

Functions

int checkOverlappingGrid (const CompositeGrid &cg, const int &option, bool onlyCheckBaseGrids)
 

Macro Definition Documentation

#define boundaryCondition (   i0,
  i1 
)    boundaryConditionp[i0+2*(i1)]
#define boundaryCondition (   i0,
  i1 
)    boundaryConditionp[i0+2*(i1)]
#define boundaryDiscretizationWidth (   i0,
  i1 
)    boundaryDiscretizationWidthp[i0+2*(i1)]
#define boundaryDiscretizationWidth (   i0,
  i1 
)    boundaryDiscretizationWidthp[i0+2*(i1)]
#define discretizationWidth (   i0)    dwp[i0]
#define discretizationWidth (   i0)    dwp[i0]
#define extendedIndexRange (   i0,
  i1 
)    eirp[i0+2*(i1)]
#define extendedIndexRange (   i0,
  i1 
)    eirp[i0+2*(i1)]
#define FOR_3 (   i1,
  i2,
  i3,
  I1,
  I2,
  I3 
)
Value:
I1Base=I1.getBase(); I2Base=I2.getBase(); I3Base=I3.getBase();\
I1Bound=I1.getBound(); I2Bound=I2.getBound(); I3Bound=I3.getBound();\
for( i3=I3Base; i3<=I3Bound; i3++ ) \
for( i2=I2Base; i2<=I2Bound; i2++ ) \
for( i1=I1Base; i1<=I1Bound; i1++ )
#define FOR_3D (   i1,
  i2,
  i3,
  I1,
  I2,
  I3 
)
Value:
int I1Base,I2Base,I3Base;\
int I1Bound,I2Bound,I3Bound;\
I1Base=I1.getBase(); I2Base=I2.getBase(); I3Base=I3.getBase();\
I1Bound=I1.getBound(); I2Bound=I2.getBound(); I3Bound=I3.getBound();\
for( i3=I3Base; i3<=I3Bound; i3++ ) \
for( i2=I2Base; i2<=I2Bound; i2++ ) \
for( i1=I1Base; i1<=I1Bound; i1++ )

Referenced by checkOverlappingGrid().

#define ForBoundary (   side,
  axis 
)
Value:
for( int axis=0; axis<mg.numberOfDimensions(); axis++ ) \
for( int side=0; side<=1; side++ )

Referenced by checkOverlappingGrid().

#define GET_LOCAL (   type,
  xd,
  xs 
)    type ## SerialArray & xs = xd
#define GET_LOCAL_CONST (   type,
  xd,
  xs 
)    const type ## SerialArray & xs = xd

Referenced by checkOverlappingGrid().

#define iab (   side,
  axis 
)    ab[(axis)][(side)]
#define iab (   side,
  axis 
)    ab[(axis)][(side)]
#define isPeriodic (   i0)    isPeriodicp[i0]
#define isPeriodic (   i0)    isPeriodicp[i0]
#define mask (   i0,
  i1,
  i2 
)    maskgp[i0+maskgDim0*(i1+maskgDim1*(i2))]
#define mask (   i0,
  i1,
  i2 
)    maskgp[i0+maskgDim0*(i1+maskgDim1*(i2))]
#define MASK (   i0,
  i1,
  i2 
)    maskp[i0+maskDim0*(i1+maskDim1*(i2))]
#define MASK3A (   i1,
  i2,
  i3 
)    MASK(i1-1,i2,i3)==0 || MASK(i1,i2,i3)==0 || MASK(i1+1,i2,i3)==0
#define MASK3B (   i1,
  i2,
  i3 
)    MASK3A(i1,i2-1,i3)==0 || MASK3A(i1,i2,i3)==0 || MASK3A(i1,i2+1,i3)==0

Referenced by checkOverlappingGrid().

#define MASK3C (   i1,
  i2,
  i3 
)    MASK3B(i1,i2,i3-1)==0 || MASK3B(i1,i2,i3)==0 || MASK3B(i1,i2,i3+1)==0

Referenced by checkOverlappingGrid().

#define MASK5A (   i1,
  i2,
  i3 
)    MASK(i1-2,i2,i3)==0 || MASK(i1-1,i2,i3)==0 || MASK(i1,i2,i3)==0 || MASK(i1+1,i2,i3)==0 || MASK(i1+2,i2,i3)==0
#define MASK5B (   i1,
  i2,
  i3 
)    MASK5A(i1,i2-2,i3)==0 || MASK5A(i1,i2-1,i3)==0 || MASK5A(i1,i2,i3)==0 || MASK5A(i1,i2+1,i3)==0 || MASK5A(i1,i2+2,i3)==0

Referenced by checkOverlappingGrid().

#define MASK5C (   i1,
  i2,
  i3 
)    MASK5B(i1,i2,i3-2)==0 || MASK5B(i1,i2,i3-1)==0 || MASK5B(i1,i2,i3)==0 || MASK5B(i1,i2,i3+1)==0 || MASK5B(i1,i2,i3+2)==0

Referenced by checkOverlappingGrid().

#define MASK7A (   i1,
  i2,
  i3 
)    MASK(i1-3,i2,i3)==0 || MASK(i1-2,i2,i3)==0 || MASK(i1-1,i2,i3)==0 || MASK(i1,i2,i3)==0 || MASK(i1+1,i2,i3)==0 || MASK(i1+2,i2,i3)==0 || MASK(i1+3,i2,i3)==0
#define MASK7B (   i1,
  i2,
  i3 
)    MASK7A(i1,i2-3,i3)==0 || MASK7A(i1,i2-2,i3)==0 || MASK7A(i1,i2-1,i3)==0 || MASK7A(i1,i2,i3)==0 || MASK7A(i1,i2+1,i3)==0 || MASK7A(i1,i2+2,i3)==0 || MASK7A(i1,i2+3,i3)==0

Referenced by checkOverlappingGrid().

#define MASK7C (   i1,
  i2,
  i3 
)    MASK7B(i1,i2,i3-3)==0 || MASK7B(i1,i2,i3-2)==0 || MASK7B(i1,i2,i3-1)==0 || MASK7B(i1,i2,i3)==0 || MASK7B(i1,i2,i3+1)==0 || MASK7B(i1,i2,i3+2)==0 || MASK7B(i1,i2,i3+3)==0

Referenced by checkOverlappingGrid().

#define MASK9A (   i1,
  i2,
  i3 
)    MASK(i1-4,i2,i3)==0 || MASK(i1-3,i2,i3)==0 || MASK(i1-2,i2,i3)==0 || MASK(i1-1,i2,i3)==0 || MASK(i1,i2,i3)==0 || MASK(i1+1,i2,i3)==0 || MASK(i1+2,i2,i3)==0 || MASK(i1+3,i2,i3)==0 || MASK(i1+4,i2,i3)==0
#define MASK9B (   i1,
  i2,
  i3 
)    MASK9A(i1,i2-4,i3)==0 || MASK9A(i1,i2-3,i3)==0 || MASK9A(i1,i2-2,i3)==0 || MASK9A(i1,i2-1,i3)==0 || MASK9A(i1,i2,i3)==0 || MASK9A(i1,i2+1,i3)==0 || MASK9A(i1,i2+2,i3)==0 || MASK9A(i1,i2+3,i3)==0 || MASK9A(i1,i2+4,i3)==0

Referenced by checkOverlappingGrid().

#define MASK9C (   i1,
  i2,
  i3 
)    MASK9B(i1,i2,i3-4)==0 || MASK9B(i1,i2,i3-3)==0 || MASK9B(i1,i2,i3-2)==0 || MASK9B(i1,i2,i3-1)==0 || MASK9B(i1,i2,i3)==0 || MASK9B(i1,i2,i3+1)==0 || MASK9B(i1,i2,i3+2)==0 || MASK9B(i1,i2,i3+3)==0 || MASK9B(i1,i2,i3+4)==0

Referenced by checkOverlappingGrid().

Function Documentation

int checkOverlappingGrid ( const CompositeGrid cg,
const int &  option,
bool  onlyCheckBaseGrids 
)

References assert, axis1, axis2, axis3, MappedGrid::boundaryCondition(), Ogen::canDiscretize(), CompositeGridData::canInterpolate(), Ogen::checkCanInterpolate(), ci, discretizationWidth, MappedGrid::discretizationWidth(), eir, End, CompositeGrid::epsilon(), MappedGrid::extendedIndexRange(), fabs(), FALSE, FOR_3D, ForBoundary, GET_LOCAL_CONST, getBoundaryIndex(), getIndex(), ParallelUtility::getLocalArrayBounds(), MappedGrid::getName(), ParallelUtility::getSum(), MappedGrid::gridIndexRange(), GenericGridCollection::gridNumber, MappedGrid::gridSpacing(), i2, ia, ig, il, MappedGrid::indexRange(), CompositeGrid::interpolationCoordinates, CompositeGridData::interpolationCoordinatesLocal, CompositeGrid::interpolationIsImplicit, CompositeGrid::interpolationPoint, CompositeGridData::interpolationPointLocal, CompositeGrid::interpolationStartEndIndex, CompositeGrid::interpoleeGrid, CompositeGridData::interpoleeGridLocal, CompositeGrid::interpoleeLocation, CompositeGridData::interpoleeLocationLocal, ip, MappedGrid::isCellCentered(), GridCollection::ISdiscretizationPoint, MappedGrid::ISdiscretizationPoint, GridCollection::ISghostPoint, GridCollection::ISinteriorBoundaryPoint, GridCollection::ISinterpolationPoint, GridCollection::ISreservedBit2, GridCollection::ISusedPoint, mask, MASK, MappedGrid::mask(), MASK3B, MASK3C, MASK5B, MASK5C, MASK7B, MASK7C, MASK9B, MASK9C, max(), CompositeGrid::multigridLevel, GenericGridCollection::numberOfBaseGrids(), GenericGridCollection::numberOfComponentGrids(), GridCollection::numberOfDimensions(), CompositeGrid::numberOfInterpolationPoints, CompositeGridData::numberOfInterpolationPointsLocal, GenericGridCollection::numberOfMultigridLevels(), OV_ABORT, printF(), px, R, CompositeGrid::rcData, REAL_EPSILON, Start, TRUE, GridCollection::USESbackupRules, CompositeGrid::variableInterpolationWidth, CompositeGridData::variableInterpolationWidthLocal, and viw.

Referenced by Ogmg::buildExtraLevels(), Ogmg::buildExtraLevelsNew(), Ogen::classifyPoints(), Ogen::computeOverlap(), getFromADataBase(), main(), Ogen::movingUpdate(), and Ogen::movingUpdateNew().