tidy3d.Medium#

class tidy3d.Medium#

Dispersionless medium.

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.

  • permittivity (ConstrainedFloatValue = 1.0) – [units = None (relative permittivity)]. Relative permittivity.

  • conductivity (ConstrainedFloatValue = 0.0) – [units = S/um]. Electric conductivity. Defined such that the imaginary part of the complex permittivity at angular frequency omega is given by conductivity/omega.

Example

>>> dielectric = Medium(permittivity=4.0, name='my_medium')
>>> eps = dielectric.eps_model(200e12)

Show JSON schema
{
   "title": "Medium",
   "description": "Dispersionless medium.\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.\npermittivity : ConstrainedFloatValue = 1.0\n    [units = None (relative permittivity)].  Relative permittivity.\nconductivity : ConstrainedFloatValue = 0.0\n    [units = S/um].  Electric conductivity.  Defined such that the imaginary part of the complex permittivity at angular frequency omega is given by conductivity/omega.\n\nExample\n-------\n>>> dielectric = Medium(permittivity=4.0, name='my_medium')\n>>> eps = dielectric.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": "Medium",
         "enum": [
            "Medium"
         ],
         "type": "string"
      },
      "permittivity": {
         "title": "Permittivity",
         "description": "Relative permittivity.",
         "default": 1.0,
         "minimum": 1.0,
         "units": "None (relative permittivity)",
         "type": "number"
      },
      "conductivity": {
         "title": "Conductivity",
         "description": "Electric conductivity.  Defined such that the imaginary part of the complex permittivity at angular frequency omega is given by conductivity/omega.",
         "default": 0.0,
         "minimum": 0.0,
         "units": "S/um",
         "type": "number"
      }
   },
   "additionalProperties": false
}

attribute conductivity: float = 0.0#

Electric conductivity. Defined such that the imaginary part of the complex permittivity at angular frequency omega is given by conductivity/omega.

Constraints
  • minimum = 0.0

attribute permittivity: float = 1.0#

Relative permittivity.

Constraints
  • minimum = 1.0

eps_model(frequency: float) complex#

New eps_model function.

classmethod from_nk(n: float, k: float, freq: float, **kwargs)#

Convert n and k values at frequency freq to Medium.

Parameters
  • n (float) – Real part of refractive index.

  • k (float = 0) – Imaginary part of refrative index.

  • freq (float) – Frequency to evaluate permittivity at (Hz).

Returns

medium containing the corresponding permittivity and conductivity.

Return type

Medium