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]

materialfinesse.materials.Material

Mirror substrate material, see finesse.materials

barrel_materialfinesse.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]

materialfinesse.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]

materialfinesse.materials.Material

Mirror substrate material, see finesse.materials

barrel_materialfinesse.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