Skip to content

Operand Reference

This page is the complete catalog of merit-function operands. Each row in the Merit Function Editor table is one operand: a single number the optimizer reads, compared against a target.

How an operand contributes to the merit function

Section titled “How an operand contributes to the merit function”

The merit function (MF) is the weighted root-mean-square of the residuals:

MF = √( Σ_i wᵢ · residualᵢ² / Σ_i wᵢ )

Note the weight wᵢ is applied linearly (not squared). In the least-squares solver each residual enters as √wᵢ · residualᵢ, whose square is wᵢ · residualᵢ²: consistent with the formula above.

The residual depends on the operand class:

Class Residual Inert when satisfied?
Equality (most optical operands) value − target no (two-sided)
One-sided ≥ (OPGT, ABGT, MNT, TMN, TDBMN, ODMN…) max(0, target − value) yes
One-sided ≤ (OPLT, ABLT, MXT, TMX, TDBMX, RDBMX, PPEF…) max(0, value − target) yes
Spectral target (TGT/RGT/AGT) the RMS deviation itself no

“Inert when satisfied” means the operand drops out of the MF entirely once its inequality holds, so it never fights the equality targets.

Most operands are fractions (T/R/A ∈ [0,1]), but argmax/argmin-λ operands produce a residual in nanometres. In a single weighted RMS a 10 nm wavelength miss (residual 10) would swamp a 1 % optical miss (residual 0.01) no matter how the weights were set. To keep weight meaning importance rather than units, each residual is divided by a per-type characteristic scale σ before the RMS (a dimensionless, χ²-style sum):

MF = √( Σ wᵢ · (residualᵢ / σᵢ)² / Σ wᵢ )
Operand class σ Effect
All fraction-unit (T/R/A, averages, integrals, worst-case, spectral-target RMS, math) 1 unchanged, pure-optical MFs are identical to before
Argwave (MXW* / MNW*, nm) 500 nm 5 nm wavelength miss ≈ 1 % optical miss
In dB (TDB, TDBMN, TDBMX, RDBMX) / in OD (ODMN) 10/ln 10 ≈ 4.343 dB / 1/ln 10 ≈ 0.4343 a miss by a factor of two scores 0.69 at −40 dB as at 0 dB; near T = 1 a 1 % miss scores 0.010, as on a T row
Manufacturability (TT, MNT, MXT in nm; STR in N/m) 1 (raw) kept “hard”: a violated manufacturing bound still dominates and is fixed first
Ellipsometry PSI / DEL (deg) 10 / 20 0.1° in Ψ or 0.2° in Δ ≈ 1 % optical miss: ten times what a spectroscopic ellipsometer repeats to, as 1 % is for a spectrophotometer
Group delay GD* / GDD* (fs, fs²) 50 a ~0.5 fs / fs² miss ≈ 1 % optical miss
Third-order dispersion TOD* (fs³) 500 a ~5 fs³ miss ≈ 1 % optical miss
TANPSI, COSDEL, EFMX (O(1)) 1 already comparable to an optical fraction

A purely optical merit function is therefore numerically unchanged; only merit functions that mix wavelength-valued and optical operands rebalance.

Every operand row exposes the same columns; their meaning changes with the operand type (the column header updates to match the focused row):

Column Optical / band / integral / worst-case Argwave (MXW*/MNW*) Constraints (MNT/MXT) Total thickness (TT) Film stress (STR) Math (OPGT…PROD)
λ / Start start wavelength (nm) band start (nm) first layer index comparison (≤ ≥ =) comparison (≤ ≥ =) referenced Op #
End end wavelength (nm), band types only band end (nm) last layer index n/a n/a second Op # (pair ops)
AOI (°) angle of incidence AOI n/a n/a n/a inherited from ref
Pol avg / s / p pol n/a n/a n/a inherited from ref
Target desired value (see units below) desired λ (nm) bound (nm) total (nm) force (N/m) desired value (ref units)
Weight relative importance (linear) weight weight weight weight weight
Current live computed value computed λ (nm) min/max layer (nm) Σ thickness (nm) Σ σ·d (N/m) computed value
% of MF² row’s share of the weighted squared residual same same same same same

Units: T/R/A-valued operands store the target as a fraction in [0,1] and display it as a percentage. The dB and OD rows store and display it in dB or OD. Wavelength, layer-index, and thickness operands use raw numbers (nm or count). Math operands inherit the unit of the row they reference.

The final column uses the same definition for every row. If the merit function is nonzero, its percentages sum to 100%. If every row is exactly met, every contribution is zero. Disabled and unevaluable rows show a dash. Hover the cell to see the row’s residual in its own unit, labelled as a difference, constraint slack, or RMS deviation as appropriate.

Polarization (avg/s/p) is chosen by the Pol column, not baked into the type code. avg is the unweighted mean of s and p, (Cs + Cp) / 2.

AOI / Snell: the angle is the angle of incidence in the incident medium; the internal substrate angle is derived from the real part of the refractive index.


Evaluated at exactly one wavelength (λ / Start).

Type Computes Target unit Output
T Transmittance at λ % T ∈ [0,1]
R Reflectance at λ % R ∈ [0,1]
A Absorptance at λ % A ∈ [0,1]

Residual: value − target (two-sided). Legacy files may contain the polarization-suffixed forms TS/TP/RS/RP/AS/AP; they still evaluate (the suffix sets the polarization) but are no longer offered in the dropdown; use the Pol column instead.

Sampled on a uniform grid across [λStart, λEnd], then averaged to one number by the trapezoid rule, so the two end samples count half, as in an integral over the band.

The grid follows the coating. Its step is an eighth of the fringe spacing λ²/(2G) at the short end of the band, where G is the coating’s optical thickness taken with the group index n − λ·dn/dλ (or n, where n is the larger); with both faces coated the two coatings’ thicknesses add. A thin coating gets a small grid, a thick one a large grid, with no upper limit, so the optimizer cannot lower the merit by moving fringes into the gaps between samples. The floor is 13 points. The grid is sized from the design in the merit tables of the Merit Function Editor and Refinement window, in the Design Cleaner and Needle Manual, and at the start of every optimizer run. A refinement keeps that grid for the whole run; a synthesis run enlarges it as the design grows. Other views that report a band average, such as the Specification window, keep a 2 nm step, so on a thick coating their figure can differ slightly from the merit table’s.

Type Computes Target unit Output
TAV Mean T over the band % mean T ∈ [0,1]
RAV Mean R over the band % mean R ∈ [0,1]
AAV Mean A over the band % mean A ∈ [0,1]

Residual: mean − target (two-sided). TAV/RAV/AAV are pure averages: one target = the average level over the whole band. For a per-wavelength target line use the spectral-target operands below.

A per-wavelength target line across the band. Target holds two values entered as start→end (e.g. 50→50 for a flat 50 % line, 0→100 for a ramp). Sampled on the same grid as band averages, with the same trapezoid weights.

Type Computes Target unit Output
TGT RMS deviation of T from line % (start→end) RMS deviation (≥ 0)
RGT RMS deviation of R from line % (start→end) RMS deviation (≥ 0)
AGT RMS deviation of A from line % (start→end) RMS deviation (≥ 0)

The Current column shows the RMS deviation directly; the residual is that value (target is already folded in), so the optimizer drives it to zero. Use these for beamsplitters (flat 50 %) and gradient / ramp filters.

A band average weighted by w(λ) = Source(λ) · Detector(λ): C̄ = Σ wᵢ·Cᵢ / Σ wᵢ, summed on the band-average grid with its trapezoid weights. The λ / Start cell is a preset picker (e.g. photopic-weighted Tvis, solar-weighted Tsol); the band end is read-only and driven by the preset.

Type Computes Target unit Output
TIW Source×detector weighted mean T % C̄ ∈ [0,1]
RIW Source×detector weighted mean R % C̄ ∈ [0,1]
AIW Source×detector weighted mean A % C̄ ∈ [0,1]

Residual: C̄ − target (two-sided). Source/detector specs are stored on the operand (default D65 × photopic).

Returns the true extremum of the spectrum over the band, sampled on a dense ~1 nm grid. The residual is one-sided, inert until the worst case violates the spec.

Type Computes Spec it enforces Residual
TMN Minimum T over band min T ≥ target max(0, target − minT)
RMN Minimum R over band min R ≥ target max(0, target − minR)
AMN Minimum A over band min A ≥ target max(0, target − minA)
TMX Maximum T over band max T ≤ target max(0, maxT − target)
RMX Maximum R over band max R ≤ target max(0, maxR − target)
AMX Maximum A over band max A ≤ target max(0, maxA − target)

