The Elk Code
 
Loading...
Searching...
No Matches
hmldbse.f90
Go to the documentation of this file.
1
2! Copyright (C) 2010 S. Sharma, J. K. Dewhurst 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 hmldbse
7use modmain
8use modmpi
9use modomp
10implicit none
11! local variables
12integer ik2,nthd
13call holdthd(nkptnr/np_mpi,nthd)
14!$OMP PARALLEL DO DEFAULT(SHARED) &
15!$OMP SCHEDULE(DYNAMIC) &
16!$OMP NUM_THREADS(nthd)
17do ik2=1,nkptnr
18! distribute among MPI processes
19 if (mod(ik2-1,np_mpi) /= lp_mpi) cycle
20!$OMP CRITICAL(hmldbse_)
21 write(*,'("Info(hmldbse): ",I6," of ",I6," k-points")') ik2,nkptnr
22!$OMP END CRITICAL(hmldbse_)
23 call hmldbsek(ik2)
24end do
25!$OMP END PARALLEL DO
26call freethd(nthd)
27end subroutine
28
subroutine hmldbse
Definition hmldbse.f90:7
subroutine hmldbsek(ik2)
Definition hmldbsek.f90:7
integer nkptnr
Definition modmain.f90:463
integer lp_mpi
Definition modmpi.f90:15
integer np_mpi
Definition modmpi.f90:13
subroutine holdthd(nloop, nthd)
Definition modomp.f90:78
subroutine freethd(nthd)
Definition modomp.f90:106