CG  Version 25
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | Protected Member Functions | List of all members
Maxwell Class Reference

#include <Maxwell.h>

Collaboration diagram for Maxwell:
Collaboration graph
[legend]

Public Types

enum  GridTypeEnum {
  square, rotatedSquare, sineSquare, skewedSquare,
  chevron, squareByTriangles, squareByQuads, sineByTriangles,
  annulus, box, chevbox, perturbedSquare,
  perturbedBox, compositeGrid, unknown
}
 
enum  ElementTypeEnum {
  structuredElements, triangles, quadrilaterals, hexahedra,
  defaultUnstructured
}
 
enum  BoundaryConditionEnum {
  periodic =0, dirichlet =1, perfectElectricalConductor, perfectMagneticConductor,
  planeWaveBoundaryCondition, symmetry, interfaceBoundaryCondition, abcEM2,
  abcPML, abc3, abc4, abc5,
  rbcNonLocal, rbcLocal, numberOfBCNames
}
 
enum  BoundaryConditionOptionEnum { useAllPeriodicBoundaryConditions =0, useAllDirichletBoundaryConditions, useAllPerfectElectricalConductorBoundaryConditions, useGeneralBoundaryConditions }
 
enum  InitialConditionEnum {
  defaultInitialCondition =0, planeWaveInitialCondition, gaussianPlaneWave, gaussianPulseInitialCondition,
  squareEigenfunctionInitialCondition, annulusEigenfunctionInitialCondition, zeroInitialCondition, planeWaveScatteredFieldInitialCondition,
  planeMaterialInterfaceInitialCondition, gaussianIntegralInitialCondition, twilightZoneInitialCondition, userDefinedInitialConditionsOption,
  numberOfInitialConditionNames
}
 
enum  ForcingEnum {
  noForcing, magneticSinusoidalPointSource, gaussianSource, twilightZoneForcing,
  planeWaveBoundaryForcing, gaussianChargeSource, userDefinedForcingOption, numberOfForcingNames
}
 
enum  TwlightZoneForcingEnum { polynomialTwilightZone, trigonometricTwilightZone, pulseTwilightZone }
 
enum  KnownSolutionEnum {
  noKnownSolution, twilightZoneKnownSolution, planeWaveKnownSolution, gaussianPlaneWaveKnownSolution,
  gaussianIntegralKnownSolution, planeMaterialInterfaceKnownSolution, scatteringFromADiskKnownSolution, scatteringFromADielectricDiskKnownSolution,
  scatteringFromASphereKnownSolution, scatteringFromADielectricSphereKnownSolution, squareEigenfunctionKnownSolution, annulusEigenfunctionKnownSolution,
  eigenfunctionsOfASphereKnownSolution
}
 
enum  FieldEnum {
  EField, E100, E010, E001,
  HField, H100, H010, H001
}
 
enum  MethodEnum {
  defaultMethod =0, yee, dsi, dsiNew,
  dsiMatVec, nfdtd, sosup
}
 
enum  TimeSteppingMethodEnum {
  defaultTimeStepping =0, adamsBashforthSymmetricThirdOrder, rungeKuttaFourthOrder, stoermerTimeStepping,
  modifiedEquationTimeStepping
}
 
enum  { numberOfPlaneMaterialInterfaceCoefficients =33 }
 
enum  { maxNumberOfGaussianPulses =20 }
 
enum  { maxNumberOfGaussianChargeSources =10 }
 
enum  DSIBCOption {
  defaultDSIBC =0x0, forceExtrap =0x1, zeroBC =forceExtrap<<1, curlHBC =zeroBC<<1,
  curlcurlHBC =curlHBC<<1, curlcurlcurlHBC =curlcurlHBC<<1, forcedBC = curlHBC|curlcurlHBC|curlcurlcurlHBC
}
 
enum  TimingEnum {
  totalTime =0, timeForInitialize, timeForDSIMatrix, timeForInitialConditions,
  timeForAdvance, timeForAdvanceRectangularGrids, timeForAdvanceCurvilinearGrids, timeForAdvanceUnstructuredGrids,
  timeForAdvOpt, timeForDissipation, timeForBoundaryConditions, timeForInterfaceBC,
  timeForRadiationBC, timeForRaditionKernel, timeForInterpolate, timeForUpdateGhostBoundaries,
  timeForGetError, timeForForcing, timeForProject, timeForIntensity,
  timeForComputingDeltaT, timeForPlotting, timeForShowFile, timeForWaiting,
  maximumNumberOfTimings
}
 

Public Member Functions

 Maxwell ()
 Constructor for the Maxwell solver.
 
 ~Maxwell ()
 
int addDissipation (int current, real t, real dt, realMappedGridFunction *fields, const Range &C)
 Add in an artificial dissipation.
 
void addFilter (int current, real t, real dt)
 
bool adjustBoundsForPML (MappedGrid &mg, Index Iv[3], int extra=0)
 
void advanceC (int current, real t, real dt, realMappedGridFunction *fields)
 Advance on a curvilinear grid using the DSI scheme.
 
void advanceDSI (int current, real t, real dt)
 Advance on a curvilinear or unstructured grid using the DSI scheme.
 
void advanceFDTD (int numberOfStepsTaken, int current, real t, real dt)
 Advance a step with the Yee scheme. – Cartesian grids only —.
 
void advanceNew (int current, real t, real dt, realMappedGridFunction *fields)
 Advance on a curvilinear grid using the new DSI scheme.
 
void advanceNFDTD (int numberOfStepsTaken, int current, real t, real dt)
 Advance on a curvilinear grid.
 
void advanceSOSUP (int numberOfStepsTaken, int current, real t, real dt)
 Advance using the second-order-system upwind scheme.
 
void advanceUnstructuredDSI (int current, real t, real dt, realMappedGridFunction *fields)
 
void advanceUnstructuredDSIMV (int current, real t, real dt, realMappedGridFunction *fields)
 
void assignBoundaryConditions (int option, int grid, real t, real dt, realMappedGridFunction &u, realMappedGridFunction &uOld, int current)
 Apply boundary conditions.
 
void assignInitialConditions (int current, real t, real dt)
 Assign initial conditions.
 
void assignInterfaceBoundaryConditions (int current, real t, real dt)
 
int buildRunTimeDialog ()
 
int buildVariableDissipation ()
 
void checkArrays (const aString &label)
 
void computeDissipation (int current, real t, real dt)
 
int computeIntensity (int current, real t, real dt, int stepNumber, real nextTimeToPlot)
 Compute the time averaged intensity OR compute the real and imaginary components.
 
void computeNumberOfStepsAndAdjustTheTimeStep (const real &t, const real &tFinal, const real &nextTimeToPlot, int &numberOfSubSteps, real &dtNew, const bool &adjustTimeStep=true)
 
int computeTimeStep ()
 Determine the time step.
 
int defineRegionsAndBodies ()
 Assign the mask that denotes the locations of bodies for the Yee scheme.
 
void displayBoundaryConditions (FILE *file=stdout)
 
realCompositeGridFunction & getAugmentedSolution (int current, realCompositeGridFunction &v, const real t)
 Create a grid function that holds all the things we can plot.
 
bool getBoundsForPML (MappedGrid &mg, Index Iv[3], int extra=0)
 
void getChargeDensity (int current, real t, realCompositeGridFunction &u, int component=0)
 
void getChargeDensity (real t, realMappedGridFunction &u, int component=0)
 
void getEnergy (int current, real t, real dt)
 
void getErrors (int current, real t, real dt)
 Determine the errors.
 
void getField (real x, real y, real t, real *eField)
 Return the true solution for the electric field.
 
int getForcing (int current, int grid, realArray &u, real t, real dt, int option=0)
 
void getMaxDivergence (const int current, real t, realCompositeGridFunction *pu=NULL, int component=0, realCompositeGridFunction *pDensity=NULL, int rhoComponent=0, bool computeMaxNorms=true)
 
int getValuesFDTD (int option, int *iparam, int current, real t, real dt, realCompositeGridFunction *v=NULL)
 compute various quantities for the FDTD "Yee" scheme
 
void initializeKnownSolution ()
 
void initializeInterfaces ()
 
int initializePlaneMaterialInterface ()
 Initialize the constants that define the plane material interface solution.
 
int initializeRadiationBoundaryConditions ()
 
int interactiveUpdate (GL_GraphicsInterface &gi)
 
void outputHeader ()
 Output the header banner with parameters and grid info.
 
int outputResults (int current, real t, real dt)
 
int outputResultsAfterEachTimeStep (int current, real t, real dt, int stepNumber, real nextTimeToPlot)
 
int plot (int current, real t, real dt)
 
int printMemoryUsage (FILE *file=stdout)
 /brief: print the memory usage that cgmx thinks that it is using
 
int printStatistics (FILE *file=stdout)
 
int project (int numberOfStepsTaken, int current, real t, real dt)
 
int projectInterpolationPoints (int numberOfStepsTaken, int current, real t, real dt)
 
void saveShow (int current, real t, real dt)
 
int saveParametersToShowFile ()
 
int setBoundaryCondition (aString &answer, GL_GraphicsInterface &gi, IntegerArray &originalBoundaryCondition)
 
int setupGrids ()
 Setup and initialization. Build the grid and solution fields.
 
int setupGridFunctions ()
 Setup and initialization. Build the solution fields.
 
int setupUserDefinedForcing ()
 This function is used to choose a user defined forcing and input parameters etc.
 
int setupUserDefinedInitialConditions ()
 choose a user defined initial condition.
 
void smoothDivergence (realCompositeGridFunction &u, const int numberOfSmooths)
 
int solve (GL_GraphicsInterface &gi)
 Solve the equations.
 
int updateProjectionEquation ()
 
bool usingPMLBoundaryConditions () const
 
int updateShowFile (const aString &command=nullString, DialogData *interface=NULL)
 
int userDefinedForcing (realArray &f, int iparam[], real rparam[])
 Evaluate the user defined forcing.
 
void userDefinedForcingCleanup ()
 This routine is called when cgmx is finished and can be used to clean up memory.
 
