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

How do I make steady state SIMPLE solver to transient?

Register Blogs Community New Posts Updated Threads Search

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   April 19, 2020, 22:08
Default How do I make steady state SIMPLE solver to transient?
  #1
Member
 
Join Date: Feb 2019
Posts: 69
Rep Power: 7
cfdnewb123 is on a distinguished road
I am referring to the book by H.K.Versteeg and he mentioned the following modifications,
1) Adding a^0_P to the central coefficient a_P
2) Pressure correction equation must include the unsteady continuity equation effect (rho^0-rho)*DV/Dt. However, since I am using incompressible flow, I just assume this as zero.
3) The time-stepping procedure creates an extra loop outside the main iteration cycles of SIMPLE.

I am confused by the third step as I thought that the iteration step of SIMPLE to convergence can be used as the time-stepping procedure. However, my thought is not correct as the solver produces different convergence result when different dt is used, which I think is the solver converging after making that particular timestep. (Smaller dt gives a less varied result)

Hence, does this mean that for n-number of timesteps, I need to make n-number of SIMPLE solver convergence? If yes, how do I add this time-stepping loop outside the SIMPLE solver? The SIMPLE solver already gives me the corrected momentum & pressure for the next timestep already and thus, what do I need to do outside the SIMPLE loop while inside the time-stepping loop?
cfdnewb123 is offline   Reply With Quote

Old   April 20, 2020, 00:10
Default
  #2
Senior Member
 
Lucky
Join Date: Apr 2011
Location: Orlando, FL USA
Posts: 5,728
Rep Power: 66
LuckyTran has a spectacular aura aboutLuckyTran has a spectacular aura aboutLuckyTran has a spectacular aura about
Quote:
Originally Posted by cfdnewb123 View Post
I am confused by the third step as I thought that the iteration step of SIMPLE to convergence can be used as the time-stepping procedure.
It can indeed be interpreted that way if you know what the local Courant numbers are. SIMPLE for a steady case is somewhat analogous to transient SIMPLE with a really large (infinite) time-step. But you are now doing a transient case, so it's no longer about analogies but actually doing it.

Quote:
Originally Posted by cfdnewb123 View Post
Hence, does this mean that for n-number of timesteps, I need to make n-number of SIMPLE solver convergence? If yes, how do I add this time-stepping loop outside the SIMPLE solver? The SIMPLE solver already gives me the corrected momentum & pressure for the next timestep already and thus, what do I need to do outside the SIMPLE loop while inside the time-stepping loop?
Yup. Each time-step, you need to re-solve the system which can involve many SIMPLE sweeps each time-step.

Once you add the transient terms from step 1), which will also contain a dt in it, you get a very similar linear system that needs to be solved the same way. At the end of this you get the solution at the next time-step. Then you just keep repeating this until you get to your desired solution time. The main cycles of SIMPLE needs to converge iteratively for a single time-step. Then you just march it forward in time .

Last edited by LuckyTran; April 20, 2020 at 11:21.
LuckyTran is offline   Reply With Quote

Old   April 20, 2020, 03:21
Default
  #3
Member
 
Join Date: Feb 2019
Posts: 69
Rep Power: 7
cfdnewb123 is on a distinguished road
Quote:
Originally Posted by LuckyTran View Post
It can be interpreted indeed be interpreted that way if you know what the local Courant numbers are. SIMPLE for a steady case is somewhat analogous to transient SIMPLE with a really large (infinite) time-step. But you are now doing a transient case, so it's no longer about analogies but actually doing it.



Yup. Each time-step, you need to re-solve the system which can involve many SIMPLE sweeps each time-step.

Once you add the transient terms from step 1), which will also contain a dt in it, you get a very similar linear system that needs to be solved the same way. At the end of this you get the solution at the next time-step. Then you just keep repeating this until you get to your desired solution time. The main cycles of SIMPLE needs to converge iteratively for a single time-step. Then you just march it forward in time .
Thanks for the response. However, I still don't get how to update the first converged result (from SIMPLE) to the next timestep.
My algorithm looks something like this,

