-
Notifications
You must be signed in to change notification settings - Fork 63
1. User Guide
This is the typical workflow of a Tidy3d project
All of the details of the FDTD simulation are contained in the tidy3d.Simulation
object.
As such, the first step of any project is to define this object using the tools provided in this package.
Apart from general simulation parameters, the main components used to define the Simulation
are
-
tidy3d.Structure
objects, which define the geometry of objects in your simulation, as well as their material properties. -
tidy3d.Source
objects, which define the current distributions that give rise to electromagnetic fields of the simulation. -
tidy3d.Monitor
objects, which define how data from the simulation is measured and stored.
While these components can be defined programmatically, we provide various plugins to help users with more complicated aspects of defining these components, such as
- A library of commonly used dispersive materials ready to be used in the Simulation.
- Fitting dispersive optical data to create customized materials.
- Mode solving tool for creating modal sources and monitors.
While anyone can define a Tidy3D simulation through this python API, to run a simulation on our servers requires a Tidy3D account and credits. For more details on signing up, see this link.
Because all simulations must be run on our remote servers, we provide an API for uploading, managing, and downloading your simulations.
A set of tidy3d.web
provides a set of functions for granular control of tasks, but we also provide tidy3d.web.Job
and tidy3d.web.Batch
interfaces for more convenient handling of single or multiple jobs.
The basic steps for running any simulation are:
- Upload
Simulation
object to server with some metadata, which is then referred to as a 'task'. - Tell the server to start running the task.
- Monitor task progress.
- Download data, as specified by the monitors.
- Load the data into a local
SimulationData
object, which can be queried, plotted, or post-processed.
A web interface is available for visualizing, managing, and organizing your current and previous tasks.
Visit the Tidy3D documentation for more details.