Repository navigation
Closed as not planned
Labels
StaleDormant issues & PRs which will be automatically closed if the label is not removed.Dormant issues & PRs which will be automatically closed if the label is not removed.effort: very highRequiring ≳2 weeks. Can this be split up into multiple smaller/focused issues?Requiring ≳2 weeks. Can this be split up into multiple smaller/focused issues?plasmapy.formularyRelated to the plasmapy.formulary subpackageRelated to the plasmapy.formulary subpackage
Description
One possibility for future development in PlasmaPy is adding basic simulation capabilities. At first, the codes can be simple (e.g., 2D resistive MHD on a rectangular grid using finite differences and a straightforward time-advance). Later, the project could include more sophisticated options and numerical methods (finite element, spectral element, finite volume, etc.). Some thoughts on 2D MHD simulation capabilities are:
- The code should be easy to set up and use so that it can be used for educational purposes
- The code should be extremely well documented, with unit tests and test cases
- The output should be in a standard format, probably HDF5
- Following best practices for scientific computing, the code should work before it is optimized. Possibilities for optimization include:
- Using numpy arrays and cython/numba
- Developing it in Fortran or C/C++
- When figuring out how to develop this, we should keep in mind possibilities for longer-term development
- Related possibilities for development include
- A basic 2D particle-in-cell code for kinetic simulations
- Reduced MHD simulation capabilities
Metadata
Metadata
Assignees
Labels
StaleDormant issues & PRs which will be automatically closed if the label is not removed.Dormant issues & PRs which will be automatically closed if the label is not removed.effort: very highRequiring ≳2 weeks. Can this be split up into multiple smaller/focused issues?Requiring ≳2 weeks. Can this be split up into multiple smaller/focused issues?plasmapy.formularyRelated to the plasmapy.formulary subpackageRelated to the plasmapy.formulary subpackage
Activity
SolarDrew commentedon May 15, 2017
I have a lot of previous work I can put towards this, which I'm porting onto my fork in bits when I have time, so I've assigned myself to this for now.
namurphy commentedon May 15, 2017
Thank you! In terms of the interface, I've been thinking a lot a lot about Dedalus which is a flexible spectral code in Python/Cython and seems to be really intuitive. I'm really impressed with their problem file for 3D Rayleigh-Benard convection which is really readable and only 147 lines long including comments and docstrings! Likewise, one of the things I would really like for us is to have the interface be as readable, understandable, and intuitive as possible.
lemmatum commentedon Apr 18, 2018
@namurphy note that "kinetic" and "PIC" are actually two different simulation methods (though I think they can sometimes be brought together to bear upon a problem).
Somewhat useful wikipedia page
lemmatum commentedon Apr 18, 2018
Also perhaps we can take some inspiration from and compete with FLASH
github-actions commentedon Jul 6, 2024
This issue will be closed in 90 days due to five years of inactivity unless the stale label or comment is removed.
github-actions commentedon Oct 5, 2024
This issue was closed because it has had no activity for five years.