The Elk Code
findsymsite.f90
Go to the documentation of this file.
1 
2 ! Copyright (C) 2007 J. K. Dewhurst, S. Sharma and C. Ambrosch-Draxl.
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 findsymsite
7 use modmain
8 implicit none
9 ! local variables
10 integer is,js,ia,ja,ias
11 real(8) apl(3,maxatoms,maxspecies)
12 ! automatic arrays
13 real(8) iea(natmmax,nspecies,48)
14 ! allocate the site symmetry arrays
15 if (allocated(nsymsite)) deallocate(nsymsite)
16 allocate(nsymsite(natmtot))
17 if (allocated(lsplsyms)) deallocate(lsplsyms)
18 allocate(lsplsyms(48,natmtot))
19 if (allocated(lspnsyms)) deallocate(lspnsyms)
20 allocate(lspnsyms(48,natmtot))
21 do is=1,nspecies
22  do ia=1,natoms(is)
23  ias=idxas(ia,is)
24  do js=1,nspecies
25  do ja=1,natoms(js)
26  apl(1:3,ja,js)=atposl(1:3,ja,js)-atposl(1:3,ia,is)
27  end do
28  end do
29  call findsym(apl,apl,nsymsite(ias),lsplsyms(:,ias),lspnsyms(:,ias),iea)
30  end do
31 end do
32 end subroutine
33 
integer, dimension(maxatoms, maxspecies) idxas
Definition: modmain.f90:42
integer, dimension(:,:), allocatable lspnsyms
Definition: modmain.f90:378
real(8), dimension(3, maxatoms, maxspecies) atposl
Definition: modmain.f90:51
integer, dimension(maxspecies) natoms
Definition: modmain.f90:36
subroutine findsym(apl1, apl2, nsym, lspl, lspn, iea)
Definition: findsym.f90:10
subroutine findsymsite
Definition: findsymsite.f90:7
integer natmtot
Definition: modmain.f90:40
integer, dimension(:), allocatable nsymsite
Definition: modmain.f90:374
integer, dimension(:,:), allocatable lsplsyms
Definition: modmain.f90:376