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

Reconsider composition state variables for reactors, flames, and other systems #154

Open
ischoegl opened this issue Jun 6, 2022 Discussed in #91 · 0 comments
Open

Reconsider composition state variables for reactors, flames, and other systems #154

ischoegl opened this issue Jun 6, 2022 Discussed in #91 · 0 comments
Labels
feature-request New feature request

Comments

@ischoegl
Copy link
Member

ischoegl commented Jun 6, 2022

Creating feature request from #91. Going through a major release opens the opportunity for a breaking change.

Discussed in #91

Originally posted by speth February 9, 2021
Motivation

Cantera's governing equations for reactors and flames currently use mass fractions as the state variables for the composition. This approach leads to fairly simple equations for the most common cases, but introduces some thorny mathematical issues due to the constraint that the sum of the mass fractions should be 1 that make it difficult to solve certain problems. While we have workarounds in place for some of these issues, these workarounds are often fragile. Some specific examples:

  • Calculating reasonable Jacobians requires leaving the sum(Y) = 1 constraint unsatisfied. In this case, there is no fully consistent way to calculate mole fractions, or any quantities which are computed from mole fractions. This is a concern for computing mixture averaged transport fluxes, proportional to the mole fraction gradients, and for any non-ideal thermo model where properties are calculated based on mole fractions.

  • Without the sum(Y) = 1 constraint, steady-state solvers are difficult to use because (depending on the situation), they can find the "solution" of setting all mass fractions to zero. This is particularly a problem for steady-state surface coverage problems.

Possible Solutions

These issues could be resolved by using concentrations or species masses as the species state variables instead.

References

Cantera/cantera#390

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

No branches or pull requests

1 participant