int userDefinedInitialConditions (int current, real t, real dt)
 : Evaluate the user defined initial conditions.
 
void userDefinedInitialConditionsCleanup ()
 
realCompositeGridFunction & getCGField (Maxwell::FieldEnum f, int tn)
 
void setupDSICoefficients ()
 
void reconstructDSIField (real t, FieldEnum field, realMappedGridFunction &from, realMappedGridFunction &to)
 
bool reconstructDSIAtEntities (real t, FieldEnum field, IntegerArray &entities, realMappedGridFunction &from, RealArray &to)
 
void applyDSIBC (realMappedGridFunction &gf, real t, bool isEField, bool isProjection=true, int bcopt=defaultDSIBC)
 
void applyDSIForcing (realMappedGridFunction &gf, real t, real dt, bool isEField, bool isProjection=true)
 
int getCenters (MappedGrid &mg, UnstructuredMapping::EntityTypeEnum cent, realArray &xe)
 

Static Public Member Functions

static int addPrefix (const aString label[], const aString &prefix, aString cmd[], const int maxCommands)
 
static real getMaxValue (real value, int processor=-1)
 
static int getMaxValue (int value, int processor=-1)
 
static real getMinValue (real value, int processor=-1)
 
static int getMinValue (int value, int processor=-1)
 

Public Attributes

enum
Maxwell::TwlightZoneForcingEnum 
twilightZoneOption
 
enum Maxwell::KnownSolutionEnum knownSolutionOption
 
enum
Maxwell::TimeSteppingMethodEnum 
timeSteppingMethod
 
DataBase dbase
 
MethodEnum method
 
aString methodName
 
BoundaryConditionOptionEnum bcOption
 
ForcingEnum forcingOption
 
InitialConditionEnum initialConditionOption
 
int ex
 
int ey
 
int ez
 
int hx
 
int hy
 
int hz
 
int ext
 
int eyt
 
int ezt
 
int hxt
 
int hyt
 
int hzt
 
int rc
 
int epsc
 
int muc
 
int sigmaEc
 
int sigmaHc
 
int numberOfComponentsRectangularGrid
 
int ex10
 
int ey10
 
int ex01
 
int ey01
 
int hz11
 
int numberOfComponentsCurvilinearGrid
 
real frequency
 
real eps
 
real mu
 
real c
 
RealArray epsGrid
 
RealArray muGrid
 
RealArray cGrid
 
RealArray sigmaEGrid
 
RealArray sigmaHGrid
 
bool gridHasMaterialInterfaces
 
real omegaForInterfaceIteration
 
int materialInterfaceOption
 
int interfaceEquationsOption
 
bool useNewInterfaceRoutines
 
int numberOfMaterialRegions
 
IntegerArray media
 
RealArray epsv
 
RealArray muv
 
RealArray sigmaEv
 
RealArray sigmaHv
 
int maskBodies
 
intSerialArray * pBodyMask
 
bool useTwilightZoneMaterials
 
std::vector< InterfaceInfointerfaceInfo
 
real kx
 
real ky
 
real kz
 
real pwc [6]
 
real pmc [numberOfPlaneMaterialInterfaceCoefficients]
 
int nx [3]
 
real deltaT
 
real xab [2][3]
 
IntegerArray adjustFarFieldBoundariesForIncidentField
 
real betaGaussianPlaneWave
 
real x0GaussianPlaneWave
 
real y0GaussianPlaneWave
 
real z0GaussianPlaneWave
 
real gaussianSourceParameters [5]
 
int numberOfGaussianPulses
 
real gaussianPulseParameters [maxNumberOfGaussianPulses][6]
 
int numberOfGaussianChargeSources
 
real gaussianChargeSourceParameters [maxNumberOfGaussianChargeSources][9]
 
real cfl
 
real tFinal
 
real tPlot
 
int numberOfStepsTaken
 
RealArray dxMinMax
 
real divEMax
 
real gradEMax
 
real divHMax
 
real gradHMax
 
int maximumNumberOfIterationsForImplicitInterpolation
 
int numberOfIterationsForInterfaceBC
 
int orderOfArtificialDissipation
 
real artificialDissipation
 
real artificialDissipationCurvilinear
 
int artificialDissipationInterval
 
real divergenceDamping
 
bool applyFilter
 
int orderOfFilter
 
int filterFrequency
 
int numberOfFilterIterations
 
real filterCoefficient
 
bool useDivergenceCleaning
 
real divergenceCleaningCoefficient
 
bool useChargeDensity
 
realCompositeGridFunction * pRho
 
realCompositeGridFunction * pPhi
 
realCompositeGridFunction * pF
 
Oges * poisson
 
bool projectFields
 
int frequencyToProjectFields
 
int numberOfConsecutiveStepsToProject
 
int numberOfInitialProjectionSteps
 
int numberOfDivergenceSmooths
 
int numberOfProjectionIterations
 
bool initializeProjection
 
bool useConservativeDivergence
 
bool projectInitialConditions
 
bool projectInterpolation
 
bool solveForElectricField
 
bool solveForMagneticField
 
bool checkErrors
 
bool computeEnergy
 
bool plotDivergence
 
bool plotErrors
 
bool plotDissipation
 
bool plotScatteredField
 
bool plotTotalField
 
bool plotRho
 
bool plotEnergyDensity
 
bool plotIntensity
 
int intensityOption
 
real omegaTimeHarmonic
 
real intensityAveragingInterval
 
bool plotHarmonicElectricFieldComponents
 
bool compareToReferenceShowFile
 
aString nameOfReferenceShowFile
 
bool plotDSIPoints
 
bool plotDSIMaxVertVals
 
RealArray maximumError
 
RealArray solutionNorm
 
int errorNorm
 
real totalEnergy
 
real initialTotalEnergy
 
real radiusForCheckingErrors
 
RealArray initialConditionBoundingBox
 
real boundingBoxDecayExponent
 
GridTypeEnum gridType
 
ElementTypeEnum elementType
 
real chevronFrequency
 
real chevronAmplitude
 
real cylinderRadius
 
real cylinderAxisStart
 
real cylinderAxisEnd
 
realMappedGridFunction * fields
 
realMappedGridFunction * dissipation
 
realMappedGridFunction * e_dissipation
 
realMappedGridFunction * errp
 
MappedGrid * mgp
 
MappedGridOperators * op
 
int numberLinesForPML
 
int pmlPower
 
real pmlLayerStrength
 
int pmlErrorOffset
 
RealArray * vpml
 
int orderOfAccuracyInSpace
 
int orderOfAccuracyInTime
 
bool useConservative
 
bool useVariableDissipation
 
int numberOfVariableDissipationSmooths
 
int degreeSpace
 
int degreeSpaceX
 
int degreeSpaceY
 
int degreeSpaceZ
 
int degreeTime
 
real omega [4]
 
real initialConditionParameters [10]
 
real slowStartInterval
 
aString probeFileName
 
ArraySimple< real > probes
 
ArraySimple< int > probeGridLocation
 
int frequencyToSaveProbes
 
FILE * probeFile
 
real normalPlaneMaterialInterface [3]
 
real x0PlaneMaterialInterface [3]
 
int radbcGrid [2]
 
int radbcSide [2]
 
int radbcAxis [2]
 
RadiationBoundaryConditionradiationBoundaryCondition
 
CompositeGrid * cgp
 
CompositeGridOperators * cgop
 
int numberOfFields
 
realCompositeGridFunction * cgfields
 
realCompositeGridFunction * cgdissipation
 
realCompositeGridFunction * e_cgdissipation
 
realCompositeGridFunction * cgerrp
 
realCompositeGridFunction * variableDissipation
 
realCompositeGridFunction * knownSolution
 
Interpolant * pinterpolant
 
realCompositeGridFunction * dsi_cgfieldsE0
 
realCompositeGridFunction * dsi_cgfieldsE1
 
realCompositeGridFunction * dsi_cgfieldsH
 
realCompositeGridFunction * pIntensity
 
realCompositeGridFunction * pHarmonicElectricField
 
ArraySimple< ArraySimple< int > > ulinksE
 
ArraySimple< ArraySimple< int > > ulinksH
 
ArraySimple< ArraySimple
< UnstructuredMappingAdjacencyIterator > > 
ulinks
 
bool useGhostInReconstruction
 
ArraySimple< real > Ecoeff
 
ArraySimple< real > Hcoeff
 
ArraySimple< int > Eindex
 
ArraySimple< int > Eoffset
 
ArraySimple< int > Hindex
 
ArraySimple< int > Hoffset
 
ArraySimple< int > Dindex
 
ArraySimple< int > Doffset
 
ArraySimple< real > Dcoeff
 
ArraySimple< real > dispCoeff
 
ArraySimple< real > E_dispCoeff
 
ArraySimple< ArraySimple< real > > REcoeff
 
ArraySimple< ArraySimple< real > > RHcoeff
 
ArraySimple< ArraySimple< int > > REindex
 
ArraySimple< ArraySimple< int > > RHindex
 
ArraySimple< ArraySimple< int > > SEindex
 
ArraySimple< ArraySimple< int > > SHindex
 
ArraySimple< real > A
 
ArraySimple< real > As
 
ArraySimple< int > Aindex
 
ArraySimple< int > Aoffset
 
ArraySimple< int > Asindex
 
ArraySimple< int > Asoffset
 
ArraySimple< int > CCindex
 
ArraySimple< int > CCoffset
 
ArraySimple< real > CCcoeff
 
realArray faceAreaNormals
 
realArray edgeAreaNormals
 
int numberOfTimeLevels
 
int myid
 
int numberOfFunctions
 
int currentFn
 
realArray * fn
 
realCompositeGridFunction * cgfn
 
GenericGraphicsInterface * gip
 
GraphicsParameters psp
 
GUIState * runTimeDialog
 
DialogData * pPlotOptionsDialog
 
DialogData * pParametersDialog
 
aString movieFileName
 
int movieFrame
 
int plotChoices
 
int plotOptions
 
int debug
 
real numberOfGridPoints
 
int totalNumberOfArrays
 
aString nameOfGridFile
 
FILE * logFile
 
FILE * debugFile
 
