Film Wizard

Film Wizard™ Professional is the most powerful, versatile, and user-friendly software package ever to be offered to the thin film engineer/scientist. It combines optimization and synthesis design capabilities with powerful analytical tools for interpreting spectrophotometric and ellipsometric data, modeling of film layers, and performing regressions to determine actual thicknesses and indices of deposited layers. In particular, Film Wizard™:

  • Incorporates five new optical thin film synthesis methods including Needle Synthesis.
  • Provides seven optimization algorithms, three of which are global.
  • Provides a constrained optimization option where the user may input maximum and minimum bounds for any variable that is optimized.
  • Computes and optimizes transmittance, reflectance, absorbtance, transmitted phase, reflected phase, ellipsometric parameters (tan(Ψ), cos(Δ), Ψ, Δ), optical density, user defined targets (e.g., Ts/Rp – Rs/Tp), electric field, and color coordinate targets.
  • Incorporates several unique material/layer models (Rugate, EMA, Graded, User Defined Index, and Super Lattices) which give the thin film designer more power and flexibility to determine solutions of complex design and material characterization problems.
  • Provides excellent 2D, contour, and 3D graphics.
  • Incorporates a VB style Macro Language.
  • Includes on-line help.


Film Wizard™ allows the user to construct designs with up to 1000 discrete layers (infinitely many layers if Super Lattices are employed). As many as 26 different materials may be specified. The thicknesses may be physical, optical, massive or mixed. Layers may be input either individually {1L 2H 1L 2H}, as stacks of repeated layers enclosed in parenthesis { (1L 2H)2 }, or as stacks of repeated groups within groups { ((1H 1L)5 2L)3 4H}. Layers may also be specified as quarter waves at different design wavelengths {1Lq450 1Hq650}. A spreadsheet style layer list allows editing of thickness, reference wavelength, material, and thickness type (i.e., massive, optical, or physical). Film Wizard™ allows the user to specify several important design options. In particular, the angle of incidence may be defined in vacuum or the actual incident medium, the substrate backside may or may not be included, and angle matching may be used in specifying optical thickness. Designs can be reversed or converted from physical to optical and back with a click of a button. When saving a project, Film Wizard™ saves the design, the optimization settings, the design parameter options, and the material list along with all material coefficients and index.


Film Wizard™ offers the user unparalleled choices in defining up to 14 different material types to use in a design. Film Wizard™ incorporates a large library of NK files for the more widely used materials which the user can edit and expand. Material types can also be defined by equation, either user-defined or one of the following:

  • Sellmeier
  • Cauchy
  • Cauchy Exponential
  • Temperature Dependent Cauchy
  • Drude
  • Lorentz Oscillator
  • Drude+Lorentz Oscillator
  • EMA
  • Graded
  • Rugate
  • Super-Lattice
  • User Defined

The user simply specifies the appropriate coefficients and the program calculates the correct indices. In addition to the above mentioned material types, Film WizardTM provides an EMA material model which is defined as a homogeneous mixture of up to 5 different materials. The EMA material model is very useful in modeling alloys, surface roughness, cermets, and polycrystalline materials such as polysilicon. The Graded Material (Layer ) model is similar to the EMA model in that it is a mixture of two materials; however, in the graded material the mixture ratio may be specified at different depths within the layer. The mixture ratio throughout the Graded Layer is assumed to be a linear interpolation of the mixture ratios at the user specified “nodes”. Up to 100 nodes are allowed. The Rugate model allows the user to specify a layer with a sinusoidal index of refraction profile. Film WizardTM also supports temperature dependent materials. Both the temperature dependence of the index of refraction and the thermal expansion may be specified.


Twelve different performance parameters can be evaluated during the analysis portion of the program, namely:

  • Transmission
  • Reflection
  • Absorbtance
  • Transmitted Phase
  • Reflected Phase
  • Ellipsometric Parameters Tan(Ψ), Cos( Δ)
  • Ellipsometric Parameters Ψ, Δ
  • Optical Density
  • Electric Field
  • User Defined Function

