# MEGPy: Magnetic Equilibrium Geometry Python
MEGPy is a package for quick **extraction of (local) equilibrium quantities** and visualisation of 2D magnetic equilibria used in magnetic confinement fusion research.
It offers both a command line interface (CLI) and Python API.
# Getting started
To get MEGPy clone and install the latest version:
```bash
$ git clone git@github.com:gsnoep/megpy.git
$ cd megpy
$ pip install --user -e .
```
To use MEGPy call the CLI:
```bash
$ python -m megpy <file_path> <parameterization> <x_fs>
```
For details on the CLI options:
```bash
$ python -m megpy -h
```
Or use the Python API, of which some examples can be found in /examples/.
Join the repository to contribute or raise issues!
# Supported equilibrium formats
- EQDSK [(g-file)](https://w3.pppl.gov/ntcc/TORAY/G_EQDSK.pdf) from EFIT, ESCO, CHEASE or LIUQE
To be added:
- IMAS equilibrium IDS
# Supported flux-surface geometries
- Miller [(doi)](https://doi.org/10.1063/1.872666)
- Turnbull-Miller [(doi)](https://doi.org/10.1063/1.873380)
- Fourier / generalised Miller [(doi)](https://doi.org/10.1088/0741-3335/51/10/105009)
- Miller eXtended Harmonic (MXH) [(doi)](https://doi.org/10.1088/1361-6587/abc63b)
# Citation
If you use MEGPy in your research, please cite [(bibtex)](https://github.com/gsnoep/megpy/blob/main/citation.bib):
>G. Snoep, J.T.W. Koenders, C. Bourdelle, J. Citrin and JET contributors, "Improved flux-surface parameterization through constrained nonlinear optimization," _Physics of Plasmas_ **30**, 063906 (2023)
.#&%%%-.
<===#%%%%%%%%%%.
?==%%( )%%%%%
)%%%%%%%%%%%%\
)%%%%%%%%%%%..%%%
)%%%%%%%%&.. .\%.
%%%%%%%% &\,. ..\%.
M%%%%%%%...&&%\%%%%%%%%%-
%%%%%. .\%%%%%%%%%%.
%%%.. .\%%%%%%%.
E... .\%%%%%%%-.
&... )%%%%(%%%.
G.. .&). )GS\ \%%%%%%-.
\&)) \&(%^^ \&%%%%%&.
)%% %% \%%%%%%%&.
.&& .% \&\\%%%%\\&..
.%< (\ % \
.::-P-..-& &&-Y&--.
Raw data
{
"_id": null,
"home_page": "https://www.github.com/gsnoep/megpy",
"name": "megpy",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "fusion simulation toolkit",
"author": "Garud Snoep, Aaron Ho",
"author_email": "",
"download_url": "https://files.pythonhosted.org/packages/98/4a/afa4c433fc5f1e47e4c5886f8052c4bf7387d212e1b7085a648c94acafca/megpy-1.2.0.tar.gz",
"platform": null,
"description": "# MEGPy: Magnetic Equilibrium Geometry Python\nMEGPy is a package for quick **extraction of (local) equilibrium quantities** and visualisation of 2D magnetic equilibria used in magnetic confinement fusion research.\nIt offers both a command line interface (CLI) and Python API.\n\n# Getting started\nTo get MEGPy clone and install the latest version:\n```bash\n$ git clone git@github.com:gsnoep/megpy.git\n$ cd megpy\n$ pip install --user -e .\n```\n\nTo use MEGPy call the CLI:\n```bash\n$ python -m megpy <file_path> <parameterization> <x_fs>\n```\nFor details on the CLI options:\n```bash\n$ python -m megpy -h\n```\nOr use the Python API, of which some examples can be found in /examples/.\n\nJoin the repository to contribute or raise issues!\n\n# Supported equilibrium formats\n- EQDSK [(g-file)](https://w3.pppl.gov/ntcc/TORAY/G_EQDSK.pdf) from EFIT, ESCO, CHEASE or LIUQE\n\nTo be added:\n- IMAS equilibrium IDS\n\n# Supported flux-surface geometries\n- Miller [(doi)](https://doi.org/10.1063/1.872666)\n- Turnbull-Miller [(doi)](https://doi.org/10.1063/1.873380)\n- Fourier / generalised Miller [(doi)](https://doi.org/10.1088/0741-3335/51/10/105009)\n- Miller eXtended Harmonic (MXH) [(doi)](https://doi.org/10.1088/1361-6587/abc63b)\n\n# Citation\nIf you use MEGPy in your research, please cite [(bibtex)](https://github.com/gsnoep/megpy/blob/main/citation.bib):\n>G. Snoep, J.T.W. Koenders, C. Bourdelle, J. Citrin and JET contributors, \"Improved flux-surface parameterization through constrained nonlinear optimization,\" _Physics of Plasmas_ **30**, 063906 (2023)\n\n\n .#&%%%-.\n <===#%%%%%%%%%%.\n ?==%%( )%%%%%\n )%%%%%%%%%%%%\\\n )%%%%%%%%%%%..%%%\n )%%%%%%%%&.. .\\%.\n %%%%%%%% &\\,. ..\\%.\n M%%%%%%%...&&%\\%%%%%%%%%-\n %%%%%. .\\%%%%%%%%%%.\n %%%.. .\\%%%%%%%.\n E... .\\%%%%%%%-.\n &... )%%%%(%%%.\n G.. .&). )GS\\ \\%%%%%%-.\n \\&)) \\&(%^^ \\&%%%%%&.\n )%% %% \\%%%%%%%&.\n .&& .% \\&\\\\%%%%\\\\&..\n .%< (\\ % \\\n .::-P-..-& &&-Y&--.\n",
"bugtrack_url": null,
"license": "",
"summary": "MEGPy",
"version": "1.2.0",
"project_urls": {
"Homepage": "https://www.github.com/gsnoep/megpy"
},
"split_keywords": [
"fusion",
"simulation",
"toolkit"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "e542378eeaced4b079ac4bc317c8e3fcab5d24ea31e6034eddc0d45a2f388381",
"md5": "7ce39d79a504346e745ee0ba5ca9a4bf",
"sha256": "d3a4455752899806cb6243501f55d739705e8763b5c5680bf6d8def07e74370b"
},
"downloads": -1,
"filename": "megpy-1.2.0-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "7ce39d79a504346e745ee0ba5ca9a4bf",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 37652,
"upload_time": "2023-10-11T20:30:05",
"upload_time_iso_8601": "2023-10-11T20:30:05.751016Z",
"url": "https://files.pythonhosted.org/packages/e5/42/378eeaced4b079ac4bc317c8e3fcab5d24ea31e6034eddc0d45a2f388381/megpy-1.2.0-py2.py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "984aafa4c433fc5f1e47e4c5886f8052c4bf7387d212e1b7085a648c94acafca",
"md5": "26ca92520c3ddecab4d197de814789a5",
"sha256": "783fff7f75af3d4badb6a1a86461ad5c9f2d974e98f1416e84ece88507cf60b2"
},
"downloads": -1,
"filename": "megpy-1.2.0.tar.gz",
"has_sig": false,
"md5_digest": "26ca92520c3ddecab4d197de814789a5",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 36602,
"upload_time": "2023-10-11T20:30:08",
"upload_time_iso_8601": "2023-10-11T20:30:08.036610Z",
"url": "https://files.pythonhosted.org/packages/98/4a/afa4c433fc5f1e47e4c5886f8052c4bf7387d212e1b7085a648c94acafca/megpy-1.2.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-10-11 20:30:08",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "gsnoep",
"github_project": "megpy",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "megpy"
}