PhaseCODE Software 

PhaseCODE is the computer program for design and manufacturing of optical thin films. When installed on the office computer connected to the network, besides being used for design purposes, it can also remotely monitor the deposition process in the coating machine equipped with the GOC-10 controller. When used to control the deposition process, the PhaseCODE requires two OPC server applications to be installed on the host computer along with the PhaseCODE application. Both OPC servers are based on the Client/Server architecture. One server connects the host computer to the PhaseCODE Film Thickness Controller GOC-10. The other server connects the client computers on the network that have the PhaseCODE configured for remote operation, to the host computer that controls the coating machine.

Material and Substrate Manager

The material and substrate optical constants can be imported into the PhaseCODE application as properly structured TXT or CSV files, or can be deduced from the spectrophotometric transmission scans imported into the PhaseCODE as the CSV files. The Material and Substrate Manager is the PhaseCODE modul where the material and substrate refractive index (n) and extinction coefficient (k) data is interpolated or extrapolated using one of the three regression algorithms: rational functions, polynomials or linear regression. Depending on the material or substrate dispersion properties, each method has its own advantages and disadvantages. The most often used are the rational functions and the linear regression. Rational functions can give excellent curve fitting of n and k data for both metals and dielectrics. If there is no dispersion in the material, or if n or k cannot be successfully fitted using the rational functions, a linear regression is the preferred method. The material and substrate files are created, edited, and deleted within the Material and Substrate Manager. The wavelength region for which the material or substrate is defined, is associated with each file.

Coating Machine Manager

Materials and substrates defined in the Material and Substrate Manager can be grouped together within the Coating Machine Manager to form the Machine Configuration (MC) file, a set of data characteristic of a particular coating machine. The data includes the coating materials, the tooling factors, the optical chip substrates, the optical monitor measurement mode (transmission or reflection), the monochromator wavelength range, and the polarization state. Each machine configuration can be setup in its simplest form as the crystal monitor. A typical machine configuration consists of both the crystal and the optical monitor.


The PhaseCODE Design window is initiated when a new design is created or an existing design opened. Since the PhaseCODE is a Multi-Document Interface (MDI) application, many design files can be opened simultaneously, thus allowing the user to work on different designs at the same time. In addition, the data from one design can be copied and pasted to another design. Layer thickness in the design window is represented on the First Side page and/or the Second Side page in three columns adjacent to each other and functionally related to each other: the Phase Thickness [deg], the Physical Thickness [nm], and the Optical Thickness [FWOT]. When the value of one thickness changes, the other two are recalculated as the function of the thickness that has changed, the design angle of incidence, and the design wavelength. On the Design Data page, a user can set the preference for the thickness mode as the Phase Thickness [deg], the Physical Thickness [nm], or the Optical Thickness [FWOT]. This option determines how the spectral performance of the coating design is affected when changing the design wavelength or the design angle of incidence. For example, if the Phase Thickness [deg] is selected, changing the design angle of incidence will not cause a significant spectral shift of the coating design, but rather a change of its polarization state. New designs can be quickly created using the formula for the optical thin films. Among the different parameters on the Design Data page, the Design Angle of Incidence, the Design Wavelength, and the Design Frequency are often used to implicitly set the physical thickness of the layers. When comparing spectral transmission results of the two sided samples with the theoretical values from design, a user can conveniently switch from the single sided to the double sided substrate. This also enables a simultaneous plotting of the spectral curves for the First Side layers, the Second Side layers, and the resultant of both sides.


The PhaseCODE Plot window is initiated either from Design window or from the main menu bar. The reflectance, the transmittance, the absorptance, the reflectance phase or transmittance phase plots can be generated in terms of the wavelength or the frequency. By selecting a single sided substrate, the generated plots represent the interface between an input medium and a substrate. By selecting a double sided substrate, the generated plots represent the interfaces between an input medium and a substrate, and a substrate and an output medium. For the double sided substrates, the internal reflections between the interfaces are taken into account. To be consistent with the fundamentals of the thin film theory, by default the PhaseCODE program suspends calculations and warns a user if the double sided substrate has extinction coefficient different from zero within the wavelength range specified in the design. A user can check the box Skip the Substrate Absorption Test and enable the calculations regardless of the absorption. The Analysis dropdown list includes the Design Parameter Analysis and the Layer Thickness Variation. The Design Parameter Analysis generates the series of plots for the range of angles of incidence for a given thickness mode. The Layer Thickness Variation generates new plots while a user moves the slider associated with a value of the physical thickness of an individual layer.


