Skip to content

1. User Guide

Tyler Hughes edited this page Dec 16, 2021 · 2 revisions

This is the typical workflow of a Tidy3d project

Defining Simulation

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.

Tidy3d Components

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.

Plugins

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.

Running Simulation

Requirements

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.

Python API

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:

  1. Upload Simulation object to server with some metadata, which is then referred to as a 'task'.
  2. Tell the server to start running the task.
  3. Monitor task progress.
  4. Download data, as specified by the monitors.
  5. Load the data into a local SimulationData object, which can be queried, plotted, or post-processed.

Web Interface

A web interface is available for visualizing, managing, and organizing your current and previous tasks.

Clone this wiki locally