Overture  Version 25
Macros | Functions
buildExtraLevelsNew.C File Reference
#include "Ogmg.h"
#include "display.h"
#include "Ogen.h"
#include "ParallelUtility.h"
#include "ParallelGridUtility.h"
#include "InterpolationData.h"
#include "CanInterpolate.h"
#include "LoadBalancer.h"
#include <algorithm>
Include dependency graph for buildExtraLevelsNew.C:

Macros

#define FOR_3(i1, i2, i3, I1, I2, I3)   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)   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++ )
 
#define INTERPOLEELOCATION(i0, i1)   interpoleeLocationp[i0+interpoleeLocationDim0*(i1)]
 
#define INTERPOLATIONPOINT(i0, i1)   interpolationPointp[i0+interpolationPointDim0*(i1)]
 
#define INTERPOLATIONCOORDINATES(i0, i1)   interpolationCoordinatesp[i0+interpolationCoordinatesDim0*(i1)]
 
#define INTERPOLEEGRID(i0)   interpoleeGridp[i0]
 
#define VARIABLEINTERPOLATIONWIDTH(i0)   variableInterpolationWidthp[i0]
 
#define INTERPOLEELOCATION1(i0, i1)   interpoleeLocation1p[i0+interpoleeLocation1Dim0*(i1)]
 
#define INTERPOLATIONPOINT1(i0, i1)   interpolationPoint1p[i0+interpolationPoint1Dim0*(i1)]
 
#define INTERPOLATIONCOORDINATES1(i0, i1)   interpolationCoordinates1p[i0+interpolationCoordinates1Dim0*(i1)]
 
#define INTERPOLEEGRID1(i0)   interpoleeGrid1p[i0]
 
#define VARIABLEINTERPOLATIONWIDTH1(i0)   variableInterpolationWidth1p[i0]
 
#define NG(i0)   ngp[i0]
 
#define GRIDSTART(i0)   gridStartp[i0]
 
#define MASK0(i0, i1, i2)   mask0p[i0+mask0Dim0*(i1+mask0Dim1*(i2))]
 
#define MASK1(i0, i1, i2)   mask1p[i0+mask1Dim0*(i1+mask1Dim1*(i2))]
 
#define eir(side, axis)   peir[(side)+2*(axis)]
 
#define X(i0, i1)   xp[i0+xDim0*(i1)]
 
#define R(i0, i1)   rp[i0+rDim0*(i1)]
 
#define CENTER00(i0, i1, i2)   (xab0[0][0]+dx0[0]*(i0-iv0[0]))
 
#define CENTER01(i0, i1, i2)   (xab0[0][1]+dx0[1]*(i1-iv0[1]))
 
#define CENTER02(i0, i1, i2)   (xab0[0][2]+dx0[2]*(i2-iv0[2]))
 
#define CENTER10(i0, i1, i2)   (xab1[0][0]+dx1[0]*(i0-iv1[0]))
 
#define CENTER11(i0, i1, i2)   (xab1[0][1]+dx1[1]*(i1-iv1[1]))
 
#define CENTER12(i0, i1, i2)   (xab1[0][2]+dx1[2]*(i2-iv1[2]))
 
#define ig0(i0)   interpoleeGrid0p[i0]
 
#define ip0(i0, i1)   interpolationPoint0p[i0+interpolationPoint0Dim0*(i1)]
 
#define ci0(i0, i1)   interpolationCoordinates0p[i0+interpolationCoordinates0Dim0*(i1)]
 
#define CENTER(i0, i1, i2, i3)   centerp[i0+centerDim0*(i1+centerDim1*(i2+centerDim2*(i3)))]
 
#define eir(side, axis)   peir[(side)+2*(axis)]
 
#define INDEXRANGE(side, axis)   pir[(side)+2*(axis)]
 
#define IA(i0, i1)   iap[i0+iaDim0*(i1)]
 
#define INVERSEGRID(i0, i1, i2)   inverseGridp[i0+inverseGridDim0*(i1+inverseGridDim1*(i2))]
 
#define IB(i0, i1)   ibp[i0+ibDim0*(i1)]
 
