CG  Version 25
Macros
assignSpecialInitialConditions.C File Reference
#include "Cgsm.h"
#include "SmParameters.h"
#include "CompositeGridOperators.h"
#include "display.h"
#include "OGPolyFunction.h"
#include "OGTrigFunction.h"
#include "OGPulseFunction.h"
#include "ParallelUtility.h"
Include dependency graph for assignSpecialInitialConditions.C:

Macros

#define exTrue(x, y, t)   sin(twoPi*(kx*(x)+ky*(y)-cc*(t)))*(-ky/(eps*cc))
 
#define eyTrue(x, y, t)   sin(twoPi*(kx*(x)+ky*(y)-cc*(t)))*( kx/(eps*cc))
 
#define hzTrue(x, y, t)   sin(twoPi*(kx*(x)+ky*(y)-cc*(t)))
 
#define exLaplacianTrue(x, y, t)   sin(twoPi*(kx*(x)+ky*(y)-cc*(t)))*(+ky*(twoPi*twoPi*(kx*kx+ky*ky))/(eps*cc))
 
#define eyLaplacianTrue(x, y, t)   sin(twoPi*(kx*(x)+ky*(y)-cc*(t)))*(-kx*(twoPi*twoPi*(kx*kx+ky*ky))/(eps*cc))
 
#define hzLaplacianTrue(x, y, t)   sin(twoPi*(kx*(x)+ky*(y)-cc*(t)))*( -(twoPi*twoPi*(kx*kx+ky*ky) ) )
 
#define hzGaussianPulse(xi)   exp(-betaGaussianPlaneWave*((xi)*(xi)))
 
#define exGaussianPulse(xi)   hzGaussianPulse(xi)*(-ky/(eps*cc))
 
#define eyGaussianPulse(xi)   hzGaussianPulse(xi)*( kx/(eps*cc))
 
#define hzLaplacianGaussianPulse(xi)   ((4.*betaGaussianPlaneWave*betaGaussianPlaneWave*(kx*kx+ky*ky))*xi*xi-(2.*betaGaussianPlaneWave*(kx*kx+ky*ky)))*exp(-betaGaussianPlaneWave*((xi)*(xi)))
 
#define exLaplacianGaussianPulse(xi)   hzLaplacianGaussianPulse(xi,t)*(-ky/(eps*cc))
 
#define eyLaplacianGaussianPulse(xi)   hzLaplacianGaussianPulse(xi,t)*( kx/(eps*cc))
 
#define exTrue3d(x, y, z, t)   sin(twoPi*(kx*(x)+ky*(y)+kz*(z)-cc*(t)))*(-ky/(eps*cc))
 
#define eyTrue3d(x, y, z, t)   sin(twoPi*(kx*(x)+ky*(y)+kz*(z)-cc*(t)))*( kx/(eps*cc))
 
#define ezTrue3d(x, y, z, t)   0
 
#define hxTrue3d(x, y, z, t)   0
 
#define hyTrue3d(x, y, z, t)   0
 
#define hzTrue3d(x, y, z, t)   sin(twoPi*(kx*(x)+ky*(y)+kz*(z)-cc*(t)))
 
#define exLaplacianTrue3d(x, y, z, t)   sin(twoPi*(kx*(x)+ky*(y)-cc*(t)))*(+ky*(twoPi*twoPi*(kx*kx+ky*ky))/(eps*cc))
 
#define eyLaplacianTrue3d(x, y, z, t)   sin(twoPi*(kx*(x)+ky*(y)-cc*(t)))*(-kx*(twoPi*twoPi*(kx*kx+ky*ky))/(eps*cc))
 
#define ezLaplacianTrue3d(x, y, z, t)   0
 
#define hxLaplacianTrue3d(x, y, z, t)   0
 
#define hyLaplacianTrue3d(x, y, z, t)   0
 
#define hzLaplacianTrue3d(x, y, z, t)   sin(twoPi*(kx*(x)+ky*(y)-cc*(t)))*( -(twoPi*twoPi*(kx*kx+ky*ky) ) )
 
