Version 2.1.0
19th March 2020- User documentation
- 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.