RNMC

RNMC: kinetic Monte Carlo implementations for complex reaction networks - Published in JOSS (2024)

https://github.com/blaugroup/rnmc

Science Score: 95.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
    Found .zenodo.json file
  • DOI references
    Found 16 DOI reference(s) in README and JOSS metadata
  • Academic publication links
  • Committers with academic emails
    3 of 16 committers (18.8%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software

Scientific Fields

Physics Physical Sciences - 60% confidence
Materials Science Physical Sciences - 40% confidence
Last synced: 4 months ago · JSON representation

Repository

Basic Info
  • Host: GitHub
  • Owner: BlauGroup
  • License: other
  • Language: C++
  • Default Branch: main
  • Size: 185 MB
Statistics
  • Stars: 18
  • Watchers: 3
  • Forks: 9
  • Open Issues: 1
  • Releases: 4
Created about 4 years ago · Last pushed about 1 year ago
Metadata Files
Readme License Codemeta

README.md

Reaction Network Monte Carlo (RNMC) is a collection of programs for Monte Carlo simulation of statistical mechanical systems heavily inspired by SPPARKS. RNMC is designed to run large numbers of simulations of a fixed system in parallel. The project currently consists of four parts: - core : Core code shared by all simulators, for example IO, threading logic, and model independent simulation logic. - GMC : Implementation of Gillespie's next reaction simulator. GMC is able to run simulations of reaction networks with hundreds of millions of reactions, even when the number of species is small. - NPMC : A 3D statistical field theory simulator which supports one and two site interactions. Useful for simulating nano particles. - LGMC : A simulator that can include a static or dynamic lattice region and a homogeneous region and allows electrochemical as well as chemical reactions. Suitable for multi-phase simulations (e.g., heterogeneous catalysis, electrochemical plating or stripping).

Examples of research projects using RNMC: - Spotte-Smith, Kam, et al., ACS Energy Lett. 7(4), 1446–1453 (2022). DOI: 10.1021/acsenergylett.2c00517 - Barter, Spotte-Smith, et al., Dig. Disc. 2, 123-137 (2023). DOI: 10.1039/D2DD00117A - Spotte-Smith et al., J. Am. Chem. Soc. 145(2), 12181–12192 (2023). DOI: 10.1021/jacs.3c02222 - Xia et al., Nano Lett. 23(23), 11129–11136 (2023). DOI: 10.1021/acs.nanolett.3c03568

Documentation

The complete documentation for RNMC can be found here. This includes a guide to installation, setting up simulations, testing, and more.

Dependencies

RNMC depends on GSL for pseudo random number generation and sqlite for the database interfaces.

Contributing/Support

We welcome community contributions to RNMC! Please submit code contributions as pull requests (PRs). Work-in-progress PRs are encouraged; just include "[WIP]" in the title of your PR.

If you don't know where to start, you can check out the open issues or reach out to Sam Blau and describe what ideas you may have in mind.

Have a problem installing or running RNMC, or have an idea for how the code could be better? Need support in using RNMC? Please open a new issue, and label the issue (with e.g., “bug”, “enhancement”, or “question”) so that we can triage appropriately. Issues are preferred over e-mails or other private communications because multiple users might encounter the same problem.

A more complete guide to contributing can be found in our online documentation.

Limitations

In its current form, RNMC only allows reactions with up to two reactants and up to two products. Ternary and other n-ary reactions cannot be included in RNMC simulations, though this would be possible with modest modifications to the code.

Reaction selection in kinetic Monte Carlo simulations can in principle be performed in $O(1)$ time (see Slepoy et al., J. Chem. Phys. 128(205101) (2008). DOI: 10.1063/1.2919546). However, we have not yet implemented this algorithm, and simulations with RNMC are limited to at least $O(log(R))$ scaling, where $R$ is the number of reactions in the network.

Owner

  • Name: BlauGroup
  • Login: BlauGroup
  • Kind: organization
  • Email: smblau@lbl.gov
  • Location: United States of America

JOSS Publication

RNMC: kinetic Monte Carlo implementations for complex reaction networks
Published
December 17, 2024
Volume 9, Issue 104, Page 7244
Authors
Laura Zichi ORCID
Materials Science Division, Lawrence Berkeley National Laboratory, Berkeley, CA, United States of America 94720, Department of Physics, University of Michigan - Ann Arbor, Ann Arbor, MI, United States of America 48109
Daniel Barter ORCID
Energy Storage and Distributed Resources, Lawrence Berkeley National Laboratory, Berkeley, CA United States of America 94720
Eric Sivonxay ORCID
Energy Storage and Distributed Resources, Lawrence Berkeley National Laboratory, Berkeley, CA United States of America 94720
Evan Walter Clark Spotte-Smith ORCID
Materials Science Division, Lawrence Berkeley National Laboratory, Berkeley, CA, United States of America 94720, Department of Materials Science and Engineering, University of California - Berkeley, CA, United States of America 94720
Rohith Srinivaas Mohanakrishnan
Materials Science Division, Lawrence Berkeley National Laboratory, Berkeley, CA, United States of America 94720, Department of Materials Science and Engineering, University of California - Berkeley, CA, United States of America 94720
Emory M. Chan
Molecular Foundry, Lawrence Berkeley National Laboratory, Berkeley, CA, United States of America 94720
Kristin Aslaug Persson
Department of Materials Science and Engineering, University of California - Berkeley, CA, United States of America 94720, Molecular Foundry, Lawrence Berkeley National Laboratory, Berkeley, CA, United States of America 94720
Samuel M. Blau
Energy Storage and Distributed Resources, Lawrence Berkeley National Laboratory, Berkeley, CA United States of America 94720
Editor
Mojtaba Barzegari ORCID
Tags
chemical dynamics kinetic Monte Carlo nanoparticle electrochemistry Gillespie

CodeMeta (codemeta.json)

{
  "@context": "https://raw.githubusercontent.com/codemeta/codemeta/master/codemeta.jsonld",
  "@type": "Code",
  "author": [
    "Laura Zichi",
    "Daniel Barter",
    "Eric Sivonxay",
    "Evan Walter Clark Spotte-Smith",
    "Rohith Srinivaas Mohanakrishnan",
    "Emory Chan",
    "Kristin Aslaug Persson",
    "Samuel M. Blau"
  ],
  "identifier": "",
  "codeRepository": "https://github.com/BlauGroup/RNMC",
  "datePublished": "2024-08-23",
  "dateModified": "2024-08-23",
  "dateCreated": "2024-08-23",
  "description": "Reaction Network Monte Carlo (RNMC) is a collection of programs for Monte Carlo simulation of statistical mechanical systems",
  "keywords": "C++, chemical dynamics, kinetic Monte Carlo, nanoparticle, electrochemistry, Gillespie",
  "license": "BSD-3-Clause-LBNL",
  "title": "RNMC",
  "version": "v1.0.0"
}

GitHub Events

Total
  • Release event: 2
  • Watch event: 3
  • Push event: 5
  • Pull request event: 4
  • Fork event: 1
  • Create event: 2
Last Year
  • Release event: 2
  • Watch event: 3
  • Push event: 5
  • Pull request event: 4
  • Fork event: 1
  • Create event: 2

Committers

Last synced: 5 months ago

All Time
  • Total Commits: 487
  • Total Committers: 16
  • Avg Commits per committer: 30.438
  • Development Distribution Score (DDS): 0.639
Past Year
  • Commits: 24
  • Committers: 3
  • Avg Commits per committer: 8.0
  • Development Distribution Score (DDS): 0.125
Top Committers
Name Email Commits
Laura Zichi l****i@L****l 176
Daniel Barter d****r@g****m 174
Evan Walter Clark Spotte-Smith e****h@g****m 53
Laura Zichi l****i@L****l 31
lzichi l****i@g****m 28
Laura Zichi l****i@f****s 5
lzichi l****i@u****u 4
Laura Zichi l****i@f****v 3
Laura Zichi l****i@0****t 2
Laura Zichi l****i@L****t 2
Laura Zichi l****i@L****v 2
Laura Zichi l****i@l****v 2
Laura Zichi l****i@l****v 2
Mojtaba Barzegari 4****y 1
Laura Zichi l****i@l****v 1
Laura Zichi l****i@x****v 1

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 4
  • Total pull requests: 15
  • Average time to close issues: 14 days
  • Average time to close pull requests: 5 months
  • Total issue authors: 3
  • Total pull request authors: 5
  • Average comments per issue: 2.25
  • Average comments per pull request: 0.07
  • Merged pull requests: 11
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 3
  • Pull requests: 7
  • Average time to close issues: 14 days
  • Average time to close pull requests: about 7 hours
  • Issue authors: 2
  • Pull request authors: 3
  • Average comments per issue: 3.0
  • Average comments per pull request: 0.14
  • Merged pull requests: 7
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • lorenzo-rovigatti (2)
  • ptmerz (1)
  • sivonxay (1)
Pull Request Authors
  • espottesmith (10)
  • lzichi (6)
  • sivonxay (5)
  • danielbarter (2)
  • mbarzegary (2)
Top Labels
Issue Labels
enhancement (1)
Pull Request Labels

Dependencies

.github/workflows/linux_tests.yml actions
  • actions/checkout v2.4.0 composite
  • cachix/install-nix-action v16 composite
.github/workflows/draft-pdf.yml actions
  • actions/checkout v3 composite
  • actions/upload-artifact v1 composite
  • openjournals/openjournals-draft-action master composite