Base Classes

Base Classes#

These are some of the classes that are used to organize Tidy3D components, but aren’t to be used directly by the user. They are documented here mainly for user reference of inherited components.

tidy3d.Geometry

Abstract base class, defines where something exists in space.

tidy3d.Tidy3dBaseModel

Base pydantic model that all Tidy3d components inherit from.

tidy3d.components.geometry.base.Centered

Geometry with a well defined center.

tidy3d.components.geometry.base.Circular

Geometry with circular characteristics (specified by a radius).

tidy3d.components.geometry.base.Planar

Geometry with one axis that is slab-like with thickness height.

tidy3d.components.geometry.base.SimplePlaneIntersection

A geometry where intersections with an axis aligned plane may be computed efficiently.

tidy3d.components.geometry.polyslab.ComplexPolySlabBase

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

tidy3d.components.structure.AbstractStructure

A basic structure object.

tidy3d.components.medium.AbstractMedium

A medium within which electromagnetic waves propagate.

tidy3d.components.medium.AbstractCustomMedium

A spatially varying medium.

tidy3d.components.medium.DispersiveMedium

A Medium with dispersion: field propagation characteristics depend on frequency.

tidy3d.components.medium.CustomDispersiveMedium

A spatially varying dispersive medium.

tidy3d.components.medium.AnisotropicMediumFromMedium2D

The same as AnisotropicMedium, but converted from Medium2D.

tidy3d.components.source.time.SourceTime

Base class describing the time dependence of a source.

tidy3d.components.source.time.Pulse

A source time that ramps up with some fwidth and oscillates at freq0.

tidy3d.components.source.base.Source

Abstract base class for all sources.

tidy3d.components.source.field.FieldSource

A Source defined by the desired E and/or H fields.

tidy3d.components.source.field.PlanarSource

A source defined on a 2D plane.

tidy3d.components.source.field.VolumeSource

A source defined in a 3D Box.

tidy3d.components.source.field.DirectionalSource

A Field source that propagates in a given direction.

tidy3d.components.source.field.BroadbandSource

A source with frequency dependent field distributions.

tidy3d.components.source.field.AngledFieldSource

A FieldSource defined with an angled direction of propagation.

tidy3d.components.source.current.CurrentSource

Source implements a current distribution directly.

tidy3d.components.source.current.ReverseInterpolatedSource

Abstract source that allows reverse-interpolation along zero-sized dimensions.

tidy3d.Monitor

Abstract base class for monitors.

tidy3d.components.tcad.monitors.abstract.HeatChargeMonitor

Abstract base class for heat-charge monitors.

tidy3d.components.monitor.FreqMonitor

Monitor that records data in the frequency-domain.

tidy3d.components.monitor.TimeMonitor

Monitor that records data in the time-domain.

tidy3d.components.monitor.AbstractFieldMonitor

Monitor that records electromagnetic field data as a function of x,y,z.

tidy3d.components.monitor.AbstractFluxMonitor

Monitor that records flux during the solver run.

tidy3d.components.monitor.PlanarMonitor

Monitor that has a planar geometry.

tidy3d.components.monitor.SurfaceIntegrationMonitor

Abstract class for monitors that perform surface integrals during the solver run, as in flux and near to far transformations.

tidy3d.components.monitor.AbstractFieldProjectionMonitor

Monitor that samples electromagnetic near fields in the frequency domain and projects them to a given set of observation points.

tidy3d.components.lumped_element.LumpedElement

Base class describing the interface all lumped elements obey.

tidy3d.components.lumped_element.RectangularLumpedElement

Class representing a rectangular planar element with zero thickness along its normal axis.

tidy3d.components.grid.grid_spec.GridSpec1d

Abstract base class, defines 1D grid generation specifications.

tidy3d.components.data.sim_data.AbstractYeeGridSimulationData

Data from an AbstractYeeGridSimulation involving electromagnetic fields on a Yee grid.

tidy3d.components.data.sim_data.SimulationData

