BRO is pleased to announce the release of ASAP NextGen 2020 V2. With an easy to use user interface and a host of integrated features, ASAP NextGen is defining the power, flexibility and ease of use for optical software. For more information, please contact us.

 

COATING TABLE

The COATING TABLE command reads a table of reflectance and transmittance values, which may then be assigned to an object. The table is read from a text file that is supplied by users in the ASAP working directory.
It includes values of reflectance and transmittance for both s and p polarization at a series of incident angles, and for one or more wavelengths. The table defines an ASAP coating that is assigned to objects in an ASAP model.

During a ray trace ASAP interpolates between the values entered in the table to scale the reflected and transmitted power of rays that are reflected or transmitted from an object.

ASAP 2020 V2 includes the following corrections and enhancements:

  1. COATING TABLE now works when multiple processors are enabled.
    The previous release caused ASAP to hang (become unresponsive) because processes other than the root were unable to open and read the text file that contained the coating information.
  2. A bug that caused ASAP to crash when rays intersected a COATING TABLE surface at normal incidence is now fixed.
  3. A bug that caused ASAP to crash on COATING TABLE surfaces with no media entered on the INTERFACE command is now fixed.
  4. On objects with two different media entered on the INTERFACE command COATING TABLE now uses reciprocity to relate the transmittance for rays going from the low index side to the high index side to rays going in the opposite direction (high index to low index). Values entered in the coating table are assumed to apply to rays going from low index to high index.

For example, if the interface on an object is

INTERFACE COAT <my_coating_name> AIR BK7 ,

where BK7 is a glass, then the reflectance and transmittance values read from the coating table are assumed to be for rays incident from the low index side and departing within the high index side. If rays are incident from the high index side, ASAP uses reciprocity to interpolate values from the table.

This means that the transmittance for a ray incident from one side is equal to the value obtained if the refracted ray is reversed so it is incident from the other side. This is equality of reversed rays is correct for transmission, but is only correct for reflection when the coating is lossless.

If the coating is not lossless ASAP still uses reciprocity to find the reflectance. This value may be incorrect, but it is the best guess given the information that is currently present in the table. The next regular release of ASAP will include an option for two additional entries in the table.

These will be reflectances when going from high index to low index for the s and p polarization directions.

  1. COATING TABLE now does error checking of the user table of coating values and issues a message if an error is found.