1 subroutine herm1ev(xget,x,nx,ilinx,f,ict,fval,ier)
68 call herm1x(xget,x,nx,ilinx,i,xparam,hx,hxi,ier)
71 call herm1fcn(ict,1,1,fval,i,xparam,hx,hxi,f,nx)
80 subroutine herm1x(xget,x,nx,ilinx,i,xparam,hx,hxi,ier)
118 if((xget.lt.x(1)).or.(xget.gt.x(nx)))
then
119 zxtol=4.0e-7*max(abs(x(1)),abs(x(nx)))
120 if((xget.lt.x(1)-zxtol).or.(xget.gt.x(nx)+zxtol))
then
122 write(6,1001) xget,x(1),x(nx)
123 1001
format(
' ?herm1ev: xget=',1pe11.4,
' out of range ',
124 > 1pe11.4,
' to ',1pe11.4)
126 if((xget.lt.x(1)-0.5*zxtol).or.
127 > (xget.gt.x(nx)+0.5*zxtol))
128 >
write(6,1011) xget,x(1),x(nx)
129 1011
format(
' %herm1ev: xget=',1pe15.8,
' beyond range ',
130 > 1pe15.8,
' to ',1pe15.8,
' (fixup applied)')
131 if(xget.lt.x(1))
then
145 ii=1+nxm*(zxget-x(1))/(x(nx)-x(1))
147 if(zxget.lt.x(i))
then
149 else if(zxget.gt.x(i+1))
then
153 if((1.le.i).and.(i.lt.nxm))
then
154 if((x(i).le.zxget).and.(zxget.le.x(i+1)))
then
157 call zonfind(x,nx,zxget,i)
161 call zonfind(x,nx,zxget,i)
169 xparam=(zxget-x(i))*hxi
177 subroutine herm1fcn(ict,ivec,ivecd,
178 > fval,ii,xparam,hx,hxi,fin,nx)
258 sum=axbar*fin(0,i) + ax*fin(0,i+1)
260 sum=sum+hx(v)*(bxbar*fin(1,i) + bx*fin(1,i+1))
274 bxbarp=xpi*(3.0*xpi-2.0)
276 sum=hxi(v)*(axbarp*fin(0,i) +axp*fin(0,i+1))
278 sum=sum+ bxbarp*fin(1,i) + bxp*fin(1,i+1)