Output is a real T/R/A value (0…100 %), never exceeding physical bounds. The optimizer uses the single argmin/argmax wavelength as the subgradient.

A blocking or loss specification is often written in decibels or optical density. These rows take the target in that unit and score the miss in it. T(dB) = 10·log₁₀ T, so a loss reads negative, and D = −log₁₀ T, so the lowest density over a band is where T is highest.

Type Computes Spec it enforces Residual
TDB T at λ in dB T(dB) = target value − target
TDBMN Minimum T over band in dB min T(dB) ≥ target (insertion loss) max(0, target − value)
TDBMX Maximum T over band in dB max T(dB) ≤ target (isolation, blocking) max(0, value − target)
RDBMX Maximum R over band in dB max R(dB) ≤ target (return loss of an AR coating) max(0, value − target)
ODMN Minimum optical density over band min D ≥ target (blocking) max(0, target − value)

TDB takes the columns of a single-wavelength T row. The four band rows are worst-case rows like TMN and TMX: the true extremum on the same dense grid, sampled more finely at the start of a run where narrow features hide. They look for those features in dB, so a spike inside a blocking band is found.

Target and Current are in dB or OD, not percent. A new row starts at 0 dB for TDB, −0.5 dB for TDBMN, −30 dB for TDBMX and RDBMX, and OD 3 for ODMN.

Why score in dB. In linear T a stopband held at 0.1 % adds almost nothing to a least-squares merit, so missing −30 dB by a factor of ten is invisible beside the passband ripple. With the σ in the normalization table, each row scores the natural log of the ratio its miss stands for in T or R. A miss by the same factor then costs the same at any level, near T = 1 a small miss costs what it would on a T row, and 20 dB and 30 dB are as far apart in the merit as in the specification.

Floor. T or R below 10⁻¹⁵ reads as 10⁻¹⁵, which is −150 dB or OD 15. Below that a computed value can be rounding residue: past the critical angle, where T is zero, the arithmetic leaves about 10⁻¹⁷. No specification comes near the floor, and below it the row stops steering.

These rows take exact analytic derivatives, with no finite differences. Like the other rows whose σ is not 1, they do not take the full Newton curvature: for a merit function that contains them, Newton and SQP solve the Gauss-Newton system.

On Optical Evaluation the targets are drawn at the level they stand for, −30 dB at 0.1 %, on any y unit: TDB as a point marker, a band row as a level line over its band. They drag like other targets, and a dragged level is written back in dB or OD. An ODMN target is a T target, so it shows on the OD axis.

A gain-flattening filter is specified by its error against a target loss curve, not by its own transmittance. At each point of a measured-curve block, EF(λ) = T_target(λ)[dB] − T_design(λ)[dB], and the row’s value is the spread max EF − min EF. A design that differs from the target by the same number of dB everywhere scores zero: that constant is insertion loss, which a datasheet states on a line of its own, and only the shape error counts here.

Type λ / Start Computes Target unit Residual
PPEF the curve block max EF − min EF over the block’s points dB max(0, value − target)

Pick the block in the λ / Start cell; the row reads the block’s own wavelengths, angle and polarization, so AOI and Pol show a dash. The block can be a T curve in percent or one fitted in dB, and can sit at weight 0 when it is there only to be measured against. Deleting the block deletes the row; a row whose block is missing or switched off shows Error. A new row starts at a target of 0 dB, so it keeps flattening until you type a specification in. σ is the dB rows’ 4.343 dB. Refinement moves the two points where EF is highest and lowest, with exact derivatives. The synthesis windows leave the row out, since a slope from two wavelengths stalls their search, and fit the block instead; a block at weight 0 takes the weight the row and any row reading it had. The Specification window has the same number as a qualifier, read through this row.

Sample C(λ) over the band, find the extremum, and refine it with a 3-point parabolic fit. Output is the wavelength (nm) at that extremum, not the T/R/A value.

Type Computes Target unit Output
MXWT λ of maximum T over band nm λ (nm)
MXWR λ of maximum R over band nm λ (nm)
MXWA λ of maximum A over band nm λ (nm)
MNWT λ of minimum T over band nm λ (nm)
MNWR λ of minimum R over band nm λ (nm)
MNWA λ of minimum A over band nm λ (nm)

Residual: λ_extremum − target (two-sided, in nm). Use to pin a peak / notch to a desired wavelength. The default seed target is the band midpoint.

