The Elk Code
Loading...
Searching...
No Matches
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
modmain
Definition
modmain.f90:6
modmain::symlatc
real(8), dimension(3, 3, 48) symlatc
Definition
modmain.f90:350
modmain::nsymcrys
integer nsymcrys
Definition
modmain.f90:358
modmain::lsplsymc
integer, dimension(maxsymcrys) lsplsymc
Definition
modmain.f90:364
r3mv
pure subroutine r3mv(a, x, y)
Definition
r3mv.f90:10
symvec
subroutine symvec(vc)
Definition
symvec.f90:7
symvec.f90
Generated by
1.9.8