1 subroutine r8vecherm3(ict,ivec,xvec,yvec,zvec,ivd,fval,
2 > nx,xpkg,ny,ypkg,nz,zpkg,fspl,inf2,inf3,
14 INTEGER,
PARAMETER :: R8=selected_real_kind(12,100)
15 INTEGER iwarn1,iwarn2,iwarn3
58 real*8 fspl(0:7,inf2,inf3,nz)
68 integer,
dimension(:),
allocatable :: ix,iy,iz
69 REAL*8,
dimension(:),
allocatable :: dxn,dyn,dzn
70 real*8,
dimension(:),
allocatable :: hx,hxi,hy,hyi,hz,hzi
79 write(6,*) .lt.
' ?vecherm3: nx2: nx = ',nx
84 write(6,*) .lt.
' ?vecherm3: ny2: ny = ',ny
89 write(6,*) .lt.
' ?vecherm3: nz2: nz = ',nz
94 write(6,*) .le.
' ?vecherm3: vector dimension 0: ivec = ',
101 >
' ?vecherm3: output vector dimension less than input ',
102 >
'vector dimension.'
103 write(6,*)
' ivec=',ivec,
' ivd=',ivd
109 allocate(ix(ivec), iy(ivec), iz(ivec),
110 > dxn(ivec), dyn(ivec), dzn(ivec),
111 > hx(ivec), hy(ivec), hz(ivec),
112 > hxi(ivec), hyi(ivec), hzi(ivec), stat=ier)
116 >
' ?vecherm3: memory allocation failure.'
125 call r8xlookup(ivec,xvec,nx,xpkg,2,ix,dxn,hx,hxi,iwarn1)
126 call r8xlookup(ivec,yvec,ny,ypkg,2,iy,dyn,hy,hyi,iwarn2)
127 call r8xlookup(ivec,zvec,nz,zpkg,2,iz,dzn,hz,hzi,iwarn3)
128 iwarn=max(iwarn1,iwarn2,iwarn3)
132 call r8herm3fcn(ict,ivec,ivd,fval,ix,iy,iz,dxn,dyn,dzn,
133 > hx,hxi,hy,hyi,hz,hzi,fspl,inf2,inf3,nz)
135 deallocate(ix,iy,iz,dxn,dyn,dzn,hx,hy,hz,hxi,hyi,hzi)