|
Calling VSS Library
VSS Library consist of Five Calls: 1. VSS_SET (Setup the Data Structure and Reordering) CALL VSS_SET(NEQ,NCOEFF,DIAG,RHS,AMAT,KPT,KIND,ANS,J_POINTER) 2. VSS_MEM (Allocate memory) CALL VSS_MEM(NEQ,NCOEFF,DIAG,RHS,AMAT,KPT,KIND,ANS,J_POINTER) 3. VSS (Factorize The matrix) CALL VSS (NEQ,NCOEFF,DIAG,RHS,AMAT,KPT,KIND,ANS,J_POINTER) 4. VSS2 (Performs Forward/Backward Substitution) Can be called many times for each R.H.S. CALL VSS2 (NEQ,NCOEFF,DIAG,RHS,AMAT,KPT,KIND,ANS,J_POINTER) 5. VSS_FREE will free all memory used by the solver. Must be called before calling setup again. CALL VSS_FREE (NEQ,NCOEFF,J_POINTER)
NEQ [I] : number of equations
NCOEFF [I] : number of non-zero coefficients
DIAG [I] : diagonal terms [size NEQ]
KPT [I] : number of (off- diagonal) coefficients in each row [size NEQ]
KIND [I] : column location of each coefficient [size NCOEFF]
AMAT [I] : (off-diagonal) coefficients in row format [size NCOEFF]
RHS [I] : Right-Hand Side (Load vector) [size NEQ]
ANS [O] : Left-Hand Side (Solution) [size NEQ]
J_POINTER [-] : WORKING VECTOR SIZE (100,2)
[I] Denotes Input
[O] Denotes Output
Example:
1 2 3 4 5 6
1 | 100 1 2 5 | | X1 | | 201 |
2 | 200 6 7 9 | | X2 | | 202 |
3 | 300 10 11 12 | | X3 | | 203 |
A = 4 | 400 13 14 | | X4 | = | 204 |
5 | 500 15 | | X5 | | 205 |
6 | 600 | | X6 | | 206 |
NUMBER OF EQUATIONS = 6
NUMBER OF COEFFICIENTS = 12
NEQ = 6
NCOEFF = 12
DIAG = { 100, 200, 300, 400, 500, 600}
KPT = { 3, 3, 3, 2, 1, 0}
KIND = { 2, 3, 6, 3, 4, 6, 4, 5, 6, 5, 6, 6}
AMAT = { 1, 2, 5, 6, 7, 9, 10,11,12, 13,14, 15}
RHS = { 201, 202, 203, 204, 205, 206}
|