This collection of subroutines, when used in conjunction with the MA42 package, solves ﬁnite-element equations using a multiple front algorithm. It is assumed that the underlying ﬁnite-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 eﬃcient 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 MA52F/FD and 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 ﬁnite 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 MA52K/KD.