for t=1:NumberTime
time=dt*t;
u0=u; v0=v; p0=p;

[u,v,p]=SIMPLE(u0,v0,p0)

end

Is this correct? I don't think so as my solver basically stuck at the first successful timestep. After one timestep when the SIMPLE produces the converged result, this converged result get "reused" by SIMPLE which basically just converge the result further. As the result is already converged, the result remains the same for the subsequent timesteps.
There is something wrong with my understanding as I don't get how to shift it to the next timestep!
cfdnewb123 is offline   Reply With Quote

Old   April 20, 2020, 04:02
Default
  #4
Senior Member
 
Filippo Maria Denaro
Join Date: Jul 2010
Posts: 6,830
Rep Power: 73
FMDenaro has a spectacular aura aboutFMDenaro has a spectacular aura aboutFMDenaro has a spectacular aura about
Quote:
Originally Posted by cfdnewb123 View Post
Thanks for the response. However, I still don't get how to update the first converged result (from SIMPLE) to the next timestep.
My algorithm looks something like this,

for t=1:NumberTime
time=dt*t;
u0=u; v0=v; p0=p;

[u,v,p]=SIMPLE(u0,v0,p0)

end

Is this correct? I don't think so as my solver basically stuck at the first successful timestep. After one timestep when the SIMPLE produces the converged result, this converged result get "reused" by SIMPLE which basically just converge the result further. As the result is already converged, the result remains the same for the subsequent timesteps.
There is something wrong with my understanding as I don't get how to shift it to the next timestep!



Have a look to the Ferziger, Peric, Street textbooks, there is a chapter devoted to the transient method.

Furthermore, you could also think to use a fractional time step.
FMDenaro is offline   Reply With Quote

Old   April 20, 2020, 11:28
Default
  #5
Senior Member
 
Lucky
Join Date: Apr 2011
Location: Orlando, FL USA
Posts: 5,728
Rep Power: 66
LuckyTran has a spectacular aura aboutLuckyTran has a spectacular aura aboutLuckyTran has a spectacular aura about
You will need to keep a copy of the same initial solution at every SIMPLE iteration as well as the latest implicit solution.


You probably just didn't do 1) correctly if your solution isn't going anywhere.
LuckyTran is offline   Reply With Quote

Old   April 22, 2020, 12:49
Default
  #6
Senior Member
 
duri
Join Date: May 2010
Posts: 245
Rep Power: 17
duri is on a distinguished road
Quote:
Originally Posted by cfdnewb123 View Post
I am referring to the book by H.K.Versteeg and he mentioned the following modifications,
1) Adding a^0_P to the central coefficient a_P
2) Pressure correction equation must include the unsteady continuity equation effect (rho^0-rho)*DV/Dt. However, since I am using incompressible flow, I just assume this as zero.
3) The time-stepping procedure creates an extra loop outside the main iteration cycles of SIMPLE.

Are you using three sets of variable for n, n-1 and old. The old variable is not same as n-1 except for the first iteration of each time step. At each iteration n-1 should be replaced by n till the convergence. After convergence old variable should be replaced with converged solution.



Quote:
Originally Posted by cfdnewb123 View Post
Hence, does this mean that for n-number of timesteps, I need to make n-number of SIMPLE solver convergence? If yes, how do I add this time-stepping loop outside the SIMPLE solver? The SIMPLE solver already gives me the corrected momentum & pressure for the next timestep already and thus, what do I need to do outside the SIMPLE loop while inside the time-stepping loop?
This may indicate you are not keeping the old variable constant in the inner iteration and probably updating with new values.
duri is offline   Reply With Quote

Reply


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
Convergence in steady state simulations vs transient ones cardioCFD CFX 5 January 21, 2018 10:59
Solver for transonic flow? Martin Hegedus OpenFOAM Running, Solving & CFD 22 December 16, 2015 04:59
error message cuteapathy CFX 14 March 20, 2012 06:45
TUI Transient solver to Steady solver mbell10 FLUENT 1 February 2, 2011 08:53
Constant velocity of the material Sas CFX 15 July 13, 2010 08:56


All times are GMT -4. The time now is 21:53.