Skip to content

Commit 667273b

Browse files
authored
Merge pull request #2703 from ReactionMechanismGenerator/fix/docs
[Docs] Update outdated docs, wiki, and contributor guidelines
2 parents 77edebb + 358d83a commit 667273b

File tree

19 files changed

+221
-566
lines changed

19 files changed

+221
-566
lines changed

CONTRIBUTING.md

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
## How to contribute to RMG-Py
2+
3+
Thank you for contributing to RMG-Py! Please take a moment to review our guidelines:
4+
5+
### **Did you find a bug? Do you want to see a new feature?**
6+
7+
* Please open an Issue to the corresponding repository:
8+
* [RMG-Py](https://github.com/ReactionMechanismGenerator/RMG-Py/issues): For functionality of the RMG and Arkane software packages
9+
* [RMG-database](https://github.com/ReactionMechanismGenerator/RMG-database/issues): For issues related to the data available to RMG
10+
* [RMG-website](https://github.com/ReactionMechanismGenerator/RMG-website/issues): For issues related to the [RMG website](https://rmg.mit.edu)
11+
12+
13+
### **Did you write code that fixes a bug or adds a new feature?**
14+
15+
* Open a new GitHub PR to merge into the main branch. Make sure the PR clearly describes the problem + solution. If applicable, include the relevant issue.
16+
17+
* Your PR must pass unit tests, regression tests, and code coverage, and receive approval from at least one reviewer before it can be merged in.
18+
19+
* If you wrote a new feature, please [add unit tests](https://github.com/ReactionMechanismGenerator/RMG-Py/tree/main/test/rmgpy). We currently use [pytest](https://docs.pytest.org/en/stable/) for our unit testing.
20+
21+
* If you wrote a significant new feature, please add a regression test:
22+
* First, please create an input file that includes your new feature. Ensure `saveEdgeSpecies` is set to `True` so that the edge model will also be saved to a file. If applicable, include diverse sets of input conditions to test compatibility with other features.
23+
* Generate the reaction mechanism corresponding to the input file. Ensure that the simulation does not take more than 15 minutes maximum. You can reduce simulation times in multiple ways, e.g. by increasing the `toleranceMoveToCore` flag.
24+
* In the `test/regression` folder, create a new folder with a relevant name, and copy the RMG-Py simulation input file in this folder. Include this new folder in your PR.
25+
* In `.github/workflows/CI.yml`, edit the two lists of regression tests in the `Regression Tests - Execution` and `Regression Tests - Compare to Baseline` steps to add the name of your folder. Be sure to follow BASH syntax.
26+
27+
* > Warning: This will __fail__ CI because of directory not found errors. This is because the baseline files used for comparison in the regression tests do not exist yet. Your PR will need to be merged by bypassing branch protection restrictions.
28+
29+
30+
### **Do you want to contribute to the documentation?**
31+
32+
* Documentation is [hosted here](http://reactionmechanismgenerator.github.io/RMG-Py/) using [Sphinx](https://www.sphinx-doc.org/en/master/).
33+
34+
* The live version of the documentation is hosted on the `gh-pages` branch which is updated upon pushes to the `main` branch of RMG-Py.
35+
36+
* To add new documentation, create or modify `.rst` (reStructuredText) files under the `documentation` directory and create a PR to push to `main`. For a primer on how to write `.rst` markup, please [check out the Sphinx documentation.](https://www.sphinx-doc.org/en/master/usage/restructuredtext/basics.html)
37+
38+
* Please test the documentation on a local build (e.g., via `make html` in the `documentation` directory) before pushing changes.
39+
40+
### **Do you have questions?**
41+
42+
* Email us at rmg_dev@mit.edu.
43+
44+
### **Best practices for PRs**
45+
46+
* Rebase to the main branch before working, to avoid merge conflicts.
47+
48+
* Keep PRs small and aim to merge quickly.
49+
50+
* Commits should be specific and as small as required; commit messages should be descriptive and as long as required. Commit messages should explain *why* the change is needed. We recommend following [these guidelines.](https://wiki.openstack.org/wiki/GitCommitMessages)
51+
52+
* Submit a PR only when the code is polished and ready for review. Consider opening a draft PR for work in progress that requires collaborator input.
53+
54+
* Please follow the [PEP8 Python style guide.](https://peps.python.org/pep-0008/)
55+
56+
Thank you!
57+
58+
RMG Developers

documentation/source/theory/rmg/dynamics.rst

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -67,31 +67,31 @@ for movement from surface to bulk core based on flux or dynamics criterion.
6767
Key Parameters for Dynamics Criterion and Surface Algorithm
6868
===========================================================
6969

70-
* **toleranceMoveEdgeReactionToCore**
70+
* ``toleranceMoveEdgeReactionToCore``
7171

7272
An edge reaction will be pulled directly into the bulk core if its dynamics number
7373
ever exceeds this value.
7474

75-
* **toleranceMoveEdgeReactionToSurface**
75+
* ``toleranceMoveEdgeReactionToSurface``
7676

7777
An edge reaction will be pulled into the surface if its dynamics number
7878
ever exceeds this value.
7979

80-
* **toleranceMoveEdgeReactionToCoreInterrupt**
80+
* ``toleranceMoveEdgeReactionToCoreInterrupt``
8181

8282
When any reaction's dynamics number exceeds this value the simulation will be interrupted.
8383

84-
* **toleranceMoveEdgeReactionToSurfaceInterrupt**
84+
* ``toleranceMoveEdgeReactionToSurfaceInterrupt``
8585

8686
When the dynamics number of any reaction that would be valid for movement to the surface
8787
exceeds this value the simulation will be interrupted
8888

89-
* **toleranceMoveSurfaceReactionToCore**
89+
* ``toleranceMoveSurfaceReactionToCore``
9090

9191
A surface reaction will be pulled into the bulk core if its dynamics number
9292
ever exceeds this value. Note this is done on the fly during simulation.
9393

94-
* **toleranceMoveSurfaceSpeciesToCore**
94+
* ``toleranceMoveSurfaceSpeciesToCore``
9595

9696
A surface species will be pulled into the bulk core if it's rate ratio
9797
ever exceeds this value. Note this is done on the fly during simulation.

documentation/source/theory/rmg/prune.rst

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -12,30 +12,30 @@ in order to achieve both low memory consumption and mechanism accuracy. Pruning
1212
Key Parameters in Pruning
1313
=========================
1414

15-
* toleranceKeepInEdge
15+
* ``toleranceKeepInEdge``
1616

17-
Any edge species to prune should have peak flux along the whole conversion course lower than toleranceKeepInEdge :math:`*` characteristic flux. Thus, larger values will lead to smaller edge mechanisms.
17+
Any edge species to prune should have peak flux along the whole conversion course lower than ``toleranceKeepInEdge`` :math:`*` characteristic flux. Thus, larger values will lead to smaller edge mechanisms.
1818

19-
* toleranceMoveToCore
19+
* ``toleranceMoveToCore``
2020

21-
Any edge species to enter core model should have flux at some point larger than toleranceMoveToCore :math:`*` characteristic flux Thus, in general, smaller values will lead to larger core mechanisms.
21+
Any edge species to enter core model should have flux at some point larger than ``toleranceMoveToCore`` :math:`*` characteristic flux. Thus, in general, smaller values will lead to larger core mechanisms.
2222

23-
* toleranceInterrupSimulation
23+
* ``toleranceInterruptSimulation``
2424

25-
Once flux of any edge species exceeds toleranceInterruptSimulation :math:`*` characteristic flux, dynamic simulation will be stopped.
25+
Once flux of any edge species exceeds ``toleranceInterruptSimulation`` :math:`*` characteristic flux, dynamic simulation will be stopped.
2626
Usually this tolerance will be set a very high value so that any flux's exceeding that means mechanism is too incomplete to continue
2727
dynamic simulation.
2828

29-
* maximumEdgeSpecies
29+
* ``maximumEdgeSpecies``
3030

3131
If dynamic simulation isn't interrupted in half way and total number of the edge species whose peak fluxes are higher than
32-
toleranceKeepInEdge :math:`*` characteristic flux exceeds maximumEdgeSpecies, such excessive amount of edge species with lowest peak fluxes will be pruned.
32+
``toleranceKeepInEdge`` :math:`*` characteristic flux exceeds ``maximumEdgeSpecies``, such excessive amount of edge species with lowest peak fluxes will be pruned.
3333

34-
* minCoreSizeForPrune
34+
* ``minCoreSizeForPrune``
3535

3636
Ensures that a minimum number of species are in the core before pruning occurs, in order to avoid pruning the model when it is far away from completeness. The default value is set to 50 species.
3737

38-
* minSpeciesExistIterationsForPrune
38+
* ``minSpeciesExistIterationsForPrune``
3939

4040
Set the number of iterations an edge species must stay in the job before it can be pruned. The default value is 2 iterations.
4141

@@ -46,20 +46,20 @@ How Pruning Works
4646

4747
The goal of pruning is to delete those "useless" edge species. So "usefulness" should be defined and it's natural to have flux as a
4848
criterion for "usefulness". Since flux changes with reactant conversion, peak flux is chosen here to make decision of pruning or not.
49-
Every time pruning is triggered, edge species with peak flux lower than toleranceKeepInEdge :math:`*` characteristic flux will be deleted.
49+
Every time pruning is triggered, edge species with peak flux lower than ``toleranceKeepInEdge`` :math:`*` characteristic flux will be deleted.
5050

5151
.. figure:: fluxDiagramWithTolerance.png
5252

53-
However, pruning is not always triggered because of toleranceInterruptSimulation. As mentioned above, in order to prune, RMG needs to figure out
53+
However, pruning is not always triggered because of ``toleranceInterruptSimulation``. As mentioned above, in order to prune, RMG needs to figure out
5454
the peak flux of each edge species, which requires dynamic simulation to complete. If some run of dynamic simulation is terminated in half way
55-
by toleranceInterruptSimulation, pruning is rejected although there might be some edge species with peak fluxes lower than
56-
toleranceKeepInEdge :math:`*` characteristic flux. Since pruning requires to complete dynamic simulation, setting toleranceInterruptSimulation to be positive infinity,
57-
as an extreme case, means always enabling pruning. Another extreme case would be that it has same value as toleranceMoveToCore where
55+
by ``toleranceInterruptSimulation``, pruning is rejected although there might be some edge species with peak fluxes lower than
56+
``toleranceKeepInEdge`` :math:`*` characteristic flux. Since pruning requires to complete dynamic simulation, setting ``toleranceInterruptSimulation`` to be positive infinity,
57+
as an extreme case, means always enabling pruning. Another extreme case would be that it has same value as ``toleranceMoveToCore`` where
5858
no pruning occurs.
5959

60-
In summary, each run of dynamic simulation will proceed towards terminationConversion unless some flux exceeds
61-
toleranceInterruptSimulation :math:`*` characteristic flux.Following complete simulation is the pruning of edge species whose flux is not high enough be kept
62-
in the edge, which is followed by pruning of excessive amount of edge species to make sure total edge species number is no greater than maximumEdgeSpecies.
60+
In summary, each run of dynamic simulation will proceed towards ``terminationConversion`` unless some flux exceeds
61+
``toleranceInterruptSimulation`` :math:`*` characteristic flux. Following complete simulation is the pruning of edge species whose flux is not high enough be kept
62+
in the edge, which is followed by pruning of excessive amount of edge species to make sure total edge species number is no greater than ``maximumEdgeSpecies``.
6363

6464

6565

documentation/source/users/arkane/credits.rst

Lines changed: 6 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ Project Supervisors:
99
- Prof. William H. Green (whgreen@mit.edu)
1010
- Prof. Richard H. West (r.west@northeastern.edu)
1111
- Prof. C. Franklin Goldsmith (franklin_Goldsmith@brown.edu)
12-
- Asst. Prof. Alon Grinberg Dana (alon@technion.ac.il)
12+
- Prof. Alon Grinberg Dana (alon@technion.ac.il)
1313

1414
Developers: (rmg_dev@mit.edu)
1515

@@ -24,10 +24,10 @@ Developers: (rmg_dev@mit.edu)
2424
- Dr. D.S. Ranasinghe
2525
- Dr. R.J. Gillis
2626
- Dr. A.M. Payne
27-
- Asst. Prof. Y.-P. Li
28-
- X. Dong
29-
- K.A. Spiekermann
30-
- H. Wu
27+
- Prof. Y.-P. Li
28+
- Dr. X. Dong
29+
- Dr. K.A. Spiekermann
30+
- Mr. H. Wu
3131
- Dr. E.E. Dames
3232
- Dr. Z.J. Buras,
3333
- Dr. N.M. Vandewiele
@@ -41,11 +41,4 @@ Developers: (rmg_dev@mit.edu)
4141
How to Cite
4242
***********
4343

44-
A. Grinberg Dana, M.S. Johnson, J.W. Allen, S. Sharma, S. Raman, M. Liu, C.W. Gao, C.A. Grambow, M.J. Goldman,
45-
D.S. Ranasinghe, R.J. Gillis, A.M. Payne, Y.-P. Li, X. Dong, K.A. Spiekermann, H. Wu, E.E. Dames, Z.J. Buras,
46-
N.M. Vandewiele, N.W. Yee, S.S. Merchant, B. Buesser, C.A. Class, C.F. Goldsmith, R.H. West, W.H. Green,
47-
"Automated reaction kinetics and network exploration (Arkane):
48-
A statistical mechanics, thermodynamics, transition state theory, and master equation software",
49-
*International Journal of Chemical Kinetics* 2023, 55(6), 300-323.
50-
51-
DOI: `10.1002/kin.21637 <https://doi.org/10.1002/kin.21637>`_
44+
Please refer to the ``Arkane`` reference in the `CITATIONS.bib file <https://github.com/ReactionMechanismGenerator/RMG-Py/blob/main/CITATIONS.bib>`_.

documentation/source/users/rmg/credits.rst

Lines changed: 10 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -16,26 +16,29 @@ Project Supervisors:
1616

1717
Current Developers: (rmg_dev@mit.edu)
1818

19-
- Dr. Alon Grinberg Dana
19+
- Prof. Alon Grinberg Dana
2020
- Dr. Matt Johnson
21-
- Yen-Ting Wang
22-
- Xiaorui Dong
23-
- Hao-Wei Pang
21+
- Dr. Anna Doner
2422
- Oscar Wu
25-
- Kevin Spiekermann
2623
- Jonathan Zheng
2724
- Jackson Burns
2825
- Nathan Morgan
26+
- Prof. Richard H. West
2927
- Prof. C. Franklin Goldsmith
30-
- Dr. Katrin Blondal
3128
- Dr. Bjarne Kreitz
29+
- Chao Xu
3230
- Chris Blais
3331
- Sevy Harris
3432
- Nora Khalil
3533

3634
Previous Developers:
3735

36+
- Dr. Xiaorui Dong
37+
- Dr. Hao-Wei Pang
38+
- Dr. Kevin Spiekermann
39+
- Yen-Ting Wang
3840
- Dr. Joshua W. Allen
41+
- Dr. Katrin Blondal
3942
- Dr. Yunsie Chung
4043
- Dr. David Farina
4144
- Dr. Mark Goldman
@@ -66,25 +69,4 @@ Previous Developers:
6669
How to Cite
6770
***********
6871

69-
C.W. Gao, J.W. Allen, W.H. Green, R.H. West,
70-
"Reaction Mechanism Generator: Automatic construction of chemical kinetic mechanisms",
71-
*Computer Physics Communications* 2016, 203, 212-225.
72-
73-
DOI: `10.1016/j.cpc.2016.02.013 <https://doi.org/10.1016/j.cpc.2016.02.013>`_
74-
75-
76-
M. Liu, A. Grinberg Dana, M.S. Johnson, M.J. Goldman, A. Jocher, A.M. Payne, C.A. Grambow, K. Han, N.W. Yee,
77-
E.J. Mazeau, K. Blondal, R.H. West, C.F. Goldsmith, W.H. Green,
78-
"Reaction Mechanism Generator v3.0: Advances in Automatic Mechanism Generation",
79-
*Journal of Chemical Information and Modeling* 2021, 61(6), 2686–2696.
80-
81-
DOI: `10.1021/acs.jcim.0c01480 <https://doi.org/10.1021/acs.jcim.0c01480>`_
82-
83-
84-
85-
M.S. Johnson, X. Dong, A. Grinberg Dana, Y. Chung, D. Farina, R.J. Gillis, M. Liu, N.W. Yee, K. Blondal,
86-
E. Mazeau, C.A. Grambow, A.M. Payne, K.A. Spiekermann, H.-W. Pang, C.F. Goldsmith, R.H. West, W.H. Green,
87-
"The RMG Database for Chemical Property Prediction",
88-
*Chemical Information* 2022, 62(20), 4906–4915.
89-
90-
DOI: `10.1021/acs.jcim.2c00965 <https://doi.org/10.1021/acs.jcim.2c00965>`_
72+
Please refer to the ``RMG``, ``RMG3``, and ``RMG_Database`` citations in the `CITATIONS.bib file <https://github.com/ReactionMechanismGenerator/RMG-Py/blob/main/CITATIONS.bib>`_.

0 commit comments

Comments
 (0)