Options
Python for plasma physics
Author
Shih, Chih Chuan
Supervisor
Lee, Paul Choon Keat
Abstract
Plasma Physics has a rich history in scientific computing. However, in recent years Plasma Physics has become slower in adopting new computing technologies which enables more collaborative work and more extensive engagement of the wider community (i.e. beyond computational physicists). I believe promoting the programming language Python can be a good start to turn this around.
The history of Python is steeped in scientific computing, particular concerning Physics. Unlike more established platforms such as C/C++, Python’s focus has always been A) Readable codes and rapid ideas-to-code B) Easy to integrate, even with non-Python modules. In many ways, Python is the ideal platform for scientists who needs to leverage computational tools but wants to retain a focus on science.
To back up my claim, I took an established Plasma Physics Simulation Code: The reference implementation for Lee 5-phase model for Plasma Focus and adapted it to pure Python running on Jupyter (pyLMP). Through this exercise, I was able to demonstrate how my choice of implementation platform provided a swathe of new functionalities and opens up new opportunities.
pyLMP can do everything the reference implementation could do, and many that the reference implementation could not. For example, pyLMP allows for third party integration in ways that weren’t possible in the reference implementation. Unlike the reference implementation, pyLMP is not tethered to any particular operating system or hardware platform, pyLMP allows for execution flow not thinkable in the reference implementation, pyLMP can work as an interactive teaching tool whereas the reference implementation is just a rigid “black box”.
In short, I have shown what embracing Python can do for the plasma physics community, and I am certain that we can experience similar effects should we work on other projects pyLMP is freely available for download at this URL https://github.com/shihccgis/plasma/blob/master/pyLMP.ipynb
The history of Python is steeped in scientific computing, particular concerning Physics. Unlike more established platforms such as C/C++, Python’s focus has always been A) Readable codes and rapid ideas-to-code B) Easy to integrate, even with non-Python modules. In many ways, Python is the ideal platform for scientists who needs to leverage computational tools but wants to retain a focus on science.
To back up my claim, I took an established Plasma Physics Simulation Code: The reference implementation for Lee 5-phase model for Plasma Focus and adapted it to pure Python running on Jupyter (pyLMP). Through this exercise, I was able to demonstrate how my choice of implementation platform provided a swathe of new functionalities and opens up new opportunities.
pyLMP can do everything the reference implementation could do, and many that the reference implementation could not. For example, pyLMP allows for third party integration in ways that weren’t possible in the reference implementation. Unlike the reference implementation, pyLMP is not tethered to any particular operating system or hardware platform, pyLMP allows for execution flow not thinkable in the reference implementation, pyLMP can work as an interactive teaching tool whereas the reference implementation is just a rigid “black box”.
In short, I have shown what embracing Python can do for the plasma physics community, and I am certain that we can experience similar effects should we work on other projects pyLMP is freely available for download at this URL https://github.com/shihccgis/plasma/blob/master/pyLMP.ipynb
Date Issued
2021
Call Number
QC718 Shi
Date Submitted
2021