CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Running, Solving & CFD

Simulations with large time steps (high CFL)

Register Blogs Community New Posts Updated Threads Search

Like Tree9Likes

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   October 1, 2014, 05:19
Default
  #21
Senior Member
 
RodriguezFatz's Avatar
 
Philipp
Join Date: Jun 2011
Location: Germany
Posts: 1,297
Rep Power: 26
RodriguezFatz will become famous soon enough
My original question was about a discussion in this thread where fredo490 said that OpenFOAM doesn't have a coupled solver and thus can't handle arbitrarily large time steps. But Fluent can handle these time steps without using a coupled solver, so my question was why. Also why isn't there a solver like that in OpenFoam, or is there any way I can tune pimpleFoam for larger time steps?

Also, what I am wondering: PISO, Simple, Simplec, Simpler... they are all more or less the same as I understand them. Just different approximations or some extra loops. But how can that lead to such different behaviour?
__________________
The skeleton ran out of shampoo in the shower.
RodriguezFatz is offline   Reply With Quote

Old   October 1, 2014, 05:28
Default
  #22
Senior Member
 
Olivier
Join Date: Jun 2009
Location: France, grenoble
Posts: 272
Rep Power: 17
olivierG is on a distinguished road
Hello,

Just a bad trick, if you solution don't change to much over time

- try a "compressible" solver instead of incompressible,, even if you don't have much compressible effect => may run faster
- and try with Local Time Stepping (LTS), ex: rhoLTSPimpleFoam instead of pimpleFoam.

in fvSolution
- use "nOuterCorrectors 10" <- 10 or more
with residualControl to the wanted tolerance.

... And always check if the solution is correct ...

But you still can't get as high dT as in Fluent.

regards,
olivier
olivierG is offline   Reply With Quote

Old   October 1, 2014, 05:39
Default
  #23
Senior Member
 
akidess's Avatar
 
Anton Kidess
Join Date: May 2009
Location: Germany
Posts: 1,377
Rep Power: 29
akidess will become famous soon enough
Phillip, read Jasak's comments on transient SIMPLE here:
http://www.cfd-online.com/OpenFOAM_D...es/1/1807.html

Then have a look at:
http://openfoamwiki.net/index.php/Ma...ransientSimple

Also read more theory on PISO and SIMPLE. It is not as simple as just adding or removing extra loops.
RodriguezFatz likes this.
__________________
*On twitter @akidTwit
*Spend as much time formulating your questions as you expect people to spend on their answer.
akidess is offline   Reply With Quote

Old   October 1, 2014, 07:04
Default
  #24
Senior Member
 
RodriguezFatz's Avatar
 
Philipp
Join Date: Jun 2011
Location: Germany
Posts: 1,297
Rep Power: 26
RodriguezFatz will become famous soon enough
Quote:
Originally Posted by akidess View Post
Also read more theory on PISO and SIMPLE. It is not as simple as just adding or removing extra loops.
Of course, I did. I read in Ferziger, Peric:
"Still another method of this general type is derived by neglecting ui' in the first correction step as in the SIMPLE method but following... it is known as the PISO algorithm"
And in Versteeg, Malalasekera:
"PISO involves one predictor step and two corrector steps and may be seen as an extension of SIMPLE, with a further corrector step to enhance it."

That's why I was stating that all these methods base on more or less the same principle. I am curious why you think they are essentially different (or not "just you", but why they actually are).
__________________
The skeleton ran out of shampoo in the shower.
RodriguezFatz is offline   Reply With Quote

Old   October 1, 2014, 08:07
Default
  #25
Senior Member
 
akidess's Avatar
 
Anton Kidess
Join Date: May 2009
Location: Germany
Posts: 1,377
Rep Power: 29
akidess will become famous soon enough
Yes, I agree the methods are related, but I don't think that's a strong argument to assume very similar numerical behavior (side-note: similarly, you could argue first and second order time discretization should have the same properties because they only differ by a factor theta).

PISO involves explicit correction steps, which is why your time step ends up being limited. These explicit correction steps are not part of the SIMPLE method.

