Herzberger

class dnois.mt.Herzberger(name: str, coefficients: list[float], min_wl: float = None, max_wl: float = None, default_unit: str = 'um')

Materials described by Herzberger formula:

\[\begin{split}n=A+BL+CL^2+D\lambda^2+E\lambda^4+F\lambda^6,\\ L=\frac{1}{\lambda^2-0.028}\end{split}\]
Parameters:

coefficients (list[float]) – The six coefficients in Herzberger formula.

See Material for descriptions for other parameters.

classmethod from_dict(d: dict) Self

Constructs an instance of cls from a dict.

Parameters:

d (dict) – A dict typically returned by to_dict().

Returns:

An instance of cls.

classmethod load_json(file, **kwargs) Self

Constructs an instance of cls through loading JSON from a file, converting it to a dict and then calling from_dict().

Parameters:
  • file (str or pathlib.Path or file-like object) – The JSON file to load. Either its path (str or pathlib.Path) or a file-like object.

  • kwargs – Keyword arguments passed to json.load().

Returns:

An instance of cls.

n(wl: Real | Tensor) Real | Tensor

Computes refractive index.

Parameters:

wavelength – Value of wavelength.

Type:

float or Tensor

Returns:

Refractive index.

Return type:

float or Tensor

save_json(file, **kwargs)

Save self into a JSON file file.

Parameters:
  • file – The JSON file to save. Either its path (str or pathlib.Path) or a file-like object.

  • kwargs – Keyword arguments passed to json.dump().

to_dict(keep_tensor: bool = True) dict[str, Any]

Converts self into a dict which recursively contains only primitive Python objects.

Return type:

dict

to_json(**kwargs) str

Converts self into a JSON string.

Parameters:

kwargs – Keyword arguments passed to json.dumps().

Return type:

str

coefficients

The six coefficients in Herzberger formula.

default_unit

Default unit.

max_wl

Maximum wavelength valid for the material.

min_wl

Minimum wavelength valid for the material.

name

Name of the material.