{
  "title": "InternalAbsorber",
  "public_path": "flex_rf.tidy3d.InternalAbsorber",
  "lookup_path": "tidy3d.rf.InternalAbsorber",
  "slug": "flex_rf/tidy3d/InternalAbsorber",
  "public_url": "/rf/latest/autogenerated/flex_rf/tidy3d/internalabsorber/",
  "object_kind": "class",
  "introduction": "Internally placed plane with one-way wave equation boundary conditions for absorption of electromagnetic waves.\nNote that internal absorbers are automatically wrapped in a PEC frame with a backing PEC plate on the non-absorbing side.",
  "notes": "",
  "examples": "",
  "references": "",
  "signature": "class InternalAbsorber(Box)",
  "source": {
    "path": "flex/public/tidy3d/tidy3d/components/boundary.py",
    "url": "",
    "lineno": 386,
    "endlineno": 472
  },
  "bases": [
    "Box"
  ],
  "parameter_rows": [
    {
      "name": "direction",
      "annotation": "Direction",
      "default": "...",
      "description": "Indicates which direction of traveling waves are absorbed.",
      "origin": "declared"
    },
    {
      "name": "grid_shift",
      "annotation": "int",
      "default": "0",
      "description": "Displacement of absorber in the normal positive direction in number of cells. This could be used to conveniently place an absorber right behind a source: one can use the same `size` and `center` as for the source and simply set `shift` to 1.",
      "origin": "declared"
    },
    {
      "name": "boundary_spec",
      "annotation": "ModeABCBoundary | ABCBoundary",
      "default": "...",
      "description": "Boundary specification for defining effective propagation index in the one-way wave equation.",
      "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": "center",
      "annotation": "TracedCoordinate",
      "default": "(0.0, 0.0, 0.0)",
      "description": "Center of object in x, y, and z.",
      "origin": "inherited"
    },
    {
      "name": "size",
      "annotation": "TracedSize",
      "default": "",
      "description": "Size in x, y, and z directions.",
      "origin": "inherited"
    }
  ],
  "members": [
    {
      "name": "plot",
      "kind": "function",
      "signature": "plot(x: float | None = None, y: float | None = None, z: float | None = None, ax: Ax | None = None, **patch_kwargs: Any)",
      "description": "Plot this absorber."
    },
    {
      "name": "plot_params",
      "kind": "function",
      "signature": "plot_params()",
      "description": "Default parameters for plotting a port absorber object."
    }
  ],
  "group": "flex_rf.tidy3d"
}
