[QE-users] Parallelization and Input/Output of wfc in QE

Riccardo Piombo uniroma1 riccardo.piombo at uniroma1.it
Fri Nov 25 12:59:58 CET 2022


Thanks to all for the replies,

Prof. Ceresoli I imagine that by "collecting" you mean what prof. 
Giannozzi said: the coefficients are stored in binary files and you have 
to manage them with a script

as the one that you advised me. I think I'll take a look at your script, 
by now I did some testing and saw that such a modification of the 
local_dos.f90 file "works":

you define some variables


   ! store an identifier for each of the parallel processes
   INTEGER :: process_Rank

   ! handle error codes
   INTEGER :: ierror
   !
   CHARACTER(len=30) :: file_name1, file_name2, str_Rank


then you add the following line


CALL MPI_COMM_RANK(MPI_COMM_WORLD, process_Rank, ierror)
WRITE(str_Rank,'(i5.5)') process_Rank
file_name1 = 'wfc_g_Rank' // trim(str_Rank) // '.dat'
file_name2 = 'g_vectors_Rank' // trim(str_Rank) // '.dat'
OPEN (unit = 555, file = trim(file_name1), form = 'formatted', status = 
'unknown')
OPEN (unit = 666, file = trim(file_name2), form = 'formatted', status = 
'unknown')


after the command

IF ( wg(ibnd, ik) > epsilon(0.0_DP) * wg_max .and. &

              (ibnd == kband .or. iflag /= 0)) THEN


I'll certainly follow the advice you both gave me.

Best regards,

Riccardo Piombo




More information about the users mailing list