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

Strange oscillating force result when nOuterCorrectors=1

Register Blogs Community New Posts Updated Threads Search

Like Tree4Likes
  • 4 Post By Bloerb

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   October 15, 2022, 11:03
Default Strange oscillating force result when nOuterCorrectors=1
  #1
Senior Member
 
TWB
Join Date: Mar 2009
Posts: 402
Rep Power: 19
quarkz is on a distinguished road
Hi,

I'm simulating a rather simple flow past airfoil naca0012 case.

The airfoil is pitched up to 20deg. Re = 100.

Although I think it is most likely a steady flow, I still use pimpleFoam instead of simpleFoam.

However, I got force drag results oscillating between +/- 100. This is clearly wrong. I changed some parameters in different files and found that increasing nOuterCorrectors to 10 solves the problem. Even at 3, the result is wrong.

Is this expected? Cos in other more complicated simulations which I do - 3D, unsteady, moving bodies, I use nOuterCorrectors = 1 and I didn't encounter this problem.

So I'm wondering why it happens to such a small simple problem?

In the wiki on pimpleFoam (https://openfoamwiki.net/index.php/O...hm_in_OpenFOAM)

it is mentioned that to use large time steps, nOuterCorrectors has to be increased to 50 or more. However, I'm only using CFL = 1 and my time step is small.

Can anyone explain this? Btw, I'm using OF2206.

Thanks
quarkz is offline   Reply With Quote

Old   October 15, 2022, 12:57
Default
  #2
Senior Member
 
Join Date: Sep 2013
Posts: 353
Rep Power: 20
Bloerb will become famous soon enough
As a rule of thumb...If your mesh is changing you likely need lots of outer loops for convergence. If you are using a fixed mesh, it still depends on your solver settings.

If you are running a steady state simulation simpleFoam should be stable. Now if you are near stall / unsteady flow conditions simpleFoam might not converge to a low residual since the flow is in reality wobbling around and your numerics can't smooth this down. Using a steady state assumption for something inherently unsteady yields this. So in other words there is a limit how much of an unsteady behavior you can smooth before it blows up and doesn't yield realistic values at all. That's typically the point where you need to switch to unsteady solvers.

Now for a piso solver, you need to make sure it fully converges for each time step. This depends on the nCorrectors....piso needs enough inner corrector loops to converge. Now again...it might not, because there are factors that make convergence difficult to achieve...like a poor mesh, high order schemes, or a Co number that is to high. All of these amplify numerical noise. But for Co<1 this should be possible if the numerical errors can be smoothed out. You need to make sure though that you are using enough nCorrectors and maybe nNonOrthoCorrectors as well...sometimes all it takes is going up from 2 to 3 or 5 loops.

Using pimple has the advantage that you are mixing simple and piso. piso shouldn't/can't use convergence aids in the form of relaxation factors, because you are loosing the temporal consistency if you do...simple can and must use them, because the algorithm isn't fully converging for each time step. Hence pimple allows you to use relaxation for 9 out of 10 loops (which would be simple loops) per time step and only solve the last one without. Hence you get a better initial guess, more smoothing because you get a really good initial guess by solving the time step 9 times with lots of smoothing from the relaxation factors. And only in the last loop do you solve it fully with temporal consistency / without the relaxation.

How many nOuterCorrectors do you need? Well it depends on how much relaxation you use...using none at all might even be worse than pure piso, because you solve each time step 10 times and hence would amplify errors 10 times. And it also depends on how many inner loops you do...



For moving meshes however you might need strong coupling. Hence you need to solve each time step several times to get the correct mesh movement etc. Hence here pimple and lots of outer correctors are typically a must.



Now this is additional work....it takes more effort to solve in contrast to pure piso, but you get a more robust solving experience in return. pimple can convergence for higher co numbers, shittier meshes etc. But for a price. Nevertheless for maxCo<1 piso should do it as well if you are using enough nCorrectors for most meshes and numerical settings.




so long story short...check your residuals durring the inner loops...look at the nCorrectors...compare mesh quality and the settings you are using for the convection term in particular.
quarkz, jherb, Krapf and 1 others like this.
Bloerb 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
Different force result: DEFINE_Source UDF & without UDF A.Rah FLUENT 1 November 11, 2017 07:22
Strange Result of ERCOFTAC Centrifugal Pump MRF case in OF2.2.x Ohbuchi OpenFOAM Running, Solving & CFD 10 May 10, 2015 03:47
Strange Result Tremore CFX 4 March 4, 2013 16:37
DEFINE_CG_MOTION and pressure force Teo Fumagalli FLUENT 0 April 11, 2008 10:25
oscillating body force olivier FLUENT 4 April 12, 2005 09:56


All times are GMT -4. The time now is 11:58.