#define XA(i0, i1)   xap[i0+xaDim0*(i1)]
 
#define adjustSizeMacro(x, n)   while( x.getLength() < n ) x.addElement(); while( x.getLength() > n ) x.deleteElement()
 
#define il(i0, i1)   interpoleeLocationp[i0+interpoleeLocationDim0*(i1)]
 
#define il1(i0, i1)   interpoleeLocation1p[i0+interpoleeLocation1Dim0*(i1)]
 
#define ip(i0, i1)   interpolationPointp[i0+interpolationPointDim0*(i1)]
 
#define ip1(i0, i1)   interpolationPoint1p[i0+interpolationPoint1Dim0*(i1)]
 
#define ci(i0, i1)   interpolationCoordinatesp[i0+interpolationCoordinatesDim0*(i1)]
 
#define ci1(i0, i1)   interpolationCoordinates1p[i0+interpolationCoordinates1Dim0*(i1)]
 
#define ig(i0)   interpoleeGridp[i0]
 
#define ig1(i0)   interpoleeGrid1p[i0]
 
#define NG(i0)   ngp[i0]
 
#define GRIDSTART(i0)   gridStartp[i0]
 
#define viw(i0)   variableInterpolationWidthp[i0]
 
#define viw1(i0)   variableInterpolationWidth1p[i0]
 
#define CENTER0(i0, i1, i2, i3)   center0p[i0+center0Dim0*(i1+center0Dim1*(i2+center0Dim2*(i3)))]
 
#define IA(i0)   iap[i0]
 
#define RB(i0, i1)   rbp[i0+rbDim0*(i1)]
 
#define XR(m, n)   xra[n][m]
 
#define XA(i0, i1)   xap[i0+xaDim0*(i1)]
 
#define CENTER0(i0, i1, i2, i3)   center0p[i0+center0Dim0*(i1+center0Dim1*(i2+center0Dim2*(i3)))]
 
#define IA(i0)   iap[i0]
 
#define RB(i0, i1)   rbp[i0+rbDim0*(i1)]
 
#define XR(m, n)   xxr(0,m,n)
 
#define XA(i0, i1)   xap[i0+xaDim0*(i1)]
 
#define CENTER0(i0, i1, i2, i3)   center0p[i0+center0Dim0*(i1+center0Dim1*(i2+center0Dim2*(i3)))]
 
#define IA0(i0, i1)   ia0p[i0+ia0Dim0*(i1)]
 
#define IA(i0)   iap[i0]
 
#define RB(i0, i1)   rbp[i0+rbDim0*(i1)]
 
#define XR(m, n)   xxr(jj,m,n)
 

Functions

int checkGrid (CompositeGrid &cg, GenericGraphicsInterface *ps=0, int debug=0)
 
int displayMaskLaTeX (const intArray &mask, const aString &label=nullString, FILE *file=NULL, const DisplayParameters *displayParameters=NULL)
 
bool getLocalBounds (const intSerialArray &mask, Index Iv[3])
 : Limit the bounds of Iv to lie within the bounds of the array mask
 

Macro Definition Documentation

