1
SUBROUTINE ewald_setp()
9
real*8 axb1,axb2,axb3,bxc1,bxc2,bxc3,cxa1,cxa2,cxa3
12
ralphsq=-0.25/alpha**2
15
write(*,*) (rlatt(i,1),i=1,3)
16
write(*,*) (rlatt(i,2),i=1,3)
17
write(*,*) (rlatt(i,3),i=1,3)
20
axb1=rlatt(2,1)*rlatt(3,2)-rlatt(3,1)*rlatt(2,2)
21
axb2=rlatt(3,1)*rlatt(1,2)-rlatt(1,1)*rlatt(3,2)
22
axb3=rlatt(1,1)*rlatt(2,2)-rlatt(2,1)*rlatt(1,2)
23
bxc1=rlatt(2,2)*rlatt(3,3)-rlatt(3,2)*rlatt(2,3)
24
bxc2=rlatt(3,2)*rlatt(1,3)-rlatt(1,2)*rlatt(3,3)
25
bxc3=rlatt(1,2)*rlatt(2,3)-rlatt(2,2)*rlatt(1,3)
26
cxa1=rlatt(2,3)*rlatt(3,1)-rlatt(2,1)*rlatt(3,3)
27
cxa2=rlatt(1,1)*rlatt(3,3)-rlatt(3,1)*rlatt(1,3)
28
cxa3=rlatt(2,1)*rlatt(1,3)-rlatt(1,1)*rlatt(2,3)
30
rvol=abs(rlatt(1,1)*bxc1+rlatt(2,1)*bxc2+rlatt(3,1)*bxc3)
32
xvector=rvol/sqrt(bxc1*bxc1+bxc2*bxc2+bxc3*bxc3)
33
yvector=rvol/sqrt(cxa1*cxa1+cxa2*cxa2+cxa3*cxa3)
34
zvector=rvol/sqrt(axb1*axb1+axb2*axb2+axb3*axb3)
36
rksqmax=min(real(kmaxx)*xvector,
37
$ real(kmaxy)*yvector,
38
$ real(kmaxz)*zvector)
39
rksqmax=rksqmax*1.05*twopi
42
write(*,*) "ewald data"
43
write(*,*) "kmax",kmaxx,kmaxy,kmaxz
44
write(*,*) "alpha",alpha
45
write(*,*) "ralphsq",ralphsq
46
write(*,*) "rksqmax",rksqmax