#define FOR_3D(i1, i2, i3, I1, I2, I3)   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_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 U(i0, i1, i2, i3)   up[i0+uDim0*(i1+uDim1*(i2+uDim2*(i3)))]
 
#define X(i0, i1, i2, i3)   xp[i0+xDim0*(i1+xDim1*(i2+xDim2*(i3)))]
 
#define ERR(i0, i1, i2, i3)   errp[i0+errDim0*(i1+errDim1*(i2+errDim2*(i3)))]
 
#define U0(x, y, z, n, t)   (a[n-uc]*sin(k*(x))*cos(omega*(t)))
 
#define U0T(x, y, z, n, t)   (-a[n-uc]*omega*sin(k*(x))*sin(omega*(t)))
 
#define U0X(x, y, z, n, t)   (a[n-uc]*k*cos(k*(x))*cos(omega*(t)))
 
#define U0Y(x, y, z, n, t)   (0.)
 
#define U0(x, y, z, n, t)   ((a[n-uc]*(x) + b[n-uc]*(y))*(t))
 
#define U0T(x, y, z, n, t)   ((a[n-uc]*(x) + b[n-uc]*(y)) )
 
#define U0X(x, y, z, n, t)   ((a[n-uc] )*(t))
 
#define U0Y(x, y, z, n, t)   (( b[n-uc] )*(t))
 
#define U0(x, y, z, n, t)   (vcenter[n-uc]*(t) + rx[n-uc]*((x)-xcenter) + ry[n-uc]*((y)-ycenter))
 
#define U0T(x, y, z, n, t)   (vcenter[n-uc] + rxt[n-uc]*((x)-xcenter) + ryt[n-uc]*((y)-ycenter))
 
#define U0X(x, y, z, n, t)   ( rx[n-uc] )
 
#define U0Y(x, y, z, n, t)   ( ry[n-uc] )
 
#define U1(x, y, z)   (amp*cost*psi*( a0xy*(y) -a0zx*(z) ))
 
#define V1(x, y, z)   (amp*cost*psi*(-a0xy*(x)+a0yz*(z) ))
 
#define W1(x, y, z)   (amp*cost*psi*( -a0yz*(y)+a0zx*(x) ))
 
#define U2(x, y, z)   (amp*cost*psi*( a0xy*(y)*(z) -a0zx*(z)*(y) ))
 
#define V2(x, y, z)   (amp*cost*psi*(-a0xy*(x)*(z)+a0yz*(z)*(x) ))
 
#define W2(x, y, z)   (amp*cost*psi*( -a0yz*(y)*(x) +a0zx*(x)*(y) ))
 
#define VB2A(xa, wxa, pxa)   ( (-1./(h*h))*( psi2hr + (hr2/n2p1)*psi3hr )*(wxa) + (1./n2p1)*psi3hr*( r*r*(wxa) - n2p1*(xa)*w ) + psi1kr*(pxa) - (n/(n+1.))*psi3kr*kappa*kappa*( r*r*(pxa) - n2p1*(xa)*p ) )
 
#define VB2(xa, wxa, pxa)   ( (-1./(h*h))*( psi2hr*(wxa) + h*h*(xa)*psi3hr*w ) + psi1kr*(pxa) - (n/(n+1.))*psi3kr*kappa*kappa*( r*r*(pxa) - n2p1*(xa)*p ) )
 
#define VB2X(xj, wj, pj,xa, wa, pa, wja, pja, deltaja)   ( (-1./(h2))*( h2*xa*psi3hr*wj + psi2hr*wja + h2*deltaja*psi3hr*w + h4*xj*xa*psi4hr*w + h2*xj*psi3hr*wa ) + kappa2*xa*psi2kr*pj + psi1kr*pja - (n/(n+1.))*kappa4*xa*psi4kr*( r*r*pj - n2p1*xj*p )- (n/(n+1.))*kappa2*psi3kr*( 2.*xa*pj - n2p1*(deltaja)*p + r*r*pja - n2p1*xj*pa ) )
 

Macro Definition Documentation