#define adjustSizeMacro (   x,
 
)    while( x.getLength() < n ) x.addElement(); while( x.getLength() > n ) x.deleteElement()
#define CENTER (   i0,
  i1,
  i2,
  i3 
)    centerp[i0+centerDim0*(i1+centerDim1*(i2+centerDim2*(i3)))]
#define CENTER0 (   i0,
  i1,
  i2,
  i3 
)    center0p[i0+center0Dim0*(i1+center0Dim1*(i2+center0Dim2*(i3)))]
#define CENTER0 (   i0,
  i1,
  i2,
  i3 
)    center0p[i0+center0Dim0*(i1+center0Dim1*(i2+center0Dim2*(i3)))]
#define CENTER0 (   i0,
  i1,
  i2,
  i3 
)    center0p[i0+center0Dim0*(i1+center0Dim1*(i2+center0Dim2*(i3)))]
#define CENTER00 (   i0,
  i1,
  i2 
)    (xab0[0][0]+dx0[0]*(i0-iv0[0]))
#define CENTER01 (   i0,
  i1,
  i2 
)    (xab0[0][1]+dx0[1]*(i1-iv0[1]))
#define CENTER02 (   i0,
  i1,
  i2 
)    (xab0[0][2]+dx0[2]*(i2-iv0[2]))
#define CENTER10 (   i0,
  i1,
  i2 
)    (xab1[0][0]+dx1[0]*(i0-iv1[0]))
#define CENTER11 (   i0,
  i1,
  i2 
)    (xab1[0][1]+dx1[1]*(i1-iv1[1]))
#define CENTER12 (   i0,
  i1,
  i2 
)    (xab1[0][2]+dx1[2]*(i2-iv1[2]))
#define ci (   i0,
  i1 
)    interpolationCoordinatesp[i0+interpolationCoordinatesDim0*(i1)]
#define ci0 (   i0,
  i1 
)    interpolationCoordinates0p[i0+interpolationCoordinates0Dim0*(i1)]
#define ci1 (   i0,
  i1 
)    interpolationCoordinates1p[i0+interpolationCoordinates1Dim0*(i1)]
#define eir (   side,
  axis 
)    peir[(side)+2*(axis)]
#define eir (   side,
  axis 
)    peir[(side)+2*(axis)]
#define FOR_3 (   i1,
  i2,
  i3,
  I1,
  I2,
  I3 
)    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 
)    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++ )
#define GRIDSTART (   i0)    gridStartp[i0]
#define GRIDSTART (   i0)    gridStartp[i0]
#define IA (   i0,
  i1 
)    iap[i0+iaDim0*(i1)]
#define IA (   i0)    iap[i0]
#define IA (   i0)    iap[i0]
#define IA (   i0)    iap[i0]
#define IA0 (   i0,
  i1 
)    ia0p[i0+ia0Dim0*(i1)]
#define IB (   i0,
  i1 
)    ibp[i0+ibDim0*(i1)]
#define ig (   i0)    interpoleeGridp[i0]
#define ig0 (   i0)    interpoleeGrid0p[i0]
#define ig1 (   i0)    interpoleeGrid1p[i0]
#define il (   i0,
  i1 
)    interpoleeLocationp[i0+interpoleeLocationDim0*(i1)]
#define il1 (   i0,
  i1 
)    interpoleeLocation1p[i0+interpoleeLocation1Dim0*(i1)]
#define INDEXRANGE (   side,
  axis 
)    pir[(side)+2*(axis)]
#define INTERPOLATIONCOORDINATES (   i0,
  i1 
)    interpolationCoordinatesp[i0+interpolationCoordinatesDim0*(i1)]
#define INTERPOLATIONCOORDINATES1 (   i0,
  i1 
)    interpolationCoordinates1p[i0+interpolationCoordinates1Dim0*(i1)]
#define INTERPOLATIONPOINT (   i0,
  i1 
)    interpolationPointp[i0+interpolationPointDim0*(i1)]
#define INTERPOLATIONPOINT1 (   i0,
  i1 
)    interpolationPoint1p[i0+interpolationPoint1Dim0*(i1)]
#define INTERPOLEEGRID (   i0)    interpoleeGridp[i0]
#define INTERPOLEEGRID1 (   i0)    interpoleeGrid1p[i0]
#define INTERPOLEELOCATION (   i0,
  i1 
)    interpoleeLocationp[i0+interpoleeLocationDim0*(i1)]
#define INTERPOLEELOCATION1 (   i0,
  i1 
)    interpoleeLocation1p[i0+interpoleeLocation1Dim0*(i1)]
#define INVERSEGRID (   i0,
  i1,
  i2 
)    inverseGridp[i0+inverseGridDim0*(i1+inverseGridDim1*(i2))]
#define ip (   i0,
  i1 
)    interpolationPointp[i0+interpolationPointDim0*(i1)]
#define ip0 (   i0,
  i1 
)    interpolationPoint0p[i0+interpolationPoint0Dim0*(i1)]
#define ip1 (   i0,
  i1 
)    interpolationPoint1p[i0+interpolationPoint1Dim0*(i1)]
#define MASK0 (   i0,
  i1,
  i2 
)    mask0p[i0+mask0Dim0*(i1+mask0Dim1*(i2))]
#define MASK1 (   i0,
  i1,
  i2 
)    mask1p[i0+mask1Dim0*(i1+mask1Dim1*(i2))]
#define NG (   i0)    ngp[i0]
#define NG (   i0)    ngp[i0]
#define R (   i0,
  i1 
)    rp[i0+rDim0*(i1)]
#define RB (   i0,
  i1 
)    rbp[i0+rbDim0*(i1)]
#define RB (   i0,
  i1 
)    rbp[i0+rbDim0*(i1)]
#define RB (   i0,
  i1 
)    rbp[i0+rbDim0*(i1)]
#define VARIABLEINTERPOLATIONWIDTH (   i0)    variableInterpolationWidthp[i0]
#define VARIABLEINTERPOLATIONWIDTH1 (   i0)    variableInterpolationWidth1p[i0]
#define viw (   i0)    variableInterpolationWidthp[i0]
#define viw1 (   i0)    variableInterpolationWidth1p[i0]
#define X (   i0,
  i1 
)    xp[i0+xDim0*(i1)]
#define XA (   i0,
  i1 
)    xap[i0+xaDim0*(i1)]
#define XA (   i0,
  i1 
)    xap[i0+xaDim0*(i1)]
#define XA (   i0,
  i1 
)    xap[i0+xaDim0*(i1)]
#define XR (   m,
 
)    xra[n][m]
#define XR (   m,
 
)    xxr(0,m,n)
#define XR (   m,
 
)    xxr(jj,m,n)