Quantities derived from the complex amplitude coefficients or the internal electric field of the front coating, rather than an intensity T/R/A. They carry physical units (degrees, femtoseconds, or normalized field), so they use the per-type σ scales above. Ellipsometry, phase and dispersion rows carry exact thickness derivatives and drive the optimizer the way an R or T row does; only the field peak goes through the finite-difference Jacobian. These match the Ellipsometry, GD & GDD and E-field analysis windows on the front surface.

Evaluated at one wavelength (λ / Start). Ψ and Δ come from the complex ratio ρ = r_p / r_s = tan Ψ · e^{iΔ}, so they use both polarizations and the Pol column does not apply.

Type Computes Target unit Output
PSI Ellipsometric Ψ at λ deg Ψ ∈ [0°, 90°]
DEL Ellipsometric Δ at λ deg Δ ∈ [0°, 360°)
TANPSI tan Ψ (ellipsometer-native) none ≥ 0
COSDEL cos Δ (ellipsometer-native) none [−1, 1]

Residual: value − target (two-sided). Δ is taken the short way round the circle, so 359° against a target of 1° is a 2° miss, not 358°. Use PSI/DEL to force a specific reflection-phase relationship at one wavelength. To fit a whole measured Ψ/Δ pair, generate the targets from Measured Ellipsometry, which stores each channel as one row carrying its own Δ convention.

Phase, group delay, GDD, and TOD come from the complex reflection or transmission amplitude at exactly the requested wavelength. DPR and DPT are the cyclic p-minus-s phase difference. The Pol column selects s or p; avg is their mean for non-differential operands.

Type Computes Target unit Output
PR, PT Reflection or transmission phase at λ deg phase (deg)
DPR, DPT p-minus-s differential phase at λ deg phase (deg)
GD, GDT Reflection or transmission group delay at λ fs GD (fs)
GDD, GDDT Reflection or transmission GDD at λ fs² GDD (fs²)
TOD, TODT Reflection or transmission TOD at λ fs³ TOD (fs³)
GDFLAT, GDTFLAT RMS deviation of GD from a flat level fs RMS deviation (≥ 0)
GDDFLAT, GDDTFLAT RMS deviation of GDD from a flat level fs² RMS deviation (≥ 0)
TODFLAT, TODTFLAT RMS deviation of TOD from a flat level fs³ RMS deviation (≥ 0)

Point residuals are two-sided (value - target). Phase residuals wrap to the shortest difference in the range -180° to 180°. The *FLAT operands carry their RMS deviation directly, so the optimizer drives it to zero. In the merit table, Current for a flatness row is the arithmetic mean GD, GDD, or TOD across the band, which can be read directly against the target level. The RMS deviation used by the merit function remains in the contribution-cell tooltip. Every point operand uses the same analytic evaluator as the GD / GDD window; there is no nearby sample or finite-difference wavelength grid. These operands score the front coating normally and the back coating when the design surface mode is back-only. Total-system phase-dispersion operands are not defined. In Total merit mode, ordinary R and T operands score the complete element while phase, GD, GDD, and TOD operands in the same table keep scoring that one coating. The Merit Function Editor and Refinement window show this scope beside the table.

Analytic phase derivatives are evaluated only inside every participating material model’s stated wavelength range. An operand outside that range shows Error in its Current cell; hover the row to see the material and reason. Other rows continue to display, but MF and OMF remain unavailable and Refinement will not start until every enabled target is valid.

Type Computes Target unit Output
EFMX Peak normalized |E|² anywhere in coating none ≥ 0

Evaluated at λ / Start; the Pol column selects s or p (avg takes the larger of the two peaks, the damage-relevant one). Residual: value − target; with the default target 0 it monotonically minimizes the peak field, the usual laser-damage-threshold objective.

Math operands do not evaluate a TMM characteristic directly. They reference one or two other rows by their stable Op # (via the λ / Start and End picker cells) and compute a derived value. Target units are inherited from the referenced row.

Type Refs Value Residual Spec it enforces
OPGT 1 ref max(0, target − ref) ref ≥ target
OPLT 1 ref max(0, ref − target) ref ≤ target
OPVA 1 ref ref − target ref = target
ABSO 1 ` ref `
ABGT 1 ` ref `
ABLT 1 ` ref `
DIFF 2 ref1 − ref2 value − target ref1 − ref2 = target
SUMM 2 ref1 + ref2 value − target ref1 + ref2 = target
PROD 2 ref1 · ref2 value − target ref1 · ref2 = target