Another side note - the differences between PISO and SIMPLE grow when looking at compressible flows, as now also the density is updated in a different manner. Issa brings this up in his 1986 paper on the development of PISO.
RodriguezFatz likes this.
__________________
*On twitter @akidTwit
*Spend as much time formulating your questions as you expect people to spend on their answer.
akidess is offline   Reply With Quote

Old   October 1, 2014, 09:00
Default
  #26
Senior Member
 
RodriguezFatz's Avatar
 
Philipp
Join Date: Jun 2011
Location: Germany
Posts: 1,297
Rep Power: 26
RodriguezFatz will become famous soon enough
I still got more questions, I really appreciate your help here!
I am wondering why I get this behaviour in pimpleFoam:
residuals.png
You can see that after 24 iterations pimple residuals jump at the last iteration to pretty much the initial value. Why? I thought this must be from under relaxation, which isn't done in the last iteration. But I then set relaxation factors to
Code:
relaxationFactors
{
    fields
    {
        p                 0.8;
    }
    equations
    {
        "(U)"             0.7;
        "(k)"             0.8;
        "(epsilon)"       0.8;
        "(omega)"         0.8;
    }
}
So there is nearly no under relaxation. Why are the iterations 24 and 25 so different? Do you think it will still come from this? And why is it so high?
This is the log output:
Code:
PIMPLE: iteration 23
DILUPBiCG:  Solving for Ux, Initial residual = 1.679199e-06, Final residual = 5.2347394e-09, No Iterations 2
DILUPBiCG:  Solving for Uy, Initial residual = 2.1944388e-05, Final residual = 1.8097067e-07, No Iterations 2
DILUPBiCG:  Solving for Uz, Initial residual = 4.1885199e-05, Final residual = 1.8273755e-07, No Iterations 2
GAMG:  Solving for p, Initial residual = 0.0034921225, Final residual = 0.00032813228, No Iterations 1
time step continuity errors : sum local = 1.3572061e-08, global = 1.4769898e-11, cumulative = 2.9324676e-09
GAMG:  Solving for p, Initial residual = 0.0012103037, Final residual = 0.00011895051, No Iterations 3
time step continuity errors : sum local = 4.9195925e-09, global = 7.4839779e-11, cumulative = 3.0073074e-09
DILUPBiCG:  Solving for epsilon, Initial residual = 1.0191608e-05, Final residual = 8.6961352e-08, No Iterations 2
DILUPBiCG:  Solving for k, Initial residual = 1.9168529e-06, Final residual = 9.0455142e-09, No Iterations 5
PIMPLE: iteration 24
DILUPBiCG:  Solving for Ux, Initial residual = 1.6236176e-06, Final residual = 5.5279907e-09, No Iterations 2
DILUPBiCG:  Solving for Uy, Initial residual = 2.1084076e-05, Final residual = 1.7394592e-07, No Iterations 2
DILUPBiCG:  Solving for Uz, Initial residual = 4.0269511e-05, Final residual = 1.4442665e-07, No Iterations 2
GAMG:  Solving for p, Initial residual = 0.0033965334, Final residual = 0.00033571154, No Iterations 1
time step continuity errors : sum local = 1.3884555e-08, global = 4.8871526e-12, cumulative = 3.0121945e-09
GAMG:  Solving for p, Initial residual = 0.0012140916, Final residual = 0.00010521305, No Iterations 4
time step continuity errors : sum local = 4.3514973e-09, global = 8.6495586e-11, cumulative = 3.0986901e-09
DILUPBiCG:  Solving for epsilon, Initial residual = 9.9529664e-06, Final residual = 8.4810541e-08, No Iterations 2
DILUPBiCG:  Solving for k, Initial residual = 1.8475951e-06, Final residual = 5.5701423e-09, No Iterations 4
PIMPLE: iteration 25
DILUPBiCG:  Solving for Ux, Initial residual = 2.7349049e-06, Final residual = 2.3595166e-08, No Iterations 7
DILUPBiCG:  Solving for Uy, Initial residual = 4.7743527e-05, Final residual = 3.7953704e-07, No Iterations 7
DILUPBiCG:  Solving for Uz, Initial residual = 9.2807878e-05, Final residual = 6.4070125e-07, No Iterations 9
GAMG:  Solving for p, Initial residual = 0.2261028, Final residual = 0.020367173, No Iterations 3
time step continuity errors : sum local = 1.0216869e-06, global = -2.317465e-08, cumulative = -2.007596e-08
GAMG:  Solving for p, Initial residual = 0.065461729, Final residual = 0.0063586886, No Iterations 4
time step continuity errors : sum local = 2.6827385e-07, global = -4.9828708e-08, cumulative = -6.9904668e-08
DILUPBiCG:  Solving for epsilon, Initial residual = 3.4064378e-05, Final residual = 3.3123049e-07, No Iterations 5
DILUPBiCG:  Solving for k, Initial residual = 5.9163051e-06, Final residual = 3.2299708e-08, No Iterations 8
PIMPLE: not converged within 25 iterations
__________________
The skeleton ran out of shampoo in the shower.
RodriguezFatz is offline   Reply With Quote