FILE * pDebugFile
 
FILE * checkFile
 
bool useTwilightZone
 
OGFunction * tz
 
Ogshow * show
 
ShowFileReader * referenceShowFileReader
 
int sequenceCount
 
int numberOfSequences
 
RealArray timeSequence
 
RealArray sequence
 
bool useStreamMode
 
bool saveGridInShowFile
 
int frequencyToSaveInShowFile
 
int showFileFrameForGrid
 
bool saveDivergenceInShowFile
 
bool saveErrorsInShowFile
 
RealArray timing
 
aString timingName [maximumNumberOfTimings]
 
real sizeOfLocalArraysForAdvance
 

Static Public Attributes

static aString bcName [numberOfBCNames]
 

Protected Member Functions

int buildTimeSteppingOptionsDialog (DialogData &dialog)
 
int buildForcingOptionsDialog (DialogData &dialog)
 
int buildPlotOptionsDialog (DialogData &dialog)
 
int buildInputOutputOptionsDialog (DialogData &dialog)
 
int buildPdeParametersDialog (DialogData &dialog)
 
int buildParametersDialog (DialogData &dialog)
 
int saveSequenceInfo (real t0, RealArray &sequenceData)
 
int saveSequencesToShowFile ()
 

Member Enumeration Documentation

anonymous enum
Enumerator
numberOfPlaneMaterialInterfaceCoefficients 
anonymous enum
Enumerator
maxNumberOfGaussianPulses 
anonymous enum
Enumerator
maxNumberOfGaussianChargeSources 
Enumerator
periodic 
dirichlet 
perfectElectricalConductor 
perfectMagneticConductor 
planeWaveBoundaryCondition 
symmetry 
interfaceBoundaryCondition 
abcEM2 
abcPML 
abc3 
abc4 
abc5 
rbcNonLocal 
rbcLocal 
numberOfBCNames 
Enumerator
useAllPeriodicBoundaryConditions 
useAllDirichletBoundaryConditions 
useAllPerfectElectricalConductorBoundaryConditions 
useGeneralBoundaryConditions 
Enumerator
defaultDSIBC 
forceExtrap 
zeroBC 
curlHBC 
curlcurlHBC 
curlcurlcurlHBC 
forcedBC 
Enumerator
structuredElements 
triangles 
quadrilaterals 
hexahedra 
defaultUnstructured 
Enumerator
EField 
E100 
E010 
E001 
HField 
H100 
H010 
H001 
Enumerator
noForcing 
magneticSinusoidalPointSource 
gaussianSource 
twilightZoneForcing 
planeWaveBoundaryForcing 
gaussianChargeSource 
userDefinedForcingOption 
numberOfForcingNames 
Enumerator
square 
rotatedSquare 
sineSquare 
skewedSquare 
chevron 
squareByTriangles 
squareByQuads 
sineByTriangles 
annulus 
box 
chevbox 
perturbedSquare 
perturbedBox 
compositeGrid 
unknown 
Enumerator
defaultInitialCondition 
planeWaveInitialCondition 
gaussianPlaneWave 
gaussianPulseInitialCondition 
squareEigenfunctionInitialCondition 
annulusEigenfunctionInitialCondition 
zeroInitialCondition 
planeWaveScatteredFieldInitialCondition 
planeMaterialInterfaceInitialCondition 
gaussianIntegralInitialCondition 
twilightZoneInitialCondition 
userDefinedInitialConditionsOption 
numberOfInitialConditionNames 
Enumerator
noKnownSolution 
twilightZoneKnownSolution 
planeWaveKnownSolution 
gaussianPlaneWaveKnownSolution 
gaussianIntegralKnownSolution 
planeMaterialInterfaceKnownSolution 
scatteringFromADiskKnownSolution 
scatteringFromADielectricDiskKnownSolution 
scatteringFromASphereKnownSolution 
scatteringFromADielectricSphereKnownSolution 
squareEigenfunctionKnownSolution 
annulusEigenfunctionKnownSolution 
eigenfunctionsOfASphereKnownSolution 
Enumerator
defaultMethod 
yee 
dsi 
dsiNew 
dsiMatVec 
nfdtd 
sosup 
Enumerator
defaultTimeStepping 
adamsBashforthSymmetricThirdOrder 
rungeKuttaFourthOrder 
stoermerTimeStepping 
modifiedEquationTimeStepping 
Enumerator
totalTime 
timeForInitialize 
timeForDSIMatrix 
timeForInitialConditions 
timeForAdvance 
timeForAdvanceRectangularGrids 
timeForAdvanceCurvilinearGrids 
timeForAdvanceUnstructuredGrids 
timeForAdvOpt 
timeForDissipation 
timeForBoundaryConditions 
timeForInterfaceBC 
timeForRadiationBC 
timeForRaditionKernel 
timeForInterpolate 
timeForUpdateGhostBoundaries 
timeForGetError 
timeForForcing 
timeForProject 
timeForIntensity 
timeForComputingDeltaT 
timeForPlotting 
timeForShowFile 
timeForWaiting 
maximumNumberOfTimings 
Enumerator
polynomialTwilightZone 
trigonometricTwilightZone 
pulseTwilightZone 

Constructor & Destructor Documentation

Maxwell::Maxwell ( )

Constructor for the Maxwell solver.

  • allowUserDefinedOutput (int) : if true call the userDefinedOutput function.

References all, applyFilter, artificialDissipation, artificialDissipationCurvilinear, artificialDissipationInterval, bcOption, betaGaussianPlaneWave, boundingBoxDecayExponent, c, cfl, cgdissipation, cgerrp, cgfields, cgfn, cgop, cgp, checkErrors, checkFile, chevronAmplitude, chevronFrequency, compareToReferenceShowFile, computeEnergy, currentFn, cylinderAxisEnd, cylinderAxisStart, cylinderRadius, dbase, debug, debugFile, defaultInitialCondition, defaultMethod, defaultTimeStepping, degreeSpace, degreeSpaceX, degreeSpaceY, degreeSpaceZ, degreeTime, dissipation, divEMax, divergenceCleaningCoefficient, divergenceDamping, e_cgdissipation, elementType, eps, epsc, errorNorm, errp, ex, ex01, ex10, ext, ey, ey01, ey10, eyt, ez, ezt, fields, filterCoefficient, filterFrequency, fn, forcingOption, frequency, frequencyToProjectFields, frequencyToSaveInShowFile, frequencyToSaveProbes, gaussianChargeSourceParameters, gaussianPulseParameters, gaussianSourceParameters, gip, gradEMax, gridHasMaterialInterfaces, gridType, hx, hxt, hy, hyt, hz, hz11, hzt, i, initialConditionBoundingBox, initialConditionOption, initialConditionParameters, initializeProjection, initialTotalEnergy, intensityAveragingInterval, intensityOption, interfaceEquationsOption, knownSolution, knownSolutionOption, kx, ky, kz, logFile, maskBodies, materialInterfaceOption, maximumNumberOfIterationsForImplicitInterpolation, maximumNumberOfTimings, method, mgp, movieFrame, mu, muc, myid, nameOfReferenceShowFile, noForcing, noKnownSolution, normalPlaneMaterialInterface, np, numberLinesForPML, numberOfComponentsCurvilinearGrid, numberOfComponentsRectangularGrid, numberOfConsecutiveStepsToProject, numberOfDivergenceSmooths, numberOfFields, numberOfFilterIterations, numberOfFunctions, numberOfGaussianChargeSources, numberOfGaussianPulses, numberOfInitialProjectionSteps, numberOfIterationsForInterfaceBC, numberOfMaterialRegions, numberOfProjectionIterations, numberOfSequences, numberOfVariableDissipationSmooths, nx, omega, omegaForInterfaceIteration, omegaTimeHarmonic, op, orderOfAccuracyInSpace, orderOfAccuracyInTime, orderOfArtificialDissipation, orderOfFilter, pBodyMask, pDebugFile, pF, pHarmonicElectricField, pIntensity, pinterpolant, plotChoices, plotDissipation, plotDivergence, plotDSIMaxVertVals, plotDSIPoints, plotEnergyDensity, plotErrors, plotHarmonicElectricFieldComponents, plotIntensity, plotOptions, plotRho, plotScatteredField, plotTotalField, pmlErrorOffset, pmlLayerStrength, pmlPower, poisson, polynomialTwilightZone, pPhi, pRho, probeFile, probeFileName, projectFields, projectInitialConditions, projectInterpolation, pwc, radbcAxis, radbcGrid, radbcSide, radiationBoundaryCondition, radiusForCheckingErrors, referenceShowFileReader, runTimeDialog, saveGridInShowFile, sequenceCount, show, showFileFrameForGrid, sigmaEc, sigmaHc, sizeOfLocalArraysForAdvance, slowStartInterval, solveForElectricField, solveForMagneticField, structuredElements, tFinal, timeForAdvance, timeForAdvanceCurvilinearGrids, timeForAdvanceRectangularGrids, timeForAdvanceUnstructuredGrids, timeForAdvOpt, timeForBoundaryConditions, timeForComputingDeltaT, timeForDissipation, timeForDSIMatrix, timeForForcing, timeForGetError, timeForInitialConditions, timeForInitialize, timeForIntensity, timeForInterfaceBC, timeForInterpolate, timeForPlotting, timeForProject, timeForRadiationBC, timeForRaditionKernel, timeForShowFile, timeForUpdateGhostBoundaries, timeForWaiting, timeSteppingMethod, timing, timingName, totalEnergy, totalNumberOfArrays, totalTime, tPlot, twilightZoneOption, tz, unknown, useChargeDensity, useConservative, useConservativeDivergence, useDivergenceCleaning, useGeneralBoundaryConditions, useNewInterfaceRoutines, useStreamMode, useTwilightZone, useTwilightZoneMaterials, useVariableDissipation, variableDissipation, vpml, x0GaussianPlaneWave, x0PlaneMaterialInterface, xab, y0GaussianPlaneWave, and z0GaussianPlaneWave.

Maxwell::~Maxwell ( )

Member Function Documentation

