Please help: SIMPLE algorithm on staggered grid
I’m writing a program to solve the 2D lid-driven problem based on SIMPLE algorithm on a staggered grid using finite-difference method, but cannot get a converged result. My boundary conditions are:
(1) u=0 and v=0 at 3 walls; u=0.5 m/sec, v=0 at the lid;
(2) dp/dn=0 (i.e. p[boundary]=p[inside_neighbor]) at all 4 sides;
(3) p’=0 at all 4 sides.
The attached picture shows a screen capture of the velocity (u) distribution. Red color represents the highest velocity (to the right). Blue color represents the lowest.
The simulation blows out after about 190 iterations. It seems the problem starts at the rightmost point of the lid, where the flow shall make a turn (from +x direction to –y direction).
Can someone tell me what went wrong with my program? Or are there any special techniques (or boundary conditions) to treat singularity points like this?
You've left out a lot of detail.
1. What relaxation factors are you using? Too large and the iterations will diverge. You might try systematically reducing your factors to see if you can get convergence.
2. With a staggered grid, the corner 'singularities' are not a factor - you never need to assign values for the velocities or pressures at the corners.
3. Are you using the Rhie-Chow technique for switching from cell centers to cell edges (and back) during each iteration?
I haven't worked with SIMPLE, but I have solved the driven cavity with the LANL Sola codes. And before that, the SMAC algorithm. These both use time marching (with fixed rules for allowable time step size) as a form of relaxation.
Perhaps someone who's worked with SIMPLE can help.
There is no enough information to say where the error would be. Staggered is a bit tricky to start with. I have decent experience with staggered grid. Perhaps, I can help debugging. I don't have any reservation in sharing parts of my 2d code even.
Thank you otd and senthil
Thank you otd and senthil for offering help!
But I found the problem in my code. There was an error in handling the boundary conditions!
BTW, do you think collocated grid is superior than staggered grid? Is it difficult to program with collocated grid on 3D complex shapes?
|All times are GMT -4. The time now is 16:58.|