Materials¶
This module provides a series of classes representing various optical materials with several different dispersion formula, such as Cauchy formula, Schott formula and Sellmeier formula, etc.
All the material classes are derived from Material
and share its
constructor arguments. They have also a method n()
to compute the refractive index for given wavelength. Each class implements
this method by its own dispersion formula. The main reference for these dispersion
types is Zemax.
This module maintains a material library to add, delete or retrieve materials. See Accessing materials.
Base class¶
- class dnois.mt.Material(name: str, min_wl: float = None, max_wl: float = None, default_unit: str = 'um')¶
Class representing an optical material type.
- Parameters:
name (str) – Name of the material.
min_wl (float) – Minimum applicable wavelength in
default_unit
. Default: 0.max_wl (float) – Maximum applicable wavelength in
default_unit
. Default: infinity.default_unit (str) – Unit of wavelength for dispersion formula and
min_wl
andmax_wl
. Default:'um'
.
- abstract n(wavelength: Real | Tensor) Real | Tensor ¶
Computes refractive index.
- Parameters:
wavelength – Value of wavelength.
- Type:
float or Tensor
- Returns:
Refractive index.
- Return type:
float or Tensor
Materials¶
|
Air in normal temperature and pressure, whose dispersion formula is: |
|
Material for which Cauchy formula: |
|
Materials described by Conrady formula: |
|
Material with constant optical properties. |
|
Materials described by Herzberger formula: |
|
Materials described by Schott formula: |
|
Materials described by Sellmeier1 formula: |
|
Materials described by Sellmeier2 formula: |
|
Materials described by Sellmeier3 formula: |
|
Materials described by Sellmeier4 formula: |
|
Materials described by Sellmeier5 formula: |
Accessing materials¶
|
Returns a list of accessible subclasses of |
|
Get material by name from material library. |
|
Check if given material is available in material library. |
|
List all available materials in material library. |
|
Add a new class of material into material library. |
|
Check if a material is registered in material library by name. |
|
Remove a material from material library. |
|
Update a registered material. |
Others¶
- dnois.mt.refractive_index(wavelength: Real | Tensor, material: str) Real | Tensor ¶
Compute refractive index for given wavelength and material.
- Parameters:
wavelength – Specified wavelength.
material (str) – Specified material.
- Type:
float or Tensor
- Returns:
Refractive index.
- Return type:
float or Tensor