{
  "title": "Custom2DVoltageIntegralSpec",
  "public_path": "flex_rf.tidy3d.Custom2DVoltageIntegralSpec",
  "lookup_path": "tidy3d.rf.Custom2DVoltageIntegralSpec",
  "slug": "flex_rf/tidy3d/Custom2DVoltageIntegralSpec",
  "public_url": "/rf/latest/autogenerated/flex_rf/tidy3d/custom2dvoltageintegralspec/",
  "object_kind": "class",
  "introduction": "Class for specifying the computation of voltage between two points defined by a custom path.\nComputed voltage is $$V=V_b-V_a$$, where position b is the final vertex in the supplied path.",
  "notes": "Use `AxisAlignedVoltageIntegralSpec` if possible, since interpolation\nnear conductors will not be accurate.\n\n.. TODO Improve by including extrapolate_to_endpoints field, non-trivial extension.",
  "examples": "",
  "references": "",
  "signature": "class Custom2DVoltageIntegralSpec(Custom2DPathIntegralSpec)",
  "source": {
    "path": "flex/public/tidy3d/tidy3d/components/microwave/path_integrals/specs/voltage.py",
    "url": "",
    "lineno": 158,
    "endlineno": 235
  },
  "bases": [
    "Custom2DPathIntegralSpec"
  ],
  "parameter_rows": [
    {
      "name": "vertices",
      "annotation": "ArrayFloat2D",
      "default": "",
      "description": "List of (d1, d2) defining the 2 dimensional positions of the path. The index of dimension should be in the ascending order, which means if the axis corresponds with `y`, the coordinates of the vertices should be (x, z). The path is open: the first vertex defines position a and the last vertex defines position b for the voltage computation V = V_b - V_a.",
      "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": "axis",
      "annotation": "Axis",
      "default": "",
      "description": "Specifies dimension of the planar axis (0,1,2) -> (x,y,z).",
      "origin": "inherited"
    },
    {
      "name": "position",
      "annotation": "float",
      "default": "",
      "description": "Position of the plane along the `axis`.",
      "origin": "inherited"
    }
  ],
  "members": [
    {
      "name": "plot",
      "kind": "function",
      "signature": "plot(x: float | None = None, y: float | None = None, z: float | None = None, ax: Ax = None, plot_markers: bool = True, **path_kwargs: Any)",
      "description": "Plot path integral at single (x,y,z) coordinate."
    }
  ],
  "group": "flex_rf.tidy3d"
}
