-
Notifications
You must be signed in to change notification settings - Fork 5
Home
Welcome to the ThinFilmsTools.jl wiki!
The package provides tools for the design and characterisation of thin films written in Julia. Check Julia language for how to install and setup the environment.
So far, it includes options for thin-film systems to study optics using a matrix method and thermal properties through the 3-omega technique. The systems could be made by single layers or stacked multilayers (photonic crystals).
This package is registered and can be installed in Julia with the following:
julia> ]
pkg> add ThinFilmsTools
ThinFilmsTools.jl is compatible with Julia version 1.1 or later.
The package includes modules for the calculation of parameters of thin films: tmm_optics (replacing TMMOptics.jl) for the simulation of optical properties of thin films, fit_tmm_optics to fit thin films spectrum and three_omega to model the thermal properties of thin films based on the 3ω method.
The package also contains a number of indices of refraction for different materials in a database RefractiveIndicesDB.jl ready to use.
For the simulation of the index of refraction mixtures, there is also available a database RefractiveIndicesModels.jl that contains several mixing rules for this.
The fit_curve_model allows fitting the spectral line shapes of different processes using a simple function. It supports three models for an arbitrary number of peaks: Gaussian, Lorentzian, and Voigtian.
A bunch of functions and recipes are included (PlottingTools.jl) for convenience to plot results from fit_tmm_optics
, tmm_optics
and three_omega
.
Examples are added inside each of the main functions to describe their functionality.
ThinFilmsTools.jl depends on the following (non-in-Base) packages:
- RecipesBase.jl
- Plots.jl - This is not a direct dependency, but if you plan to use the recipes from PlottingTools.jl you will have to install Plots.jl as well.
- LaTeXStrings.jl
- Optim.jl
- BlackBoxOptim.jl
- QuadGK.jl
- Interpolations.jl
- Polynomials.jl