tidy3d.components.medium.AbstractMedium
tidy3d.components.medium.AbstractMedium#
- class tidy3d.components.medium.AbstractMedium#
A medium within which electromagnetic waves propagate.
- 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.
Show JSON schema
{ "title": "AbstractMedium", "description": "A medium within which electromagnetic waves propagate.\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.", "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": "AbstractMedium", "enum": [ "AbstractMedium" ], "type": "string" } }, "additionalProperties": false }
- attribute frequency_range: Tuple[float, float] = None#
Optional range of validity for the medium.
- attribute name: str = None#
Optional unique name for medium.
- Validated by
field_has_unique_names
- static eps_complex_to_eps_sigma(eps_complex: complex, freq: float) Tuple[float, float] #
Convert complex permittivity at frequency
freq
to permittivity and conductivity values.- Parameters
eps_complex (complex) – Complex-valued relative permittivity.
freq (float) – Frequency to evaluate permittivity at (Hz).
- Returns
Real part of relative permittivity & electric conductivity.
- Return type
Tuple[float, float]
- static eps_complex_to_nk(eps_c: complex) Tuple[float, float] #
Convert complex permittivity to n, k values.
- Parameters
eps_c (complex) – Complex-valued relative permittivity.
- Returns
Real and imaginary parts of refractive index (n & k).
- Return type
Tuple[float, float]
- eps_diagonal(frequency: float) Tuple[complex, complex, complex] #
Main diagonal of the complex-valued permittivity tensor as a function of frequency.
- Parameters
frequency (float) – Frequency to evaluate permittivity at (Hz).
- Returns
The diagonal elements of the relative permittivity tensor evaluated at
frequency
.- Return type
complex
- abstract eps_model(frequency: float) complex #
Complex-valued permittivity as a function of frequency.
- Parameters
frequency (float) – Frequency to evaluate permittivity at (Hz).
- Returns
Complex-valued relative permittivity evaluated at
frequency
.- Return type
complex
- static eps_sigma_to_eps_complex(eps_real: float, sigma: float, freq: float) complex #
convert permittivity and conductivity to complex permittivity at freq
- Parameters
eps_real (float) – Real-valued relative permittivity.
sigma (float) – Conductivity.
freq (float) – Frequency to evaluate permittivity at (Hz). If not supplied, returns real part of permittivity (limit as frequency -> infinity.)
- Returns
Complex-valued relative permittivity.
- Return type
complex
- nk_model(frequency: float) Tuple[float, float] #
Real and imaginary parts of the refactive index as a function of frequency.
- Parameters
frequency (float) – Frequency to evaluate permittivity at (Hz).
- Returns
Real part (n) and imaginary part (k) of refractive index of medium.
- Return type
Tuple[float, float]
- static nk_to_eps_complex(n: float, k: float = 0.0) complex #
Convert n, k to complex permittivity.
- Parameters
n (float) – Real part of refractive index.
k (float = 0.0) – Imaginary part of refrative index.
- Returns
Complex-valued relative permittivty.
- Return type
complex
- static nk_to_eps_sigma(n: float, k: float, freq: float) Tuple[float, float] #
Convert
n
,k
at frequencyfreq
to permittivity and conductivity values.- Parameters
n (float) – Real part of refractive index.
k (float = 0.0) – Imaginary part of refrative index.
frequency (float) – Frequency to evaluate permittivity at (Hz).
- Returns
Real part of relative permittivity & electric conductivity.
- Return type
Tuple[float, float]
- plot(freqs: float, ax: matplotlib.axes._axes.Axes = None) matplotlib.axes._axes.Axes #
Plot n, k of a
Medium
as a function of frequency.- Parameters
freqs (float) – Frequencies (Hz) to evaluate the medium properties at.
ax (matplotlib.axes._subplots.Axes = None) – Matplotlib axes to plot on, if not specified, one is created.
- Returns
The supplied or created matplotlib axes.
- Return type
matplotlib.axes._subplots.Axes