A fast FDTD solver
Project description
Tidy3D
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
After signing in and navigating to the account page by clicking the "user" icon on the left-hand side, copy the API key from the button on the right-hand side of the page.
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.
Note that Windows users must run the following instead (ideally in an anaconda prompt):
pip install pipx
pipx run tidy3d configure
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_APIKEY
environment variable to your API key (in quotes).
export SIMCLOUD_APIKEY="{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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file tidy3d-beta-1.10.0.tar.gz
.
File metadata
- Download URL: tidy3d-beta-1.10.0.tar.gz
- Upload date:
- Size: 505.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6275a72555e5bed53b91d0d7e442e6ed42745645c81d0af67408f6c624821322 |
|
MD5 | ae263ecae21aecb20cfaeea3bba4a9fd |
|
BLAKE2b-256 | b9deaa9bec66181bef423a9ec936aac6dcc4a091f1433d5aa0a8de18f5590055 |
File details
Details for the file tidy3d_beta-1.10.0-py3-none-any.whl
.
File metadata
- Download URL: tidy3d_beta-1.10.0-py3-none-any.whl
- Upload date:
- Size: 557.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2c40567766b1a4898e0ea3424ed8f9e2a08df3271dc6cec82566c6915e6bb2b6 |
|
MD5 | bc7776ab93326dcc716eec596d99bfe9 |
|
BLAKE2b-256 | bf35501526f9ca1ee9c99f3616b287db1146a021db68d183ecf091bc953fcac6 |