Overture  Version 25
Macros | Functions
applyBCC.C File Reference
#include "MappedGridOperators.h"
#include "SparseRep.h"
#include "conversion.h"
#include "display.h"
#include "MappedGridOperatorsInclude.h"
#include "ParallelUtility.h"
Include dependency graph for applyBCC.C:

Macros

#define ForBoundary(side, axis)
 
#define M2(m1, m2)   ((m1)+1+3*((m2)+1))
 
#define M3(m1, m2, m3)   ((m1)+1+3*((m2)+1+3*((m3)+1)))
 
#define MERGE0(a, i0, I1, I2, I3)
 
#define CE(c, e)   (stencilSize*((c)+numberOfComponentsForCoefficients*(e)))
 
#define M123CE(m1, m2, m3, c, e)   (M123(m1,m2,m3)+CE(c,e))
 
#define M123(m1, m2, m3)   (m1+halfWidth1+width*(m2+halfWidth2+width*(m3+halfWidth3)))
 
#define M123N(m1, m2, m3, n)   (M123(m1,m2,m3)+stencilLength0*(n))
 
#define OPX(m1, m2, m3, n, I1, I2, I3)   MERGE0(opX,M123N(m1,m2,m3,n),I1,I2,I3)
 
#define OPY(m1, m2, m3, n, I1, I2, I3)   MERGE0(opY,M123N(m1,m2,m3,n),I1,I2,I3)
 
#define OPZ(m1, m2, m3, n, I1, I2, I3)   MERGE0(opZ,M123N(m1,m2,m3,n),I1,I2,I3)
 
#define ForStencil(m1, m2, m3)
 
#define ForStencilN(n, m1, m2, m3)
 
#define FOR_4D(m, i1, i2, i3, M, I1, I2, I3)
 
#define FOR_4(m, i1, i2, i3, M, I1, I2, I3)
 
#define FOR_3D(i1, i2, i3, I1, I2, I3)
 
#define FOR_3(i1, i2, i3, I1, I2, I3)
 
#define CE(c, e)   (stencilSize*((c)+numberOfComponentsForCoefficients*(e)))
 
#define ForStencil(m1, m2, m3)
 
#define COEFF(i0, i1, i2, i3)   coeffp[i0+coeffDim0*(i1+coeffDim1*(i2+coeffDim2*(i3)))]
 
#define NORMAL(i0, i1, i2, i3)   normalp[i0+normalDim0*(i1+normalDim1*(i2+normalDim2*(i3)))]
 
#define OPXS(i0, i1, i2, i3)   opXp[i0+opXDim0*(i1+opXDim1*(i2+opXDim2*(i3)))]
 
#define OPYS(i0, i1, i2, i3)   opYp[i0+opYDim0*(i1+opYDim1*(i2+opYDim2*(i3)))]
 
#define OPZS(i0, i1, i2, i3)   opZp[i0+opZDim0*(i1+opZDim1*(i2+opZDim2*(i3)))]
 
#define NORMAL(i0, i1, i2, i3)   normalp[i0+normalDim0*(i1+normalDim1*(i2+normalDim2*(i3)))]
 
#define OPXS(i0, i1, i2, i3)   opXp[i0+opXDim0*(i1+opXDim1*(i2+opXDim2*(i3)))]
 
#define NORMAL(i0, i1, i2, i3)   normalp[i0+normalDim0*(i1+normalDim1*(i2+normalDim2*(i3)))]
 
#define OPXS(i0, i1, i2, i3)   opXp[i0+opXDim0*(i1+opXDim1*(i2+opXDim2*(i3)))]
 
#define OPYS(i0, i1, i2, i3)   opYp[i0+opYDim0*(i1+opYDim1*(i2+opYDim2*(i3)))]
 
#define OPZS(i0, i1, i2, i3)   opZp[i0+opZDim0*(i1+opZDim1*(i2+opZDim2*(i3)))]
 

Functions

bool getLocalIndex (intArray &u, intSerialArray &uLocal, Index &I1, Index &I2, Index &I3, Index &J1, Index &J2, Index &J3)
 

Macro Definition Documentation

#define CE (   c,
 
)    (stencilSize*((c)+numberOfComponentsForCoefficients*(e)))
#define CE (   c,
 
)    (stencilSize*((c)+numberOfComponentsForCoefficients*(e)))
#define COEFF (   i0,
  i1,
  i2,
  i3 
)    coeffp[i0+coeffDim0*(i1+coeffDim1*(i2+coeffDim2*(i3)))]
#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 =I1.getBase(), I2Base =I2.getBase(), I3Base =I3.getBase(); \
int 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_4 (   m,
  i1,
  i2,
  i3,
  M,
  I1,
  I2,
  I3 
)
Value:
mBase=M.getBase(), mBound=M.getBound(); \
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++) \
for(m=mBase; m<=mBound; m++)
#define FOR_4D (   m,
  i1,
  i2,
  i3,
  M,
  I1,
  I2,
  I3 
)
Value:
int mBase=M.getBase(), mBound=M.getBound(); \
int I1Base =I1.getBase(), I2Base =I2.getBase(), I3Base =I3.getBase(); \
int 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++) \
for(m=mBase; m<=mBound; m++)

