Skip to main content

Free boundary tokamak plasma equilibrium Grad-Shafranov solver for time evolution

Project description

FreeGS4E: Free-boundary Grad-Shafranov for Evolution

FreeGS4E is a package forked from FreeGS (v0.6.1), which has the capability to solve the static inverse free-boundary Grad-Shafranov problem for plasma equilibria in tokamak devices.

Its intended usage is as an underlying solver for the dynamic (time-dependent) free-boundary equilibrium solver FreeGSNKE.

The addtion and removal of certain features within FreeGS, as well as some performance optimisation, were neccesary to enable this and so FreeGS4E has now diverged significantly from original FreeGS codebase.

Therefore, FreeGS4E is not intended to be a drop in replacement solver for FreeGS but rather is designed for use explicitly within FreeGSNKE.

Installation

Given FreeGS4E is not a standalone equilibrium solver, we recommend following the installation instructions for FreeGSNKE (which will install FreeGS4E automatically).

If you would, however, like to contribute to FreeGS4E directly, please see the installation instructions in the section on contributing below.

Getting started

All of the examples for getting started can be found within the freegsnke/examples directory.

Contributing

We welcome contributions including bug fixes or new feature requests for FreeGS4E, though we would suggest making these via issues on the FreeGSNKE homepage.

If you would, however, like to install FreeGS4E separately for development purposes, clone this repository, and install the package in editable mode with the development dependencies:

git clone git@github.com:FusionComputingLab/freegs4e.git

cd freegs4e

pip install  -e  ".[dev]"

Changes to the main branch must be made via pull request. If you don't have write access to the repository, pull requests through GitHub forks are welcome.

Pre-commit hooks are used to ensure code quality so do make sure you install the following pre-commit hooks and run them prior submitting pull requests:

pre-commit install

License

Copyright 2024 Nicola C. Amorisco, George K. Holt, Adriano Agnello, and other contributors.

FreeGS4E is licensed under the GNU Lesser General Public License version 3. The license text is included in the file LICENSE.

The license text for FreeGS is reproduced below:

Copyright 2016-2021 Ben Dudson, University of York, and other contributors.
Email: benjamin.dudson@york.ac.uk

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.

Project details


Download files

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

Source Distribution

freegs4e-0.7.0.tar.gz (101.2 kB view details)

Uploaded Source

Built Distribution

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

freegs4e-0.7.0-py3-none-any.whl (123.5 kB view details)

Uploaded Python 3

File details

Details for the file freegs4e-0.7.0.tar.gz.

File metadata

  • Download URL: freegs4e-0.7.0.tar.gz
  • Upload date:
  • Size: 101.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for freegs4e-0.7.0.tar.gz
Algorithm Hash digest
SHA256 9f3e37505f63b2a7852eb1dbb9ce7f36c0ff45b5602beccfa9cbc4eb46ee229c
MD5 e0f0295b543007f58bfa4e9bfef07bce
BLAKE2b-256 52fc0624db9497cb685a6fb3be5cb471eac1e65010aaa94846f91bba1bf7ac27

See more details on using hashes here.

File details

Details for the file freegs4e-0.7.0-py3-none-any.whl.

File metadata

  • Download URL: freegs4e-0.7.0-py3-none-any.whl
  • Upload date:
  • Size: 123.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for freegs4e-0.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 eed0008ad0efdbcb007677cd54b339e7d9c49261eb117def2d4989bc2b33303f
MD5 ba9e501120c8454ac94e841ad44e3d5e
BLAKE2b-256 bfd1d8c17f3e4347bc36ff92ed1c121c206fc75ee81c5d24f03abc4074a313ee

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