9 subroutine rvfcross(rvfmt1,rvfir1,rvfmt2,rvfir2,rvfmt3,rvfir3)
30 real(8),
intent(in) :: rvfmt1(npmtmax,natmtot,3),rvfir1(ngtot,3)
31 real(8),
intent(in) :: rvfmt2(npmtmax,natmtot,3),rvfir2(ngtot,3)
32 real(8),
intent(out) :: rvfmt3(npmtmax,natmtot,3),rvfir3(ngtot,3)
34 integer is,ias,nr,nri,ir,i
35 real(8) v1(3),v2(3),v3(3)
37 real(8),
allocatable :: rvfmt4(:,:),rvfmt5(:,:)
41 allocate(rvfmt4(npmtmax,3),rvfmt5(npmtmax,3))
47 call rbsht(nr,nri,rvfmt1(:,ias,i),rvfmt4(:,i))
48 call rbsht(nr,nri,rvfmt2(:,ias,i),rvfmt5(:,i))
57 call rfsht(nr,nri,rvfmt4(:,i),rvfmt3(:,ias,i))
60 deallocate(rvfmt4,rvfmt5)
integer, dimension(maxspecies) npmt
subroutine rvfcross(rvfmt1, rvfir1, rvfmt2, rvfir2, rvfmt3, rvfir3)
subroutine rbsht(nr, nri, rfmt1, rfmt2)
integer, dimension(maxatoms *maxspecies) idxis
subroutine rfsht(nr, nri, rfmt1, rfmt2)
pure subroutine r3cross(x, y, z)
integer, dimension(maxspecies) nrmti
integer, dimension(maxspecies) nrmt