gvec


Namegvec JSON
Version 1.0.2 PyPI version JSON
download
home_pageNone
SummaryGalerkin Variational Equilibrium Code
upload_time2025-03-18 10:25:45
maintainerNone
docs_urlNone
authorFlorian Hindenlang, Tiago Tamissa Ribeiro, Robert Babin
requires_python>=3.10
licenseMIT License Copyright (c) 2025 GVEC Contributors, Max Planck Institute for Plasma Physics Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the " Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice (including the next paragraph) shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
keywords plasma mhd equilibrium
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # GVEC - 3D MHD Equilibrium Solver

[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.15026781.svg)](https://doi.org/10.5281/zenodo.15026781)
[![License](https://img.shields.io/badge/license-MIT-green)](./LICENSE.txt)
[![PyPI](https://img.shields.io/pypi/v/gvec)](https://pypi.org/project/gvec/)
[![python-version](https://img.shields.io/pypi/pyversions/gvec)](https://pypi.org/project/gvec)

## Overview

GVEC (Galerkin Variational Equilibrium Code) is an open-source software for
the generation of three-dimensional ideal magnetohydrodynamic (MHD) equilibria.

The main features of GVEC are:

* The equilibrium is found by **minimizing the MHD energy** under the assumption of closed nested flux surfaces. This approach is based on [VMEC](https://princetonuniversity.github.io/STELLOPT/VMEC) (Hirshman & Whitson, 1983).
* The equilibrium is found with a **fixed plasma boundary shape** and given radial profiles (rotational transform and pressure).
* **High Order B-spline** discretization in the radial direction with **a smooth representation** at the magnetic axis.
* **Double-angle Fourier** representation in the poloidal and toroidal direction of the flux surfaces, with different resolutions for each solution variable $X^1,X^2,\lambda$. Stellarator symmetry may be explicitly imposed.
* **Flexible choice of the mapping** between the logical and cartesian space $\left(X^1,X^2,\zeta\right) \mapsto \left(x,y,z\right)$
  to find equilibria in complex-shaped domains (magnetic islands, knotted domains...).

GVEC is being developed in the department of **Numerical Methods in Plasma Physics (NMPP)**
led by Prof. Eric Sonnendruecker at the Max Planck Institute for Plasma Physics
in Garching, Germany.

The list of contributors is found in [CONTRIBUTORS.md](CONTRIBUTORS.md).
Outside contributions are always welcome!

## Documentation

 * [user and developer documentation](https://gvec-group.pages.mpcdf.de/gvec) built with *sphinx*
   * [Installation](https://gvec-group.pages.mpcdf.de/gvec/user/install.html)
   * [Getting Started](https://gvec-group.pages.mpcdf.de/gvec/user/getting-started.html)
   * [Theoretical considerations](https://gvec-group.pages.mpcdf.de/gvec/user/theory.html)
 * auto-generated [fortran code documentation](https://gvec-group.pages.mpcdf.de/gvec/ford/index.html) built with [FORD](https://forddocs.readthedocs.io/en/latest/)

## Installation & Getting started

GVEC is available on [PyPI](https://pypi.org/project/gvec/):
```bash
pip install gvec
```

For required libraries, other installation methods and more details see the documentation on [Installation](https://gvec-group.pages.mpcdf.de/gvec/user/install.html) and [Getting Started](https://gvec-group.pages.mpcdf.de/gvec/user/getting-started.html).

## Reporting Bugs & Contributing to GVEC

Please report any bugs you find on the [Issue tracker](https://gitlab.mpcdf.mpg.de/gvec-group/gvec/-/issues).

Contributions are always welcome, best get into contact directly with the maintainers.
Also see the relevant [documentation](https://gvec-group.pages.mpcdf.de/gvec/user/index.html).

## License

GVEC is released under the terms of the [MIT License](https://spdx.org/licenses/MIT.html).
For the full license terms see the included [LICENSE.txt](LICENSE.txt) file.

Copyright (c) 2025 GVEC Contributors, Max Planck Institute for Plasma Physics

Parts of this software are licensed differently:
* `src/base/bsplines/` is part of [SeLaLib](https://github.com/selalib/selalib/) and licensed with `CECILL-B`.
* `src/mod_timings.f90` & `src/perf2timings.f90` are wrappers for the [ftimings](https://gitlab.mpcdf.mpg.de/loh/ftimings) library, licensed with `LGPL-3.0-only`.
* `src/globals/cla.f90` is [CLAF90](https://ingria.ceoas.oregonstate.edu/fossil/CLAF90) licensed with a modified `MIT` license.

## Citing GVEC

If you use GVEC in your work, please be sure to cite the following Zenodo record:

https://zenodo.org/records/15026781

with the DOI: [`10.5281/zenodo.15026781`](https://doi.org/10.5281/zenodo.15026781)

A bibtex entry is found in [CITATION.bib](CITATION.bib).


## References

This is a list of references in which the GVEC equilibrium solver was utilized:

|   |        |
|----- |------- |
| [HPM25] | Florian Hindenlang, Gabriel G Plunk, and Omar Maj. *Computing MHD equilibria of stellarators with a flexible coordinate frame*. Plasma Physics and Controlled Fusion, 67(4):045002, mar 2025. doi:10.1088/1361-6587/adba11.|
| [PDR+25] | Gabriel G Plunk, Michael Drevlak, Eduardo Rodríguez, Robert Babin, Alan Goodman, and Florian Hindenlang. *Back to the figure-8 stellarator*. Plasma Physics and Controlled Fusion, 67(3):035025, feb 2025. doi:10.1088/1361-6587/adb64b.|
| [PDS+23] | Jonas Puchmayr, Mike G Dunne, Erika Strumberger, Matthias Willensdorfer, Hartmut Zohm, and Florian Hindenlang. *Helical mode localization and mode locking of ideal MHD instabilities in magnetically perturbed tokamak plasmas*. Nuclear Fusion, 2023. |
| [MND+20] | *Maurice Maurer, A Banon Navarro, Tilman Dannert, Marco Restelli, Florian Hindenlang, Tobias Goerler, Daniel Told, Denis Jarema, Gabriele Merlo, and Frank Jenko*. GENE-3D: a global gyrokinetic turbulence code for stellarators. Journal of Computational Physics, 420:109694, 2020.|
| [NRH+22] | Nikita Nikulsin, Rohan Ramasamy, Matthias Hoelzl, Florian Hindenlang, Erika Strumberger, Karl Lackner, Sibylle Guenter, JOREK Team, and others. *JOREK3D: an extension of the JOREK nonlinear MHD code to stellarators*. Physics of Plasmas, 2022.|
| [NMP+20] | A Banon Navarro, G Merlo, G G Plunk, P Xanthopoulos, A Von Stechow, A Di Siena, M Maurer, F Hindenlang, F Wilms, and F Jenko. *Global gyrokinetic simulations of ITG turbulence in the magnetic configuration space of the Wendelstein 7-X stellarator*. Plasma Physics and Controlled Fusion, 62(10):105005, 2020.|
| [WNM+21] | Felix Wilms, Alejandro Bañón Navarro, Gabriele Merlo, Leonhard Leppin, Tobias Görler, Tilman Dannert, Florian Hindenlang, and Frank Jenko. *Global electromagnetic turbulence simulations of W7-X-like plasmas with GENE-3D*. Journal of Plasma Physics, 87(6):905870604, 2021. |

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "gvec",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": "Florian Hindenlang <florian.hindenlang@ipp.mpg.de>, Robert Babin <robert.babin@ipp.mpg.de>",
    "keywords": "plasma, mhd, equilibrium",
    "author": "Florian Hindenlang, Tiago Tamissa Ribeiro, Robert Babin",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/96/fd/1c4c444da1598d2041b94f0c0e20e96fd8a4700094a8920b2675e07ca067/gvec-1.0.2.tar.gz",
    "platform": null,
    "description": "# GVEC - 3D MHD Equilibrium Solver\n\n[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.15026781.svg)](https://doi.org/10.5281/zenodo.15026781)\n[![License](https://img.shields.io/badge/license-MIT-green)](./LICENSE.txt)\n[![PyPI](https://img.shields.io/pypi/v/gvec)](https://pypi.org/project/gvec/)\n[![python-version](https://img.shields.io/pypi/pyversions/gvec)](https://pypi.org/project/gvec)\n\n## Overview\n\nGVEC (Galerkin Variational Equilibrium Code) is an open-source software for\nthe generation of three-dimensional ideal magnetohydrodynamic (MHD) equilibria.\n\nThe main features of GVEC are:\n\n* The equilibrium is found by **minimizing the MHD energy** under the assumption of closed nested flux surfaces. This approach is based on [VMEC](https://princetonuniversity.github.io/STELLOPT/VMEC) (Hirshman & Whitson, 1983).\n* The equilibrium is found with a **fixed plasma boundary shape** and given radial profiles (rotational transform and pressure).\n* **High Order B-spline** discretization in the radial direction with **a smooth representation** at the magnetic axis.\n* **Double-angle Fourier** representation in the poloidal and toroidal direction of the flux surfaces, with different resolutions for each solution variable $X^1,X^2,\\lambda$. Stellarator symmetry may be explicitly imposed.\n* **Flexible choice of the mapping** between the logical and cartesian space $\\left(X^1,X^2,\\zeta\\right) \\mapsto \\left(x,y,z\\right)$\n  to find equilibria in complex-shaped domains (magnetic islands, knotted domains...).\n\nGVEC is being developed in the department of **Numerical Methods in Plasma Physics (NMPP)**\nled by Prof. Eric Sonnendruecker at the Max Planck Institute for Plasma Physics\nin Garching, Germany.\n\nThe list of contributors is found in [CONTRIBUTORS.md](CONTRIBUTORS.md).\nOutside contributions are always welcome!\n\n## Documentation\n\n * [user and developer documentation](https://gvec-group.pages.mpcdf.de/gvec) built with *sphinx*\n   * [Installation](https://gvec-group.pages.mpcdf.de/gvec/user/install.html)\n   * [Getting Started](https://gvec-group.pages.mpcdf.de/gvec/user/getting-started.html)\n   * [Theoretical considerations](https://gvec-group.pages.mpcdf.de/gvec/user/theory.html)\n * auto-generated [fortran code documentation](https://gvec-group.pages.mpcdf.de/gvec/ford/index.html) built with [FORD](https://forddocs.readthedocs.io/en/latest/)\n\n## Installation & Getting started\n\nGVEC is available on [PyPI](https://pypi.org/project/gvec/):\n```bash\npip install gvec\n```\n\nFor required libraries, other installation methods and more details see the documentation on [Installation](https://gvec-group.pages.mpcdf.de/gvec/user/install.html) and [Getting Started](https://gvec-group.pages.mpcdf.de/gvec/user/getting-started.html).\n\n## Reporting Bugs & Contributing to GVEC\n\nPlease report any bugs you find on the [Issue tracker](https://gitlab.mpcdf.mpg.de/gvec-group/gvec/-/issues).\n\nContributions are always welcome, best get into contact directly with the maintainers.\nAlso see the relevant [documentation](https://gvec-group.pages.mpcdf.de/gvec/user/index.html).\n\n## License\n\nGVEC is released under the terms of the [MIT License](https://spdx.org/licenses/MIT.html).\nFor the full license terms see the included [LICENSE.txt](LICENSE.txt) file.\n\nCopyright (c) 2025 GVEC Contributors, Max Planck Institute for Plasma Physics\n\nParts of this software are licensed differently:\n* `src/base/bsplines/` is part of [SeLaLib](https://github.com/selalib/selalib/) and licensed with `CECILL-B`.\n* `src/mod_timings.f90` & `src/perf2timings.f90` are wrappers for the [ftimings](https://gitlab.mpcdf.mpg.de/loh/ftimings) library, licensed with `LGPL-3.0-only`.\n* `src/globals/cla.f90` is [CLAF90](https://ingria.ceoas.oregonstate.edu/fossil/CLAF90) licensed with a modified `MIT` license.\n\n## Citing GVEC\n\nIf you use GVEC in your work, please be sure to cite the following Zenodo record:\n\nhttps://zenodo.org/records/15026781\n\nwith the DOI: [`10.5281/zenodo.15026781`](https://doi.org/10.5281/zenodo.15026781)\n\nA bibtex entry is found in [CITATION.bib](CITATION.bib).\n\n\n## References\n\nThis is a list of references in which the GVEC equilibrium solver was utilized:\n\n|   |        |\n|----- |------- |\n| [HPM25] | Florian Hindenlang, Gabriel G Plunk, and Omar Maj. *Computing MHD equilibria of stellarators with a flexible coordinate frame*. Plasma Physics and Controlled Fusion, 67(4):045002, mar 2025. doi:10.1088/1361-6587/adba11.|\n| [PDR+25] | Gabriel G Plunk, Michael Drevlak, Eduardo Rodr\u00edguez, Robert Babin, Alan Goodman, and Florian Hindenlang. *Back to the figure-8 stellarator*. Plasma Physics and Controlled Fusion, 67(3):035025, feb 2025. doi:10.1088/1361-6587/adb64b.|\n| [PDS+23] | Jonas Puchmayr, Mike G Dunne, Erika Strumberger, Matthias Willensdorfer, Hartmut Zohm, and Florian Hindenlang. *Helical mode localization and mode locking of ideal MHD instabilities in magnetically perturbed tokamak plasmas*. Nuclear Fusion, 2023. |\n| [MND+20] | *Maurice Maurer, A Banon Navarro, Tilman Dannert, Marco Restelli, Florian Hindenlang, Tobias Goerler, Daniel Told, Denis Jarema, Gabriele Merlo, and Frank Jenko*. GENE-3D: a global gyrokinetic turbulence code for stellarators. Journal of Computational Physics, 420:109694, 2020.|\n| [NRH+22] | Nikita Nikulsin, Rohan Ramasamy, Matthias Hoelzl, Florian Hindenlang, Erika Strumberger, Karl Lackner, Sibylle Guenter, JOREK Team, and others. *JOREK3D: an extension of the JOREK nonlinear MHD code to stellarators*. Physics of Plasmas, 2022.|\n| [NMP+20] | A Banon Navarro, G Merlo, G G Plunk, P Xanthopoulos, A Von Stechow, A Di Siena, M Maurer, F Hindenlang, F Wilms, and F Jenko. *Global gyrokinetic simulations of ITG turbulence in the magnetic configuration space of the Wendelstein 7-X stellarator*. Plasma Physics and Controlled Fusion, 62(10):105005, 2020.|\n| [WNM+21] | Felix Wilms, Alejandro Ba\u00f1\u00f3n Navarro, Gabriele Merlo, Leonhard Leppin, Tobias G\u00f6rler, Tilman Dannert, Florian Hindenlang, and Frank Jenko. *Global electromagnetic turbulence simulations of W7-X-like plasmas with GENE-3D*. Journal of Plasma Physics, 87(6):905870604, 2021. |\n",
    "bugtrack_url": null,
    "license": "MIT License\n         \n         Copyright (c) 2025 GVEC Contributors, Max Planck Institute for Plasma Physics\n         \n         Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \" Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n         \n         The above copyright notice and this permission notice (including the next paragraph) shall be included in all copies or substantial portions of the Software.\n         \n         THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n         ",
    "summary": "Galerkin Variational Equilibrium Code",
    "version": "1.0.2",
    "project_urls": {
        "Documentation": "https://gvec-group.pages.mpcdf.de/gvec",
        "Issues": "https://gitlab.mpcdf.mpg.de/gvec-group/gvec/-/issues",
        "Repository": "https://gitlab.mpcdf.mpg.de/gvec-group/gvec"
    },
    "split_keywords": [
        "plasma",
        " mhd",
        " equilibrium"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "96fd1c4c444da1598d2041b94f0c0e20e96fd8a4700094a8920b2675e07ca067",
                "md5": "d9ad4c84618d0abf23290352a1c35251",
                "sha256": "0cbe1956d0470fd981d691dff58be96ac30329d13d2bc04c09c1ec2fb0870f58"
            },
            "downloads": -1,
            "filename": "gvec-1.0.2.tar.gz",
            "has_sig": false,
            "md5_digest": "d9ad4c84618d0abf23290352a1c35251",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 4358111,
            "upload_time": "2025-03-18T10:25:45",
            "upload_time_iso_8601": "2025-03-18T10:25:45.009798Z",
            "url": "https://files.pythonhosted.org/packages/96/fd/1c4c444da1598d2041b94f0c0e20e96fd8a4700094a8920b2675e07ca067/gvec-1.0.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-03-18 10:25:45",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "gvec"
}
        
Elapsed time: 1.78717s