Implement writing RMG input files for RMS reactors#2886
Implement writing RMG input files for RMS reactors#2886sevyharris wants to merge 3 commits intoReactionMechanismGenerator:mainfrom
Conversation
We want to preserve the units specified in the input file as much as possible to avoid the ambiguity of saving just floats in memory
35dfa0d to
5ef7ef2
Compare
5ef7ef2 to
3c66ace
Compare
Now that sensitive conditions uses deepcopy to copy from initial_concentrations, there is no need to worry about T showing up in initial_concentrations
Regression Testing Results
Detailed regression test results.Regression test aromatics:Reference: Execution time (DD:HH:MM:SS): 00:00:00:57 aromatics Passed Core Comparison ✅Original model has 15 species. aromatics Passed Edge Comparison ✅Original model has 106 species. DetailsObservables Test Case: Aromatics Comparison✅ All Observables varied by less than 0.500 on average between old model and new model in all conditions! aromatics Passed Observable Testing ✅Regression test liquid_oxidation:Reference: Execution time (DD:HH:MM:SS): 00:00:01:57 liquid_oxidation Passed Core Comparison ✅Original model has 37 species. liquid_oxidation Failed Edge Comparison ❌Original model has 214 species. DetailsObservables Test Case: liquid_oxidation Comparison✅ All Observables varied by less than 0.100 on average between old model and new model in all conditions! liquid_oxidation Passed Observable Testing ✅Regression test nitrogen:Reference: Execution time (DD:HH:MM:SS): 00:00:01:03 nitrogen Passed Core Comparison ✅Original model has 41 species. nitrogen Failed Edge Comparison ❌Original model has 133 species. Non-identical thermo! ❌
thermo: Thermo group additivity estimation: group(O2s-CdN3d) + group(N3d-OCd) + group(Cd-HN3dO) + ring(oxirene) + radical(CdJ-NdO) Non-identical kinetics! ❌
kinetics: DetailsObservables Test Case: NC Comparison✅ All Observables varied by less than 0.200 on average between old model and new model in all conditions! nitrogen Passed Observable Testing ✅Regression test oxidation:Reference: Execution time (DD:HH:MM:SS): 00:00:01:50 oxidation Passed Core Comparison ✅Original model has 59 species. oxidation Passed Edge Comparison ✅Original model has 230 species. DetailsObservables Test Case: Oxidation Comparison✅ All Observables varied by less than 0.500 on average between old model and new model in all conditions! oxidation Passed Observable Testing ✅Errors occurred during observable testing
WARNING:root:Initial mole fractions do not sum to one; normalizing.
|
Motivation or Problem
Some reactor types can't write RMG input files, so this fixes rmgpy/rmg/input.py to be able to handle them:
#2883
Description of Changes
This PR mostly involves fetching properties from the reactor system and writing them into the input.py file
Specifically, this fixes:
Still TODO:
Other changes
initialConcentrations, instead of just tosens_conditionsTesting
This is my example code for reading/writing input files:
Eventually, I'll try doing roundtrip diffs for every example.
Hopefully I will also implement some roundtrip diffs in the tests.
I'll also need to test by running the input.py files this outputs.