Version 2.0.0
18th July 2008- User documentation
- Recent Changes
-
Code Download
- Single
- Double
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.