int Maxwell::addDissipation ( int  current,
real  t,
real  dt,
realMappedGridFunction *  field,
const Range &  C 
)

Add in an artificial dissipation.

Parameters
C(input) : apply to these components.

References artificialDissipation, assert(), d, dissipation, getIndex(), I1, I2, I3, mg, n, numberOfTimeLevels, orderOfArtificialDissipation, and u.

Referenced by advanceC(), and advanceNew().

void Maxwell::addFilter ( int  current,
real  t,
real  dt 
)
int Maxwell::addPrefix ( const aString  label[],
const aString &  prefix,
aString  cmd[],
const int  maxCommands 
)
static

References assert(), i, and printF().

Referenced by updateShowFile().

bool Maxwell::adjustBoundsForPML ( MappedGrid &  mg,
Index  Iv[3],
int  extra = 0 
)

References abcPML, axis, and numberLinesForPML.

Referenced by getErrors().

void Maxwell::advanceC ( int  current,
real  t,
real  dt,
realMappedGridFunction *  fields 
)
void Maxwell::advanceDSI ( int  current,
real  t,
real  dt 
)

Advance on a curvilinear or unstructured grid using the DSI scheme.

References advanceC(), advanceUnstructuredDSI(), advanceUnstructuredDSIMV(), cg, cgdissipation, cgp, dissipation, dsi, dsiMatVec, E010, E100, e_cgdissipation, e_dissipation, EField, fields, getCGField(), grid, HField, method, mg, and mgp.

Referenced by solve().

void Maxwell::advanceFDTD ( int  numberOfStepsTaken,
int  current,
real  t,
real  dt 
)
void Maxwell::advanceNew ( int  current,
real  t,
real  dt,
realMappedGridFunction *  field 
)

Advance on a curvilinear grid using the new DSI scheme.

Here we assume the grid is nearly orthogonal

References addDissipation(), all, artificialDissipation, center, debug, display(), dot(), eps, ex01, ex10, ey01, ey10, getIndex(), hz11, I1, I2, I3, J1, J2, J3, m1, m2, mg, mu, numberOfTimeLevels, u, x, and y.

Referenced by solve().

void Maxwell::advanceNFDTD ( int  numberOfStepsTaken,
int  current,
real  t,
real  dt 
)

Advance on a curvilinear grid.

References addFilter(), advMaxwell, applyFilter, artificialDissipation, artificialDissipationCurvilinear, assert(), assignBoundaryConditions(), assignInterfaceBoundaryConditions(), c, cg, cgfields, cgp, cGrid, checkArrays(), computeDissipation(), currentFn, debug, debugFile, display(), divEMax, divergenceCleaningCoefficient, divergenceDamping, dx, eps, epsGrid, ex, ey, ez, f, fields, filterFrequency, FN, fn, forcingOption, frequencyToProjectFields, getBoundsForPML(), getErrors(), getForcing(), getIndex(), getMaxDivergence(), gradEMax, grid, gridType, hx, hy, hz, I1, I2, I3, isRectangular, J1, J2, J3, kx, ky, kz, m1, m2, m3, mask, maskLocal, method, mg, mgp, modifiedEquationTimeStepping, mu, muGrid, nfdtd, noForcing, numberOfConsecutiveStepsToProject, numberOfFunctions, numberOfInitialProjectionSteps, numberOfTimeLevels, ok, op, orderOfAccuracyInSpace, orderOfAccuracyInTime, orderOfArtificialDissipation, pDebugFile, planeWaveBoundaryForcing, printF(), project(), projectFields, projectInterpolation, projectInterpolationPoints(), sigmaEGrid, sigmaHGrid, sizeOfLocalArraysForAdvance, solveForElectricField, solveForMagneticField, stoermerTimeStepping, timeForAdvanceCurvilinearGrids, timeForAdvanceRectangularGrids, timeForAdvOpt, timeForBoundaryConditions, timeForDissipation, timeForForcing, timeForInitialize, timeForInterpolate, timeForUpdateGhostBoundaries, timeSteppingMethod, timing, u, uLocal, useConservative, useDivergenceCleaning, useVariableDissipation, and variableDissipation.

Referenced by solve().

void Maxwell::advanceSOSUP ( int  numberOfStepsTaken,
int  current,
real  t,
real  dt 
)
void Maxwell::advanceUnstructuredDSI ( int  current,
real  t,
real  dt,
realMappedGridFunction *  fields 
)
void Maxwell::advanceUnstructuredDSIMV ( int  current,
real  t,
real  dt,
realMappedGridFunction *  fields 
)
void Maxwell::applyDSIBC ( realMappedGridFunction &  gf,
real  t,
bool  isEField,
bool  isProjection = true,
int  bcopt = defaultDSIBC 
)
void Maxwell::applyDSIForcing ( realMappedGridFunction &  gf,
real  t,
real  dt,
bool  isEField,
bool  isProjection = true 
)
void Maxwell::assignBoundaryConditions ( int  option,
int  grid,
real  t,
real  dt,
realMappedGridFunction &  u,
realMappedGridFunction &  uOld,
int  current 
)

Apply boundary conditions.

Parameters
option,:option=1 : apply BC's to E at t+dt/2; option=2 : apply BC's to H at t+dt, option=3 : apply all BC's

References abc5, abcEM2, abcMaxwell, abcPML, adjustFarFieldBoundariesForIncidentField, adjustForIncident, all, assert(), RadiationBoundaryCondition::assignBoundaryConditions(), axis, bcOption, bcOptMaxwell, bcSymmetry, c, cc, cg, cgfields, cgp, cGrid, cost, RadiationBoundaryCondition::debug, debug, debugFile, dir, dirichlet, display(), dsi, dtb2, dx, e, eps, epsGrid, ex, ex01, ex10, exmax, ext, exTrue, exTrue3d, extTrue, extTrue3d, ey, ey01, ey10, eyt, eyTrue, eyTrue3d, eytTrue, eytTrue3d, ez, ezt, ezTrue3d, eztTrue3d, f, fields, FOR_3D, forcingOption, frequency, gaussianIntegralInitialCondition, gaussianPlaneWave, getBoundsForPML(), getChargeDensity(), getGhostIndex(), getIndex(), getLocalBoundsAndBoundaryConditions(), grid, gridType, hx, hxt, hxTrue3d, hy, hyt, hyTrue3d, hz, hz11, hzGaussianPulse, hzt, hzTrue, hzTrue3d, hztTrue, i, i1, I1, i2, I2, i3, I3, Ig1, Ig2, Ig3, includeGhost, initialConditionBoundingBox, initialConditionOption, initializeKnownSolution(), interfaceBoundaryCondition, is2, isRectangular, knownSolution, kx, ky, kz, m, magneticSinusoidalPointSource, mask, method, mg, mgp, mu, muGrid, myid, n, nfdtd, np, numberLinesForPML, numberOfTimeLevels, ok, op, orderOfAccuracyInSpace, pDebugFile, perfectElectricalConductor, period, planeMaterialInterfaceInitialCondition, planeWaveBoundaryCondition, planeWaveBoundaryForcing, planeWaveInitialCondition, planeWaveScatteredFieldInitialCondition, pmc, PML, pmlLayerStrength, pmlMaxwell, pmlPower, pRho, printF(), pwc, radbcGrid, radiationBoundaryCondition, rbcLocal, rbcNonLocal, rx, side, sint, slowStartInterval, solveForElectricField, solveForMagneticField, sosup, symmetry, timeForBoundaryConditions, timing, tm, twilightZoneForcing, RadiationBoundaryCondition::tz, tz, u, U, UG, ugLocal, uLocal, useChargeDensity, vpml, VPML, WPML, x, X, x0GaussianPlaneWave, xe, y, y0GaussianPlaneWave, yee, and z.

Referenced by advanceC(), advanceNFDTD(), advanceSOSUP(), and assignInitialConditions().

void Maxwell::assignInitialConditions ( int  current,
real  t,
real  dt 
)

Assign initial conditions.

