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 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. |
PEC Conformal Mesh Spec#
Simple staircasing scheme based on [Taflove, The Electrical Engineering Handbook 3.629-670 (2005): 15.]. |
|
Slightly different from the staircasing scheme: the field component near PEC is considered to be outside PEC if it's substantially normal to the interface. |
|
Conformal mesh scheme based on [S. |
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 lumped port |
|
Port parameter matrix elements for lumped ports. |
Resonance Finder#
Tool that extracts resonance information from a time series of the form shown below. |
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. |
Waveguide#
General rectangular dielectric waveguide |
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. |
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. |
|
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 lumped elements. |
|
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. |