
[Sponsors] 
June 9, 2011, 16:04 
Multiphase PISO loop in OpenFoam

#1 
Senior Member

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
__________________
CFDtoy 

June 10, 2011, 04:50 

#2 
Senior Member
Laurence R. McGlashan
Join Date: Mar 2009
Posts: 370
Rep Power: 15 
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/
__________________
Laurence R. McGlashan :: Website 

June 10, 2011, 05:02 

#3 
Senior Member
Anton Kidess
Join Date: May 2009
Location: Delft, Netherlands
Posts: 1,121
Rep Power: 20 
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.


June 10, 2011, 09:51 
MP Piso loop

#4  
Senior Member

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:
__________________
CFDtoy 

Tags 
multiphase, openfoam 1.6, piso 
Thread Tools  
Display Modes  


Similar Threads  
Thread  Thread Starter  Forum  Replies  Last Post 
PEqnflux in compressible and incompressible PISO loop  dbxmcf  OpenFOAM Running, Solving & CFD  1  July 11, 2015 15:21 
OpenFOAM 1.6.x, 1.7.0 and 1.7.x are not fully prepared to work with gcc4.5.x  wyldckat  OpenFOAM Bugs  18  October 21, 2010 05:51 
Summer School on Numerical Modelling and OpenFOAM  hjasak  OpenFOAM  5  October 12, 2008 13:14 
PISO loop  21kalee  OpenFOAM Running, Solving & CFD  2  January 15, 2008 06:31 
Mistake in PISO loop for interFoam solver  kumar2  OpenFOAM Running, Solving & CFD  3  June 30, 2006 18:26 