- **OpenFOAM Running, Solving & CFD**
(*https://www.cfd-online.com/Forums/openfoam-solving/*)

- - **ChemistryModeltc**
(*https://www.cfd-online.com/Forums/openfoam-solving/58405-chemistrymodeltc.html*)

Hi,
I noticed that in OF 1.Hi,
I noticed that in OF 1.5 the implementation of chemistryModel::tc() changed: OF 1.4 says forAll(rho_, celli) { forAll(RR_, i) { if(RR_[i][celli] < -SMALL) { t[celli] = min ( t[celli], -Y_[i][celli]/(rho_[celli]*RR_[i][celli]) ); } } } and OF 1.5: for(label celli=0; celli<nCells; celli++) { scalar rhoi = rho_[celli]; scalar Ti = thermo_.T()[celli]; scalar pi = thermo_.p()[celli]; scalarField c(Ns_); scalar cSum = 0.0; for(label i=0; i<Ns_; i++) { scalar Yi = Y_[i][celli]; c[i] = rhoi*Yi/specieThermo_[i].W(); cSum += c[i]; } forAll(reactions_, i) { const reaction& R = reactions_[i]; omega ( R, c, Ti, pi, pf, cf, lRef, pr, cr, rRef ); forAll(R.rhs(), s) { scalar sr = R.rhs()[s].stoichCoeff; t[celli] += sr*pf*cf; } } t[celli] = Nr*cSum/t[celli]; } Could anyone explain why this change has been made and how the new implementation works? Thanks in advance. Markus |

This was some time ago so its This was some time ago so its not entirely clear to me...
The first definition is simply an estimation of the shortest time for a species to be driven to zero. The second is a bit more coupled to the PaSR combustion model in diesel(Engine)Foam. If you write the reaction rates in terms of a positive, P, and negative, N, term and linearize the negative term around the concentration c. omega = P - N = P - c/tau_c you get the definition of tau_c. This yields a chemical timescale for each species and If I remember correctly the calculated tau_c is an averaged value over all species and reactions. |

All times are GMT -4. The time now is 17:46. |