References a, a2, all, AMP2D, amplitude, annulusEigenfunctionInitialCondition, assert(), assignBoundaryConditions(), besselPrimeZeros, besselZeros, bj, bjp, bjThetax, bjThetay, boundingBoxDecayExponent, buildCenter, c, cc, CE, center, cg, cgerrp, cgfields, cgp, cGrid, coskz, cosn, cost, cosTheta, currentFn, cylinderAxisEnd, cylinderAxisStart, cylinderLength, debug, debugFile, defaultInitialCondition, degreeSpace, degreeSpaceX, degreeSpaceY, degreeSpaceZ, degreeTime, display(), dsiMatVec, dtb2, dx, e, edgeAreaNormals, EField, emptyArray, emptySerialArray, eps, epsc, epsGrid, epsv, erre, errel, errep, errh, errhl, errhp, errp, ex, exGaussianPulse, exLaplacianTrue, exLaplacianTrue3d, exmax, ext, exTrue, exTrue3d, extTrue, ey, eyGaussianPulse, eyLaplacianTrue, eyLaplacianTrue3d, eyt, eyTrue, eyTrue3d, eytTrue, ez, ezLaplacianTrue3d, ezt, ezTrue3d, f, faceAreaNormals, fields, FN, fn, FOR_3, FOR_3D, forcingOption, frequency, ft, fx, fy, fz, gaussianChargeSource, gaussianIntegralInitialCondition, gaussianPlaneWave, gaussianPulseInitialCondition, gaussianPulseParameters, getCenters(), getCGField(), getForcing(), getIndex(), getValuesFDTD(), gr, grid, gt, gx, gy, gz, HField, hx, hxLaplacianTrue3d, hxTrue3d, hy, hyLaplacianTrue3d, hyTrue3d, hz, hzGaussianPulse, hzLaplacianGaussianPulse, hzLaplacianTrue, hzLaplacianTrue3d, hzt, hzTrue, hzTrue3d, hztTrue, i, i1, I1, i2, I2, i3, I3, Ie1, Ie2, Ie3, Iev, Ih1, Ih2, Ih3, Ihv, includeGhost, initialConditionBoundingBox, initialConditionOption, initialConditionParameters, initializeKnownSolution(), isRectangular, isStructured, J1, J2, J3, k, knownSolution, kx, ky, kz, lambda, m, magneticSinusoidalPointSource, mask, maskDim0, maskDim1, maskLocal, maskp, md1, md2, mdbpz, mdbz, media, method, mgp, modifiedEquationTimeStepping, mu, muc, muGrid, muv, n, nc, ndbpz, ndbz, ndp, nfdtd, np1Factorial, numberOfFunctions, numberOfGaussianPulses, numberOfMaterialRegions, numberOfStepsTaken, numberOfTimeLevels, ok, omega, orderOfAccuracyInTime, OV_ABORT(), period, planeMaterialInterfaceInitialCondition, planeWaveBoundaryForcing, planeWaveInitialCondition, planeWaveScatteredFieldInitialCondition, pmc, polynomialTwilightZone, printF(), project(), projectInitialConditions, pulseTwilightZone, r, rc, rx, ry, scale, sigmaEc, sigmaEv, sigmaHc, sigmaHv, sinkz, sinn, sint, sinTheta, solveForElectricField, solveForMagneticField, sosup, spatialCoefficientsForTZ, squareEigenfunctionInitialCondition, tE, tH, the, theta, thetax, thetay, timeCoefficientsForTZ, timeForInitialConditions, timeForProject, timeSteppingMethod, timing, tm, trigonometricTwilightZone, twilightZoneForcing, twilightZoneOption, tz, uc, ue, ueDim0, ueDim1, ueDim2, ueDimFA, uel, uep, uepp, uex, UEX, uey, UEY, UEZ, UG, ugLocal, uh, uhDim0, uhDim1, uhDim2, uhDimFA, uhl, uhp, uhpp, UHX, UHY, UHZ, uLocal, ume, umel, umep, UMEX, UMEY, UMEZ, umh, umhl, umhp, UMHX, UMHY, UMHZ, une, unel, unep, unh, unhl, unhp, useChargeDensity, userDefinedInitialConditions(), userDefinedInitialConditionsOption, useTwilightZoneMaterials, vc, wc, x, X, X0, x0GaussianPlaneWave, X1, X2, xab, xce, xcel, xch, xchl, xd, xe, xeDim0, xeDim1, xeDim2, xep, XEP, xh, xhDim0, xhDim1, xhDim2, xhp, XHP, y, y0GaussianPlaneWave, yd, ye, yee, yh, z, zd, ze, zeroInitialCondition, and zh.

Referenced by solve().

void Maxwell::assignInterfaceBoundaryConditions ( int  current,
real  t,
real  dt 
)
int Maxwell::buildForcingOptionsDialog ( DialogData &  dialog)
protected
int Maxwell::buildInputOutputOptionsDialog ( DialogData &  dialog)
protected
int Maxwell::buildParametersDialog ( DialogData &  dialog)
protected
int Maxwell::buildPdeParametersDialog ( DialogData &  dialog)
protected

References assert(), eps, and mu.

Referenced by interactiveUpdate().

int Maxwell::buildPlotOptionsDialog ( DialogData &  dialog)
protected
int Maxwell::buildRunTimeDialog ( )

References assert(), cfl, debug, getAugmentedSolution(), gip, n, runTimeDialog, tFinal, tPlot, u, and v.

Referenced by plot().

int Maxwell::buildTimeSteppingOptionsDialog ( DialogData &  dialog)
protected
int Maxwell::buildVariableDissipation ( )
void Maxwell::checkArrays ( const aString &  label)
void Maxwell::computeDissipation ( int  current,
real  t,
real  dt 
)
int Maxwell::computeIntensity ( int  current,
real  t,
real  dt,
int  stepNumber,
real  nextTimeToPlot 
)

Compute the time averaged intensity OR compute the real and imaginary components.

Compute the time averaged intensity to be output at t=nextTimeToPlot See the notes in mx3d.pdf for details on the formulae for computing the

intensity given the solution at two times.

References a2, all, assert(), assign(), axis, c, cg, cgfields, cgp, cGrid, debug, E, eps, epsGrid, ex, ey, ez, FOR_3D, getIndex(), grid, hz, i1, I1, i2, I2, i3, I3, includeGhost, intensityAveragingInterval, intensityOption, m, mg, mgp, mu, muGrid, n, numberOfTimeLevels, ok, omega, omegaTimeHarmonic, op, OV_ABORT(), period, pHarmonicElectricField, pIntensity, plotHarmonicElectricFieldComponents, plotIntensity, printF(), ta, timeForIntensity, timing, tPlot, u, uLocal, and v.

Referenced by outputResultsAfterEachTimeStep().

void Maxwell::computeNumberOfStepsAndAdjustTheTimeStep ( const real &  t,
const real &  tFinal,
const real &  nextTimeToPlot,
int &  numberOfSubSteps,
real &  dtNew,
const bool &  adjustTimeStep = true 
)

References assert(), debug, printF(), and tPlot.

Referenced by solve().

int Maxwell::computeTimeStep ( )
int Maxwell::defineRegionsAndBodies ( )

Assign the mask that denotes the locations of bodies for the Yee scheme.

Define material regions and bodies that are defined by a mask

References assert(), cg, cgp, dx, eps, epsv, FOR_3D, getIndex(), gip, grid, i1, I1, i2, I2, i3, I3, includeGhost, isRectangular, mask, maskBodies, maskLocal, media, mg, mu, muv, normalPlaneMaterialInterface, numberOfMaterialRegions, ok, OV_ABORT(), pBodyMask, printF(), rad, sigmaEv, sigmaHv, timeForInitialize, timing, X0, x0PlaneMaterialInterface, X1, X2, and xab.

Referenced by interactiveUpdate().

void Maxwell::displayBoundaryConditions ( FILE *  file = stdout)

References assert(), axis, bcName, cg, cgp, grid, numberOfBCNames, and side.

Referenced by outputHeader().

realCompositeGridFunction & Maxwell::getAugmentedSolution ( int  current,
realCompositeGridFunction &  v,
const real  t 
)
bool Maxwell::getBoundsForPML ( MappedGrid &  mg,
Index  Iv[3],
int  extra = 0 
)
int Maxwell::getCenters ( MappedGrid &  mg,
UnstructuredMapping::EntityTypeEnum  cent,
realArray &  xe 
)
realCompositeGridFunction & Maxwell::getCGField ( Maxwell::FieldEnum  f,
int  tn 
)
void Maxwell::getChargeDensity ( int  current,
real  t,
realCompositeGridFunction &  u,
int  component = 0 
)
void Maxwell::getChargeDensity ( real  t,
realMappedGridFunction &  u,
int  component = 0 
)
void Maxwell::getEnergy ( int  current,
real  t,
real  dt 
)
void Maxwell::getErrors ( int  current,
real  t,
real  dt 
)

Determine the errors.

References a, a2, adjustBoundsForPML(), all, annulusEigenfunctionKnownSolution, assert(), axis, besselPrimeZeros, besselZeros, bj, bjp, bjThetax, bjThetay, buildCenter, c, cc, center, cg, cgerrp, cgfields, cgp, cGrid, checkErrors, compareToReferenceShowFile, computeDSIErrors(), coskz, cosn, cost, cosTheta, cylinderAxisEnd, cylinderAxisStart, cylinderLength, debug, defaultInitialCondition, display(), dsiMatVec, dtb2, dx, e, EField, emptyArray, emptySerialArray, eps, epsGrid, ERR, erre, errel, errep, ERREX, ERREY, ERREZ, errh, errhl, errhp, ERRHX, ERRHY, ERRHZ, errorNorm, errp, ex, exmax, ext, exTrue, exTrue3d, extTrue, extTrue3d, ey, eyt, eyTrue, eyTrue3d, eytTrue, eytTrue3d, ez, ezt, ezTrue3d, eztTrue3d, fields, FOR_3, FOR_3D, forcingOption, fx, fy, fz, gaussianChargeSource, gaussianIntegralInitialCondition, gaussianIntegralKnownSolution, gaussianPlaneWaveKnownSolution, gaussianPulseInitialCondition, getBoundsForPML(), getCenters(), getCGField(), getGhostIndex(), getIndex(), getMaxValue(), getValuesFDTD(), gr, grid, HField, hx, hxt, hxTrue3d, hy, hyt, hyTrue3d, hz, hzGaussianPulse, hzt, hzTrue, hzTrue3d, hztTrue, i1, I1, i2, I2, i3, I3, Ie1, Ie2, Ie3, Iev, Ig1, Ig2, Ig3, Ih1, Ih2, Ih3, Ihv, includeGhost, initialConditionOption, initialConditionParameters, initializeKnownSolution(), isRectangular, isStructured, J1, J2, J3, k, knownSolution, knownSolutionOption, kx, ky, kz, lambda, logFile, lpNorm(), m, mask, MASK, maskDim0, maskDim1, maskLocal, maskp, maximumError, maxNorm(), md1, md2, mdbpz, mdbz, method, mg, mgp, mu, muGrid, n, nameOfReferenceShowFile, ndbpz, ndbz, nfdtd, noKnownSolution, np1Factorial, numberOfSequences, numberOfTimeLevels, ok, omega, orderOfAccuracyInSpace, OV_ABORT(), pDebugFile, period, planeMaterialInterfaceKnownSolution, planeWaveKnownSolution, pmc, pmlErrorOffset, printF(), r, radiusForCheckingErrors, reconstructDSIField(), referenceShowFileReader, rx, ry, scatteringFromADielectricDiskKnownSolution, scatteringFromADielectricSphereKnownSolution, scatteringFromADiskKnownSolution, scatteringFromASphereKnownSolution, side, sinkz, sinn, sint, sinTheta, solutionNorm, solveForElectricField, solveForMagneticField, sosup, squareEigenfunctionInitialCondition, squareEigenfunctionKnownSolution, tE, tH, the, theta, thetax, thetay, timeForGetError, timing, tm, tPlot, twilightZoneKnownSolution, tz, U, ue, ueDim0, ueDim1, ueDim2, ueDimFA, uel, uep, uepp, uex, UEX, uey, UEY, UEZ, UG, ugLocal, uh, uhDim0, uhDim1, uhDim2, uhDimFA, uhl, uhp, uhpp, UHX, UHY, UHZ, uLocal, ume, umel, umep, umh, umhl, umhp, une, unel, unep, unh, unhl, unhp, ur, x, X, X0, x0GaussianPlaneWave, X1, X2, xab, xce, xcel, xch, xchl, xd, xe, xeDim0, xeDim1, xeDim2, xep, XEP, xh, xhDim0, xhDim1, xhDim2, xhp, XHP, y, y0GaussianPlaneWave, yd, ye, yee, yh, z, zd, ze, and zh.

