| 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 | ||
| 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 | ||
| 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, | ||
| edges, and | ||
| 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