Stores data from a collection of Monitor objects in a Simulation.

tidy3d.components.boundary.AbsorberSpec

Specifies the generic absorber properties along a single dimension.

tidy3d.components.tcad.boundary.abstract.HeatChargeBC

Abstract heat-charge boundary conditions.

tidy3d.components.subpixel_spec.AbstractSubpixelAveragingMethod

Base class defining how to handle material assignment on structure interfaces.

tidy3d.components.data.data_array.DataArray

Subclass of xr.DataArray that requires _dims to match the keys of the coords.

tidy3d.components.data.dataset.FieldDataset

Dataset storing a collection of the scalar components of E and H fields in the freq.

tidy3d.components.data.dataset.FieldTimeDataset

Dataset storing a collection of the scalar components of E and H fields in the time domain

tidy3d.components.data.dataset.ModeSolverDataset

Dataset storing scalar components of E and H fields as a function of freq.

tidy3d.components.data.monitor_data.ElectromagneticFieldData

Collection of electromagnetic fields.

tidy3d.components.data.monitor_data.MonitorData

Abstract base class of objects that store data pertaining to a single monitor.

tidy3d.components.spice.analysis.ac.AbstractSSACAnalysis

Abstract base class for Small-Signal AC (SSAC) analysis parameters.

tidy3d.components.bc_placement.AbstractBCPlacement

Abstract placement for boundary conditions.

tidy3d.components.boundary.AbstractABCBoundary

One-way wave equation absorbing boundary conditions abstract base class.

tidy3d.components.grid.grid_spec.AbstractAutoGrid

Specification for non-uniform or quasi-uniform grid along a given dimension.

tidy3d.components.material.tcad.charge.AbstractChargeMedium

Abstract class for Charge specifications Currently, permittivity is treated as a constant.

tidy3d.components.material.tcad.heat.AbstractHeatMedium

Abstract heat material specification.

tidy3d.components.medium.AbstractSurfaceRoughness

Abstract class for modeling surface roughness of lossy metal.

tidy3d.components.mode_spec.AbstractModeSpec

Abstract base for mode specification data.

tidy3d.components.base_sim.monitor.AbstractMonitor

Abstract base class for steady-state monitors.

tidy3d.components.monitor.AbstractGaussianOverlapMonitor

Monitor that records amplitudes from decomposition onto a Gaussian-like beam.

tidy3d.components.monitor.AbstractMediumPropertyMonitor

Monitor that records material properties in the frequency domain.

tidy3d.components.monitor.AbstractModeMonitor

Monitor that records mode-related data.

tidy3d.components.microwave.monitor.MicrowaveModeMonitorBase

Base class for microwave mode monitors that use MicrowaveModeSpec.

tidy3d.components.microwave.path_integrals.specs.base.AbstractAxesRH

Represents an axis-aligned right-handed coordinate system with one axis preferred.

tidy3d.components.source.field.AbstractAngularSpec

Abstract base for defining angular variability specifications for plane waves.

tidy3d.components.tcad.data.sim_data.AbstractHeatChargeSimulationData

Abstract class for HeatChargeSimulation results, or VolumeMesher results.

tidy3d.components.tcad.doping.AbstractDopingBox

Derived class from Box to deal with dopings

tidy3d.plugins.autograd.invdes.filters.AbstractFilter

An abstract class for creating and applying convolution filters.

tidy3d.plugins.invdes.base.InvdesBaseModel

Base class for invdes components, in case we need it.

tidy3d.plugins.invdes.design.AbstractInverseDesign

Container for an inverse design problem.

tidy3d.plugins.microwave.array_factor.AbstractAntennaArrayCalculator

Abstract base for phased array calculators.

tidy3d.plugins.smatrix.ports.base_lumped.AbstractLumpedPort

Class representing a single lumped port.

tidy3d.plugins.smatrix.ports.base_terminal.AbstractTerminalPort

Class representing a single terminal-based port.