Referenced by advanceNFDTD(), advanceSOSUP(), plot(), and solve().

void Maxwell::getField ( real  x,
real  y,
real  t,
real *  eField 
)

Return the true solution for the electric field.

References c, cc, exTrue, eyTrue, kx, ky, and kz.

int Maxwell::getForcing ( int  current,
int  grid,
realArray &  u,
real  t,
real  dt,
int  option = 0 
)

References a, all, amplitude, assert(), assign(), buildCenter, c, CC, center, cg, cgerrp, cgp, debug, debugFile, defaultInitialCondition, display(), dsi, dsiMatVec, dtb2, dx, e, EField, emptyArray, emptySerialArray, ep, eps, erre, errel, errep, errh, errhl, errhp, errp, ex, ey, ez, f, fields, FOR_3, FOR_3D, forcingOption, forcingOptMaxwell, gaussianChargeSource, gaussianChargeSourceParameters, gaussianPulseInitialCondition, gaussianSource, gaussianSourceParameters, getCenters(), getCGField(), getIndex(), grid, gridType, HField, hx, hy, hz, i1, I1, i2, I2, i3, I3, Ie1, Ie2, Ie3, Iev, Ih1, Ih2, Ih3, Ihv, includeGhost, initialConditionOption, isRectangular, isStructured, J1, J2, J3, kx, ky, kz, magneticSinusoidalPointSource, mask, maskDim0, maskDim1, maskLocal, maskp, md1, md2, method, mg, mgp, modifiedEquationTimeStepping, mu, nfdtd, numberOfTimeLevels, ok, omega, orderOfAccuracyInSpace, orderOfAccuracyInTime, printF(), rx, slowStartInterval, solveForElectricField, solveForMagneticField, sosup, squareEigenfunctionInitialCondition, tE, tH, the, timeSteppingMethod, twilightZoneForcing, tz, u, U, ue, ueDim0, ueDim1, ueDim2, ueDimFA, uel, uep, uepp, uh, uhDim0, uhDim1, uhDim2, uhDimFA, uhl, uhp, uhpp, uLocal, ume, umel, umep, umh, umhl, umhp, une, unel, unep, unh, unhl, unhp, userDefinedForcing(), userDefinedForcingOption, x, X, X0, X1, X2, xab, xce, xcel, xch, xchl, xd, xe, xeDim0, xeDim1, xeDim2, xep, XEP, xh, xhDim0, xhDim1, xhDim2, xhp, XHP, xp1, yd, ye, yh, zd, ze, and zh.

Referenced by advanceNFDTD(), advanceSOSUP(), advanceUnstructuredDSI(), applyDSIForcing(), and assignInitialConditions().

void Maxwell::getMaxDivergence ( const int  current,
real  t,
realCompositeGridFunction *  pu = NULL,
int  component = 0,
realCompositeGridFunction *  pDensity = NULL,
int  rhoComponent = 0,
bool  computeMaxNorms = true 
)
real Maxwell::getMaxValue ( real  value,
int  processor = -1 
)
static
int Maxwell::getMaxValue ( int  value,
int  processor = -1 
)
static
real Maxwell::getMinValue ( real  value,
int  processor = -1 
)
static

Referenced by computeTimeStep().

int Maxwell::getMinValue ( int  value,
int  processor = -1 
)
static
int Maxwell::getValuesFDTD ( int  option,
int *  iparam,
int  current,
real  t,
real  dt,
realCompositeGridFunction *  pv = NULL 
)

compute various quantities for the FDTD "Yee" scheme

Parameters
option(input) : option=0 : compute initial conditions, option=1 : compute errors option=2 : compute div(E) , div(H) option=3 : compute node centered fields for plotting
ipar(input) : iparam[0] = nDivE : save div(E) in this component of v iparam[1] = nDivH : save div(H) in this component of v

References assert(), axis, c, cgfields, cgp, debug, divEMax, divHMax, dx, ex, ey, ez, fields, forcingOption, getIndex(), getMaxValue(), gradEMax, gradHMax, grid, hx, hy, hz, I1, I2, I3, initialConditionOption, knownSolution, knownSolutionOption, kx, ky, kz, mask, maskBodies, maskLocal, maximumError, mgp, mxYeeIcErr, myid, n, numberOfPlaneMaterialInterfaceCoefficients, pBodyMask, pmc, printF(), pwc, slowStartInterval, solutionNorm, tz, u, ugLocal, uLocal, v, and xab.

Referenced by advanceFDTD(), assignInitialConditions(), getAugmentedSolution(), and getErrors().

void Maxwell::initializeInterfaces ( )
void Maxwell::initializeKnownSolution ( )
int Maxwell::initializePlaneMaterialInterface ( )

Initialize the constants that define the plane material interface solution.

References assert(), axis, c1, c2, cg, cgp, cr, epsGrid, epsv, initialConditionOption, kappa, kx, ky, kz, method, muGrid, muv, normalPlaneMaterialInterface, OV_ABORT(), planeMaterialInterfaceInitialCondition, pmc, printF(), pwc, r, x0PlaneMaterialInterface, and yee.

Referenced by interactiveUpdate().

int Maxwell::initializeRadiationBoundaryConditions ( )
int Maxwell::interactiveUpdate ( GL_GraphicsInterface &  gi)

References a, adamsBashforthSymmetricThirdOrder, adjustFarFieldBoundariesForIncidentField, annulus, annulusEigenfunctionInitialCondition, annulusEigenfunctionKnownSolution, applyFilter, artificialDissipation, artificialDissipationCurvilinear, artificialDissipationInterval, assert(), axis, betaGaussianPlaneWave, boundingBoxDecayExponent, buildForcingOptionsDialog(), buildInputOutputOptionsDialog(), buildPdeParametersDialog(), buildPlotOptionsDialog(), buildTimeSteppingOptionsDialog(), c, cc, cfl, cg, cgp, cGrid, checkErrors, chevbox, chevron, compareToReferenceShowFile, compositeGrid, computeEnergy, debug, defaultInitialCondition, defaultMethod, defaultTimeStepping, defineRegionsAndBodies(), degreeSpace, degreeSpaceX, degreeSpaceY, degreeSpaceZ, degreeTime, divergenceCleaningCoefficient, divergenceDamping, dsi, dsiMatVec, dsiNew, eigenfunctionsOfASphereKnownSolution, elementType, eps, epsGrid, errorNorm, filterCoefficient, filterFrequency, forcingOption, frequency, frequencyToProjectFields, frequencyToSaveProbes, gaussianChargeSource, gaussianChargeSourceParameters, gaussianIntegralInitialCondition, gaussianIntegralKnownSolution, gaussianPlaneWave, gaussianPlaneWaveKnownSolution, gaussianPulseInitialCondition, gaussianPulseParameters, gaussianSource, gaussianSourceParameters, gip, grid, gridHasMaterialInterfaces, gridType, i, i1, i2, i3, initialConditionBoundingBox, initialConditionOption, initialConditionParameters, initializePlaneMaterialInterface(), initializeRadiationBoundaryConditions(), intensityAveragingInterval, intensityOption, interfaceBoundaryCondition, interfaceEquationsOption, j, knownSolutionOption, kx, ky, kz, magneticSinusoidalPointSource, mask, materialInterfaceOption, maximumNumberOfIterationsForImplicitInterpolation, maxNumberOfGaussianChargeSources, maxNumberOfGaussianPulses, method, mg, modifiedEquationTimeStepping, mu, muGrid, nameOfGridFile, nameOfReferenceShowFile, nfdtd, noForcing, noKnownSolution, normalPlaneMaterialInterface, np, numberLinesForPML, numberOfConsecutiveStepsToProject, numberOfDivergenceSmooths, numberOfFilterIterations, numberOfGaussianChargeSources, numberOfGaussianPulses, numberOfInitialProjectionSteps, numberOfIterationsForInterfaceBC, numberOfVariableDissipationSmooths, nx, ok, omega, omegaForInterfaceIteration, omegaTimeHarmonic, orderOfAccuracyInSpace, orderOfAccuracyInTime, orderOfArtificialDissipation, orderOfFilter, OV_ABORT(), planeMaterialInterfaceInitialCondition, planeMaterialInterfaceKnownSolution, planeWaveBoundaryForcing, planeWaveInitialCondition, planeWaveKnownSolution, planeWaveScatteredFieldInitialCondition, plotDissipation, plotDivergence, plotEnergyDensity, plotErrors, plotHarmonicElectricFieldComponents, plotIntensity, plotRho, plotScatteredField, plotTotalField, pmlErrorOffset, pmlLayerStrength, pmlPower, poisson, polynomialTwilightZone, printF(), probeFileName, probeGridLocation, probes, projectFields, projectInitialConditions, projectInterpolation, pulseTwilightZone, pwc, quadrilaterals, r, radiusForCheckingErrors, rotatedSquare, rungeKuttaFourthOrder, scatteringFromADielectricDiskKnownSolution, scatteringFromADielectricSphereKnownSolution, scatteringFromADiskKnownSolution, scatteringFromASphereKnownSolution, setBoundaryCondition(), setupGridFunctions(), setupUserDefinedForcing(), setupUserDefinedInitialConditions(), show, side, sineByTriangles, sineSquare, skewedSquare, slowStartInterval, solveForElectricField, solveForMagneticField, sosup, square, squareByQuads, squareByTriangles, squareEigenfunctionInitialCondition, squareEigenfunctionKnownSolution, stoermerTimeStepping, structuredElements, tFinal, timeSteppingMethod, tPlot, triangles, trigonometricTwilightZone, twilightZoneForcing, twilightZoneKnownSolution, twilightZoneOption, updateShowFile(), useChargeDensity, useConservative, useConservativeDivergence, useDivergenceCleaning, useNewInterfaceRoutines, userDefinedForcingOption, userDefinedInitialConditionsOption, useTwilightZoneMaterials, useVariableDissipation, x, x0GaussianPlaneWave, x0PlaneMaterialInterface, y0GaussianPlaneWave, yee, z0GaussianPlaneWave, and zeroInitialCondition.

