-
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