tidy3d.plugins.adjoint.JaxStructure

tidy3d.plugins.adjoint.JaxStructure#

class JaxStructure[source]#

Bases: AbstractJaxStructure, JaxObject

A Structure registered with jax.

Parameters:
  • attrs (dict = {}) – Dictionary storing arbitrary metadata for a Tidy3D object. This dictionary can be freely used by the user for storing data without affecting the operation of Tidy3D as it is not used internally. Note that, unlike regular Tidy3D fields, attrs are mutable. For example, the following is allowed for setting an attr obj.attrs['foo'] = bar. Also note that Tidy3D` will raise a TypeError if attrs contain objects that can not be serialized. One can check if attrs are serializable by calling obj.json().

  • geometry (Union[JaxBox, JaxPolySlab, JaxGeometryGroup]) – Geometry of the structure, which is jax-compatible.

  • name (Optional[str] = None) – Optional name for the structure.

  • background_permittivity (Optional[ConstrainedFloatValue] = None) – DEPRECATED: Use Structure.background_medium. Relative permittivity used for the background of this structure when performing shape optimization with autograd.

  • background_medium (Union[MultiPhysicsMedium, Medium, AnisotropicMedium, PECMedium, PMCMedium, PoleResidue, Sellmeier, Lorentz, Debye, Drude, FullyAnisotropicMedium, CustomMedium, CustomPoleResidue, CustomSellmeier, CustomLorentz, CustomDebye, CustomDrude, CustomAnisotropicMedium, PerturbationMedium, PerturbationPoleResidue, LossyMetalMedium, Medium2D, AnisotropicMediumFromMedium2D, FluidSpec, SolidSpec, SolidMedium, FluidMedium, ChargeConductorMedium, ChargeInsulatorMedium, SemiconductorMedium] = None) – Medium used for the background of this structure when performing shape optimization with autograd. This is required when the structure is embedded in another structure as autograd will use the permittivity of the Simulation by default to compute the shape derivatives.

  • priority (Optional[int] = None) – Priority of the structure applied in structure overlapping region. The material property in the overlapping region is dictated by the structure of higher priority. For structures of equal priority, the structure added later to the structure list takes precedence. When priority is None, the value is automatically assigned based on structure_priority_mode in the Simulation.

  • medium (Union[JaxMedium, JaxAnisotropicMedium, JaxCustomMedium]) – Medium of the structure, which is jax-compatible.

Attributes

Methods

Inherited Common Usage

geometry#
medium#
__hash__()#

Hash method.