The reference is by stable id, so inserting, deleting or reordering rows keeps the link. A reference to a deleted row renders red (“stale”). Cyclic references evaluate to a neutral (zero-residual) value. This is the familiar pattern where a target row references a measurement row by its operand number.

The Specification window’s “Generate MF” emits, for each ≥/≤ spec, a zero-weight measurement row (TAV, TMN, …) plus an OPGT/OPLT row that references it, so the table reads “spec = 99 %, value = 99.5 %”.

Act on layer thicknesses, not the spectrum.

Type λ / Start End Computes Target unit Residual
TT comparison n/a Σ of all active layer thicknesses nm ≤/≥ one-sided, or = two-sided
STR comparison n/a film force Σ σ·d on the substrate N/m ≤/≥ one-sided, or = two-sided
MNT layer 1 layer 2 min thickness in layer range nm max(0, target − minThk) (≥ bound)
MXT layer 1 layer 2 max thickness in layer range nm max(0, maxThk − target) (≤ bound)

MNT/MXT layer ranges are 1-based layer indices, clamped to the current stack. A new constraint therefore covers layers 1 to 1000 by default: the end is deliberately past any stack you start from, so the constraint keeps covering the layers synthesis adds. An MXT row is the only upper limit on a layer’s thickness: without one, the optimizers let a layer grow as thick as the merit asks. Needle synthesis, automatic and manual, leaves the thickness penalties out (the dMin floor + post-refine + Cleaner enforce bounds instead). Gradual Evolution and Refinement keep them in the merit function, and the Structural Optimizer holds the strictest MNT and MXT targets as limits on every layer.

A coating pulls on the substrate it sits on, and a substrate that is not thick enough to ignore it bends. The force per unit width behind that bend is

F = Σ σ_l · d_l (N/m, which is MPa·µm)

summed over the films, with the back coating entering negative because it pulls the other way. STR puts that force in the merit function, so the bow becomes something the optimizer steers rather than something the first part off the machine reveals. A target of 0 is the zero-deflection condition: a coating whose compressive and tensile films balance leaves the substrate flat.

Each film’s stress comes off its material record, on the Mechanical tab of the Material Editor, never off the operand row. The one number STR needs is the intrinsic stress in MPa, tensile positive, which is what a wafer-bow measurement gives you; nothing else has to be measured. A material that states no intrinsic stress contributes nothing and the merit table names it, so a blank record can never quietly read as an unstressed film.

If the material also states Young’s modulus, Poisson’s ratio, an expansion coefficient and the reference temperature its stress was measured at, and the design carries a deposition and an evaluation temperature, the thermal terms are added as well. That deposition temperature is the substrate’s temperature while the film grows, not the evaporant’s.

Which coatings count follows the design’s evaluation mode, as in every analysis window: the active side alone with “ignore the other side” on, both otherwise. In symmetric mode the mirrored back coating cancels the front exactly, so the row sits at zero whatever the layers do and the merit table says so.

Like the other rows in this group the stress force stays out of the optical merit and out of the synthesis scans, and its weight is kept out of the merit’s normalization denominator, so a satisfied row leaves MF equal to OMF. Its residual is raw N/m, so set the weight to balance it against your optical targets: with a weight around 3·10⁻³ a 1 N/m miss weighs about as much as a 0.3 % reflectance miss.

Type Effect
BLNK Inert annotation row carrying free text; contributes nothing.
DMFS “Default merit function” sentinel marking a generated block start.

A freshly added row is a BLNK placeholder so it can’t silently inject a stray target; pick the real type from the dropdown. Build and edit the operand table in the Merit Function Editor; the source/detector presets used by TIW/RIW/AIW come from the Integral Values tool.

  • B. T. Sullivan, J. A. Dobrowolski, “Implementation of a numerical needle method for thin-film design,” Appl. Opt. 35, 5484 (1996).
  • H. A. Macleod, Thin-Film Optical Filters, 5th ed., §2.6.4 (two-sided system), Ch. 13 (merit functions and tolerancing).
  • C. A. Klein, “Normal and interfacial stresses in thin-film coated optics: the case of diamond-coated zinc sulfide windows,” Opt. Eng. 40, 1115 (2001): Eq. (14) for the film force, Eq. (34) for the zero-deflection condition a STR target of 0 asks for.