tidy3d.plugins.microwave.VoltageIntegralAxisAligned#

class VoltageIntegralAxisAligned[source]#

Bases: AxisAlignedPathIntegral

Class for computing the voltage between two points defined by an axis-aligned line.

Parameters:
  • attrs (dict = {}) – 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.json().

  • center (Union[tuple[Union[float, autograd.tracer.Box], Union[float, autograd.tracer.Box], Union[float, autograd.tracer.Box]], Box] = (0.0, 0.0, 0.0)) – [units = um]. Center of object in x, y, and z.

  • size (Union[tuple[Union[pydantic.v1.types.NonNegativeFloat, autograd.tracer.Box], Union[pydantic.v1.types.NonNegativeFloat, autograd.tracer.Box], Union[pydantic.v1.types.NonNegativeFloat, autograd.tracer.Box]], Box]) – [units = um]. Size in x, y, and z directions.

  • extrapolate_to_endpoints (bool = False) – If the endpoints of the path integral terminate at or near a material interface, the field is likely discontinuous. When this field is True, fields that are outside and on the bounds of the integral are ignored. Should be enabled when computing voltage between two conductors.

  • snap_path_to_grid (bool = False) – It might be desireable to integrate exactly along the Yee grid associated with a field. When this field is True, the integration path will be snapped to the grid.

  • sign (Literal['+', '-']) – Positive indicates V=Vb-Va where position b has a larger coordinate along the axis of integration.

Attributes

Methods

compute_voltage(em_field)

Compute voltage along path defined by a line.

from_terminal_positions(plus_terminal, ...)

Helper to create a VoltageIntegralAxisAligned from two coordinates that define a line and two positions indicating the endpoints of the path integral.

plot([x, y, z, ax])

Plot path integral at single (x,y,z) coordinate.

Inherited Common Usage

sign#
compute_voltage(em_field)[source]#

Compute voltage along path defined by a line.

static from_terminal_positions(plus_terminal, minus_terminal, x=None, y=None, z=None, extrapolate_to_endpoints=True, snap_path_to_grid=True)[source]#

Helper to create a VoltageIntegralAxisAligned from two coordinates that define a line and two positions indicating the endpoints of the path integral.

Parameters:
  • plus_terminal (float) – Position along the voltage axis of the positive terminal.

  • minus_terminal (float) – Position along the voltage axis of the negative terminal.

  • x (float = None) – Position in x direction, only two of x,y,z can be specified to define line.

  • y (float = None) – Position in y direction, only two of x,y,z can be specified to define line.

  • z (float = None) – Position in z direction, only two of x,y,z can be specified to define line.

  • extrapolate_to_endpoints (bool = True) – Passed directly to VoltageIntegralAxisAligned

  • snap_path_to_grid (bool = True) – Passed directly to VoltageIntegralAxisAligned

Returns:

The created path integral for computing voltage between the two terminals.

Return type:

VoltageIntegralAxisAligned

plot(x=None, y=None, z=None, ax=None, **path_kwargs)[source]#

Plot path integral at single (x,y,z) coordinate.

Parameters:
  • x (float = None) – Position of plane in x direction, only one of x,y,z can be specified to define plane.

  • y (float = None) – Position of plane in y direction, only one of x,y,z can be specified to define plane.

  • z (float = None) – Position of plane in z direction, only one of x,y,z can be specified to define plane.

  • ax (matplotlib.axes._subplots.Axes = None) – Matplotlib axes to plot on, if not specified, one is created.

  • **path_kwargs – Optional keyword arguments passed to the matplotlib plotting of the line. For details on accepted values, refer to Matplotlib’s documentation.

Returns:

The supplied or created matplotlib axes.

Return type:

matplotlib.axes._subplots.Axes

__hash__()#

Hash method.