API 💻#
Simulation#
Custom implementation of Maxwell’s equations which represents the physical model to be solved using the FDTD method. |
|
Defines specification for how long to run a simulation when added to |
Boundary Conditions#
Specifies boundary conditions on each side of the domain and along each dimension. |
|
Boundary conditions at the minus and plus extents along a dimension. |
|
Electromagnetic boundary condition at a domain edge. |
Types of Boundaries#
Periodic boundary condition class. |
|
Perfect electric conductor boundary condition class. |
|
Perfect magnetic conductor boundary condition class. |
|
Specifies a Bloch boundary condition along a single dimension. |
Absorbing Boundaries#
Types of Absorbers#
Specifies a standard PML along a single dimension. |
|
Specifies a 'stable' PML along a single dimension. |
|
Specifies an adiabatic absorber along a single dimension. |
Absorber Parameters#
Specifies parameters common to Absorbers and PMLs. |
|
Specifies full set of parameters needed for complex, frequency-shifted PML. |
Geometry#
Rectangular prism. |
|
Spherical geometry. |
|
Cylindrical geometry with optional sidewall angle along axis direction. |
|
Polygon extruded with optional sidewall angle along axis direction. |
|
Custom surface geometry given by a triangle mesh, as in the STL file format. |
|
A collection of Geometry objects that can be called as a single geometry object. |
|
Class representing the result of a set operation between geometries. |
|
Class representing a transformed geometry. |
Transformations#
Rotation of vectors and tensors around a given vector. |
Mediums#
Non-Dispersive Medium#
Spatially uniform#
Dispersionless medium. |
|
Perfect electrical conductor class. |
|
Fully anisotropic medium including all 9 components of the permittivity and conductivity tensors. |
Spatially varying#
|
Dispersive Mediums#
Spatially uniform#
A dispersive medium described by the pole-residue pair model. |
|
A dispersive medium described by the Lorentz model. |
|
A dispersive medium described by the Sellmeier model. |
|
A dispersive medium described by the Drude model. |
|
A dispersive medium described by the Debye model. |
Spatially varying#
A spatially varying dispersive medium described by the pole-residue pair model. |
|
A spatially varying dispersive medium described by the Lorentz model. |
|
A spatially varying dispersive medium described by the Sellmeier model. |
|
A spatially varying dispersive medium described by the Drude model. |
|
A spatially varying dispersive medium described by the Debye model. |
Medium Perturbations#
Dispersionless medium with perturbations. |
|
A dispersive medium described by the pole-residue pair model with perturbations. |
General Mediums (can be both dispersive and non-dispersive)#
Spatially uniform#
Diagonally anisotropic medium. |
|
2D diagonally anisotropic medium. |
Spatially varying#
Diagonally anisotropic medium with spatially varying permittivity in each component. |
Medium Specifications (add properties to existing Medium)#
Nonlinear#
Abstract specification for adding nonlinearities to a medium. |
|
Model for an instantaneous nonlinear chi3 susceptibility. |
|
Model for Kerr nonlinearity which gives an intensity-dependent refractive index of the form \(n = n_0 + n_2 I\). |
|
Model for two-photon absorption (TPA) nonlinearity which gives an intensity-dependent absorption of the form \(\alpha = \alpha_0 + \beta I\). |
Time Modulation#
Specification adding space-time modulation to the non-dispersive part of medium including relative permittivity at infinite frequency and electric conductivity. |
|
Space-time modulation applied to a medium, adding on top of the time-independent part. |
|
Class describing modulation with a harmonic time dependence. |
|
The modulation profile with a user-supplied spatial distribution of amplitude and phase. |
Material Library#
- Material Library
- Silver (“Ag”)
- Aluminum (“Al”)
- Alumina (“Al2O3”)
- Aluminum Arsenide (“AlAs”)
- Aluminum Gallium Nitride (“AlGaN”)
- Aluminum Nitride (“AlN”)
- Aluminum Oxide (“AlxOy”)
- Amino Acid (“Aminoacid”)
- Silicon (Amorphous) (“aSi”)
- Gold (“Au”)
- Beryllium (“Be”)
- N-BK7 Borosilicate Glass (“BK7”)
- Calcium Fluoride (“CaF2”)
- Cellulose (“Cellulose”)
- Chromium (“Cr”)
- Silicon (Crystalline) (“cSi”)
- Copper (“Cu”)
- Fused Silica (“FusedSilica”)
- Gallium Arsenide (“GaAs”)
- Germanium (“Ge”)
- Germanium Oxide (“GeOx”)
- Graphene (“graphene”)
- tidy3d.Graphene
Graphene
Graphene.__init__()
Graphene.mu_c
Graphene.temp
Graphene.gamma
Graphene.scaling
Graphene.include_interband
Graphene.interband_fit_freq_nodes
Graphene.interband_fit_num_iters
Graphene.medium
Graphene.intraband_drude
Graphene.interband_pole_residue
Graphene.numerical_conductivity()
Graphene.interband_conductivity()
Graphene.__hash__()
- tidy3d.Graphene
- Water (“H2O”)
- Hafnium Oxide (“HfO2”)
- Hexamethyldisilazane, or Bis(trimethylsilyl)amine (“HMDS”)
- Indium Arsenide (“InAs”)
- Indium Phosphide (“InP”)
- Indium Tin Oxide (“ITO”)
- Lithium niobate (“LiNbO3”)
- Magnesium Fluoride (“MgF2”)
- Magnesium Oxide (“MgO”)
- Molybdenum Disulfide (“MoS2”)
- Molybdenum Diselenide (“MoSe2”)
- Nickel (“Ni”)
- Palladium (“Pd”)
- Polyetherimide (“PEI”)
- Polyethylene Naphthalate (“PEN”)
- Polyethylene Terephthalate (“PET”)
- Poly(methyl Methacrylate) (“PMMA”)
- Polycarbonate (“Polycarbonate”)
- Polystyrene (“Polystyrene”)
- Platinum (“Pt”)
- Polytetrafluoroethylene, or Teflon (“PTFE”)
- Polyvinyl Chloride (“PVC”)
- Sapphire (“Sapphire”)
- Silicon Nitride (“Si3N4”)
- Silicon Carbide (“SiC”)
- Silicon Mononitride (“SiN”)
- Silicon Dioxide (“SiO2”)
- Silicon Oxynitride (“SiON”)
- Tantalum Pentoxide (“Ta2O5”)
- Titanium (“Ti”)
- Titanium Oxide (“TiOx”)
- Tungsten (“W”)
- Tungsten Disulfide (“WS2”)
- Tungsten Diselenide (“WSe2”)
- Yttrium Oxide (“Y2O3”)
- Yttrium Aluminium Garnet (“YAG”)
- Zirconium Oxide (“ZrO2”)
Abstract Classes#
Abstract class for medium perturbation. |
|
Abstract model for a nonlinear material response. |
Structures#
Defines a physical object that interacts with the electromagnetic fields. |
|
Defines an object that is only used in the process of generating the mesh. |
Sources#
Types of Sources#
Uniform current source with a zero size. |
|
Source in a rectangular volume with uniform time dependence. |
|
Uniform current distribution on an infinite extent plane. |
|
Injects current source to excite modal profile on finite extent plane. |
|
Gaussian distribution on finite extent plane. |
|
The simple astigmatic Gaussian distribution allows both an elliptical intensity profile and different waist locations for the two principal axes of the ellipse. |
|
Implements a source corresponding to an input dataset containing |
|
Implements a source corresponding to an input dataset containing |
|
Total-field scattered-field (TFSF) source that can inject a plane wave in a finite region. |
Source Time Dependence#
Source time dependence that describes a Gaussian pulse. |
|
Source time dependence that ramps up to continuous oscillation and holds until end of simulation. |
|
Custom source time dependence consisting of a real or complex envelope modulated at a central frequency, as shown below. |
Monitors#
Monitor Types#
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Apodization Specification#
Stores specifications for the apodizaton of frequency-domain monitors. |
Mode Specifications#
Stores specifications for the mode solver to find an electromagntic mode. |
Field Projector#
Data structure to store surface monitors where near fields are recorded for field projections. |
|
Projection of near fields to points on a given observation grid. |
Lumped elements#
Passive elements#
Class representing a rectangular lumped resistor. |
|
Class representing a coaxial lumped resistor. |
Discretization#
Collective grid specification for all three dimensions. |
|
Specification for non-uniform grid along a given dimension. |
|
Uniform 1D grid. |
|
Custom 1D grid supplied as a list of grid cell sizes centered on the simulation center. |
|
Custom 1D grid supplied as a list of grid cell boundary coordinates. |
|
Holds data about a set of x,y,z positions on a grid. |
|
Holds the grid data for a single field. |
|
Holds the yee grid coordinates for each of the E and H positions. |
|
Contains all information about the spatial positions of the FDTD grid. |
Subpixel Averaging#
Defines specification for subpixel averaging schemes when added to |
Types of Subpixel Averaging Methods#
Apply staircasing scheme to material assignment of Yee grids on structure boundaries. |
|
Apply volumetric averaging scheme to material properties of Yee grids on structure boundaries. |
|
Apply a variant of staircasing scheme to PEC boundaries: the electric field grid is set to PEC if the field is substantially parallel to the interface. |
|
Apply a polarized subpixel averaging method to dielectric boundaries. |
|
Apply a subpixel averaging method known as conformal mesh scheme to PEC boundaries. |
Output Data#
All Data for a Simulation#
Stores data from a collection of |
Collections of Data from single monitor#
Data associated with a |
|
Data associated with a |
|
Data associated with a |
|
Data for a |
|
Data associated with a |
|
Data associated with a |
|
Data associated with a |
|
Data associated with a |
|
Data associated with a |
|
Data associated with a |
|
Data for a |
Individual Datasets#
Spatial distribution. |
|
Dataset storing the diagonal components of the permittivity tensor. |
|
Spatial distribution in the frequency-domain. |
|
Spatial distribution of a mode in frequency-domain as a function of mode index. |
|
Spatial distribution in the time-domain. |
|
Forward and backward propagating complex-valued mode amplitudes. |
|
Complex-valued effective propagation index of a mode. |
|
Flux through a surface in the frequency-domain. |
|
Flux through a surface in the time-domain. |
|
Far fields in frequency domain as a function of angles theta and phi. |
|
Far fields in frequency domain as a function of local x and y coordinates. |
|
Far fields in frequency domain as a function of normalized kx and ky vectors on the observation plane. |
|
Diffraction power amplitudes as a function of diffraction orders and frequency. |
Scene#
Contains generic information about the geometry and medium properties common to all types of simulations. |
Logging#
Custom logger to avoid the complexities of the logging module |
|
|
Raise a warning here instead of setting the logging level. |
|
Set a file to write log to, independently from the stdout and stderr output chosen using |
Submitting Simulations#
Generic Web API#
|
Submits a |
|
Upload simulation to server, but do not start running |
|
Compute the maximum FlexCredit charge for a given task. |
|
Get the billed cost for given task after it has been run. |
|
Return information about a task. |
|
Start running the simulation associated with task. |
|
Print the real time task progress until completion. |
|
Download results of task to file. |
|
Download and Load simulation results into |
|
Delete server-side data associated with task. |
|
Download the tidy3d log file associated with a task. |
|
Download the |
Download the |
|
|
Submits a set of Union[ |
Job and Batch Containers#
Interface for managing the running of a |
|
Interface for submitting several |
|
Holds a collection of |
Information Containers#
General information about a task. |
|
The statuses that the task can be in. |
Mode Solver Web API#
|
Submits a |
|
Submits a batch of ModeSolver to the server concurrently, manages progress, and retrieves results. |
Interface for managing the running of a |
HEAT 🔥#
Simulation#
Contains all information about heat simulation. |
Material Thermal Specification#
Fluid medium. |
|
Solid medium. |
Thermal Perturbation Specification#
Specifies parameter's perturbation due to thermal effects as a linear function of temperature. |
|
Specifies parameter's perturbation due to thermal effects as a custom function of temperature defined as an array of perturbation values at sample temperature points. |
Thermal Boundary Conditions#
Specifications#
Heat boundary conditions specification. |
Types#
Constant temperature thermal boundary conditions. |
|
Convective thermal boundary conditions. |
|
Constant flux thermal boundary conditions. |
Placement#
Placement of boundary conditions between two structures. |
|
Placement of boundary conditions on the structure's boundary. |
|
Placement of boundary conditions between two mediums. |
|
Placement of boundary conditions on the simulation box boundary covered by the structure. |
|
Placement of boundary conditions on the simulation box boundary. |
Thermal Sources#
Volumetric heat source. |
Grid Specification#
Uniform grid. |
|
Adaptive grid based on distance to material interfaces. |
Monitors#
Temperature monitor. |
Output Data#
Heat Simulation Data#
Stores results of a heat simulation. |
Monitor Data#
Data associated with a |
Unstructured Data Classes#
Dataset for storing triangular grid data. |
|
Dataset for storing tetrahedral grid data. |
Individual Datasets#
A two-dimensional array that stores coordinates of a collection of points. |
|
A two-dimensional array that stores indices of points composing each cell in a collection of cells of the same type (for example: triangles, tetrahedra, etc). |
|
Stores a one-dimensional array enumerated by coordinate |
CHARGE ⚡#
Charge Perturbation Specification#
Specifies parameter's perturbation due to free carrier effects as a linear function of electron and hole densities: |
|
Specifies parameter's perturbation due to free carrier effects as a custom function of electron and hole densities defined as a two-dimensional array of perturbation values at sample electron and hole density points. |
EME 🌈#
Simulation#
EigenMode Expansion (EME) simulation. |
Grid Specification#
Specification for a uniform EME grid. |
|
EME grid made out of multiple subgrids. |
|
EME grid with explicitly defined internal boundaries. |
|
EME grid. |
|
Mode spec for EME cells. |
Monitors#
EME monitor for mode coefficients. |
|
EME mode solver monitor. |
|
EME monitor for propagated field. |
|
Abstract EME monitor. |
Propagation Sweeps#
Spec for sweeping EME cell lengths. |
|
Spec for sweeping number of modes in EME propagation step. |
Output Data#
Monitor Data#
Data associated with an EME coefficient monitor. |
|
Data associated with an EME mode solver monitor. |
|
Data associated with an EME field monitor. |
Simulation Data#
Data associated with an EME simulation. |
Plugins#
Mode Solver#
Interface for solving electromagnetic eigenmodes in a 2D plane with translational invariance in the third dimension. |
|
Data associated with a |
Dispersive Model Fitting#
Tool for fitting refractive index data to get a dispersive medium described by |
|
Advanced fast fitter parameters. |
|
Tool for fitting refractive index data to get a dispersive medium described by |
|
Advanced fitter parameters |
|
|
Execute the data fit using the stable fitter in the server. |
Deprecated. |
Self-intersecting Polyslab#
Interface for dividing a complex polyslab where self-intersecting polygon can occur during extrusion. |
Scattering Matrix Calculator#
Tool for modeling devices and computing scattering matrix elements. |
|
Specifies a port in the scattering matrix. |
|
Port parameter matrix elements for modal ports. |
|
Tool for modeling two-terminal multiport devices and computing port parameters with lumped ports. |
|
Class representing a single rectangular lumped port |
|
Port parameter matrix elements for lumped ports. |
|
Class representing a single coaxial lumped port |
Resonance Finder#
Tool that extracts resonance information from a time series of the form shown below. |
Automatic Differentiation with Autograd#
Apply a threshold to an array, setting values below the threshold to vmin and values above to vmax. |
|
Rescale an array from an arbitrary input range to an arbitrary output range. |
|
|
Compute the external morphological gradient of an array. |
|
Compute the internal morphological gradient of an array. |
|
Compute the morphological gradient of an array. |
Perform grey closing on an array. |
|
Perform grey opening on an array. |
|
Perform grey erosion on an array. |
|
Perform grey dilation on an array. |
|
|
Pad an array along specified axes with a given mode and padding width. |
Convolve an array with a given kernel. |
|
Chain multiple functions together to apply them sequentially to an array. |
|
Create a kernel based on the specified type in n dimensions. |
|
Calculate the kernel size in pixels based on the provided radius and grid spacing. |
|
Multidimensional Gaussian filter. |
|
Calculate the grey indicator for a given array. |
|
make_filter() with a default filter_type value of circular. |
|
make_filter() with a default filter_type value of |
|
Create a penalty function based on the curvature of a set of points. |
|
|
Computes a penalty for erosion/dilation of a parameter map not being unity. |
Create a filter function based on the specified kernel type and size. |
|
|
Create a function that filters and projects an array. |
Apply a piecewise linear ramp projection to an array. |
|
Apply a tanh-based soft-thresholding projection to an array. |
|
alias of |
|
alias of |
Adjoint#
Submits a |
|
Submits a set of |
|
A |
|
A |
|
A |
|
A |
|
A |
|
A |
|
A |
|
A |
|
A |
|
A |
|
A |
|
A |
|
Filter that convolves an image with a conical mask, used for larger feature sizes. |
|
Projects a grayscale image towards min and max values using a smooth |
|
Computes a penalty for small radius of curvature determined by a fit of points in a 2D plane. |
Inverse Design Plugin#
Transformation involving convolution by a conic filter followed by a |
|
Erosion and dilation penalty, addable to |
|
Design region as a pixellated permittivity grid. |
|
Container for an inverse design problem. |
|
|
|
Container for the result of an |
|
Specification for an optimization. |
|
Grab amplitudes from a |
|
Grab field component from a |
|
Grab field intensity from a |
|
Sum values in the |
|
Sum the absolute value squared of a |
|
Get |
Design Space Exploration#
Specification for a single variable / dimension in a design problem. |
|
Parameter containing floats. |
|
Parameter containing integers. |
|
Parameter containing a set of of anything. |
|
Spec for a sweep algorithm, with a method to run it. |
|
Select parameters uniformly on a grid. |
|
Select sampling points using Monte Carlo sampling (Latin Hypercube method). |
|
Select parameters with an object with a user supplied sampler with a |
|
Select sampling points uniformly at random. |
|
Specification of a design problem / combination of several parameters + algorithm. |
|
Stores the result of a run over a |
Waveguide#
General rectangular dielectric waveguide |
Microwave#
Class for defining the simplest type of path integral, which is aligned with Cartesian axes. |
|
Class for computing the voltage between two points defined by an axis-aligned line. |
|
Class for computing conduction current via Ampère's circuital law on an axis-aligned loop. |
|
Class for defining a custom path integral defined as a curve on an axis-aligned plane. |
|
Class for computing the voltage between two points defined by a custom path. |
|
Class for computing conduction current via Ampère's circuital law on a custom path. |
|
Tool for computing the characteristic impedance of a transmission line. |
Constants#
Physical Constants#
Speed of light in vacuum [um/s] |
|
Reduced Planck constant [eV*s] |
|
Fundamental charge [C] |
|
Vacuum impedance in Ohms |
|
Vacuum permittivity [F/um] |
|
Vacuum permeability [H/um] |
|
Boltzmann constant [eV/K] |
Tidy3D Special Constants#
Representation of infinity used within tidy3d. |
Tidy3D Configuration#
configuration of tidy3d |
Default Absorber Parameters#
Specifies full set of parameters needed for complex, frequency-shifted PML. |
|
Specifies full set of parameters needed for complex, frequency-shifted PML. |
|
Specifies parameters common to Absorbers and PMLs. |
Units#
One cycle per second. |
|
One trillion (10^12) cycles per second. |
|
SI unit of time. |
|
One trillionth (10^-12) of a second. |
|
SI unit of length. |
|
One millionth (10^-6) of a meter. |
|
One billionth (10^-9) of a meter. |
|
SI unit of angle. |
|
Siemens per micrometer. |
|
Relative permittivity. |
|
2 times vacuum permittivity over time differential step. |
|
One radian per second. |
|
Unit of energy. |
|
SI unit of temperature. |
|
2 times vacuum permittivity over time differential step. |
|
Cubic centimeter unit of volume. |
|
Unit per centimeter cube. |
|
SI unit of power. |
|
SI unit of electric potential. |
|
Watts per (micrometer Kelvin). |
|
Joules per (kilogram Kelvin). |
|
Watts per square micrometer. |
|
Watts per cube micrometer. |
|
Watts per (square micrometer Kelvin). |
Precision & Comparator Values#
Double floating point precision. |
|
Floating point precision. |
|
PEC values for mode solver |
|
Large number used for comparing infinity. |
|
if |np.pi/2 - angle_theta| < GLANCING_CUTOFF in an angled source or in mode spec, raise warning. |
Abstract Base Models#
Base classes that represent abstractions of the core elements of a common components. Provide inherited functionality.
|
Stores data from a collection of |
Abstract base class for steady-state monitors. |
|
Base class for simulation classes of different solvers. |
|
Abstract base class for all sources. |
|
Collection of scalar fields with some symmetry properties. |
|
|
Collection of projected fields in spherical coordinates in the frequency domain. |
|
Abstract class for a generic perturbation. |
|
Abstract class for a generic perturbation. |
A spatially varying medium. |
|
A medium within which electromagnetic waves propagate. |
|
Abstract class for a simulation involving electromagnetic fields defined on a Yee grid. |
|
A basic structure object. |
|
Base class describing time dependence. |
Base Models#
These are some classes that are used to organize the tidy3d components, but aren’t to be used directly in the code. Documented here mainly for reference of inherited components.
Abstract base class, defines where something exists in space. |
|
Base pydantic model that all Tidy3d components inherit from. |
|
Specifies the generic absorber properties along a single dimension. |
|
Subclass of |
|
Dataset storing a collection of the scalar components of E and H fields in the freq. |
|
Dataset storing a collection of the scalar components of E and H fields in the time domain |
|
Dataset storing scalar components of E and H fields as a function of freq. |
|
|
Collection of electromagnetic fields. |
Abstract base class of objects that store data pertaining to a single |
|
Stores data from a collection of |
|
Geometry with a well defined center. |
|
Geometry with circular characteristics (specified by a radius). |
|
Geometry with one |
|
A geometry where intersections with an axis aligned plane may be computed efficiently. |
|
Abstract base class, defines 1D grid generation specifications. |
|
Base class describing the interface all lumped elements obey. |
|
A spatially varying dispersive medium. |
|
A Medium with dispersion: field propagation characteristics depend on frequency. |
|
|
|
Abstract base class for monitors. |
|
|
|
|
|
A FieldSource defined with an angled direction of propagation. |
|
A source with frequency dependent field distributions. |
|
Source implements a current distribution directly. |
|
A Field source that propagates in a given direction. |
|
A Source defined by the desired E and/or H fields. |
|
A source defined on a 2D plane. |
|
A source time that ramps up with some |
|
Abstract source that allows reverse-interpolation along zero-sized dimensions. |
|
Abstract base class for all sources. |
|
Base class describing the time dependence of a source. |
|
A source defined in a 3D |