An example (FDMO_test.zmx) demonstrating the use of the FDMO operand can be found in the .ZIP file located at the end of this article. This example contains a simple system of dummy surfaces, for which the ray coordinates can be easily calculated analytically. The design has three configurations: each configuration allows both the field type to be modified and for surface 1 to either be included or ignored:
The field point values for Field 1 and Field 2 are (0,0) and (0,1), respectively, with radial normalization of the field coordinates:
Ray coordinates are determined for this simple case using the CENX and CENY operands. These calculations are consistent with the equation:
Tan q = Object Height/Object Distance = Image Height/Image Distance
so that the ray position on the image plane (i.e. the image height) is simply the ratio of the object height to the object distance multiplied by the image distance (= 10 mm). The object distance is 200 mm (thickness of object plane plus thickness of surface 1) for configurations 1 and 3 and 100 mm for configuration 2 (where surface 1 is ignored).
Calculations of the ray x and y positions are performed in the Merit Function editor, both for the original field data as well as for modified field data:
As the x and y coordinates of the field data for each field point are varied, the corresponding values for the image height in x and y track accordingly. Notice that when each CONF operand is reached, the original field data are restored.
A more interesting example which employs the FDMO operand is for the calculation of the Strehl ratio at arbitrary field points. This calculation is currently available using the analysis feature Analysis > RMS > RMS vs. Field, where the Strehl ratio (S) is calculated from the RMS wavefront error (s) using the formula:
S = Exp(-(2ps)2)
The Strehl ratio may also be calculated using the STRH operand, which employs the Huygen’s PSF computation. To calculate the Strehl ratio at arbitrary field using the STRH operand, we construct a Merit Function which alternates FDMO operands and STRH operands. This procedure is automated using a ZPL macro (FDMO_TEST.ZPL), which can be found in the .ZIP file located at the end of this article. This macro is to be used with the lens file \ZEMAX\Samples\Sequential\Objectives\Doublet.zmx (before running the macro with this file, you will need to add a field data point in the Field Data dialog box, with x=0 and y=2). The macro uses the keyword SETOPERAND to place the FDMO and STRH operands in the Merit Function editor with the appropriate input values. The functions MFCN and OPER and then used to evaluate the Merit Function and return values for the Strehl ratio, respectively. The PLOT keyword is then used plot the results to a graphical window.
Computation of the Strehl ratio using the above formula is also performed in the macro, and results obtained from the two methods are presented in the same graph for comparison:
For values of the Strehl ratio corresponding to diffraction limited performance (S > 0.25), there is very good agreement between the methods of calculation. For lower values of S the methods disagree in this case. However, the formula used to calculate the blue curve is generally only valid for small values of the wavefront error, which is becomes less and less true as S gets smaller. Thus, in this region the Huygens computation (as given by the STRH operand) is much more likely to yield an accurate result.
If you open up the Merit Function editor after executing the macro, you will find that the appropriate number of FDMO and STRH operands have been placed within it: