materials.material_file#
Material File
This module contains a class for representing a material based on a material YAML file from the refractiveindex.info database.
Kramer Harrison, 2024
Classes
|
Represents a material based on a material YAML file from the refractiveindex.info database. |
- class MaterialFile(filename, propagation_model=None)[source]#
Represents a material based on a material YAML file from the refractiveindex.info database.
Material refractive indices are based on various dispersion formulas or tabulated data. The material file contains the coefficients for the dispersion formulas and/or tabulated data.
See https://refractiveindex.info/database/doc/Dispersion%20formulas.pdf
- Parameters:
filename (str) – The path to the material file.
propagation_model (BasePropagationModel, optional) – The propagation model to use. Defaults to None, which creates a HomogeneousPropagation model.
- Variables:
- Methods:
n (wavelength, temperature, pressure) – Calculates the refractive index of the material at a given wavelength, temperature and pressure.
k (wavelength) – Retrieves the extinction coefficient of the material at a given wavelength.
- abbe() float#
Calculate the Abbe number (Vd) of the material.
The Abbe number is a measure of the material’s dispersion, defined as Vd = (n_d - 1) / (n_F - n_C), where n_d, n_F, and n_C are the refractive indices at the Fraunhofer d (587.5618 nm), F (486.1327 nm), and C (656.2725 nm) spectral lines, respectively.
- Returns:
The Abbe number of the material.
- Return type:
- classmethod from_dict(data)[source]#
Creates a material from a dictionary representation.
- Parameters:
data (dict) – The dictionary representation of the material.
- Returns:
An instance of MaterialFile.
- Return type:
- k(wavelength: float | be.ndarray, **kwargs) float | be.ndarray#
Calculates the extinction coefficient at a given wavelength with caching.