Features

Dispersion Formulas

FilmOptima provides a range of dispersion models for both the real and imaginary parts of the refractive index. If none of the analytical models are suitable, tabulated data can be used instead, with intermediate values interpolated using cubic splines.

Real
  • Constant: n=A0n=A_0
  • Cauchy: n(λ0)=A0+i=1nBiλ0Cin(\lambda_0)=A_0+\sum_{i=1}^nB_i\lambda_0^{Ci}
  • Conrady: n(λ0)=A0+A1λ0+A2λ03.5n(\lambda_0)=A_0+\frac{A_1}{\lambda_0}+\frac{A_2}{\lambda_0^{3.5}}
  • Exotic: n2(λ0)=A0+A1λ02A2+A3(λ0A4)(λ0A4)2+A5n^2(\lambda_0)=A_0+\frac{A_1}{\lambda_0^2-A_2}+\frac{A_3(\lambda_0-A_4)}{(\lambda_0-A_4)^2+A_5}
  • Gases: n(λ0)1=A0+i=0nBiCiλ02n(\lambda_0)-1=A_0+\sum_{i=0}^n\frac{B_i}{C_i-\lambda_0^{-2}}
  • Lorentz-Drude: Re(ϵr(ω))=ϵr()+ωp2i=1Mfiω0,i2ω2+ȷωΓi\operatorname{Re}(\epsilon_r(\omega))=\epsilon_r(\infty)+\omega_p^2\sum_{i=1}^M\frac{f_i}{\omega_{0,i}^2-\omega^2+\jmath\omega\Gamma_i}
  • Hartmann: n(λ0)=A0+A1λ0A2n(\lambda_0)=A_0+\frac{A_1}{\lambda_0-A_2}
  • Hartmann-Modified: n(λ0)=A0+A1(λ0A2)2n(\lambda_0)=A_0+\frac{A_1}{(\lambda_0-A_2)^2}
  • Herzberger: n(λ0)=A0+A1λ020.028+A2(1λ020.028)2+A3λ02+A4λ04+A5λ06n(\lambda_0)=A_0+\frac{A_1}{\lambda_0^2-0.028}+A_2\left(\frac{1}{\lambda_0^2-0.028}\right)^2+A_3\lambda_0^2+A_4\lambda_0^4+A_5\lambda_0^6
  • Schoitt-Briot: n2(λ0)=A0+A1λ02+i=1nBiλ02in^2(\lambda_0)=A_0+A_1\lambda_0^2+\sum_{i=1}^n\frac{B_i}{\lambda_0^{2i}}
  • Sellmeier: n2(λ0)=A0+i=0nBiλ02λ02Cin^2(\lambda_0)=A_0+\sum_{i=0}^n\frac{B_i\lambda_0^2}{\lambda_0^2-C_i}
  • Sellmeier-Modified: n2(λ0)=A0+i=0nBiλ02λ02Ci2n^2(\lambda_0)=A_0+\sum_{i=0}^n\frac{B_i\lambda_0^2}{\lambda_0^2-C_i^2}
  • Polynomial: n2(λ0)=A0+i=1nBiλ0Cin^2(\lambda_0)=A_0+\sum_{i=1}^nB_i\lambda_0^{C_i}
  • RefractiveIndexInfo: n2(λ0)=A0+B1λ0C1λ02B2C2+B3λ0C3λ02B4C4+B5λ0C5+B6λ0C6+B7λ0C7+B8λ0C8n^2(\lambda_0)=A_0+\frac{B_1\lambda_0^{C_1}}{\lambda_0^2-B_2^{C_2}}+\frac{B_3\lambda_0^{C_3}}{\lambda_0^2-B_4^{C_4}}+B_5\lambda_0^{C_5}+B_6\lambda_0^{C_6}+B_7\lambda_0^{C_7}+B_8\lambda_0^{C_8}
  • Datatable: Datatable\text{Datatable}
