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<nCorr1) { #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 
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/ 
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.

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  PISO2P 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:

All times are GMT 4. The time now is 09:29. 