IBM Release 1.93 manual Fdtd and Tempest, Tempest patches

Page 85

Appendix B.: Configuration

An axiom of programming is that in setting up a new development system, once you can get "Hello, World" to compile, link, and run, you’re most of the way there. With POEMS, the equivalent point is when you have the REXX interpreter working and VIS5D’s demos running in X. If you’re new to FDTD simulation, you may encounter some puzzling behaviour, especially numerical divergences if you try to pack things in too tightly. This appendix is intended to make these things easier.

B.1. FDTD and TEMPEST

B.1.1. tempest patches

a. Floating-point errors FDTD codes in general are highly vulnerable to floating-point errors, e.g. overflow and divide-by-zero. Since the updates to each point depend on the values of all fields at all neighbouring points, if a cell generates a floating-point error condition on step n, all its neighbours will do so on step n+1, and so on. Thus the error propagates throughout the simulation domain at the speed of light, and all information is lost.

Floating point errors can cause exceptions to be generated, in which case TEMPEST will abort. The generation of FP exceptions is controlled by the floating-point control register. If a given exception type (e.g. EM_ZERODIVIDE is masked off, the FP unit will do its best to continue, usually producing an invalid floating point number. IEEE floating-point arithmetic has special values for some of these cases: NaN (not a number) and infinity. The version of TEMPEST supplied with POEMS masks EM_DENORMAL (unnormalized floating- point number, a result too small to be represented properly with full significand precision), EM_UNDERFLOW (values so small they underflow to zero), and EM_INEXACT (the result of the last FP operation was not an exactly representable number).

The main source of FP errors is divergence. Divergences typically result from too-cavalier use of PMLs or monkeying with the time step (you should use the default almost always).

b. Other bugs. Various coding problems, e.g. not bothering to return a value from main() and not rounding object coordinates correctly. The ones I know about are fixed or worked around in the version supplied with POEMS.

c. Increasing MAXORDERSOURCES and MAXPOINTSOURCES. TEMPEST limits us to 1000 plane waves and 100 point sources, which means we can’t build good beams or modefile sources. In this release, these have been increased to 5000 each.

d. Reducing the process priority. Both FIDO/TEMPEST and EMPOST run at reduced priority level (nominally 8 steps and 5 steps below normal, respectively). This is to avoid dragging other, less CPU-intensive tasks down and making the computer less responsive to the user. If you have CPU-intensive programs running at normal or high priority on the same machine as POEMS, your simulations will run very slowly.

81

Image 85
Contents IBM T. J. Watson Research Center Yorktown Heights, NY Page IBM T. J. Watson Research Center Yorktown Heights, NY HOW Poems Works Using PoemsMotivation Chapter IntroductionPhilosophy Optimization StructurePage Poems system organization Front-End Script poems.cmd Program OrganizationScript Operation Postprocessor Empost Fdtd Engine FIDO/TEMPESTCluster Control Visualization System VIS5DParallel Processing Poems Command-Line Options Command ReferenceGlobal Group Lambda FreqFunction HostsMacdef Which means that the host’s predefined hostname is not usedPrint MacroSET RandomseedSimulator Title World GroupVerbose BoundaryBasicstep Material GroupXrange Yrange DefineParameters epsReal epsImag muReal muImag Block Object GroupFAN Hollowbox GratingTiledplane 3DCURVE CurveCylinder Source Group Output Group Command GroupField Postprocess GroupCAD WebpageFlux FarfieldIntegral Modematch ListMOVIE3D MovieSlice DissipationVariables Optimize GroupGuess Store LimitPenalty Merit Parameters Schedule GroupRange Symmetry Computational DomainObjects Materials Perfectly-Matched LayersPlane Waves Page Beam Sources Merit Functions OptimizationPhase uniformity across a plane 10 Optimized V antenna refractive Worked Example Optimizing a V AntennaPage Worked Example Glass Ridge Waveguide to Free Space Coupler Worked Example Doped Silica Waveguide ModePredefined Constants Confine Reserved NamesArithmetic Operators Predefined Mathematical FunctionsABS Logical OperatorsAcos AcoshCeil ATAN2COS Elintk20. LN IntegralMAX MINROOT1D RandomRound SignMaterial Parameter Functions Analytical Pupil FunctionsFlattop Startup and Steady State Tempest and General Fdtd InformationTime step Page Appendix A. V-Antenna Optimization Run Poems Input DIPOLE2I.PAR END Material END Object END World Subdomain ALLEND Source END CommandEND Output END Optimize END Postprocess Amplex PhaseexPage Page Page END Tempest Input File DIPOLE2I.PAR.IN Written by Phil Hobbs Pages of pointsource statements omitted ALL Postprocessor orders DIPOLE2I.ORDERSDIPOLE2IEXI DIPOLE2IEXQDIPOLE2IEYQ DIPOLE2IEYIDIPOLE2IEZI DIPOLE2IEZQPOSTPROC.1.NAME MiddlefluxArray Amplex POSTPROC.1.PARMSTRINGArray DIPOLE2IPHASEEXPOSTPROC.2.PARMSTRING FF2POSTPROC.6.NAME DIPOLE2IPXArray Poyntingz DIPOLE2IPZPOSTPROC.10.PARMSTRING POSTPROC.9.PARMSTRINGPOSTPROC.11.NAME Slice IndexnPOSTPROC.13.COMPARISONDOMAIN Slice PoyntingzDIPOLE2IPZXY0.BMP POSTPROC.14.NAMEDIPOLE2IPXZX0.BMP POSTPROC.16.COMPARISONDOMAINPOSTPROC.17.NAME Slice AmplexDIPOLE2IPHASEEXZX0.BMP DIPOLE2IPHASEEXXY0.BMPPOSTPROC.20.COMPARISONDOMAIN DIPOLE2IDISSZX0.BMPDIPOLE2IEXQZX0.BMP POSTPROC.24.COMPARISONDOMAINRun Results DIPOLE2I.SIMPLEX Page Page Page Page Page Tempest patches Fdtd and TempestTempest limitations Advice common to all or most Fdtd programsSample X11 Configuration Window System ConfigurationRelease Notes Running Vis5DWish list Beta Release Limitations Page Page Emdenormal Emunderflow IndexMatlab Maxordersources 81 Maxpointsources