CFD Online Discussion Forums

CFD Online Discussion Forums (http://www.cfd-online.com/Forums/)
-   OpenFOAM (http://www.cfd-online.com/Forums/openfoam/)
-   -   Multiphase PISO loop in OpenFoam (http://www.cfd-online.com/Forums/openfoam/89332-multiphase-piso-loop-openfoam.html)

CFDtoy June 9, 2011 16:04

Multiphase PISO loop in OpenFoam
 
Hello Foamers,
I have a question on the PISO implementation in OF - particularly for multiphase applications.

For PISO solutions, for example, the loop taken from twoPhaseEulerFoam or multiphaseInterFoam reads,


for (int corr=0; corr<nCorr; corr++) { #include "pEqn.H" if (correctAlpha && corr<nCorr-1) { #include "alphaEqn.H" } }

Which is a logical and right thing according to PISO where

solve U
solve P'
Update U, rho, vf etc

Solve P' etc

But in other MP procedures such as in say interFoam, the same loop reads,

// --- PISO loop for (int corr=0; corr<nCorr; corr++) { #include "pEqn.H" }

with the alpha correction within the PISO loop missing. So, although P, U are updated, VF is updated only once per iteration and not multiple times?


Why is this #include "alphaEqn.H" - left out?


Can someone point me to the correct PISO for multiphase flows? There seems to be lot of discrepancy on implementing the PISO formulation for multiphase. Any papers, theses/chapters are helpful.

Leaving out the alpha correction - what is the basis?



Thanks,

CFDtoy

l_r_mcglashan June 10, 2011 04:50

I think the additional correction for alpha is there to speed up convergence? I've never used it myself.

I don't have a reference for it but you can start from the theses (especially Hill's which discusses the multiphase PISO algorithm) from Imperial which are all here:

http://www.foamcfd.org/

akidess June 10, 2011 05:02

I think the reason for just updating the VF equation once per time step is that per default, OF uses MULES::explicit. Due to that, you are restricted to a fairly small time step, and you can assume the system converged with one iteration. Wrapping all three equations in a loop might be helpful to enable larger time steps with MULES::implicit.

CFDtoy June 10, 2011 09:51

MP Piso loop
 
Thanks for your quick response. Basically for MP the solution procedure typically requires

solve vf
solve U
Solve P'
Correct U, P

This is simple schema.

For MP PISO,

solve vf
solve U
solve P'
Correct U, P (correct vf?)
solve U
solve P'


Hence, according to PISO extended from single phase, we do need correction for vf after solving P eqn first isnt it?

This is basically arising from the fact that if it was a single phase case, rho would have to be corrected after solve P' everytime.


So, is this still a PISO procedure ?!?? I am not sure. This implemented procedure is modified PISO probably ..but then what is the basis?

I have Hill's work and other Foam theses - which indicates similar implementation - PISO-2P procedure. With vf fractions corrected at the end.

All these OF solvers for cavitation, interFoam, mixingFoam have different implementation and not consistent. If convergence is the main issue, this should be suggested.

Feedback on this is greatly appreciated !


Thanks,

CFDtoy






Quote:

Originally Posted by akidess (Post 311422)
I think the reason for just updating the VF equation once per time step is that per default, OF uses MULES::explicit. Due to that, you are restricted to a fairly small time step, and you can assume the system converged with one iteration. Wrapping all three equations in a loop might be helpful to enable larger time steps with MULES::implicit.



All times are GMT -4. The time now is 02:27.