#define ERR (   i0,
  i1,
  i2,
  i3 
)    errp[i0+errDim0*(i1+errDim1*(i2+errDim2*(i3)))]
#define exGaussianPulse (   xi)    hzGaussianPulse(xi)*(-ky/(eps*cc))
#define exLaplacianGaussianPulse (   xi)    hzLaplacianGaussianPulse(xi,t)*(-ky/(eps*cc))
#define exLaplacianTrue (   x,
  y,
 
)    sin(twoPi*(kx*(x)+ky*(y)-cc*(t)))*(+ky*(twoPi*twoPi*(kx*kx+ky*ky))/(eps*cc))
#define exLaplacianTrue3d (   x,
  y,
  z,
 
)    sin(twoPi*(kx*(x)+ky*(y)-cc*(t)))*(+ky*(twoPi*twoPi*(kx*kx+ky*ky))/(eps*cc))
#define exTrue (   x,
  y,
 
)    sin(twoPi*(kx*(x)+ky*(y)-cc*(t)))*(-ky/(eps*cc))
#define exTrue3d (   x,
  y,
  z,
 
)    sin(twoPi*(kx*(x)+ky*(y)+kz*(z)-cc*(t)))*(-ky/(eps*cc))
#define eyGaussianPulse (   xi)    hzGaussianPulse(xi)*( kx/(eps*cc))
#define eyLaplacianGaussianPulse (   xi)    hzLaplacianGaussianPulse(xi,t)*( kx/(eps*cc))
#define eyLaplacianTrue (   x,
  y,
 
)    sin(twoPi*(kx*(x)+ky*(y)-cc*(t)))*(-kx*(twoPi*twoPi*(kx*kx+ky*ky))/(eps*cc))
#define eyLaplacianTrue3d (   x,
  y,
  z,
 
)    sin(twoPi*(kx*(x)+ky*(y)-cc*(t)))*(-kx*(twoPi*twoPi*(kx*kx+ky*ky))/(eps*cc))
#define eyTrue (   x,
  y,
 
)    sin(twoPi*(kx*(x)+ky*(y)-cc*(t)))*( kx/(eps*cc))
#define eyTrue3d (   x,
  y,
  z,
 
)    sin(twoPi*(kx*(x)+ky*(y)+kz*(z)-cc*(t)))*( kx/(eps*cc))
#define ezLaplacianTrue3d (   x,
  y,
  z,
 
)    0
#define ezTrue3d (   x,
  y,
  z,
 
)    0
#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 =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 hxLaplacianTrue3d (   x,
  y,
  z,
 
)    0
#define hxTrue3d (   x,
  y,
  z,
 
)    0
#define hyLaplacianTrue3d (   x,
  y,
  z,
 
)    0
#define hyTrue3d (   x,
  y,
  z,
 
)    0
#define hzGaussianPulse (   xi)    exp(-betaGaussianPlaneWave*((xi)*(xi)))
#define hzLaplacianGaussianPulse (   xi)    ((4.*betaGaussianPlaneWave*betaGaussianPlaneWave*(kx*kx+ky*ky))*xi*xi-(2.*betaGaussianPlaneWave*(kx*kx+ky*ky)))*exp(-betaGaussianPlaneWave*((xi)*(xi)))
#define hzLaplacianTrue (   x,
  y,
 
)    sin(twoPi*(kx*(x)+ky*(y)-cc*(t)))*( -(twoPi*twoPi*(kx*kx+ky*ky) ) )
#define hzLaplacianTrue3d (   x,
  y,
  z,
 
)    sin(twoPi*(kx*(x)+ky*(y)-cc*(t)))*( -(twoPi*twoPi*(kx*kx+ky*ky) ) )
#define hzTrue (   x,
  y,
 
)    sin(twoPi*(kx*(x)+ky*(y)-cc*(t)))
#define hzTrue3d (   x,
  y,
  z,
 
)    sin(twoPi*(kx*(x)+ky*(y)+kz*(z)-cc*(t)))
#define U (   i0,
  i1,
  i2,
  i3 
)    up[i0+uDim0*(i1+uDim1*(i2+uDim2*(i3)))]
#define U0 (   x,
  y,
  z,
  n,
 
)    (a[n-uc]*sin(k*(x))*cos(omega*(t)))
#define U0 (   x,
  y,
  z,
  n,
 
)    ((a[n-uc]*(x) + b[n-uc]*(y))*(t))
#define U0 (   x,
  y,
  z,
  n,
 
)    (vcenter[n-uc]*(t) + rx[n-uc]*((x)-xcenter) + ry[n-uc]*((y)-ycenter))
#define U0T (   x,
  y,
  z,
  n,
 
)    (-a[n-uc]*omega*sin(k*(x))*sin(omega*(t)))
#define U0T (   x,
  y,
  z,
  n,
 
)    ((a[n-uc]*(x) + b[n-uc]*(y)) )
#define U0T (   x,
  y,
  z,
  n,
 
)    (vcenter[n-uc] + rxt[n-uc]*((x)-xcenter) + ryt[n-uc]*((y)-ycenter))
#define U0X (   x,
  y,
  z,
  n,
 
)    (a[n-uc]*k*cos(k*(x))*cos(omega*(t)))
#define U0X (   x,
  y,
  z,
  n,
 
)    ((a[n-uc] )*(t))
#define U0X (   x,
  y,
  z,
  n,
 
)    ( rx[n-uc] )
#define U0Y (   x,
  y,
  z,
  n,
 
)    (0.)
#define U0Y (   x,
  y,
  z,
  n,
 
)    (( b[n-uc] )*(t))
#define U0Y (   x,
  y,
  z,
  n,
 
)    ( ry[n-uc] )
#define U1 (   x,
  y,
  z 
)    (amp*cost*psi*( a0xy*(y) -a0zx*(z) ))
#define U2 (   x,
  y,
  z 
)    (amp*cost*psi*( a0xy*(y)*(z) -a0zx*(z)*(y) ))
#define V1 (   x,
  y,
  z 
)    (amp*cost*psi*(-a0xy*(x)+a0yz*(z) ))
#define V2 (   x,
  y,
  z 
)    (amp*cost*psi*(-a0xy*(x)*(z)+a0yz*(z)*(x) ))
#define VB2 (   xa,
  wxa,
  pxa 
)    ( (-1./(h*h))*( psi2hr*(wxa) + h*h*(xa)*psi3hr*w ) + psi1kr*(pxa) - (n/(n+1.))*psi3kr*kappa*kappa*( r*r*(pxa) - n2p1*(xa)*p ) )
#define VB2A (   xa,
  wxa,
  pxa 
)    ( (-1./(h*h))*( psi2hr + (hr2/n2p1)*psi3hr )*(wxa) + (1./n2p1)*psi3hr*( r*r*(wxa) - n2p1*(xa)*w ) + psi1kr*(pxa) - (n/(n+1.))*psi3kr*kappa*kappa*( r*r*(pxa) - n2p1*(xa)*p ) )
#define VB2X (   xj,
  wj,
  pj,
  xa,
  wa,
  pa,
  wja,
  pja,
  deltaja 
)    ( (-1./(h2))*( h2*xa*psi3hr*wj + psi2hr*wja + h2*deltaja*psi3hr*w + h4*xj*xa*psi4hr*w + h2*xj*psi3hr*wa ) + kappa2*xa*psi2kr*pj + psi1kr*pja - (n/(n+1.))*kappa4*xa*psi4kr*( r*r*pj - n2p1*xj*p )- (n/(n+1.))*kappa2*psi3kr*( 2.*xa*pj - n2p1*(deltaja)*p + r*r*pja - n2p1*xj*pa ) )
#define W1 (   x,
  y,
  z 
)    (amp*cost*psi*( -a0yz*(y)+a0zx*(x) ))
#define W2 (   x,
  y,
  z 
)    (amp*cost*psi*( -a0yz*(y)*(x) +a0zx*(x)*(y) ))
#define X (   i0,
  i1,
  i2,
  i3 
)    xp[i0+xDim0*(i1+xDim1*(i2+xDim2*(i3)))]