{
  "title": "SubpixelSpec",
  "public_path": "flex_rf.tidy3d.SubpixelSpec",
  "lookup_path": "tidy3d.SubpixelSpec",
  "slug": "flex_rf/tidy3d/SubpixelSpec",
  "public_url": "/rf/latest/autogenerated/flex_rf/tidy3d/subpixelspec/",
  "object_kind": "class",
  "introduction": "Defines specification for subpixel averaging schemes when added to `Simulation.subpixel`.",
  "notes": "",
  "examples": "",
  "references": "",
  "signature": "class SubpixelSpec(Tidy3dBaseModel)",
  "source": {
    "path": "flex/public/tidy3d/tidy3d/components/subpixel_spec.py",
    "url": "",
    "lineno": 167,
    "endlineno": 224
  },
  "bases": [
    "Tidy3dBaseModel"
  ],
  "parameter_rows": [
    {
      "name": "dielectric",
      "annotation": "DielectricSubpixelType",
      "default": "factory: PolarizedAveraging",
      "description": "Subpixel averaging method applied to dielectric material interfaces.",
      "origin": "declared"
    },
    {
      "name": "metal",
      "annotation": "MetalSubpixelType",
      "default": "factory: Staircasing",
      "description": "Subpixel averaging method applied to metallic structure interfaces. A material is considered as metallic if its real part of relative permittivity is less than 1 at the central frequency.",
      "origin": "declared"
    },
    {
      "name": "pec",
      "annotation": "PECSubpixelType",
      "default": "factory: PECConformal",
      "description": "Subpixel averaging method applied to PEC structure interfaces.",
      "origin": "declared"
    },
    {
      "name": "pmc",
      "annotation": "PMCSubpixelType",
      "default": "factory: Staircasing",
      "description": "Subpixel averaging method applied to PMC structure interfaces.",
      "origin": "declared"
    },
    {
      "name": "lossy_metal",
      "annotation": "LossyMetalSubpixelType",
      "default": "factory: SurfaceImpedance",
      "description": "Subpixel averaging method applied to `td.LossyMetalMedium` material interfaces.",
      "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"
    }
  ],
  "members": [
    {
      "name": "courant_ratio",
      "kind": "function",
      "signature": "courant_ratio(contain_pec_structures: bool, contain_sibc_structures: bool)",
      "description": "The scaling ratio applied to Courant number so that the courant number in the simulation is `sim.courant * courant_ratio`. So far only PEC subpixel averaging scheme and SIBC require deduction of Courant number."
    },
    {
      "name": "staircasing",
      "kind": "function",
      "signature": "staircasing()",
      "description": "Apply staircasing on all material boundaries."
    }
  ],
  "group": "flex_rf.tidy3d"
}
