tidy3d.Sellmeier
tidy3d.Sellmeier#
- class tidy3d.Sellmeier#
A dispersive medium described by the Sellmeier model. The frequency-dependence of the refractive index is described by:
- Parameters
name (Optional[str] = None) – Optional unique name for medium.
frequency_range (Optional[Tuple[float, float]] = None) – [units = (Hz, Hz)]. Optional range of validity for the medium.
coeffs (Tuple[Tuple[float, pydantic.types.PositiveFloat], ...]) – [units = (None, um^2)]. List of Sellmeier (\(B_i, C_i\)) coefficients.
Note
\[n(\lambda)^2 = 1 + \sum_i \frac{B_i \lambda^2}{\lambda^2 - C_i}\]Example
>>> sellmeier_medium = Sellmeier(coeffs=[(1,2), (3,4)]) >>> eps = sellmeier_medium.eps_model(200e12)
Show JSON schema
{ "title": "Sellmeier", "description": "A dispersive medium described by the Sellmeier model.\nThe frequency-dependence of the refractive index is described by:\n\nParameters\n----------\nname : Optional[str] = None\n Optional unique name for medium.\nfrequency_range : Optional[Tuple[float, float]] = None\n [units = (Hz, Hz)]. Optional range of validity for the medium.\ncoeffs : Tuple[Tuple[float, pydantic.types.PositiveFloat], ...]\n [units = (None, um^2)]. List of Sellmeier (:math:`B_i, C_i`) coefficients.\n\nNote\n----\n.. math::\n\n n(\\lambda)^2 = 1 + \\sum_i \\frac{B_i \\lambda^2}{\\lambda^2 - C_i}\n\nExample\n-------\n>>> sellmeier_medium = Sellmeier(coeffs=[(1,2), (3,4)])\n>>> eps = sellmeier_medium.eps_model(200e12)", "type": "object", "properties": { "name": { "title": "Name", "description": "Optional unique name for medium.", "type": "string" }, "frequency_range": { "title": "Frequency Range", "description": "Optional range of validity for the medium.", "units": [ "Hz", "Hz" ], "type": "array", "minItems": 2, "maxItems": 2, "items": [ { "type": "number" }, { "type": "number" } ] }, "type": { "title": "Type", "default": "Sellmeier", "enum": [ "Sellmeier" ], "type": "string" }, "coeffs": { "title": "Coefficients", "description": "List of Sellmeier (:math:`B_i, C_i`) coefficients.", "units": [ null, "um^2" ], "type": "array", "items": { "type": "array", "minItems": 2, "maxItems": 2, "items": [ { "type": "number" }, { "type": "number", "exclusiveMinimum": 0 } ] } } }, "required": [ "coeffs" ], "additionalProperties": false }
- attribute coeffs: Tuple[Tuple[float, pydantic.types.PositiveFloat], ...] [Required]#
List of Sellmeier (\(B_i, C_i\)) coefficients.
- eps_model(frequency: float) complex #
Complex-valued permittivity as a function of frequency.
- classmethod from_dispersion(n: float, freq: float, dn_dwvl: float = 0, **kwargs)#
Convert
n
and wavelength dispersiondn_dwvl
values at frequencyfreq
to a single-poleSellmeier
medium.- Parameters
n (float) – Real part of refractive index. Must be larger than or equal to one.
dn_dwvl (float = 0) – Derivative of the refractive index with wavelength (1/um). Must be negative.
frequency (float) – Frequency to evaluate permittivity at (Hz).
- Returns
medium containing the corresponding
permittivity
andconductivity
.- Return type
- property pole_residue#
Representation of Medium as a pole-residue model.