# Incompressible RANS: SIMPLE and PISO, temporal discretization

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

 March 14, 2021, 11:08 Incompressible RANS: SIMPLE and PISO, temporal discretization #1 New Member   Join Date: Oct 2020 Posts: 12 Rep Power: 5 Hello everyone, i´m trying to understand the difference between the SIMPLE and PISO algorithms in unsteady (transient) simulations and how the temporal discretization need to be choosen: what I actually know is that SIMPLE is preferred in steady simulation and PISO in unsteady solutions, but it is also possible to simulate unsteady behaviour with SIMPLE (e.g. in STAR-CCM+). As far as I know this works with computing steady state solutions in each time step and if I choose time steps, which are sufficiently small enough, i could compute unsteady as well (is that true so far?). My question is: when i would like to compute an unsteady, implicit case with the SIMPLE algorithm - which temporal disretization i should choose: 1st order (steady) or 2nd order (unsteady) and why? best regards.

March 14, 2021, 12:09
#2
Senior Member

Arjun
Join Date: Mar 2009
Location: Nurenberg, Germany
Posts: 1,273
Rep Power: 34
Quote:
 Originally Posted by direwolf i´m trying to understand the difference between the SIMPLE and PISO algorithms in unsteady (transient) simulations and how the temporal discretization need to be choosen: what I actually know is that SIMPLE is preferred in steady simulation and PISO in unsteady solutions, but it is also possible to simulate unsteady behaviour with SIMPLE (e.g. in STAR-CCM+). .
PISO is not superior to SIMPLE for unsteady flow. This i why we do not have piso in Wildkatze and it was unavailable in starccm also for looooooong time.

The major difference is that convection terms are lagging and are from previous time step. While SIMPLE accounts for non-linearity. You would need almost smaller than 10 times time step to match the accuracy of SIMPLE.

For this reason PISO only makes sense when there is no way to use larger time steps. One typical example is combustion where you are forced to be around 1E-8 or so as time step. Here PISO and SIMPLe provide same order of accuracy.

March 14, 2021, 13:43
#3
Senior Member

Filippo Maria Denaro
Join Date: Jul 2010
Posts: 6,762
Rep Power: 71
Quote:
 Originally Posted by direwolf Hello everyone, i´m trying to understand the difference between the SIMPLE and PISO algorithms in unsteady (transient) simulations and how the temporal discretization need to be choosen: what I actually know is that SIMPLE is preferred in steady simulation and PISO in unsteady solutions, but it is also possible to simulate unsteady behaviour with SIMPLE (e.g. in STAR-CCM+). As far as I know this works with computing steady state solutions in each time step and if I choose time steps, which are sufficiently small enough, i could compute unsteady as well (is that true so far?). My question is: when i would like to compute an unsteady, implicit case with the SIMPLE algorithm - which temporal disretization i should choose: 1st order (steady) or 2nd order (unsteady) and why? best regards.

First of all, the question is about what do you want to simulate. I read RANS that is actually always steady. Do you mean URANS? But this is only a statistically unsteady formulation, using high order time discretization has less relevance and also a small time step does not mean you are solving the physical transient.

 March 14, 2021, 14:46 #4 Senior Member   Lucky Join Date: Apr 2011 Location: Orlando, FL USA Posts: 5,665 Rep Power: 65 PISO and SIMPLE both work for transient cases and you can use them for 1st or 2nd order temporal discretizations. When you have a temporal scheme with implicit under-relaxation on top of it, the solution from one time-step to the next is like solving a steady equation so whatever scheme you use SIMPLE/PISO needs to be able to converge for a given time-step. PISO is great when you can converge fast (i.e. single iterations per time-step). But in order to achieve this rate of convergence, your time-step sizes need to be really small. If you can't or don't want to use really small time-steps to guarantee that PISO will arrive at the steady state solution (for a given time-step) then you would rather abandon it and use SIMPLE instead and go for many iterations. That's why the default under-relaxation factors for PISO/SIMPLE are what they are. In either case, you still need to pick a temporal discretization and that is decided by what physics you want to resolve. direwolf likes this.

March 14, 2021, 14:47
#5
New Member

Join Date: Oct 2020
Posts: 12
Rep Power: 5
thanks for your reply! I´m struggeling with go a bit deeper in this theme:

For e.g. when looking at the Open Foam applications it is always said that SIMPLE is only for steady state solutions and PISO is for unsteady. In case of STAR: when using the Segregated Flow approach, STAR offers two Solvers: SIMPLE and PISO, it uses SIMPLE in case i choose the Implicit unsteady (as far as I know - please correct me if I am wrong) and it uses PISO in case i choose the PISO Unsteady Solver.

Both cases are unsteady and the question is: which temporal discretization do i need to choose if my solution is definitly unsteady? 1st or 2nd order?

