https://github.com/lumol-org/lumol

Universal extensible molecular simulation engine

https://github.com/lumol-org/lumol

Science Score: 23.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
  • Academic publication links
  • Committers with academic emails
    3 of 10 committers (30.0%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (17.5%) to scientific vocabulary

Keywords

atomistic-simulations computational-chemistry molecular-dynamics molecular-simulation monte-carlo
Last synced: 9 months ago · JSON representation

Repository

Universal extensible molecular simulation engine

Basic Info
  • Host: GitHub
  • Owner: lumol-org
  • License: bsd-3-clause
  • Language: Rust
  • Default Branch: master
  • Homepage: http://lumol.org/
  • Size: 4.53 MB
Statistics
  • Stars: 199
  • Watchers: 12
  • Forks: 19
  • Open Issues: 43
  • Releases: 0
Topics
atomistic-simulations computational-chemistry molecular-dynamics molecular-simulation monte-carlo
Created about 11 years ago · Last pushed over 2 years ago
Metadata Files
Readme Contributing License Authors

README.md

Lumol molecular simulation engine

Build Status Coverage Documentation Gitter

Lumol is a classical molecular simulation engine that provides a solid base for developing new algorithms and methods. Using Lumol, you can customize the behavior of all the algorithms in a simulation. Adding a new force field, customizing Monte Carlo moves or molecular dynamics integrators is easy and well documented.

Lumol goals are to be flexible, reliable and extensible. For us, this means that this software should be:

  • flexible: the code can simulate all kind of systems, from proteins to crystals, using various methods: molecular dynamics, Monte Carlo, etc.
  • reliable: the code is well tested, both at the function level; and at the simulation level, checking thermodynamic properties of the systems;
  • extendable: the code is modular, object-oriented, well documented, open-source, and easy to read.

Lumol is actively developed, and should be considered as alpha software. If you are interested, have some questions or want to participate, you can open a Github issue or go to the project chat room.

Features

  • Pair, molecular and electrostatic interactions (with Ewald or Wolf methods);
  • Energy minimization;
  • Molecular dynamics simulations in the NVE, NVT and NPT ensembles;
  • Monte Carlo simulations in the NVT ensemble;
  • and many others! Have a look at the documentation for more information

Getting started

Lumol provides both a command line tool for running simulations; and a Rust library for writing your own simulations algorithms using the pre-existing building blocks.

Documentation

Documentation is hosted here, and separated in multiple parts:

  • The user manual contains information about the general concepts of systems and simulations used in Lumol. Additionally, it has tutorials on how to use and extend Lumol. Use this documentation if you want to know basic concepts and how they are used in Lumol.
  • The input reference contains information about - well, the input file system of Lumol. Use this document if you want to use Lumol as a command line tool without writing code.
  • To use Lumol as a library inside your own code, we have a developer documentation, which contains documentation for all the library public functions, and examples for most of them.

Installation as a command line tool

You will need a stable Rust compiler, grab one if you do not have one yet. Then, you can download the code, build it and install it by running:

bash cargo install --git https://github.com/lumol-org/lumol

This will produce the a lumol binary in ~/.cargo/bin.

Usage as a library

You can add Lumol as a dependency in your project's Cargo.toml:

toml [dependencies] lumol = {git = "https://github.com/lumol-org/lumol"}

A tutorial about how to implement new algorithms in Lumol is coming. While waiting, you can ask your questions here.

Contributing

If you want to contribute to Lumol, there are several ways to go: improving the documentation and helping with language issues; testing the code on your systems to find bugs; adding new algorithms and potentials; providing feature requests. Please come by and talk with us a bit before staring new work, or open an issue to discuss improvements. We also have recommendations for contributors.

See the AUTHORS file for a list of contributors to the code.

License

This software is licensed under the BSD license, see the LICENSE file for legal text.

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, shall be licensed under the same BSD license, without any additional terms or conditions.

Owner

  • Name: Lumol
  • Login: lumol-org
  • Kind: organization

An extensible molecular simulation engine

GitHub Events

Total
  • Watch event: 15
  • Pull request event: 1
  • Fork event: 3
Last Year
  • Watch event: 15
  • Pull request event: 1
  • Fork event: 3

Committers

Last synced: over 2 years ago

All Time
  • Total Commits: 963
  • Total Committers: 10
  • Avg Commits per committer: 96.3
  • Development Distribution Score (DDS): 0.676
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Guillaume Fraux g****x@c****r 312
Guillaume Fraux g****x@e****r 289
Luthaf l****f@l****r 214
Gernot Bauer b****r@i****e 85
antoinewdg a****r@g****m 55
Gernot Bauer g****5@g****m 3
EloD10 e****0@o****r 2
Guillaume Fraux g****x@e****h 1
Oscar David Arbeláez o****z@a****m 1
kud1ing k****g@u****m 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 9 months ago

All Time
  • Total issues: 33
  • Total pull requests: 70
  • Average time to close issues: over 1 year
  • Average time to close pull requests: about 1 month
  • Total issue authors: 9
  • Total pull request authors: 6
  • Average comments per issue: 3.94
  • Average comments per pull request: 1.76
  • Merged pull requests: 61
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 2
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 0.0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • Luthaf (19)
  • g-bauer (5)
  • antoinewdg (3)
  • droundy (1)
  • azerupi (1)
  • lachlansneff (1)
  • amartyabose (1)
  • vedranmiletic (1)
  • Fariba-Asadi (1)
Pull Request Authors
  • Luthaf (52)
  • g-bauer (10)
  • antoinewdg (3)
  • adamnemecek (2)
  • gjepson (2)
  • kud1ing (1)
Top Labels
Issue Labels
A-System (14) A-User interface (6) A-Performance (5) E-Easy (5) Discussion (3) A-Monte-Carlo (3) A-Documentation (3) E-hard (2) A-Molecular Dynamics (1) A-Tests (1) A-Input (1) bug (1)
Pull Request Labels
A-Monte-Carlo (1) A-Performance (1)

Packages

  • Total packages: 1
  • Total downloads:
    • cargo 2,283 total
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 1
  • Total maintainers: 1
crates.io: lumol

Extensible molecular simulation engine

  • Documentation: https://docs.rs/lumol/
  • License: BSD-2-Clause
  • Latest release: 0.0.0
    published over 9 years ago
  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 2,283 Total
Rankings
Stargazers count: 11.4%
Forks count: 12.2%
Average: 25.9%
Dependent repos count: 29.3%
Dependent packages count: 33.8%
Downloads: 42.9%
Maintainers (1)
Last synced: 9 months ago

Dependencies

Cargo.toml cargo
  • criterion 0.3.3 development
  • env_logger 0.8 development
  • rand 0.8 development
  • rand_xorshift 0.3 development
  • tempfile 3 development
  • backtrace 0.3
  • chrono 0.4
  • clap 2
  • log 0.4
lumol-core/Cargo.toml cargo
  • approx 0.4 development
  • tempfile 3 development
  • bitflags 1
  • chemfiles 0.9
  • lazy_static 1
  • log 0.4
  • log-once 0.3
  • ndarray 0.14
  • num-traits 0.2
  • rayon 1
  • soa_derive 0.10
  • special 0.8
  • thread_local 1
lumol-input/Cargo.toml cargo
  • env_logger 0.8 development
  • rustc-test 0.3 development
  • walkdir 2 development
  • anyhow 1
  • log 0.4
  • log4rs 1
  • toml 0.5
lumol-sim/Cargo.toml cargo
  • approx 0.4 development
  • tempfile 3 development
  • caldyn 0.4
  • log 0.4
  • log-once 0.3
  • num-traits 0.2
  • rand 0.8
  • rand_distr 0.4
  • rand_xorshift 0.3
  • soa_derive 0.8
doc/requirements.txt pypi
  • pygments *
  • pygments-github-lexers *
  • sphinx >1.8.0
  • sphinx_bootstrap_theme *
  • toml *
scripts/requirements.txt pypi
  • click *
  • py-cpuinfo *
  • requests *
tutorials/potential/Cargo.toml cargo