Frontal solver

From Wikipedia, the free encyclopedia

A frontal solver, due to Irons[1] is an approach to solving sparse linear systems which is used extensively in finite element analysis.[2] It is a variant of Gauss elimination that automatically avoids a large number of operations involving zero terms.[3]

A frontal solver builds LU or Choleski decomposition of a sparse matrix given as the assembly of element matrices by assembling the matrix and eliminating equations only on a subset of elements at a time. This subset is called the front and it is essentially the transition region between the part of the system already finished and the part not touched yet. The whole sparse matrix is never created explicitly. Only parts of the matrix are assembled as they enter the front. Processing the front involves dense matrix operations, which use the CPU efficiently. In a typical implementation, only the front is in memory, while the factors in the decomposition are written into files. The element matrices are read from files or created as needed and discarded.

A multifrontal solver of Duff and Reid[4] is an improvement of the frontal solver that uses several independent fronts at the same time. The fronts can be worked on by different processors, which enables parallel computing.

See [5] for a monograph exposition.

[edit] References

  1. ^ Irons, B. M., 1970. A frontal solution scheme for finite element analysis. Int. J. Numer. Methods Eng. 2, 5--32
  2. ^ Renaud Sizaire, keyFE2 User Manual, 2005, Sec. I.4.2 Solving_linear_system online
  3. ^ Hayrettin Kardestuncer, Ed. Finite Element Handbook.
  4. ^ I. S. Duff , J. K. Reid, The Multifrontal Solution of Indefinite Sparse Symmetric Linear, ACM Transactions on Mathematical Software (TOMS), v.9 n.3, p.302-325, Sept. 1983 DOI 10.1145/356044.356047
  5. ^ Iain S Duff , Albert M Erisman , John K Reid, Direct methods for sparse matrices, Oxford University Press, Inc., New York, NY, 1986

[edit] See also

This article about an engineering topic is a stub. You can help Wikipedia by expanding it.