interPhaseChangeFoam: sqrt(negativeValue) in SchnerrSauer
A negative saturation pressure can cause a floating point exception in the following function:
const volScalarField& p
volScalarField limitedAlpha1 = min(max(alpha1_, scalar(0)), scalar(1));
volScalarField rho =
(limitedAlpha1*rho1() + (scalar(1) - limitedAlpha1)*rho2());
*rRb(limitedAlpha1)/(rho*sqrt(mag(p - pSat()) + 0.01*pSat()));
The problem occured in 'sqrt(mag(p - pSat()) + 0.01*pSat())' when I tried to reduce the saturation pressure stepwise from an initial solution without cavitation. I know that a simple solution would be to use a higher pressure level but that's not really satisfying in my opininion. Does anybody know more about the term 0.01*pSat? I found some papers (not the referenced one) but this term is never mentioned.
*rRb(limitedAlpha1)/(rho*sqrt(max(mag(p - pSat()),dimensionedScalar("p",dimensionSet(1,-1,-2,0,0,0,0),VSMALL))));
as intermediate solution. Any comment is very appreciated.
Maybe it is a bit late but for few months i started to interested indeed with openfoam and try to make cavitation simulation in nozzle by using interphasechangeFoam. I have faced same problem too. Could you tell me that what is the meaning of mag(p - pSat()) + 0.01*pSat()) ???
i hope that you already got answer about it and your help will be very appreciated.
|All times are GMT -4. The time now is 06:35.|