25 xs, xu12, xue, xuo, xodd, &
26 axm, axd, bxm, bxd, cx, trigmult)
32 REAL(rprec),
DIMENSION(nrzt),
INTENT(in) :: lu1, bsq, gsqrt, r12, xs, xu12, xue, xuo, xodd
33 REAL(rprec),
DIMENSION(ns+1,2),
INTENT(out) :: axm, axd, bxm, bxd
34 REAL(rprec),
DIMENSION(ns+1),
INTENT(out) :: cx
35 REAL(rprec),
DIMENSION(nznt),
INTENT(in) :: trigmult
38 REAL(rprec),
DIMENSION(:,:),
ALLOCATABLE :: ax, bx
39 REAL(rprec) :: temp(ns+1)
40 REAL(rprec),
DIMENSION(:),
ALLOCATABLE :: ptau, ptau2
41 REAL(rprec) :: t1, t2, t3, pfactor
52 ALLOCATE (ax(ns+1,4), bx(ns+1,4), ptau(nznt), ptau2(nznt))
60 pfactor = -4.0_dp*
r0scale**2.0_dp
67 t1 = pfactor*r12(l)*bsq(l)
68 ptau2(lk) = r12(l)*t1/gsqrt(l)
70 temp(js) = temp(js) + t1*trigmult(lk)*xu12(l)
71 ptau(lk) = r12(l)*t1/gsqrt(l)
73 t2 = cp25*(xue(l)/
shalf(js) + xuo(l))/
shalf(js)
74 t3 = cp25*(xue(l-1)/
shalf(js) + xuo(l-1))/
shalf(js)
75 ax(js,1) = ax(js,1) + ptau(lk)*t1*t1
76 ax(js,2) = ax(js,2) + ptau(lk)*(-t1+t3)*( t1+t2)
77 ax(js,3) = ax(js,3) + ptau(lk)*( t1+t2)*( t1+t2)
78 ax(js,4) = ax(js,4) + ptau(lk)*(-t1+t3)*(-t1+t3)
85 t1 = cp5*(xs(l) + cp5*xodd(l)/
shalf(js))
86 t2 = cp5*(xs(l) + cp5*xodd(l-1)/
shalf(js))
87 bx(js,1) = bx(js,1) + ptau(lk)*t1*t2
88 bx(js,2) = bx(js,2) + ptau(lk)*t1*t1
89 bx(js,3) = bx(js,3) + ptau(lk)*t2*t2
90 cx(js) = cx(js) + cp25*pfactor*lu1(l)**2*gsqrt(l)*
wint(l)
95 temp(2:ns)=temp(2:ns)/
vp(2:ns)
99 axd(js,1) = ax(js,1) + ax(js+1,1)
100 axm(js,2) = ax(js,2) *
sm(js) *
sp(js-1)
101 axd(js,2) = ax(js,3)*
sm(js)**2.0_dp + ax(js+1,4)*
sp(js)**2.0_dp
103 bxm(js,2) = bx(js,1) *
sm(js) *
sp(js-1)
104 bxd(js,1) = bx(js,2) + bx(js+1,3)
105 bxd(js,2) = bx(js,2)*
sm(js)**2.0_dp + bx(js+1,3)*
sp(js)**2.0_dp
106 cx(js) = cx(js) + cx(js+1)
107 temp(js) =
signgs*(temp(js) + temp(js+1))
115 DEALLOCATE (ax, bx, ptau, ptau2)
real(rprec), dimension(:), allocatable vp
radial derivative of enclosed volume
real(rprec), dimension(:), allocatable sp
shalf(i+1)/sfull(i)
real(rprec), dimension(:), allocatable sm
shalf(i)/sfull(i)
subroutine precondn(lu1, bsq, gsqrt, r12, xs, xu12, xue, xuo, xodd, axm, axd, bxm, bxd, cx, trigmult)
Compute preconditioning matrix elements for , force.