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?
- What is The Difference Between Periodic and Bloch Boundaries?
- 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
- Installation and Help
- 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 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?
- 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
- Resonance Finder
- Scattering Matrix
- 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?
- 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?
- 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?