Skip to main content
Ctrl+K
Tidy3D Electromagnetic Solver - Home 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
        • Layout design using gdstk
      • Grid Specification
        • Using automatic nonuniform meshing
        • Automatic mesh refinement in layered structures
        • Local permittivity with subpixel averaging
      • 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 ModeSimulation
        • Mode overlap integral between a waveguide mode and a Gaussian mode
        • Using ModeSimulation for optical mode analysis
      • Design Space Exploration
        • Performing parallel / batch processing of simulations
        • Design space exploration plugin
        • Parameter scans using web.run
      • 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
        • Design and shape optimization of a metalens-assisted waveguide taper
        • Inverse design of a GaP photon extractor for nitrogen-vacancy centers
        • 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
        • Parallel adjoint with a waveguide bend
        • 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
        • EME convergence for a bent anisotropic waveguide (LiNbO₃)
      • Advanced Applications
        • Building an AI surrogate model for a directional coupler
        • Avoiding unphysical loss in low-index-contrast waveguides
        • Source normalization
        • KLayout DRC plugin quickstart
      • 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
        • Dielectric to plasmonic waveguide coupler design via Bayesian
        • 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
        • Small-signal AC analysis of a silicon PIN photodiode
        • Silicon–Organic Hybrid Slot Electro-Optic Modulator: RF–Optical
      • Global Optimization
        • Particle swarm optimization of a polarization beam splitter
        • Particle swarm optimization of a bullseye cavity for quantum emitter
        • 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
      • 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?
      • How to Manage Storage and Download Simulation Data in Tidy3d?
      • Why am I getting an Exceed Storage error?
      • Why Is My Tidy3d Notebook Storage Full If I Do Not See Large Files?
      • How Do I Control the Local Cache in Tidy3d?
      • What are the Hidden Files in the Python Web Notebook?
    • 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?
      • What is The Difference Between Periodic and Bloch Boundaries?
    • Charge
      • How Can I Define Doping Profile?
      • Which Types of Charge Boundary Conditions are Available?
      • How Can I Define the Simulation Grid?
      • What Charge Monitors are Available?
      • How Can I Define a Semiconductor Material?
      • How Do I Set a Charge Simulation?
      • How Can I Set Charge Boundary Conditions?
    • 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?
      • How do I export field data to zbf?
    • EME
      • How do I run a sweep with EME?
      • How to define the number of modes for an EME simulation?
      • How can I simulate bent waveguides with EME?
      • How do I set an EME simulation?
      • How do I run EME locally?
      • What is EME?
      • How Do I Simulate a Bent Anisotropic Waveguide with EME?
    • 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?
    • Heat
      • How Do I Use Heat Data in a FDTD Simulation?
      • How Do I Set a Heat Simulation?
      • How Do I Set a Heat Source?
      • What are the Units for Heat Simulation?
      • Which Types of Boundary Conditions are Available?
      • How Can I Set Boundary Conditions?
    • Installation and Help
      • How can I install the Python client of Tidy3D?
      • How do I see the version of Tidy3D I am using?
      • What is the version support policy for Tidy3D?
      • 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 do I set an inverse design problem?
      • 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?
      • How Do I Use Anisotropic Medium?
    • 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?
      • How Can I Save and Load a Fitted Medium?
    • 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?
      • What does the FluxMonitor record?
    • Parameter Sweep (Legacy)
      • How do I save or load a tidy3d.web.Batch so I can work with it later?
      • How do I submit multiple simulations?
      • How to load a batch result?
      • How do I run a parameter sweep?
      • How do I loop through tidy3d.web.BatchData without loading all of the data into memory?
    • Parameter Sweep
      • How Do I Run a Parameter Sweep?
      • How Do I Submit Multiple Simulations?
      • How to Iterate Through Results From Multiple Simulations Without Loading All of the Data Into Memory?
      • How Do I Abort Multiple Simulations Job?
      • How Do I Save or Load a Tidy3d Parallel Job so I Can Work with It Later?
      • How Can I Estimate the Cost of a Parameter Sweep?
    • 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 to Ensure the Calculated Quality Factor is Accurate?
      • 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?
      • Why are some materials not showing up?
      • Why does the kernel crash sometimes when using the web-based Python notebook?
    • 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?
      • Why the simulation time for the exact same simulation can vary?
      • How long should I run the simulation?
      • Can you convert a lumerical script file to Tidy3D?
    • 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 can I plot the source spectrum?
      • 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?
      • What is the formula for ContinuousWave?
      • What is the formula for GaussianBeam?
      • What is the formula for GaussianPulse?
      • What is the formula for PlaneWave?
    • 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?
      • When two structures overlap, what is the priority determined?
      • How to rotate a geometry?
      • How to translate a geometry?
      • How to scale a geometry?
      • How can I apply transformations to a geometry?
      • 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?
      • Does Tidy3D support continuous and discrete rotational symmetries?
    • Web API
      • Web.job?
      • Web.run?
      • Web.get_tasks?
      • Web.abort?
      • Web.batch?
      • Web.account?
      • Web.estimate_cost?
      • Td.simulationdata.from_file?
      • Web.load?
      • Web.get_info?
      • Web.run_async?
      • Web.delete?
      • Web.delete_old?
      • Web.load?
  • 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.refresh_licenses
      • 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.ThinLensBeam
      • tidy3d.ModeSpec
      • tidy3d.TFSF
      • tidy3d.CustomFieldSource
      • tidy3d.CustomCurrentSource
    • Monitors
      • tidy3d.FieldMonitor
      • tidy3d.PointCloudFieldMonitor
      • tidy3d.DipoleEmissionMonitor
      • tidy3d.FieldTimeMonitor
      • tidy3d.FluxMonitor
      • tidy3d.FluxTimeMonitor
      • tidy3d.ModeSpec
      • tidy3d.ModeMonitor
      • tidy3d.ModeSolverMonitor
      • tidy3d.ModeTimeMonitor
      • tidy3d.DiffractionMonitor
      • tidy3d.GaussianOverlapMonitor
      • tidy3d.AstigmaticGaussianOverlapMonitor
      • tidy3d.ThinLensOverlapMonitor
      • tidy3d.FieldProjectionCartesianMonitor
      • tidy3d.FieldProjectionAngleMonitor
      • tidy3d.FieldProjectionKSpaceMonitor
      • tidy3d.rf.DirectivityMonitor
      • tidy3d.AuxFieldTimeMonitor
      • tidy3d.FieldProjector
      • tidy3d.FieldProjectionSurface
      • tidy3d.SurfaceFieldMonitor
      • tidy3d.SurfaceFieldTimeMonitor
      • tidy3d.PermittivityMonitor
      • tidy3d.PointCloudPermittivityMonitor
      • tidy3d.MediumMonitor
      • tidy3d.ApodizationSpec
    • Output Data
      • tidy3d.SimulationData
      • tidy3d.web.api.container.BatchData
      • tidy3d.FieldData
      • tidy3d.PointCloudFieldData
      • tidy3d.PointCloudPermittivityData
      • tidy3d.DipoleEmissionData
      • 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.SphericalAngleDataArray
      • tidy3d.DipoleEmissionDataArray
      • tidy3d.DipoleEmissionPositionDataArray
      • tidy3d.PointCloudFieldDataset
      • tidy3d.PointCloudPermittivityDataset
      • 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
      • tidy3d.ThinLensProfile
    • 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
        • tidy3d.AnisotropicConductivity
      • Boundary Conditions
        • tidy3d.HeatBoundarySpec
        • tidy3d.HeatChargeBoundarySpec
        • tidy3d.TemperatureBC
        • tidy3d.ConvectionBC
        • tidy3d.RadiationBC
        • tidy3d.HeatFluxBC
        • tidy3d.ThermalContactResistance
        • 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.AnisotropicConductivity
      • tidy3d.LinearHeatPerturbation
      • tidy3d.CustomHeatPerturbation
      • tidy3d.HeatBoundarySpec
      • tidy3d.HeatChargeBoundarySpec
      • tidy3d.TemperatureBC
      • tidy3d.ConvectionBC
      • tidy3d.RadiationBC
      • tidy3d.HeatFluxBC
      • tidy3d.ThermalContactResistance
      • 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.MasettiMobility
        • tidy3d.AugerRecombination
        • tidy3d.RadiativeRecombination
        • tidy3d.ShockleyReedHallRecombination
        • tidy3d.FossumCarrierLifetime
        • tidy3d.PalankovskiQuayApproxCarrierLifetime
        • 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
      • Heterojunctions
      • 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
        • tidy3d.SteadyChargeResidualMonitor
      • Analysis
        • tidy3d.SteadyChargeDCAnalysis
        • tidy3d.IsothermalSteadyChargeDCAnalysis
        • tidy3d.SSACAnalysis
        • tidy3d.IsothermalSSACAnalysis
      • Accelerated solver and convergence
        • tidy3d.ChargeToleranceSpec
      • Output Data
        • tidy3d.HeatChargeSimulationData
        • tidy3d.SteadyPotentialData
        • tidy3d.SteadyFreeCarrierData
        • tidy3d.SteadyEnergyBandData
        • tidy3d.SteadyCapacitanceData
        • tidy3d.SteadyElectricFieldData
        • tidy3d.SteadyCurrentDensityData
        • tidy3d.SteadyChargeResidualData
        • tidy3d.DeviceCharacteristics
        • tidy3d.SteadyConvergenceData
      • tidy3d.HeatSimulation
      • tidy3d.HeatChargeSimulation
      • tidy3d.ChargeConductorMedium
      • tidy3d.ChargeInsulatorMedium
      • tidy3d.SemiconductorMedium
      • tidy3d.ConstantMobilityModel
      • tidy3d.CaugheyThomasMobility
      • tidy3d.MasettiMobility
      • tidy3d.AugerRecombination
      • tidy3d.RadiativeRecombination
      • tidy3d.ShockleyReedHallRecombination
      • tidy3d.FossumCarrierLifetime
      • tidy3d.PalankovskiQuayApproxCarrierLifetime
      • 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.SteadyChargeResidualMonitor
      • tidy3d.SteadyChargeDCAnalysis
      • tidy3d.IsothermalSteadyChargeDCAnalysis
      • tidy3d.SSACAnalysis
      • tidy3d.IsothermalSSACAnalysis
      • tidy3d.ChargeToleranceSpec
      • tidy3d.HeatChargeSimulationData
      • tidy3d.SteadyPotentialData
      • tidy3d.SteadyFreeCarrierData
      • tidy3d.SteadyEnergyBandData
      • tidy3d.SteadyCapacitanceData
      • tidy3d.SteadyElectricFieldData
      • tidy3d.SteadyCurrentDensityData
      • tidy3d.SteadyChargeResidualData
      • tidy3d.DeviceCharacteristics
      • tidy3d.SteadyConvergenceData
    • 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
      • Dipole Emission Study Plugin
        • tidy3d.plugins.dipole_emission.EmissionAnalysisRegion
        • tidy3d.plugins.dipole_emission.DipoleEmissionStudy
        • tidy3d.plugins.dipole_emission.DipoleEmissionStudyData
        • tidy3d.plugins.dipole_emission.DipoleEmissionStudyDataArray
        • tidy3d.plugins.dipole_emission.DipoleEmissionStudyPositionDataArray
        • tidy3d.SphericalAngleDataArray
      • 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.optimizers.Adam
        • tidy3d.plugins.autograd.optimizers.adam
        • tidy3d.plugins.autograd.optimizers.apply_updates
        • tidy3d.plugins.autograd.optimizers.optimize
        • 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.GaussianFilter
        • tidy3d.plugins.autograd.invdes.grey_indicator
        • tidy3d.plugins.autograd.invdes.initialize_params_from_simulation
        • 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.make_gaussian_filter
        • tidy3d.plugins.autograd.invdes.ramp_projection
        • tidy3d.plugins.autograd.invdes.smoothed_projection
        • tidy3d.plugins.autograd.invdes.symmetrize_diagonal
        • tidy3d.plugins.autograd.invdes.symmetrize_mirror
        • tidy3d.plugins.autograd.invdes.symmetrize_rotation
        • tidy3d.plugins.autograd.invdes.tanh_projection
      • PyTorch Wrapper
      • 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
    • SPICE 🔌
      • tidy3d.SSACVoltageSource
      • tidy3d.DCVoltageSource
      • tidy3d.GroundVoltage
      • tidy3d.DCCurrentSource
    • 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.STEFAN_BOLTZMANN
      • 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.STERADIAN
      • 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.COULOMB
      • 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
  • Changelog ⏪
  • About our Solver
  • Troubleshooting 🛠️
  • Repository
  • Open issue
  • .rst

Boundary Conditions

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?
  • What is The Difference Between Periodic and Bloch Boundaries?

previous

What are the Hidden Files in the Python Web Notebook?

next

Which types of boundary conditions are available in Tidy3D?

By Flexcompute

© Copyright Flexcompute 2020-2026.