pygamd


Namepygamd JSON
Version 1.4.6 PyPI version JSON
download
home_pagehttps://github.com/ylzhu/pygamd.py
SummaryPython GPU-Accelerated Molecular Dynamics Software
upload_time2024-04-17 12:53:34
maintainerNone
docs_urlNone
authorYou-Liang Zhu
requires_python>=3
licenseGNU General Public License v3 (GPLv3)
keywords molecular dynamics
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            PYGAMD: Python GPU-Accelerated Molecular Dynamics Software
==========================================================

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

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 <https://pygamd.com>`__ Online
manual could be read here:
`https://pygamd-v1.readthedocs.io/en/latest/ <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 <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 <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/ <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)

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/ylzhu/pygamd.py",
    "name": "pygamd",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3",
    "maintainer_email": null,
    "keywords": "molecular dynamics",
    "author": "You-Liang Zhu",
    "author_email": "ylzhu@pygamd.com",
    "download_url": "https://files.pythonhosted.org/packages/45/e0/e7f0db32d507a4dba7b6a025cda424ca8b3197e13962e5006c69dd3d4403/pygamd-1.4.6.tar.gz",
    "platform": null,
    "description": "PYGAMD: Python GPU-Accelerated Molecular Dynamics Software\r\n==========================================================\r\n\r\nVersion 1\r\n---------\r\n\r\nCopyright: Lu group\r\n-------------------\r\n\r\nMolecular dynamics is an essential tool in the scientific research on\r\ncolloids, polymers, biomolecules, and etc. ``PYGAMD`` is a platform\r\nbased on Python3 Numba where users can define their models and methods\r\nby themselves. The simulation models could be ranging from all-atom to\r\ncoarse-grained scales.\r\n\r\nInstallation\r\n------------\r\n\r\npygamd:\r\n\r\n::\r\n\r\n   python3 setup.py install\r\n\r\n::\r\n\r\n   pip install pygamd\r\n\r\nInstallation time < half of an hour.\r\n\r\n\r\nRequirements:\r\n~~~~~~~~~~~~~\r\n\r\nOS:       Linux\r\nHardware: NVIDIA GPU, AMD GPU or DCU.\r\n\r\nDependencies\r\n\r\n1. Python3.11 including numba, numpy, and pybind11 packages\r\n2. NVIDIA CUDA Toolkit 12\r\n\r\n\r\nCitation\r\n--------\r\n\r\n::\r\n\r\n   To cite PYGAMD in publications use:\r\n    \r\n   Thanks to Zhongyuan Lu group for providing PYGAMD software in our research work.\r\n\r\nDocumentation\r\n-------------\r\n\r\nOfficial website: `https://pygamd.com <https://pygamd.com>`__ Online\r\nmanual could be read here:\r\n`https://pygamd-v1.readthedocs.io/en/latest/ <https://pygamd-v1.readthedocs.io/en/latest/>`__.\r\nTutorials written by jupyter notebook are given here:\r\n`https://nbviewer.jupyter.org/github/youliangzhu/pygamd-v1/tree/main/tutorials/index.ipynb <https://nbviewer.jupyter.org/github/youliangzhu/pygamd-v1/tree/main/tutorials/index.ipynb>`__.\r\nMore examples could be found here:\r\n`https://github.com/youliangzhu/pygamd-v1/tree/main/examples <https://github.com/youliangzhu/pygamd-v1/tree/main/examples>`__.\r\n\r\nExample: DPD simulation of diblock copolymer\r\n--------------------------------------------\r\n\r\n1 First step: generate configuration\r\n\r\n::\r\n\r\n   from poetry import molgen\r\n\r\n   mol1=molgen.Molecule(10)#particle number\r\n   mol1.setParticleTypes(\"A,A,A,A,A,B,B,B,B,B\")#type\r\n   mol1.setTopology(\"0-1,1-2,2-3,3-4,4-5,5-6,6-7,7-8,8-9\")#topology\r\n   mol1.setBondLength(0.75)#bond length\r\n   mol1.setMass(1.0)#mass\r\n\r\n\r\n   gen=molgen.Generators(20,20,20) # box size in x, y, and z direction\r\n   gen.addMolecule(mol1,2400)#molecule, the number of molecules\r\n   gen.outPutMST(\"A5B5\") #file name\r\n\r\n2 Second step: run simulation\r\n\r\n::\r\n\r\n   import pygamd\r\n       \r\n   mst = pygamd.snapshot.read(\"A5B5.mst\")\r\n   app = pygamd.application.dynamics(info=mst, dt=0.04)\r\n\r\n   fn = pygamd.force.dpd(info=mst, rcut=1.0)\r\n   fn.setParams(type_i=\"A\", type_j=\"A\", alpha=25.0, sigma=3.0)\r\n   fn.setParams(type_i=\"B\", type_j=\"B\", alpha=25.0, sigma=3.0)\r\n   fn.setParams(type_i=\"A\", type_j=\"B\", alpha=40.0, sigma=3.0)\r\n   app.add(fn)\r\n\r\n   fb = pygamd.force.bond(info=mst, func='harmonic')\r\n   fb.setParams(bond_type = 'A-A', param=[4.0, 0.0])# param=[k, r0]\r\n   fb.setParams(bond_type = 'A-B', param=[4.0, 0.0])# param=[k, r0]\r\n   fb.setParams(bond_type = 'B-B', param=[4.0, 0.0])# param=[k, r0]\r\n   app.add(fb)\r\n\r\n   inn = pygamd.integration.gwvv(info=mst, group='all')\r\n   app.add(inn)\r\n\r\n   dm = pygamd.dump.mst(info=mst, group=['A', 'B'], file='p.mst', period=10000)\r\n   app.add(dm)\r\n\r\n   di = pygamd.dump.data(info=mst, group='all', file='data.log', period=100)\r\n   app.add(di)\r\n\r\n   app.run(500000)\r\n\r\n\r\nRuning time < 2 hours.\r\nResults are the snapshots for the transition from disordered structure to a lamellar phase.\r\n\r\nContributing\r\n------------\r\n\r\nWe welcome contributions to PYGAMD. Whether it is reporting a bug,\r\nstarting a discussion by asking a question, or proposing/requesting a\r\nnew feature, please go by creating a new issue here\r\n(`https://github.com/youliangzhu/pygamd-v1/issues/ <https://github.com/youliangzhu/pygamd-v1/issues/>`__)\r\nor writing an email to the author Dr. You-Liang Zhu (Email:\r\nylzhu@pygamd.com) so that we can talk about it. Please note that this\r\nproject is released with a Contributor Code of Conduct. By participating\r\nin this project you agree to abide by its terms.\r\n\r\nLicense\r\n-------\r\n\r\nGNU General Public License v3 (GPLv3)\r\n",
    "bugtrack_url": null,
    "license": "GNU General Public License v3 (GPLv3)",
    "summary": "Python GPU-Accelerated Molecular Dynamics Software",
    "version": "1.4.6",
    "project_urls": {
        "Homepage": "https://github.com/ylzhu/pygamd.py"
    },
    "split_keywords": [
        "molecular",
        "dynamics"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ca94a2eb3f37d6d4213de06a79b62673cc365711c0841e86fbaf755db0012d88",
                "md5": "c1e4e1ffb26bdc270f078b2e3d8eb89b",
                "sha256": "97c1f195c1565c00bd9f7280f1064111be3a1ceaa742b31380354fd248499ce3"
            },
            "downloads": -1,
            "filename": "pygamd-1.4.6-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "c1e4e1ffb26bdc270f078b2e3d8eb89b",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3",
            "size": 49039534,
            "upload_time": "2024-04-17T12:53:28",
            "upload_time_iso_8601": "2024-04-17T12:53:28.686007Z",
            "url": "https://files.pythonhosted.org/packages/ca/94/a2eb3f37d6d4213de06a79b62673cc365711c0841e86fbaf755db0012d88/pygamd-1.4.6-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "45e0e7f0db32d507a4dba7b6a025cda424ca8b3197e13962e5006c69dd3d4403",
                "md5": "4afd5dba90529e39345a41830341d2f0",
                "sha256": "4c2fa347d840a57f2b502b2fdc68dbb88746fd7e29e55873cb5a3d5d07e31fca"
            },
            "downloads": -1,
            "filename": "pygamd-1.4.6.tar.gz",
            "has_sig": false,
            "md5_digest": "4afd5dba90529e39345a41830341d2f0",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3",
            "size": 48408233,
            "upload_time": "2024-04-17T12:53:34",
            "upload_time_iso_8601": "2024-04-17T12:53:34.550597Z",
            "url": "https://files.pythonhosted.org/packages/45/e0/e7f0db32d507a4dba7b6a025cda424ca8b3197e13962e5006c69dd3d4403/pygamd-1.4.6.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-04-17 12:53:34",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "ylzhu",
    "github_project": "pygamd.py",
    "github_not_found": true,
    "lcname": "pygamd"
}
        
Elapsed time: 4.21299s