API Reference
Contents
API Reference#
Simulation#
Simulation#
|
Contains all information about Tidy3d simulation. |
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. |
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. |
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. |
Medium Perturbations#
Mediums with Heat and Charge Perturbation Models#
|
Dispersionless medium with perturbations. |
|
A dispersive medium described by the pole-residue pair model with perturbations. |
Perturbation Specifications of Individual Parameters#
|
Stores information about parameter perturbations due to different physical effect. |
|
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. |
|
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. |
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”)
- Water (“H2O”)
- Hafnium Oxide (“HfO2”)
- Hexamethyldisilazane, or Bis(trimethylsilyl)amine (“HMDS”)
- Indium Arsenide (“InAs”)
- Indium Phosphide (“InP”)
- Indium Tin Oxide (“ITO”)
- 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. |
|
Guassian distribution on finite extent plane. |
|
This class implements the simple astigmatic Gaussian beam described in Kochkina et al., Applied Optics, vol. |
|
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. |
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. |
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. |
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#
Scene#
|
Contains generic information about the geometry and medium properties common to all types of simulations. |
Heat Solver#
Heat Simulation#
|
Contains all information about heat simulation. |
Material Thermal Specification#
|
Fluid medium. |
|
Solid medium. |
Boundary Conditions Specification#
|
Heat boundary conditions specification. |
Boundary Conditions Types#
|
Constant temperature thermal boundary conditions. |
|
Convective thermal boundary conditions. |
|
Constant flux thermal boundary conditions. |
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. |
Sources#
|
Volumetric heat source. |
Grid Specification#
|
Uniform grid. |
|
Adaptive grid based on distance to material interfaces. |
Monitors#
|
Temperature monitor. |
Monitor Data#
|
Data associated with a |
Heat Simulation Data#
|
Stores results of a heat simulation. |
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 simulation to the server, starts running, monitors progress, downloads, and loads results as a corresponding data object. |
|
Upload a simulation to the 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 a data object. |
|
Delete server-side data associated with task. |
|
Download the tidy3d log file associated with a task. |
|
Download the .json file associated with the |
|
Download the .json file of a task and load the associated simulation. |
|
Submits a set of Union[ |
Convenience for Single and Batch#
|
Interface for managing the task runs on the server. |
|
Interface for submitting multiple simulations to the sever. |
|
Holds a collection of data objects returned by |
Information Containers#
|
General information about task. |
The statuses that the task can be in. |
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. |
Scattering matrix elements. |
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 |
|
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 tanh function. |
|
Generates a penalty for radius of curvature of set of points. |
Waveguide#
General rectangular dielectric waveguide |
Constants#
Physical Constants#
Convert a string or number to a floating point number, if possible. |
|
Convert a string or number to a floating point number, if possible. |
|
Convert a string or number to a floating point number, if possible. |
|
Double-precision floating-point number type, compatible with Python float and C |
|
Convert a string or number to a floating point number, if possible. |
|
Convert a string or number to a floating point number, if possible. |
Tidy3D Special Constants#
Convert a string or number to a floating point number, if possible. |
|
Perfect electrical conductor class. |
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. |
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. |
|
|
Specifies the generic absorber properties along a single dimension. |
|
A medium within which electromagnetic waves propagate. |
A Medium with dispersion (propagation characteristics depend on frequency) |
|
|
Abstract model for a nonlinear material response. |
|
Abstract base class, defines where something exists in space. |
|
Geometry with one |
Geometry with circular characteristics (specified by a radius). |
|
|
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. |
|
Abstract base class for monitors. |