Skip to main content
Ctrl+K
Tidy3D Electromagnetic Solver - Home
  • Installation 👋
  • Configuration Guide ⚙️
    • Configuration Reference
    • Nexus Environment Configuration
  • Lectures 📖
    • FDTD 101
    • Future-Ready FDTD Workshop
    • Inverse design in photonics
    • Fabrication-aware inverse design
  • Example Library 📚
    • Basics
      • Quickstart
      • Tidy3D first walkthrough
      • Introduction on Tidy3D working principles
      • Running simulations through the cloud
      • How to troubleshoot a diverged FDTD simulation
    • Feature Tutorials
      • Mediums
        • Modeling dispersive materials
        • Fitting dispersive material models
        • Defining fully anisotropic materials
        • Defining gyrotropic materials
        • Defining spatially-varying dielectric structures
        • Applying time modulation to materials
        • Simulating the Beer-Lambert Law with Tidy3D
      • Structures
        • Importing GDS files
        • Export to GDS file
        • Importing STL files
        • Defining self-intersecting polygons
        • Geometry transformations
        • Defining common integrated photonic components
        • Defining common photonic crystal structures
        • Defining complex geometries using trimesh
        • Layout design using gdstk
      • Grid Specification
        • Using automatic nonuniform meshing
        • Automatic mesh refinement in layered structures
      • Boundary Conditions & Symmetry
        • Setting up boundary conditions
        • Defining and using symmetries
        • Suppressing artificial reflections with absorber and PML boundaries
      • Sources
        • Defining mode sources and monitors
        • Injecting modes in bent and angled waveguides
        • Defining a total-field scattered-field (TFSF) plane wave source
        • Defining spatially-varying sources
        • Broadband plane wave with a constant oblique incident angle
        • Advanced Gaussian sources
      • Data Visualization and Postprocessing
        • Visualizing geometries in Tidy3D
        • Performing visualization of simulation data
        • Advanced monitor data (xarray) manipulation and visualization
        • Creating FDTD animations
        • Performing near field to far field projections
        • Group delay calculation from FDTD and mode solver
        • Unstructured datasets
        • Post-processing simulation data from the Web GUI
        • Far-field projection limitations with non-confined fields
      • Mode Solver
        • Using the mode solver for optical mode analysis
        • Using the waveguide plugin to analyze waveguide modes
        • Running mode solver tasks in parallel
        • Radiative losses analysis with ModeSolver
        • Mode overlap integral between a waveguide mode and a Gaussian mode
      • Design Space Exploration
        • Performing parallel / batch processing of simulations
        • Design space exploration plugin
      • Scattering Matrix
        • Computing the scattering matrix of an optical device
      • Resonance Finder
        • Extracting resonance information using Resonance Finder
        • Cavity quality factor, effective mode volume, and Purcell factor
      • Inverse Design
        • Inverse design quickstart - level 1
        • Inverse design quickstart - level 2
        • Inverse design overview
        • Inverse design plugin
        • Autograd, automatic differentiation, and adjoint optimization: basics
        • Adjoint analysis of a multi-layer slab
        • Inverse design optimization of a mode converter
        • Multi-objective adjoint optimization
        • Inverse design optimization of a waveguide taper
        • Inverse design optimization of a compact grating coupler
        • Inverse design optimization of a metalens
        • Adjoint-based shape optimization of a waveguide bend
        • Adjoint optimization of a wavelength division multiplexer
        • Parameterized level set optimization of a y-branch
        • Diffractive metasurface inverse design with topology optimization
        • Adjoint inverse design of a quantum emitter light extractor
        • Inverse design optimization of a plasmonic nanoantenna metasurface
        • Inverse design optimization of a bilayer grating coupler
        • Adjoint optimization of an integrated bandpass filter
        • Topology optimization of a waveguide bend
        • Inverse design of an apodized grating coupler through shape optimization
        • Design and shape optimization of a metalens-assisted waveguide taper
        • Inverse design of a GaP photon extractor for nitrogen-vacancy centers in diamond
        • Adjoint optimization of a photonic crystal
        • Fabrication-aware inverse design (FAID) of a wavelength division multiplexer
        • Inverse design of a digital power splitter
        • Topology optimization of a waveguide crossing
        • Adjoint optimization of a diffractive beam splitter
        • Inverse design of a waveguide crossing using S-Matrix optimization
        • Point-symmetric fiber lens optimization
        • Introduction to source gradients
        • Adjoint Optimization of Rectangular Patch Antennas
      • Heat 🔥
        • Introduction to heat solver
      • Charge ⚡
        • Charge solver: a silicon electro-optic phase modulator
      • EME 🌈
        • EME solver
        • Simulating bent waveguides using the EME solver
      • Advanced Applications
        • Build a simple waveguide bend simulator GUI
        • Build a simple waveguide mode solver GUI
        • Building an AI surrogate model for a directional coupler
        • Avoiding unphysical loss in low-index-contrast waveguides
        • Source normalization
        • KLayout DRC plugin quickstart
      • Microwave and RF
        • Computing the characteristic impedance of transmission lines using Tidy3D
        • Using lumped elements in Tidy3D simulations
        • Introduction to antenna simulation
        • Parameter sweep in RF simulation
      • Accuracy Benchmarks
        • Monostatic radar cross section (RCS) of a PEC sphere
        • Tidy3D FDTD accuracy benchmark
        • Scattering cross-section calculation of a dielectric sphere
        • Scattering and absorption of a plasmonic nanoparticle
        • Multilevel blazed diffraction grating
    • Use Cases
      • Passive Photonic Integrated Circuit Components
        • Waveguide Y junction
        • Waveguide to ring coupling
        • Waveguide crossing based on cosine tapers
        • Euler waveguide bend
        • Directional coupler
        • Inverse taper edge coupler
        • 2D effective index approximation of 3D simulations
        • Uniform linear grating coupler
        • Focusing apodized grating coupler
        • Design optimization of a bilayer SiN/Si grating coupler
        • Bayesian optimization of a SOI vertical grating coupler
        • 1x4 MMI power splitter
        • 2x2 MMI power splitter
        • Microring resonator add-drop filter
        • Broadband bi-level taper polarization rotator-splitter
        • Waveguide mode size converters
        • Strip to slot waveguide converters
        • Waveguide bragg gratings
        • Bragg grating filter with phase change material
        • Broadband directional coupler
        • Compact polarization splitter-rotator
        • 8-Channel mode and polarization de-multiplexer
        • THz integrated demultiplexer/filter based on a ring resonator
        • Photonic crystal waveguide polarization filter
        • 90 degree optical hybrid
        • Broadband polarizer assisted by anisotropic metamaterial
        • Exceptional coupling for waveguide crosstalk reduction
        • Thin film lithium niobate adiabatic waveguide coupler
        • Polarization splitter and rotator based on 90 degree bends
        • Plasmonic waveguide sensor for carbon dioxide detection
        • Bi-layer SiN edge coupler in the visible frequency
        • Dielectric waveguide with scale-invariant effective index
        • Unidirectional waveguide grating antenna
        • Free-form chip-to-chip coupler
        • MMI-based NIR/MIR demultiplexer
        • Dispersion calculation in tapered waveguide
        • Designing a polarization splitter/rotator on thin-film lithium niobate
        • Integrated plasmonic Vivaldi antenna with silicon waveguide
        • Generation of Kerr sideband
        • Broadband polarization beam splitter using anisotropic metamaterial
        • Subwavelength grating waveguide crossing
        • Two-photon absorption (TPA) and free-carrier absorption (FCA) in a Si waveguide
        • Dielectric to plasmonic waveguide coupler design via Bayesian optimization
        • Photonic spin selector optimized via direct binary search (DBS)
        • SiN-to-AlOx integrated waveguide vertical coupler
      • Active Photonic Integrated Circuit Components
        • Thermally tuned waveguide
        • Thermally tuned ring resonator
        • Carrier injection based Mach-Zehnder modulator
        • Thermo-optic modulator with a doped silicon heater
        • Heat dissipation in SOI platforms
        • Transient heat analysis of thermo-optic phase-shifters
        • Steady-state and transient thermal analysis for co-packaged optics
        • Thin film lithium niobate electro-optic modulator
        • Photo-thermal optical control in silicon waveguides
        • Forward-bias PIN phase shifter with thermal analysis
        • Avalanche photodiode
        • Small-signal AC analysis of a silicon PIN photodiode
        • Silicon–Organic Hybrid Slot Electro-Optic Modulator: RF–Optical Co-Simulation and Vπ·L Extraction
      • Global Optimization
        • Particle swarm optimization of a polarization beam splitter
        • Particle swarm optimization of a bullseye cavity for quantum emitter light extraction
        • Compact on-chip optical switch design optimization using DBS
        • Optimization of an S-bend with CMA-ES
        • Genetic algorithm optimization of a silicon on-chip reflector
        • Bayesian optimization of a Y branch
      • Metamaterials, Gratings, and Other Periodic Structures
        • Dielectric metasurface absorber
        • Gradient metasurface reflector
        • Graphene metamaterial absorber
        • Tunable chiral metasurface based on phase change material
        • Microwave frequency selective surface
        • High-Q silicon resonator
        • Germanium Fano metasurface
        • Biosensor grating simulation
        • Distributed Bragg reflector and cavity
        • CMOS RGB image sensor
        • Plasmonic cavity resonator consisting of a gold nanorod array
        • All-dielectric structural colors
        • MIM resonator
        • Vortex beam metasurface
        • Quasi-bound states in the continuum (qBICs) in symmetry-breaking dielectric metasurfaces
      • Microwave and RF Devices
        • Designing and optimizing a coupled line bandpass filter
        • Radar absorbing metamaterial
        • Circularly polarized patch antenna with parasitic strips
        • Co-planar waveguide in RF photonics part 1: basic transmission line benchmark
        • Co-planar waveguide in RF photonics part 2: segmented electrodes in a Mach-Zehnder modulator
        • Wideband beam-steerable reflectarray with polarization-rotating unit cells
        • 100 Ohm differential stripline benchmark
        • Grounded co-planar waveguide with via fence
        • Edge feed patch antenna benchmark
        • Hybrid microstrip/co-planar waveguide bandpass filter
        • RF electrode in a microring modulator
        • Designing a power divider for wireless communications part 1: Low-pass resonator
        • Designing a power divider for wireless communications part 2: Adding harmonic suppression
        • Designing a power divider for wireless communications part 3: Full divider structure
        • Through silicon via
        • Edge-mounted SMA to co-planar waveguide transition
        • Planar helical antenna array
        • Varactor-tuned patch antenna
      • Photonic Crystals
        • Band structure calculation of a photonic crystal slab
        • Optimized photonic crystal L3 cavity
        • Bistability in photonic crystal microcavities
        • Nanobeam cavity
        • Topological edge states in a photonic crystal
        • Band structure calculation of hexagonal lattices
      • Optical Scattering and Far-field Radiation
        • Plasmonic Yagi-Uda nanoantenna
        • Field projection for a zone plate
        • Multipole expansion for electromagnetic scattering
        • Phase change plasmonic antennas
      • Lenses
        • 3D optical Luneburg lens
        • Metalens in the visible frequency range
        • Mid-IR metalens based on silicon nanopillars
        • Spherical Fresnel lens
      • Nanophotonics
        • Hyperbolic polaritons in nanostructured hBN
        • Unidirectional SPP from non-Hermitian metagratings
        • Anderson localization of electromagnetic waves in 3D
        • Atomically thin waveguides based on MoS2 monolayers
        • Radiative cooling glass coating
        • Metal oxide sunscreen
        • Tunable disordered plasmonic system for structural color generation
        • Tailoring directional scattering in silicon nanodisks
        • Plasmonic photothermal heating of gold nanoparticles
        • Blue micro-LEDs with inclined sidewalls
      • Fiber Optics
        • Anti-resonant hollow-core fiber
  • FAQ 🔎
    • About Tidy3D
      • How is using Tidy3D billed?
      • What is Tidy3D?
      • Can I get a discount as a student or teacher?
      • What are the advantages of Tidy3D compared to traditional EM simulators?
      • Do I have to know Python programming to use Tidy3D?
      • What is a FlexCredit?
      • How many CPU hours is one FlexCredit comparable to?
      • Does Tidy3D have a graphical user interface (GUI)?
      • Can I do a free trial to evaluate the capabilities of Tidy3D before purchasing it?
    • Boundary Conditions
      • Which types of boundary conditions are available in Tidy3D?
      • How do I set the perfect matched layer (PML) boundary condition?
      • How do I set the perfect electric conductor (PEC) boundary condition?
      • How do I set the perfect magnetic conductor (PMC) boundary condition?
      • How do I set the periodic boundary condition?
      • How do I set the Bloch boundary condition?
      • How do I set the Absorber boundary condition?
      • How do I specify different boundary conditions on each simulation domain edge?
      • Can my geometry lie within the boundary layers?
      • What is the ideal distance between the geometry and absorbing layers?
      • How do I avoid reflections from the simulation edges?
      • How do I simulate periodic structures in Tidy3D?
    • Data Visualization and Postprocessing
      • How do I plot an object with a spatial definition?
      • How do I change the object plotting characteristics (facecolor, edgecolor, etc)?
      • How do I change the global plot characteristics (title, size, etc)?
      • How do I access the data of a specific monitor?
      • How do I interpolate the electromagnetic field data at the Yee cell centers?
      • How do I get the monitor’s data from a SimulationData object?
      • How do I select the data at a certain coordinate value (i.e. x=0.0, f=200e12)?
      • How do I get the monitor data at a certain index?
      • How do I interpolate the monitor data at various coordinate values?
      • How do I get the real part, imaginary part, or absolute value of complex-valued simulation data?
      • How do I get the raw monitor data values as a numpy array?
      • How do I get a specific field component from a FieldMonitor or FieldTimeMonitor?
      • How do I plot the monitor data as a function of one of its coordinates?
      • How do I plot the simulation structure on top of my field plot?
      • How do I project electromagnetic near-field data to the far field?
    • Grid Specification
      • What do I need to know about the numerical grid?
      • How fine of a grid or mesh does my simulation need? How to choose grid spec?
      • How to use the automatic nonuniform meshing? What steps per wavelength will be sufficient?
      • How can I create a uniform grid?
      • How can I locally refine the mesh?
    • Installation and Help
      • How can I install the Python client of Tidy3D?
      • How do I see the version of Tidy3D I am using?
      • How do I get help related to a Tidy3D object?
      • Can I try Tidy3D before installing the Python client on my computer?
    • Inverse Design
      • What is adjoint simulation?
      • How many simulations are performed in adjoint calculations?
      • How is the adjoint simulation billed?
      • How to install jax?
      • How do I set an adjoint inverse design simulation?
      • What are the differences between adjoint shape, topology, and level set optimizations?
      • How do I set an adjoint shape optimization?
      • How do I set an adjoint topology optimization?
      • How do I create an adjoint parameterized level set optimization?
      • How do I include fabrication constraints in adjoint shape optimization?
      • How do I include fabrication constraints in adjoint topology optimization?
      • How do I include fabrication constraints in adjoint level set optimization?
      • How do I export the final inverse design structure to GDS?
    • Mediums
      • How do I include material dispersion?
      • Can I import my own tabulated material data?
      • How do I create a lossy material (with a conductivity)?
      • How do I create a material from n, k values at a given frequency?
      • How do I create a material from optical n, k data?
      • How do I create a dispersive material from model parameters?
      • How do I create an anisotropic material?
      • How do I create an active material?
      • How do I create a spatially varying material?
      • How do I export a spatially varying medium dataset to HDF5?
      • How do I load a commonly used dispersive material?
      • How can I define a 2D material?
      • How can I define graphene?
      • How can I define a nonlinear material?
    • Mode Solver
      • How do I set the mode solver?
      • How are the output modes sorted?
      • How do I set the mode polarization?
      • How do I run the mode solver locally?
      • How do I run the server-side mode solver?
      • What are the differences between running the server-side and the local mode solver?
      • Which information can I obtain from the mode solver?
      • How can I get the mode solver information?
      • How can I get the mode field distribution?
      • How can I plot the mode field distribution?
      • How do I plot the mode effective index versus wavelength?
      • How do I plot the mode group index versus wavelength?
      • How do I calculate the mode effective area?
      • How do I calculate the mode polarization fraction?
      • How do I calculate the waveguide mode polarization fraction?
    • Monitors
      • How do I set a FieldMonitor?
      • How do I specify apodization?
      • How do I create field animations?
      • How do I change the phase of fields obtained from frequency-domain monitors?
      • How do I set a FieldTimeMonitor?
      • How do I create a time-domain field animation?
      • How do I plot the time-domain field at a specific time?
      • How do I set a FluxMonitor?
      • How do I calculate the Poynting vector at a specific surface?
      • How do I integrate the Poynting vector at a specific surface?
      • How do I create a flux box?
      • How do I set a FluxTimeMonitor?
      • How do I set a ModeMonitor?
      • How do I get the coupling efficiency of a specific waveguide mode?
      • How do I calculate mode overlap?
      • How do I set a ModeSolverMonitor?
      • How do I set a PermittivityMonitor?
      • How do I set a FieldProjectionCartesianMonitor?
      • How do I set a FieldProjectionAngleMonitor?
      • How do I set a FieldProjectionKSpaceMonitor?
      • How do I set a DiffractionMonitor?
    • Parameter Sweep
      • How do I run a parameter sweep?
      • How do I submit multiple simulations?
      • How do I loop through tidy3d.web.BatchData without loading all of the data into memory?
      • How do I save or load a tidy3d.web.Batch so I can work with it later?
    • Resonance Finder
      • How do I set the ResonanceFinder?
      • How do I get resonance quality factors?
      • How do I calculate photonic band diagrams using the ResonanceFinder?
      • How do I calculate the effective mode volume?
      • How do I calculate the Purcell factor?
    • Scattering Matrix
      • How do I compute scattering matrix parameters for modeling my device?
      • How do I specify a Port in the scattering matrix calculation?
      • How do I specify mappings between scattering matrix elements?
    • Simulation Troubleshoot
      • Why is a simulation diverging?
      • How can I troubleshoot a diverged FDTD simulation?
      • Why did my simulation finish early?
      • Should I make sure that fields have fully decayed by the end of the simulation?
      • Can I have structures larger than the simulation domain?
      • Why can I not change Tidy3D instances after they are created?
    • Simulations
      • How do I run a simulation and access the results?
      • How to submit a simulation in Python to the server?
      • How do I upload a job to the web without running it so I can inspect it first?
      • How do I monitor the progress of a simulation?
      • How do I load the results of a simulation?
      • How do I load the results of a job that has already been finished without knowing the task ID?
      • How do I access the original Simulation object that created the data?
      • How do I save and load the SimulationData object?
      • How do I save and load any Tidy3D object?
      • How do I get all data in a Tidy3d object as a dictionary?
      • How do I estimate how many credits my simulation will take?
      • How do I see the cost of my simulation?
      • How can I reduce the simulation cost?
      • How do I print the task log file?
      • What are the units used in the simulation?
      • How to run a 2D simulation in Tidy3D?
      • How long should I run the simulation?
    • Sources
      • What source bandwidth should I use for my simulation?
      • How do I set the source frequency and bandwidth?
      • How can I plot the source spectrum and time-dependence?
      • How are results normalized?
      • How do I set a PointDipole source?
      • How do I calculate the power radiated by a PointDipole source?
      • How do I set a UniformCurrentSource source?
      • How do I set a PlaneWave source?
      • How do I set a ModeSource?
      • How do I inject a specific optical mode in a waveguide?
      • How do I inject an optical mode in a waveguide bend?
      • How do I set a GaussianBeam?
      • How do I model an optical fiber mode source?
      • How do I model a converging Gaussian beam?
      • How do I model a diverging Gaussian beam?
      • How do I set an AstigmaticGaussianBeam source?
      • How do I set a total-field scattered-field (TFSF) source?
      • How do I set a custom field source?
      • How do I set a custom current source?
      • How do I inject an optical mode in an angled waveguide?
    • Structures
      • How do I import a structure from a GDSII file?
      • How can I import a structure from STL files?
      • How do I export a structure to GDSII format?
      • How do I create a box?
      • How do I create a sphere?
      • How do I create a cylinder?
      • How do I create a polygon?
      • How do I create a geometry group?
      • How do I combine multiple geometries?
      • How do I use clip operations?
      • Which features can I use to create geometries in Tidy3D?
      • How do I define complex geometries using trimesh?
      • How do I build curves, rings, and other photonic integrated components?
      • How do I build photonic crystal structures?
    • Symmetry
      • Why is it preferable to use symmetry whenever possible?
      • How do I set symmetry in Tidy3D?
      • How do I identify the symmetry planes of my simulation?
      • What does “odd, i.e. ‘PEC’ symmetry” mean?
      • What does “even, i.e. ‘PMC’ symmetry” mean?
      • How do I filter out waveguide modes using symmetry?
  • API 💻
    • Simulation
      • tidy3d.Simulation
      • tidy3d.web.api.container.Batch
      • tidy3d.ModeSimulation
      • tidy3d.EMESimulation
      • tidy3d.HeatSimulation
      • tidy3d.HeatChargeSimulation
      • tidy3d.plugins.smatrix.ComponentModeler
      • tidy3d.plugins.smatrix.TerminalComponentModeler
      • tidy3d.log.set_logging_level
      • tidy3d.log.set_log_suppression
      • tidy3d.log.set_logging_file
    • Submitting Simulations
      • tidy3d.web.run
      • tidy3d.web.upload
      • tidy3d.web.start
      • tidy3d.web.monitor
      • tidy3d.web.download
      • tidy3d.web.load
      • tidy3d.web.api.asynchronous.run_async
      • tidy3d.web.download_json
      • tidy3d.web.download_log
      • tidy3d.web.load_simulation
      • tidy3d.web.get_info
      • tidy3d.web.get_run_info
      • tidy3d.web.get_tasks
      • tidy3d.web.estimate_cost
      • tidy3d.web.real_cost
      • tidy3d.web.delete
      • tidy3d.web.delete_old
      • tidy3d.web.abort
      • tidy3d.web.account
      • tidy3d.web.test
      • tidy3d.web.Job
      • tidy3d.web.Batch
      • tidy3d.web.BatchData
      • tidy3d.web.core.task_info.TaskInfo
      • tidy3d.web.api.mode.run
      • tidy3d.web.api.mode.run_batch
      • tidy3d.web.api.mode.ModeSolverTask
    • Geometry
      • tidy3d.Box
      • tidy3d.Sphere
      • tidy3d.Cylinder
      • tidy3d.PolySlab
      • tidy3d.plugins.polyslab.ComplexPolySlab
      • tidy3d.ClipOperation
      • tidy3d.Geometry.translated
      • tidy3d.Geometry.scaled
      • tidy3d.Geometry.rotated
      • tidy3d.Transformed
      • tidy3d.RotationAroundAxis
      • tidy3d.GeometryGroup
      • tidy3d.GeometryArray
      • tidy3d.Geometry.array
      • tidy3d.Geometry.from_gds
      • tidy3d.Geometry.to_gds_file
      • tidy3d.Geometry.to_gds
      • tidy3d.Geometry.to_gdstk
      • tidy3d.TriangleMesh
    • Structure and Scene
      • tidy3d.Structure
      • tidy3d.Scene
    • EM Mediums
      • tidy3d.Medium
      • tidy3d.PoleResidue
      • tidy3d.Lorentz
      • tidy3d.Sellmeier
      • tidy3d.Drude
      • tidy3d.Debye
      • tidy3d.plugins.dispersion.FastDispersionFitter
      • tidy3d.AnisotropicMedium
      • tidy3d.components.medium.AnisotropicMediumFromMedium2D
      • tidy3d.FullyAnisotropicMedium
      • tidy3d.Medium2D
      • tidy3d.PECMedium
      • tidy3d.PMCMedium
      • tidy3d.rf.LossyMetalMedium
      • tidy3d.rf.SurfaceImpedanceFitterParam
      • tidy3d.rf.HammerstadSurfaceRoughness
      • tidy3d.rf.HuraySurfaceRoughness
      • tidy3d.SpatialDataArray
      • tidy3d.CustomMedium
      • tidy3d.CustomPoleResidue
      • tidy3d.CustomLorentz
      • tidy3d.CustomSellmeier
      • tidy3d.CustomDrude
      • tidy3d.CustomDebye
      • tidy3d.CustomAnisotropicMedium
      • tidy3d.PerturbationMedium
      • tidy3d.PerturbationPoleResidue
      • tidy3d.NedeljkovicSorefMashanovich
      • tidy3d.ParameterPerturbation
      • tidy3d.PermittivityPerturbation
      • tidy3d.IndexPerturbation
      • tidy3d.NonlinearSpec
      • tidy3d.NonlinearSusceptibility
      • tidy3d.KerrNonlinearity
      • tidy3d.TwoPhotonAbsorption
      • tidy3d.ModulationSpec
      • tidy3d.SpaceTimeModulation
      • tidy3d.ContinuousWaveTimeModulation
      • tidy3d.SpaceModulation
      • tidy3d.MultiPhysicsMedium
      • tidy3d.components.medium.AbstractPerturbationMedium
      • tidy3d.components.medium.NonlinearModel
    • Material Library
      • tidy3d.Graphene
    • Boundary Conditions
      • tidy3d.BoundarySpec
      • tidy3d.Boundary
      • tidy3d.BoundaryEdge
      • tidy3d.PECBoundary
      • tidy3d.PMCBoundary
      • tidy3d.Boundary.pec
      • tidy3d.Boundary.pmc
      • tidy3d.Periodic
      • tidy3d.BlochBoundary
      • tidy3d.Boundary.periodic
      • tidy3d.Boundary.bloch
      • tidy3d.Boundary.bloch_from_source
      • tidy3d.PML
      • tidy3d.PMLParams
      • tidy3d.Boundary.pml
      • tidy3d.StablePML
      • tidy3d.Boundary.stable_pml
      • tidy3d.Absorber
      • tidy3d.AbsorberParams
      • tidy3d.Boundary.absorber
      • tidy3d.InternalAbsorber
      • tidy3d.ABCBoundary
      • tidy3d.ModeABCBoundary
      • tidy3d.BroadbandModeABCSpec
      • tidy3d.BroadbandModeABCFitterParam
    • Grid Discretization
      • tidy3d.GridSpec
      • tidy3d.AutoGrid
      • tidy3d.UniformGrid
      • tidy3d.QuasiUniformGrid
      • tidy3d.CustomGrid
      • tidy3d.CustomGridBoundaries
      • tidy3d.MeshOverrideStructure
      • tidy3d.LayerRefinementSpec
      • tidy3d.GridRefinement
      • tidy3d.CornerFinderSpec
      • tidy3d.SubpixelSpec
      • tidy3d.Staircasing
      • tidy3d.VolumetricAveraging
      • tidy3d.HeuristicPECStaircasing
      • tidy3d.PolarizedAveraging
      • tidy3d.ContourPathAveraging
      • tidy3d.PECConformal
      • tidy3d.SurfaceImpedance
      • tidy3d.Coords
      • tidy3d.FieldGrid
      • tidy3d.YeeGrid
      • tidy3d.Grid
      • tidy3d.LayerRefinementSpec
      • tidy3d.CornerFinderSpec
      • tidy3d.GridRefinement
    • Sources
      • tidy3d.GaussianPulse
      • tidy3d.ContinuousWave
      • tidy3d.BroadbandPulse
      • tidy3d.SourceTime
      • tidy3d.CustomSourceTime
      • tidy3d.PointDipole
      • tidy3d.UniformCurrentSource
      • tidy3d.PlaneWave
      • tidy3d.FixedInPlaneKSpec
      • tidy3d.FixedAngleSpec
      • tidy3d.GaussianBeam
      • tidy3d.AstigmaticGaussianBeam
      • tidy3d.ModeSpec
      • tidy3d.TFSF
      • tidy3d.CustomFieldSource
      • tidy3d.CustomCurrentSource
    • Monitors
      • tidy3d.FieldMonitor
      • tidy3d.FieldTimeMonitor
      • tidy3d.FluxMonitor
      • tidy3d.FluxTimeMonitor
      • tidy3d.ModeSpec
      • tidy3d.ModeMonitor
      • tidy3d.ModeSolverMonitor
      • tidy3d.DiffractionMonitor
      • tidy3d.GaussianOverlapMonitor
      • tidy3d.AstigmaticGaussianOverlapMonitor
      • tidy3d.FieldProjectionCartesianMonitor
      • tidy3d.FieldProjectionAngleMonitor
      • tidy3d.FieldProjectionKSpaceMonitor
      • tidy3d.rf.DirectivityMonitor
      • tidy3d.AuxFieldTimeMonitor
      • tidy3d.FieldProjector
      • tidy3d.FieldProjectionSurface
      • tidy3d.SurfaceFieldMonitor
      • tidy3d.SurfaceFieldTimeMonitor
      • tidy3d.PermittivityMonitor
      • tidy3d.MediumMonitor
      • tidy3d.ApodizationSpec
    • Output Data
      • tidy3d.SimulationData
      • tidy3d.web.api.container.BatchData
      • tidy3d.FieldData
      • tidy3d.FieldTimeData
      • tidy3d.ModeSolverData
      • tidy3d.PermittivityData
      • tidy3d.FluxData
      • tidy3d.FluxTimeData
      • tidy3d.ModeData
      • tidy3d.FieldProjectionAngleData
      • tidy3d.FieldProjectionCartesianData
      • tidy3d.FieldProjectionKSpaceData
      • tidy3d.DiffractionData
      • tidy3d.rf.DirectivityData
      • tidy3d.AuxFieldTimeData
      • tidy3d.SurfaceFieldData
      • tidy3d.SurfaceFieldTimeData
      • tidy3d.SpatialDataArray
      • tidy3d.PermittivityDataset
      • tidy3d.ScalarFieldDataArray
      • tidy3d.ScalarModeFieldDataArray
      • tidy3d.ScalarFieldTimeDataArray
      • tidy3d.components.data.data_array.FreqDataArray
      • tidy3d.components.data.data_array.FreqModeDataArray
      • tidy3d.ModeAmpsDataArray
      • tidy3d.ModeIndexDataArray
      • tidy3d.FluxDataArray
      • tidy3d.FluxTimeDataArray
      • tidy3d.FieldProjectionAngleDataArray
      • tidy3d.FieldProjectionCartesianDataArray
      • tidy3d.FieldProjectionKSpaceDataArray
      • tidy3d.DiffractionDataArray
      • tidy3d.SteadyVoltageDataArray
      • tidy3d.IndexedSurfaceFieldDataArray
      • tidy3d.IndexedSurfaceFieldTimeDataArray
      • tidy3d.IndexedSurfaceFreqDataArray
      • tidy3d.IndexedSurfaceTimeDataArray
      • tidy3d.TriangularSurfaceDataset
    • Analytic Beams
      • tidy3d.PlaneWaveBeamProfile
      • tidy3d.GaussianBeamProfile
      • tidy3d.AstigmaticGaussianBeamProfile
    • Utilities
      • tidy3d.RunTimeSpec
      • tidy3d.FreqRange
      • tidy3d.FrequencyUtils
      • tidy3d.frequencies
      • tidy3d.wavelengths
    • Configuration API
      • tidy3d.config.ConfigManager
      • tidy3d.config.get_manager
      • tidy3d.config.reload_config
      • tidy3d.config.register_section
      • tidy3d.config.register_plugin
      • tidy3d.config.register_handler
      • tidy3d.config.get_sections
      • tidy3d.config.get_handlers
      • tidy3d.config.CURRENT_CONFIG_VERSION
      • tidy3d.config.register_migration
    • Unstructured mesh 🕸️
      • Grid Specification
        • tidy3d.UniformUnstructuredGrid
        • tidy3d.DistanceUnstructuredGrid
        • tidy3d.GridRefinementRegion
        • tidy3d.GridRefinementLine
      • Volume mesher
        • tidy3d.VolumeMesher
      • Mesh monitors
        • tidy3d.VolumeMeshMonitor
      • Output Data
        • tidy3d.VolumeMesherData
        • tidy3d.VolumeMeshData
        • tidy3d.TriangularGridDataset
        • tidy3d.TetrahedralGridDataset
        • tidy3d.PointDataArray
        • tidy3d.CellDataArray
        • tidy3d.IndexedDataArray
        • tidy3d.IndexedVoltageDataArray
        • tidy3d.IndexedTimeDataArray
        • tidy3d.IndexedFieldVoltageDataArray
      • tidy3d.UniformUnstructuredGrid
      • tidy3d.DistanceUnstructuredGrid
      • tidy3d.GridRefinementRegion
      • tidy3d.GridRefinementLine
      • tidy3d.VolumeMesher
      • tidy3d.VolumeMeshMonitor
      • tidy3d.VolumeMesherData
      • tidy3d.VolumeMeshData
      • tidy3d.TriangularGridDataset
      • tidy3d.TetrahedralGridDataset
      • tidy3d.PointDataArray
      • tidy3d.CellDataArray
      • tidy3d.IndexedDataArray
      • tidy3d.IndexedVoltageDataArray
      • tidy3d.IndexedTimeDataArray
      • tidy3d.IndexedFieldVoltageDataArray
    • Heat 🔥
      • Simulation
        • tidy3d.HeatSimulation
        • tidy3d.HeatChargeSimulation
      • Material Thermal
        • tidy3d.FluidMedium
        • tidy3d.SolidMedium
        • tidy3d.FluidSpec
        • tidy3d.SolidSpec
      • Boundary Conditions
        • tidy3d.HeatBoundarySpec
        • tidy3d.HeatChargeBoundarySpec
        • tidy3d.TemperatureBC
        • tidy3d.ConvectionBC
        • tidy3d.HeatFluxBC
        • tidy3d.StructureStructureInterface
        • tidy3d.StructureBoundary
        • tidy3d.MediumMediumInterface
        • tidy3d.StructureSimulationBoundary
        • tidy3d.SimulationBoundary
        • tidy3d.VerticalNaturalConvectionCoeffModel
      • Thermal Sources
        • tidy3d.UniformHeatSource
        • tidy3d.HeatSource
        • tidy3d.HeatFromElectricSource
      • Monitors
        • tidy3d.TemperatureMonitor
      • Output Data
        • tidy3d.HeatSimulationData
        • tidy3d.HeatChargeSimulationData
        • tidy3d.TemperatureData
      • tidy3d.HeatSimulation
      • tidy3d.HeatChargeSimulation
      • tidy3d.FluidMedium
      • tidy3d.SolidMedium
      • tidy3d.FluidSpec
      • tidy3d.SolidSpec
      • tidy3d.LinearHeatPerturbation
      • tidy3d.CustomHeatPerturbation
      • tidy3d.HeatBoundarySpec
      • tidy3d.HeatChargeBoundarySpec
      • tidy3d.TemperatureBC
      • tidy3d.ConvectionBC
      • tidy3d.HeatFluxBC
      • tidy3d.StructureStructureInterface
      • tidy3d.StructureBoundary
      • tidy3d.MediumMediumInterface
      • tidy3d.StructureSimulationBoundary
      • tidy3d.SimulationBoundary
      • tidy3d.VerticalNaturalConvectionCoeffModel
      • tidy3d.UniformHeatSource
      • tidy3d.HeatSource
      • tidy3d.HeatFromElectricSource
      • tidy3d.TemperatureMonitor
      • tidy3d.HeatSimulationData
      • tidy3d.HeatChargeSimulationData
      • tidy3d.TemperatureData
    • Charge ⚡
      • Simulation
        • tidy3d.HeatSimulation
        • tidy3d.HeatChargeSimulation
      • Charge Mediums
        • tidy3d.ChargeConductorMedium
        • tidy3d.ChargeInsulatorMedium
        • tidy3d.SemiconductorMedium
        • tidy3d.ConstantMobilityModel
        • tidy3d.CaugheyThomasMobility
        • tidy3d.AugerRecombination
        • tidy3d.RadiativeRecombination
        • tidy3d.ShockleyReedHallRecombination
        • tidy3d.FossumCarrierLifetime
        • tidy3d.DistributedGeneration
        • tidy3d.HurkxDirectBandToBandTunneling
        • tidy3d.SelberherrImpactIonization
        • tidy3d.ConstantDoping
        • tidy3d.GaussianDoping
        • tidy3d.CustomDoping
        • tidy3d.SlotboomBandGapNarrowing
        • tidy3d.ConstantEffectiveDOS
        • tidy3d.IsotropicEffectiveDOS
        • tidy3d.MultiValleyEffectiveDOS
        • tidy3d.DualValleyEffectiveDOS
        • tidy3d.ConstantEnergyBandGap
        • tidy3d.VarshniEnergyBandGap
      • Boundary Conditions
        • tidy3d.HeatBoundarySpec
        • tidy3d.HeatChargeBoundarySpec
        • tidy3d.VoltageBC
        • tidy3d.CurrentBC
        • tidy3d.InsulatingBC
        • tidy3d.StructureStructureInterface
        • tidy3d.StructureBoundary
        • tidy3d.MediumMediumInterface
        • tidy3d.StructureSimulationBoundary
        • tidy3d.SimulationBoundary
      • Charge-Heat Coupled Sources
        • tidy3d.HeatFromElectricSource
      • Monitors
        • tidy3d.SteadyPotentialMonitor
        • tidy3d.SteadyFreeCarrierMonitor
        • tidy3d.SteadyCapacitanceMonitor
        • tidy3d.SteadyCurrentDensityMonitor
        • tidy3d.SteadyElectricFieldMonitor
        • tidy3d.SteadyEnergyBandMonitor
      • Output Data
        • tidy3d.HeatChargeSimulationData
        • tidy3d.SteadyPotentialData
        • tidy3d.SteadyFreeCarrierData
        • tidy3d.SteadyEnergyBandData
        • tidy3d.SteadyCapacitanceData
        • tidy3d.SteadyElectricFieldData
        • tidy3d.SteadyCurrentDensityData
        • tidy3d.DeviceCharacteristics
      • tidy3d.HeatSimulation
      • tidy3d.HeatChargeSimulation
      • tidy3d.ChargeConductorMedium
      • tidy3d.ChargeInsulatorMedium
      • tidy3d.SemiconductorMedium
      • tidy3d.ConstantMobilityModel
      • tidy3d.CaugheyThomasMobility
      • tidy3d.AugerRecombination
      • tidy3d.RadiativeRecombination
      • tidy3d.ShockleyReedHallRecombination
      • tidy3d.FossumCarrierLifetime
      • tidy3d.DistributedGeneration
      • tidy3d.HurkxDirectBandToBandTunneling
      • tidy3d.SelberherrImpactIonization
      • tidy3d.ConstantDoping
      • tidy3d.GaussianDoping
      • tidy3d.CustomDoping
      • tidy3d.SlotboomBandGapNarrowing
      • tidy3d.ConstantEffectiveDOS
      • tidy3d.IsotropicEffectiveDOS
      • tidy3d.MultiValleyEffectiveDOS
      • tidy3d.DualValleyEffectiveDOS
      • tidy3d.ConstantEnergyBandGap
      • tidy3d.VarshniEnergyBandGap
      • tidy3d.LinearChargePerturbation
      • tidy3d.CustomChargePerturbation
      • tidy3d.HeatBoundarySpec
      • tidy3d.HeatChargeBoundarySpec
      • tidy3d.VoltageBC
      • tidy3d.CurrentBC
      • tidy3d.InsulatingBC
      • tidy3d.StructureStructureInterface
      • tidy3d.StructureBoundary
      • tidy3d.MediumMediumInterface
      • tidy3d.StructureSimulationBoundary
      • tidy3d.SimulationBoundary
      • tidy3d.HeatFromElectricSource
      • tidy3d.SteadyPotentialMonitor
      • tidy3d.SteadyFreeCarrierMonitor
      • tidy3d.SteadyCapacitanceMonitor
      • tidy3d.SteadyCurrentDensityMonitor
      • tidy3d.SteadyElectricFieldMonitor
      • tidy3d.SteadyEnergyBandMonitor
      • tidy3d.HeatChargeSimulationData
      • tidy3d.SteadyPotentialData
      • tidy3d.SteadyFreeCarrierData
      • tidy3d.SteadyEnergyBandData
      • tidy3d.SteadyCapacitanceData
      • tidy3d.SteadyElectricFieldData
      • tidy3d.SteadyCurrentDensityData
      • tidy3d.DeviceCharacteristics
    • EME 🌈
      • Simulation
        • tidy3d.EMESimulation
      • Monitors
        • tidy3d.EMECoefficientMonitor
        • tidy3d.EMEModeSolverMonitor
        • tidy3d.EMEFieldMonitor
        • tidy3d.EMEMonitor
      • Grid Specification
        • tidy3d.EMEUniformGrid
        • tidy3d.EMECompositeGrid
        • tidy3d.EMEExplicitGrid
        • tidy3d.EMEGrid
        • tidy3d.EMEModeSpec
      • Propagation Sweeps
        • tidy3d.EMELengthSweep
        • tidy3d.EMEModeSweep
        • tidy3d.EMEPeriodicitySweep
        • tidy3d.EMEFreqSweep
      • Output Data
        • tidy3d.EMECoefficientData
        • tidy3d.EMEModeSolverData
        • tidy3d.EMEFieldData
        • tidy3d.EMESimulationData
        • tidy3d.EMESMatrixDataset
        • tidy3d.EMECoefficientDataset
        • tidy3d.EMEOverlapDataset
        • tidy3d.EMEFieldDataset
        • tidy3d.EMEModeSolverDataset
        • tidy3d.EMEStageCellModes
        • tidy3d.EMEStageCellOverlap
        • tidy3d.EMEStageInterfaceOverlap
        • tidy3d.EMEStageCellSMatrix
        • tidy3d.EMEStageInterfaceSMatrix
      • Local Propagation
        • tidy3d.EMESimulation.mode_simulations
        • tidy3d.EMESimulation.propagate
        • tidy3d.EMESimulation.smatrix_in_basis
        • tidy3d.EMESimulation.compute_overlaps
        • tidy3d.EMESimulation.propagate_from_overlaps
        • tidy3d.EMESimulation.stage_cell_modes
        • tidy3d.EMESimulation.compute_cell_overlap
        • tidy3d.EMESimulation.compute_interface_overlap
        • tidy3d.EMESimulation.compute_cell_smatrix
        • tidy3d.EMESimulation.compute_interface_smatrix
        • tidy3d.EMESimulation.compute_smatrix
      • tidy3d.EMESimulation
      • tidy3d.EMECoefficientMonitor
      • tidy3d.EMEModeSolverMonitor
      • tidy3d.EMEFieldMonitor
      • tidy3d.EMEMonitor
      • tidy3d.EMEUniformGrid
      • tidy3d.EMECompositeGrid
      • tidy3d.EMEExplicitGrid
      • tidy3d.EMEGrid
      • tidy3d.EMEModeSpec
      • tidy3d.EMELengthSweep
      • tidy3d.EMEModeSweep
      • tidy3d.EMEPeriodicitySweep
      • tidy3d.EMEFreqSweep
      • tidy3d.EMECoefficientData
      • tidy3d.EMEModeSolverData
      • tidy3d.EMEFieldData
      • tidy3d.EMESimulationData
      • tidy3d.EMESMatrixDataset
      • tidy3d.EMECoefficientDataset
      • tidy3d.EMEOverlapDataset
      • tidy3d.EMEFieldDataset
      • tidy3d.EMEModeSolverDataset
      • tidy3d.EMEStageCellModes
      • tidy3d.EMEStageCellOverlap
      • tidy3d.EMEStageInterfaceOverlap
      • tidy3d.EMEStageCellSMatrix
      • tidy3d.EMEStageInterfaceSMatrix
      • tidy3d.EMESimulation.mode_simulations
      • tidy3d.EMESimulation.propagate
      • tidy3d.EMESimulation.smatrix_in_basis
      • tidy3d.EMESimulation.compute_overlaps
      • tidy3d.EMESimulation.propagate_from_overlaps
      • tidy3d.EMESimulation.stage_cell_modes
      • tidy3d.EMESimulation.compute_cell_overlap
      • tidy3d.EMESimulation.compute_interface_overlap
      • tidy3d.EMESimulation.compute_cell_smatrix
      • tidy3d.EMESimulation.compute_interface_smatrix
      • tidy3d.EMESimulation.compute_smatrix
    • Mode 🎯
      • Mode Simulation
        • tidy3d.ModeSimulation
      • Mode Source
        • tidy3d.ModeSource
        • tidy3d.ModeSpec
        • tidy3d.PECFrame
      • Mode Specifications
        • tidy3d.ModeSpec
        • tidy3d.ModeSortSpec
        • tidy3d.ModeInterpSpec
      • Output Data
        • tidy3d.ModeSimulationData
        • tidy3d.plugins.mode.ModeSolverData
        • tidy3d.ModeSolverDataset
      • Deprecated
        • tidy3d.plugins.mode.ModeSolver
        • tidy3d.plugins.mode.ModeSolverData
      • tidy3d.ModeSource
      • tidy3d.ModeSpec
      • tidy3d.PECFrame
      • tidy3d.ModeSimulation
      • tidy3d.ModeSpec
      • tidy3d.ModeSortSpec
      • tidy3d.ModeInterpSpec
      • tidy3d.UniformSampling
      • tidy3d.ChebSampling
      • tidy3d.CustomSampling
      • tidy3d.ModeSimulationData
      • tidy3d.plugins.mode.ModeSolverData
      • tidy3d.ModeSolverDataset
      • tidy3d.plugins.mode.ModeSolver
      • tidy3d.plugins.mode.ModeSolverData
    • Microwave & RF 📡
      • TerminalComponentModeler
        • tidy3d.rf.TerminalComponentModeler
        • tidy3d.rf.TerminalComponentModelerData
        • tidy3d.rf.MicrowaveSMatrixData
        • tidy3d.rf.TerminalPortDataArray
        • tidy3d.rf.PortDataArray
      • S-Parameter Definitions
      • RF Materials Models
        • tidy3d.PECMedium
        • tidy3d.PMCMedium
        • tidy3d.rf.LossyMetalMedium
        • tidy3d.rf.SurfaceImpedanceFitterParam
        • tidy3d.rf.HammerstadSurfaceRoughness
        • tidy3d.rf.HuraySurfaceRoughness
        • tidy3d.Medium
        • tidy3d.plugins.dispersion.FastDispersionFitter
      • RF Material Library
      • Path Integrals
        • tidy3d.rf.AxisAlignedVoltageIntegral
        • tidy3d.rf.Custom2DVoltageIntegral
        • tidy3d.rf.AxisAlignedCurrentIntegral
        • tidy3d.rf.Custom2DCurrentIntegral
        • tidy3d.rf.CompositeCurrentIntegral
        • tidy3d.rf.AxisAlignedVoltageIntegralSpec
        • tidy3d.rf.Custom2DVoltageIntegralSpec
        • tidy3d.rf.AxisAlignedCurrentIntegralSpec
        • tidy3d.rf.Custom2DCurrentIntegralSpec
        • tidy3d.rf.CompositeCurrentIntegralSpec
      • Impedance Calculator
        • tidy3d.ImpedanceCalculator
      • RF Mode Analysis
        • tidy3d.rf.MicrowaveModeSpec
        • tidy3d.rf.AutoImpedanceSpec
        • tidy3d.rf.CustomImpedanceSpec
        • tidy3d.rf.MicrowaveModeMonitor
        • tidy3d.rf.MicrowaveModeSolverMonitor
        • tidy3d.ModeSimulation
      • Lumped Port & Elements
        • tidy3d.rf.LumpedPort
        • tidy3d.rf.CoaxialLumpedPort
        • tidy3d.rf.LumpedResistor
        • tidy3d.rf.CoaxialLumpedResistor
        • tidy3d.rf.LinearLumpedElement
        • tidy3d.rf.RLCNetwork
        • tidy3d.rf.AdmittanceNetwork
      • Wave Port
        • tidy3d.rf.WavePort
        • tidy3d.rf.TerminalWavePort
      • Radiation & Scattering
        • tidy3d.rf.DirectivityMonitor
        • tidy3d.rf.DirectivityMonitorSpec
        • tidy3d.rf.RectangularAntennaArrayCalculator
        • tidy3d.rf.LobeMeasurer
      • RF Output Data
        • tidy3d.rf.MicrowaveModeData
        • tidy3d.rf.MicrowaveModeSolverData
        • tidy3d.rf.DirectivityData
        • tidy3d.rf.AntennaMetricsData
        • tidy3d.components.microwave.data.monitor_data.MicrowaveModeDataBase
        • tidy3d.components.microwave.data.dataset.TransmissionLineDataset
        • tidy3d.components.microwave.data.dataset.TransmissionLineTerminalDataset
        • tidy3d.components.data.data_array.ModeDataArray
        • tidy3d.components.data.data_array.TerminalDataArray
        • tidy3d.components.data.data_array.FreqTerminalDataArray
        • tidy3d.components.data.data_array.FreqTerminalModeDataArray
        • tidy3d.components.data.data_array.FreqTerminalTerminalDataArray
        • tidy3d.components.data.data_array.VoltageTimeDataArray
        • tidy3d.components.data.data_array.VoltageFreqDataArray
        • tidy3d.components.data.data_array.VoltageFreqModeDataArray
        • tidy3d.components.data.data_array.VoltageFreqTerminalModeDataArray
        • tidy3d.components.data.data_array.CurrentTimeDataArray
        • tidy3d.components.data.data_array.CurrentFreqDataArray
        • tidy3d.components.data.data_array.CurrentFreqModeDataArray
        • tidy3d.components.data.data_array.CurrentFreqTerminalDataArray
        • tidy3d.components.data.data_array.CurrentFreqTerminalModeDataArray
        • tidy3d.components.data.data_array.ImpedanceModeDataArray
        • tidy3d.components.data.data_array.ImpedanceTerminalDataArray
        • tidy3d.components.data.data_array.ImpedanceTimeDataArray
        • tidy3d.components.data.data_array.ImpedanceFreqDataArray
        • tidy3d.components.data.data_array.ImpedanceFreqModeDataArray
        • tidy3d.components.data.data_array.ImpedanceFreqTerminalTerminalDataArray
        • tidy3d.components.microwave.data.data_array.PropagationConstantArray
        • tidy3d.components.microwave.data.data_array.PhaseConstantArray
        • tidy3d.components.microwave.data.data_array.AttenuationConstantArray
        • tidy3d.components.microwave.data.data_array.PhaseVelocityArray
        • tidy3d.components.microwave.data.data_array.GroupVelocityArray
    • Plugins
      • Mode Solver
        • tidy3d.plugins.mode.ModeSolver
        • tidy3d.plugins.mode.ModeSolverData
      • Dispersive Model Fitting
        • tidy3d.plugins.dispersion.FastDispersionFitter
        • tidy3d.plugins.dispersion.AdvancedFastFitterParam
        • tidy3d.plugins.dispersion.DispersionFitter
        • tidy3d.plugins.dispersion.AdvancedFitterParam
        • tidy3d.plugins.dispersion.web.run
        • tidy3d.plugins.dispersion.StableDispersionFitter
      • Self-intersecting Polyslab
        • tidy3d.plugins.polyslab.ComplexPolySlab
      • S-Matrix Component Modelers Plugin
        • tidy3d.plugins.smatrix.ModalComponentModeler
        • tidy3d.plugins.smatrix.ModalComponentModelerData
        • tidy3d.plugins.smatrix.Port
        • tidy3d.plugins.smatrix.ModalPortDataArray
        • tidy3d.plugins.smatrix.TerminalComponentModeler
        • tidy3d.plugins.smatrix.TerminalComponentModelerData
        • tidy3d.plugins.smatrix.LumpedPort
        • tidy3d.plugins.smatrix.CoaxialLumpedPort
        • tidy3d.rf.WavePort
        • tidy3d.rf.TerminalWavePort
        • tidy3d.rf.MicrowaveSMatrixData
        • tidy3d.rf.TerminalPortDataArray
        • tidy3d.rf.PortDataArray
        • tidy3d.plugins.smatrix.ModalComponentModeler
        • tidy3d.plugins.smatrix.ModalComponentModelerData
        • tidy3d.rf.TerminalComponentModeler
        • tidy3d.rf.TerminalComponentModelerData
        • tidy3d.SimulationMap
        • tidy3d.SimulationDataMap
        • tidy3d.plugins.smatrix.run.create_batch
        • tidy3d.plugins.smatrix.run.compose_modeler_data_from_batch_data
        • tidy3d.plugins.smatrix.run.compose_modeler_data
        • tidy3d.plugins.smatrix.AbstractComponentModeler
        • tidy3d.plugins.smatrix.data.base.AbstractComponentModelerData
        • tidy3d.SimulationMap
        • tidy3d.SimulationDataMap
      • Resonance Finder
        • tidy3d.plugins.resonance.ResonanceFinder
      • Automatic Differentiation with Autograd
        • tidy3d.plugins.autograd.differential_operators.grad
        • tidy3d.plugins.autograd.differential_operators.value_and_grad
        • tidy3d.plugins.autograd.functions.add_at
        • tidy3d.plugins.autograd.functions.convolve
        • tidy3d.plugins.autograd.functions.grey_closing
        • tidy3d.plugins.autograd.functions.grey_dilation
        • tidy3d.plugins.autograd.functions.grey_erosion
        • tidy3d.plugins.autograd.functions.grey_opening
        • tidy3d.plugins.autograd.functions.interpn
        • tidy3d.plugins.autograd.functions.least_squares
        • tidy3d.plugins.autograd.functions.morphological_gradient
        • tidy3d.plugins.autograd.functions.morphological_gradient_external
        • tidy3d.plugins.autograd.functions.morphological_gradient_internal
        • tidy3d.plugins.autograd.functions.pad
        • tidy3d.plugins.autograd.functions.rescale
        • tidy3d.plugins.autograd.functions.smooth_max
        • tidy3d.plugins.autograd.functions.smooth_min
        • tidy3d.plugins.autograd.functions.threshold
        • tidy3d.plugins.autograd.functions.trapz
        • tidy3d.plugins.autograd.utilities.chain
        • tidy3d.plugins.autograd.utilities.get_kernel_size_px
        • tidy3d.plugins.autograd.utilities.make_kernel
        • tidy3d.plugins.autograd.utilities.scalar_objective
        • tidy3d.plugins.autograd.primitives.gaussian_filter
        • tidy3d.plugins.autograd.primitives.interpolate_spline
        • tidy3d.plugins.autograd.invdes.CircularFilter
        • tidy3d.plugins.autograd.invdes.ConicFilter
        • tidy3d.plugins.autograd.invdes.ErosionDilationPenalty
        • tidy3d.plugins.autograd.invdes.FilterAndProject
        • tidy3d.plugins.autograd.invdes.grey_indicator
        • tidy3d.plugins.autograd.invdes.make_circular_filter
        • tidy3d.plugins.autograd.invdes.make_conic_filter
        • tidy3d.plugins.autograd.invdes.make_curvature_penalty
        • tidy3d.plugins.autograd.invdes.make_erosion_dilation_penalty
        • tidy3d.plugins.autograd.invdes.make_filter
        • tidy3d.plugins.autograd.invdes.make_filter_and_project
        • tidy3d.plugins.autograd.invdes.ramp_projection
        • tidy3d.plugins.autograd.invdes.tanh_projection
        • tidy3d.plugins.autograd.invdes.smoothed_projection
        • tidy3d.plugins.autograd.invdes.symmetrize_mirror
        • tidy3d.plugins.autograd.invdes.symmetrize_rotation
        • tidy3d.plugins.autograd.invdes.symmetrize_diagonal
      • Inverse Design Plugin
        • tidy3d.plugins.invdes.FilterProject
        • tidy3d.plugins.invdes.ErosionDilationPenalty
        • tidy3d.plugins.invdes.PolySlabSet
        • tidy3d.plugins.invdes.curvature_penalty
        • tidy3d.plugins.invdes.smooth_polygon_vertices
        • tidy3d.plugins.invdes.TopologyDesignRegion
        • tidy3d.plugins.invdes.InverseDesign
        • tidy3d.plugins.invdes.InverseDesignMulti
        • tidy3d.plugins.invdes.InverseDesignResult
        • tidy3d.plugins.invdes.AdamOptimizer
        • tidy3d.plugins.invdes.utils.get_amps
        • tidy3d.plugins.invdes.utils.get_field_component
        • tidy3d.plugins.invdes.utils.get_intensity
        • tidy3d.plugins.invdes.utils.sum_array
        • tidy3d.plugins.invdes.utils.sum_abs_squared
        • tidy3d.plugins.invdes.utils.get_phase
      • Design Space Exploration
        • tidy3d.plugins.design.parameter.Parameter
        • tidy3d.plugins.design.ParameterFloat
        • tidy3d.plugins.design.ParameterInt
        • tidy3d.plugins.design.ParameterAny
        • tidy3d.plugins.design.method.Method
        • tidy3d.plugins.design.MethodGrid
        • tidy3d.plugins.design.MethodMonteCarlo
        • tidy3d.plugins.design.MethodBayOpt
        • tidy3d.plugins.design.MethodGenAlg
        • tidy3d.plugins.design.MethodParticleSwarm
        • tidy3d.plugins.design.DesignSpace
        • tidy3d.plugins.design.Result
      • Waveguide
        • tidy3d.plugins.waveguide.RectangularDielectric
      • KLayout Integration
        • tidy3d.plugins.klayout.DRCConfig
        • tidy3d.plugins.klayout.DRCRunner
        • tidy3d.plugins.klayout.run_drc_on_gds
        • tidy3d.plugins.klayout.DRCResults
        • tidy3d.plugins.klayout.drc.results.DRCViolation
        • tidy3d.plugins.klayout.drc.results.EdgeMarker
        • tidy3d.plugins.klayout.drc.results.EdgePairMarker
        • tidy3d.plugins.klayout.drc.results.PolygonMarker
        • tidy3d.plugins.klayout.drc.results.MultiPolygonMarker
        • tidy3d.plugins.klayout.check_installation
    • SPICE 🔌
      • tidy3d.SSACVoltageSource
      • tidy3d.DCVoltageSource
      • tidy3d.GroundVoltage
      • tidy3d.DCCurrentSource
      • tidy3d.SteadyChargeDCAnalysis
      • tidy3d.IsothermalSteadyChargeDCAnalysis
      • tidy3d.components.spice.analysis.ac.AbstractSSACAnalysis
      • tidy3d.SSACAnalysis
      • tidy3d.IsothermalSSACAnalysis
      • tidy3d.SteadyChargeDCAnalysis
      • tidy3d.ChargeToleranceSpec
    • Constants
      • tidy3d.constants.C_0
      • tidy3d.constants.HBAR
      • tidy3d.constants.Q_e
      • tidy3d.constants.ETA_0
      • tidy3d.constants.EPSILON_0
      • tidy3d.constants.MU_0
      • tidy3d.constants.K_B
      • tidy3d.constants.inf
      • tidy3d.config.ConfigManager
      • tidy3d.DefaultPMLParameters
      • tidy3d.DefaultStablePMLParameters
      • tidy3d.DefaultAbsorberParameters
      • tidy3d.constants.HERTZ
      • tidy3d.constants.TERAHERTZ
      • tidy3d.constants.SECOND
      • tidy3d.constants.PICOSECOND
      • tidy3d.constants.METER
      • tidy3d.constants.MICROMETER
      • tidy3d.constants.NANOMETER
      • tidy3d.constants.RADIAN
      • tidy3d.constants.CONDUCTIVITY
      • tidy3d.constants.PERMITTIVITY
      • tidy3d.constants.PML_SIGMA
      • tidy3d.constants.RADPERSEC
      • tidy3d.constants.ELECTRON_VOLT
      • tidy3d.constants.KELVIN
      • tidy3d.constants.PML_SIGMA
      • tidy3d.constants.CMCUBE
      • tidy3d.constants.PERCMCUBE
      • tidy3d.constants.WATT
      • tidy3d.constants.VOLT
      • tidy3d.constants.THERMAL_CONDUCTIVITY
      • tidy3d.constants.SPECIFIC_HEAT_CAPACITY
      • tidy3d.constants.HEAT_FLUX
      • tidy3d.constants.VOLUMETRIC_HEAT_RATE
      • tidy3d.constants.HEAT_TRANSFER_COEFF
      • tidy3d.constants.dp_eps
      • tidy3d.constants.fp_eps
      • tidy3d.constants.pec_val
      • tidy3d.constants.LARGE_NUMBER
      • tidy3d.constants.GLANCING_CUTOFF
    • Abstract Base Classes
      • tidy3d.components.base_sim.data.sim_data.AbstractSimulationData
      • tidy3d.components.base_sim.data.monitor_data.AbstractMonitorData
      • tidy3d.components.tcad.data.monitor_data.abstract.HeatChargeMonitorData
      • tidy3d.components.base_sim.monitor.AbstractMonitor
      • tidy3d.components.base_sim.simulation.AbstractSimulation
      • tidy3d.components.base_sim.source.AbstractSource
      • tidy3d.components.data.dataset.AbstractFieldDataset
      • tidy3d.components.data.dataset.AuxFieldTimeDataset
      • tidy3d.components.data.dataset.ElectromagneticFieldDataset
      • tidy3d.components.data.dataset.ElectromagneticSurfaceFieldDataset
      • tidy3d.components.data.monitor_data.ElectromagneticSurfaceFieldData
      • tidy3d.components.data.data_array.AbstractSpatialDataArray
      • tidy3d.components.data.monitor_data.AbstractFieldData
      • tidy3d.components.data.monitor_data.AbstractFieldProjectionData
      • tidy3d.components.parameter_perturbation.AbstractPerturbation
      • tidy3d.components.parameter_perturbation.AbstractPerturbation
      • tidy3d.components.medium.AbstractCustomMedium
      • tidy3d.components.medium.AbstractMedium
      • tidy3d.components.microwave.base.MicrowaveBaseModel
      • tidy3d.components.simulation.AbstractYeeGridSimulation
      • tidy3d.components.structure.AbstractStructure
      • tidy3d.components.time.AbstractTimeDependence
    • Base Classes
      • tidy3d.Geometry
      • tidy3d.Tidy3dBaseModel
      • tidy3d.components.geometry.base.Centered
      • tidy3d.components.geometry.base.Circular
      • tidy3d.components.geometry.base.Planar
      • tidy3d.components.geometry.base.SimplePlaneIntersection
      • tidy3d.components.geometry.polyslab.ComplexPolySlabBase
      • tidy3d.components.structure.AbstractStructure
      • tidy3d.components.medium.AbstractMedium
      • tidy3d.components.medium.AbstractCustomMedium
      • tidy3d.components.medium.DispersiveMedium
      • tidy3d.components.medium.CustomDispersiveMedium
      • tidy3d.components.medium.AnisotropicMediumFromMedium2D
      • tidy3d.components.source.time.SourceTime
      • tidy3d.components.source.time.Pulse
      • tidy3d.components.source.base.Source
      • tidy3d.components.source.field.FieldSource
      • tidy3d.components.source.field.PlanarSource
      • tidy3d.components.source.field.VolumeSource
      • tidy3d.components.source.field.DirectionalSource
      • tidy3d.components.source.field.BroadbandSource
      • tidy3d.components.source.field.AngledFieldSource
      • tidy3d.components.source.current.CurrentSource
      • tidy3d.components.source.current.ReverseInterpolatedSource
      • tidy3d.Monitor
      • tidy3d.components.tcad.monitors.abstract.HeatChargeMonitor
      • tidy3d.components.monitor.FreqMonitor
      • tidy3d.components.monitor.TimeMonitor
      • tidy3d.components.monitor.AbstractFieldMonitor
      • tidy3d.components.monitor.AbstractFluxMonitor
      • tidy3d.components.monitor.PlanarMonitor
      • tidy3d.components.monitor.SurfaceIntegrationMonitor
      • tidy3d.components.monitor.AbstractFieldProjectionMonitor
      • tidy3d.components.lumped_element.LumpedElement
      • tidy3d.components.lumped_element.RectangularLumpedElement
      • tidy3d.components.grid.grid_spec.GridSpec1d
      • tidy3d.components.data.sim_data.AbstractYeeGridSimulationData
      • tidy3d.components.data.sim_data.SimulationData
      • tidy3d.components.boundary.AbsorberSpec
      • tidy3d.components.tcad.boundary.abstract.HeatChargeBC
      • tidy3d.components.subpixel_spec.AbstractSubpixelAveragingMethod
      • tidy3d.components.data.data_array.DataArray
      • tidy3d.components.data.dataset.FieldDataset
      • tidy3d.components.data.dataset.FieldTimeDataset
      • tidy3d.components.data.dataset.ModeSolverDataset
      • tidy3d.components.data.monitor_data.ElectromagneticFieldData
      • tidy3d.components.data.monitor_data.MonitorData
      • tidy3d.components.spice.analysis.ac.AbstractSSACAnalysis
      • tidy3d.components.bc_placement.AbstractBCPlacement
      • tidy3d.components.boundary.AbstractABCBoundary
      • tidy3d.components.grid.grid_spec.AbstractAutoGrid
      • tidy3d.components.material.tcad.charge.AbstractChargeMedium
      • tidy3d.components.material.tcad.heat.AbstractHeatMedium
      • tidy3d.components.medium.AbstractSurfaceRoughness
      • tidy3d.components.mode_spec.AbstractModeSpec
      • tidy3d.components.base_sim.monitor.AbstractMonitor
      • tidy3d.components.monitor.AbstractGaussianOverlapMonitor
      • tidy3d.components.monitor.AbstractMediumPropertyMonitor
      • tidy3d.components.monitor.AbstractModeMonitor
      • tidy3d.components.microwave.monitor.MicrowaveModeMonitorBase
      • tidy3d.components.microwave.path_integrals.specs.base.AbstractAxesRH
      • tidy3d.components.source.field.AbstractAngularSpec
      • tidy3d.components.tcad.data.sim_data.AbstractHeatChargeSimulationData
      • tidy3d.components.tcad.doping.AbstractDopingBox
      • tidy3d.plugins.autograd.invdes.filters.AbstractFilter
      • tidy3d.plugins.invdes.base.InvdesBaseModel
      • tidy3d.plugins.invdes.design.AbstractInverseDesign
      • tidy3d.plugins.microwave.array_factor.AbstractAntennaArrayCalculator
      • tidy3d.plugins.smatrix.ports.base_lumped.AbstractLumpedPort
      • tidy3d.plugins.smatrix.ports.base_terminal.AbstractTerminalPort
    • Visualization and Plotting
      • tidy3d.restore_matplotlib_rcparams
      • tidy3d.VisualizationSpec
  • Tidy3D + AI 💡
    • FlexAgent MCP
    • 3D Viewer
    • Simulation Tips for AI Agents
    • Tidy3D for Cursor
    • Tidy3D for VS Code
  • GUI
  • Photonforge
  • Extras Plugin ✨
    • Software License Agreement
    • Third-Party Licenses
  • Development Guide 🛠️
    • An Introduction to the Development Flow
      • Understanding Virtual Environments
      • Using uv for package management
      • Code Quality Principles
      • tidy3d Project Structure
    • Development Environment Installation
    • Using the Development Flow
    • Recommendations
    • Release Flow
      • Feature Contribution
      • Release Workflow
      • Documentation Release
      • Notebooks Development
    • Documentation
  • Changelog ⏪
  • About our Solver
  • Repository
  • Open issue
  • .rst

  • Grating Coupler: a Tidy3D simulation setup
    • Initial Grating Design
    • Defining Our Initial Guess: A Uniform Grating
    • Running the Simulation
    • Visualizing the Results
    • Baseline Performance: The Need for Optimization
  • Grating Coupler: Bayesian Optimization for Initial Design
    • Why Bayesian Optimization?
    • The Evaluation Function
    • Setting Up the Bayesian Optimizer
    • Framing the Problem: A 5-Parameter Global Search
    • Running the Optimization
    • Analyzing the Results
    • Interpreting the Optimization Progress
    • Visualizing the Optimized Design
    • Exporting the Best Design
  • Adjoint Optimization: High-Dimensional Gradient-Based Refinement
    • The Power of the Adjoint Method
    • High-Dimensional Parameterization
    • Running the Gradient Descent
    • Visualizing the Results
    • Performance Payoff
    • Final Apodized Geometry
    • Conclusion and Next Steps
  • Fabrication Sensitivity Analysis: Is Our Design Robust?
    • Modeling Fabrication Errors with a Bias
    • Interpreting the Sensitivity Plot
    • Monte Carlo
    • Adjoint
      • Linearized Sensitivity via Adjoint
      • Interpreting Variance Contributions
    • Comparison
      • Monte Carlo vs. Adjoint View
    • Analysis and Conclusion
    • Next Step: Designing for Robustness
  • Robust adjoint optimization for manufacturability
    • Defining a Robust Multi-Objective Function
      • Starting Point and Bounds
    • Running the Robust Optimization
      • Tracking Progress
      • Pre- and Post-Optimization Bias Sweeps
    • The Final Payoff: Visualizing Robustness
      • Exporting the Robust Design
  • Monte Carlo View: Nominal vs Robust Grating
    • Shared Monte Carlo Draws
    • Distribution of Center-Wavelength Loss
    • What the numbers say
  • Measurement Calibration: Bridging Simulation and Fabrication
    • Calibration Workflow Overview
    • Generating Reference and Synthetic Measurement Data
    • Calibration Objective
    • Takeaways

By Flexcompute

© Copyright Flexcompute 2020-2026.