Plugins#

Mode Solver#

tidy3d.plugins.mode.ModeSolver

Interface for solving electromagnetic eigenmodes in a 2D plane with translational invariance in the third dimension.

tidy3d.plugins.mode.ModeSolverData

Data associated with a ModeSolverMonitor: scalar components of E and H fields.

Dispersive Model Fitting#

tidy3d.plugins.dispersion.FastDispersionFitter

Tool for fitting refractive index data to get a dispersive medium described by PoleResidue model.

tidy3d.plugins.dispersion.AdvancedFastFitterParam

Advanced fast fitter parameters.

tidy3d.plugins.dispersion.DispersionFitter

Tool for fitting refractive index data to get a dispersive medium described by PoleResidue model.

tidy3d.plugins.dispersion.AdvancedFitterParam

Advanced fitter parameters

tidy3d.plugins.dispersion.web.run(fitter[, ...])

Execute the data fit using the stable fitter in the server.

tidy3d.plugins.dispersion.StableDispersionFitter

Deprecated.

Self-intersecting Polyslab#

tidy3d.plugins.polyslab.ComplexPolySlab

Interface for dividing a complex polyslab where self-intersecting polygon can occur during extrusion.

Scattering Matrix Calculator#

tidy3d.plugins.smatrix.ComponentModeler

Tool for modeling devices and computing scattering matrix elements.

tidy3d.plugins.smatrix.Port

Specifies a port in the scattering matrix.

tidy3d.plugins.smatrix.ModalPortDataArray

Port parameter matrix elements for modal ports.

tidy3d.plugins.smatrix.TerminalComponentModeler

Tool for modeling two-terminal multiport devices and computing port parameters with lumped ports.

tidy3d.plugins.smatrix.LumpedPort

Class representing a single lumped port

tidy3d.plugins.smatrix.LumpedPortDataArray

Port parameter matrix elements for lumped ports.

Resonance Finder#

tidy3d.plugins.resonance.ResonanceFinder

Tool that extracts resonance information from a time series of the form shown below.

Adjoint#

tidy3d.plugins.adjoint.web.run

Submits a JaxSimulation to server, starts running, monitors progress, downloads, and loads results as a JaxSimulationData object.

tidy3d.plugins.adjoint.web.run_async

Submits a set of JaxSimulation objects to server, starts running, monitors progress, downloads, and loads results as a tuple of JaxSimulationData objects.

tidy3d.plugins.adjoint.JaxBox

A Box registered with jax.

tidy3d.plugins.adjoint.JaxPolySlab

A PolySlab registered with jax.

tidy3d.plugins.adjoint.JaxComplexPolySlab

A ComplexPolySlab registered with jax.

tidy3d.plugins.adjoint.JaxMedium

A Medium registered with jax.

tidy3d.plugins.adjoint.JaxAnisotropicMedium

A Medium registered with jax.

tidy3d.plugins.adjoint.JaxCustomMedium

A CustomMedium registered with jax.

tidy3d.plugins.adjoint.JaxStructure

A Structure registered with jax.

tidy3d.plugins.adjoint.JaxSimulation

A Simulation registered with jax.

tidy3d.plugins.adjoint.JaxSimulationData

A SimulationData registered with jax.

tidy3d.plugins.adjoint.JaxModeData

A ModeData registered with jax.

tidy3d.plugins.adjoint.JaxPermittivityDataset

A PermittivityDataset registered with jax.

tidy3d.plugins.adjoint.JaxDataArray

A DataArray-like class that only wraps xarray for jax compatibility.

tidy3d.plugins.adjoint.utils.filter.ConicFilter

Filter that convolves an image with a conical mask, used for larger feature sizes.

tidy3d.plugins.adjoint.utils.filter.BinaryProjector

Projects a grayscale image towards min and max values using a smooth tanh function.

tidy3d.plugins.adjoint.utils.penalty.RadiusPenalty

Computes a penalty for small radius of curvature determined by a fit of points in a 2D plane.

Waveguide#

tidy3d.plugins.waveguide.RectangularDielectric

General rectangular dielectric waveguide

Design Space Exploration#

tidy3d.plugins.design.ParameterFloat

Parameter containing floats.

tidy3d.plugins.design.ParameterInt

Parameter containing integers.

tidy3d.plugins.design.ParameterAny

Parameter containing a set of of anything.

tidy3d.plugins.design.MethodGrid

Select parameters uniformly on a grid.

tidy3d.plugins.design.MethodMonteCarlo

Select sampling points using Monte Carlo sampling (Latin Hypercube method).

tidy3d.plugins.design.MethodRandomCustom

Select parameters with an object with a user supplied sampler with a .random method.

tidy3d.plugins.design.MethodRandom

Select sampling points uniformly at random.

tidy3d.plugins.design.DesignSpace

Specification of a design problem / combination of several parameters + algorithm.

Microwave#

tidy3d.plugins.microwave.AxisAlignedPathIntegral

Class for defining the simplest type of path integral, which is aligned with Cartesian axes.

tidy3d.plugins.microwave.VoltageIntegralAxisAligned

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

tidy3d.plugins.microwave.CurrentIntegralAxisAligned

Class for computing conduction current via Ampère's circuital law on an axis-aligned loop.

tidy3d.plugins.microwave.ImpedanceCalculator

Tool for computing the characteristic impedance of a transmission line.