12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- *DECK DDASLV
- SUBROUTINE DDASLV (NEQ, DELTA, WM, IWM)
- C***BEGIN PROLOGUE DDASLV
- C***SUBSIDIARY
- C***PURPOSE Linear system solver for DDASSL.
- C***LIBRARY SLATEC (DASSL)
- C***TYPE DOUBLE PRECISION (SDASLV-S, DDASLV-D)
- C***AUTHOR Petzold, Linda R., (LLNL)
- C***DESCRIPTION
- C-----------------------------------------------------------------------
- C THIS ROUTINE MANAGES THE SOLUTION OF THE LINEAR
- C SYSTEM ARISING IN THE NEWTON ITERATION.
- C MATRICES AND REAL TEMPORARY STORAGE AND
- C REAL INFORMATION ARE STORED IN THE ARRAY WM.
- C INTEGER MATRIX INFORMATION IS STORED IN
- C THE ARRAY IWM.
- C FOR A DENSE MATRIX, THE LINPACK ROUTINE
- C DGESL IS CALLED.
- C FOR A BANDED MATRIX,THE LINPACK ROUTINE
- C DGBSL IS CALLED.
- C-----------------------------------------------------------------------
- C***ROUTINES CALLED DGBSL, DGESL
- C***REVISION HISTORY (YYMMDD)
- C 830315 DATE WRITTEN
- C 901009 Finished conversion to SLATEC 4.0 format (F.N.Fritsch)
- C 901019 Merged changes made by C. Ulrich with SLATEC 4.0 format.
- C 901026 Added explicit declarations for all variables and minor
- C cosmetic changes to prologue. (FNF)
- C***END PROLOGUE DDASLV
- C
- INTEGER NEQ, IWM(*)
- DOUBLE PRECISION DELTA(*), WM(*)
- C
- EXTERNAL DGBSL, DGESL
- C
- INTEGER LIPVT, LML, LMU, LMTYPE, MEBAND, MTYPE, NPD
- PARAMETER (NPD=1)
- PARAMETER (LML=1)
- PARAMETER (LMU=2)
- PARAMETER (LMTYPE=4)
- PARAMETER (LIPVT=21)
- C
- C***FIRST EXECUTABLE STATEMENT DDASLV
- MTYPE=IWM(LMTYPE)
- GO TO(100,100,300,400,400),MTYPE
- C
- C DENSE MATRIX
- 100 CALL DGESL(WM(NPD),NEQ,NEQ,IWM(LIPVT),DELTA,0)
- RETURN
- C
- C DUMMY SECTION FOR MTYPE=3
- 300 CONTINUE
- RETURN
- C
- C BANDED MATRIX
- 400 MEBAND=2*IWM(LML)+IWM(LMU)+1
- CALL DGBSL(WM(NPD),MEBAND,NEQ,IWM(LML),
- * IWM(LMU),IWM(LIPVT),DELTA,0)
- RETURN
- C------END OF SUBROUTINE DDASLV------
- END
|