Relating to the RANS/ URANS reply: I´m trying to simulate a fluid damper: a double acting piston, which is moving with a sinusoidal function in a chamber and compresses/ expands the fluid which flows through a choke (s. picture)
Attached Images
 111.png (5.7 KB, 8 views) 1111.png (7.6 KB, 8 views)

March 14, 2021, 15:11
#6
New Member

Join Date: Oct 2020
Posts: 12
Rep Power: 5
Quote:
 Originally Posted by LuckyTran PISO and SIMPLE both work for transient cases and you can use them for 1st or 2nd order temporal discretizations. When you have a temporal scheme with implicit under-relaxation on top of it, the solution from one time-step to the next is like solving a steady equation so whatever scheme you use SIMPLE/PISO needs to be able to converge for a given time-step. PISO is great when you can converge fast (i.e. single iterations per time-step). But in order to achieve this rate of convergence, your time-step sizes need to be really small. If you can't or don't want to use really small time-steps to guarantee that PISO will arrive at the steady state solution (for a given time-step) then you would rather abandon it and use SIMPLE instead and go for many iterations. That's why the default under-relaxation factors for PISO/SIMPLE are what they are. In either case, you still need to pick a temporal discretization and that is decided by what physics you want to resolve.

It is a really good explanation, thank you a lot!!

On the example of my system:
when considering the massflow from one
chamber to the othe while the piston is moving and the continous change of pressure because of motion - I´m thinking this solution is unsteady (time dependent), because i have different results between two time steps - right? , so according to the literature: my temporal discretization must
be 2nd order, because (as you said according to the physics) my physics have an unsteady behaviour (true so far?) and The SIMPLE algorithm is actually solving a steady solution INSIDE a timestep - is that right?

By using the Unsteady Implicit Solver and choosing the segregated flow,
I would choose the 2nd order temporal disretization. When solving with
SIMPLE, than i choose a larger time step with a higher number of
inner iterations and hopefully the solution converges inside the timestep?

March 14, 2021, 15:26
#7
Senior Member

Filippo Maria Denaro
Join Date: Jul 2010
Posts: 6,762
Rep Power: 71
Quote:
 Originally Posted by direwolf It is a really good explanation, thank you a lot!! On the example of my system: when considering the massflow from one chamber to the othe while the piston is moving and the continous change of pressure because of motion - I´m thinking this solution is unsteady (time dependent), because i have different results between two time steps - right? , so according to the literature: my temporal discretization must be 2nd order, because (as you said according to the physics) my physics have an unsteady behaviour (true so far?) and The SIMPLE algorithm is actually solving a steady solution INSIDE a timestep - is that right? By using the Unsteady Implicit Solver and choosing the segregated flow, I would choose the 2nd order temporal disretization. When solving with SIMPLE, than i choose a larger time step with a higher number of inner iterations and hopefully the solution converges inside the timestep?

In URANS your case is transient only in statistical sense, that is the field you compute at a certain time step is formally the result of the statistical averaging of N realizations at the same time step. Consequently, you do not need a very small time step to fulfill the physical resolution

 March 14, 2021, 15:41 #8 Senior Member   Joern Beilke Join Date: Mar 2009 Location: Dresden Posts: 498 Rep Power: 20 RANS in the StarCCM+ world mean RANS or URANS in the Fluent world. It is just a slightly different use of the words. SIMPLE either means "Steady State SIMPE" or "Transient SIMPLE" dependend on the type of simulation.

March 15, 2021, 01:46
#9
New Member

Join Date: Oct 2020
Posts: 12
Rep Power: 5
Quote:
 Originally Posted by FMDenaro In URANS your case is transient only in statistical sense, that is the field you compute at a certain time step is formally the result of the statistical averaging of N realizations at the same time step. Consequently, you do not need a very small time step to fulfill the physical resolution
And what does this mean according to the temporal discretization?
My struggle is that in the literature i read (Numerische Strömungsberechnung, Lecheler, Stefan 2011) it is said, that unsteady simulations require 2nd order temporal discretization - if I solve my solution like you said and averaging my solution inside the time step (=the statistical averaging of N realizations)(what is a computation of a steady state solution inside the time step in my understanding): which temp. discretization should I choose -1st or 2nd order?

March 15, 2021, 05:08
#10
Senior Member

Filippo Maria Denaro
Join Date: Jul 2010
Posts: 6,762
Rep Power: 71
Quote:
 Originally Posted by direwolf And what does this mean according to the temporal discretization? My struggle is that in the literature i read (Numerische Strömungsberechnung, Lecheler, Stefan 2011) it is said, that unsteady simulations require 2nd order temporal discretization - if I solve my solution like you said and averaging my solution inside the time step (=the statistical averaging of N realizations)(what is a computation of a steady state solution inside the time step in my understanding): which temp. discretization should I choose -1st or 2nd order?

