1 SUBROUTINE splinint(grn, cm, jacob, h, u, u1, w, w1, nk, nots,
9 INTEGER nots, ifunc, nmesh
10 INTEGER,
DIMENSION(*) :: nk
11 REAL(rprec),
DIMENSION(nmesh) :: grn, cm
12 REAL(rprec),
DIMENSION(nots) :: jacob, h
13 REAL(rprec),
DIMENSION(nmesh) :: u, u1, w, w1
17 INTEGER :: j, k, nb, ia, ib, k1, ksp1, nmesh1
18 REAL(rprec),
DIMENSION(nmesh) :: func
19 REAL(rprec),
DIMENSION(nots) :: af, bs
47 IF (ifunc .eq. intder)
THEN
51 func(1) = -cm(1)*grn(2)
52 func(2:nmesh1) = cm(2:nmesh1)*(grn(2:nmesh1)-grn(3:nmesh1+1))
53 func(nmesh) = cm(nmesh)*grn(nmesh)
63 IF (nk(k) .ne. 0)
THEN
67 af(k) = af(k) + func(j)*w(j)
68 bs(k) = bs(k) + func(j)*u(j)
69 af(k1) = af(k1) + func(j)*w1(j)
70 bs(k1) = bs(k1) + func(j)*u1(j)
76 IF (ib .ne. nmesh) stop
'ib!=nmesh'
77 IF (nb .eq. natur) bs(1) = 0.
79 CALL jacprod (bs, h, nots, nb)
80 jacob(:nots) = af(:nots) + bs(:nots)
82 END SUBROUTINE splinint