CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > OpenFOAM

Multiphase PISO loop in OpenFoam

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

Like Tree1Likes
  • 1 Post By CFDtoy

Reply
 
LinkBack Thread Tools Display Modes
Old   June 9, 2011, 16:04
Default Multiphase PISO loop in OpenFoam
  #1
Senior Member
 
CFDtoy
Join Date: Mar 2009
Location: United States
Posts: 145
Blog Entries: 2
Rep Power: 7
CFDtoy is on a distinguished road
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
__________________
CFDtoy
CFDtoy is offline   Reply With Quote

Old   June 10, 2011, 04:50
Default
  #2
Senior Member
 
Laurence R. McGlashan
Join Date: Mar 2009
Posts: 367
Rep Power: 13
l_r_mcglashan will become famous soon enough
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
l_r_mcglashan is offline   Reply With Quote

Old   June 10, 2011, 05:02
Default
  #3
Senior Member
 
akidess's Avatar
 
Anton Kidess
Join Date: May 2009
Location: Delft, Netherlands
Posts: 918
Rep Power: 16
akidess will become famous soon enough
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.
akidess is offline   Reply With Quote

Old   June 10, 2011, 09:51
Default MP Piso loop
  #4
Senior Member
 
CFDtoy
Join Date: Mar 2009
Location: United States
Posts: 145
Blog Entries: 2
Rep Power: 7
CFDtoy is on a distinguished road
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 View Post
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.
linch likes this.
__________________
CFDtoy
CFDtoy is offline   Reply With Quote

Reply

Tags
multiphase, openfoam 1.6, piso

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
OpenFOAM 1.6.x, 1.7.0 and 1.7.x are not fully prepared to work with gcc-4.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
PEqnflux in compressible and incompressible PISO loop dbxmcf OpenFOAM Running, Solving & CFD 0 October 7, 2008 10:58
PISO loop 21kalee OpenFOAM Running, Solving & CFD 2 January 15, 2008 05:31
Mistake in PISO loop for interFoam solver kumar2 OpenFOAM Running, Solving & CFD 3 June 30, 2006 18:26


All times are GMT -4. The time now is 13:17.