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

Incompressible RANS: SIMPLE and PISO, temporal discretization

Register Blogs Community New Posts Updated Threads Search

Like Tree5Likes
  • 1 Post By arjun
  • 1 Post By FMDenaro
  • 1 Post By LuckyTran
  • 1 Post By FMDenaro
  • 1 Post By FMDenaro

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   March 14, 2021, 11:08
Default Incompressible RANS: SIMPLE and PISO, temporal discretization
  #1
New Member
 
Join Date: Oct 2020
Posts: 12
Rep Power: 5
direwolf is on a distinguished road
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.
direwolf is offline   Reply With Quote

Old   March 14, 2021, 12:09
Default
  #2
Senior Member
 
Arjun
Join Date: Mar 2009
Location: Nurenberg, Germany
Posts: 1,273
Rep Power: 34
arjun will become famous soon enougharjun will become famous soon enough
Quote:
Originally Posted by direwolf View Post
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.
direwolf likes this.
arjun is offline   Reply With Quote

Old   March 14, 2021, 13:43
Default
  #3
Senior Member
 
Filippo Maria Denaro
Join Date: Jul 2010
Posts: 6,768
Rep Power: 71
FMDenaro has a spectacular aura aboutFMDenaro has a spectacular aura aboutFMDenaro has a spectacular aura about
Quote:
Originally Posted by direwolf View Post
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.
direwolf likes this.
FMDenaro is offline   Reply With Quote

Old   March 14, 2021, 14:46
Default
  #4
Senior Member
 
Lucky
Join Date: Apr 2011
Location: Orlando, FL USA
Posts: 5,672
Rep Power: 65
LuckyTran has a spectacular aura aboutLuckyTran has a spectacular aura aboutLuckyTran has a spectacular aura about
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.
LuckyTran is offline   Reply With Quote

Old   March 14, 2021, 14:47
Default
  #5
New Member
 
Join Date: Oct 2020
Posts: 12
Rep Power: 5
direwolf is on a distinguished road
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
File Type: png 111.png (5.7 KB, 8 views)
File Type: png 1111.png (7.6 KB, 8 views)
direwolf is offline   Reply With Quote

Old   March 14, 2021, 15:11
Default
  #6
New Member
 
Join Date: Oct 2020
Posts: 12
Rep Power: 5
direwolf is on a distinguished road
Quote:
Originally Posted by LuckyTran View Post
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?
direwolf is offline   Reply With Quote

Old   March 14, 2021, 15:26
Default
  #7
Senior Member
 
Filippo Maria Denaro
Join Date: Jul 2010
Posts: 6,768
Rep Power: 71
FMDenaro has a spectacular aura aboutFMDenaro has a spectacular aura aboutFMDenaro has a spectacular aura about
Quote:
Originally Posted by direwolf View Post
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
direwolf likes this.
FMDenaro is offline   Reply With Quote

Old   March 14, 2021, 15:41
Default
  #8
Senior Member
 
Joern Beilke
Join Date: Mar 2009
Location: Dresden
Posts: 498
Rep Power: 20
JBeilke is on a distinguished road
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.
JBeilke is offline   Reply With Quote

Old   March 15, 2021, 01:46
Default
  #9
New Member
 
Join Date: Oct 2020
Posts: 12
Rep Power: 5
direwolf is on a distinguished road
Quote:
Originally Posted by FMDenaro View Post
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?
direwolf is offline   Reply With Quote

Old   March 15, 2021, 05:08
Default
  #10
Senior Member
 
Filippo Maria Denaro
Join Date: Jul 2010
Posts: 6,768
Rep Power: 71
FMDenaro has a spectacular aura aboutFMDenaro has a spectacular aura aboutFMDenaro has a spectacular aura about
Quote:
Originally Posted by direwolf View Post
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.
FMDenaro is offline   Reply With Quote

Old   March 15, 2021, 10:59
Default
  #11
New Member
 
Join Date: Oct 2020
Posts: 12
Rep Power: 5
direwolf is on a distinguished road
Quote:
Originally Posted by FMDenaro View Post
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!
direwolf is offline   Reply With Quote

Old   March 15, 2021, 11:09
Default
  #12
Senior Member
 
Filippo Maria Denaro
Join Date: Jul 2010
Posts: 6,768
Rep Power: 71
FMDenaro has a spectacular aura aboutFMDenaro has a spectacular aura aboutFMDenaro has a spectacular aura about
Quote:
Originally Posted by direwolf View Post
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.
FMDenaro is offline   Reply With Quote

Old   March 15, 2021, 13:51
Default
  #13
New Member
 
Join Date: Oct 2020
Posts: 12
Rep Power: 5
direwolf is on a distinguished road
Quote:
Originally Posted by FMDenaro View Post
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
File Type: png 111111.png (15.6 KB, 7 views)
direwolf is offline   Reply With Quote

Old   March 15, 2021, 14:45
Default
  #14
Senior Member
 
Filippo Maria Denaro
Join Date: Jul 2010
Posts: 6,768
Rep Power: 71
FMDenaro has a spectacular aura aboutFMDenaro has a spectacular aura aboutFMDenaro has a spectacular aura about
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.
FMDenaro is offline   Reply With Quote

Reply

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 Off
Trackbacks are Off
Pingbacks are On
Refbacks are On


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
SIMPLE vs. PISO Kappa OpenFOAM Running, Solving & CFD 1 October 17, 2016 08:08
Simple vs piso sharonyue Main CFD Forum 4 August 22, 2013 03:22
SIMPLE and PISO Aditya Main CFD Forum 5 April 1, 2006 18:52
PISO vs. SIMPLE benedikt flurl Main CFD Forum 2 April 14, 2005 06:54


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