CG
Version 25
|
#include "Maxwell.h"
#include "CompositeGridOperators.h"
#include "display.h"
#include "UnstructuredMapping.h"
#include "OGPolyFunction.h"
#include "OGTrigFunction.h"
#include "OGPulseFunction.h"
#include "interpPoints.h"
#include "ShowFileReader.h"
#include "ParallelUtility.h"
#include "besselPrimeZeros.h"
#include "besselZeros.h"
Macros | |
#define | scatCyl EXTERN_C_NAME(scatcyl) |
#define | scatSphere EXTERN_C_NAME(scatsphere) |
#define | exmax EXTERN_C_NAME(exmax) |
#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 | exTrue(x, y, t) sin(twoPi*(kx*(x)+ky*(y)-cc*(t)))*pwc[0] |
#define | eyTrue(x, y, t) sin(twoPi*(kx*(x)+ky*(y)-cc*(t)))*pwc[1] |
#define | hzTrue(x, y, t) sin(twoPi*(kx*(x)+ky*(y)-cc*(t)))*pwc[5] |
#define | extTrue(x, y, t) (-twoPi*cc)*cos(twoPi*(kx*(x)+ky*(y)-cc*(t)))*pwc[0] |
#define | eytTrue(x, y, t) (-twoPi*cc)*cos(twoPi*(kx*(x)+ky*(y)-cc*(t)))*pwc[1] |
#define | hztTrue(x, y, t) (-twoPi*cc)*cos(twoPi*(kx*(x)+ky*(y)-cc*(t)))*pwc[5] |
#define | exLaplacianTrue(x, y, t) sin(twoPi*(kx*(x)+ky*(y)-cc*(t)))*(-(twoPi*twoPi*(kx*kx+ky*ky))*pwc[0]) |
#define | eyLaplacianTrue(x, y, t) sin(twoPi*(kx*(x)+ky*(y)-cc*(t)))*(-(twoPi*twoPi*(kx*kx+ky*ky))*pwc[1]) |
#define | hzLaplacianTrue(x, y, t) sin(twoPi*(kx*(x)+ky*(y)-cc*(t)))*(-(twoPi*twoPi*(kx*kx+ky*ky))*pwc[5]) |
#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)))*pwc[0] |
#define | eyTrue3d(x, y, z, t) sin(twoPi*(kx*(x)+ky*(y)+kz*(z)-cc*(t)))*pwc[1] |
#define | ezTrue3d(x, y, z, t) sin(twoPi*(kx*(x)+ky*(y)+kz*(z)-cc*(t)))*pwc[2] |
#define | extTrue3d(x, y, z, t) (-twoPi*cc)*cos(twoPi*(kx*(x)+ky*(y)+kz*(z)-cc*(t)))*pwc[0] |
#define | eytTrue3d(x, y, z, t) (-twoPi*cc)*cos(twoPi*(kx*(x)+ky*(y)+kz*(z)-cc*(t)))*pwc[1] |
#define | eztTrue3d(x, y, z, t) (-twoPi*cc)*cos(twoPi*(kx*(x)+ky*(y)+kz*(z)-cc*(t)))*pwc[2] |
#define | hxTrue3d(x, y, z, t) sin(twoPi*(kx*(x)+ky*(y)+kz*(z)-cc*(t)))*pwc[3] |
#define | hyTrue3d(x, y, z, t) sin(twoPi*(kx*(x)+ky*(y)+kz*(z)-cc*(t)))*pwc[4] |
#define | hzTrue3d(x, y, z, t) sin(twoPi*(kx*(x)+ky*(y)+kz*(z)-cc*(t)))*pwc[5] |
#define | exLaplacianTrue3d(x, y, z, t) sin(twoPi*(kx*(x)+ky*(y)+kz*(z)-cc*(t)))*(-(twoPi*twoPi*(kx*kx+ky*ky+kz*kz))*pwc[0]) |
#define | eyLaplacianTrue3d(x, y, z, t) sin(twoPi*(kx*(x)+ky*(y)+kz*(z)-cc*(t)))*(-(twoPi*twoPi*(kx*kx+ky*ky+kz*kz))*pwc[1]) |
#define | ezLaplacianTrue3d(x, y, z, t) sin(twoPi*(kx*(x)+ky*(y)+kz*(z)-cc*(t)))*(-(twoPi*twoPi*(kx*kx+ky*ky+kz*kz))*pwc[2]) |
#define | hxLaplacianTrue3d(x, y, z, t) sin(twoPi*(kx*(x)+ky*(y)+kz*(z)-cc*(t)))*(-(twoPi*twoPi*(kx*kx+ky*ky+kz*kz))*pwc[3]) |
#define | hyLaplacianTrue3d(x, y, z, t) sin(twoPi*(kx*(x)+ky*(y)+kz*(z)-cc*(t)))*(-(twoPi*twoPi*(kx*kx+ky*ky+kz*kz))*pwc[4]) |
#define | hzLaplacianTrue3d(x, y, z, t) sin(twoPi*(kx*(x)+ky*(y)+kz*(z)-cc*(t)))*(-(twoPi*twoPi*(kx*kx+ky*ky+kz*kz))*pwc[5]) |
#define | X0(i0, i1, i2) (xa+dx0*(i0-i0a)) |
#define | X1(i0, i1, i2) (ya+dy0*(i1-i1a)) |
#define | X2(i0, i1, i2) (za+dz0*(i2-i2a)) |
#define | EXTGFP_SENTINEL |
#define | UHX(i0, i1, i2) uhp[i0+uhDim0*(i1+uhDim1*(i2+uhDim2*( hx )))] |
#define | UHY(i0, i1, i2) uhp[i0+uhDim0*(i1+uhDim1*(i2+uhDim2*( hy )))] |
#define | UHZ(i0, i1, i2) uhp[i0+uhDim0*(i1+uhDim1*(i2+uhDim2*( hz )))] |
#define | UMHX(i0, i1, i2) umhp[i0+uhDim0*(i1+uhDim1*(i2+uhDim2*( hx )))] |
#define | UMHY(i0, i1, i2) umhp[i0+uhDim0*(i1+uhDim1*(i2+uhDim2*( hy )))] |
#define | UMHZ(i0, i1, i2) umhp[i0+uhDim0*(i1+uhDim1*(i2+uhDim2*( hz )))] |
#define | UNHX(i0, i1, i2) unhp[i0+uhDim0*(i1+uhDim1*(i2+uhDim2*( hx )))] |
#define | UNHY(i0, i1, i2) unhp[i0+uhDim0*(i1+uhDim1*(i2+uhDim2*( hy )))] |
#define | UNHZ(i0, i1, i2) unhp[i0+uhDim0*(i1+uhDim1*(i2+uhDim2*( hz )))] |
#define | ERRHX(i0, i1, i2) errhp[i0+uhDim0*(i1+uhDim1*(i2+uhDim2*( hx )))] |
#define | ERRHY(i0, i1, i2) errhp[i0+uhDim0*(i1+uhDim1*(i2+uhDim2*( hy )))] |
#define | ERRHZ(i0, i1, i2) errhp[i0+uhDim0*(i1+uhDim1*(i2+uhDim2*( hz )))] |
#define | XHP(i0, i1, i2, i3) xhp[i0+xhDim0*(i1+xhDim1*(i2+xhDim2*(i3)))] |
#define | X(i0, i1, i2, i3) xhp[i0+xhDim0*(i1+xhDim1*(i2+xhDim2*(i3)))] |
#define | UEX(i0, i1, i2) uep[i0+ueDim0*(i1+ueDim1*(i2+ueDim2*( ex )))] |
#define | UEY(i0, i1, i2) uep[i0+ueDim0*(i1+ueDim1*(i2+ueDim2*( ey )))] |
#define | UEZ(i0, i1, i2) uep[i0+ueDim0*(i1+ueDim1*(i2+ueDim2*( ez )))] |
#define | UMEX(i0, i1, i2) umep[i0+ueDim0*(i1+ueDim1*(i2+ueDim2*( ex )))] |
#define | UMEY(i0, i1, i2) umep[i0+ueDim0*(i1+ueDim1*(i2+ueDim2*( ey )))] |
#define | UMEZ(i0, i1, i2) umep[i0+ueDim0*(i1+ueDim1*(i2+ueDim2*( ez )))] |
#define | UNEX(i0, i1, i2) unep[i0+ueDim0*(i1+ueDim1*(i2+ueDim2*( ex )))] |
#define | UNEY(i0, i1, i2) unep[i0+ueDim0*(i1+ueDim1*(i2+ueDim2*( ey )))] |
#define | UNEZ(i0, i1, i2) unep[i0+ueDim0*(i1+ueDim1*(i2+ueDim2*( ez )))] |
#define | ERREX(i0, i1, i2) errep[i0+ueDim0*(i1+ueDim1*(i2+ueDim2*( ex )))] |
#define | ERREY(i0, i1, i2) errep[i0+ueDim0*(i1+ueDim1*(i2+ueDim2*( ey )))] |
#define | ERREZ(i0, i1, i2) errep[i0+ueDim0*(i1+ueDim1*(i2+ueDim2*( ez )))] |
#define | MASK(i0, i1, i2) maskp[(i0)+(i1)*md1+(i2)*md2] |
#define | XEP(i0, i1, i2, i3) xep[i0+xeDim0*(i1+xeDim1*(i2+xeDim2*(i3)))] |
#define | FN(m) fn[m+numberOfFunctions*(grid)] |
#define | AMP2D(x, y, t) (.5*(1.-tanh(beta*twoPi*(kx*((x)-x0)+ky*((y)-y0)-cc*(t))))) |
#define | UG(i0, i1, i2, i3) ugp[i0+ugDim0*(i1+ugDim1*(i2+ugDim2*(i3)))] |
Functions | |
void | scatCyl (const int &nd, const int &n1a, const int &n1b, const int &n2a, const int &n2b, const int &n3a, const int &n3b, const int &nd1a, const int &nd1b, const int &nd2a, const int &nd2b, const int &nd3a, const int &nd3b, const int &nd4a, const int &nd4b, const real &xy, real &u, const int &ipar, const real &rpar) |
void | scatSphere (const int &nd, const int &n1a, const int &n1b, const int &n2a, const int &n2b, const int &n3a, const int &n3b, const int &nd1a, const int &nd1b, const int &nd2a, const int &nd2b, const int &nd3a, const int &nd3b, const int &nd4a, const int &nd4b, const real &xy, real &u, const int &ipar, const real &rpar) |
void | exmax (double &Ez, double &Bx, double &By, const int &nsources, const double &xs, const double &ys, const double &tau, const double &var, const double &, const double &a, const double &x, const double &y, const double &time) |
Referenced by Maxwell::assignInitialConditions().
#define exGaussianPulse | ( | xi | ) | hzGaussianPulse(xi)*(-ky/(eps*cc)) |
Referenced by Maxwell::assignInitialConditions().
#define exLaplacianGaussianPulse | ( | xi | ) | hzLaplacianGaussianPulse(xi,t)*(-ky/(eps*cc)) |
#define exLaplacianTrue | ( | x, | |
y, | |||
t | |||
) | sin(twoPi*(kx*(x)+ky*(y)-cc*(t)))*(-(twoPi*twoPi*(kx*kx+ky*ky))*pwc[0]) |
Referenced by Maxwell::assignInitialConditions().
#define exLaplacianTrue3d | ( | x, | |
y, | |||
z, | |||
t | |||
) | sin(twoPi*(kx*(x)+ky*(y)+kz*(z)-cc*(t)))*(-(twoPi*twoPi*(kx*kx+ky*ky+kz*kz))*pwc[0]) |
Referenced by Maxwell::assignInitialConditions().
#define exmax EXTERN_C_NAME(exmax) |
#define EXTGFP_SENTINEL |
Referenced by Maxwell::assignInitialConditions(), and Maxwell::getField().
Referenced by Maxwell::assignInitialConditions(), and Maxwell::initializeKnownSolution().
Referenced by Maxwell::assignInitialConditions().
#define eyGaussianPulse | ( | xi | ) | hzGaussianPulse(xi)*( kx/(eps*cc)) |
Referenced by Maxwell::assignInitialConditions().
#define eyLaplacianGaussianPulse | ( | xi | ) | hzLaplacianGaussianPulse(xi,t)*( kx/(eps*cc)) |
#define eyLaplacianTrue | ( | x, | |
y, | |||
t | |||
) | sin(twoPi*(kx*(x)+ky*(y)-cc*(t)))*(-(twoPi*twoPi*(kx*kx+ky*ky))*pwc[1]) |
Referenced by Maxwell::assignInitialConditions().
#define eyLaplacianTrue3d | ( | x, | |
y, | |||
z, | |||
t | |||
) | sin(twoPi*(kx*(x)+ky*(y)+kz*(z)-cc*(t)))*(-(twoPi*twoPi*(kx*kx+ky*ky+kz*kz))*pwc[1]) |
Referenced by Maxwell::assignInitialConditions().
Referenced by Maxwell::assignInitialConditions(), and Maxwell::getField().
Referenced by Maxwell::assignInitialConditions(), and Maxwell::initializeKnownSolution().
Referenced by Maxwell::assignInitialConditions().
#define ezLaplacianTrue3d | ( | x, | |
y, | |||
z, | |||
t | |||
) | sin(twoPi*(kx*(x)+ky*(y)+kz*(z)-cc*(t)))*(-(twoPi*twoPi*(kx*kx+ky*ky+kz*kz))*pwc[2]) |
Referenced by Maxwell::assignInitialConditions().
Referenced by Maxwell::assignInitialConditions(), and Maxwell::initializeKnownSolution().
#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, | |||
t | |||
) | sin(twoPi*(kx*(x)+ky*(y)+kz*(z)-cc*(t)))*(-(twoPi*twoPi*(kx*kx+ky*ky+kz*kz))*pwc[3]) |
Referenced by Maxwell::assignInitialConditions().
Referenced by Maxwell::assignInitialConditions().
#define hyLaplacianTrue3d | ( | x, | |
y, | |||
z, | |||
t | |||
) | sin(twoPi*(kx*(x)+ky*(y)+kz*(z)-cc*(t)))*(-(twoPi*twoPi*(kx*kx+ky*ky+kz*kz))*pwc[4]) |
Referenced by Maxwell::assignInitialConditions().
Referenced by Maxwell::assignInitialConditions().
#define hzGaussianPulse | ( | xi | ) | exp(-betaGaussianPlaneWave*((xi)*(xi))) |
Referenced by Maxwell::assignInitialConditions().
#define hzLaplacianGaussianPulse | ( | xi | ) | ((4.*betaGaussianPlaneWave*betaGaussianPlaneWave*(kx*kx+ky*ky))*xi*xi-(2.*betaGaussianPlaneWave*(kx*kx+ky*ky)))*exp(-betaGaussianPlaneWave*((xi)*(xi))) |
Referenced by Maxwell::assignInitialConditions().
#define hzLaplacianTrue | ( | x, | |
y, | |||
t | |||
) | sin(twoPi*(kx*(x)+ky*(y)-cc*(t)))*(-(twoPi*twoPi*(kx*kx+ky*ky))*pwc[5]) |
Referenced by Maxwell::assignInitialConditions().
#define hzLaplacianTrue3d | ( | x, | |
y, | |||
z, | |||
t | |||
) | sin(twoPi*(kx*(x)+ky*(y)+kz*(z)-cc*(t)))*(-(twoPi*twoPi*(kx*kx+ky*ky+kz*kz))*pwc[5]) |
Referenced by Maxwell::assignInitialConditions().
Referenced by Maxwell::assignInitialConditions().
Referenced by Maxwell::assignInitialConditions().
Referenced by Maxwell::assignInitialConditions().
#define scatCyl EXTERN_C_NAME(scatcyl) |
#define scatSphere EXTERN_C_NAME(scatsphere) |
void exmax | ( | double & | Ez, |
double & | Bx, | ||
double & | By, | ||
const int & | nsources, | ||
const double & | xs, | ||
const double & | ys, | ||
const double & | tau, | ||
const double & | var, | ||
const double & | amp, | ||
const double & | a, | ||
const double & | x, | ||
const double & | y, | ||
const double & | time | ||
) |
void scatCyl | ( | const int & | nd, |
const int & | n1a, | ||
const int & | n1b, | ||
const int & | n2a, | ||
const int & | n2b, | ||
const int & | n3a, | ||
const int & | n3b, | ||
const int & | nd1a, | ||
const int & | nd1b, | ||
const int & | nd2a, | ||
const int & | nd2b, | ||
const int & | nd3a, | ||
const int & | nd3b, | ||
const int & | nd4a, | ||
const int & | nd4b, | ||
const real & | xy, | ||
real & | u, | ||
const int & | ipar, | ||
const real & | rpar | ||
) |
void scatSphere | ( | const int & | nd, |
const int & | n1a, | ||
const int & | n1b, | ||
const int & | n2a, | ||
const int & | n2b, | ||
const int & | n3a, | ||
const int & | n3b, | ||
const int & | nd1a, | ||
const int & | nd1b, | ||
const int & | nd2a, | ||
const int & | nd2b, | ||
const int & | nd3a, | ||
const int & | nd3b, | ||
const int & | nd4a, | ||
const int & | nd4b, | ||
const real & | xy, | ||
real & | u, | ||
const int & | ipar, | ||
const real & | rpar | ||
) |