optics
Module for calculating optical parameters
Classes
scilightcon.optics.Material
Class for storing and calculating optical properties (refractive index, GVD, TOD) of different materials.
Examples:
>>> from scilightcon.optics import load_material
>>> zinc_oxide = load_material('Zinc oxide')
>>> n_o, n_e = zinc_oxide.get_refractive_index(1.03, ray='both')
>>> n_o
1.9417466542383048
>>> n_e
1.9565995766753679
>>> gvd = zinc_oxide.get_GVD(1.03, ray='o')
>>> gvd
array([283.0382719])
>>> tod = zinc_oxide.get_TOD(1.03, ray='o')
>>> tod
array([264.18233337])
Functions
scilightcon.optics.Material.get_GVD(wl, ray='o')
The function computes and returns the group velocity dispersion (GVD) for a specific material, considering the chosen wavelength and a type of ray. Examples: >>> from scilightcon.optics import load_material >>> zinc_oxide = load_material('Zinc oxide') >>> gvd = zinc_oxide.get_GVD(1.03, ray='o') >>> gvd array([283.0382719])
Parameters:
Name | Type | Description | Default |
---|---|---|---|
wl |
float
|
Wavelength in micrometers |
required |
ray |
str
|
|
'o'
|
Returns:
Type | Description |
---|---|
List[float]
|
An array of material's GVD |
scilightcon.optics.Material.get_TOD(wl, ray='o')
The function computes and returns the third-order dispersion (TOD) for a specific material, considering the chosen wavelength and a type of ray.
Examples:
>>> from scilightcon.optics import load_material
>>> zinc_oxide = load_material('Zinc oxide')
>>> tod = zinc_oxide.get_TOD(1.03, ray='o')
Parameters:
Name | Type | Description | Default |
---|---|---|---|
wl |
float
|
Wavelength in micrometers |
required |
ray |
str
|
|
'o'
|
Returns:
Type | Description |
---|---|
List[float]
|
An array of material's TOD |
scilightcon.optics.Material.get_refractive_index(wl, ray='both')
The function computes and returns the refractive index of a specific material, considering the chosen wavelength and the type of ray.
Examples:
>>> from scilightcon.optics import load_material
>>> zinc_oxide = load_material('Zinc oxide')
>>> n_o, n_e = zinc_oxide.get_refractive_index(1.03, ray='both')
>>> n_o
1.9417466542383048
>>> n_e
1.9565995766753679
Parameters:
Name | Type | Description | Default |
---|---|---|---|
wl |
float
|
Wavelength in micrometers |
required |
ray |
str
|
|
'both'
|
Returns:
Type | Description |
---|---|
List[float]
|
An array of material's refractive index or indexes if calculated for both types of rays |
Functions
scilightcon.optics.load_material(name)
Loads material's data. Args: name (str): Material's name, chemformula or alias
Examples:
>>> from scilightcon.optics import load_material
>>> zinc_oxide = load_material('Zinc oxide')
>>> n_o, n_e = zinc_oxide.get_refractive_index(1.03, ray = 'both')
>>> n_o
1.9417466542383048
>>> n_e
1.9565995766753679
Returns:
Type | Description |
---|---|
Material
|
Material's object |