tidy3d.plugins.adjoint.JaxBox#

class tidy3d.plugins.adjoint.JaxBox#

A Box registered with jax.

Parameters
  • center (Tuple[Union[float, ndarray, DeviceArray, JVPTracer], Union[float, ndarray, DeviceArray, JVPTracer], Union[float, ndarray, DeviceArray, JVPTracer]]) – Center of the box in (x,y,z). May contain jax DeviceArray instances.

  • size (Tuple[Union[float, ndarray, DeviceArray, JVPTracer], Union[float, ndarray, DeviceArray, JVPTracer], Union[float, ndarray, DeviceArray, JVPTracer]]) – Size of the box in (x,y,z). May contain jax DeviceArray instances.

Show JSON schema
{
   "title": "JaxBox",
   "description": "Parameters\n----------\ncenter : Optional[Any] = None\n        size : Optional[Any] = None\n    ",
   "type": "object",
   "properties": {
      "type": {
         "title": "Type",
         "default": "JaxBox",
         "enum": [
            "JaxBox"
         ],
         "type": "string"
      },
      "center": {
         "title": "Center"
      },
      "size": {
         "title": "Size"
      }
   },
   "additionalProperties": false
}

attribute center: Tuple[Union[float, numpy.ndarray, jaxlib.xla_extension.DeviceArray, jax.interpreters.ad.JVPTracer], Union[float, numpy.ndarray, jaxlib.xla_extension.DeviceArray, jax.interpreters.ad.JVPTracer], Union[float, numpy.ndarray, jaxlib.xla_extension.DeviceArray, jax.interpreters.ad.JVPTracer]] [Required]#

Center of the box in (x,y,z). May contain jax DeviceArray instances.

Validated by
  • _center_not_inf

  • _center_not_inf

  • sanitize_validator_fn

attribute size: Tuple[Union[float, numpy.ndarray, jaxlib.xla_extension.DeviceArray, jax.interpreters.ad.JVPTracer], Union[float, numpy.ndarray, jaxlib.xla_extension.DeviceArray, jax.interpreters.ad.JVPTracer], Union[float, numpy.ndarray, jaxlib.xla_extension.DeviceArray, jax.interpreters.ad.JVPTracer]] [Required]#

Size of the box in (x,y,z). May contain jax DeviceArray instances.

Validated by
  • sanitize_validator_fn

store_vjp(grad_data_fwd: tidy3d.components.data.monitor_data.FieldData, grad_data_adj: tidy3d.components.data.monitor_data.FieldData, grad_data_eps: tidy3d.components.data.monitor_data.PermittivityData, sim_bounds: Tuple[Tuple[float, float, float], Tuple[float, float, float]], wvl_mat: float) tidy3d.plugins.adjoint.components.geometry.JaxBox#

Stores the gradient of the box parameters given forward and adjoint field data.

property bounds#

Returns bounding box min and max coordinates..

Returns

Min and max bounds packaged as (minx, miny, minz), (maxx, maxy, maxz).

Return type

Tuple[float, float, float], Tuple[float, float float]