{
  "title": "PECConformal",
  "public_path": "flex_rf.tidy3d.PECConformal",
  "lookup_path": "tidy3d.PECConformal",
  "slug": "flex_rf/tidy3d/PECConformal",
  "public_url": "/rf/latest/autogenerated/flex_rf/tidy3d/pecconformal/",
  "object_kind": "class",
  "introduction": "Apply a subpixel averaging method known as conformal mesh scheme to PEC boundaries.",
  "notes": "The algorithm is based on:\n\nS. Dey and R. Mittra, \"A locally conformal finite-difference\ntime-domain (FDTD) algorithm for modeling three-dimensional\nperfectly conducting objects\",\nIEEE Microwave and Guided Wave Letters, 7(9), 273 (1997).\n\nS. Benkler, N. Chavannes and N. Kuster, \"A new 3-D conformal\nPEC FDTD scheme with user-defined geometric precision and derived\nstability criterion\",\nIEEE Transactions on Antennas and Propagation, 54(6), 1843 (2006).",
  "examples": "",
  "references": "",
  "signature": "class PECConformal(AbstractSubpixelAveragingMethod)",
  "source": {
    "path": "flex/public/tidy3d/tidy3d/components/subpixel_spec.py",
    "url": "",
    "lineno": 100,
    "endlineno": 141
  },
  "bases": [
    "AbstractSubpixelAveragingMethod"
  ],
  "parameter_rows": [
    {
      "name": "timestep_reduction",
      "annotation": "float",
      "default": "DEFAULT_COURANT_REDUCTION_PEC_CONFORMAL",
      "description": "Reduction factor between 0 and 1 such that the simulation's time step size is `1 - timestep_reduction` times its default value. Accuracy can be improved with a smaller time step size, but the simulation time will be increased.",
      "origin": "declared"
    },
    {
      "name": "edge_singularity_correction",
      "annotation": "bool",
      "default": "True",
      "description": "Apply field correction model at metallic edges where field singularity occurs. The edges should be straight, and aligned with the primal grids; and the wedge angle is either 0 or 90 degree.",
      "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()",
      "description": "The scaling ratio applied to Courant number so that the courant number in the simulation is `sim.courant * courant_ratio`."
    }
  ],
  "group": "flex_rf.tidy3d"
}
