-
Notifications
You must be signed in to change notification settings - Fork 5
RefractiveIndicesDB.jl
This is a small database compiled with several indices of refraction of different materials. The module information is exported by ThinFilmsTools.jl under the name of RIdb
. All the functions exported are to be used as a function of the wavelength, and in some cases other parameters, such as temperature.
To see the available indices, type:
julia> RIdb.Info()
Available functions for materials index of refraction:
aluminum(λ), λ ∈ [4.15, 31000] (nm)
air(λ), λ ∈ any (nm)
bk7(λ), λ ∈ [191, 1239] (nm)
chrome(λ), λ ∈ [207, 1240] (nm)
dummy(λ), λ ∈ any (nm)
glass(λ), λ ∈ [300, 2500] (nm)
gold(λ), λ ∈ [34.15, 10240] (nm)
silicon(λ), λ ∈ [163.15, 25000] (nm)
silicontemperature(λ, T), λ ∈ [264, 826.5], T ∈ [20, 450]
silver(λ), λ ∈ [0.124, 9919] (nm)
sno2f(λ), λ ∈ [308.25, 2490.9] (nm), fluor doped!
h2o(λ), λ ∈ [10.0, 1e10] (nm)
etoh(λ), λ ∈ [476.5, 830] (nm)
And to see the details, write:
help?> RIdb.aluminum
Returns the index of refraction of aluminum in the complex format
for a given range of wavelengths in nm.
N = aluminum(λ)
Input args:
λ = wavelength range (nm), ∈ [4.15, 31000] (nm)
Source: http://www-swiss.ai.mit.edu/~jaffer/FreeSnell/nk.html
help?> RIdb.silicontemperature
Returns the index of refraction of crystalline silicon in complex
format, for a given range of wavelengths in nm and a one temperature value.
N = silicontemperature(λ, T)
Input args:
λ = wavelength range (nm), ∈ [264, 826.5]
T = value of temperature (C), ∈ [20, 450]
Source: http://refractiveindex.info/
Some examples:
n = RIdb.aluminum(400:1000)
n = RIdb.silicon(250:2500)
Notice that silicontemperature
works for scalar temperature input only, e.g.:
n = RIdb.silicontemperature(300:800, 25)
You can build up your own function of the index of refraction if you need and use it in the module. Just make sure you make the index of refraction a complex type and make it for a valid range of wavelengths. For instance, as in the Omnidirectional mirror example, we built the index of refraction of a sodium chloride substrate as follow:
# x is the wavelength range input in nanometers
function nacl(x)
x /= 1000 # we use nm and the equation is defined for μm
n=@. sqrt(complex.(1+0.00055+0.19800./(1.0-(0.050./x).^2)+0.48398./(1.0-(0.100./x).^2)+0.38696./(1.0-(0.128./x).^2)+0.25998./(1.0-(0.158./x).^2)+0.08796./(1.0-(40.50./x).^2)+3.17064./(1.0-(60.98./x).^2)+0.30038./(1.0-(120.34./x).^2)))
return real.(n)
end