FMSOS
PURPOSE: Open Submatrix File
To open a file for storing submatrices.
SYNOPSIS
CALL FMSOS (LENR, LENI, LENV, NUMVEC, NUMSUB, NAME, LUS)
INPUT PARAMETERS:
OUTPUT PARAMETERS:
FMS PARAMETERS:
The following FMS Parameters are especially
important to this routine:
| Parameter |
Description |
| IEXIST |
Use existing file |
| INCORE |
File location (disk or memory) |
| LBUFSI |
Buffer size for submatrix integer
records |
| LBUFSR |
Buffer size for submatrix real
records |
| LBUFSV |
Buffer size for submatrix vector
records |
DESCRIPTION:
Submatrix Files pass submatrix data to the
FMS assembly process. Finite element
programs use submatrix files when FMS
performs the global matrix assembly.
You may create multiple submatrix files by calling this subroutine more than once. The submatrix file attributes, however, must be stored in a single array LUS(25,NUMSF). On each call, i, you pass the attribute list for that submatrix file, LUS(1,i).
If you want FMS to assemble the submatrix vectors, specify the number of vectors for parameter NUMVEC. If you specify 0 for NUMVEC, FMS skips opening files for the submatrix vectors.
Record Format
The record format used for the files is one of the following:
- Fixed Length Record
You can create fixed length record files by specifying the
record length for LENR, LENI and LENV. Use this file type if
all records are approximately the same size. Note that you
can use multiple files if necessary. If you do use multiple
files, their file attributes must be stored together in the
array LUS(25,NUMSF).
- Variable Length Record
If you specify negative or zero values for LENR, LENI and
LENV, FMS creates variable length record
files. Use this option if you are writing a single file for
wavefront numbering or your records have a variety of
lengths. You can help FMS organize these
files by providing an estimate of the average record length.
This estimate is specified as a negative number for LENR,
LENI and LENV.
Record Buffering
By default, all submatrix files are double buffered to
increase the physical I/O size and overlap I/O with data
generation. The FMS parameter LBUFSI
controls the buffer size for the integer file LUS(2), LBUFSR
controls the buffer size for the real file LUS(1) and LBUFSV
controls the buffer size for the vector file LUS(8). You
may use unbuffered files for fixed length record files by
setting LBUFSI, LBUFSR and LBUFSV to 0 before calling FMSOS.
You should only use unbuffered files if you are writing the
submatrices in a random order.
Existing Files
If the FMS Parameter IEXIST is set to 0
(default), FMS will create new files. If
the FMS Parameter IEXIST is set to 1,
FMS will use existing files. When using
existing files, the parameters LENR, LENI, LENV, NUMVEC,
NUMSUB and NAME must match the existing file or a fatal error
is generated.
Copyright © Multipath Corporation