TABLE OF CONTENTS


ABINIT/WffReadSkipK [ Functions ]

[ Top ] [ Functions ]

NAME

 WffReadSkipK

FUNCTION

  (Wavefunction file, read action : skip one k-point blok)
  This subroutine skips the block of records
  related to one k point, and one spin-polarization, that
  contains the wavefunctions as well as the eigenvalues and occupations,
  in a wavefunction file that has been already initialized.

COPYRIGHT

 Copyright (C) 2004-2018 ABINIT group (XG)
 This file is distributed under the terms of the
 GNU General Public License, see ~abinit/COPYING
 or http://www.gnu.org/copyleft/gpl.txt .

INPUTS

  formeig=format of the eigenvalues
   0 => vector of eigenvalues (for Ground-State files)
   1 => hermitian matrix of eigenvalues (for Response-Function files)
  headform=format of the header of the wf file, also governing the k block format
   in case headform=0, use the default (current) format and headform
  ikpt=index of current k point (only needed for error message)
  isppol=spin polarization currently treated (only needed for error message)
  mpi_enreg=information about MPI parallelization
  wff=structured info for wavefunction file

OUTPUT

NOTES

PARENTS

      initwf,newkpt,wfsinp

CHILDREN

      rwwf

SOURCE

42 #if defined HAVE_CONFIG_H
43 #include "config.h"
44 #endif
45 
46 #include "abi_common.h"
47 
48 subroutine WffReadSkipK(formeig,headform,ikpt,isppol,mpi_enreg,wff)
49 
50  use defs_basis
51  use defs_abitypes
52  use m_profiling_abi
53  use m_wffile
54 
55 !This section has been created automatically by the script Abilint (TD).
56 !Do not modify the following lines by hand.
57 #undef ABI_FUNC
58 #define ABI_FUNC 'WffReadSkipK'
59  use interfaces_56_io_mpi
60 !End of the abilint section
61 
62  implicit none
63 
64 !Arguments ------------------------------------
65 !scalars
66  integer,intent(in) :: formeig,headform,ikpt,isppol
67  type(MPI_type),intent(in) :: mpi_enreg
68  type(wffile_type),intent(inout) :: wff
69 
70 !Local variables-------------------------------
71 !scalars
72  integer :: icg,mband,mcg,nband,nband_disk,option,optkg,tim_rwwf
73  integer,parameter :: nspinor1=1,npw1=1
74 !arrays
75  integer,allocatable :: kg_dum(:,:)
76  real(dp) :: cg_dum(2,1),occ_dum(1)
77  real(dp),allocatable :: eig_dum(:)
78 
79 ! *************************************************************************
80 
81  ! No need to skip if netcdf
82  if (wff%iomode == IO_MODE_ETSF) return
83 
84  option=-1
85  tim_rwwf=0 ; mcg=1 ; mband=1 ; icg=0 ; optkg=0 ; nband=0
86  ABI_ALLOCATE(eig_dum,(2**formeig))
87  ABI_ALLOCATE(kg_dum,(3,optkg*npw1))
88 
89  call rwwf(cg_dum,eig_dum,formeig,headform,icg,ikpt,isppol,kg_dum,mband,mcg,mpi_enreg,nband,&
90 & nband_disk,npw1,nspinor1,occ_dum,option,optkg,tim_rwwf,wff)
91 
92  ABI_DEALLOCATE(eig_dum)
93  ABI_DEALLOCATE(kg_dum)
94 
95 end subroutine WffReadSkipK