{
  "title": "MeshOverrideStructure",
  "public_path": "flex_rf.tidy3d.MeshOverrideStructure",
  "lookup_path": "tidy3d.MeshOverrideStructure",
  "slug": "flex_rf/tidy3d/MeshOverrideStructure",
  "public_url": "/rf/latest/autogenerated/flex_rf/tidy3d/meshoverridestructure/",
  "object_kind": "class",
  "introduction": "Defines an object that is only used in the process of generating the mesh.",
  "notes": "A `MeshOverrideStructure` is a combination of geometry `Geometry`,\ngrid size along `x`, `y`, `z` directions, and a boolean on whether the override\nwill be enforced.",
  "examples": "```python\nfrom tidy3d import Box\nbox = Box(center=(0,0,1), size=(2, 2, 2))\nstruct_override = MeshOverrideStructure(geometry=box, dl=(0.1,0.2,0.3), name='override_box')\n```",
  "references": "",
  "signature": "class MeshOverrideStructure(AbstractStructure)",
  "source": {
    "path": "flex/public/tidy3d/tidy3d/components/structure.py",
    "url": "",
    "lineno": 1032,
    "endlineno": 1113
  },
  "bases": [
    "AbstractStructure"
  ],
  "parameter_rows": [
    {
      "name": "dl",
      "annotation": "tuple[PositiveFloat | None, PositiveFloat | None, PositiveFloat | None]",
      "default": "",
      "description": "Grid size along x, y, z directions.",
      "origin": "declared"
    },
    {
      "name": "priority",
      "annotation": "int",
      "default": "0",
      "description": "Priority of the structure applied in mesh override structure overlapping region. The priority of internal override structures is `-1`.",
      "origin": "declared"
    },
    {
      "name": "enforce",
      "annotation": "bool",
      "default": "False",
      "description": "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 of `enforce=True`, grid size is decided by the last added structure of `enforce=True`.",
      "origin": "declared"
    },
    {
      "name": "shadow",
      "annotation": "bool",
      "default": "True",
      "description": "In structure intersection region, grid size is decided by the latter added structure in the structure list when `shadow=True`; or the structure of smaller grid size when `shadow=False`. If `shadow=False`, and the structure doesn't refine the mesh, grid snapping to the bounding box of the structure is disabled.",
      "origin": "declared"
    },
    {
      "name": "drop_outside_sim",
      "annotation": "bool",
      "default": "True",
      "description": "If `True`, structure outside the simulation domain is dropped; if `False`, structure takes effect along the dimensions where the projections of the structure and that of the simulation domain overlap.",
      "origin": "declared"
    },
    {
      "name": "attrs",
      "annotation": "dict",
      "default": "factory: dict",
      "description": "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.model_dump_json()`.",
      "origin": "inherited"
    },
    {
      "name": "geometry",
      "annotation": "GeometryType",
      "default": "",
      "description": "Defines geometric properties of the structure.",
      "origin": "inherited"
    },
    {
      "name": "name",
      "annotation": "str | None",
      "default": "None",
      "description": "Optional name for the structure.",
      "origin": "inherited"
    },
    {
      "name": "background_permittivity",
      "annotation": "float | None",
      "default": "None",
      "description": "DEPRECATED: Use `Structure.background_medium`. Relative permittivity used for the background of this structure when performing shape optimization with autograd.",
      "origin": "inherited"
    },
    {
      "name": "background_medium",
      "annotation": "StructureMediumType | None",
      "default": "None",
      "description": "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.",
      "origin": "inherited"
    }
  ],
  "members": [],
  "group": "flex_rf.tidy3d"
}
