If the two end faces are the same size and shape, all the curve
shapes are equivalent. The end faces can be offset laterally, so that
a fan statement can build a diagonal line.
Parameters: matname taper taperpar xlo1 xhi1 ylo1 yhi1 zlo1 zhi1 xlo2
xhi2 ylo2 yhi2 zlo2 zhi2
GRATING Adds a planar grating with lines of rectangular cross-section. The
line width and phase of the grating are arbitrary, and specified with
user functions of the coordinate variables. Thus the grating can
have its properties altered in a very general way during
optimization, e.g. having its Seidel aberration coefficients controlled
to optimize a coupling efficiency. Gratings are implemented by
evaluating phasefunc at a grid of points in the plane, and
constructing a phase contour map. Each grating line is generated
by following the contours at integral multiples of 2π, and centring a
rectangular block of total width defined by widthfunc on the contour
line, so that the grating’s diffractive strength is also a function of
position. Making the width too large or too small will result in the
spaces or lines disappearing, which is one way of making a grating
with a non-rectangular boundary. The default spacing between
phase points is two cells, but this can cause the script to run very
slowly, so it can be overridden with the optional parameter interval.
The interval parameter determines the grid on which the phase and
width functions are sampled, which influences the accuracy of the
contour maps and hence the grating placement.
Parameters: matname orientation xlo xhi ylo yhi zlo zhi widthfunc
phasefunc [interval]
HOLLOWBOX Adds a hollow box (rectangular shell) of specified outer dimensions
and thickness. It is implemented by dividing up the rectangular
box into 26 smaller blocks: 6 for the faces, 12 for the edges, and 8
for the corners. This primitive is especially useful for using PMLs
to isolate a region from its surroundings. When used with PMLs,
the outer dimensions must be the same as those of the simulation
domain. The PML absorption directions will be the outward
normals for the flat faces, outward-directed face diagonals for the
edges, and outward-directed body diagonals for the corners.
Parameters: mattype xlo xhi ylo yhi zlo zhi thickness
TILEDPLANE Adds a tiled plane (thick rectangular sheet) of specified outer
dimensions. It is implemented by dividing up the rectangular sheet
into 9 smaller blocks: 1 for the face, 4 for the edges, and 4 for the
19