API 💻#
Simulation#
| Custom implementation of Maxwell’s equations which represents the physical model to be solved using the FDTD method. | 
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”)
 
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. | 
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. | |
| 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#
Through python 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[ | 
Convenience for Single and Batch#
| Interface for managing the running of a  | |
| Interface for submitting several  | |
| Holds a collection of  | 
Information Containers#
| General information about task. | |
| The statuses that the task can be in. | 
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#
| Heat boundary conditions specification. | 
| Constant temperature thermal boundary conditions. | |
| Convective thermal boundary conditions. | |
| Constant flux thermal boundary conditions. | 
| 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 a specified axis with a given mode and padding width. | 
| Convolve an array with a given kernel. | |
| Multidimensional Gaussian filter. | |
| alias of  | |
| alias of  | |
| Calculate the size of the kernel in pixels based on the given radius and pixel size. | |
| 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 conic. | |
| 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. | 
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. | 
Design Space Exploration#
| Parameter containing floats. | |
| Parameter containing integers. | |
| Parameter containing a set of of anything. | |
| 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. | 
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 Simulation.
| Base class for simulation classes of different solvers. | |
| Abstract base class for steady-state monitors. | |
| Abstract base class for all sources. | |
| Abstract base class for all sources. | |
| Abstract base class for monitors. | 
Abstract 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.
| Base pydantic model that all Tidy3d components inherit from. | |
| Base class for simulation classes of different solvers. | |
| Abstract class for a simulation involving electromagnetic fields defined on a Yee grid. | |
| Specifies the generic absorber properties along a single dimension. | |
| Abstract base class, defines where something exists in space. | |
| Geometry with a well defined center. | |
| Geometry with one  | |
| Geometry with circular characteristics (specified by a radius). | |
| A medium within which electromagnetic waves propagate. | |
| A spatially varying medium. | |
| A Medium with dispersion: field propagation characteristics depend on frequency. | |
| A spatially varying dispersive medium. | |
| A basic structure object. | |
| Base class describing the time dependence of a source. | |
| Abstract base class for all sources. | |
| A Source defined by the desired E and/or H fields. | |
| Source implements a current distribution directly. | |
| Abstract source that allows reverse-interpolation along zero-sized dimensions. | |
| A FieldSource defined with an angled direction of propagation. | |
| A source defined on a 2D plane. | |
| A Field source that propagates in a given direction. | |
| A source with frequency dependent field distributions. | |
| A source defined in a 3D  | |
| A source time that ramps up with some  | |
| Abstract base class for monitors. | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| Base class describing the interface all lumped elements obey. | |
| Abstract base class, defines 1D grid generation specifications. | |
| 
 | Data from an  | 
| Stores data from a collection of  | |
| Subclass of  | |
| Abstract base class of objects that store data pertaining to a single  | |
| 
 | Collection of projected fields in spherical coordinates in the frequency domain. | 
| 
 | Collection of electromagnetic fields. | 
| Abstract base class of objects that store data pertaining to a single  | |
| Collection of scalar fields with some symmetry properties. | |
| 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. |