The statistical averaging is implied in the URANS modelling, you don't need to perform it. Your time-dependent variable is already averaged, what you see as "unsteady" is only the time-dependent action by the forcing term.
Use the second order explicit time discretization and you will be ok.

March 15, 2021, 10:59
#11
New Member

Join Date: Oct 2020
Posts: 12
Rep Power: 5
Quote:
 Originally Posted by FMDenaro The statistical averaging is implied in the URANS modelling, you don't need to perform it. Your time-dependent variable is already averaged, what you see as "unsteady" is only the time-dependent action by the forcing term. Use the second order explicit time discretization and you will be ok.
this is an incompressible simulation, so i´m using an implicit sheme.
It actually does not answer my question: I´m interested in "why" I need
to use a 1st or a 2nd order temporal discretization, however thanks for your reply!

March 15, 2021, 11:09
#12
Senior Member

Filippo Maria Denaro
Join Date: Jul 2010
Posts: 6,762
Rep Power: 71
Quote:
 Originally Posted by direwolf this is an incompressible simulation, so i´m using an implicit sheme. It actually does not answer my question: I´m interested in "why" I need to use a 1st or a 2nd order temporal discretization, however thanks for your reply!
The general answer is that a second order scheme should be better than a first order one... but that does not address the real complexity of a numerical scheme. You have to analyse the coupling with the spatial discretization and the numerical stability.
Implicit schemes are often used to reach a steady state in less time-steps. In simulations of a transient problem, the time step is dictated by physical constraint and cannot be large, therefore explicit schemes are preferred.
Your case has a time step dictated by the cycle of the piston, that is you have to descrive its motion rather than the time scales of the flow.

March 15, 2021, 13:51
#13
New Member

Join Date: Oct 2020
Posts: 12
Rep Power: 5
Quote:
 Originally Posted by FMDenaro The general answer is that a second order scheme should be better than a first order one... but that does not address the real complexity of a numerical scheme. You have to analyse the coupling with the spatial discretization and the numerical stability. Implicit schemes are often used to reach a steady state in less time-steps. In simulations of a transient problem, the time step is dictated by physical constraint and cannot be large, therefore explicit schemes are preferred. Your case has a time step dictated by the cycle of the piston, that is you have to descrive its motion rather than the time scales of the flow.
yes this is true, my time step is more or less defined by the frequency of the piston. But could we maybe distinguish the RANS and URANS explanation for my case ones again: my solution is "unsteady" :
what in my understanding right now means, that the flow parameters change from one time step to the other (=URANS?) and do not
converge like in a steady solution after x time steps - but 1 Time Step consists of a composition of statistical (averaged) values, which converge towards a value (for e.g. a specific pressure) INSIDE the time step, so with the number of INNER itertions and this is a convergence towards a constant value which is not changing after X number of INNER iterations, what i understand as a steady solution over this 1 Time Step in reference to the inner iterations. Do I understand this in the right manner? (yes or no and why would be very helpfull)
If I choose 10 inner iterations (implicit, 1st order temporal discretization) for my system i get the solution behaviour like i attached: it converges inside 1
time step (0.001s) which consists of 10 inner iterations towards a static value. So according to this: is the 1std order acceptable and why?
Attached Images
 111111.png (15.6 KB, 7 views)

 March 15, 2021, 14:45 #14 Senior Member   Filippo Maria Denaro Join Date: Jul 2010 Posts: 6,762 Rep Power: 71 In my opinion you are making a lot of confusion. Forget for a moment the turbulence modelling and think about a simple laminar flow solved using an implicit method. At each time step tn, you need to solve a system for getting the solution at the new time step tn+1. That is obtained by solving some set of equations in iterative way, stop. The collection of field at the different time steps is the discrete representation of a physical transient for laminar regime. Convergence at a given time does not represent a physical steady state. Now in case of URANS you are not solving the pointwise equations but the statistically averaged equations. The time derivative appearing in URANS has not the physical meaning of a pointwise transient. You get the difference form a time to the next time between statistically averaged solutions and this change depends on the external force (the piston). To understand better the meaning of the URANS variable you need to study on some textbook like Wilkox. You will no get answers by posting the same question. direwolf likes this.

 Tags discretisation, piso, simple

 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 OffTrackbacks are Off Pingbacks are On Refbacks are On Forum Rules

 Similar Threads Thread Thread Starter Forum Replies Last Post [swak4Foam] swakExpression not writing to log alexfells OpenFOAM Community Contributions 3 March 16, 2020 18:19 Kappa OpenFOAM Running, Solving & CFD 1 October 17, 2016 08:08 sharonyue Main CFD Forum 4 August 22, 2013 03:22 Aditya Main CFD Forum 5 April 1, 2006 18:52 benedikt flurl Main CFD Forum 2 April 14, 2005 06:54

All times are GMT -4. The time now is 12:18.