Wednesday, September 5, 2018

Solving of Systems of Linear Algebraic Equations with Very Large Sparse Matrices.


Obtaining numerical solutions of partial differential equations using the Finite Difference or Finite Element Method inevitably brings up a necessity to solve systems of linear algebraic equations with very large, sparse matrices. 


How actually large is "large" ? Several tens of thousands of equations is a pretty ordinary system for modern computers. However, real-life problems arising from the use of PDE, especially three-dimensional, can lead to systems with much larger matrices. Two or three million equations, involving a sparse matrix, do represent a problem, unless you have an access to a computer somewhat more powerful than an ordinary desktop. 

But you still can use your ordinary desktop computer to solve such system. We set a goal to develop a code capable of solving such large problems. Below, we discuss an example. 

Consider calculation of deflections of a perforated panel using the Finite Element Method. The model presented here is a square-shaped panel, with two (vertical) edges clamped and a distributed lateral pressure applied to each finite element. The panel contains a set of 70 openings. The finite element model has the following properties: 


We selected this particular example for a purpose. It is known that iterative processes converge faster
or slower depending on the matrix spectral properties. Thin-walled structures are notoriously
known as having rather ill-conditioned matrices, which can make the convergence slow.
Nevertheless, our code has demonstrated excellent performance.

All technical parameters of the computer used and the obtained results are presented below.



In order to demonstrate the influence of the matrix spectral properties on the convergence, we also ran 
the same model but this time prepared for a thick plate: the thickness was selected to be 40 mm instead 
of three (the lateral load was also increased to 10^5 N/m^2). In this case the convergence to solution 
was achieved in just 1 min. 45 sec. !

Why the above comparison is important ? The Finite Element Method is often used for the analysis 
of three-dimensional models consisting of tetrahedral and/or hexahedral elements. It turned out that the 
spectral properties of the corresponding stiffness matrices demonstrate behavior similar to the second 
case from the above. Thin plates are "more difficult" from the convergence point of view than thick plates
or 3D models. 

Our next example is a perforated panel similar to the previous one, but with significantly larger number 
of quadrilateral elements. This time the model has twenty rows and twenty five columns of openings.




                   


This problem was aslo solved by our code; the results are presented above. It is interesting to note
that this time the convergence rate (which is assumed to be a ratio between the number of equations
and the number of iterations performed for convergence) was much higher than in the previous
example. As mentioned before, after a number of additional numerical experiments we found that
the principal contributing factor was the panel thickness: modeling of thick plates by Mindlin elements
leads to the stiffness matrices with significantly better spectral properties than modeling of thin plates,
when the matrices can have relatively large condition ratios, leading to slower convergence of the iterations.

The above examples demonstrate that very large problems (of up to several millions of equations
with sparse matrices) can be successfully solved on ordinary PCs, with the whole process taking
place in the Random Access Memory. No data transfer between the RAM and the hard disk 
is required.

The readers are invited to actively participate in the discussion and share their own experiences
in solving systems of linear equations with large sparse matrices.