How to define metal materials in OpticStudio

This article explains how to add metal materials using the coating file in OpticStudio. It describes the procedures of adding metal material and coating profile to an edited version of the default coating file. It also shows how to apply coating to an optical surface in OpticStudio. 

Authored By Kristen Norton


There are two different ways to define materials in Zemax OpticStudio (ZOS), using the Materials Catalog or using the Coating File. Glass materials can be easily defined via both methods, but the easiest way to add metal materials is using the Coating File. For most metals, any interaction with light occurs primarily at or within a few microns of the surface, so modeling the metal as a coating is a good representation of this thin layer.

This article describes how to define a metal as new material in an OpticStudio coating file, and then how to apply the coating to any relevant surfaces or faces of an object.

Defining a Metal Coating

For dielectric materials, like glasses, the index of refraction is real and the imaginary part of the index is zero. For metals, the index of refraction is complex. OpticStudio models this using the following expression:

where n is the index of refraction and k is the extinction coefficient.  In ZOS, a negative extinction coefficient, k, indicates an absorbing material.  For example, using the ZOS convention, the index of aluminum is approximately given by.


ZOS uses a text file format to define all coating data. A sample file called COATING.DAT is supplied with OpticStudio, and this is the default coating file used for new lenses. Multiple coating files may be defined and saved in the ZOS data folder, which usually is located in {Zemax}\Coatings. However, only one file is in use a time. The name of the coating file in use is specified in the Files section of the System Explorer. It is highly recommended that any modifications to COATING.DAT be saved in a file with a different name, so that subsequent updates to OpticStudio will not overwrite the changes made to COATING.DAT.

In the coating file, multiple keywords are used to define different types of coating data. These include:

MATE (for material)

TAPR (for taper profile)

COAT (for coating)

TABLE (for coatings defined by a table of points)

IDEAL (for ideal coatings)

IDEAL2 (for ideal type 2 coatings)

All of the material and taper definitions come first, then all of the coating definitions.

To create a coating with a new material, the new material must first be defined using the MATE data section.  The MATE data section has the following syntax:

MATE <user-defined material name>

wavelength   real   imaginary

wavelength   real   imaginary


The wavelength argument is always in micrometers, and the wavelengths must be specified in ascending order. The “real” value is the real index of refraction of the material at that wavelength. The “imaginary” value is the extinction coefficient.

Here are two examples of this in the default COATING.DAT coating file:

Materials defined in the MATE data section can then be referenced in the COAT data sections. The non-ideal COAT data sections have the following syntax:

COAT <coating name>

material   thickness   is_absolute loop_index   tapername

material   thickness   is_absolute loop_index   tapername


When the coating file is first read, ZOS verifies that each coating consists of materials that were defined in the material section. If the referenced materials are not defined, an error is issued.

The coating thickness is measured either in relative units of primary wavelength thickness in that medium, or in absolute micrometers.  If the relative units are used, then the thickness is defined by:

where λ0 is the primary wavelength in micrometers, n0 is the real part of the index of refraction of the coating at the primary wavelength, and T is the optical thickness of the coating specified in the coating file. If the “is_absolute” flag is zero, then the units are relative, otherwise, the coating thickness is absolute in micrometers.

The “loop_index” parameter is a shorthand syntax that replicates layers. Please see this section of the Help Files for more information on using this term: The Libraries Tab...Coatings Group...Defining Coatings...Defining Replicated Groups of Coating Layers.

If the “is_absolute”, “loop_index”, and “tapername” values are omitted from the syntax, then they are assumed to be zero.  So, to add a layer of a material in units scaled by the wavelength, use the following syntax:

COAT <user-defined coating name>

material   thickness

material   thickness


Here are examples in the coating file:

Editing the Coating File

To access the coating file, go to the Libraries Tab...Coating Tools...Edit Coating File:

Click Yes to save the coating file to a new name, since you’ll be editing it.

The new file will be saved in the Coatings folder, which is in the Zemax user data folder.

After editing a coating file, you need to reload the file so that ZOS sees the changes, and the next message you’ll see is just a reminder to do so.

Then, the coating file will open in a text window.

Materials are defined in the first section with the MATE syntax. Here is an example of a new material:

Coatings using the COAT syntax are defined in the next section. Note that the MATE material needs to be defined in the coating file before it can be used in the COAT coating definition.

Once you’ve added your material using the MATE syntax and defined the coating in the Coating file, click Save in the toolbar to save you changes.

Go to the Files section of the System Explorer, and verify that the new coating file is selected. Click Reload to load the newly saved changes.

To apply this coating to a sequential surface, go to the Coating section of the Surface Properties in the Lens Data Editor. The new coating will be listed in the drop-down menu. The items in the menu follow the same order as defined in the coating file.

Similarly, to use this material with a Non-Sequential Object, go to the Coat/Scatter section of the Object Properties in the NSC editor. The coating can be applied to the different faces of the object.

Additional Considerations for Non-Sequential

In order to see the effect of the coating, Use Polarization must be selected in the Ray Trace or other analysis settings. If you want to trace both the reflected and transmitted rays, you must also check Split NSC Rays option.

The NSC Layout plots have an additional control for Split NSC rays that must be selected to see both the reflected and transmitted rays.




Was this article helpful?
13 out of 14 found this helpful



Please sign in to leave a comment.