Python GPU-Accelerated Molecular Dynamics Software
Project description
Version 1
Copyright: Lu group
Molecular dynamics is an essential tool in the scientific research on colloids, polymers, biomolecules, and etc. PYGAMD is a platform based on Python3 Numba where users can define their models and methods by themselves. The simulation models could be ranging from all-atom to coarse-grained scales.
Installation
pygamd:
python3 setup.py install
pip install pygamd
Installation time < half of an hour.
Requirements:
OS: Linux Hardware: NVIDIA GPU, AMD GPU or DCU.
Dependencies
Python3.11 including numba, numpy, and pybind11 packages
NVIDIA CUDA Toolkit 12
Citation
To cite PYGAMD in publications use: Thanks to Zhongyuan Lu group for providing PYGAMD software in our research work.
Documentation
Official website: https://pygamd.com Online manual could be read here: https://pygamd-v1.readthedocs.io/en/latest/. Tutorials written by jupyter notebook are given here: https://nbviewer.jupyter.org/github/youliangzhu/pygamd-v1/tree/main/tutorials/index.ipynb. More examples could be found here: https://github.com/youliangzhu/pygamd-v1/tree/main/examples.
Example: DPD simulation of diblock copolymer
1 First step: generate configuration
from poetry import molgen
mol1=molgen.Molecule(10)#particle number
mol1.setParticleTypes("A,A,A,A,A,B,B,B,B,B")#type
mol1.setTopology("0-1,1-2,2-3,3-4,4-5,5-6,6-7,7-8,8-9")#topology
mol1.setBondLength(0.75)#bond length
mol1.setMass(1.0)#mass
gen=molgen.Generators(20,20,20) # box size in x, y, and z direction
gen.addMolecule(mol1,2400)#molecule, the number of molecules
gen.outPutMST("A5B5") #file name
2 Second step: run simulation
import pygamd
mst = pygamd.snapshot.read("A5B5.mst")
app = pygamd.application.dynamics(info=mst, dt=0.04)
fn = pygamd.force.dpd(info=mst, rcut=1.0)
fn.setParams(type_i="A", type_j="A", alpha=25.0, sigma=3.0)
fn.setParams(type_i="B", type_j="B", alpha=25.0, sigma=3.0)
fn.setParams(type_i="A", type_j="B", alpha=40.0, sigma=3.0)
app.add(fn)
fb = pygamd.force.bond(info=mst, func='harmonic')
fb.setParams(bond_type = 'A-A', param=[4.0, 0.0])# param=[k, r0]
fb.setParams(bond_type = 'A-B', param=[4.0, 0.0])# param=[k, r0]
fb.setParams(bond_type = 'B-B', param=[4.0, 0.0])# param=[k, r0]
app.add(fb)
inn = pygamd.integration.gwvv(info=mst, group='all')
app.add(inn)
dm = pygamd.dump.mst(info=mst, group=['A', 'B'], file='p.mst', period=10000)
app.add(dm)
di = pygamd.dump.data(info=mst, group='all', file='data.log', period=100)
app.add(di)
app.run(500000)
Runing time < 2 hours. Results are the snapshots for the transition from disordered structure to a lamellar phase.
Contributing
We welcome contributions to PYGAMD. Whether it is reporting a bug, starting a discussion by asking a question, or proposing/requesting a new feature, please go by creating a new issue here (https://github.com/youliangzhu/pygamd-v1/issues/) or writing an email to the author Dr. You-Liang Zhu (Email: ylzhu@pygamd.com) so that we can talk about it. Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.
License
GNU General Public License v3 (GPLv3)
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pygamd-1.4.8.tar.gz.
File metadata
- Download URL: pygamd-1.4.8.tar.gz
- Upload date:
- Size: 60.0 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d4c51283773ba47aefa4601454581c470734d8cafa77996ed8d3a70195c2f332
|
|
| MD5 |
3af59e56a3c8b65d1db470868858412e
|
|
| BLAKE2b-256 |
c7c1908532ecef70ee992fa5368d21ce39f16b401aa9e9f5b0daf671ef846e89
|
File details
Details for the file pygamd-1.4.8-py3-none-any.whl.
File metadata
- Download URL: pygamd-1.4.8-py3-none-any.whl
- Upload date:
- Size: 60.8 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
25e393eb90944a214e0cf80f3fa0a2883f1f9ade697989ce7ffd1ca979fae45c
|
|
| MD5 |
fb932d233b7b13370f5cc30f8656f846
|
|
| BLAKE2b-256 |
a863ada13ea150fd5a353c30d204b5392cde808d46ce1c5f5f0cacf1312be247
|