FMS offers three options for storing and processing the matrix data. The FMS Parameter MFMAT is used to select which option you want.
The options are:
MFMAT=1: Profile Solver Accounts for the sparsity of matrix [A] on an equation by equation basis. Typical applications include finite element and finite difference programs. This is the default for sparse matrices. |
|
MFMAT=2: Block Solver Divides the matrix [A] into square blocks, accounting for sparsity on a block by block basis. This solver uses industry standard BLAS3 kernels and provides excellent I/O performance on extremely large problems. Typical applications include boundary integral and moment method programs. This is the default for full matrices. |
|
MFMAT=3: Slab Solver Extends the functionality of the Block Solver by providing full column partial pivoting for full nonsymmetric matrices. You must explicitly set MFMAT to select this option. |
FMS uses four files to store the data for each matrix:
-
Lower Triangle Data File, LUA(1)
Stores the terms in the lower triangle [AL]. -
Diagonal Data File, LUA(2)
Stores the terms on the diagonal as a single vector, {D}. You may read and write this data using FMSRED and FMSWRT. -
Upper Triangle Data File, LUA(3)
Stores the terms in the upper triangle [AU]. This file is not used for symmetric matrices. Integer Data File, LUA(4)
Stores all integer pointers necessary to access the file.