Referenced by main().

void Maxwell::outputHeader ( )
int Maxwell::outputResults ( int  current,
real  t,
real  dt 
)
int Maxwell::outputResultsAfterEachTimeStep ( int  current,
real  t,
real  dt,
int  stepNumber,
real  nextTimeToPlot 
)
int Maxwell::plot ( int  current,
real  t,
real  dt 
)
int Maxwell::printMemoryUsage ( FILE *  file = stdout)
int Maxwell::printStatistics ( FILE *  file = stdout)
int Maxwell::project ( int  numberOfStepsTaken,
int  current,
real  t,
real  dt 
)
int Maxwell::projectInterpolationPoints ( int  numberOfStepsTaken,
int  current,
real  t,
real  dt 
)
bool Maxwell::reconstructDSIAtEntities ( real  t,
FieldEnum  field,
IntegerArray &  entities,
realMappedGridFunction &  from,
RealArray &  to 
)
void Maxwell::reconstructDSIField ( real  t,
Maxwell::FieldEnum  field,
realMappedGridFunction &  from,
realMappedGridFunction &  to 
)
int Maxwell::saveParametersToShowFile ( )

References assert(), eps, ex, ey, ez, hx, hy, hz, mu, and show.

Referenced by updateShowFile().

int Maxwell::saveSequenceInfo ( real  t0,
RealArray &  sequenceData 
)
protected
int Maxwell::saveSequencesToShowFile ( )
protected
void Maxwell::saveShow ( int  current,
real  t,
real  dt 
)
int Maxwell::setBoundaryCondition ( aString &  answer,
GL_GraphicsInterface &  gi,
IntegerArray &  originalBoundaryCondition 
)
void Maxwell::setupDSICoefficients ( )
int Maxwell::setupGridFunctions ( )
int Maxwell::setupGrids ( )
int Maxwell::setupUserDefinedForcing ( )

This function is used to choose a user defined forcing and input parameters etc.

This function is used to setup and define the forcing to use. The function userDefinedForcing (above) is called to actually assign the forcing. Rewrite or add new options to this routine to supply your own forcing. Choose the "user defined forcing" option to have this routine called.

References a, assert(), cg, cgp, dbase, gip, m, omega, and printF().

Referenced by interactiveUpdate().

int Maxwell::setupUserDefinedInitialConditions ( )

choose a user defined initial condition.

This function is used to setup and define the initial conditions. The function userDefinedInitialConditions (above) is called to actually evaluate the initial conditions. Rewrite or add new options to this routine to supply your own initial conditions. Choose the "user defined" option from the initial conditions options to have this routine

References a, assert(), cg, cgp, dbase, gip, m, numberOfGaussianPulses, omega, and printF().

Referenced by interactiveUpdate().

void Maxwell::smoothDivergence ( realCompositeGridFunction &  u,
const int  numberOfSmooths 
)

References axis, cg, debug, getIndex(), grid, I1, I2, I3, N(), ok, printF(), and v.

Referenced by project().

int Maxwell::solve ( GL_GraphicsInterface &  gi)
int Maxwell::updateProjectionEquation ( )
int Maxwell::updateShowFile ( const aString &  command = nullString,
DialogData *  interface = NULL 
)
int Maxwell::userDefinedForcing ( realArray &  f,
int  iparam[],
real  rparam[] 
)

Evaluate the user defined forcing.

This function is called to actually evaluate the user defined forcing The function setupUserDefinedForcing is first called to assign the option and parameters. Rewrite or add new options to this function and to setupUserDefinedForcing to supply your own forcing option.

Parameters
f(input/output) : add to this forcing function
iparam[](input) : holds some integer parameters
rparam[](input) : holds some real parameters

References a, assert(), cg, cgfields, cgp, cost, dbase, ex, ey, ez, FOR_3D, getIndex(), grid, hz, i1, I1, i2, I2, i3, I3, m, method, mg, nfdtd, ok, omega, OV_ABORT(), printF(), sint, u, uLocal, x, y, and z.

Referenced by getForcing().

void Maxwell::userDefinedForcingCleanup ( )

This routine is called when cgmx is finished and can be used to clean up memory.

References dbase, and printF().

Referenced by ~Maxwell().

int Maxwell::userDefinedInitialConditions ( int  current,
real  t,
real  dt 
)

: Evaluate the user defined initial conditions.

This function is called to actually assign user defined initial conditions. The function setupUserDefinedInitialConditions is first called to assign the option and parameters. Rewrite or add new options to this function and to setupUserDefinedInitialConditions to supply your own initial conditions.

: When using adaptive mesh refinement, this function may be called multiple times as the AMR hierarchy is built up.

References a, assert(), cg, cgfields, cgp, cost, dbase, ex, ey, ez, FOR_3D, getIndex(), grid, hz, i1, I1, i2, I2, i3, I3, m, method, mg, nfdtd, numberOfGaussianPulses, numberOfTimeLevels, ok, omega, OV_ABORT(), printF(), u, uLocal, x, y, and z.

Referenced by assignInitialConditions().

void Maxwell::userDefinedInitialConditionsCleanup ( )

This routine is called when Cgsm is finished with the initial conditions and can be used to clean up memory.

References dbase, and printF().

Referenced by ~Maxwell().

bool Maxwell::usingPMLBoundaryConditions ( ) const

References abcPML, assert(), cg, cgp, and grid.

Referenced by setupGridFunctions().

Member Data Documentation

ArraySimple<real> Maxwell::A

Referenced by setBoundaryCondition().

IntegerArray Maxwell::adjustFarFieldBoundariesForIncidentField
ArraySimple<int> Maxwell::Aindex
ArraySimple<int> Maxwell::Aoffset
bool Maxwell::applyFilter
real Maxwell::artificialDissipation
real Maxwell::artificialDissipationCurvilinear
int Maxwell::artificialDissipationInterval
ArraySimple<real> Maxwell::As
ArraySimple<int> Maxwell::Asindex
ArraySimple<int> Maxwell::Asoffset
aString Maxwell::bcName
static
Initial value:
={
"periodic",
"dirichlet",
"perfectElectricalConductor",
"perfectMagneticConductor",
"planeWaveBoundaryCondition",
"symmetry",
"interfaceBoundaryCondition",
"abcEM2",
"abcPML",
"abc3",
"abc4",
"abc5",
"rbcNonLocal",
"rbcLocal"
}

Referenced by displayBoundaryConditions(), and setBoundaryCondition().

BoundaryConditionOptionEnum Maxwell::bcOption
real Maxwell::betaGaussianPlaneWave
real Maxwell::boundingBoxDecayExponent
real Maxwell::c
ArraySimple<real> Maxwell::CCcoeff

Referenced by setupDSICoefficients().

ArraySimple<int> Maxwell::CCindex

Referenced by setupDSICoefficients().

ArraySimple<int> Maxwell::CCoffset

Referenced by setupDSICoefficients().

real Maxwell::cfl
realCompositeGridFunction* Maxwell::cgdissipation
realCompositeGridFunction* Maxwell::cgerrp
realCompositeGridFunction* Maxwell::cgfields
realCompositeGridFunction* Maxwell::cgfn

Referenced by Maxwell(), and ~Maxwell().

CompositeGridOperators* Maxwell::cgop
CompositeGrid* Maxwell::cgp
RealArray Maxwell::cGrid
bool Maxwell::checkErrors
FILE* Maxwell::checkFile

Referenced by Maxwell(), outputResults(), and ~Maxwell().

real Maxwell::chevronAmplitude

Referenced by main(), Maxwell(), and setupGrids().

real Maxwell::chevronFrequency

Referenced by main(), Maxwell(), and setupGrids().

bool Maxwell::compareToReferenceShowFile
bool Maxwell::computeEnergy
int Maxwell::currentFn
real Maxwell::cylinderAxisEnd
real Maxwell::cylinderAxisStart
real Maxwell::cylinderRadius

Referenced by Maxwell().

DataBase Maxwell::dbase
mutable
ArraySimple<real> Maxwell::Dcoeff
int Maxwell::debug
FILE* Maxwell::debugFile
int Maxwell::degreeSpace
int Maxwell::degreeSpaceX
int Maxwell::degreeSpaceY
int Maxwell::degreeSpaceZ
int Maxwell::degreeTime
real Maxwell::deltaT
ArraySimple<int> Maxwell::Dindex
ArraySimple<real> Maxwell::dispCoeff
realMappedGridFunction* Maxwell::dissipation
real Maxwell::divEMax
real Maxwell::divergenceCleaningCoefficient
real Maxwell::divergenceDamping
real Maxwell::divHMax
ArraySimple<int> Maxwell::Doffset
realCompositeGridFunction* Maxwell::dsi_cgfieldsE0
realCompositeGridFunction* Maxwell::dsi_cgfieldsE1

Referenced by getCGField(), and setupGridFunctions().

realCompositeGridFunction* Maxwell::dsi_cgfieldsH
RealArray Maxwell::dxMinMax
realCompositeGridFunction * Maxwell::e_cgdissipation
ArraySimple<real> Maxwell::E_dispCoeff
realMappedGridFunction * Maxwell::e_dissipation
ArraySimple<real> Maxwell::Ecoeff
realArray Maxwell::edgeAreaNormals
ArraySimple<int> Maxwell::Eindex
ElementTypeEnum Maxwell::elementType
ArraySimple<int> Maxwell::Eoffset
real Maxwell::eps
int Maxwell::epsc
RealArray Maxwell::epsGrid
RealArray Maxwell::epsv
int Maxwell::errorNorm
realMappedGridFunction* Maxwell::errp
int Maxwell::ex
int Maxwell::ex01
int Maxwell::ex10
int Maxwell::ext
int Maxwell::ey
int Maxwell::ey01
int Maxwell::ey10
int Maxwell::eyt
int Maxwell::ez
int Maxwell::ezt
realArray Maxwell::faceAreaNormals
realMappedGridFunction* Maxwell::fields
real Maxwell::filterCoefficient
int Maxwell::filterFrequency
realArray* Maxwell::fn
ForcingEnum Maxwell::forcingOption
real Maxwell::frequency
int Maxwell::frequencyToProjectFields
int Maxwell::frequencyToSaveInShowFile

