tidy3d.plugins.adjoint.JaxAnisotropicMedium#

class tidy3d.plugins.adjoint.JaxAnisotropicMedium#

A Medium registered with jax.

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 (JaxMedium) – Medium describing the xx-component of the diagonal permittivity tensor.

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

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

Show JSON schema
{
   "title": "JaxAnisotropicMedium",
   "description": "Parameters\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 : Optional[Any] = None\n        yy : Optional[Any] = None\n        zz : Optional[Any] = None\n    ",
   "type": "object",
   "properties": {
      "type": {
         "title": "Type",
         "default": "JaxAnisotropicMedium",
         "enum": [
            "JaxAnisotropicMedium"
         ],
         "type": "string"
      },
      "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"
            }
         ]
      },
      "xx": {
         "title": "Xx"
      },
      "yy": {
         "title": "Yy"
      },
      "zz": {
         "title": "Zz"
      }
   },
   "additionalProperties": false
}

attribute xx: JaxMedium [Required]#

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

attribute yy: JaxMedium [Required]#

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

attribute zz: JaxMedium [Required]#

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

classmethod from_tidy3d(tidy3d_obj: tidy3d.components.medium.AnisotropicMedium) tidy3d.plugins.adjoint.components.medium.JaxAnisotropicMedium#

Convert Tidy3dBaseModel instance to JaxObject.

store_vjp(grad_data_fwd: tidy3d.components.data.monitor_data.FieldData, grad_data_adj: tidy3d.components.data.monitor_data.FieldData, sim_bounds: Tuple[Tuple[float, float, float], Tuple[float, float, float]], wvl_mat: float) tidy3d.plugins.adjoint.components.medium.JaxMedium#

Returns the gradient of the medium parameters given forward and adjoint field data.

to_medium() tidy3d.components.medium.AnisotropicMedium#

Convert JaxMedium instance to Medium