const ThermoType& Foam::egrMixture<ThermoType>::mixture ( const scalar ft, const scalar b, const scalar egr ) const { if (ft < 0.0001) { return oxidant_; } else { scalar fu = b*ft + (1.0 - b)*fres(ft, stoicRatio().value()); scalar ox = 1 - ft - (ft - fu)*stoicRatio().value(); fu *= (1.0 - egr); ox *= (1.0 - egr); scalar pr = 1 - fu - ox; mixture_ = fu/fuel_.W()*fuel_; mixture_ += ox/oxidant_.W()*oxidant_; mixture_ += pr/products_.W()*products_; return mixture_; } }
const ThermoType& Foam::dieselMixture<ThermoType>::mixture ( const scalar ft, const scalar fu ) const { if (ft < 0.0001) { return oxidant_; } else { scalar ox = 1 - ft - (ft - fu)*stoicRatio().value(); scalar pr = 1 - fu - ox; mixture_ = fu/fuel_.W()*fuel_; mixture_ += ox/oxidant_.W()*oxidant_; mixture_ += pr/products_.W()*products_; return mixture_; } }
const ThermoType& Foam::veryInhomogeneousMixture<ThermoType>::mixture ( const scalar ft, const scalar fu ) const { if (ft < 0.0001) { return oxidant_; } else { scalar ox = 1 - ft - (ft - fu)*stoicRatio().value(); scalar pr = 1 - fu - ox; mixture_ = fu*fuel_; mixture_ += ox*oxidant_; mixture_ += pr*products_; return mixture_; } }