CFD Online Discussion Forums (http://www.cfd-online.com/Forums/)
-   Main CFD Forum (http://www.cfd-online.com/Forums/main/)
-   -   Implicit iterative Gauss-Seidel method (http://www.cfd-online.com/Forums/main/82313-implicit-iterative-gauss-seidel-method.html)

 dearboy November 23, 2010 06:11

Implicit iterative Gauss-Seidel method

I have developed a numerical code. I want to solve the Navier-stokes equations with implicit method. I used point by point Gauss-Seidel method. I applied the developed code for the flow around a cylinder. I use the finite volume method with body fitted mesh.the total mesh number is about 600 000. Also I use the collocated mesh and the dual time stepping method and LES for turbulence.

my questions:

1) is the gauss-seidel method, unconditionally stable for my problem(even for large CFL~100 )?

2) what other methods do you suggest instead of Gauss-Seidel (direct methods or iterative methods)?

 dshawul November 24, 2010 12:31

Quote:
 Originally Posted by dearboy (Post 284457) I have developed a numerical code. I want to solve the Navier-stokes equations with implicit method. I used point by point Gauss-Seidel method. I applied the developed code for the flow around a cylinder. I use the finite volume method with body fitted mesh.the total mesh number is about 600 000. Also I use the collocated mesh and the dual time stepping method and LES for turbulence. my questions: 1) is the gauss-seidel method, unconditionally stable for my problem(even for large CFL~100 )? 2) what other methods do you suggest instead of Gauss-Seidel (direct methods or iterative methods)?
(1)I am not an expert but I think that the method used for iterative solution is not affected by the CFL number. The CFL number is used to control the stability of the time discretization scheme (i.e for explicit or crank-nicholson). Gauss seidel will always converge for a diagonally dominant matrix.
(2) You can try conjugate gradient methods which are much faster and relatively easy to implement.

 dearboy November 24, 2010 22:39

Many thanks Daniel,
The used gauss-seidel in my code converges very good( for 10-20 iteration with under-relaxation factor about 0.65). I have used three-layer backward difference scheme for time discretization. It seems that this scheme should be unconditionally stable( I'm not sure!). So may be my time discretization is not suitable or not unconditionally stable. I will change it to Crank–Nicolson.
Many thanks.

 Dennis November 28, 2010 07:24

The three-layer backward difference scheme is unconditionally stable, so it will not explode for high CFL numbers. Furthermore it is second order accurate (like Crank-Nicholson).

But, do not forget that you still want to compute physics hence you still need to set a time step appropriate for your problem. For the cylinder you want to resolve the oscillations of the wake for instance.

For the linear system solve you can also look at Krylov subspace methods (like conjugate gradient suggested earlier), these are generally faster. If you are using a pressure correction method, you can also use a direct solver for the poisson term.

 dearboy November 28, 2010 21:59

Hi Dennis,
I know that I should use appropriate time steps. but I have used dual time stepping (Artificial compressibility method) in my solution and this method in each physical time need to be converged (with iterations). if we use the high CFL number in virtual (pseudo) time we can reduce the number of iterations. regarding to this issue, I need this unconditionally stable methods to increase the time steps in virtual time.
I should mention that despite using the implicit method in my numerical code, my time steps is very small (about 0.00005 s). I don't know why for larger time steps my implicit solution is not stable.

 dshawul November 29, 2010 10:18

Quote:
 Originally Posted by dearboy (Post 285137) I should mention that despite using the implicit method in my numerical code, my time steps is very small (about 0.00005 s). I don't know why for larger time steps my implicit solution is not stable.
Hi,
If you use PISO you still have to use small time steps. The momentum discretization is assumed to be frozen
while doing multiple pressure corrections, which is true only at small time steps. More at page 152 of this document
http://www.scribd.com/doc/27927305/N...outer_page_152

Edit: I see now you use Artificial copressibilty method, which I am not familiar with. Anyway implicit methods may
still require small time steps for reasons like that.

 All times are GMT -4. The time now is 09:34.