Making SIMPLE converge faster
Hello everybody. I wrote e CFD code for MHD research applications: I look for the equilibrium (i.e. not transient) of a conducting fluid in an externally imposed magnetic field. There is no turbulence (at least not yet), and I am using the SIMPLE algorithm to couple momentum and continuity (an energy equation is also included). I use triangular meshes. My problem comes now: from some numerical experiments I got the feeling that the SIMPLE algorithm have problems to converge on too fine meshes. If I start refining progressively my mesh, I do not say it does not converge at all, but the number of iterations needed seems to increase very much, which I am not happy with if my mesh already have a large number of nodes. I have a couple of questions:
1. Is my feeling correct? Does really the SIMPLE become less efficient on refined meshes? If so, can anybody point me out any literature on the subject? 2. Should the answer to my first question be "YES": how can I circumvent the problem (i.e. accelerating convergence)? At the moment I am choosing relaxation parameters accounting partly accounting for some advices I got in the literature (rel_pressure + rel_momentum not too far from 1), partly for some preliminary tests I made some time ago, but nothing very sistematic. Is it worth to try some more systematic tests? Are there any other techniques on the market? (Once again: is any literature available?) 3. Are there any other algorithm alternative to SIMPLE available? I know this is a silly question: there is plenty of algorithms. However, from the literature I gained the feeling that most of the segregated approaches (SIMPLER, SIMPLEC, PISO) are variations on the same theme, so they should suffer more or less from the same disadvantages. Am I correct? Does it exists anything substantially different (and better)? Where can I look for documentations? And what about coupled approaches (e.g. NewtonRaphson)? Sorry for a so long set of questions, and thank you in advance. Fabio 
Re: Making SIMPLE converge faster
Dear Fabio,
My answers to 1  YES.. It is a well known fact that velocity corrections approximation used in SIMPLE deteriorates the rate of convergence as the mesh is refined. Also, what kind of linear solver are you using to solve the set of algebraic equations? The finer the mesh, the more inner iterations it will take to converge a single set if you use something like TDMA/ADI.. Are you using a conjugate gradient based or multigrid solver? That will help some. 2  There is nothing you can do.. You already listed the modification to make it converge faster in (3). 3  Yes they are variants of SIMPLE, but do not take them lightly.. The most common one that is not listed is SIMPLEC. Very well explained in : J.P. Van Doormal and G.D. Raithby, "Enhancements of the SIMPLE Method for Predicting Incompressible Fluid Flows," Numerical Heat Transfer, 7, 147163, 1980.. The next variant, by the same author of SIMPLE, is the SIMPLER algorithm.. It is much more robust than SIMPLE and SIMPLEC for nonlinearities. However, it costs you another extra equation and full storage of coefficients for the 3 momemtum equations, i.e. it is not cheap.. Another variant not very popular since it was not published in the journals is the SIMPLEX version, by the same authors of SIMPLEC.. It has the same memory storage of SIMPLEC, but it requires the solution of another linear equation per momemtum component for the modified Dp coefficients. I read about it on Handbook of Numerical Heat Transfer, W.J. Minkowycz, E.M. Sparrow, G.E. Schneider and R.H.Pletcher.., John Wiley & Sons, 1988.. There is a paper by Dr. Darwish reviewing several variants (including SIMPLEX) "A Comparative Assessment within a MultiGrid Environment of Segregated PressureBased Algorithms for Fluid Flow at All Speeds" (PDF) at http://webfealb.fea.aub.edu.lb/fea/...blications.htm Good luck, Opaque 
Re: Making SIMPLE converge faster
Dear Opaque, thank you for your answers and literature suggestions. About your point on the inner solver: I am using at the moment a Jacobi solver that I coded myself. I know this is very unefficient, but I decided for a first quickanddirty solution and postponed the question for a later stage. I survive with a slow solver by asking only for a reduction of one order of magnitude in the residual at each inner iteration, so that I do not have a very large number of inner iterations anyway. At this point I was interested in trying to reduce the number of outer iterations, not (yet) to fasten the inner ones. From your answer I guess that the inner solver choice could also interfere with the convergence speed of the outer loop... am I right? This surprises me a little bit. If it is so, I would definitely be interested to know something more about it. Could you please point me out some more material? Thank you again. Fabio

Re: Making SIMPLE converge faster
Dear Fabio,
For an example, try reading "A Multigrid Tutorial", Second Edition, W.L.Briggs et. al.. SIAM, 2000 or "Iterative Solution of Large Sparse System of Equations", W. Hackbusch.. Springer Verlag, 1994 or google about "multigrid comparison gauss seidel'..Sure something will come out.. You will learn a lot of why more sophisticated solver are important when the mesh get finer and finer.. Good luck, Opaque 
Re: Making SIMPLE converge faster
Hi Fabio,
yes your observations are correct and fairly well documented on the convergence behaviour of SIMPLE (and some of the related segregated methods) as the number of points per direction (N) increases. In addition to the references Opaque has given below, there is a good review on the subject in the Handbook of Computational Fluid Mechanics by Roger Pyret, Chapter 2 on Incompressible flows finite difference and finite volume methods by Deng et al, Section E:strongly coupled algorithms. Specifically, talking about coupled methods: "...with suitable acceleration techniques (...this goes to your linear solver)...the increase in computational effort with the number N points per direction is at most order N, whereas segregated methods yield an increase that is greater than N^2" There are many references listed. Good Luck.......Bak_Flow 
All times are GMT 4. The time now is 00:01. 