S, P, and Random Polarizations may be simultaneously evaluated and displayed. The analysis may be performed with one or two independent variables. Independent variables include:

  • Wavelength
  • Angle of Incidence
  • Thickness of any Layer
  • Thickness of the thin film stack
  • Index of Refraction ( n or k) of any material


Film Wizard™ provides a great deal of flexibility in specifying targets. An unlimited number of optimization targets is possible. Targets may include any individual or multiple combination of:

  • Transmission
  • Reflection
  • Absorbtance
  • Transmitted Phase
  • Reflected Phase
  • Ellipsometric Parameters Tan(Ψ), Cos(Δ)
  • Ellipsometric Parameters Ψ, Δ
  • Optical Density
  • Color Coordinates
  • User Defined Function

For each target the user may specify polarization, angle of incidence, weight, and target value. In addition the user may specify up to three user defined target equations using the above mentioned parameters as terms (e.g., Ts/Rp – Rs/Tp). Each target may be specified as equality or inequality (i.e., =, >, or <). Targets may be imported from spectrophotometer and ellipsometer data files. Targets can be automatically generated if desired. Color coordinate targets are also fully supported.

Another unique feature of Film Wizard™ is the choice of seven different optimization methods:

  • Modified Levenberg-Marquardt (a nonlinear gradient method)
  • Modified Simplex (a non-gradient method)
  • Pattern search (Hooke-Jeeves)
  • Golden Section
  • Global Modified Levenberg-Marquardt
  • Global Simplex
  • Statistical Monte Carlo

Global optimization allows the user to avoid local minima and obtain the best design (solution). Additionally, a constrained optimization option is provided so the user may input maximum and minimum bounds for any variable that is optimized. Consequently, the thin film engineer/scientist can restrict the optimization to produce solutions that are practical and reasonable. Also unique are the choices of coupled thickness (pick-up) variables, bounded indices, symmetric design, and worst case scenario. Optimization variables include layer thickness, indices, angle of incidence, index equation coefficients, Rugate parameters, graded layer parameters, EMA coefficients, user defined coefficients, and super lattice thickness’. Optimization variables may all be varied simultaneously. Up to four graphs may be displayed during optimization, and other applications can be run while optimization is executing in the background. The code implements double precision calculations for greater accuracy and control of round off errors in large designs.


Film Wizard™ incorporates five optical thin film synthesis methods: MultiBranch, Stochastic, Pattern Search, Flip-Flop and Needle Synthesis. These synthesis algorithms automate the design of optical coatings. No initial design is required. Apart from the specification of the desired optical performance of the coating, the only input data necessary are the substrate and ambient materials and a list of thin film materials (up to 26 different materials) that may be employed in the design. The Needles Synthesis algorithm is particularly useful in finding design solutions for unusual and difficult optical coating problems.

Needle Synthesis Examples

These designs were generated automatically using Film Wizard™ Needle synthesis, starting from a single layer.

  • Immersed polarized beamsplitter 490-700nm
  • Boudot filter
  • Hot mirror
  • Two channel wavelength division multiplexer

MultiBranch Synthesis Example

  • 4 layer wide angle antireflection coating


All results can be displayed graphically or in tabular form. Line, xy scatter, area contour, line contour, patch, and surface plots are all available. Results may be printed or saved as files. Many user options to label and edit graphs are available. A few of the options includes overlay plots, linear/log scale, merging plots from saved graphs, and attachment of labels and arrows. Also, the use of subscripts and superscripts is available in legends, graph titles, and labels. The graph data can be easily imported or exported to other software programs. In addition, the user may manually edit the graph data or apply user defined equations.

Macro Language

A macro language is provided which allows the user to extend the capabilities of Film WizardTM by providing a VB style basic language which a) offers full support for modern BASIC; b) supports in-code creation of custom dialog boxes using standard Windows controls such as: buttons, checkboxes, groupboxes, listboxes, option buttons, and text-edit controls; c) supports OLE Automation, which allows the macro language to programmatically access software components from other applications; d) offers the ability to declare and call any Windows API or external DLL function from within the macro language.

System Requirements

Microsoft Windows XP, Vista, Window 7, Window 8, Window 8.1, Window 10 operating systems.