CFD Online Discussion Forums

CFD Online Discussion Forums (
-   Main CFD Forum (
-   -   How to solve equations from Penalty FEM in Fluids? (

Yiling March 11, 2003 11:14

How to solve equations from Penalty FEM in Fluids?
Hi! everyone,

I am learning and practicing penalty finite element method used to solve the incompressible flow. After the typical formulation of reduced integration method, a resultant systematic matrix is formed, but how to solve this equation whose some entries in the coefficient matrix are nearly infinite? General successive over-relaxation method fails to converge for this type of equaton, although the direct method such as Gaussian elemination method does work, but the extra requirment of storage forbides its use for large equation sets.

Can you share your experience with me if you are skillful in this field? Any relative comments are also welcome. Thanks in advance.


carlslack March 17, 2003 20:45

Re: How to solve equations from Penalty FEM in Flu

You can optimize your Guassian elimination method by employing a skyline storage strategy. The idea is to trim all leading and trailing zero elements from each row of your system of equations. I've written an incompressible flow solver with Gaussian elimination, and this strategy results in an average reduction of 88% of storage space and computational effort.


Anthony Wachs March 20, 2003 05:11

Re: How to solve equations from Penalty FEM in Flu
Try to switch to iterative solver like preconditioned conjugate gradient (PCG) with sparse matrix storage as suggested in the previous mail.

PCG work fine for large matrix systems and combined with sparse storage you will save a great amount of memory.


carlslack March 20, 2003 15:58

Re: How to solve equations from Penalty FEM in Flu
I thought that PCG was only suitable for symmetric systems... What strategy to you use to apply it to the (non-symmetric) NS equations?


Yiling March 25, 2003 17:43

Re: How to solve equations from Penalty FEM in Flu
Hi, Anthony I have tried the method of PCG, but still can't solve the equation. Firstly my PCG code has worked for general linear equation, and it does work even asymmetric equation. Secondly when I use this code for the equation generated from Penalty formulation, the convergent rate is very slow, if we set the tolerance as 1.e-4 at every point, it seems hopeless to reach that value. Another worry is: in the PCG algorithm, we have to involve the calculation of matrix by vector, while some entries in the nearly-singular matrix are very large in the order (1e+8), the result of multiplication of matrix by vector sometimes exceeds the range of real variables or even for the double precision variable.


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