SIMPLE algorithm instability at low viscosities

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

 June 4, 2014, 11:22 SIMPLE algorithm instability at low viscosities #1 New Member   Koorosh Join Date: Feb 2013 Posts: 8 Rep Power: 11 Hi everyone, I am developing a CFD/FVM code with immersed boundary capabilities for steady and laminar flows. The code is based on the SIMPLE algorithm. I am using QUICK scheme for cell face values. The code works well when the viscosity is high (1.0) using 400 nodes in each direction of the domain. The domain size is 1.0 m X 1.0 m. When I decrease the viscosity (0.001) the solution diverges catastrophically in few iterations, giving me "NaN" values for pressure and velocities! Has anyone come across something like this? I really appreciate your comments.

 June 5, 2014, 09:53 hi #2 New Member   Shawn Join Date: Mar 2012 Posts: 21 Rep Power: 12 I hope to clarify about your viscosity. 1e-3 does not seem like a low viscosity in either definition. I guess your "viscosity" is a nondimensionalized one. Yes. Low viscosity do might not be able to diminish the spreading and increase of error. That's why there is someone add more artificial viscosity in the SIMPLE. Best, Shawn

June 5, 2014, 12:24
#3
New Member

Anonymous
Join Date: Mar 2012
Posts: 13
Rep Power: 12
Quote:
 Originally Posted by kooroshg1 Hi everyone, When I decrease the viscosity (0.001) the solution diverges catastrophically in few iterations, giving me "NaN" values for pressure and velocities! Has anyone come across something like this?
you can debug your program to understanding what is cause NAN value. I think it can clarify root of problem

 June 5, 2014, 16:03 #4 New Member   Koorosh Join Date: Feb 2013 Posts: 8 Rep Power: 11 Thanks for your reply. Yes, 1e-3 is not a low viscosity. However, my code only can work with a viscosity higher than 1e-2. I am trying to debug it. I tried to add artificial viscosity at the initial stages of the solution and gradually removing it as the solution advane but I was not successful. I checked my iteration history step by step. The low values for viscosity is generating back-flow near my inlet where the boundary conditions are specified as positive velocity and zero pressure gradient. The low viscosity and positive boundary velocity makes the \$a_P\$ coefficient (as in chapter 5, An introduction to CFD, Vesteeg) to become negative. This will cause the negative velocities in the domain which is wrong. Do you have any suggestion how I can debug this? Do you think this happens because of my boundary conditions?

 June 9, 2014, 12:37 #5 Member     Michail Join Date: Apr 2009 Location: Lithuania Posts: 41 Rep Power: 15 I guess, You need to change QUICK scheme. It osscilates. I offer HLPA or UMIST look in CFD-Wiki http://www.cfd-online.com/Wiki/Discr...onvection_term take a look at this picture http://www.cfd-online.com/Wiki/Appro...s_and_examples

June 19, 2014, 11:26
#6
New Member

Anonymous
Join Date: Mar 2012
Posts: 13
Rep Power: 12
Quote:
 Originally Posted by kooroshg1 Thanks for your reply. However, my code only can work with a viscosity higher than 1e-2. Do you have any suggestion how I can debug this? Do you think this happens because of my boundary conditions?
In my previous post I assume that not only numerical scheme can cause your problem. Technical NAN can caused by division to infinity, etc. Have you validated your algorithm with viscosity 1.0e-02?

 July 9, 2014, 17:51 Peclet number #7 New Member   Koorosh Join Date: Feb 2013 Posts: 8 Rep Power: 11 Yes, I still have the same problem. I switched to Hybrid differencing scheme instead of QUICK but the solution still surfers from instabilities. I think it is because high peclet number at cell faces. I have read that the Peclet number should be less than 2 to insure stability. But with the viscosity in the order of 1e-6, the mesh needs to be refined drastically which is not possible. Can you guide me on how to solve this problem? I came across artificial diffusion but I am not sure if that is the answer. It seems with "artificial diffusion" you just increase the viscosity, but you won't be able to get actual results for low viscosity.

 July 10, 2014, 04:00 #8 Member   Join Date: Dec 2012 Posts: 92 Rep Power: 12 Hi Can you try first order upwind first and maybe use a deferred correction for the higher order terms? 1st-O is always stable for implicit schemes (if you don't make any mistake). And why are there two threads for the exact same topics?

 Tags cfd, immersed boundary method, instability, simple algorithm