Skip to content

Commit 0156821

Browse files
committed
RMG-Py v2.1.1 release
2 parents be4d0c8 + 32dcc0b commit 0156821

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

61 files changed

+16469
-460
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ Gaussian, MOPAC, QChem, and MOLPRO.
1717
- [RMG-database Github Repository](https://github.com/ReactionMechanismGenerator/RMG-database): contains source code for the latest version of the database
1818

1919
## Latest Stable Release
20-
**RMG v2.1.0**
20+
**RMG v2.1.1**
2121
[![Anaconda-Server Badge](https://anaconda.org/rmg/rmg/badges/version.svg)](https://anaconda.org/rmg/rmg)
2222

2323
View the [Release Notes](http://reactionmechanismgenerator.github.io/RMG-Py/users/rmg/releaseNotes.html).

documentation/source/users/rmg/releaseNotes.rst

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,36 @@
44
Release Notes
55
*************
66

7+
RMG-Py Version 2.1.1
8+
====================
9+
Date: April 07, 2017
10+
11+
- Uncertainty analysis:
12+
- Local and global uncertainty analysis now available for RMG-generated models
13+
- Global uncertainty analysis uses MIT Uncertainty Quantification library, currently only supported on Linux systems
14+
- Examples for each module are available in localUncertainty.ipynb and globalUncertainty.ipynb
15+
16+
- Fixes:
17+
- Clar structure generation no longer intercepts signals
18+
- Fixes to SMILES generation
19+
- Fix default spin state of [CH]
20+
21+
RMG-database Version 2.1.1
22+
==========================
23+
Date: April 07, 2017
24+
25+
- Additions:
26+
- More species added to FFCM1(-) thermo library
27+
28+
- Changes:
29+
- Improved handling of excited species in FFCM1(-) kinetics library
30+
- Replaced Klippenstein H2O2 kinetics and thermo libraries with BurkeH2O2inN2 and BurkeH2O2inArHe
31+
32+
- Fixes:
33+
- Corrected adjlists for some species in JetSurf2.0 kinetics and thermo libraries (also renamed from JetSurf0.2)
34+
- Correct multiplicities for [C] and [CH] in multiple libraries ([C] from 5 to 3, [CH] from 4 to 2)
35+
36+
737
RMG-Py Version 2.1.0
838
====================
939
Date: March 07, 2017

environment_linux.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,3 +37,5 @@ dependencies:
3737
- ffmpeg
3838
- jupyter
3939
- networkx
40+
- mock
41+
- muq

environment_mac.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,3 +36,5 @@ dependencies:
3636
- ffmpeg
3737
- jupyter
3838
- networkx
39+
- mock
40+
# - muq

environment_windows.yml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@ dependencies:
2424
- nose
2525
- coverage
2626
- gprof2dot
27-
#- cairo
28-
#- cairocffi
27+
- cairo
28+
- cairocffi
2929
- openbabel
3030
- psutil
3131
- symmetry
@@ -35,3 +35,5 @@ dependencies:
3535
- ffmpeg
3636
- jupyter
3737
- networkx
38+
- mock
39+
# - muq

examples/rmg/commented/input.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@
121121
#all relative values are normalized by a characteristic flux at that time point
122122
model(
123123
#determines the relative flux to put a species into the core.
124-
#A higher value will result in a larger, more complex model
124+
#A smaller value will result in a larger, more complex model
125125
#when running a new model, it is recommended to start with higher values and then decrease to converge on the model
126126
toleranceMoveToCore=0.1,
127127
#comment out the next three terms to disable pruning

ipython/findParameterSourcesAndAssignUncertainies.ipynb

Lines changed: 99 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,14 @@
1111
"cell_type": "code",
1212
"execution_count": null,
1313
"metadata": {
14-
"collapsed": true
14+
"collapsed": false
1515
},
1616
"outputs": [],
1717
"source": [
18-
"from rmgpy.tools.uncertainty import Uncertainty\n",
18+
"from rmgpy.tools.uncertainty import Uncertainty, ThermoParameterUncertainty, KineticParameterUncertainty\n",
1919
"from IPython.display import display\n",
20-
"import copy"
20+
"import copy\n",
21+
"import numpy"
2122
]
2223
},
2324
{
@@ -73,7 +74,8 @@
7374
},
7475
"outputs": [],
7576
"source": [
76-
"uncertainty.extractSourcesFromModel()"
77+
"uncertainty.extractSourcesFromModel()\n",
78+
"uncertainty.compileAllSources()"
7779
]
7880
},
7981
{
@@ -114,7 +116,7 @@
114116
" print '\\t\\t', entry\n",
115117
" else:\n",
116118
" print sourceType\n",
117-
" raise Exception('Kinetics source mut be Library, PDep, Rate Rules, or Training')"
119+
" raise Exception('Kinetics source must be Library, PDep, Rate Rules, or Training')"
118120
]
119121
},
120122
{
@@ -175,6 +177,18 @@
175177
"P = 1e5 # Pa "
176178
]
177179
},
180+
{
181+
"cell_type": "code",
182+
"execution_count": null,
183+
"metadata": {
184+
"collapsed": false
185+
},
186+
"outputs": [],
187+
"source": [
188+
"gParamEngine = ThermoParameterUncertainty()\n",
189+
"kParamEngine = KineticParameterUncertainty()"
190+
]
191+
},
178192
{
179193
"cell_type": "code",
180194
"execution_count": null,
@@ -189,8 +203,10 @@
189203
" display(rxn)\n",
190204
" if 'Library' in source:\n",
191205
" print 'Library reaction'\n",
206+
" print source['Library']\n",
192207
" elif 'PDep' in source:\n",
193208
" print 'PDep reaction'\n",
209+
" print source['PDep']\n",
194210
" elif 'Rate Rules' in source:\n",
195211
" print 'Rate rule estimate'\n",
196212
" family = source['Rate Rules'][0]\n",
@@ -233,7 +249,29 @@
233249
"# print reconstructedKinetics\n",
234250
"\n",
235251
" rxnIndex = uncertainty.reactionList.index(rxn)\n",
236-
" print 'Uncertainty dln(k) = ', uncertainty.kineticInputUncertainties[rxnIndex]"
252+
" print 'Uncertainty dln(k) = ', uncertainty.kineticInputUncertainties[rxnIndex]\n",
253+
" \n",
254+
"# # Test that the partial uncertainty calculation is working\n",
255+
"# dlnk = 0.0\n",
256+
"# if 'Rate Rules' in source:\n",
257+
"# family = source['Rate Rules'][0]\n",
258+
"# sourceDict = source['Rate Rules'][1]\n",
259+
"# rules = sourceDict['rules']\n",
260+
"# training = sourceDict['training']\n",
261+
"# for ruleEntry, weight in rules:\n",
262+
"# dlnk += kParamEngine.getPartialUncertaintyValue(source, 'Rate Rules', corrParam=ruleEntry, corrFamily=family)\n",
263+
"# for ruleEntry, trainingEntry, weight in training:\n",
264+
"# dlnk += kParamEngine.getPartialUncertaintyValue(source, 'Rate Rules', corrParam=ruleEntry, corrFamily=family)\n",
265+
"# dlnk += kParamEngine.getPartialUncertaintyValue(source, 'Estimation')\n",
266+
"# elif 'PDep' in source:\n",
267+
"# dlnk += kParamEngine.getPartialUncertaintyValue(source, 'PDep', source['PDep'])\n",
268+
"# elif 'Library' in source:\n",
269+
"# dlnk += kParamEngine.getPartialUncertaintyValue(source, 'Library', source['Library'])\n",
270+
"# elif 'Training' in source:\n",
271+
"# dlnk += kParamEngine.getPartialUncertaintyValue(source, 'Training', source['Training'])\n",
272+
"# print 'Uncertainty dlnk calculated using sum of partial values = ', dlnk\n",
273+
" \n",
274+
" "
237275
]
238276
},
239277
{
@@ -259,9 +297,62 @@
259297
" for group, weight in groupList:\n",
260298
" print '\\t\\t', group, '=', weight\n",
261299
" \n",
300+
" \n",
301+
" \n",
262302
" spcIndex = uncertainty.speciesList.index(species) \n",
263303
" print ''\n",
264-
" print 'Uncertainty dG = ', uncertainty.thermoInputUncertainties[spcIndex], ' kcal/mol'"
304+
" print 'Uncertainty dG = ', uncertainty.thermoInputUncertainties[spcIndex], ' kcal/mol'\n",
305+
" \n",
306+
" \n",
307+
" # Test that the partial uncertainty calculation is working\n",
308+
" dG = 0.0\n",
309+
" if 'Library' in source:\n",
310+
" dG += gParamEngine.getPartialUncertaintyValue(source, 'Library', corrParam=source['Library'])\n",
311+
" if 'QM' in source:\n",
312+
" dG += gParamEngine.getPartialUncertaintyValue(source, 'QM',corrParam=source['QM'])\n",
313+
" if 'GAV' in source:\n",
314+
" for groupType, groupList in source['GAV'].iteritems():\n",
315+
" for group, weight in groupList:\n",
316+
" dG += gParamEngine.getPartialUncertaintyValue(source, 'GAV', group, groupType)\n",
317+
" dG += gParamEngine.getPartialUncertaintyValue(source, 'Estimation')\n",
318+
" print 'Uncertainty dG calculated using sum of partial values = ', dG, ' kcal/mol'"
319+
]
320+
},
321+
{
322+
"cell_type": "code",
323+
"execution_count": null,
324+
"metadata": {
325+
"collapsed": false
326+
},
327+
"outputs": [],
328+
"source": [
329+
"# Assign correlated parameter uncertainties \n",
330+
"uncertainty.assignParameterUncertainties(correlated=True)"
331+
]
332+
},
333+
{
334+
"cell_type": "code",
335+
"execution_count": null,
336+
"metadata": {
337+
"collapsed": false
338+
},
339+
"outputs": [],
340+
"source": [
341+
"# See the thermo correlated parameter partial uncertainties\n",
342+
"uncertainty.thermoInputUncertainties"
343+
]
344+
},
345+
{
346+
"cell_type": "code",
347+
"execution_count": null,
348+
"metadata": {
349+
"collapsed": false,
350+
"scrolled": false
351+
},
352+
"outputs": [],
353+
"source": [
354+
"# See the kinetics correlated parameter partial uncertainties\n",
355+
"uncertainty.kineticInputUncertainties"
265356
]
266357
}
267358
],
@@ -281,7 +372,7 @@
281372
"name": "python",
282373
"nbconvert_exporter": "python",
283374
"pygments_lexer": "ipython2",
284-
"version": "2.7.12"
375+
"version": "2.7.11"
285376
}
286377
},
287378
"nbformat": 4,

0 commit comments

Comments
 (0)