The PhaseCODE Optimization window is initiated from the Design window. Design layers with the optimization set to ‘Yes’ can be optimized using either the Simplex or the BFGS algorithms. The Simplex is the default method and is strongly recommended because of its fast convergence and a good tolerance to the starting design. Up to 1000 transmittance or reflectance target functions can be specified and generated for the range of wavelength intervals, angles of incidence, and the polarization states. Duplicate target functions are automatically deleted. The same window contains a table with the target functions on the left-hand side, and the optimization plot on the right-hand side, and allows a user to manually change the data in the table by analyzing the plot. During the optimization process, a user can observe changes in the physical thickness of the optimized layers, interrupt the optimization, investigate the graphical output of the last iteration, continue the optimization, retain the new thickness, or revert back to the starting design.

Run Sheet

When the design file and the corresponding machine configuration file exist, a new run sheet can be created by combining the two files using the New Run Sheet procedure. This initiates the Run Sheet window, which can be also accessed by opening an existing run sheet with a standard open file procedure. When the run sheet is initially created, the PhaseCODE checks if the same materials and the machine configuration are defined within the Deposition Monitor. If they are, the hardware dependent parameters for each layer in the run sheet can be specified, such as the crystal change, the optical monitor chip change, the e-gun crucible pocket selection, the e-gun sweep pattern selection, and the ion source power selection.

Deposition Monitor

The PhaseCODE Deposition Monitor is a human machine interface (HMI) between the operator of the coating machine and the GOC-10 controller. The Deposition Monitor window can be accessed from the main menu bar when all other MDI child windows are closed. It is a multi-threaded application that requires an extensive computational speed and capacity to simultaneously process the thin film calculations, the multiple charts, the data transfer between the GOC-10 controller and the host computer, the data transfer between the PhaseCODE applications installed on the client computers on the network and the host compter, and the data logging.

The Deposition Monitor Machine Configuration (DMMC) file is a collection of data that represents a hardware configuration of the PhaseCODE Film Thickness Controller GOC-10. It also includes a set of deposition parameters for selected materials from the corresponding Machine Configuration (MC) file.


The PhaseCODE application offers extensive capabilities of generating and editing reports, as well as previewing and printing reports. Reports are saved as Rich Text Format (RTF) files and are readable by most word processors. All PhaseCODE windows include the Summary page where the data can be exported and edited before saving. Users can take advantage of useful features specifically developed for creating the PhaseCODE reports. For instance, if a design report is saved under the same name as design (which is the default option), then when a design file is open at a later time and different plots generated, a user can simply append any plot to the report without actually opening the report and performing the copy/paste operations. Also, any other summary document can be added to the design report using the copy/paste operations.

Reports have the following features:

  • Save, Save Report As, Page SetupPrint Preview, Print,
  • Edit (Undo, Redo, Cut, Copy, Paste, PasteSpecial, Find, Find Next, Replace, Insert/Remove Page Break, Select All).
  • Font (Standard, Advanced, Style, Size, Text Color, Text Background Color),
  • Paragraph (Borders and Background, Align Left/Center/Right/Justify, Bullets and Numbering, Word Wrap, Decrease/Increase Indent, Line Spacing, Background Color),
  • Format (Background, Background Color, Fill Color, Object Properties),
  • Insert (File, Picture, Horizontal Line, Hyperlink, Symbol),
  • Table (Insert Table, Insert Column Left/Right, Insert Row Above/Below, Delete Rows, Delete Columns, Delete Table, Select, Allign Cell Contents, Cell Borders, Split Cells, Merge Cells, Show Grid Lines).

PhaseCODE File Hierarchy

Because of the strong dependency between the PhaseCODE files, it is necessary to establish a method that protects the integrity of the files affected when other files are modified or deleted. Depending on the type of file, this is accomplished by either using the Material and Substrate Manager, the Machine Manager, or the File Manager - Delete/Rename File.

Material and Substrate files are the basic files that are used as the building blocks for creating Design and other PhaseCODE files. They are managed through the Material and Substrate Manager. Files that are derived from the Material and Substrate files are:

  • Design files,
  • Machine Configuration (MC) files,
  • Deposition Monitor Machine Configuration (DMMC) files, and
  • Run Sheet files.

At the bottom of the hierarchy are Material and Substrate files. Moving up the hierarchy , the files that are directly derived from the material and substrate files are Design and Machine Configuration (MC) files. Further up are Deposition Monitor Machine Configuration (DMMC) files that are derived from the MC files. At the top of the hierarchy are the Run Sheet files that are derived from design files, MC files, and DMMC files.

Other PhaseCODE files such as the Material Spectral Data files, Report files, Data Log files, and Deposition Monitor Error Analysis files are not part of the file hierarchy, and are managed by using the standard file procedures.