We present several frontal algorithms for solving the large, sparse, linear equation systems arising in equation-based (EB) chemical process flowsheeting. The frontal approach is generally used as a banded matrix solver in connection with finite element problems. We adapt it here to the more general process flowsheeting matrix. The motivation is that the frontal approach exploits vector computer architectures by treating parts of the sparse matrix as full submatrices, thereby allowing arithmetic operations to be performed with full-matrix code (without indirect addressing). On parallel computers, the inner loops of the elimination phase can be multitasked by a simple subdivision of the frontal matrix. The flowsheeting results in this study show that the frontal approach performs very efficiently on the CRAY X-MP computer. High performance rates are obtained because the dense SAXPY operation in the inner loop can utilize the hardware chaining feature and three paths-to-memory of the CRAY X-MP system to keep both vector floating-point pipes busy at all times. Similar performance is achieved on the one-path-to-memory architecture of the CRAY-2 computer by performing several steps of Gaussian elimination together using multiple-rank updates of the frontal matrix. Results for assembly-language implementations of rank-two and rank-four updates indicate that they perform with great effectiveness on the CRAY-2 system. In fact, the multitasked versions of these kernels can achieve computation rates well over one gigaflop when used as the nucleus of a frontal solver for EB flowsheeting. Overall, the frontal codes developed here significantly outperform the usual general sparse code, LU1SOL, and show considerable promise for the solution of large EB flowsheeting matrices on advanced computer architectures.
Read full abstract