Skip to main content

Multi-model plasma physics package

Project description

STRUPHY - STRUcture-Preserving HYbrid codes

A Python package for energetic particles in plasma.

The package is developed since 2019 at Max Planck Institute for Plasma Physics in the division NMPP (Numerical Methods for Plasma Physics).

What you can do with struphy

Algorithmic features

  • Particle-in-cell method for kinetic species
  • Discrete differential forms based on high-order B-spline finite elements (Psydac library) for fields/fluids
  • Exact conservation laws
  • Polar splines to treat a polar singularity
  • Kernels are pre-compiled with Pyccel to achieve near-Fortran performance
  • MPI/OpenMP hybrid parallelization

Installation

See the struphy documentation.

Tutorials

  • Turorial 01: Learn about Struphy model's normalization (units), simulation parameters and the Struphy main execution file.

  • Tutorial 02: Learn about the data generated by Struphy simulations, data post processing and simple plotting of field/fluid and kinetic variables.

  • Tutorial 03: Learn about plotting field/fluid variables in toroidal geometry.

Key references

  • F. Holderied, S. Possanner, X. Wang, "MHD-kinetic hybrid code based on structure-preserving finite elements with particles-in-cell", J. Comp. Phys. 433 (2021) 110143

  • F. Holderied, S. Possanner, "Magneto-hydrodynamic eigenvalue solver for axis-symmetric equilibria based on smooth polar splines", J. Comp. Phys. 464 (2022) 111329

  • F. Holderied, "STRUPHY: a structure-preserving hybrid MHD-kinetic code for the interaction of energetic particles with Alfvén waves in magnetized plasmas", PhD thesis (2022)

License

Copyright 2019 (c) Struphy dev team | 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 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.

In addition, we ask you to cite the following reference in scientific publications which contain results obtained with this software and developments:

F. Holderied, S. Possanner, X. Wang, "MHD-kinetic hybrid code based on structure-preserving finite elements with particles-in-cell", J. Comp. Phys. 433 (2021) 110143

Contact

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

struphy-2.0.0.tar.gz (5.0 MB view hashes)

Uploaded Source

Built Distribution

struphy-2.0.0-py3-none-any.whl (5.2 MB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page