tidy3d.MeshOverrideStructure#
- class MeshOverrideStructure[source]#
Bases:
AbstractStructure
Defines an object that is only used in the process of generating the mesh.
- 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 anattr
obj.attrs['foo'] = bar
. Also note that Tidy3D` will raise aTypeError
ifattrs
contain objects that can not be serialized. One can check ifattrs
are serializable by callingobj.json()
.geometry (Union[Box, Transformed, ClipOperation, GeometryGroup, Sphere, Cylinder, PolySlab, ComplexPolySlabBase, TriangleMesh]) β Defines geometric properties of the structure.
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[Medium, AnisotropicMedium, PECMedium, PoleResidue, Sellmeier, Lorentz, Debye, Drude, FullyAnisotropicMedium, CustomMedium, CustomPoleResidue, CustomSellmeier, CustomLorentz, CustomDebye, CustomDrude, CustomAnisotropicMedium, PerturbationMedium, PerturbationPoleResidue, Medium2D, AnisotropicMediumFromMedium2D] = 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.dl (Tuple[PositiveFloat, PositiveFloat, PositiveFloat]) β [units = um]. Grid size along x, y, z directions.
enforce (bool = False) β If
True
, enforce the grid size setup inside the structure even if the structure is inside a structure of smaller grid size. In the intersection region of multiple structures ofenforce=True
, grid size is decided by the last added structure ofenforce=True
.
Notes
A
MeshOverrideStructure
is a combination of geometryGeometry
, grid size alongx
,y
,z
directions, and a boolean on whether the override will be enforced.Example
>>> from tidy3d import Box >>> box = Box(center=(0,0,1), size=(2, 2, 2)) >>> struct_override = MeshOverrideStructure(geometry=box, dl=(0.1,0.2,0.3), name='override_box')
Attributes
Methods
Inherited Common Usage
- dl#
- enforce#
- __hash__()#
Hash method.