Skip to main content

Python GPU-Accelerated Molecular Dynamics Software

Project description

Version 1

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

  1. Python3.11 including numba, numpy, and pybind11 packages

  2. 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

pygamd-1.4.8.tar.gz (60.0 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pygamd-1.4.8-py3-none-any.whl (60.8 MB view details)

Uploaded Python 3

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

Hashes for pygamd-1.4.8.tar.gz
Algorithm Hash digest
SHA256 d4c51283773ba47aefa4601454581c470734d8cafa77996ed8d3a70195c2f332
MD5 3af59e56a3c8b65d1db470868858412e
BLAKE2b-256 c7c1908532ecef70ee992fa5368d21ce39f16b401aa9e9f5b0daf671ef846e89

See more details on using hashes here.

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

Hashes for pygamd-1.4.8-py3-none-any.whl
Algorithm Hash digest
SHA256 25e393eb90944a214e0cf80f3fa0a2883f1f9ade697989ce7ffd1ca979fae45c
MD5 fb932d233b7b13370f5cc30f8656f846
BLAKE2b-256 a863ada13ea150fd5a353c30d204b5392cde808d46ce1c5f5f0cacf1312be247

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page