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:

MC editor for simple FDMO example

The field point values for Field 1 and Field 2 are (0,0) and (0,1), respectively, with radial normalization of the field coordinates:

Field Data dialog box for simple FDMO example

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:

MF editor containing results from simple FDMO example

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.