Skip to content

Commit

Permalink
Merge branch 'main' of https://github.com/BlauGroup/RNMC
Browse files Browse the repository at this point in the history
merge
  • Loading branch information
lzichi committed Oct 9, 2024
2 parents 43ee733 + 6aa9cdb commit 4ff0c32
Show file tree
Hide file tree
Showing 5 changed files with 37 additions and 20 deletions.
3 changes: 2 additions & 1 deletion .github/workflows/draft-pdf.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
name: Draft PDF
on: [push]

jobs:
Expand All @@ -14,7 +15,7 @@ jobs:
# This should be the path to the paper within your repo.
paper-path: paper.md
- name: Upload
uses: actions/upload-artifact@v1
uses: actions/upload-artifact@v4
with:
name: paper
# This is the output path where Pandoc will write the compiled
Expand Down
12 changes: 11 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,4 +18,14 @@ The complete documentation for `RNMC` can be found [here](https://blaugroup.gith

## Dependencies

RNMC depends on [GSL](https://www.gnu.org/software/gsl/) for pseudo random number generation and [sqlite](https://www.sqlite.org/index.html) for the database interfaces.
RNMC depends on [GSL](https://www.gnu.org/software/gsl/) for pseudo random number generation and [sqlite](https://www.sqlite.org/index.html) for the database interfaces.

## Contributing/Support

We welcome community contributions to RNMC! Please submit code contributions as [pull requests (PRs)](https://github.com/BlauGroup/RNMC/pulls). 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](https://github.com/BlauGroup/RNMC/issues) or reach out to [Sam Blau](mailto:[email protected]) 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](https://blaugroup.github.io/RNMC/Contributors.html).
30 changes: 18 additions & 12 deletions paper.bib
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@ @article{marcus1965theory
number={2},
pages={679--701},
year={1965},
publisher={American Institute of Physics}
publisher={American Institute of Physics},
doi={10.1063/1.1696792}
}

@article{gillespie1977exact,
Expand All @@ -17,7 +18,7 @@ @article{gillespie1977exact
number={25},
pages={2340--2361},
year={1977},
publisher={ACS Publications}
publisher={ACS Publications},
}

@techreport{garcia2009crossing,
Expand All @@ -35,7 +36,8 @@ @article{hoffmann2014kmos
number={7},
pages={2138--2150},
year={2014},
publisher={Elsevier}
publisher={Elsevier},
doi={10.1016/j.cpc.2014.04.003}
}

@book{newman2021electrochemical,
Expand All @@ -53,7 +55,8 @@ @article{spotte2022toward
number={4},
pages={1446--1453},
year={2022},
publisher={ACS Publications}
publisher={ACS Publications},
doi={10.1021/acsenergylett.2c00517}
}

@article{barter2023predictive,
Expand All @@ -64,18 +67,20 @@ @article{barter2023predictive
number={1},
pages={123--137},
year={2023},
publisher={Royal Society of Chemistry}
publisher={Royal Society of Chemistry},
doi={10.1039/D2DD00117A}
}

@article{spotte2023chemical,
title={Chemical reaction networks explain gas evolution mechanisms in mg-ion batteries},
title={Chemical reaction networks explain gas evolution mechanisms in {Mg}-ion batteries},
author={Spotte-Smith, Evan Walter Clark and Blau, Samuel M and Barter, Daniel and Leon, Noel J and Hahn, Nathan T and Redkar, Nikita S and Zavadil, Kevin R and Liao, Chen and Persson, Kristin A},
journal={Journal of the American Chemical Society},
volume={145},
number={22},
pages={12181--12192},
year={2023},
publisher={ACS Publications}
publisher={ACS Publications},
doi={10.1021/jacs.3c02222}
}

@article{xia2023accelerating,
Expand All @@ -86,7 +91,8 @@ @article{xia2023accelerating
number={23},
pages={11129--11136},
year={2023},
publisher={ACS Publications}
publisher={ACS Publications},
doi={10.1021/acs.nanolett.3c03568}
}

@article{chan2015combinatorial,
Expand All @@ -97,7 +103,8 @@ @article{chan2015combinatorial
number={6},
pages={1653--1679},
year={2015},
publisher={Royal Society of Chemistry}
publisher={Royal Society of Chemistry},
doi={10.1039/C4CS00205A}
}

@article{skripka2023NL,
Expand All @@ -109,8 +116,6 @@ @article{skripka2023NL
pages = {7100-7106},
year = {2023},
doi = {10.1021/acs.nanolett.3c01955},
URL = {https://doi.org/10.1021/acs.nanolett.3c01955},
eprint = {https://doi.org/10.1021/acs.nanolett.3c01955},
}

@article{teitelboim2019energy,
Expand All @@ -121,5 +126,6 @@ @article{teitelboim2019energy
number={4},
pages={2678--2689},
year={2019},
publisher={ACS Publications}
publisher={ACS Publications},
doi={10.1021/acs.jpcc.9b00161}
}
12 changes: 6 additions & 6 deletions paper.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ affiliations:
index: 4
- name: Molecular Foundry, Lawrence Berkeley National Laboratory, Berkeley, CA, USA 94720
index: 5
date: 2024-08-14
date: 14 August 2024
bibliography: paper.bib
---

Expand All @@ -73,20 +73,20 @@ We have designed `RNMC` to be easily extensible, enabling users to add additiona

# Statement of need

Three are many existing kMC implementations, including several open source examples (e.g. the Stochastic Parallel PARticle Kinetic Simulator or `SPPARKS`[@garcia2009crossing] and `kmos`).[@hoffmann2014kmos]
Three are many existing kMC implementations, including several open source examples (e.g. the Stochastic Parallel PARticle Kinetic Simulator or `SPPARKS` [@garcia2009crossing] and `kmos` [@hoffmann2014kmos]).
`RNMC` began as a fork of SPPARKS but differs in several important ways.
First, because `RNMC` uses the widely supported SQLite database engine for simulation inputs and outputs, it facilitates the automation of simulations.
Second, `RNMC` has a focus on modularity; it is designed such that users can quickly develop new types of kMC simulations using a common core library.

The simulation modules already implemented in `RNMC` provide unique capabilities that are not widely available in other open source codes.
`NPMC` is specifically designed for 3D simulations of the complex photophysical interaction networks in nanocrystals,[@teitelboim2019energy] particularly multi-domain heterostructures whose optical properties cannot be calculated deterministically.[@skripka2023NL]
`NPMC` can be used to simulate energy transfer interactions between dopants in nanoparticles, their radiative transitions, and nonlinear processes such as upconversion [@chan2015combinatorial] and photon avalanching.[@skripka2023NL]
`NPMC` is specifically designed for 3D simulations of the complex photophysical interaction networks in nanocrystals [@teitelboim2019energy], particularly multi-domain heterostructures whose optical properties cannot be calculated deterministically [@skripka2023NL].
`NPMC` can be used to simulate energy transfer interactions between dopants in nanoparticles, their radiative transitions, and nonlinear processes such as upconversion [@chan2015combinatorial] and photon avalanching [@skripka2023NL].
`LGMC` is also somewhat unique in that it can simulate multi-phase systems and electrochemical processes.
Simulations using `LGMC` can include a lattice region and a homogeneous solution region which can interact *via* interfacial reactions.
Electrochemcial reactions can be treated using Marcus theory[@marcus1965theory] or Butler-Volmer kinetics.[@newman2021electrochemical]
Electrochemcial reactions can be treated using Marcus theory [@marcus1965theory] or Butler-Volmer kinetics [@newman2021electrochemical].
Because it allows for a dynamic lattice region, `LGMC` is also appropriate for simulations of nucleation and growth, dissolution, precipitation, and related phenomena.

We have already used the `GMC` module in a number of prior works in applications related to Li-ion and Mg-ion batteries.[@spotte2022toward; @barter2023predictive; @spotte2023chemical] We note that these simulations included tens of millions of reactions, demonstrating that `RNMC` is able to scale to large and complex reaction networks. In addition, we have used `NPMC` to perform Bayesian optimization of upconverting nanoparticles.[@xia2023accelerating]
We have already used the `GMC` module in a number of prior works in applications related to Li-ion and Mg-ion batteries [@spotte2022toward; @barter2023predictive; @spotte2023chemical]. We note that these simulations included tens of millions of reactions, demonstrating that `RNMC` is able to scale to large and complex reaction networks. In addition, we have used `NPMC` to perform Bayesian optimization of upconverting nanoparticles [@xia2023accelerating].

# Acknowledgements

Expand Down
Binary file modified paper.pdf
Binary file not shown.

0 comments on commit 4ff0c32

Please sign in to comment.