1C Work performed under the auspices of the U.S. Department of Energy
2C by Lawrence Livermore National Laboratory under contract number
3C W-7405-Eng-48.
4C
5      SUBROUTINE DSLVD(NEQ,DELTA,WM,IWM)
6C
7C***BEGIN PROLOGUE  DSLVD
8C***REFER TO  DDASPK
9C***DATE WRITTEN   890101   (YYMMDD)
10C***REVISION DATE  900926   (YYMMDD)
11C***REVISION DATE  940701   (YYMMDD) (new LIPVT)
12C
13C-----------------------------------------------------------------------
14C***DESCRIPTION
15C
16C     This routine manages the solution of the linear
17C     system arising in the Newton iteration.
18C     Real matrix information and real temporary storage
19C     is stored in the array WM.
20C     Integer matrix information is stored in the array IWM.
21C     For a dense matrix, the LAPACK routine DGETRS is called.
22C     For a banded matrix, the LAPACK routine DGBTRS is called.
23C-----------------------------------------------------------------------
24C***ROUTINES CALLED
25C   DGETRS, DGBTRS
26C
27C***END PROLOGUE  DSLVD
28C
29C
30      IMPLICIT DOUBLE PRECISION(A-H,O-Z)
31      DIMENSION DELTA(*),WM(*),IWM(*)
32C
33      PARAMETER (LML=1, LMU=2, LMTYPE=4, LLCIWP=30)
34C
35      LIPVT = IWM(LLCIWP)
36      MTYPE=IWM(LMTYPE)
37      GO TO(100,100,300,400,400),MTYPE
38C
39C     Dense matrix.
40C
41100   CALL DGETRS('N', NEQ, 1, WM, NEQ, IWM(LIPVT), DELTA, NEQ, INLPCK)
42      RETURN
43C
44C     Dummy section for MTYPE=3.
45C
46300   CONTINUE
47      RETURN
48C
49C     Banded matrix.
50C
51400   MEBAND=2*IWM(LML)+IWM(LMU)+1
52      CALL DGBTRS('N', NEQ, IWM(LML), IWM(LMU), 1, WM, MEBAND,
53     *     IWM(LIPVT), DELTA, NEQ, INLPCK)
54      RETURN
55C
56C------END OF SUBROUTINE DSLVD------------------------------------------
57      END
58