[QE-users] reading and writing of the binary wfc files

2019-08-08 Thread Christoph Wolf
Dear all,

This might be a silly question but since the codebase of PWSCF is all but
small I wanted to make sure that the wave function binary IO is handled by
io_base.f90 lines 101 ff in the current version.

 OPEN ( UNIT = iuni, FILE = TRIM(filename)//'.dat', &
  FORM='unformatted', STATUS = 'unknown' )
 WRITE(iuni) ik, xk, ispin, gamma_only, scalef
 WRITE(iuni) ngw, igwx, npol, nbnd

then further down
CALL mergewf( wfc(:,j), wtmp, ngwl, igl, me_in_group, &
 nproc_in_group, root_in_group, intra_group_comm )

where mergewf takes care of the different processors when wfc_collect is
True

  SUBROUTINE mergewf ( pw, pwt, ngwl, ig_l2g, mpime, nproc, root, comm )

! ... This subroutine merges the pieces of a wave functions (pw) splitted
across
! ... processors into a total wave function (pwt) containing al the
components
! ... in a pre-defined order (the same as if only one processor is used)

Did I get this right?

Thanks for your help!
Chris

-- 
Postdoctoral Researcher
Center for Quantum Nanoscience, Institute for Basic Science
Ewha Womans University, Seoul, South Korea
___
Quantum ESPRESSO is supported by MaX (www.max-centre.eu/quantum-espresso)
users mailing list users@lists.quantum-espresso.org
https://lists.quantum-espresso.org/mailman/listinfo/users

Re: [QE-users] reading and writing of the binary wfc files

2019-08-09 Thread Paolo Giannozzi
Yes, you got it right. I/O is made awkward by the need to collect the
distributed pieces of Kohn-Sham orbitals to a single processor in a
well-defined order, and vice versa when reading. It's a big mess but it is
well hidden inside "mergewf".

Paolo

On Thu, Aug 8, 2019 at 5:52 PM Christoph Wolf 
wrote:

> Dear all,
>
> This might be a silly question but since the codebase of PWSCF is all but
> small I wanted to make sure that the wave function binary IO is handled by
> io_base.f90 lines 101 ff in the current version.
>
>  OPEN ( UNIT = iuni, FILE = TRIM(filename)//'.dat', &
>   FORM='unformatted', STATUS = 'unknown' )
>  WRITE(iuni) ik, xk, ispin, gamma_only, scalef
>  WRITE(iuni) ngw, igwx, npol, nbnd
>
> then further down
> CALL mergewf( wfc(:,j), wtmp, ngwl, igl, me_in_group, &
>  nproc_in_group, root_in_group, intra_group_comm )
>
> where mergewf takes care of the different processors when wfc_collect is
> True
>
>   SUBROUTINE mergewf ( pw, pwt, ngwl, ig_l2g, mpime, nproc, root, comm
> )
>
> ! ... This subroutine merges the pieces of a wave functions (pw) splitted
> across
> ! ... processors into a total wave function (pwt) containing al the
> components
> ! ... in a pre-defined order (the same as if only one processor is used)
>
> Did I get this right?
>
> Thanks for your help!
> Chris
>
> --
> Postdoctoral Researcher
> Center for Quantum Nanoscience, Institute for Basic Science
> Ewha Womans University, Seoul, South Korea
>
> ___
> Quantum ESPRESSO is supported by MaX (www.max-centre.eu/quantum-espresso)
> users mailing list users@lists.quantum-espresso.org
> https://lists.quantum-espresso.org/mailman/listinfo/users



-- 
Paolo Giannozzi, Dip. Scienze Matematiche Informatiche e Fisiche,
Univ. Udine, via delle Scienze 208, 33100 Udine, Italy
Phone +39-0432-558216, fax +39-0432-558222
___
Quantum ESPRESSO is supported by MaX (www.max-centre.eu/quantum-espresso)
users mailing list users@lists.quantum-espresso.org
https://lists.quantum-espresso.org/mailman/listinfo/users

Re: [QE-users] reading and writing of the binary wfc files

2019-08-09 Thread Christoph Wolf
Dear Paolo,

grazie mille!

Chris

-- 
Postdoctoral Researcher
Center for Quantum Nanoscience, Institute for Basic Science
Ewha Womans University, Seoul, South Korea
___
Quantum ESPRESSO is supported by MaX (www.max-centre.eu/quantum-espresso)
users mailing list users@lists.quantum-espresso.org
https://lists.quantum-espresso.org/mailman/listinfo/users