TFCalc 3.0 Changes

[ Contents ] [ Index ] [ Home ]

Major New Features

These features and many others are described in more detail below. The page numbers refer to pages in version 3.0 of the "Guide to TFCalc".

User Interface

  • Resizeable Windows. All windows are resizeable. Sizes and locations are remembered.

  • Edit cells in data windows have been enlarged slightly.

  • When you add a new material, substrate, illuminant, or detector, TFCalc opens the data window automatically.

  • You are warned if you run the TFCalc program and a math coprocessor is present; you should run TFCalc-HS.

  • Added the "Window Options" command to the Misc menu. This allows you to control which windows are opened automatically when a coating file is opened. (See page 32.)

Needle Optimization

  • Up to 8 materials may be used in Needle optimization. (See page 24.)

  • Needle optimization improvement: if the best needle value occurs at multiple positions, then all are added. This occurs rarely, but it corrects a bias in the old procedure.

  • Needle improvement: when the needle method is used with more than two materials, and you have selected "add many", then it was possible for two needles to be added at the same position. Now only the best one is added.

  • Fixed problem in needle optimization when average polarization targets are used at non- normal incidence.


  • Thickness Constraints. Added the capability of constraining layer thicknesses between a minimum and maximum value. This is for the gradient and variable metric methods (not Simplex) when layers (not groups) are being optimized. The thickness constraints may be entered in either nm or QWOT. When constraints are used, the initial thickness is allowed to be less than the minimum thickness or greater than the maximum thickness; thin layers are allowed to grow and thick layers are allowed to shrink. (This feature makes constraints compatible with needle optimization -- but this is not recommended.) (See page 10.)

  • Improved the performance of the gradient and variable metric methods when constraints become active. Note that this may occur when (1) the thickness of a layer becomes zero or (2) when a variable index reaches its maximum or minimum index.

  • Improved the optimization of variable materials for non-normal angle of incidence.

  • In the Optimization Parameters dialog, Max. Iterations can be zero and the Error Tolerance can be set as low as 1.0e-8. When 1.0e-8 is used, the optimization methods take a little longer to converge, but the thickness results are more accurate.

  • Made "Variable Metric" the default optimization method; it is almost always better than the gradient method.

  • During optimization, if the index profile is displayed, then the total number of layers and the total physical thickness are displayed. Also, the index profile displays the thickness of slightly absorbing layers correctly.

  • Added the "Max" power button in the optimization dialog. This button can be used only when the Simplex method is selected. When selected, the merit function becomes the maximum of the target deviations; it is no longer the sum of power of target deviations. Unfortunately, this "max" merit function is not smooth. Hence, only the Simplex method works with this option. (See pages 20 and 23.)

  • The global search algorithm uses the thickness constraints.

  • Fixed problem with optimizing color if there was more than one color target.

  • Batch Optimization. Added the capability of "batch" processing the optimization of coatings. When TFCalc starts, it looks for a folder called "Batch"; if you have copied design files to that folder, they are optimized and moved to the "Finished" folder.

Optimization Targets

  • Added the capability of entering targets such as Rp-Rs. To create such a target, enter D in the polarization row of the Target window. This type of target is useful in creating polarizing and non-polarizing coatings.

  • Derivative Targets. Added the capability of entering derivative targets: first, second, and third derivatives of intensity and phase with respect to wavelength (in nanometers) or wave number (in 1/cm). Use the Simplex method to optimize third-derivative targets.

  • Added the "Generate Derivative Targets" command to the Option menu when the Target window is front-most. This simplifies the use of derivative targets. (See page 14.)

  • Psi targets can be used in optimization.

  • The tolerance of an optimization target can now be between 0.001 and 1000. Previously, the limit was 0.01 to 100. You should be careful not to use very small tolerances with large deviations; in some cases, this could result in overflow errors.

  • Increased the maximum number of optimization targets to 900.


  • When a design is being analyzed, the polarization is no longer shown in the progress box. Also, the progress box is updated only every tenth of a second.

  • Increased the maximum number of analysis wavelengths to 10001 on the Mac and 8001 on the PC. The previous maximum was 1001. Note that the results of analyzing a coating design at 10001 wavelengths (or angles) requires a large amount of memory (about 1000K). Any calculation requiring multiple sets of results (sensitivity and cone-angle average) will fail if there is not enough memory.

  • During "analyze only", memory is handled better. If it runs out of memory, it reduces the number of wavelengths at which the analysis is done, and then tries again.

  • TFCalc is now approximately four times faster when an absorbing material or substrate is used in a design, but the the design is analyzed or optimized at wavelengths where the substrate and all the materials are non-absorbing.

  • Ellipsometric Calculations. Psi can be computed and displayed. (The computation of Del has been available in previous TFCalc versions.)

  • Changed the manner in which the merit function is computed, avoiding overflow on PCs without a math coprocessor.

