CALL RSDA (LUS, NUMSF, LUA)
CALL RNDA (LUS, NUMSF, LUA)
CALL CHDA (LUS, NUMSF, LUA)
CALL CSDA (LUS, NUMSF, LUA)
CALL CNDA (LUS, NUMSF, LUA)
| Parameter | Description |
|---|---|
| IPRI | Assembly print code |
| LOWASM | First changed equation |
| MDATAU | Call your subroutine to define matrix data |
This subroutine populates the matrix [A] with data by the following steps:
| Matrix Format | Data Type | Matrix Symmetry | Subroutines Required |
|---|---|---|---|
| PROFLIE or BLOCK | Real | Symmetric | RSUBLK |
| PROFLIE or BLOCK | Real | Nonsymmetric | RSUBLK, RNUBLK |
| PROFLIE or BLOCK | Complex | Hermitian | CHUBLK |
| PROFLIE or BLOCK | Complex | Symmetric | CSUBLK |
| PROFLIE or BLOCK | Complex | Nonsymmetric | CSUBLK, CNUBLK |
| SLAB | Real | Nonsymmetric | RNUSLB |
| SLAB | Complex | Nonsymmetric | CNUSLB |
The assembly process begins with the equation LOWASM, which is a FMS parameter. The default value of 1 should always be used the first time a matrix is assembled. For nonlinear analysis, you may set LOWASM to the first changed equation and FMS will only reassemble the part of the matrix beginning with equation LOWASM.
This subroutine is a subset of the more general assemble- factor subroutine. It is equivalent to one of the following calls:
CALL RSDAF(IDUM, RDUM, 0, LUS,
NUMSF, LUA, 0, IDUM, IDUM, 0)
CALL RNDAF(IDUM, RDUM, 0, LUS,
NUMSF, LUA, 0, IDUM, IDUM, 0)
CALL CHDAF(IDUM, RDUM, 0, LUS,
NUMSF, LUA, 0, IDUM, IDUM, 0)
CALL CSDAF(IDUM, RDUM, 0, LUS,
NUMSF, LUA, 0, IDUM, IDUM, 0)
CALL CNDAF(IDUM, RDUM, 0, LUS,
NUMSF, LUA, 0, IDUM, IDUM, 0)
where IDUM and RDUM are dummy arguments. If you want to perform assembly as a separate step and your matrix is initialized to [0], you may use this subroutine. Otherwise the more general assemble-factor subroutines should be used.