*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