ReactionMechanismGenerator / RMG-Py

Python version of the amazing Reaction Mechanism Generator (RMG).
http://reactionmechanismgenerator.github.io/RMG-Py/
Other
391 stars 227 forks source link

"given surface reactions are not a subset of core reactions" in solver.base.ReactionSystem.simulate #1119

Closed chiyw13 closed 7 years ago

chiyw13 commented 7 years ago

I tried to turn on the pruning function of RMG when I prepared to run a Dynamics Criterion calculation case . But It seems that the pruning didn't work in my case, so I added some codes to print more logging information about pruning to help see why it's failed to prune. Then I got this error:

Conducting simulation of reaction system 1...
initializing surface ...
surface initialization complete
At time 3.0000e-15 s, Reaction O2(2) + [CH2](9) <=> [CH2]O[O](19) exceeded the minimum difference in total log(accumulation number) for moving from edge to model surface
    Characteristic rate: 2.2383e-16 mol/m^3*s
    Dynamics number:  1.5120e+01
    [H](7) rate: 2.1286e-28 mol/m^3*s (9.51e-13)
Surface has 0 Species and 0 Reactions
At time 3.0000e-15 s, Reaction O2(2) + [CH2](9) <=> [CH2]O[O](19) exceeded the minimum difference in total log(accumulation number) for simulation interruption
    Characteristic rate: 2.2383e-16 mol/m^3*s
    Dynamics number:  1.5120e+01
    [H](7) rate: 2.1286e-28 mol/m^3*s (9.51e-13)

Conducting simulation of reaction system 2...
Error: Model core reactions:
Error: Too many to print in detail
[2017-08-01 17:07:23,265] _control  (10.100.9.54:52840)         The following error occurend on a worker:
given surface reactions are not a subset of core reactions
Traceback (most recent call last):
  File "/home/chiyw1992/.virtualenvs/rmgpy275/lib/python2.7/site-packages/scoop/_control.py", line 127, in runFuture
    future.resultValue = future.callable(*future.args, **future.kargs)
  File "/shared/apps/python/Python-2.7.5/INSTALL/lib/python2.7/runpy.py", line 240, in run_path
    return _run_module_code(code, init_globals, run_name, path_name)
  File "/shared/apps/python/Python-2.7.5/INSTALL/lib/python2.7/runpy.py", line 82, in _run_module_code
    mod_name, mod_fname, mod_loader, pkg_name)
  File "/shared/apps/python/Python-2.7.5/INSTALL/lib/python2.7/runpy.py", line 72, in _run_code
    exec code in run_globals
  File "/home/chiyw1992/Code/RMG-Py/rmg.py", line 164, in <module>
    rmg.execute(**kwargs)
  File "/home/chiyw1992/Code/RMG-Py/rmgpy/rmg/main.py", line 611, in execute
    filterReactions=False,
  File "rmgpy/solver/base.pyx", line 485, in rmgpy.solver.base.ReactionSystem.simulate (build/pyrex/rmgpy/solver/base.c:24124)
    cpdef simulate(self, list coreSpecies, list coreReactions, list edgeSpecies,
  File "rmgpy/solver/base.pyx", line 543, in rmgpy.solver.base.ReactionSystem.simulate (build/pyrex/rmgpy/solver/base.c:12598)
    assert set(coreReactions) >= set(surfaceReactions), 'given surface reactions are not a subset of core reactions'
AssertionError: given surface reactions are not a subset of core reactions

I was using the master of RMG (with a little changes on the output of logging information) and database that updated on 28 July. Does anyone has an idea about this problem?

mjohnson541 commented 7 years ago

The current master doesn't support simultaneous use of multiple reactors and the surface algorithm. The AcceleratorTools branch can do this right now.

I'm taking a look at the pruning issue, but I haven't yet been able to reproduce it yet.

chiyw13 commented 7 years ago

Thanks for you suggestion! Using AcceleratorTools solves this problem, caused by using multiple reaction systems. Is that in a pending pull request?

mjohnson541 commented 7 years ago

Yes