ppdyn
Plasma Particle Dynamics (PPDyn), a python code to simulate plasma particles using Molecular Dynamics Algorithm. Numba JIT compiler for Python has been implemented for faster performance. Detailed documentation can be found at https://ppdyn.readthedocs.io/.
Science Score: 67.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 2 DOI reference(s) in README -
✓Academic publication links
Links to: zenodo.org -
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (13.7%) to scientific vocabulary
Keywords
Repository
Plasma Particle Dynamics (PPDyn), a python code to simulate plasma particles using Molecular Dynamics Algorithm. Numba JIT compiler for Python has been implemented for faster performance. Detailed documentation can be found at https://ppdyn.readthedocs.io/.
Basic Info
Statistics
- Stars: 1
- Watchers: 2
- Forks: 1
- Open Issues: 7
- Releases: 2
Topics
Metadata Files
README.md

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.
A detailed documentation can be found at https://ppdyn.readthedocs.io/.
Example:
Problem
Contributors
- Sayan Adhikari, UiO, Norway. @sayanadhikari
- Rupak Mukherjee, PPPL, USA.
- Gaute Holen, UiO, Norway (See separate branch, [dust-exp])
- Rinku Mishra, IPR, India (See separate branch, [dust-void])
Installation
Prerequisites
Procedure
Using Anaconda/Miniconda (Preferred)
First make a clone of the master branch using the following command
shell
git clone https://github.com/sayanadhikari/PPDyn.git
Then enter inside the PPDyn directory
shell
cd PPDyn
Now create a conda environment using the given environment.yml file
shell
conda env create -f environment.yml
Activate the conda environment
shell
conda activate ppdyn
Usage
Upon successful compilation, run the code using following command
shell
python ppdyn.py -i input.ini
Using PyPI
bash
pip install PPDyn
Usage
Download the input template to your working directory
shell
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
```python
from PPDyn import ppdyn
from PPDyn.ppdplot import animate
import time
start = time.time() ppdyn(input) end = time.time() print("Elapsed (after compilation) = %s"%(end - start)+" seconds") animate() ```
Using GNU Make
First make a clone of the master branch using the following command
shell
git clone https://github.com/sayanadhikari/PPDyn.git
Then enter inside the PPDyn directory
shell
cd PPDyn
Now complile and built the PPDyn code
shell
make all
Usage
Upon successful compilation, run the code using following command
shell
ppdyn -i input.ini
Parameter Setup
Edit the input.ini and run the code again. The basic structure of input.ini is provided below, ```ini ; ; @file input.ini ; @brief PPDyn inputfile. ; ;scope = default
[simbox] Lx = 15.0 ; System length in X Ly = 15.0 ; System length in Y Lz = 20.0 ; System length in Z
[particles] N = 1000 ; 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.1 ; dist = True ; Use distribution: True mean = 1 ; if dist = True stdDev = 0.2 ; if dist = True
[screening] k = 0.0
[gravity] g_0= 0.0063; Reduced Earth's gravity
[cutoff radius] rc = 1e-5
[boundary] btype = mixed ; Type of boundary Options: periodic, reflecting, mixed
[time] tmax = 10.0 ; Final time dt = 0.010 ; time step size
[diagnostics] dumpPeriod = 5 ; Data dump period dumpData = True vtkData = True realTime = False
[directory] dataDir = data #put runname here
[options] parallelMode = True ;True ;set to false to disable parallel ```
Visualization
For visualization, user either can use the python scripts available inside scripts directory or can write their own. After successful run the data will be available under data directory. Two different data formats are available at present. The complete dataset will available under the name particle.hdf5. For vtk visualization users can use .vtu files inside data/vtkdata. Paraview can be used to animate particle dynamics very easily. A sample video can be found here.
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.
Owner
- Name: Sayan Adhikari
- Login: sayanadhikari
- Kind: user
- Location: Oslo, Norway
- Company: University of Oslo
- Website: https://sayanadhikari.github.io
- Twitter: sayanadhikari
- Repositories: 6
- Profile: https://github.com/sayanadhikari
Computational Plasma Physicist
Citation (CITATION.cff)
cff-version: 1.2.0 message: "If you use this software, please cite it as below." authors: - family-names: "Adhikari" given-names: "Sayan" orcid: "https://orcid.org/0000-0002-9316-3292" - family-names: "Mukherjee" given-names: "Rupak" orcid: "https://orcid.org/0000-0003-3955-7116" - family-names: "Mishra" given-names: "Rinku" orcid: "https://orcid.org/0000-0002-2426-9894" - family-names: "Paul" given-names: "Rupali" orcid: "https://orcid.org/0000-0002-4492-5553" title: "PPDyn" version: 1.0.0 doi: 10.5281/zenodo.1234 date-released: 2021-09-01 url: "https://github.com/sayanadhikari/PPDyn"
GitHub Events
Total
- Watch event: 1
- Push event: 1
- Create event: 1
Last Year
- Watch event: 1
- Push event: 1
- Create event: 1
Committers
Last synced: almost 2 years ago
Top Committers
| Name | Commits | |
|---|---|---|
| Sayan Adhikari | s****7@g****m | 140 |
| Rupak Mukherjee | r****1@g****m | 11 |
| rupali-paul | r****2@g****m | 9 |
| Rinku Mishra | a****3@g****m | 1 |
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 20
- Total pull requests: 11
- Average time to close issues: 26 days
- Average time to close pull requests: 2 minutes
- Total issue authors: 2
- Total pull request authors: 2
- Average comments per issue: 0.0
- Average comments per pull request: 0.0
- Merged pull requests: 11
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- sayanadhikari (16)
- RupakMukherjee (4)
Pull Request Authors
- sayanadhikari (10)
- rinku-mishra (1)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- pypi 35 last-month
- Total dependent packages: 0
- Total dependent repositories: 1
- Total versions: 20
- Total maintainers: 2
pypi.org: ppdyn
A python package to simulate plasma particles using Molecular Dynamics Algorithm.
- Homepage: https://github.com/sayanadhikari/PPDyn
- Documentation: https://ppdyn.readthedocs.io/
- License: MIT
-
Latest release: 1.0.8
published over 4 years ago
Rankings
Maintainers (2)
Dependencies
- argparse *
- h5py *
- ini-parser *
- matplotlib *
- numba *
- numpy *
- pyevtk *
- scipy *
- dash *
- h5py *
- ini-parser *
- matplotlib *
- numba *
- numpy *
- pandas *
- plotly *
- scipy *
- actions/checkout v2 composite
- actions/checkout v2 composite
- actions/setup-python v2 composite
- argparse *
- h5py *
- ini-parser *
- matplotlib *
- numba *
- pyevtk *
- scipy *
- seaborn *
- tasktimer *
<!--