tidy3d.PermittivityData#

class tidy3d.PermittivityData#

Data for a PermittivityMonitor: diagonal components of the permittivity tensor.

Parameters
  • monitor (PermittivityMonitor) – eps_xx : ScalarFieldDataArray Spatial distribution of the x-component of the electric field.

  • eps_yy (ScalarFieldDataArray) – Spatial distribution of the y-component of the electric field.

  • eps_zz (ScalarFieldDataArray) – Spatial distribution of the z-component of the electric field.

Example

>>> x = [-1,1]
>>> y = [-2,0,2]
>>> z = [-3,-1,1,3]
>>> f = [2e14, 3e14]
>>> coords = dict(x=x, y=y, z=z, f=f)
>>> sclr_fld = ScalarFieldDataArray((1+1j) * np.random.random((2,3,4,2)), coords=coords)
>>> monitor = PermittivityMonitor(size=(2,4,6), freqs=[2e14, 3e14], name='eps')
>>> data = PermittivityData(monitor=monitor, eps_xx=sclr_fld, eps_yy=sclr_fld, eps_zz=sclr_fld)

Show JSON schema
{
   "title": "PermittivityData",
   "description": "Data for a :class:`.PermittivityMonitor`: diagonal components of the permittivity tensor.\n\nParameters\n----------\nmonitor : PermittivityMonitor\n        eps_xx : ScalarFieldDataArray\n    Spatial distribution of the x-component of the electric field.\neps_yy : ScalarFieldDataArray\n    Spatial distribution of the y-component of the electric field.\neps_zz : ScalarFieldDataArray\n    Spatial distribution of the z-component of the electric field.\n\nExample\n-------\n>>> x = [-1,1]\n>>> y = [-2,0,2]\n>>> z = [-3,-1,1,3]\n>>> f = [2e14, 3e14]\n>>> coords = dict(x=x, y=y, z=z, f=f)\n>>> sclr_fld = ScalarFieldDataArray((1+1j) * np.random.random((2,3,4,2)), coords=coords)\n>>> monitor = PermittivityMonitor(size=(2,4,6), freqs=[2e14, 3e14], name='eps')\n>>> data = PermittivityData(monitor=monitor, eps_xx=sclr_fld, eps_yy=sclr_fld, eps_zz=sclr_fld)",
   "type": "object",
   "properties": {
      "monitor": {
         "$ref": "#/definitions/PermittivityMonitor"
      },
      "type": {
         "title": "Type",
         "default": "PermittivityData",
         "enum": [
            "PermittivityData"
         ],
         "type": "string"
      },
      "eps_xx": {
         "title": "DataArray",
         "description": "Spatial distribution of the x-component of the electric field.",
         "type": "xr.DataArray",
         "properties": {
            "__slots__": {
               "title": "__slots__",
               "type": "Tuple[str, ...]"
            }
         },
         "required": [
            "__slots__"
         ]
      },
      "eps_yy": {
         "title": "DataArray",
         "description": "Spatial distribution of the y-component of the electric field.",
         "type": "xr.DataArray",
         "properties": {
            "__slots__": {
               "title": "__slots__",
               "type": "Tuple[str, ...]"
            }
         },
         "required": [
            "__slots__"
         ]
      },
      "eps_zz": {
         "title": "DataArray",
         "description": "Spatial distribution of the z-component of the electric field.",
         "type": "xr.DataArray",
         "properties": {
            "__slots__": {
               "title": "__slots__",
               "type": "Tuple[str, ...]"
            }
         },
         "required": [
            "__slots__"
         ]
      }
   },
   "required": [
      "monitor",
      "eps_xx",
      "eps_yy",
      "eps_zz"
   ],
   "additionalProperties": false,
   "definitions": {
      "PermittivityMonitor": {
         "title": "PermittivityMonitor",
         "description": ":class:`Monitor` that records the diagonal components of the complex-valued relative\npermittivity tensor in the frequency domain. The recorded data has the same shape as a\n:class:`.FieldMonitor` of the same geometry: the permittivity values are saved at the\nYee grid locations, and can be interpolated to any point inside the monitor.\n\nParameters\n----------\ncenter : Tuple[float, float, float] = (0.0, 0.0, 0.0)\n    [units = um].  Center of object in x, y, and z.\nsize : Tuple[NonNegativeFloat, NonNegativeFloat, NonNegativeFloat]\n    [units = um].  Size in x, y, and z directions.\nname : ConstrainedStrValue\n    Unique name for monitor.\nfreqs : Union[Tuple[float, ...], Array]\n    [units = Hz].  Array or list of frequencies stored by the field monitor.\n\nExample\n-------\n>>> monitor = PermittivityMonitor(\n...     center=(1,2,3),\n...     size=(2,2,2),\n...     freqs=[250e12, 300e12],\n...     name='eps_monitor')",
         "type": "object",
         "properties": {
            "type": {
               "title": "Type",
               "default": "PermittivityMonitor",
               "enum": [
                  "PermittivityMonitor"
               ],
               "type": "string"
            },
            "center": {
               "title": "Center",
               "description": "Center of object in x, y, and z.",
               "default": [
                  0.0,
                  0.0,
                  0.0
               ],
               "units": "um",
               "type": "array",
               "minItems": 3,
               "maxItems": 3,
               "items": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "number"
                  },
                  {
                     "type": "number"
                  }
               ]
            },
            "size": {
               "title": "Size",
               "description": "Size in x, y, and z directions.",
               "units": "um",
               "type": "array",
               "minItems": 3,
               "maxItems": 3,
               "items": [
                  {
                     "type": "number",
                     "minimum": 0
                  },
                  {
                     "type": "number",
                     "minimum": 0
                  },
                  {
                     "type": "number",
                     "minimum": 0
                  }
               ]
            },
            "name": {
               "title": "Name",
               "description": "Unique name for monitor.",
               "minLength": 1,
               "type": "string"
            },
            "freqs": {
               "title": "Frequencies",
               "description": "Array or list of frequencies stored by the field monitor.",
               "units": "Hz",
               "anyOf": [
                  {
                     "type": "array",
                     "items": {
                        "type": "number"
                     }
                  },
                  {
                     "title": "Array Like",
                     "description": "Accepts sequence (tuple, list, numpy array) and converts to tuple.",
                     "type": "tuple",
                     "properties": {},
                     "required": []
                  }
               ]
            }
         },
         "required": [
            "size",
            "name",
            "freqs"
         ],
         "additionalProperties": false
      }
   }
}

