# Urea (CH4N2O) Surface Tension (and other liquidProperties)

 Register Blogs Members List Search Today's Posts Mark Forums Read

 August 26, 2014, 12:07 #2 Senior Member     Marco A. Turcios Join Date: Mar 2009 Location: Vancouver, BC, Canada Posts: 727 Rep Power: 18 Some further discussion. I think the problems comes from the calculation of surface tension sigma from the liquidMixtureProperties object: Code: ```Foam::scalar Foam::liquidMixtureProperties::sigma ( const scalar p, const scalar T, const scalarField& x ) const { // sigma is based on surface mole fractions // which is estimated from Raoult's Law scalar sigma = 0.0; scalarField Xs(x.size(), 0.0); scalar XsSum = 0.0; forAll(properties_, i) { scalar Ti = min(TrMax*properties_[i].Tc(), T); scalar Pvs = properties_[i].pv(p, Ti); scalar xs = x[i]*Pvs/p; XsSum += xs; Xs[i] = xs; } forAll(properties_, i) { if (Xs[i] > SMALL) { scalar Ti = min(TrMax*properties_[i].Tc(), T); sigma += (Xs[i]/XsSum)*properties_[i].sigma(p, Ti); } } return sigma; }``` The surface mole fractions are calculated using Raoult's Law, and then the sigma is calculated by the mole weighted average. Contributions are only considered if Xs[i] is greater than SMALL. If all Xs[i] are < SMALL, then sigma will return 0. My question now is what could be causing this. Off the bat would be that the mole fractions themselves are already < SMALL (possibly due to super tiny particle size) and dividing by vapour pressure pushes them over the edge. Removing that if condition for sigma would keep 0 from being returned, but then the Weber number would be huge and cause problems elsewhere. Does anyone know more about sprays and has some experience with this type of error? Thanks!