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".
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
- 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.)
- 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-
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
- 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.
- 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.
- 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
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.)
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.
- 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
- 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.)
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
- 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.
- 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
- 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.
- 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
- 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