mirror of https://gitlab.com/QEF/q-e.git
Bug introduced (by me) in recent changes to fractional translations
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@13366 c92efa57-630b-4861-b058-cf58834340f0
This commit is contained in:
parent
402bbee8ac
commit
f620bba9d2
|
@ -59,10 +59,9 @@ SUBROUTINE setup()
|
|||
USE start_k, ONLY : nks_start, xk_start, wk_start, &
|
||||
nk1, nk2, nk3, k1, k2, k3
|
||||
USE ktetra, ONLY : tetra_type, opt_tetra_init, tetra_init
|
||||
USE symm_base, ONLY : s, t_rev, irt, nrot, nsym, invsym, nosym, &
|
||||
d1,d2,d3, time_reversal, sname, set_sym_bl, &
|
||||
find_sym, inverse_s, no_t_rev &
|
||||
, allfrac, remove_sym
|
||||
USE symm_base, ONLY : s, t_rev, nrot, nsym, invsym, nosym, &
|
||||
d1,d2,d3, time_reversal, set_sym_bl, &
|
||||
find_sym, inverse_s, no_t_rev, allfrac, fft_fact
|
||||
USE wvfct, ONLY : nbnd, nbndx
|
||||
USE control_flags, ONLY : tr2, ethr, lscf, lmd, david, lecrpa, &
|
||||
isolve, niter, noinv, ts_vdw, &
|
||||
|
@ -447,21 +446,6 @@ SUBROUTINE setup()
|
|||
!
|
||||
call check_atoms ( nat, tau, bg )
|
||||
!
|
||||
! ... calculate dimensions of the FFT grid
|
||||
!
|
||||
! ... if the smooth and dense grid must coincide, ensure that they do
|
||||
! ... also if dense grid is set from input and smooth grid is not
|
||||
!
|
||||
IF ( ( dfftp%nr1 /= 0 .AND. dfftp%nr2 /= 0 .AND. dfftp%nr3 /= 0 ) .AND. &
|
||||
( dffts%nr1 == 0 .AND. dffts%nr2 == 0 .AND. dffts%nr3 == 0 ) .AND. &
|
||||
.NOT. doublegrid ) THEN
|
||||
dffts%nr1 = dfftp%nr1
|
||||
dffts%nr2 = dfftp%nr2
|
||||
dffts%nr3 = dfftp%nr3
|
||||
END IF
|
||||
CALL fft_type_allocate ( dfftp, at, bg, gcutm, intra_bgrp_comm )
|
||||
CALL fft_type_allocate ( dffts, at, bg, gcutms, intra_bgrp_comm)
|
||||
!
|
||||
! ... generate transformation matrices for the crystal point group
|
||||
! ... First we generate all the symmetry matrices of the Bravais lattice
|
||||
!
|
||||
|
@ -553,7 +537,7 @@ SUBROUTINE setup()
|
|||
!
|
||||
CALL find_sym ( nat, tau, ityp, magnetic_sym, m_loc, monopole )
|
||||
!
|
||||
IF ( .NOT. allfrac ) CALL remove_sym ( dfftp%nr1, dfftp%nr1, dfftp%nr3 )
|
||||
! IF ( .NOT. allfrac ) CALL remove_sym ( dfftp%nr1, dfftp%nr2, dfftp%nr3 )
|
||||
!
|
||||
END IF
|
||||
!
|
||||
|
@ -651,6 +635,37 @@ SUBROUTINE setup()
|
|||
kunit = 1
|
||||
CALL divide_et_impera ( nkstot, xk, wk, isk, nks )
|
||||
!
|
||||
! ... calculate dimensions of the FFT grid
|
||||
!
|
||||
! ... if the smooth and dense grid must coincide, ensure that they do
|
||||
! ... also if dense grid is set from input and smooth grid is not
|
||||
!
|
||||
IF ( ( dfftp%nr1 /= 0 .AND. dfftp%nr2 /= 0 .AND. dfftp%nr3 /= 0 ) .AND. &
|
||||
( dffts%nr1 == 0 .AND. dffts%nr2 == 0 .AND. dffts%nr3 == 0 ) .AND. &
|
||||
.NOT. doublegrid ) THEN
|
||||
dffts%nr1 = dfftp%nr1
|
||||
dffts%nr2 = dfftp%nr2
|
||||
dffts%nr3 = dfftp%nr3
|
||||
END IF
|
||||
!
|
||||
IF ( allfrac ) THEN
|
||||
! ... do not force FFT grid to be commensurate with fractional translations
|
||||
CALL fft_type_allocate ( dfftp, at, bg, gcutm, intra_bgrp_comm )
|
||||
CALL fft_type_allocate ( dffts, at, bg, gcutms,intra_bgrp_comm)
|
||||
ELSE
|
||||
! ... force FFT grid to be commensurate with fractional translations
|
||||
CALL fft_type_allocate ( dfftp, at, bg, gcutm, intra_bgrp_comm, fft_fact )
|
||||
IF (.NOT. doublegrid ) THEN
|
||||
! ... if smooth and hard grid coincide, FFT grids must be the same ...
|
||||
CALL fft_type_allocate &
|
||||
( dffts, at, bg, gcutms,intra_bgrp_comm, fft_fact )
|
||||
ELSE
|
||||
! ... otherwise, no constraints needed on smooth grid
|
||||
CALL fft_type_allocate &
|
||||
( dffts, at, bg, gcutms,intra_bgrp_comm )
|
||||
END IF
|
||||
END IF
|
||||
!
|
||||
IF ( dft_is_hybrid() ) THEN
|
||||
CALL exx_grid_init()
|
||||
CALL exx_mp_init()
|
||||
|
|
Loading…
Reference in New Issue