Version 2.0.0

Recent Changes

Code Download

  • Single
  • Double

HSL_MP62: Symmetric finite-element system: multiple-front method

The module HSL_MP62 uses the multiple front method to solve sets of symmetric positive-definite finite-element equations \(\mathbf{AX} = \mathbf{B}\) that have been divided into non-overlapping subdomains. The HSL routines MA62 and MA72 are used with MPI for message passing.

TThe coefficient matrix \(\mathbf{A}\) must be of the form

\[\mathbf{A} = \sum_{k=1}^ m \mathbf{A} ^{(k)}\]

where the summation is over finite elements. The element matrix \(\mathbf{A}^{(k)}\) is nonzero only in those rows and columns which correspond to variables in the \(k\)-th element. The right-hand side(s) \(\mathbf{B}\) may optionally be in the form

\[\mathbf{B} = \sum_{k=1}^ m \mathbf{B} ^{(k)}\] where \(\mathbf{B} ^{(k)}\) is nonzero only in those rows which correspond to variables in element \(k\).

In the multiple front method, a frontal decomposition is performed on each subdomain separately. Thus, on each subdomain, \(L\) and \(U\) factors are computed. Once all possible eliminations have performed within a subdomain, there remain the interface variables, which are shared by more than one subdomain. If \(\mathbf{F} _{i}\) is the remaining frontal matrix for subdomain \(i\), and \(\mathbf{C} _{i}\) is the corresponding right-hand side matrix, then the remaining problem is

\[\label{mp43.eqn} \mathbf{FY} = \mathbf{C},\] where \(\mathbf{F} = \sum_i \mathbf{F} _{i}\) and \(\mathbf{C} = \sum_i \mathbf{C} _{i}\). By treating each \(\mathbf{F} _i\) as an element matrix, the interface problem ([mp43.eqn]) is also solved by the frontal method. Once ([mp43.eqn]) has been solved, back-substitution on the subdomains completes the solution.

The element data and/or the matrix factors are optionally held in direct-access files.