Referenced by MappedGridOperators::applyBoundaryConditionCoefficients().

#define ForBoundary (   side,
  axis 
)
Value:
for( axis=0; axis<numberOfDimensions; axis++ ) \
for( side=0; side<=1; side++ )
#define ForStencil (   m1,
  m2,
  m3 
)
Value:
for( m3=-halfWidth3; m3<=halfWidth3; m3++) \
for( m2=-halfWidth2; m2<=halfWidth2; m2++) \
for( m1=-halfWidth1; m1<=halfWidth1; m1++)
#define ForStencil (   m1,
  m2,
  m3 
)
Value:
for( m3=-halfWidth3; m3<=halfWidth3; m3++) \
for( m2=-halfWidth2; m2<=halfWidth2; m2++) \
for( m1=-halfWidth1; m1<=halfWidth1; m1++)
#define ForStencilN (   n,
  m1,
  m2,
  m3 
)
Value:
for( n=0; n<numberOfComponents; n++) \
for( m3=-halfWidth3; m3<=halfWidth3; m3++) \
for( m2=-halfWidth2; m2<=halfWidth2; m2++) \
for( m1=-halfWidth1; m1<=halfWidth1; m1++)
#define M123 (   m1,
  m2,
  m3 
)    (m1+halfWidth1+width*(m2+halfWidth2+width*(m3+halfWidth3)))
#define M123CE (   m1,
  m2,
  m3,
  c,
 
)    (M123(m1,m2,m3)+CE(c,e))
#define M123N (   m1,
  m2,
  m3,
 
)    (M123(m1,m2,m3)+stencilLength0*(n))
#define M2 (   m1,
  m2 
)    ((m1)+1+3*((m2)+1))
#define M3 (   m1,
  m2,
  m3 
)    ((m1)+1+3*((m2)+1+3*((m3)+1)))
#define MERGE0 (   a,
  i0,
  I1,
  I2,
  I3 
)
Value:
for( \
aR0=Range(a.getBase(0),a.getBound(0)), \
aR1=Range(a.getBase(1),a.getBound(1)), \
aR2=Range(a.getBase(2),a.getBound(2)), \
aR3=Range(a.getBase(3),a.getBound(3)), \
a.reshape(Range(0,aR0.length()*aR1.length()-1),aR2,aR3), \
dum=0; dum<1; dum++, \
a.reshape(aR0,aR1,aR2,aR3) ) \
a(Index(i0-aR0.getBase()+aR0.length()*(I1.getBase()-aR1.getBase()), \
I1.length(),aR0.length()),I2,I3)
#define NORMAL (   i0,
  i1,
  i2,
  i3 
)    normalp[i0+normalDim0*(i1+normalDim1*(i2+normalDim2*(i3)))]
#define NORMAL (   i0,
  i1,
  i2,
  i3 
)    normalp[i0+normalDim0*(i1+normalDim1*(i2+normalDim2*(i3)))]
#define NORMAL (   i0,
  i1,
  i2,
  i3 
)    normalp[i0+normalDim0*(i1+normalDim1*(i2+normalDim2*(i3)))]
#define OPX (   m1,
  m2,
  m3,
  n,
  I1,
  I2,
  I3 
)    MERGE0(opX,M123N(m1,m2,m3,n),I1,I2,I3)
#define OPXS (   i0,
  i1,
  i2,
  i3 
)    opXp[i0+opXDim0*(i1+opXDim1*(i2+opXDim2*(i3)))]
#define OPXS (   i0,
  i1,
  i2,
  i3 
)    opXp[i0+opXDim0*(i1+opXDim1*(i2+opXDim2*(i3)))]
#define OPXS (   i0,
  i1,
  i2,
  i3 
)    opXp[i0+opXDim0*(i1+opXDim1*(i2+opXDim2*(i3)))]
#define OPY (   m1,
  m2,
  m3,
  n,
  I1,
  I2,
  I3 
)    MERGE0(opY,M123N(m1,m2,m3,n),I1,I2,I3)
#define OPYS (   i0,
  i1,
  i2,
  i3 
)    opYp[i0+opYDim0*(i1+opYDim1*(i2+opYDim2*(i3)))]
#define OPYS (   i0,
  i1,
  i2,
  i3 
)    opYp[i0+opYDim0*(i1+opYDim1*(i2+opYDim2*(i3)))]
#define OPZ (   m1,
  m2,
  m3,
  n,
  I1,
  I2,
  I3 
)    MERGE0(opZ,M123N(m1,m2,m3,n),I1,I2,I3)
#define OPZS (   i0,
  i1,
  i2,
  i3 
)    opZp[i0+opZDim0*(i1+opZDim1*(i2+opZDim2*(i3)))]
#define OPZS (   i0,
  i1,
  i2,
  i3 
)    opZp[i0+opZDim0*(i1+opZDim1*(i2+opZDim2*(i3)))]

Function Documentation

bool getLocalIndex ( intArray &  u,
intSerialArray &  uLocal,
Index &  I1,
Index &  I2,
Index &  I3,
Index &  J1,
Index &  J2,
Index &  J3 
)