The Elk Code
 
Loading...
Searching...
No Matches
symmetry.f90
Go to the documentation of this file.
1
2! Copyright (C) 2013 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
6subroutine symmetry
7use modmain
8use modvars
9implicit none
10! inverse of the lattice vector matrix
11call r3minv(avec,ainv)
12! find Bravais lattice symmetries
13call findsymlat
14! use only the identity if required
15if (symtype == 0) nsymlat=1
16! find the crystal symmetries and shift atomic positions if required
17call findsymcrys
18! find the site symmetries
19call findsymsite
20! check if fixed spin moments are invariant under the symmetry group
21call checkfsm
22! check if real symmetric first-variational eigen solver can be used
23if (.not.tsyminv) tefvr=.false.
24! write to VARIABLES.OUT
25if (wrtvars) then
26 call writevars('nsymlat',iv=nsymlat)
27 call writevars('symlat',nv=9*nsymlat,iva=symlat)
28 call writevars('nsymcrys',iv=nsymcrys)
29 call writevars('vtlsymc',nv=3*nsymcrys,rva=vtlsymc)
30 call writevars('lsplsymc',nv=nsymcrys,iva=lsplsymc)
31 call writevars('lspnsymc',nv=nsymcrys,iva=lspnsymc)
32end if
33end subroutine
34
subroutine checkfsm
Definition checkfsm.f90:7
subroutine findsymcrys
subroutine findsymlat
subroutine findsymsite
integer nsymlat
Definition modmain.f90:342
integer symtype
Definition modmain.f90:340
logical tsyminv
Definition modmain.f90:354
real(8), dimension(3, 3) avec
Definition modmain.f90:12
real(8), dimension(3, maxsymcrys) vtlsymc
Definition modmain.f90:360
integer, dimension(maxsymcrys) lspnsymc
Definition modmain.f90:366
real(8), dimension(3, 3) ainv
Definition modmain.f90:14
integer nsymcrys
Definition modmain.f90:358
integer, dimension(3, 3, 48) symlat
Definition modmain.f90:344
logical tefvr
Definition modmain.f90:865
integer, dimension(maxsymcrys) lsplsymc
Definition modmain.f90:364
subroutine writevars(vname, n1, n2, n3, n4, n5, n6, nv, iv, iva, rv, rva, zv, zva, sv, sva)
Definition modvars.f90:16
logical wrtvars
Definition modvars.f90:9
subroutine r3minv(a, b)
Definition r3minv.f90:10
subroutine symmetry
Definition symmetry.f90:7