The TELEMAC-MASCARET system  trunk
Functions/Subroutines
sd_sdrv.f File Reference

Go to the source code of this file.

Functions/Subroutines

subroutine sd_sdrv (N, P, IP, IA, JA, A, B, Z, NSP, ISP, RSP, ESP, PATH, FLAG)
 

Function/Subroutine Documentation

◆ sd_sdrv()

subroutine sd_sdrv ( integer, intent(in)  N,
integer, dimension(n), intent(inout)  P,
integer, dimension(*), intent(inout)  IP,
integer, dimension(*), intent(inout)  IA,
integer, dimension(*), intent(inout)  JA,
double precision, dimension(*), intent(inout)  A,
double precision, dimension(n), intent(in)  B,
double precision, dimension(n), intent(inout)  Z,
integer, intent(in)  NSP,
integer, dimension(*), intent(inout)  ISP,
double precision, dimension(nsp), intent(inout)  RSP,
integer, intent(inout)  ESP,
integer, intent(in)  PATH,
integer, intent(inout)  FLAG 
)
Parameters
[in]n[out] A Real one-dimensional array containing the NONZERO ENTRIES IN (THE UPPER TRIANGLE OF) M, STORED BY ROWS; DIMENSION =NUMBER OF NONZERO ENTRIES IN (THE UPPER TRIANGLE OF) M
[in]BReal one-dimensional array containing the RIGHT-HAND SIDE B; B AND Z CAN BE THE SAME ARRAY; DIMENSION = N
[out]ESPInteger variable; if sufficient storage was AVAILABLE TO PERFORM THE SYMBOLIC FACTORIZATION (SSF), THEN ESP IS SET TO THE AMOUNT OF EXCESS STORAGE PROVIDED (NEGATIVE IF INSUFFICIENT STORAGE WAS AVAILABLE TO PERFORM THE NUMERIC FACTORIZATION (SNF))
[out]FLAGInteger error flag; values and their meanings: 0 NO ERRORS DETECTED 2N+K DUPLICATE ENTRY IN A – ROW = K 6N+K INSUFFICIENT STORAGE IN SSF – ROW = K 7N+1 INSUFFICIENT STORAGE IN SNF 8N+K ZERO PIVOT – ROW = K 10N+1 INSUFFICIENT STORAGE IN SDRV 11N+1 ILLEGAL PATH SPECIFICATION
[out]IAInteger one-dimensional array containing POINTERS TO DELIMIT ROWS IN JA AND A; DIMENSION = N+1
[out]IPInteger one-dimensional array used to return THE INVERSE OF THE PERMUTATION RETURNED IN P; DIMENSION = N
[out]ISPInteger one-dimensional array used for WORKING STORAGE; DIMENSION = NSP
[out]JAInteger one-dimensional array containing the COLUMN INDICES CORRESPONDING TO THE ELEMENTS OF A; DIMENSION = NUMBER OF NONZERO ENTRIES IN (THE UPPER TRIANGLE OF) M
[in]NOrder of the matrix
[in]NSPDeclared dimension of the one-dimensional ARRAY ISP; NSP MUST BE AT LEAST 3N+4K, WHERE K IS THE NUMBER OF NONZEROES IN THE STRICT UPPER TRIANGLE OF M
[out]PInteger one-dimensional array used to return THE PERMUTATION OF THE ROWS AND COLUMNS OF M CORRESPONDING TO THE MINIMUM DEGREE ORDERING; DIMENSION = N
[in]PATHInteger path specification; VALUES AND THEIR MEANINGS ARE - 1 PERFORM SSF, SNF, AND SNS 2 PERFORM SNF AND SNS (ISP/RSP IS ASSUMED TO HAVE BEEN SET UP IN AN EARLIER CALL TO SDRV (FOR SSF)) 3 PERFORM SNS ONLY (ISP/RSP IS ASSUMED TO HAVE BEEN SET UP IN AN EARLIER CALL TO SDRV (FOR SSF AND SNF)) 4 PERFORM SSF 5 PERFORM SSF AND SNF 6 PERFORM SNF ONLY (ISP/RSP IS ASSUMED TO HAVE BEEN SET UP IN AN EARLIER CALL TO SDRV (FOR SSF))
[out]RSPReal one-dimensional array used for working STORAGE; RSP AND ISP SHOULD BE EQUIVALENCED; DIMENSION = NSP
[out]ZReal one-dimensional array containing the SOLUTION X; Z AND B CAN BE THE SAME ARRAY; DIMENSION = N
[in]nsp[out] A Real one-dimensional array containing the NONZERO ENTRIES IN (THE UPPER TRIANGLE OF) M, STORED BY ROWS; DIMENSION =NUMBER OF NONZERO ENTRIES IN (THE UPPER TRIANGLE OF) M
[in]BReal one-dimensional array containing the RIGHT-HAND SIDE B; B AND Z CAN BE THE SAME ARRAY; DIMENSION = N
[out]ESPInteger variable; if sufficient storage was AVAILABLE TO PERFORM THE SYMBOLIC FACTORIZATION (SSF), THEN ESP IS SET TO THE AMOUNT OF EXCESS STORAGE PROVIDED (NEGATIVE IF INSUFFICIENT STORAGE WAS AVAILABLE TO PERFORM THE NUMERIC FACTORIZATION (SNF))
[out]FLAGInteger error flag; values and their meanings: 0 NO ERRORS DETECTED 2N+K DUPLICATE ENTRY IN A – ROW = K 6N+K INSUFFICIENT STORAGE IN SSF – ROW = K 7N+1 INSUFFICIENT STORAGE IN SNF 8N+K ZERO PIVOT – ROW = K 10N+1 INSUFFICIENT STORAGE IN SDRV 11N+1 ILLEGAL PATH SPECIFICATION
[out]IAInteger one-dimensional array containing POINTERS TO DELIMIT ROWS IN JA AND A; DIMENSION = N+1
[out]IPInteger one-dimensional array used to return THE INVERSE OF THE PERMUTATION RETURNED IN P; DIMENSION = N
[out]ISPInteger one-dimensional array used for WORKING STORAGE; DIMENSION = NSP
[out]JAInteger one-dimensional array containing the COLUMN INDICES CORRESPONDING TO THE ELEMENTS OF A; DIMENSION = NUMBER OF NONZERO ENTRIES IN (THE UPPER TRIANGLE OF) M
[in]NOrder of the matrix
[in]NSPDeclared dimension of the one-dimensional ARRAY ISP; NSP MUST BE AT LEAST 3N+4K, WHERE K IS THE NUMBER OF NONZEROES IN THE STRICT UPPER TRIANGLE OF M
[out]PInteger one-dimensional array used to return THE PERMUTATION OF THE ROWS AND COLUMNS OF M CORRESPONDING TO THE MINIMUM DEGREE ORDERING; DIMENSION = N
[in]PATHInteger path specification; VALUES AND THEIR MEANINGS ARE - 1 PERFORM SSF, SNF, AND SNS 2 PERFORM SNF AND SNS (ISP/RSP IS ASSUMED TO HAVE BEEN SET UP IN AN EARLIER CALL TO SDRV (FOR SSF)) 3 PERFORM SNS ONLY (ISP/RSP IS ASSUMED TO HAVE BEEN SET UP IN AN EARLIER CALL TO SDRV (FOR SSF AND SNF)) 4 PERFORM SSF 5 PERFORM SSF AND SNF 6 PERFORM SNF ONLY (ISP/RSP IS ASSUMED TO HAVE BEEN SET UP IN AN EARLIER CALL TO SDRV (FOR SSF))
[out]RSPReal one-dimensional array used for working STORAGE; RSP AND ISP SHOULD BE EQUIVALENCED; DIMENSION = NSP
[out]ZReal one-dimensional array containing the SOLUTION X; Z AND B CAN BE THE SAME ARRAY; DIMENSION = N
[in]path[out] A Real one-dimensional array containing the NONZERO ENTRIES IN (THE UPPER TRIANGLE OF) M, STORED BY ROWS; DIMENSION =NUMBER OF NONZERO ENTRIES IN (THE UPPER TRIANGLE OF) M
[in]BReal one-dimensional array containing the RIGHT-HAND SIDE B; B AND Z CAN BE THE SAME ARRAY; DIMENSION = N
[out]ESPInteger variable; if sufficient storage was AVAILABLE TO PERFORM THE SYMBOLIC FACTORIZATION (SSF), THEN ESP IS SET TO THE AMOUNT OF EXCESS STORAGE PROVIDED (NEGATIVE IF INSUFFICIENT STORAGE WAS AVAILABLE TO PERFORM THE NUMERIC FACTORIZATION (SNF))
[out]FLAGInteger error flag; values and their meanings: 0 NO ERRORS DETECTED 2N+K DUPLICATE ENTRY IN A – ROW = K 6N+K INSUFFICIENT STORAGE IN SSF – ROW = K 7N+1 INSUFFICIENT STORAGE IN SNF 8N+K ZERO PIVOT – ROW = K 10N+1 INSUFFICIENT STORAGE IN SDRV 11N+1 ILLEGAL PATH SPECIFICATION
[out]IAInteger one-dimensional array containing POINTERS TO DELIMIT ROWS IN JA AND A; DIMENSION = N+1
[out]IPInteger one-dimensional array used to return THE INVERSE OF THE PERMUTATION RETURNED IN P; DIMENSION = N
[out]ISPInteger one-dimensional array used for WORKING STORAGE; DIMENSION = NSP
[out]JAInteger one-dimensional array containing the COLUMN INDICES CORRESPONDING TO THE ELEMENTS OF A; DIMENSION = NUMBER OF NONZERO ENTRIES IN (THE UPPER TRIANGLE OF) M
[in]NOrder of the matrix
[in]NSPDeclared dimension of the one-dimensional ARRAY ISP; NSP MUST BE AT LEAST 3N+4K, WHERE K IS THE NUMBER OF NONZEROES IN THE STRICT UPPER TRIANGLE OF M
[out]PInteger one-dimensional array used to return THE PERMUTATION OF THE ROWS AND COLUMNS OF M CORRESPONDING TO THE MINIMUM DEGREE ORDERING; DIMENSION = N
[in]PATHInteger path specification; VALUES AND THEIR MEANINGS ARE - 1 PERFORM SSF, SNF, AND SNS 2 PERFORM SNF AND SNS (ISP/RSP IS ASSUMED TO HAVE BEEN SET UP IN AN EARLIER CALL TO SDRV (FOR SSF)) 3 PERFORM SNS ONLY (ISP/RSP IS ASSUMED TO HAVE BEEN SET UP IN AN EARLIER CALL TO SDRV (FOR SSF AND SNF)) 4 PERFORM SSF 5 PERFORM SSF AND SNF 6 PERFORM SNF ONLY (ISP/RSP IS ASSUMED TO HAVE BEEN SET UP IN AN EARLIER CALL TO SDRV (FOR SSF))
[out]RSPReal one-dimensional array used for working STORAGE; RSP AND ISP SHOULD BE EQUIVALENCED; DIMENSION = NSP
[out]ZReal one-dimensional array containing the SOLUTION X; Z AND B CAN BE THE SAME ARRAY; DIMENSION = N

Definition at line 7 of file sd_sdrv.f.

+ Here is the call graph for this function:
+ Here is the caller graph for this function: