A python package to simulate plasma particles using Molecular Dynamics Algorithm.
Project description
PPDyn (Plasma Particle Dynamics)
A python code to simulate plasma particles using Molecular Dynamics Algorithm. Numba JIT compiler for Python has been implemented for faster performance.
Problem
Contributors
- Sayan Adhikari, UiO, Norway. @sayanadhikari
- Rupak Mukherjee, PPPL, USA.
Installation
Prerequisites
Procedure
Using PyPI
pip install PPDyn
Usage
Download the input template to your working directory
wget https://raw.githubusercontent.com/sayanadhikari/PPDyn/main/input.ini
Now, either create a python script in your working directory or use your python console
from PPDyn import ppdyn
from PPDyn.ppdplot import animate
ppdyn(input)
animate()
Using GNU Make
First make a clone of the master branch using the following command
git clone https://github.com/sayanadhikari/PPDyn.git
Then enter inside the PPDyn directory
cd PPDyn
Now complile and built the PPDyn code
make all
Usage
Upon successful compilation, run the code using following command
ppdyn --i input.ini
Parameter Setup
Edit the input.ini and run the code again. The basic structure of input.ini is provided below,
;
; @file input.ini
; @brief PPDyn inputfile.
;
scope = default
[simbox]
Lx = 10.0 ; System length in X
Ly = 10.0 ; System length in Y
Lz = 10.0 ; System length in Z
[particles]
N = 100 ; Number of particles
Vxmax = 1.0 ; Maximum velocity in X
Vymax = 1.0 ; Maximum velocity in Y
Vzmax = 1.0 ; Maximum velocity in Z
Temp = 0.010 ;
[boundary]
btype = periodic ; Type of boundary
[time]
tmax = 50.0 ; Final time
dt = 0.010 ; time step size
[diagnostics]
dumpPeriod = 10 ; Data dump period
dumpData = False
[options]
parallelMode = True ;set to false to disable parallel
Contributing
We welcome contributions to this project.
- Fork it.
- Create your feature branch (
git checkout -b my-new-feature
). - Commit your changes (
git commit -am 'Add some feature'
). - Push to the branch (
git push origin my-new-feature
). - Create new Pull Request.
License
Released under the MIT license.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.