tidy3d.plugins.microwave.CustomCurrentIntegral2D#

class CustomCurrentIntegral2D[source]#

Bases: CustomPathIntegral2D

Class for computing conduction current via Ampère’s circuital law on a custom path. To compute the current flowing in the positive axis direction, the vertices should be ordered in a counterclockwise direction.

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().

  • axis (Literal[0, 1, 2] = 2) – Specifies dimension of the planar axis (0,1,2) -> (x,y,z).

  • position (float) – Position of the plane along the axis.

  • vertices (ArrayLike[dtype=float, ndim=2]) – [units = um]. 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). If you wish to indicate a closed contour, the final vertex should be made equal to the first vertex, i.e., vertices[-1] == vertices[0]

Attributes

sign

Uses the ordering of the vertices to determine the direction of the current flow.

attrs

Methods

compute_current(em_field)

Compute current flowing in a custom loop.

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

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

Inherited Common Usage

compute_current(em_field)[source]#

Compute current flowing in a custom loop.

Parameters:

em_field (MonitorDataTypes) – The electromagnetic field data that will be used for integrating.

Returns:

Result of current computation over remaining dimensions (frequency, time, mode indices).

Return type:

IntegralResultTypes

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

property sign#

Uses the ordering of the vertices to determine the direction of the current flow.

__hash__()#

Hash method.