commit b64d4f587e4fe960eeaaf4743f81dd73b5901e37 Author: pietrodelugas Date: Wed Jun 7 11:32:56 2017 +0000 other corrections to the celldm recalculation, added case ibrav=-3, fixed case ibrav=7 git-svn-id: svn+ssh://qeforge.qe-forge.org/svnroot/q-e/trunk/espresso@13552 c92efa57-630b-4861-b058-cf58834340f0 diff --git a/PW/src/pw_restart_new.f90 b/PW/src/pw_restart_new.f90 index bac2e60..cbcb017 100644 --- a/PW/src/pw_restart_new.f90 +++ b/PW/src/pw_restart_new.f90 @@ -1067,6 +1067,8 @@ MODULE pw_restart_new ! alat = atomic_structure%alat IF ( atomic_structure%bravais_index_ispresent ) THEN + !! if ibrav is present then cell parameters have been computed by latgen subrouting using + !! ibrav and celldm parameters, we need to recalculate celldm. ibrav = atomic_structure%bravais_index ELSE ibrav = 0 @@ -1075,8 +1077,8 @@ MODULE pw_restart_new at(:,1) = atomic_structure%cell%a1 at(:,2) = atomic_structure%cell%a2 at(:,3) = atomic_structure%cell%a3 - SELECT CASE (ibrav ) - CASE (1:3) + SELECT CASE ( ibrav ) + CASE (1:3,-3) celldm(1) = alat celldm(2:6) = 0.d0 CASE (4) @@ -1096,8 +1098,8 @@ MODULE pw_restart_new celldm(4:6) = 0.d0 CASE (7) celldm(1) = alat - celldm(3) = at(3,3) - celldm(2)=0.d0 + celldm(3) = ABS(at(3,3)/at(1,3)) + celldm(2)= 0.d0 celldm(4:6) = 0.d0 CASE (8) celldm(1) = alat @@ -1139,11 +1141,11 @@ MODULE pw_restart_new celldm(2) = SQRT( DOT_PRODUCT(at(:,2),at(:,2))/DOT_PRODUCT(at(:,1),at(:,1))) celldm(3) = SQRT( DOT_PRODUCT(at(:,3),at(:,3))/DOT_PRODUCT(at(:,1),at(:,1))) celldm(4) = DOT_PRODUCT(at(:,3),at(:,2))/SQRT(DOT_PRODUCT(at(:,2),at(:,2))*& - DOT_PRODUCT(at(:,3),at(:,3))) + DOT_PRODUCT(at(:,3),at(:,3))) celldm(5) = DOT_PRODUCT(at(:,3),at(:,1))/SQRT(DOT_PRODUCT(at(:,1),at(:,1))*& - DOT_PRODUCT(at(:,3),at(:,3))) + DOT_PRODUCT(at(:,3),at(:,3))) celldm(6) = DOT_PRODUCT(at(:,1),at(:,2))/SQRT(DOT_PRODUCT(at(:,2),at(:,2))*& - DOT_PRODUCT(at(:,1),at(:,1))) + DOT_PRODUCT(at(:,1),at(:,1))) CASE default celldm(1) = 1.d0 IF (alat .GT. 0.d0 ) celldm(1) = alat