Fields
  • eps_xx (tidy3d.components.data.data_array.ScalarFieldDataArray)

  • eps_yy (tidy3d.components.data.data_array.ScalarFieldDataArray)

  • eps_zz (tidy3d.components.data.data_array.ScalarFieldDataArray)

  • monitor (tidy3d.components.monitor.PermittivityMonitor)

attribute eps_xx: tidy3d.components.data.data_array.ScalarFieldDataArray [Required]#

Spatial distribution of the x-component of the electric field.

Constraints
  • title = DataArray

  • type = xr.DataArray

  • properties = {‘__slots__’: {‘title’: ‘__slots__’, ‘type’: ‘Tuple[str, …]’}}

  • required = [‘__slots__’]

attribute eps_yy: tidy3d.components.data.data_array.ScalarFieldDataArray [Required]#

Spatial distribution of the y-component of the electric field.

Constraints
  • title = DataArray

  • type = xr.DataArray

  • properties = {‘__slots__’: {‘title’: ‘__slots__’, ‘type’: ‘Tuple[str, …]’}}

  • required = [‘__slots__’]

attribute eps_zz: tidy3d.components.data.data_array.ScalarFieldDataArray [Required]#

Spatial distribution of the z-component of the electric field.

Constraints
  • title = DataArray

  • type = xr.DataArray

  • properties = {‘__slots__’: {‘title’: ‘__slots__’, ‘type’: ‘Tuple[str, …]’}}

  • required = [‘__slots__’]

attribute monitor: tidy3d.components.monitor.PermittivityMonitor [Required]#
property field_components: Dict[str, tidy3d.components.data.data_array.ScalarFieldDataArray]#

Maps the field components to thier associated data.

property grid_locations: Dict[str, str]#

Maps field components to the string key of their grid locations on the yee lattice.

property symmetry_eigenvalues: Dict[str, Callable[[Literal[0, 1, 2]], float]]#

Maps field components to their (positive) symmetry eigenvalues.