https://github.com/loganbvh/py-tdgl
2D time-dependent Ginzburg-Landau in Python
https://github.com/loganbvh/py-tdgl
finite-element-methods ginzburg-landau superconductivity
Last synced: about 2 months ago
JSON representation
2D time-dependent Ginzburg-Landau in Python
- Host: GitHub
- URL: https://github.com/loganbvh/py-tdgl
- Owner: loganbvh
- License: mit
- Created: 2022-09-12T16:06:00.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2025-03-23T14:14:09.000Z (over 1 year ago)
- Last Synced: 2026-01-14T10:37:28.623Z (6 months ago)
- Topics: finite-element-methods, ginzburg-landau, superconductivity
- Language: Python
- Homepage:
- Size: 75.5 MB
- Stars: 52
- Watchers: 3
- Forks: 18
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# pyTDGL

Time-dependent Ginzburg-Landau in Python


[](https://py-tdgl.readthedocs.io/en/latest/?badge=latest)
[](https://codecov.io/gh/loganbvh/py-tdgl)

[](https://github.com/psf/black)
[](https://doi.org/10.5281/zenodo.7613568)
## Motivation
`pyTDGL` solves a 2D generalized time-dependent Ginzburg-Landau (TDGL) equation, enabling simulations of vortex and phase dynamics in thin film superconducting devices.
## Learn `pyTDGL`
The documentation for `pyTDGL` can be found at [py-tdgl.readthedocs.io](https://py-tdgl.readthedocs.io/en/latest/).
## Try `pyTDGL`
Click the badge below to try `pyTDGL` interactively online via [Google Colab](https://colab.research.google.com/):
[](https://colab.research.google.com/github/loganbvh/py-tdgl/blob/main/docs/notebooks/quickstart.ipynb)
## Install `pyTDGL`
`pyTDGL` requires `python` `3.9`, `3.10`, `3.11`, `3.12`, `3.13`, or `3.14`. We recommend installing `pyTDGL` in a [`conda` environment](https://conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html), e.g.
```bash
conda create --name tdgl python="3.12"
conda activate tdgl
```
### Install via `pip`
From [PyPI](https://pypi.org/project/tdgl/), the Python Package index:
```bash
pip install tdgl
```
From this [GitHub repository](https://github.com/loganbvh/py-tdgl/):
```bash
pip install git+https://github.com/loganbvh/py-tdgl.git
```
Editable installation:
```bash
git clone https://github.com/loganbvh/py-tdgl.git
cd py-tdgl
pip install -e ".[dev,docs]"
```
## About `pyTDGL`
### Authors
- Primary author and maintainer: [@loganbvh](https://github.com/loganbvh/).
### Citing `pyTDGL`
`pyTDGL` is described in the following paper:
>*pyTDGL: Time-dependent Ginzburg-Landau in Python*, Computer Physics Communications **291**, 108799 (2023), DOI: [10.1016/j.cpc.2023.108799](https://doi.org/10.1016/j.cpc.2023.108799).
If you use `pyTDGL` in your research, please cite the paper linked above.
% BibTeX citation
@article{
Bishop-Van_Horn2023-wr,
title = "{pyTDGL}: Time-dependent {Ginzburg-Landau} in Python",
author = "Bishop-Van Horn, Logan",
journal = "Comput. Phys. Commun.",
volume = 291,
pages = "108799",
month = may,
year = 2023,
url = "http://dx.doi.org/10.1016/j.cpc.2023.108799",
issn = "0010-4655",
doi = "10.1016/j.cpc.2023.108799"
}
### Acknowledgments
Parts of this package have been adapted from [`SuperDetectorPy`](https://github.com/afsa/super-detector-py), a GitHub repo authored by [Mattias Jönsson](https://github.com/afsa). Both `SuperDetectorPy` and `py-tdgl` are released under the open-source MIT License. If you use either package in an academic publication or similar, please consider citing the following in addition to the `pyTDGL` paper:
- Mattias Jönsson, Theory for superconducting few-photon detectors (Doctoral dissertation), KTH Royal Institute of Technology (2022) ([Link](http://urn.kb.se/resolve?urn=urn:nbn:se:kth:diva-312132))
- Mattias Jönsson, Robert Vedin, Samuel Gyger, James A. Sutton, Stephan Steinhauer, Val Zwiller, Mats Wallin, Jack Lidmar, Current crowding in nanoscale superconductors within the Ginzburg-Landau model, Phys. Rev. Applied 17, 064046 (2022) ([Link](https://journals.aps.org/prapplied/abstract/10.1103/PhysRevApplied.17.064046))
The user interface is adapted from [`SuperScreen`](https://github.com/loganbvh/superscreen).