Old   October 1, 2014, 10:03
Default
  #27
Senior Member
 
akidess's Avatar
 
Anton Kidess
Join Date: May 2009
Location: Germany
Posts: 1,377
Rep Power: 29
akidess will become famous soon enough
I don't really use the pimple solver, so I can only guess. To me it looks like while your solution seems to be ok with the relaxation, the final result in iteration 24 is still not a great initial guess for a solution without underrelaxation. Thus in iteration 25, where no relaxation is applied, things break down. Hope someone with more experience with pimple chimes in too.
__________________
*On twitter @akidTwit
*Spend as much time formulating your questions as you expect people to spend on their answer.
akidess is offline   Reply With Quote

Old   March 20, 2015, 08:53
Default
  #28
Senior Member
 
M. Montero
Join Date: Mar 2009
Location: Madrid
Posts: 153
Rep Power: 17
be_inspired is on a distinguished road
Would it be possible to use OF3.1-ext for pimpleDyMFoam to achieve higher CFL? That is, an overal implicit approach.
I am trying to simulate a wind turbine with 3 blades. The mesh just at trailing edge is really small so the time step should be really low to match a CFL=1.
For perfom 1 iteration per 1 degree of rotation, the max CFL is around 700 while the average is around 0.007.
For CFL=1, the simulation time maybe could last 2 months...
be_inspired is offline   Reply With Quote

Old   March 23, 2015, 10:02
Default transientSimpleDyMFoam
  #29
Senior Member
 
M. Montero
Join Date: Mar 2009
Location: Madrid
Posts: 153
Rep Power: 17
be_inspired is on a distinguished road
What about transientSimpleDyMFoam solver?
What are the diferences wrt pimpleDyMFoam?

Last edited by be_inspired; March 25, 2015 at 05:54.
be_inspired is offline   Reply With Quote

Old   March 28, 2015, 15:59
Default
  #30
Retired Super Moderator
 
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 10,975
Blog Entries: 45
Rep Power: 128
wyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to all
Greetings be_inspired,

For some details about "transientSimpleFoam": http://openfoamwiki.net/index.php/Ma...ransientSimple

As for using a CFL higher than 0.5 or 1:
Best regards,
Bruno
__________________
wyldckat 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
Superlinear speedup in OpenFOAM 13 msrinath80 OpenFOAM Running, Solving & CFD 18 March 3, 2015 05:36
How to write k and epsilon before the abnormal end xiuying OpenFOAM Running, Solving & CFD 8 August 27, 2013 15:33
dynamic Mesh is faster than MRF???? sharonyue OpenFOAM Running, Solving & CFD 14 August 26, 2013 07:47
A simple problem about Adaptive Time steps sakurabogoda CFX 9 December 12, 2012 05:22
Could anybody help me see this error and give help liugx212 OpenFOAM Running, Solving & CFD 3 January 4, 2006 18:07


All times are GMT -4. The time now is 06:39.