14 integer ik0,ir,lp,nthd
19 integer(omp_lock_kind),
allocatable :: lock(:)
20 real(8),
allocatable :: work(:)
21 complex(8),
allocatable :: evecu(:,:)
24 write(*,
'("Error(gndstulr): ultra long-range does not work with OEP")')
30 write(*,
'("Error(gndstulr): ultra long-range does not work with & 31 &spin-polarised cores")')
81 call omp_init_lock(lock(ir))
88 open(60,file=
'ULR_INFO.OUT',form=
'FORMATTED')
90 open(65,file=
'RMSDVS.OUT',form=
'FORMATTED')
92 call writebox(60,
"Self-consistent loop started")
96 write(str,
'("Loop number : ",I0)')
iscl 102 write(60,
'("Reached self-consistent loops maximum")')
105 write(*,
'("Warning(gndstulr): failed to reach self-consistency after ",I4,& 144 call mpi_allreduce(mpi_in_place,
rhmgr,n,mpi_double_precision,mpi_sum, &
198 write(60,
'("Wrote STATE_ULR.OUT")')
207 write(60,
'("RMS change in Kohn-Sham potential (target) : ",G18.10," (",& 210 write(65,
'(G18.10)') dv
216 write(60,
'("Convergence targets achieved")')
233 write(60,
'("Timings (CPU seconds) :")')
234 write(60,
'(" Hamiltonian matrix set up",T40,": ",F12.2)')
timemat 235 write(60,
'(" eigenvalue equation",T40,": ",F12.2)')
timesv 236 write(60,
'(" charge density calculation",T40,": ",F12.2)')
timerho 237 write(60,
'(" potential calculation",T40,": ",F12.2)')
timepot 238 call writebox(60,
"Self-consistent loop stopped")
242 write(60,
'("Wrote STATE_ULR.OUT")')
251 call omp_destroy_lock(lock(ir))
253 deallocate(lock,work)
integer, dimension(3) xctype
subroutine writeinfou(fnum)
subroutine mixerifc(mtype, n, v, dv, nwork, work)
subroutine writefsm(fnum)
subroutine checkwrite(twrite)
subroutine writeengyu(fnum)
real(8), dimension(:), allocatable, target rhmgr
subroutine writechg(fnum)
subroutine writebox(fnum, str)
subroutine rhomaguk(ik0, lock, evecu)
subroutine holdthd(nloop, nthd)
subroutine eveqnulr(ik0, evecu)
complex(8), dimension(:), allocatable, target vsbsq
real(8), dimension(:,:), allocatable evalu
subroutine writemom(fnum)