Function Documentation

int checkGrid ( CompositeGrid cg,
GenericGraphicsInterface ps = 0,
int  debug = 0 
)

References Overture::abort(), abs(), BCTypes::allBoundaries, doubleCompositeGridFunction::applyBoundaryCondition(), doubleCompositeGridFunction::applyBoundaryConditionCoefficients(), aString, BCTypes::boundary(), MappedGrid::boundaryCondition(), PlotIt::contour(), debug, SparseRepForMGF::debug, Mapping::derivativePeriodic, dimension, BCTypes::dirichlet, display(), intGridCollectionFunction::display(), displayMask(), Oges::equationToIndex(), Oges::extraEquationNumber, BCTypes::extrapolate, FALSE, doubleCompositeGridFunction::finishBoundaryConditions(), ForBoundary, getBoundaryIndex(), getCPU(), getGhostIndex(), getIndex(), GI_TOP_LABEL, MappedGrid::gridIndexRange(), OgesParameters::incompleteLUPreconditioner, indexRange, MappedGrid::indexRange(), Oges::initialize(), isPeriodic, Oges::isSolverIterative(), mask, max(), min(), BCTypes::neumann, normal, GenericGridCollection::numberOfComponentGrids(), GridCollection::numberOfDimensions(), MappedGrid::numberOfDimensions(), PlotIt::plot(), pow(), REAL_EPSILON, Oges::rightNullVector, Oges::set(), GraphicsParameters::set(), Oges::setCoefficientArray(), doubleCompositeGridFunction::setIsACoefficientMatrix(), doubleCompositeGridFunction::setOperators(), Oges::setRefactor(), Oges::setReorder(), GenericCompositeGridOperators::setStencilSize(), Oges::solve(), OgesParameters::THEcompatibilityConstraint, OgesParameters::THEpreconditioner, OgesParameters::THErelativeTolerance, OgesParameters::THEsolverType, TRUE, CompositeGrid::update(), MappedGrid::vertexBoundaryNormal(), OGFunction::x(), OGFunction::xx(), OGFunction::y(), OgesParameters::yale, OGFunction::yy(), OGFunction::z(), and OGFunction::zz().

int displayMaskLaTeX ( const intArray &  mask,
const aString label = nullString,
FILE *  file = NULL,
const DisplayParameters displayParameters = NULL 
)

References aString, i2, NULL, and sPrintF().

bool getLocalBounds ( const intSerialArray &  mask,
Index  Iv[3] 
)

: Limit the bounds of Iv to lie within the bounds of the array mask

References ia, max(), and min().