mirror of https://gitlab.com/QEF/q-e.git
Some other bugs in the XML data-file fixed. C.S.
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@2587 c92efa57-630b-4861-b058-cf58834340f0
This commit is contained in:
parent
b9100e61d4
commit
993a67204a
|
@ -1652,7 +1652,7 @@ MODULE cp_restart
|
|||
CALL iotk_scan_dat( iunpun, "CELL_SYMMETRY", symm_type )
|
||||
!
|
||||
CALL iotk_scan_dat( iunpun, "LATTICE_PARAMETER", alat )
|
||||
CALL iotk_scan_dat( iunpun, "CELLDM", celldm(1:6) )
|
||||
CALL iotk_scan_dat( iunpun, "CELL_DIMENSION", celldm(1:6) )
|
||||
!
|
||||
CALL iotk_scan_begin( iunpun, "DIRECT_LATTICE_VECTORS" )
|
||||
CALL iotk_scan_dat( iunpun, "a1", a1 )
|
||||
|
|
|
@ -455,7 +455,7 @@ MODULE xml_io_base
|
|||
CALL iotk_write_attr( attr, "UNIT", "Bohr", FIRST = .TRUE. )
|
||||
CALL iotk_write_dat( iunpun, "LATTICE_PARAMETER", alat, ATTR = attr )
|
||||
!
|
||||
CALL iotk_write_dat( iunpun, "CELLDM", celldm(1:6) )
|
||||
CALL iotk_write_dat( iunpun, "CELL_DIMENSION", celldm(1:6) )
|
||||
!
|
||||
CALL iotk_write_begin( iunpun, "DIRECT_LATTICE_VECTORS" )
|
||||
CALL iotk_write_dat( iunpun, "a1", a1(:) * alat, ATTR = attr )
|
||||
|
@ -734,6 +734,8 @@ MODULE xml_io_base
|
|||
INTEGER, OPTIONAL, INTENT(IN) :: tetra(:,:)
|
||||
REAL(DP), OPTIONAL, INTENT(IN) :: degauss, f_inp(:,:)
|
||||
!
|
||||
INTEGER :: i
|
||||
!
|
||||
!
|
||||
CALL iotk_write_begin( iunpun, "OCCUPATIONS" )
|
||||
!
|
||||
|
@ -756,7 +758,12 @@ MODULE xml_io_base
|
|||
!
|
||||
CALL iotk_write_dat( iunpun, "NUMBER_OF_TETRAHEDRA", ntetra )
|
||||
!
|
||||
CALL iotk_write_dat( iunpun, "TETRAHEDRA", tetra(:,:) )
|
||||
DO i = 1, ntetra
|
||||
!
|
||||
CALL iotk_write_dat( iunpun, "TETRAHEDRON" // &
|
||||
& iotk_index( i ), tetra(1:4,i) )
|
||||
!
|
||||
END DO
|
||||
!
|
||||
END IF
|
||||
!
|
||||
|
|
|
@ -910,8 +910,8 @@ MODULE pw_restart
|
|||
USE symme, ONLY : nsym
|
||||
USE gvect, ONLY : nr1, nr2, nr3, ngm_g, ecutwfc, dual
|
||||
USE gsmooth, ONLY : nr1s, nr2s, nr3s, ngms_g
|
||||
USE lsda_mod, ONLY : lsda, nspin
|
||||
USE noncollin_module, ONLY : noncolin, npol
|
||||
USE lsda_mod, ONLY : lsda
|
||||
USE noncollin_module, ONLY : noncolin
|
||||
USE ktetra, ONLY : ntetra
|
||||
USE klist, ONLY : nkstot, nelec
|
||||
USE wvfct, ONLY : nbnd, npwx, gamma_only
|
||||
|
@ -996,20 +996,8 @@ MODULE pw_restart
|
|||
!
|
||||
CALL iotk_scan_dat( iunpun, "LSDA", lsda )
|
||||
!
|
||||
IF ( lsda ) THEN
|
||||
!
|
||||
nspin = 2
|
||||
!
|
||||
ELSE
|
||||
!
|
||||
nspin = 1
|
||||
!
|
||||
END IF
|
||||
!
|
||||
CALL iotk_scan_dat( iunpun, "NON-COLINEAR_CALCULATION", noncolin )
|
||||
!
|
||||
CALL iotk_scan_dat( iunpun, "SPINOR_DIM", npol, DEFAULT = 1 )
|
||||
!
|
||||
CALL iotk_scan_end( iunpun, "SPIN" )
|
||||
!
|
||||
CALL iotk_scan_begin( iunpun, "OCCUPATIONS" )
|
||||
|
@ -1062,9 +1050,7 @@ MODULE pw_restart
|
|||
CALL mp_bcast( nr3s, ionode_id )
|
||||
CALL mp_bcast( ngms_g, ionode_id )
|
||||
CALL mp_bcast( lsda, ionode_id )
|
||||
CALL mp_bcast( nspin, ionode_id )
|
||||
CALL mp_bcast( noncolin, ionode_id )
|
||||
CALL mp_bcast( npol, ionode_id )
|
||||
CALL mp_bcast( ntetra, ionode_id )
|
||||
CALL mp_bcast( nkstot, ionode_id )
|
||||
CALL mp_bcast( nelec, ionode_id )
|
||||
|
@ -1145,7 +1131,7 @@ MODULE pw_restart
|
|||
IF ( ibrav == 0 ) &
|
||||
CALL iotk_scan_dat( iunpun, "CELL_SYMMETRY", symm_type )
|
||||
!
|
||||
CALL iotk_scan_dat( iunpun, "CELLDM", celldm(1:6) )
|
||||
CALL iotk_scan_dat( iunpun, "CELL_DIMENSION", celldm(1:6) )
|
||||
!
|
||||
CALL iotk_scan_dat( iunpun, "LATTICE_PARAMETER", alat )
|
||||
!
|
||||
|
@ -1628,6 +1614,14 @@ MODULE pw_restart
|
|||
!
|
||||
CALL iotk_scan_attr( attr, "WEIGHT", wk(ik) )
|
||||
!
|
||||
IF ( nspin == 2 ) THEN
|
||||
!
|
||||
xk(:,ik+num_k_points) = xk(:,ik)
|
||||
!
|
||||
wk(ik+num_k_points) = wk(ik)
|
||||
!
|
||||
END IF
|
||||
!
|
||||
END DO
|
||||
!
|
||||
CALL iotk_scan_end( iunpun, "BRILLOUIN_ZONE" )
|
||||
|
@ -1660,6 +1654,8 @@ MODULE pw_restart
|
|||
CHARACTER(LEN=*), INTENT(IN) :: dirname
|
||||
INTEGER, INTENT(OUT) :: ierr
|
||||
!
|
||||
INTEGER :: i
|
||||
!
|
||||
!
|
||||
IF ( locc_read ) RETURN
|
||||
!
|
||||
|
@ -1693,7 +1689,12 @@ MODULE pw_restart
|
|||
!
|
||||
CALL iotk_scan_dat( iunpun, "NUMBER_OF_TETRAHEDRA", ntetra )
|
||||
!
|
||||
CALL iotk_scan_dat( iunpun, "TETRAHEDRA", tetra(1:4,1:ntetra) )
|
||||
DO i = 1, ntetra
|
||||
!
|
||||
CALL iotk_scan_dat( iunpun, "TETRAHEDRON" // &
|
||||
& iotk_index( i ), tetra(1:4,i) )
|
||||
!
|
||||
END DO
|
||||
!
|
||||
END IF
|
||||
!
|
||||
|
|
|
@ -14,7 +14,6 @@ SUBROUTINE read_file()
|
|||
! ... This routine allocates space for all quantities already computed
|
||||
! ... in the pwscf program and reads them from the data file.
|
||||
!
|
||||
!
|
||||
USE kinds, ONLY : DP
|
||||
USE parameters, ONLY : natx
|
||||
USE ions_base, ONLY : nat, nsp, ityp, tau, if_pos
|
||||
|
@ -111,7 +110,26 @@ SUBROUTINE read_file()
|
|||
!
|
||||
CALL divide_et_impera( xk, wk, isk, lsda, nkstot, nks )
|
||||
!
|
||||
current_spin = 1
|
||||
! ... check whether LSDA
|
||||
!
|
||||
IF ( lsda ) THEN
|
||||
!
|
||||
nspin = 2
|
||||
npol = 1
|
||||
!
|
||||
ELSE IF ( noncolin ) THEN
|
||||
!
|
||||
nspin = 4
|
||||
npol = 2
|
||||
current_spin = 1
|
||||
!
|
||||
ELSE
|
||||
!
|
||||
nspin = 1
|
||||
npol = 1
|
||||
current_spin = 1
|
||||
!
|
||||
END IF
|
||||
!
|
||||
cell_factor = 1.D0
|
||||
lmovecell = .FALSE.
|
||||
|
|
Loading…
Reference in New Issue