Skip to content

Commit f5b9c9b

Browse files
committed
Merge branch 'development'
2 parents 780812b + 06bfa2c commit f5b9c9b

File tree

97 files changed

+3848
-28093
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

97 files changed

+3848
-28093
lines changed

.zenodo.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,10 @@
2121
"name": "Katz, Maximilian",
2222
"orcid": "0000-0003-0439-4556"
2323
},
24+
{ "affiliation": "Department of Physics and Astronomy, Stony Brook University",
25+
"name": "Li, Xinlong",
26+
"orcid": "0000-0002-3143-6136"
27+
},
2428
{
2529
"affiliation": "Los Alamos National Laboratory",
2630
"name": "Malone, Chris",

CHANGES

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,10 @@
1-
# 19.02
1+
# 19.05
2+
3+
-- The aprox21 network was missing the analytic Jacobian term for
4+
the derivative of He4 with respect to Ni56. This is fixed. (#175)
5+
6+
-- The numerical Jacobian module, used by the BS and VBDF integrators
7+
had some wrong scalings. These have now been fixed (#179, #180)
28

39
# 19.01
410

EOS/helmholtz/actual_eos.F90

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ module actual_eos_module
6060
integer, parameter :: max_newton = 100
6161

6262
! 2006 CODATA physical constants
63-
private
63+
6464
! Math constants
6565
double precision, parameter :: pi = 3.1415926535897932384d0
6666

integration/VODE90/cuVODE/linear_algebra_modules/blas_module.F90

Lines changed: 0 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -4,62 +4,6 @@ module blas_module
44

55
contains
66

7-
SUBROUTINE DCOPYN(N,DX,INCX,DY,INCY)
8-
!$gpu
9-
! Only operates on arrays of size N
10-
11-
INTEGER INCX,INCY,N
12-
DOUBLE PRECISION DX(N),DY(N)
13-
! * Purpose
14-
! * =======
15-
! *
16-
! * copies a array, x, to a array, y.
17-
! * uses unrolled loops for increments equal to one.
18-
! * jack dongarra, linpack, 3/11/78.
19-
! * modified 12/3/93, array(1) declarations changed to array(*)
20-
INTEGER I,IX,IY,M,MP1
21-
22-
IF (N.LE.0) RETURN
23-
IF (INCX.EQ.1 .AND. INCY.EQ.1) GO TO 20
24-
25-
! code for unequal increments or equal increments
26-
! not equal to 1
27-
28-
IX = 1
29-
IY = 1
30-
IF (INCX.LT.0) IX = (-N+1)*INCX + 1
31-
IF (INCY.LT.0) IY = (-N+1)*INCY + 1
32-
DO I = 1,N
33-
DY(IY) = DX(IX)
34-
IX = IX + INCX
35-
IY = IY + INCY
36-
end do
37-
RETURN
38-
39-
! code for both increments equal to 1
40-
41-
! clean-up loop
42-
43-
20 M = MOD(N,7)
44-
IF (M.EQ.0) GO TO 40
45-
DO I = 1,M
46-
DY(I) = DX(I)
47-
end do
48-
IF (N.LT.7) RETURN
49-
40 MP1 = M + 1
50-
DO I = MP1,N,7
51-
DY(I) = DX(I)
52-
DY(I+1) = DX(I+1)
53-
DY(I+2) = DX(I+2)
54-
DY(I+3) = DX(I+3)
55-
DY(I+4) = DX(I+4)
56-
DY(I+5) = DX(I+5)
57-
DY(I+6) = DX(I+6)
58-
end do
59-
RETURN
60-
end SUBROUTINE DCOPYN
61-
62-
637
SUBROUTINE DCOPY(N,DX,INCX,DY,INCY)
648
!$gpu
659
INTEGER INCX,INCY,N

integration/VODE90/cuVODE/source/cuvode.F90

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -302,7 +302,7 @@ subroutine dvode(vstate, rwork, IWORK, ITASK, IOPT, MF)
302302
vstate % JSTART = -1
303303
IF (vstate % NQ .LE. VODE_MAXORD) GO TO 90
304304
! MAXORD was reduced below NQ. Copy YH(*,MAXORD+2) into SAVF. ---------
305-
CALL DCOPYN(VODE_NEQS, rwork % wm, 1, rwork % savf, 1)
305+
rwork % savf(1:VODE_NEQS) = rwork % wm(1:VODE_NEQS)
306306

307307
! Reload WM(1) = RWORK % wm(1), since LWM may have changed. ---------------
308308
90 continue
@@ -356,7 +356,7 @@ subroutine dvode(vstate, rwork, IWORK, ITASK, IOPT, MF)
356356
CALL f_rhs (vstate % T, vstate % Y, rwork % yh(:,2), vstate % RPAR)
357357
vstate % NFE = 1
358358
! Load the initial value array in YH. ---------------------------------
359-
CALL DCOPYN(VODE_NEQS, vstate % Y, 1, rwork % YH(:,1), 1)
359+
rwork % YH(1:VODE_NEQS,1) = vstate % Y(1:VODE_NEQS)
360360

361361
! Load and invert the EWT array. (H is temporarily set to 1.0.) -------
362362
vstate % NQ = 1
@@ -641,7 +641,7 @@ subroutine dvode(vstate, rwork, IWORK, ITASK, IOPT, MF)
641641
! -----------------------------------------------------------------------
642642

643643
400 CONTINUE
644-
CALL DCOPYN(VODE_NEQS, rwork % YH(:,1), 1, vstate % Y, 1)
644+
vstate % Y(1:VODE_NEQS) = rwork % YH(1:VODE_NEQS,1)
645645

646646
vstate % T = vstate % TN
647647
IF (ITASK .NE. 4 .AND. ITASK .NE. 5) GO TO 420
@@ -732,7 +732,7 @@ subroutine dvode(vstate, rwork, IWORK, ITASK, IOPT, MF)
732732
IWORK(16) = IMXER
733733
! Set Y array, T, and optional output. --------------------------------
734734
580 CONTINUE
735-
CALL DCOPYN(VODE_NEQS, rwork % YH(:,1), 1, vstate % Y, 1)
735+
vstate % Y(1:VODE_NEQS) = rwork % YH(1:VODE_NEQS,1)
736736

737737
vstate % T = vstate % TN
738738
IWORK(11) = vstate % NST

integration/VODE90/cuVODE/source/cuvode_dacopy.F90

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ subroutine dacopy(NROW, NCOL, A, NROWA, B, NROWB)
3939
!$gpu
4040

4141
do IC = 1,NCOL
42-
CALL DCOPYN (NROW, A(:,IC), 1, B(:,IC), 1)
42+
B(1:NROW,IC) = A(1:NROW,IC)
4343
end do
4444
RETURN
4545
end subroutine dacopy

integration/VODE90/cuVODE/source/cuvode_dvjac.F90

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -120,8 +120,9 @@ subroutine dvjac(IWM, IERPJ, rwork, vstate)
120120
CALL JAC (vstate % TN, vstate % Y, 0, 0, &
121121
rwork % WM(3:3 + VODE_NEQS**2 - 1), VODE_NEQS, vstate % RPAR)
122122
if (vstate % JSV .EQ. 1) then
123-
CALL DCOPYN (LENP, rwork % WM(3:3 + LENP - 1), 1, &
124-
rwork % WM(vstate % LOCJS:vstate % LOCJS + LENP - 1), 1)
123+
do I = 0, LENP-1
124+
rwork % WM(vstate % LOCJS + I) = rwork % WM(3 + I)
125+
end do
125126
endif
126127
ENDIF
127128

@@ -150,16 +151,18 @@ subroutine dvjac(IWM, IERPJ, rwork, vstate)
150151
vstate % NFE = vstate % NFE + VODE_NEQS
151152
LENP = VODE_NEQS * VODE_NEQS
152153
if (vstate % JSV .EQ. 1) then
153-
CALL DCOPYN (LENP, rwork % WM(3:3 + LENP - 1), 1, &
154-
rwork % WM(vstate % LOCJS:vstate % LOCJS + LENP - 1), 1)
154+
do I = 0, LENP-1
155+
rwork % WM(vstate % LOCJS + I) = rwork % WM(3 + I)
156+
end do
155157
end if
156158
ENDIF
157159

158160
IF (JOK .EQ. 1 .AND. (vstate % MITER .EQ. 1 .OR. vstate % MITER .EQ. 2)) THEN
159161
vstate % JCUR = 0
160162
LENP = VODE_NEQS * VODE_NEQS
161-
CALL DCOPYN (LENP, rwork % WM(vstate % LOCJS:vstate % LOCJS + LENP - 1), 1, &
162-
rwork % WM(3:3 + LENP - 1), 1)
163+
do I = 0, LENP - 1
164+
rwork % WM(3 + I) = rwork % WM(vstate % LOCJS + I)
165+
end do
163166
ENDIF
164167

165168
IF (vstate % MITER .EQ. 1 .OR. vstate % MITER .EQ. 2) THEN

integration/VODE90/cuVODE/source/cuvode_dvnlsd.F90

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@ subroutine dvnlsd(IWM, NFLAG, rwork, vstate)
137137
M = 0
138138
DELP = ZERO
139139

140-
CALL DCOPYN(VODE_NEQS, rwork % yh(:,1), 1, vstate % Y, 1)
140+
vstate % Y(1:VODE_NEQS) = rwork % yh(1:VODE_NEQS,1)
141141
CALL f_rhs (vstate % TN, vstate % Y, rwork % savf, vstate % RPAR)
142142
vstate % NFE = vstate % NFE + 1
143143
IF (vstate % IPUP .LE. 0) GO TO 250
@@ -174,7 +174,7 @@ subroutine dvnlsd(IWM, NFLAG, rwork, vstate)
174174
do I = 1,VODE_NEQS
175175
vstate % Y(I) = rwork % YH(I,1) + rwork % SAVF(I)
176176
end do
177-
CALL DCOPYN(VODE_NEQS, rwork % SAVF, 1, rwork % ACOR, 1)
177+
rwork % ACOR(1:VODE_NEQS) = rwork % SAVF(1:VODE_NEQS)
178178

179179
GO TO 400
180180
! -----------------------------------------------------------------------

integration/VODE90/cuVODE/source/cuvode_dvstep.F90

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -293,7 +293,7 @@ subroutine dvstep(IWM, rwork, vstate)
293293
end do
294294
vstate % NQWAIT = vstate % NQWAIT - 1
295295
IF ((vstate % L .EQ. VODE_LMAX) .OR. (vstate % NQWAIT .NE. 1)) GO TO 490
296-
CALL DCOPYN(VODE_NEQS, rwork % acor, 1, rwork % yh(:,VODE_LMAX), 1)
296+
rwork % yh(1:VODE_NEQS,VODE_LMAX) = rwork % acor(1:VODE_NEQS)
297297

298298
vstate % CONP = vstate % TQ(5)
299299
490 IF (vstate % ETAMAX .NE. ONE) GO TO 560
@@ -401,7 +401,7 @@ subroutine dvstep(IWM, rwork, vstate)
401401
620 continue
402402
vstate % ETA = ETAQP1
403403
vstate % NEWQ = vstate % NQ + 1
404-
CALL DCOPYN(VODE_NEQS, rwork % acor, 1, rwork % yh(:,VODE_LMAX), 1)
404+
rwork % yh(1:VODE_NEQS,VODE_LMAX) = rwork % acor(1:VODE_NEQS)
405405
! Test tentative new H against THRESH, ETAMAX, and HMXI, then exit. ----
406406
630 IF (vstate % ETA .LT. THRESH .OR. vstate % ETAMAX .EQ. ONE) GO TO 640
407407
vstate % ETA = MIN(vstate % ETA,vstate % ETAMAX)

0 commit comments

Comments
 (0)