Referenced by Maxwell(), solve(), and updateShowFile().

int Maxwell::frequencyToSaveProbes
real Maxwell::gaussianChargeSourceParameters[maxNumberOfGaussianChargeSources][9]
real Maxwell::gaussianPulseParameters[maxNumberOfGaussianPulses][6]
real Maxwell::gaussianSourceParameters[5]
GenericGraphicsInterface* Maxwell::gip
real Maxwell::gradEMax
real Maxwell::gradHMax
bool Maxwell::gridHasMaterialInterfaces
GridTypeEnum Maxwell::gridType
ArraySimple<real> Maxwell::Hcoeff
ArraySimple<int> Maxwell::Hindex
ArraySimple<int> Maxwell::Hoffset
int Maxwell::hx
int Maxwell::hxt
int Maxwell::hy
int Maxwell::hyt
int Maxwell::hz
int Maxwell::hz11
int Maxwell::hzt
RealArray Maxwell::initialConditionBoundingBox
InitialConditionEnum Maxwell::initialConditionOption
real Maxwell::initialConditionParameters[10]
bool Maxwell::initializeProjection

Referenced by Maxwell(), and project().

real Maxwell::initialTotalEnergy

Referenced by getEnergy(), Maxwell(), and outputResults().

real Maxwell::intensityAveragingInterval
int Maxwell::intensityOption
int Maxwell::interfaceEquationsOption
std::vector<InterfaceInfo> Maxwell::interfaceInfo
realCompositeGridFunction* Maxwell::knownSolution
enum Maxwell::KnownSolutionEnum Maxwell::knownSolutionOption
real Maxwell::kx
real Maxwell::ky
real Maxwell::kz
FILE* Maxwell::logFile
int Maxwell::maskBodies
int Maxwell::materialInterfaceOption
RealArray Maxwell::maximumError
int Maxwell::maximumNumberOfIterationsForImplicitInterpolation
IntegerArray Maxwell::media
MethodEnum Maxwell::method
aString Maxwell::methodName
MappedGrid* Maxwell::mgp
aString Maxwell::movieFileName

Referenced by plot().

int Maxwell::movieFrame

Referenced by Maxwell(), and plot().

real Maxwell::mu
int Maxwell::muc
RealArray Maxwell::muGrid
RealArray Maxwell::muv
int Maxwell::myid
aString Maxwell::nameOfGridFile
aString Maxwell::nameOfReferenceShowFile
real Maxwell::normalPlaneMaterialInterface[3]
int Maxwell::numberLinesForPML
int Maxwell::numberOfComponentsCurvilinearGrid

Referenced by Maxwell(), and setupGridFunctions().

int Maxwell::numberOfComponentsRectangularGrid

Referenced by Maxwell(), and setupGridFunctions().

int Maxwell::numberOfConsecutiveStepsToProject
int Maxwell::numberOfDivergenceSmooths
int Maxwell::numberOfFields

Referenced by Maxwell(), and setupGridFunctions().

int Maxwell::numberOfFilterIterations
int Maxwell::numberOfFunctions
int Maxwell::numberOfGaussianChargeSources

Referenced by interactiveUpdate(), and Maxwell().

int Maxwell::numberOfGaussianPulses
real Maxwell::numberOfGridPoints
int Maxwell::numberOfInitialProjectionSteps
int Maxwell::numberOfIterationsForInterfaceBC
int Maxwell::numberOfMaterialRegions
int Maxwell::numberOfProjectionIterations

Referenced by Maxwell().

int Maxwell::numberOfSequences
int Maxwell::numberOfStepsTaken
int Maxwell::numberOfTimeLevels
int Maxwell::numberOfVariableDissipationSmooths
int Maxwell::nx[3]
real Maxwell::omega[4]
real Maxwell::omegaForInterfaceIteration
real Maxwell::omegaTimeHarmonic
MappedGridOperators* Maxwell::op
int Maxwell::orderOfAccuracyInSpace
int Maxwell::orderOfAccuracyInTime
int Maxwell::orderOfArtificialDissipation
int Maxwell::orderOfFilter
intSerialArray* Maxwell::pBodyMask
FILE * Maxwell::pDebugFile
realCompositeGridFunction * Maxwell::pF
realCompositeGridFunction* Maxwell::pHarmonicElectricField
realCompositeGridFunction* Maxwell::pIntensity
Interpolant* Maxwell::pinterpolant
int Maxwell::plotChoices

Referenced by Maxwell(), and plot().

bool Maxwell::plotDissipation
bool Maxwell::plotDivergence
bool Maxwell::plotDSIMaxVertVals
bool Maxwell::plotDSIPoints

Referenced by Maxwell().

bool Maxwell::plotEnergyDensity
bool Maxwell::plotErrors
bool Maxwell::plotHarmonicElectricFieldComponents
bool Maxwell::plotIntensity
int Maxwell::plotOptions

Referenced by Maxwell(), plot(), and solve().

bool Maxwell::plotRho
bool Maxwell::plotScatteredField
bool Maxwell::plotTotalField
int Maxwell::pmlErrorOffset
real Maxwell::pmlLayerStrength
int Maxwell::pmlPower
Oges* Maxwell::poisson
DialogData * Maxwell::pParametersDialog

Referenced by plot().

realCompositeGridFunction* Maxwell::pPhi
DialogData* Maxwell::pPlotOptionsDialog

Referenced by plot().

realCompositeGridFunction* Maxwell::pRho
FILE* Maxwell::probeFile
aString Maxwell::probeFileName
ArraySimple<int> Maxwell::probeGridLocation
ArraySimple<real> Maxwell::probes
bool Maxwell::projectFields
bool Maxwell::projectInitialConditions
bool Maxwell::projectInterpolation
GraphicsParameters Maxwell::psp

Referenced by plot().

real Maxwell::pwc[6]
int Maxwell::radbcAxis[2]
int Maxwell::radbcGrid[2]
int Maxwell::radbcSide[2]
RadiationBoundaryCondition* Maxwell::radiationBoundaryCondition
real Maxwell::radiusForCheckingErrors
int Maxwell::rc
ArraySimple< ArraySimple<real> > Maxwell::REcoeff
ShowFileReader* Maxwell::referenceShowFileReader

Referenced by getErrors(), Maxwell(), and ~Maxwell().

ArraySimple< ArraySimple<int> > Maxwell::REindex
ArraySimple< ArraySimple<real> > Maxwell::RHcoeff
ArraySimple< ArraySimple<int> > Maxwell::RHindex
GUIState* Maxwell::runTimeDialog
bool Maxwell::saveDivergenceInShowFile

Referenced by updateShowFile().

bool Maxwell::saveErrorsInShowFile

Referenced by updateShowFile().

bool Maxwell::saveGridInShowFile

Referenced by Maxwell(), and saveShow().

ArraySimple< ArraySimple<int> > Maxwell::SEindex

Referenced by printMemoryUsage().

RealArray Maxwell::sequence
int Maxwell::sequenceCount
ArraySimple< ArraySimple<int> > Maxwell::SHindex

Referenced by printMemoryUsage().

Ogshow* Maxwell::show
int Maxwell::showFileFrameForGrid

Referenced by Maxwell(), and saveShow().

int Maxwell::sigmaEc
RealArray Maxwell::sigmaEGrid
RealArray Maxwell::sigmaEv
int Maxwell::sigmaHc
RealArray Maxwell::sigmaHGrid
RealArray Maxwell::sigmaHv
real Maxwell::sizeOfLocalArraysForAdvance
real Maxwell::slowStartInterval
RealArray Maxwell::solutionNorm
bool Maxwell::solveForElectricField
bool Maxwell::solveForMagneticField
real Maxwell::tFinal
RealArray Maxwell::timeSequence
enum Maxwell::TimeSteppingMethodEnum Maxwell::timeSteppingMethod
RealArray Maxwell::timing
aString Maxwell::timingName[maximumNumberOfTimings]

Referenced by Maxwell(), and printStatistics().

real Maxwell::totalEnergy

Referenced by getEnergy(), Maxwell(), and outputResults().

int Maxwell::totalNumberOfArrays

Referenced by checkArrays(), and Maxwell().

real Maxwell::tPlot
enum Maxwell::TwlightZoneForcingEnum Maxwell::twilightZoneOption
OGFunction* Maxwell::tz
ArraySimple<ArraySimple<UnstructuredMappingAdjacencyIterator> > Maxwell::ulinks

Referenced by advanceUnstructuredDSI().

ArraySimple<ArraySimple<int> > Maxwell::ulinksE
ArraySimple<ArraySimple<int> > Maxwell::ulinksH
bool Maxwell::useChargeDensity
bool Maxwell::useConservative
bool Maxwell::useConservativeDivergence
bool Maxwell::useDivergenceCleaning
bool Maxwell::useGhostInReconstruction
bool Maxwell::useNewInterfaceRoutines
bool Maxwell::useStreamMode

Referenced by Maxwell(), and updateShowFile().

bool Maxwell::useTwilightZone

Referenced by Maxwell().

bool Maxwell::useTwilightZoneMaterials
bool Maxwell::useVariableDissipation
realCompositeGridFunction* Maxwell::variableDissipation
RealArray* Maxwell::vpml
real Maxwell::x0GaussianPlaneWave
real Maxwell::x0PlaneMaterialInterface[3]
real Maxwell::xab[2][3]
real Maxwell::y0GaussianPlaneWave
real Maxwell::z0GaussianPlaneWave

The documentation for this class was generated from the following files: