Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Check reactions for balance of surface sites #412

Closed
speth opened this issue Dec 16, 2016 · 5 comments
Closed

Check reactions for balance of surface sites #412

speth opened this issue Dec 16, 2016 · 5 comments
Labels

Comments

@speth
Copy link
Member

speth commented Dec 16, 2016

  • Cantera version: b20c0c6
  • Operating System: all
  • Python/MATLAB version: all

Expected Behavior

A reaction such as:

CH4(s) + 2 O2 => CO2 + 2 H2O

where CH4(s) is a surface species and all others are gas phase should be identified as problematic because it does not balance the number of surface sites.

Actual Behavior

Incorrect rates are computed in reactor calculations -- if the only surface species are CH4(s) and a species representing open sites, then the coverages will not change.

Proposed resolution

When validating surface reactions, require that sum(species.size) over the surface species is the same for the reactants and products.

Originally reported at https://groups.google.com/forum/#!topic/cantera-users/wlww4-RUC_E

@speth speth added the Kinetics label Dec 16, 2016
@santoshshanbhogue
Copy link
Contributor

Fundamentally, does creation of a reaction even check for stoichiometry? I mean, I can execute this line in the dev-version with Py2.7 without any error:

r = ct.Reaction.fromCti(''' reaction('HO2 + O <=> H2O + O2',[1.0, 2, 3.4E+5] )''')

Not that there is an imbalance of H on both sides

@santoshshanbhogue
Copy link
Contributor

Ok, Cantera does when a solution object is created...

@bryanwweber
Copy link
Member

bryanwweber commented Dec 28, 2016

I think the reason the first one is valid is because there is no atomic composition information associated with the species in a Reaction, that's stored in the Species, which has the thermo data.

@santoshshanbhogue
Copy link
Contributor

santoshshanbhogue commented Dec 28, 2016

Yup, but why do this much later in Kinetics and not when the Reaction object is created. This way depending on what the reaction type is, one can run a battery of tests during immediately upon creation of an object (elemental balance for all rxns, site balance for surface, charge balance for electrochem., etc) ?

@speth
Copy link
Member Author

speth commented Dec 28, 2016 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants