CFD Online Discussion Forums (http://www.cfd-online.com/Forums/)
-   Main CFD Forum (http://www.cfd-online.com/Forums/main/)
-   -   linear system (http://www.cfd-online.com/Forums/main/4590-linear-system.html)

 Annie April 1, 2002 06:47

linear system

Dear all,

When solving 2d or 3d pressure Poisson equation by iterative methods, we usually have to compose a big matrix ((nx*ny,nx*ny) for 2D). For large nx or ny, say 200, the resultant matrix will be very large. Is there any means to cope this problem?

(I ever heard that since the matrix is usually sparse, there may be some tricks in storing the matrix)

Thanks

 Junseok Kim April 1, 2002 14:50

Re: linear system

You can use pointwise iteration method with multigrid method. Then you don't have to solve the big matrix.

 Sathe April 1, 2002 19:45

Re: linear system

You may use matrix free methods. A good reference for that is "A Globally Convergent Matrix-Free Algorithm For Implicit Time-Marching Schemes Arising In Finite Element Analysis In Fluids" Johan, Hughes, Shakib - Computer Methods in Applied Mechanics and Engineering 87 1991 (281-304)

 ryoga April 1, 2002 20:00

Re: linear system

I don't know if this will answer your question or not, but Argonne National Laboratory has a "suite" of computational tools that you may find useful. It is called PETSc (Portable, Extensible Toolkit for Scientific Computation). It has a nice library of iterative solvers -- including Krylov Subspace Methods -- and preconditioner routines. Furthermore, it has the capability to use Matrix-Free solvers, although that is more of an advanced feature and it may require some programming on your part. In my experience, it works quite well and should easily handle systems as large as 200 x 200. Hope this helps!

 Tony April 2, 2002 18:16

Re: linear system

Hi there,

The nodal support is very narrow and the matrix must be symmetric. You can take the advantage of the sparsity when assembly the matrix. It is not a problem for nowadays computers to restore 200x200 or bigger matrices.

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