Data Type
IntegerDefault Value
1 for sparse matrices2 for full matrices.
Description
This parameter controls how the matrix [A] is stored and processed. The following options are available:
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 stores the matrix data on three separate files:
- File LUA(1) contains the terms in the lower triangle, [AL]
- File LUA(2) contains the matrix diagonals as a single vector, {D}
- File LUA(3) contains the terms in the upper triangle,[AU]
For symmetric matrices this file is not used.
FMS uses a single vector {LOWEQ} to describe the sparsity of the matrix. This vector contains the lowest coupled equation for each equation. For terms in the lower triangle [AL] this is the first non-zero term of each row, proceeding from the left edge of the matrix toward the diagonal. For terms in the upper triangle [AU] this is the first non-zero term of each column, proceeding from the top of the matrix toward the diagonal. Because FMS uses symmetric storage, the same profile vector {LOWEQ} describes both the sparsity of [AL] and [AU]. Note that for a full matrix, the profile vector {LOWEQ} would contain all 1's.