The designer solves Maxwell's equations for an ideal planar, isotropic, stratified medium using the transfer-matrix method (TMM): each layer contributes a 2×2 characteristic matrix built from its complex refractive index ñ = n + ik and phase thickness, the matrices multiply through the stack, and reflectance, transmittance and absorptance follow from the resulting amplitude coefficients. It is the same formalism used by commercial thin-film software, and the same numerical framework is applied from X-ray to infrared wavelengths — subject to the optical constants you select and to the model assumptions below.
The model treats layers as laterally uniform, parallel-sided and isotropic. It does not represent diffuse scattering, lateral roughness correlation, chemical interdiffusion, graded composition, anisotropy or birefringence, substrate curvature, finite beam size or angular divergence, unless you build those effects into the stack yourself.
Interface roughness
Real interfaces are never atomically sharp. Each interface accepts an RMS roughness σ, applied through the Névot–Croce specular-reflectivity correction — the standard approximation in X-ray reflectometry, where sub-nanometre roughness dominates achievable reflectivity. σ is a physical quantity, so you can use it to ask a useful engineering question: how good does my polishing have to be? Bear in mind what the correction does not separate: it lumps together geometric roughness, chemical interdiffusion and graded interfaces, and it models only the specular beam — diffuse scattering and lateral correlation are outside it. It is best established for X-ray and neutron reflectometry; at visible and infrared wavelengths, where σ is typically far smaller than λ, treat it as a first-order approximation.
Substrates handled properly
A 0.5 mm glass window is thousands of wavelengths thick, so its front and back surfaces do not interfere coherently. The tool models a thick substrate incoherently, the way a spectrophotometer actually measures it, with optional back-surface reflection — so a transmittance number means what you would measure on a bench. Semi-infinite substrates and free-standing membranes, where both faces do interfere, are separate modes.
Where the optical constants come from
67 materials, 122 datasets. Roughly half come from refractiveindex.info, which is CC0 public domain — tabulated n,k data and Sellmeier-type dispersion formulas for common optical materials. The remainder are curated broadband compilations that splice CXRO atomic scattering factors, the standard tabulation for the X-ray and EUV range, onto published experimental optical data, so a single material can run continuously from X-ray to infrared. Eleven datasets are measured on magnetron-sputtered thin films rather than bulk material — worth preferring when your coating is sputtered too.
Every dataset carries its source, data type, valid range and licence in the app, and the compilations are labelled explicitly as indicative rather than authoritative. Where several datasets exist for one material you can pin the one you trust, which matters more than it sounds: for real films the spread between two literature sources is often larger than the effect you are trying to design for.
Verification
The engine is checked against analytic references on every build: bare-substrate Fresnel reflectance, an incoherent glass slab, a quarter-wave anti-reflection coating, Brewster's angle for p-polarised light, energy conservation in lossless stacks, and a published multilayer reflectivity reference. Every bundled example design also carries machine-checked acceptance criteria, so the figures quoted in each design's note are re-verified whenever the material data changes.