Color Analysis

  • The color is converted to RGB and displayed in a small box in the Color Chart. Note that the accuracy of this color depends on the computer monitor and how color is rendered by the operating system.

  • Zoomed Color Charts. All the color charts can be zoomed. (See page 31.)

  • LAB Color Chart. The LAB color is displayed in a chart. Color sensitivity can be displayed in this LAB chart.

  • Added cursor to the color chart.

  • Added the capability of computing the color of spectral data stored in a text file. This is a new command on the Misc menu. It is available only when no coating file is open. Note that the wavelengths in the data file (1) must be spaced uniformly with an increment of at most 10 nm and (2) must include wavelengths from 380 nm to 780 nm. (See page 32.)

  • Added the option of saving color sensitivity data to a file. The chromaticity coordinates (X,Y,Z) are written to a tab-delimited text file. If R and T colors are being viewed, then R and T data will be written to the file; otherwise just R or just T data will be written. When the color sensitivity data is saved in a file, the first line contains the coordinates of the nominal design. (See page 29.)

Sensitivity Analysis

  • Layer Sensitivity. Added the "Compute Layer Sensitivity" command to the Run menu. Generally, this should be used only after a design has been optimized. For each layer being refined, it displays how sensitive the merit function is to small changes in the layer thickness. It displays results only for layers being refined. (See page 23.)

  • Fixed problem in sensitivity calculation: if the layer thicknesses are assumed to vary by an absolute amount, call it X nm, then the layer thickness was actually varied by X times the group factor for that layer. This is not a problem if all the group factors are 1.0 or if the thicknesses are varied by a relative amount.

Optical Monitoring

  • Added the capability of monitoring delta and psi and the P and S polarizations of reflectance and transmittance. (See page 26.)

  • Change in TFCalc manual: the monitor ratio is proportional to the square of the ratio of the monitor distance and the rack (work) distance.

  • Added the capability of zooming the x-axis of the monitoring plot. (See page 31.)

  • The monitoring chip now has a thickness. The user may specify whether the back side of the chip reflects. If so, then the reflection due to the back surface is taken into account. If the chip is absorbing, this is taken into account also. (See page 26.)

  • Increased the number of points computed to 400 (from 200).

  • Added the option of saving monitoring data to a file. The data is written to a tab-delimited text file. The x-coordinate is given in nanometers. When adjacent x-coordinates are equal, this implies that this is an interface between two layers. (See page 30.)

Electric Field Analysis

  • TFCalc now uses the standard normalization for EFI, which is a factor of four larger than in previous versions of TFCalc.

  • Added a readout cursor to the EFI window. For the x-coordinate, it displays the physical distance (nm) inside the coating, measured from the top surface of the top (i.e., last) layer of the design.

  • Increased the number of points computed to 400 (from 200).

  • Added the option of saving EFI data to a file. The EFI data is written to a tab-delimited text file. If P and S polarizations are being viewed, then P and S data will be written to the file; otherwise just P or just S data will be written. The x-coordinate is given in nanometers. When adjacent x-coordinates are equal, this implies that this is an interface between two layers. (See page 29.)

Refractive Index

  • Dispersion Formulas. Allow you to enter refractive index as either tables or as dispersion formulas. There are formulas for N and K. (See page 16.)

  • TFCalc checks that all optimization and analysis wavelengths are within the range of data in tables. That is, data is no longer extrapolated -- except when a table contains data at only a single wavelength.

  • Added new configuration option: Allow tabular data to be extrapolated. (See page 32.)

  • Added the capability of converting dispersion formulas to tabular data.

  • Allow the incident medium to be absorbing. We ignore the k.

Windows-Only Changes

  • Corrected the computation of LAB-CIE color.

  • Fixed problem in printing density targets; the equivalent transmittance was printed instead.

  • Fixed the Printer Setup command. Now the printer setup can be changed from within TFCalc.

  • Made sure that there is a 0.5 inch margin on all sides of printouts.

  • TFCalc prevents you from creating file names containing an "=" character.

  • Fixed problem of missing text in the "Read Targets from File" dialogs.

Macintosh-Only Changes

  • System 7.0 (or later) is required.

  • TFCalc shares CPU time with other applications. Also, TFCalc can work in the "background". That is, you can use other applications while TFCalc is working on a long optimization.

  • Almost all dialogs are automatically centered on the screen.

  • Fixed a minor plot problem: when displaying phase and the range 0 to 360 degrees was selected, the 360 line was not drawn.

  • Increased optimization speed by about 33%, with no loss in accuracy.

  • Put preferences file in the Preferences folder.

  • Command-W is a shortcut for closing the front window.

  • Eliminated program crashes due to error 25 (which means that TFCalc ran out of memory). This error usually occurred during the optimization of complex designs.

  • Improved the handling of low-memory conditions. If TFCalc runs out of memory, it removes any saved results from memory. You are warned when saved results have been deleted.
Copyright © 1995-2008 Software Spectra, Inc.