January 22 Updated January 23 Phil Hobbs
A Programmable Optimizing Electro-Magnetic Simulator Release
IBM T. J. Watson Research Center Yorktown Heights, NY
?88,.d88b, d8888b d8888b
Page
A Programmable Optimizing Electro-Magnetic Simulator Release
August 21 Phil Hobbs
IBM T. J. Watson Research Center Yorktown Heights, NY
POEMS
Chapter
Appendix A. V-Antenna Optimization Run
Chapter Introduction
1.1. Motivation
1.1.1. Philosophy
1.1.2. Structure
1.1.3. Optimization
Page
Optimization Loop
Front-End Script POEMS.CMD
FDTD Engine FIDO + CLUSTER SCRIPT or TEMPEST
Postprocessor
2. HOW POEMS WORKS
2.1. Program Organization
2.2. The Front-End Script poems.cmd
2.2.1. Script Operation
2.3. The FDTD Engine FIDO/TEMPEST
2.4. The Postprocessor EMPOST
empost ordersfile resultsfile
2.5. The Visualization System VIS5D
2.6. Cluster Control
2.6.1. Parallel Processing
3. USING POEMS
3.1. Command Reference
3.1.1. poems Command-Line Options
3.1.2. GLOBAL Group
FREQ 200*THz
NB Hosts are identified by their hostname as specified by the
$HOSTNAME environment variable, rather than by IP address. This
aliases in different SUBDOMAIN statements in the parameters file
which means that the host’s predefined hostname is not used
MACRO
Syntax PRINT string expression
3.1.3. WORLD Group
3.1.4. MATERIAL Group
Syntax XRANGE minexpression maxexpression
DEFINE matname=copper type=conductor conductivity=5.8e7
Parameters epsReal epsImag muReal muImag
DEFINE matname= BlackGlass type=dielectric n=1.52 k=1e-3
3.1.5. OBJECT Group
xhi1,yhi1,zhi1 and xlo2,ylo2,zlo2, xhi2,yhi2,zhi2. These must be
phasefunc interval
xhi2 ylo2 yhi2 zlo2 zhi2
Parameters matname orientation xlo xhi ylo yhi zlo zhi widthfunc
Parameters mattype xlo xhi ylo yhi zlo zhi thickness
Parameters mattype xlo xhi ylo yhi zlo zhi
Parameters mattype slo shi perp hfunc vfunc
Not implemented in this release
Parameters mattype axis lo hi maxradius insidefunc
Parameters x y z width kx ky kz Ex Ey Ez mag phase n k orientation
Parameters x y z kx ky kz Ex Ey Ez mag phase orientation
3.1.6. SOURCE Group
ParametersNot implemented in this release
3.1.7. COMMAND Group
Parameters x y z Ex Ey Ez mag phase
3.1.8. OUTPUT Group
Parameters reltolerance maxcycles mincycles timestep
Parameters variable xlo xhi ylo yhi zlo zhi x y z file
phase state
3.1.9. POSTPROCESS Group
supplied plane, xmin ≤ x ≤ xmax, ymin ≤ y≤ ymax, zmin ≤ z ≤ zmax
Parameters name xlo xhi ylo yhi zlo zhi file direction
towards from xInside, yInside, zInside
Parameters name xinside yinside zinside xlo xhi ylo yhi zlo zhi
Parameters file orientation xlo xhi ylo yhi zlo zhi phase indexn
The value of coordinates can be polar or rectangular, and arrangement
Parametersfile orientation xlo xhi ylo yhi zlo zhi dt frames variable
Parameters frames variable1 variable2 variable3 variable4 variable5
variable6 variable7 variable8 variable9 xlo xhi ylo yhi zlo zhi file
MOVIE
Parameters name xlo xhi ylo yhi zlo zhi file xinside yinside zinside
level
DISSIPATION
level
3.1.10. OPTIMIZE Group
arbitrary boundary. Not implemented in this release
not be updated at postprocessing time. That means that the
Syntax GUESS var1 = expression var2 =, expression
3.1.11. SCHEDULE Group
PENALTY expression
Parameters iterations tolerance restarts
Stepping is not implemented in this release
3.2. The Computational Domain
3.2.1. Symmetry
Unfolded 2N-2 Rows
Actual Domain N rows Image Domain N-2 Rows Next Period
3.3. OBJECTS
3.3.1. Perfectly-Matched Layers
3.4. MATERIALS
3.5. SOURCES
3.5.1. POINT SOURCES
3.5.2. PLANE WAVES
Page
3.5.3. BEAM SOURCES
3.5.4. MODEFILE SOURCES
3.6. Optimization
3.6.1. Merit Functions
c. Phase uniformity across a plane
e. Power dissipation in a load dissipation
d. RMS Voltage across terminal points
f. Reflection from an interface
3.6.2. Worked Example Optimizing a V Antenna
F i g u r e 2 . 1 2 Optimized V-antenna
Page
3.7. Predefined Constants
3.6.3. Worked Example Doped Silica Waveguide Mode
3.6.4. Worked Example Glass Ridge Waveguide to Free Space Coupler
3.7.1. Reserved Names
i l l u m i n a t i o n p l a n e a f t e r
a. Differences from C/C++
3.8. Predefined Mathematical Functions
3.8.1. Arithmetic Operators
3.8.2. Logical Operators
3.8.3. ABS
3.8.4. ACOS
3.8.5. ACOSH
3.8.10. ATAN2
3.8.11. CEIL
3.8.12. COS
3.8.13. ELINTK
3.8.19. INTEGRAL
3.8.20. LN
3.8.21. MAX
3.8.22. MIN
3.8.26. RANDOM
3.8.27. ROOT1D
3.8.28. ROUND
3.8.29. SIGN
3.9. Analytical Pupil Functions
3.10. Material Parameter Functions
2. Time step
A. TEMPEST and General FDTD Information
1. Startup and Steady State
printftime step after adjustment %e\n,dtfflushstdout
periodstep+=2 i=periodstep%4 if i!=0 periodstep=periodstep+4-i
dt=2.0*PI/omega*FLOATperiodstep
fprintfstderr,periodstep %d\n,periodstep
Appendix A. V-Antenna Optimization Run
The run will produce lots of bitmaps at appropriately chosen locations
A.1. POEMS INPUT DIPOLE2I.PAR
Fundamental dimensions
set phi=0 /* phase of excitation */ set ky0=step/lambda
set dipoleheight=0.2*um set dipolethickness=0.30*um
set kx0=0 /* direction of plane wave set loadlength=2*step
DEFINE matname= Load
type=dielectric n=nload
k=kload
END WORLD SUBDOMAIN ALL XRANGE 0 xsize YRANGE 0 ysize ZRANGE 0 zsize
END COMMAND COMPUTE maxcycles = 25 reltolerance = END OUTPUT
zhi=zsize phase=0 state=steady file=Dipole2Iexi
zlo2 = Zvertex-DipoleThickness/2 zhi2= Zvertex+DipoleThickness/2
FAN matname=PCL taper=linear taperpar=0
END OPTIMIZE
STORE Dipole2I.simplex MERIT diss*1e12
PHASEEX
xlo=0 xhi=xsize ylo=0 yhi=ysize zlo=0 zhi=zsize file=Dipole2IPhaseEx
POSTPROCESS
AMPLEX
zlo=zsize/2+step zhi=zsize/2+step, file=Dipole2IIndexXY.bmp phase=0
file=Dipole2IPZXY.bmp phase=0 palette=redblue
zhi = zsize-Tpml-step xinside=xsize/2 yinside=ysize/2 zinside=zsize/2
FLUX name=MiddleFlux , /* crossing the middle z=zsize/2 xLo = Tpml
file=Dipole2IPZZX.bmp phase=0 palette=redblue
file=Dipole2IPXXY.bmp phase=0 palette=redblue
file=Dipole2IPXZX.bmp phase=0 palette=redblue
file=Dipole2IAmpExZX.bmp phase=0 palette=flame
SLICE orientation=xy variable=PhaseEx , xlo=0 xhi=xsize
SLICE orientation=zx variable=PhaseEx , xlo=0 xhi=xsize
file=Dipole2IExIZX.bmp phase=0 palette=redblue
file=Dipole2IDissXY.bmp palette=redblue
file=Dipole2IExQZX.bmp phase=pi/2 palette=redblue END
ylo=ysize/2 yhi=ysize/2, zlo=0 zhi=zsize
A.2. tempest Input File DIPOLE2I.PAR.IN
rectangle node
0 100 index 1.000000
plot hy steady 0.250000 node 0 99 0 99 0 99 dipole2ihyq
Written by
56 pages of pointsource statements omitted
A.3. Postprocessor orders DIPOLE2I.ORDERS
empost dipole2i.orders outfile v5dfile
DIPOLE2IEYI
NULLEXI
ARRAY
Domain for comparison e.g. modematch
0.00000
SLICE
POSTPROC.16.COMPARISONDOMAIN
0.00000
SLICE
A.4. Run Results DIPOLE2I.SIMPLEX
Contracting by 0.5 in 1D 1-D shrink unsuccessful
0.00000064767135 98.83191 0.000001519205 Penalty =
0.00000069266248611 90.849532778 0.00000152214633334 Penalty =
0.000000883423566665 77.7563866665 0.0000017351705 Penalty =
Reflecting through centroid. Contracting by 0.5 in 1D
Reflecting through centroid. Contracting by 0.5 in 1D
Reflecting through centroid. Contracting by 0.5 in 1D
Reflecting through centroid. Contracting by 0.5 in 1D
Reflecting through centroid. Contracting by 0.5 in 1D
Reflecting through centroid. Contracting by 0.5 in 1D
Reflecting through centroid. Contracting by 0.5 in 1D
Failed to converge in 36 function evaluations
Reflecting through centroid. Contracting by 0.5 in 1D
Reflecting through centroid. Contracting by 0.5 in 1D
1-D shrink unsuccessful
0.000000572297880735 102.392565535 0.00000148853488604 Penalty =
Converged in 56 function evaluations
Reflecting through centroid. Contracting by 0.5 in 1D
Reflecting through centroid. Contracting by 0.5 in 1D
B.1.1. tempest patches
Appendix B. Configuration
B.1. FDTD and TEMPEST
B.1.3. Advice common to all or most FDTD programs
B.1.2. tempest limitations
b. Understanding convergence
c. Hints and Kinks
B.2. REXX
B.3. X Window System Configuration
B.3.1. Sample X11 Configuration
B.4.1. Wish list
B.3.2. Running Vis5D
B.4. Release Notes
B.4.2. Beta Release Limitations
ZX plane Y perpendicular +Z right, +X up, +Y out of screen
XY plane Z perpendicular +X right, +Y up, +Z out of screen
YZ plane X perpendicular +Y right, +Z up, +X out of screen
Appendix C. Multiprocessing
INDEX
Airy pattern Antenna 1, 39, 40, 45, 51, 52
BASICSTEP 16, 18, 24, 54, 62 Boundary 7, 15, 19, 29, 31
C++ 7
Periodic boundary conditions 31, 34