finesse.thermal.ring_heater module
Ring heater thermal equations for cylindrical mirrors
Equations all based on [38] and [39]:
- finesse.thermal.ring_heater.substrate_deformation_depth(r, z, a, b, c, h, material, barrel_material=None, T_ext=293.15, m_max=10, root_accuracy=1e-12)[source]
Computes the depth displacements throughout the bulk of an optic due to 1W absorption of ring heater. Displacement is in units of m per absorbed Watts.
The HR surface is at z = +h/2 and the AR surface is at z = -h/2 and the surface normal to the HR surface is positive.
Parameters
- rarray_like
Radial vector [m]
- z :array_like
Longitudinal points, should sample points between -h/2 and h/2.
- afloat
Mirror radius [m]
- bfloat
Ring heater lower boundary relative to center [m]
- cfloat
Ring heater upper boundary relative to center [m]
- hfloat
Mirror thickness [m]
- material
finesse.materials.Material Mirror substrate material, see
finesse.materials- barrel_material
finesse.materials.Material Barrel coating material, see
finesse.materials- T_extfloat, optional
External temperature surrounding mirror
- m_maxint, optional
Number of zeros to find, i.e. analytic order
- root_accuracy: float, optional
Accuracy of root finding
Returns
- U_z_rh_per_Wndarray(shape=(z.size, r.size))
Array of z displacements throughout the substrate per absorbed Watts of ring heater
Notes
See [39] for derivation of these equations.
- finesse.thermal.ring_heater.substrate_temperature(r, z, a, b, c, h, material, barrel_material=None, T_ext=293.15, m_max=10, root_accuracy=1e-12)[source]
Computes the substrate temperature distribution per Watt absorbed ring heater power.
The HR surface is at z = +h/2 and the AR surface is at z = -h/2.
Parameters
- rarray_like
Radial vector [m]
- zarray_like
Longitudinal vector [m]
- afloat
Mirror radius [m]
- bfloat
Ring heater lower boundary relative to center [m]
- cfloat
Ring heater upper boundary relative to center [m]
- hfloat
Mirror thickness [m]
- material
finesse.materials.Material Mirror substrate material, see
finesse.materials- barrel material:
finesse.materials.Material Barrel coating material, see
finesse.materials- T_extfloat, optional
External temperature surrounding mirror
- m_maxint, optional
Number of zeros to find, i.e. analytic order
- root_accuracy: float, optional
Accuracy of root finding
Returns
- T_rh_per_Warray_like
2D Array of temperature distribution over [r, z]
Notes
Typo for A_m terms in manuscript, sin terms are functions of u_m, not v_m. See [38].
- finesse.thermal.ring_heater.surface_deformation(r, a, b, c, h, material, barrel_material=None, T_ext=293.15, m_max=10, root_accuracy=1e-12)[source]
“Computes the surface thermo-elastic deformation of the HR surface per Watt absorbed ring heater power.
The HR surface is at z = +h/2 and the AR surface is at z = -h/2 and the surface normal to the HR surface is positive.
Parameters
- rarray_like
Radial vector [m]
- afloat
Mirror radius [m]
- bfloat
Ring heater lower boundary relative to center [m]
- cfloat
Ring heater upper boundary relative to center [m]
- hfloat
Mirror thickness [m]
- materialMaterial
Mirror substrate material, see
finesse.materials- barrel_materialMaterial
Barrel coating material, see
finesse.materials- T_extfloat, optional
External temperature surrounding mirror
- m_maxint, optional
Number of zeros to find, i.e. analytic order
- root_accuracy: float, optional
Accuracy of root finding
Returns
- U_z_rh_per_Warray_like
1D radial vector of z displacement per Watt of ring heater power
Notes
See [39] for derivation of these equations.
- finesse.thermal.ring_heater.thermal_lens(r, a, b, c, h, material, barrel_material=None, T_ext=293.15, m_max=10, root_accuracy=1e-12)[source]
Computes the substrate thermal lens per Watt absorbed ring heater power.
The HR surface is at z = +h/2 and the AR surface is at z = -h/2.
Parameters
- rarray_like
Radial vector [m]
- afloat
Mirror radius [m]
- bfloat
Ring heater lower boundary relative to center [m]
- cfloat
Ring heater upper boundary relative to center [m]
- hfloat
Mirror thickness [m]
- material
finesse.materials.Material Mirror substrate material, see
finesse.materials- barrel_material
finesse.materials.Material Barrel coating material, see
finesse.materials- T_extfloat, optional
External temperature surrounding mirror
- m_maxint, optional
Number of zeros to find, i.e. analytic order
- root_accuracy: float, optional
Accuracy of root finding
Returns
- Z_rh_per_Warray_like
1D radial vector of optical path difference from propagating through substrate.
Notes
Typo for A_m terms in manuscript, sin terms are functions of u_m, not v_m. See [38].
- finesse.thermal.ring_heater.zeros_u_m(double a, double h, double tau, int m_max, double accuracy)[source]
Compute the roots of the equation
\[u_m - au \cot(u_m h/(2a)) = 0 \]Parameters
- afloat
Mirror radius [m]
- hfloat
Mirror thickness [m]
- taufloat
Reduced radiation constant
- n_maxint
Max bessel order to compute up to
- accuracydouble
absolute error on zero finding brentq algorithm
Returns
- u_marray_like
Array of m_max zeros
- finesse.thermal.ring_heater.zeros_v_m(double a, double h, double tau, int m_max, double accuracy)[source]
Compute the roots of the equation
\[v_m + au tan(v_m h/(2a)) = 0 \]Parameters
- afloat
Mirror radius [m]
- hfloat
Mirror thickness [m]
- taufloat
Reduced radiation constant
- n_maxint
Max bessel order to compute up to
- accuracydouble
absolute error on zero finding brentq algorithm
Returns
- v_marray_like
Array of m_max zeros