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

Go to the source code of this file.

Functions/Subroutines

subroutine sd_snf (N, P, IP, IA, JA, A, D, IJU, JU, IU, U, UMAX, IL, JL, FLAG)
 

Function/Subroutine Documentation

◆ sd_snf()

subroutine sd_snf ( integer, intent(in)  N,
integer, dimension(n), intent(in)  P,
integer, dimension(n), intent(in)  IP,
integer, dimension(n+1), intent(in)  IA,
integer, dimension(*), intent(in)  JA,
double precision, dimension(*), intent(in)  A,
double precision, dimension(n), intent(inout)  D,
integer, dimension(n), intent(in)  IJU,
integer, dimension(*), intent(in)  JU,
integer, dimension(n+1), intent(in)  IU,
double precision, dimension(umax), intent(inout)  U,
integer, intent(in)  UMAX,
integer, dimension(*), intent(inout)  IL,
integer, dimension(*), intent(inout)  JL,
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
[out]D(d(i),i=k,n) contains the k-th row of u (expanded)
[out]FLAGLogical variable; if dflag = .true., then STORE NONZERO DIAGONAL ELEMENTS AT THE BEGINNING OF THE ROW
[out]IAInteger one-dimensional array containing POINTERS TO DELIMIT ROWS IN JA AND A; DIMENSION = N+1
[in]IJUInteger one-dimensional array containing POINTERS TO THE START OF EACH ROW IN JU; DIMENSION = N
[out]ILIl(i) points to the first nonzero element in COLUMNS K,...,N OF ROW I OF U
[out]IPInteger one-dimensional array used to return THE INVERSE OF THE PERMUTATION RETURNED IN P; DIMENSION = N
[in]IUInteger one-dimensional array containing POINTERS TO DELIMIT ROWS IN U; DIMENSION = N+1
[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]JLInteger one-dimensional work array; dimension n DIMENSION = NUMBER OF NONZERO ENTRIES IN THE UPPER TRIANGLE OF M. JL CONTAINS LISTS OF ROWS TO BE MERGED INTO UNELIMINATED ROWS – I GE K => JL(I) IS THE FIRST ROW TO BE MERGED INTO ROW I I LT K => JL(I) IS THE ROW FOLLOWING ROW I IN SOME LIST OF ROWS IN EITHER CASE, JL(I) = 0 INDICATES THE END OF A LIST
[in]JUInteger one-dimensional array containing the COLUMN INDICES CORRESPONDING TO THE ELEMENTS OF U; DIMENSION = JUMAX
[in]NOrder of the matrix
[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
[out]UReal one-dimensional array containing the NONZERO ENTRIES IN THE STRICT UPPER TRIANGLE OF U, STORED BY ROWS; DIMENSION = UMAX
[in]UMAXDeclared dimension of the one-dimensional ARRAY U; UMAX MUST BE AT LEAST THE NUMBER OF NONZERO ENTRIES IN THE STRICT UPPER TRIANGLE OF M PLUS FILLIN (IU(N+1)-1 AFTER THE CALL TO SSF)
[in]umax[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
[out]D(d(i),i=k,n) contains the k-th row of u (expanded)
[out]FLAGLogical variable; if dflag = .true., then STORE NONZERO DIAGONAL ELEMENTS AT THE BEGINNING OF THE ROW
[out]IAInteger one-dimensional array containing POINTERS TO DELIMIT ROWS IN JA AND A; DIMENSION = N+1
[in]IJUInteger one-dimensional array containing POINTERS TO THE START OF EACH ROW IN JU; DIMENSION = N
[out]ILIl(i) points to the first nonzero element in COLUMNS K,...,N OF ROW I OF U
[out]IPInteger one-dimensional array used to return THE INVERSE OF THE PERMUTATION RETURNED IN P; DIMENSION = N
[in]IUInteger one-dimensional array containing POINTERS TO DELIMIT ROWS IN U; DIMENSION = N+1
[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]JLInteger one-dimensional work array; dimension n DIMENSION = NUMBER OF NONZERO ENTRIES IN THE UPPER TRIANGLE OF M. JL CONTAINS LISTS OF ROWS TO BE MERGED INTO UNELIMINATED ROWS – I GE K => JL(I) IS THE FIRST ROW TO BE MERGED INTO ROW I I LT K => JL(I) IS THE ROW FOLLOWING ROW I IN SOME LIST OF ROWS IN EITHER CASE, JL(I) = 0 INDICATES THE END OF A LIST
[in]JUInteger one-dimensional array containing the COLUMN INDICES CORRESPONDING TO THE ELEMENTS OF U; DIMENSION = JUMAX
[in]NOrder of the matrix
[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
[out]UReal one-dimensional array containing the NONZERO ENTRIES IN THE STRICT UPPER TRIANGLE OF U, STORED BY ROWS; DIMENSION = UMAX
[in]UMAXDeclared dimension of the one-dimensional ARRAY U; UMAX MUST BE AT LEAST THE NUMBER OF NONZERO ENTRIES IN THE STRICT UPPER TRIANGLE OF M PLUS FILLIN (IU(N+1)-1 AFTER THE CALL TO SSF)

Definition at line 7 of file sd_snf.f.

+ Here is the caller graph for this function: