Skip to content

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 for ordinary, e for extraordinary

'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 for ordinary, e for extraordinary

'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

o for ordinary, e for extraordinary, both for both ordinary and extraordinary rays respectively

'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