28th February 2008
This collection of subroutines, when used in conjunction with the
MA42 package, solves finite-element equations using a multiple front algorithm. It is assumed that the underlying finite-element mesh has been partitioned into (non-overlapping) subdomains. In the multiple front algorithm, a frontal method is applied to each subdomain separately. This can be done in parallel. Using multiple fronts can also reduce the amount of work required.
MA52 provides routines for generating lists of variables belonging to more than one subdomain, for preserving the partial factorization of a matrix when the sequence of calls to
MA42B/BD (using element or equation entry) is incomplete, and for performing forward or back-substitution on a subdomain.
MA52 uses reverse communication.
The use of HSL routine
MC53 to obtain an efficient element ordering in each subdomain is recommended before
MA52 is used.
MA52 was revised in October 1999 and in August 2001. This involved adding extra subroutines
MA52K/KD, which allow
MA52 to be used without the restriction to diagonal pivoting required by
MA52B/BD and also allows
MA52 to be used to solve general linear systems of equations (not in finite element form) using the multiple front method. In this case, the user must partition the system matrix into blocks of rows and the frontal method should then be applied to each block separately. At the end of the assembly and elimination processes, for each block there will remain a rectangular frontal matrix and corresponding right-hand side vector. These may be preserved using subroutine
MA52F/FD or, in sparse form, using