Source code for gtrace.optics.consts
#{{{ Imports
import numpy as np
#}}}
#{{{ Index of refractions
[docs]def sellmeier(wl, B1, B2, B3, C1, C2, C3):
'''
Calculate index of refraction using Sellmeiers equation
n^2 = 1+B1*wl^2/(wl^2 - C1) + B2*wl^2/(wl^2 - C2) + B3*wl^2/(wl^2 - C3)
See below for the coefficients for specific materials.
http://www.cvimellesgriot.com/products/Documents/Catalog/Dispersion_Equations.pdf
'''
n = np.sqrt(1+B1*wl**2/(wl**2 - C1) + B2*wl**2/(wl**2 - C2) + B3*wl**2/(wl**2 - C3))
return n
[docs]def n_fused_silica(wl):
'''
Calculate the index of refraction of fused silica for a given wavelength.
'''
#Convert the wavelength to the unit of um.
wl = wl*1e6
B1 = 6.961663e-1
B2 = 4.079426e-1
B3 = 8.974794e-1
C1 = 4.67914826e-3
C2 = 1.35120631e-2
C3 = 9.79340025e1
return sellmeier(wl, B1, B2, B3, C1, C2, C3)
[docs]def n_sapphire_ordinary(wl):
'''
Calculate the index of refraction of Sapphire ordinary axis for a given wavelength.
'''
#Convert the wavelength to the unit of um.
wl = wl*1e6
B1 = 1.4313493
B2 = 6.5054713e-1
B3 = 5.3414021
C1 = 5.2799261e-3
C2 = 1.42382647e-2
C3 = 3.25017834e2
return sellmeier(wl, B1, B2, B3, C1, C2, C3)
n_fused_silica_532nm = 1.46071
n_fused_silica_1064nm = 1.45
n_fused_silica_1550nm = 1.444
no_sapphire_532nm = 1.77170
ne_sapphire_532nm = 1.76355
no_sapphire_1064nm = 1.75449
ne_sapphire_1064nm = 1.74663
no_sapphire_1550nm = 1.74618
ne_sapphire_1550nm = 1.73838
#}}}