diff --git a/Doc/release-notes b/Doc/release-notes index 2c99c5a7d..76a961026 100644 --- a/Doc/release-notes +++ b/Doc/release-notes @@ -5,11 +5,18 @@ Incompatible Changes in CVS version: * ortho_para variable removed from input Use command-line option "-ndiag N" or "-northo N" instead -Fixed in cvs version: +Fixed in version 4.1.2: + + * wavefunctions for extrapolation written to wfcdir and not to outdir + + * Some constraints were not working in solids, due to an incorrect + estimate of the maximum possible distance between two atoms * Parallel execution of D3 wasn't working in at least some cases (e.g. with k-point parallelization) since a long time + * restart of phonon code with PAW wasn't working + Fixed in version 4.1.1: * newly added DFT-D wasn't working properly with k-point parallelization diff --git a/PW/update_pot.f90 b/PW/update_pot.f90 index fb80090d4..366938af3 100644 --- a/PW/update_pot.f90 +++ b/PW/update_pot.f90 @@ -62,7 +62,7 @@ SUBROUTINE update_pot() ! USE kinds, ONLY : DP USE control_flags, ONLY : pot_order, wfc_order, history, alpha0, beta0 - USE io_files, ONLY : prefix, iunupdate, tmp_dir, nd_nmbr + USE io_files, ONLY : prefix, iunupdate, wfc_dir, tmp_dir, nd_nmbr USE io_global, ONLY : ionode, ionode_id USE cell_base, ONLY : bg USE ions_base, ONLY : nat, tau, nsp, ityp @@ -77,6 +77,7 @@ SUBROUTINE update_pot() REAL(DP), ALLOCATABLE :: tauold(:,:,:) INTEGER :: rho_extr, wfc_extr LOGICAL :: exists + CHARACTER (LEN=256) :: tmp_dir_saved ! ! CALL start_clock( 'update_pot' ) @@ -119,6 +120,8 @@ SUBROUTINE update_pot() CALL mp_bcast( beta0, ionode_id, intra_image_comm ) CALL mp_bcast( tauold, ionode_id, intra_image_comm ) ! + tmp_dir_saved = tmp_dir + IF ( wfc_dir /= 'undefined' ) tmp_dir = wfc_dir ! IF ( wfc_order > 0 ) THEN ! @@ -161,10 +164,11 @@ SUBROUTINE update_pot() ! tau (:,:) = tauold (:,:,2) ! - DEALLOCATE( tauold ) - ! END IF ! + DEALLOCATE( tauold ) + tmp_dir = tmp_dir_saved + ! ! ... determines the maximum effective order of the extrapolation on the ! ... basis of the files that are really available (for the charge density) ! @@ -202,8 +206,6 @@ SUBROUTINE update_pot() ! CALL extrapolate_charge( rho_extr ) ! - IF( ALLOCATED( tauold ) ) DEALLOCATE( tauold ) - ! CALL stop_clock( 'update_pot' ) ! RETURN @@ -231,7 +233,6 @@ SUBROUTINE extrapolate_charge( rho_extr ) USE cellmd, ONLY : lmovecell, omega_old USE vlocal, ONLY : strf USE noncollin_module, ONLY : noncolin - USE io_files, ONLY : prefix USE klist, ONLY : nelec USE io_rho_xml, ONLY : write_rho, read_rho USE paw_variables, ONLY : okpaw, ddd_paw @@ -464,7 +465,7 @@ SUBROUTINE extrapolate_wfcs( wfc_extr ) USE wvfct, ONLY : nbnd, npw, npwx, igk, current_k USE ions_base, ONLY : nat, tau USE io_files, ONLY : nwordwfc, iunigk, iunwfc, iunoldwfc, & - iunoldwfc2, prefix + iunoldwfc2 USE buffers, ONLY : get_buffer, save_buffer USE uspp, ONLY : nkb, vkb, okvan USE wavefunctions_module, ONLY : evc