The Elk Code
symvec.f90
Go to the documentation of this file.
1 
2 ! Copyright (C) 2017 J. K. Dewhurst, S. Sharma and E. K. U. Gross.
3 ! This file is distributed under the terms of the GNU General Public License.
4 ! See the file COPYING for license details.
5 
6 subroutine symvec(vc)
7 use modmain
8 implicit none
9 ! arguments
10 real(8), intent(inout) :: vc(3)
11 ! local variables
12 integer isym,lspl
13 real(8) vs(3),v(3),t1
14 ! make symmetric average
15 vs(1:3)=0.d0
16 do isym=1,nsymcrys
17  lspl=lsplsymc(isym)
18  call r3mv(symlatc(:,:,lspl),vc,v)
19  vs(1:3)=vs(1:3)+v(1:3)
20 end do
21 ! normalise
22 t1=1.d0/dble(nsymcrys)
23 vc(1:3)=t1*vs(1:3)
24 end subroutine
25 
integer nsymcrys
Definition: modmain.f90:358
integer, dimension(maxsymcrys) lsplsymc
Definition: modmain.f90:364
subroutine symvec(vc)
Definition: symvec.f90:7
real(8), dimension(3, 3, 48) symlatc
Definition: modmain.f90:350
pure subroutine r3mv(a, x, y)
Definition: r3mv.f90:10