Skip to main content

A fast FDTD solver

Project description

Tidy3D

Notebooks tests Documentation Status Language grade: Python PyPI version shields.io

Tidy3D is a software product from Flexcompute that enables large scale electromagnetic simulation using the finite-difference time-domain (FDTD) method.

This repository stores the python interface for Tidy3d.

This code allows you to:

  • Programmatically define FDTD simulations.
  • Submit and magange simulations running on Flexcompute's servers.
  • Download and postprocess the results from the simulations.

You can find a detailed documentation and API reference here. The source code for our documentation is here.

Installation

Signing up for tidy3d

Note that while this front end package is open source, to run simulations on Flexcompute servers requires an account with credits. You can sign up here. While it's currently a waitlist for new users, we will be rolling out to many more users in the coming weeks! See this page in our documentation for more details.

Installing the front end

Using pip (recommended)

The easiest way to install tidy3d is through pip.

pip install tidy3d

This will install the latest stable version, to get the a "pre-release" version.

pip install --pre tidy3d

And to get a specific version x.y.z

pip install tidy3d==x.y.z

Installing on Windows

Pre-release 1.9.0rc1 introduces the adjoint plugin, which uses jax for automatic differentiation of tidy3d simulations. As windows users may have trouble installing jax, the recommended approach is to use jax-windows-builder to first install jaxlib before tidy3d.

pip install "jax[cpu]===0.3.14" -f https://whls.blob.core.windows.net/unstable/index.html --use-deprecated legacy-resolver
pip install tidy3d

More details can be found here.

Installing from source

For development purposes, and to get the latest development versions, you can download and install the package from source as:

git clone https://github.com/flexcompute/tidy3d.git
cd tidy3d
pip install -e .

Configuring and authentication

Authentication (linking the front end to your account) will be done via an API key moving forward.

You can find your API key in the web interface http://tidy3d.simulation.cloud

After signing in, copy the API key for the next steps.

To set up the API key to work with Tidy3D, we need to store it either in the ~/.tidy3d/config file or an environment variable.

You can set it up using one of three following options.

Command line (recommended)

tidy3d configure and then enter your API key when prompted.

Manually

For an API key of {your_api_key}, you may run

echo 'apikey = "{your_api_key}"' > ~/.tidy3d/config

or manually insert the line 'apikey = "{your_api_key}" in the ~/.tidy3d/config file.

Environment Variable

Set the SIMCLOUD_API_KEY environment variable to your API key (in quotes).

export SIMCLOUD_API_KEY="{your_api_key}"

Testing the installation and authentication

Front end package

You can verify the front end installation worked by running:

python -c "import tidy3d as td; print(td.__version__)"

and it should print out the version number, for example:

1.0.0

Authentication

To test the web / authentication

python -c "import tidy3d.web"

Issues / Feedback / Bug Reporting

Your feedback helps us immensely!

If you find bugs, file an Issue. For more general discussions, questions, comments, anything else, open a topic in the Discussions Tab.

License

GNU LGPL

Project details


Release history Release notifications | RSS feed

This version

1.9.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tidy3d-1.9.0.tar.gz (467.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tidy3d-1.9.0-py3-none-any.whl (510.4 kB view details)

Uploaded Python 3

File details

Details for the file tidy3d-1.9.0.tar.gz.

File metadata

  • Download URL: tidy3d-1.9.0.tar.gz
  • Upload date:
  • Size: 467.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.9

File hashes

Hashes for tidy3d-1.9.0.tar.gz
Algorithm Hash digest
SHA256 33ba1586d230e420c4ff26db37a7ba5bb3d048fc656ecd944dae33e4f9877d15
MD5 a96973ced4cf6c25cd8f5667a93b2ec3
BLAKE2b-256 bec8971d3445f6788caf1c91eca70a412f46fe50541fe2e8e15d819637803816

See more details on using hashes here.

File details

Details for the file tidy3d-1.9.0-py3-none-any.whl.

File metadata

  • Download URL: tidy3d-1.9.0-py3-none-any.whl
  • Upload date:
  • Size: 510.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.9

File hashes

Hashes for tidy3d-1.9.0-py3-none-any.whl
Algorithm Hash digest
SHA256 70f92ae2183b3a5a55fd471193bd8d3b5db4c85b8837587f22d07a945f460e12
MD5 8b359ca13ba838060a4c2920140f204b
BLAKE2b-256 894a229db10fa20cf006e4ce4360a1ea7dca597253a4bb6edfe631833fcb8f81

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page