From 29896901761e645d3e80ecacf8f0a3eaffecc51d Mon Sep 17 00:00:00 2001 From: giannozz Date: Sun, 5 Mar 2017 21:46:20 +0000 Subject: [PATCH] The space group number, if available, should be stored with symmetry information git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13382 c92efa57-630b-4861-b058-cf58834340f0 --- PW/src/input.f90 | 3 ++- PW/src/pw_restart_new.f90 | 7 ++++--- PW/src/symm_base.f90 | 5 +++-- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/PW/src/input.f90 b/PW/src/input.f90 index 72e20a92f..6aa4e4eae 100644 --- a/PW/src/input.f90 +++ b/PW/src/input.f90 @@ -190,7 +190,7 @@ SUBROUTINE iosys() ! USE symm_base, ONLY : no_t_rev_ => no_t_rev, nofrac, allfrac, & - nosym_ => nosym, nosym_evc_=> nosym_evc + nosym_ => nosym, nosym_evc_=> nosym_evc, spacegroup ! USE bfgs_module, ONLY : bfgs_ndim_ => bfgs_ndim, & trust_radius_max_ => trust_radius_max, & @@ -1310,6 +1310,7 @@ SUBROUTINE iosys() &number',1 ) CALL sup_spacegroup(rd_pos,sp_pos,rd_for,rd_if_pos,space_group,nat,& uniqueb,rhombohedral,origin_choice,ibrav_sg) + spacegroup = space_group IF (ibrav==-1) THEN ibrav=ibrav_sg ELSEIF (ibrav /= ibrav_sg) THEN diff --git a/PW/src/pw_restart_new.f90 b/PW/src/pw_restart_new.f90 index 951023442..cb1b50559 100644 --- a/PW/src/pw_restart_new.f90 +++ b/PW/src/pw_restart_new.f90 @@ -77,7 +77,8 @@ MODULE pw_restart_new is_hubbard USE spin_orb, ONLY : lspinorb, domag USE symm_base, ONLY : nrot, nsym, invsym, s, ft, irt, & - t_rev, sname, time_reversal, no_t_rev + t_rev, sname, time_reversal, no_t_rev,& + spacegroup USE lsda_mod, ONLY : nspin, isk, lsda, starting_magnetization, magtot, absmag USE noncollin_module, ONLY : angle1, angle2, i_cons, mcons, bfield, magtot_nc, & lambda @@ -107,7 +108,7 @@ MODULE pw_restart_new USE london_module, ONLY : scal6, lon_rcut, in_c6 USE xdm_module, ONLY : xdm_a1=>a1i, xdm_a2=>a2i USE tsvdw_module, ONLY : vdw_isolated, vdw_econv_thr - USE input_parameters, ONLY : space_group, verbosity, calculation, ion_dynamics, starting_ns_eigenvalue, & + USE input_parameters, ONLY : verbosity, calculation, ion_dynamics, starting_ns_eigenvalue, & vdw_corr, london, input_parameters_occupations => occupations USE bp, ONLY : lelfield, lberry, bp_mod_el_pol => el_pol, bp_mod_ion_pol => ion_pol ! @@ -262,7 +263,7 @@ MODULE pw_restart_new END DO symmetries_loop END IF END IF - CALL qexsd_init_symmetries(output%symmetries, nsym, nrot, space_group, & + CALL qexsd_init_symmetries(output%symmetries, nsym, nrot, spacegroup,& s, ft, sname, t_rev, nat, irt,symop_2_class(1:nrot), verbosity, & noncolin) ! diff --git a/PW/src/symm_base.f90 b/PW/src/symm_base.f90 index 898861dcd..e0906c49d 100644 --- a/PW/src/symm_base.f90 +++ b/PW/src/symm_base.f90 @@ -28,13 +28,14 @@ MODULE symm_base ! PUBLIC :: s, sr, sname, ft, ftau, nrot, nsym, nsym_ns, nsym_na, t_rev, & no_t_rev, time_reversal, irt, invs, invsym, d1, d2, d3, & - allfrac, nofrac, nosym, nosym_evc, fft_fact, remove_sym + allfrac, nofrac, nosym, nosym_evc, fft_fact, spacegroup INTEGER :: & s(3,3,48), &! symmetry matrices, in crystal axis invs(48), &! index of inverse operation: S^{-1}_i=S(invs(i)) ftau(3,48), &! fractional translations, in FFT coordinates fft_fact(3), &! FFT dimensions must be multiple of fft_fact nrot, &! number of bravais lattice symmetries + spacegroup = 0, &! space group index, as read from input nsym = 1, &! total number of crystal symmetries nsym_ns = 0, &! nonsymmorphic (fractional translation) symms nsym_na = 0 ! excluded nonsymmorphic symmetries because @@ -69,7 +70,7 @@ MODULE symm_base ! ... Exported routines ! PUBLIC :: find_sym, inverse_s, copy_sym, checkallsym, & - s_axis_to_cart, set_sym, set_sym_bl, find_sym_ifc + s_axis_to_cart, set_sym, set_sym_bl, find_sym_ifc, remove_sym ! CONTAINS !