https://github.com/whitead/symd

N-Dimensional MD engine with symmetry group constraints written in C

https://github.com/whitead/symd

Science Score: 46.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
    Found 2 DOI reference(s) in README
  • Academic publication links
    Links to: acs.org
  • Committers with academic emails
    2 of 3 committers (66.7%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (16.1%) to scientific vocabulary

Keywords

c crystallography molecular-dynamics python symmetry
Last synced: 6 months ago · JSON representation

Repository

N-Dimensional MD engine with symmetry group constraints written in C

Basic Info
Statistics
  • Stars: 50
  • Watchers: 2
  • Forks: 6
  • Open Issues: 1
  • Releases: 6
Topics
c crystallography molecular-dynamics python symmetry
Created almost 13 years ago · Last pushed over 1 year ago
Metadata Files
Readme License

README.md

Symmetric Molecular Dynamics Engine

GitHub PyPI version

This is a simple MD engine written in C that can be constrained to obey given symmetry groups at every frame. It can be compiled for any dimension, but scaffolding only exists for 2 and 3D lattices. It supports the following features:

  • NVE, NVT (BAOAB, CSVR thermostats), NPT
  • LJ, harmonic, cosine potentials
  • Neighbor lists (use nlj instead of lj for potential)
  • Symmetry constraints and all Bravais Lattices in 2D/3D

Purpose

https://user-images.githubusercontent.com/908389/162356564-95f35117-e31b-412c-8a3a-c3a92a92ae81.mp4

This is not really intended to be a production-ready simulation engine. Instead, it is a reference implementation of symmetric MD. I hope then the algorithm can be incorporated into other engines, or this engine can be extended, for others to use the algorithm. The Python package (see below) should make implementing the method as easy as possible. With that said, the most important files are box.c and group.c, which contain the key algorithms: fold_particles and the NPT algorithms: make_box, and try_rescale.

Python Package

There is a companion python package (symd) that can be installed via:

sh pip install symd

This does not include the MD engine, but instead includes necessary details to set-up symmetry constraints like getting affine matrices and Bravais lattice tensors.

Docs & Examples

See the docs which includes the python API, examples of running simulations, and shows how the figures from the manuscript were generated.

Compiling

sh mkdir build && cd build cmake .. make && [sudo] make install The executable is symdX where X is the number of spatial dimensions

Dependencies

  • libgsl-dev (GNU Scientific Library headers)
  • CMake

Python Interface

It is recommended to use the python interface, which simplifies building the input files and parsing output files. See the examples in the docs.

Example

An example can be found in the examples/lj-symm-example directory.

Citation

See paper

bibtex @article{cox2022symmetric, author = {Cox, Sam and White, Andrew D.}, title = {Symmetric Molecular Dynamics}, journal = {Journal of Chemical Theory and Computation}, year = {2022}, doi = {10.1021/acs.jctc.2c00401}, }

Owner

  • Name: Andrew White
  • Login: whitead
  • Kind: user
  • Location: Rochester, NY
  • Company: University of Rochester

GitHub Events

Total
  • Watch event: 4
  • Fork event: 1
Last Year
  • Watch event: 4
  • Fork event: 1

Committers

Last synced: almost 3 years ago

All Time
  • Total Commits: 186
  • Total Committers: 3
  • Avg Commits per committer: 62.0
  • Development Distribution Score (DDS): 0.016
Top Committers
Name Email Commits
Andrew White w****w@g****m 183
Sam Cox s****0@u****u 2
Andrew White w****d@u****u 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 6
  • Total pull requests: 23
  • Average time to close issues: 22 days
  • Average time to close pull requests: 1 day
  • Total issue authors: 2
  • Total pull request authors: 2
  • Average comments per issue: 1.5
  • Average comments per pull request: 0.0
  • Merged pull requests: 22
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 1
  • Pull requests: 2
  • Average time to close issues: N/A
  • Average time to close pull requests: 1 day
  • Issue authors: 1
  • Pull request authors: 1
  • Average comments per issue: 0.0
  • Average comments per pull request: 0.0
  • Merged pull requests: 2
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • whitead (5)
  • SamCox822 (1)
Pull Request Authors
  • whitead (22)
  • SamCox822 (3)
Top Labels
Issue Labels
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 52 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 1
  • Total versions: 7
  • Total maintainers: 1
pypi.org: symd

Symmetric Molecular Dynamics

  • Versions: 7
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 52 Last month
Rankings
Stargazers count: 10.1%
Dependent packages count: 10.1%
Forks count: 13.3%
Average: 19.4%
Dependent repos count: 21.6%
Downloads: 42.0%
Maintainers (1)
Last synced: 6 months ago

Dependencies

dev-requirements.txt pypi
  • pre-commit * development
notebooks/requirements.txt pypi
  • cairosvg *
  • matplotlib *
  • pandas *
  • seaborn *
  • skunk *
  • svglib *
python/docs/requirements.in pypi
  • matplotlib *
  • myst-nb *
  • pandas *
  • seaborn *
  • skunk *
  • sphinx *
  • sphinx-rtd-theme *
  • sphinx_autodoc_typehints *
  • svglib *
python/docs/requirements.txt pypi
  • 118 dependencies
python/setup.py pypi
  • numpy *
.github/workflows/build.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
  • pypa/gh-action-pypi-publish master composite
.github/workflows/docs.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
  • peaceiris/actions-gh-pages v3 composite
.github/workflows/test.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite