mirror of https://gitlab.com/QEF/q-e.git
Small BugFix in KCW (non collinear calculations)
This commit is contained in:
parent
759cab78c1
commit
fe598f4926
|
@ -3,9 +3,9 @@ add_subdirectory(PP)
|
|||
|
||||
###########################################################
|
||||
|
||||
qe_install_targets(qe_kcw qe_kcw_exe qe_kcwpp_sh_exe qe_kcwpp_interp_exe)
|
||||
qe_install_targets(qe_kcw qe_kcw_exe qe_kcwpp_sh_exe qe_kcwpp_interp_exe qe_kcwpp_merge_wann_exe)
|
||||
|
||||
add_custom_target(
|
||||
kcw
|
||||
DEPENDS pw qe_pp_pw2wannier90_exe w90 qe_kcw_exe qe_kcwpp_sh_exe qe_kcwpp_interp_exe
|
||||
DEPENDS pw qe_pp_pw2wannier90_exe w90 qe_kcw_exe qe_kcwpp_sh_exe qe_kcwpp_interp_exe qe_kcwpp_merge_wann_exe
|
||||
COMMENT "Koopmans spectral functionals")
|
||||
|
|
|
@ -58,3 +58,11 @@ target_link_libraries(qe_kcwpp_ups_exe
|
|||
qe_modules
|
||||
qe_pp
|
||||
qe_upflib)
|
||||
|
||||
###########################################################
|
||||
# merge_wann.x
|
||||
###########################################################
|
||||
set(src_merge_wann_x merge_wann.f90)
|
||||
qe_add_executable(qe_kcwpp_merge_wann_exe ${src_merge_wann_x})
|
||||
set_target_properties(qe_kcwpp_merge_wann_exe PROPERTIES OUTPUT_NAME merge_wann.x)
|
||||
target_link_libraries(qe_kcwpp_merge_wann_exe)
|
||||
|
|
|
@ -204,13 +204,6 @@ subroutine solve_linter_koop ( spin_ref, i_ref, delta_vr, drhog_scf, delta_vg, d
|
|||
IF (noncolin) dbecsum_nc = (0.d0, 0.d0)
|
||||
!
|
||||
DO isolv = 1, nsolv
|
||||
!
|
||||
! Change the sign of the magnetic field if required
|
||||
!
|
||||
IF (isolv == 2) THEN
|
||||
IF ( iter > 1 ) dvscfins(:, 2:4, :) = -dvscfins(:, 2:4, :)
|
||||
vrs(:, 2:4) = -vrs(:, 2:4)
|
||||
ENDIF
|
||||
!
|
||||
IF (iter == 1 ) THEN
|
||||
thresh = 1.d-6
|
||||
|
@ -221,26 +214,16 @@ subroutine solve_linter_koop ( spin_ref, i_ref, delta_vr, drhog_scf, delta_vg, d
|
|||
!
|
||||
IF ( new ) THEN
|
||||
!
|
||||
IF (noncolin) THEN
|
||||
CALL sternheimer_kernel(iter==1, isolv==2, 1, lrdvwfc, iudvwfc, &
|
||||
thresh, dvscfins, all_conv, averlt, drhoscf, dbecsum, &
|
||||
dbecsum_nc(:,:,:,:,:,isolv))
|
||||
ELSE
|
||||
CALL sternheimer_kernel(iter==1, .FALSE., 1, lrdvwfc, iudvwfc, &
|
||||
thresh, dvscfins, all_conv, averlt, drhoscf, dbecsum)
|
||||
|
||||
ENDIF
|
||||
CALL sternheimer_kernel(iter==1, isolv==2, 1, lrdvwfc, iudvwfc, &
|
||||
thresh, dvscfins, all_conv, averlt, drhoscf, dbecsum, &
|
||||
dbecsum_nc(:,:,:,:,:,isolv))
|
||||
!
|
||||
ELSE
|
||||
! NsC: NOT UPDATED to NC case. Anyway not used anymore
|
||||
CALL sternheimer_kernel_old(iter==1, 1, i_ref, lrdvwfc, iudvwfc, &
|
||||
thresh, dvscfins, all_conv, averlt, drhoscf, dbecsum ,delta_vg)
|
||||
ENDIF
|
||||
!
|
||||
IF (isolv == 2) THEN
|
||||
IF ( iter > 1 ) dvscfins(:, 2:4, :) = -dvscfins(:, 2:4, :)
|
||||
vrs(:, 2:4) = -vrs(:, 2:4)
|
||||
ENDIF
|
||||
!
|
||||
ENDDO
|
||||
!
|
||||
IF (nsolv==2) THEN
|
||||
|
|
Loading…
Reference in New Issue