Bug Description
When I run equivalent surface simulations in RMG and Cantera, I get different results, and I can't figure out whether I'm doing something wrong or the solvers are just expected to behave differently.
This matters to me because I'm trying to use RMG's sensitivity calculations for the uncertainty tool, but I can't test any of it against Cantera if the simulated concentrations don't even match.
How To Reproduce
Here's a minimal RMG mechanism and Cantera mechanism of O2+CH4 reacting on Pt111:
short-gas.inp.txt
short-surface.inp.txt
short.yaml
species_dictionary.txt
and an example Jupyter Notebook to run them/see how I'm running them: https://github.com/comocheng/uncertainty_estimator/blob/main/uncertainty_tool_dev/surface_sensitivities/minimal_solver_difference.ipynb
Any and all advice is appreciated here! I would love it if the answer is I just screwed up the units somewhere.
Expected Behavior
I would expect RMG and Cantera to come up with the same results for a mechanism with only 9 reactions in a batch reactor, but maybe I've misunderstood the assumptions here.
The RMG SurfaceReactor claims to be isothermal, and constant volume in the class docstring. (The file docstring says isothermal and isobaric but that looks like it was accidentally left in while copying the SimpleReactor class).
You can get the results to match up for slightly simpler cases, like O2 as the only starting species adsorbing on the surface.
Installation Information
Describe your installation method and system information.
- OS: Ubuntu 24.04.4 LTS
- Installation method: source
- RMG version information:
- RMG-Py: 9cc2cfd (latest main)
- RMG-database: ac2cc758d00c59add46528d6ff38b815691b1726
Bug Description
When I run equivalent surface simulations in RMG and Cantera, I get different results, and I can't figure out whether I'm doing something wrong or the solvers are just expected to behave differently.
This matters to me because I'm trying to use RMG's sensitivity calculations for the uncertainty tool, but I can't test any of it against Cantera if the simulated concentrations don't even match.
How To Reproduce
Here's a minimal RMG mechanism and Cantera mechanism of O2+CH4 reacting on Pt111:
short-gas.inp.txt
short-surface.inp.txt
short.yaml
species_dictionary.txt
and an example Jupyter Notebook to run them/see how I'm running them: https://github.com/comocheng/uncertainty_estimator/blob/main/uncertainty_tool_dev/surface_sensitivities/minimal_solver_difference.ipynb
Any and all advice is appreciated here! I would love it if the answer is I just screwed up the units somewhere.
Expected Behavior
I would expect RMG and Cantera to come up with the same results for a mechanism with only 9 reactions in a batch reactor, but maybe I've misunderstood the assumptions here.
The RMG SurfaceReactor claims to be isothermal, and constant volume in the class docstring. (The file docstring says isothermal and isobaric but that looks like it was accidentally left in while copying the SimpleReactor class).
You can get the results to match up for slightly simpler cases, like O2 as the only starting species adsorbing on the surface.
Installation Information
Describe your installation method and system information.