The Elk Code
 
Loading...
Searching...
No Matches
dyntask.f90
Go to the documentation of this file.
1
2! Copyright (C) 2002-2005 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
6subroutine dyntask(fnum,fext)
7use modmain
8use modphonon
9use modmpi
10implicit none
11! arguments
12integer, intent(in) :: fnum
13character(*), intent(out) :: fext
14! local variables
15logical exist
16! only master process should search for file
17if (.not.mp_mpi) goto 10
18do ipph=1,3
19 do isph=1,nspecies
20 do iaph=1,natoms(isph)
21 do iqph=1,nqpt
22! construct the dynamical matrix file extension
23 call dynfext(iqph,isph,iaph,ipph,fext)
24! determine if the DYN file with this extension exists
25 inquire(file='DYN'//trim(fext),exist=exist)
26 if (.not.exist) then
27 open(fnum,file='DYN'//trim(fext),form='FORMATTED')
29 goto 10
30 end if
31 end do
32 end do
33 end do
34end do
35iqph=0; isph=0; iaph=0; iasph=0; ipph=0
36write(*,'("Info(dyntask): nothing more to do")')
3710 continue
38! broadcast to all other MPI processes
39call mpi_bcast(iqph,1,mpi_integer,0,mpicom,ierror)
40call mpi_bcast(isph,1,mpi_integer,0,mpicom,ierror)
41call mpi_bcast(iaph,1,mpi_integer,0,mpicom,ierror)
42call mpi_bcast(iasph,1,mpi_integer,0,mpicom,ierror)
43call mpi_bcast(ipph,1,mpi_integer,0,mpicom,ierror)
44if (iqph == 0) then
45 fext='.OUT'
46else
47 call dynfext(iqph,isph,iaph,ipph,fext)
48end if
49! set the q = 0 flag
50tphq0=(iqph == 1)
51end subroutine
52
subroutine dynfext(iq, is, ia, ip, fext)
Definition dynfext.f90:7
subroutine dyntask(fnum, fext)
Definition dyntask.f90:7
integer, dimension(maxspecies) natoms
Definition modmain.f90:36
integer, dimension(maxatoms, maxspecies) idxas
Definition modmain.f90:42
integer nqpt
Definition modmain.f90:525
integer nspecies
Definition modmain.f90:34
integer ierror
Definition modmpi.f90:19
integer mpicom
Definition modmpi.f90:11
logical mp_mpi
Definition modmpi.f90:17
integer iaph
Definition modphonon.f90:15
integer ipph
Definition modphonon.f90:15
logical tphq0
Definition modphonon.f90:17
integer iqph
Definition modphonon.f90:15
integer iasph
Definition modphonon.f90:15
integer isph
Definition modphonon.f90:15