tidy3d.AnisotropicMedium#

class tidy3d.AnisotropicMedium#

Diagonally anisotripic 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.

  • xx (Medium) – Medium describing the xx-component of the diagonal permittivity tensor.

  • yy (Medium) – Medium describing the yy-component of the diagonal permittivity tensor.

  • zz (Medium) – Medium describing the zz-component of the diagonal permittivity tensor.

Note

Only diagonal anisotropy and non-dispersive components are currently supported.

Example

>>> medium_xx = Medium(permittivity=4.0)
>>> medium_yy = Medium(permittivity=4.1)
>>> medium_zz = Medium(permittivity=3.9)
>>> anisotropic_dielectric = AnisotropicMedium(xx=medium_xx, yy=medium_yy, zz=medium_zz)

Show JSON schema
{
   "title": "AnisotropicMedium",
   "description": "Diagonally anisotripic 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.\nxx : Medium\n    Medium describing the xx-component of the diagonal permittivity tensor.\nyy : Medium\n    Medium describing the yy-component of the diagonal permittivity tensor.\nzz : Medium\n    Medium describing the zz-component of the diagonal permittivity tensor.\n\nNote\n----\nOnly diagonal anisotropy and non-dispersive components are currently supported.\n\nExample\n-------\n>>> medium_xx = Medium(permittivity=4.0)\n>>> medium_yy = Medium(permittivity=4.1)\n>>> medium_zz = Medium(permittivity=3.9)\n>>> anisotropic_dielectric = AnisotropicMedium(xx=medium_xx, yy=medium_yy, zz=medium_zz)",
   "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": "AnisotropicMedium",
         "enum": [
            "AnisotropicMedium"
         ],
         "type": "string"
      },
      "xx": {
         "title": "XX Component",
         "description": "Medium describing the xx-component of the diagonal permittivity tensor.",
         "allOf": [
            {
               "$ref": "#/definitions/Medium"
            }
         ]
      },
      "yy": {
         "title": "YY Component",
         "description": "Medium describing the yy-component of the diagonal permittivity tensor.",
         "allOf": [
            {
               "$ref": "#/definitions/Medium"
            }
         ]
      },
      "zz": {
         "title": "ZZ Component",
         "description": "Medium describing the zz-component of the diagonal permittivity tensor.",
         "allOf": [
            {
               "$ref": "#/definitions/Medium"
            }
         ]
      }
   },
   "required": [
      "xx",
      "yy",
      "zz"
   ],
   "additionalProperties": false,
   "definitions": {
      "Medium": {
         "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/m].  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/m",
               "type": "number"
            }
         },
         "additionalProperties": false
      }
   }
}

Fields
  • xx (tidy3d.components.medium.Medium)

  • yy (tidy3d.components.medium.Medium)

  • zz (tidy3d.components.medium.Medium)

attribute xx: tidy3d.components.medium.Medium [Required]#

Medium describing the xx-component of the diagonal permittivity tensor.

attribute yy: tidy3d.components.medium.Medium [Required]#

Medium describing the yy-component of the diagonal permittivity tensor.

attribute zz: tidy3d.components.medium.Medium [Required]#

Medium describing the zz-component of the diagonal permittivity tensor.

eps_diagonal(frequency: float) complex#

New eps_model function.

eps_model(frequency: float) complex#

New eps_model function.

plot(freqs: float, ax: matplotlib.axes._axes.Axes = None) matplotlib.axes._axes.Axes#

Plot n, k of a Medium as a function of frequency.