###
HSL_MP42: Unsymmetric finite-element system: multiple-front method, element entry

The module `HSL_MP42`

uses the multiple front method to solve sets of finite-element equations \(\mathbf{AX} = \mathbf{B}\) that have been divided into non-overlapping subdomains. The HSL routines `MA42`

and `MA52`

are used with MPI for message passing.

The 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, \(\mathbf{L}\) and \(\mathbf{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 together with any variables that are not eliminated because of stability or efficiency considerations. 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{mp42.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 (3) is also solved by the frontal method. Once ([mp42.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.