Compute thermo-elastic deformations in optical substrates using reciprocity theorem [30]. This provides a more accurate method to model thermo-elastic deformation of surfaces when the temperature distribution is known throughout a substrate. Reciprocity used here requires finite-element model results for volumetric strain due to a Zernike based force applied to the surface of the substrate. Substrate temperature distributions can then be converted into displacements and overlaps with the volumetric strain calculated. The coefficients of these overlaps then describes the zernike surface decomposition.

Equations all based on [30]:

Modeling thermoelastic distortion of optics using elastodynamic reciprocity Eleanor King, Yuri Levin, David Ottaway, and Peter Veitch Phys. Rev. D 92, 022005 - Published 20 July 2015

The methods here have been adapted from code and work done by Huy Tuong Cao <>.


AxisymmetricFEAData([r, z, V, material, ...])

An object that contains the finite element analysis data required to perform Axisymmetric thermal reciprocity calculations.


zernike_coefficients_axisymmetric(data, T)

Compute the Zernike coefficient from temperature substrate profile and volumetric strain.

zernike_surface_axisymmetric(data, Z_coeffs)

Reconstruct the surface deformation from Zernike coefficients.