Imaginary
  • Non-Absorptive: k=0k=0
  • Constant: k=A0k=A_0
  • Cauchy: k(λ0)=A0eA1(1λ01A2)k(\lambda_0)=A_0e^{A_1(\frac{1}{\lambda_0}-\frac{1}{A_2})}
  • Exponential: k(λ0)=A0eA1λ0+A2λ0k(\lambda_0)=A_0e^{\frac{A_1}{\lambda_0}+A_2\lambda_0}
  • Lorentz-Drude: Im(ϵr(ω))=ϵr()+ωp2i=1Mfiω0,i2ω2+ȷωΓi\operatorname{Im}(\epsilon_r(\omega))=\epsilon_r(\infty)+\omega_p^2\sum_{i=1}^M\frac{f_i}{\omega_{0,i}^2-\omega^2+\jmath\omega\Gamma_i}
  • Polynomial: k(λ0)=A0+i=1nBiλ0Cik(\lambda_0)=A_0+\sum_{i=1}^nB_i\lambda_0^{Ci}
  • Sellmeier: k(λ0)=A0A1A2+A3λ0+1λ03k(\lambda_0)=\frac{A_0}{A_1A_2+\frac{A_3}{\lambda_0}+\frac{1}{\lambda_0^3}}
  • Datatable: Datatable\text{Datatable}

Optical Characteristics

Conventional, phase, and layer-specific outputs available during optimization and analysis.

Conventional
  • R - Reflectance (s-pol, p-pol, avg)
  • T - Transmittance (s-pol, p-pol, avg)
  • A - Absorptance (s-pol, p-pol, avg)
Phase
  • pR - Phase Shift on Reflection (s-pol, p-pol)
  • pT - Phase Shift on Transmission (s-pol, p-pol)
  • GDR - Group Delay on Reflection (s-pol, p-pol)
  • GDT - Group Delay on Transmission (s-pol, p-pol)
  • GDDR - Group Delay Dispersion on Reflection (s-pol, p-pol)
  • GDDT - Group Delay Dispersion on Transmission (s-pol, p-pol)
Layer-Specific
  • LA - Layer Absorptance (s-pol, p-pol, avg)
  • LOA - Local Absorption (s-pol, p-pol, avg)
  • E - Electric Field (s-pol, p-pol, avg)

Merit Formulas

Objective formulations for balancing target deviation and optimization priorities.

Available Formulas
  • Lp-Norm: F=[1mi=1wiSiSi^ΔTp]1/pF=\left[ \frac{1}{m}\sum_{i=1}w_i\frac{\vert S_i-\hat{S_i}\vert}{\Delta_T}^p \right]^{1/p}
  • Max: F=max[wiSiSi^ΔT:1..m]F=\max\left[w_i\frac{\vert S_i-\hat{S_i}\vert}{\Delta_T}: 1..m\right]

Coherence Models

Select the propagation model that matches your stack's physical coherence behavior.

Coherent Stack

All optical characteristics.

Incoherent Stack

R/T/A.

Hybrid (Mixed) Stack

R/T/A.

Algorithms

Explore FilmOptima's algorithm portfolio by category and jump to detailed documentation for each method.

Refinement
Synthesis
Global Optimization
How It Works

Datamanagement

FilmOptima employs a relational SQL database to ensure data integrity and efficient storage. This structure normalizes data, meaning common entities like general targets or materials are stored only once and referenced across multiple user designs. To preserve data consistency, the system prevents modifications to any entity that is actively referenced in other designs, preventing unintended cascading effects.

Flexible Optimization Control

FilmOptima puts you in complete control of the optimization process. Define your goals (e.g., max layers, max optimization duration) as stopping conditions, and hand-pick the algorithms to use. Our engine runs your chosen algorithms in round-robin manner, and intelligently concludes the process when no further improvements can be made.

Hands-Free Queue

FilmOptima allows you to queue multiple designs for sequential processing, perfect for running long optimizations overnight or while you focus on other tasks. You can also compare different optimization strategies on the same design by adding them to the queue.