I wanted to share an issue on which I came across recently. I was trying to run a CounterflowPremixedFlame for dual fuel (H2/NH3) and noticed that the flame consumption speed (Sc) obtained using H2 and NH3 is significantly different. I digged in further and noticed that for this type of 1D flame, Sc often varied between species. This is not the case for freely propagating flames, where Sc is identical regardless of the species, as expected from theory (and also suggests that my Sc computation is correct). I even have a case where Y_H2_burnt < Y_H2_unburnt and integral(omega_H2)>0 ; suggesting a problem with mass conservation.
Then I noticed something very strange in the 1D governing equations (
Governing equations): the stretch term rho*V is present in the continuity equation (although there is a factor 2 which I do not understand properly); but absent from the species transport equations. This is in disagreement with literature (see Eq 4 in
Vance et al. (2021)); and on a more pragmatic level, if we sum the species transport equation for all k, we should get back the continuity equation, which is obviously not the case here.
By looking in the code (
Flow1D.cpp), the residuals are actually implemented as they are written on the website, without the stretch term in the species equation.
I'm thus wondering if the issues I see could be linked to this seemingly inconsistent writing of the species conservation. If anyone has any clue to better understand that issue, please let me know.
Cédric