12 real(4),
intent(in) :: emds(nhkmax,nkpt)
14 integer nh(3),np,ip,n,i,nthd
15 real(8) vpnl(3),v1(3),t1
17 real(8),
allocatable :: vpl(:,:),vppc(:,:)
18 real(8),
allocatable :: x(:),wx(:),f(:)
20 real(8),
external :: rfhkintp
23 allocate(vpl(3,np),vppc(2,np))
28 n=2*maxval(nh(:)*
ngridk(:))
31 t1=2.d0*dble(i-1)/dble(n-1)-1.d0
36 open(50,file=
'EMD2D.OUT',form=
'FORMATTED')
37 write(50,
'(2I6," : grid size")')
np2d(:)
48 v1(:)=vpl(:,ip)+x(i)*vpnl(:)
49 f(i)=rfhkintp(v1,emds)
51 t1=dot_product(wx(:),f(:))
53 write(50,
'(3G18.10)') vppc(1,ip),vppc(2,ip),t1
61 deallocate(vpl,vppc,x,wx)
subroutine plotpt2d(cvec, cinv, vpnl, vpl, vppc)
real(8), dimension(3, 3) avec
integer, dimension(3) ngridk
real(8), dimension(3, 3) bvec
real(8), dimension(3, 3) binv
subroutine emdplot2d(emds)
subroutine holdthd(nloop, nthd)
integer, dimension(2) np2d
subroutine wsplint(n, x, w)