The Elk Code
eveqnulr.f90
Go to the documentation of this file.
1 
2 ! Copyright (C) 2016 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 eveqnulr(ik0,evecu)
7 use modmain
8 use modulr
9 implicit none
10 ! arguments
11 integer, intent(in) :: ik0
12 complex(8), intent(out) :: evecu(nstulr,nstulr)
13 ! local variables
14 real(8) ts0,ts1
15 ! generate the ultra long-range Hamiltonian
16 call timesec(ts0)
17 call genhmlu(ik0,evecu)
18 call timesec(ts1)
19 !$OMP ATOMIC
20 timemat=timemat+ts1-ts0
21 ! find the eigenvalues and vectors
22 call timesec(ts0)
23 call eveqnzh(nstulr,nstulr,evecu,evalu(:,ik0))
24 call timesec(ts1)
25 !$OMP ATOMIC
26 timesv=timesv+ts1-ts0
27 end subroutine
28 
real(8) timemat
Definition: modmain.f90:1217
subroutine eveqnzh(n, ld, a, w)
Definition: eveqnzh.f90:7
subroutine timesec(ts)
Definition: timesec.f90:10
real(8) timesv
Definition: modmain.f90:1221
Definition: modulr.f90:6
subroutine eveqnulr(ik0, evecu)
Definition: eveqnulr.f90:7
subroutine genhmlu(ik0, h)
Definition: genhmlu.f90:7
real(8), dimension(:,:), allocatable evalu
Definition: modulr.f90:97