From 7e76c0cddbd48ce60c1b686eb210e45b077f00a5 Mon Sep 17 00:00:00 2001 From: Gregor Michalicek Date: Mon, 27 Nov 2017 19:48:43 +0100 Subject: [PATCH] Bugfix: Added missing reset of potential at beginning of SCF iteration The bug was introduced in commit 62285e992f75364f32ae52dd244647bc42121be5. Thanks to Patrick for pointing out that there was a bug. --- global/types.F90 | 17 +++++++++++++++++ main/vgen.F90 | 4 ++++ 2 files changed, 21 insertions(+) diff --git a/global/types.F90 b/global/types.F90 index b8925725..7070c490 100644 --- a/global/types.F90 +++ b/global/types.F90 @@ -922,6 +922,7 @@ MODULE m_types PROCEDURE :: init_potden_types PROCEDURE :: init_potden_simple GENERIC :: init=>init_potden_types,init_potden_simple + PROCEDURE :: resetPotDen END TYPE t_potden CONTAINS SUBROUTINE usdus_init(ud,atoms,jsp) @@ -1013,5 +1014,21 @@ CONTAINS pd%mmpMat = CMPLX(0.0,0.0) END SUBROUTINE init_potden_simple + SUBROUTINE resetPotDen(pd) + + IMPLICIT NONE + + CLASS(t_potden),INTENT(INOUT) :: pd + + pd%pw=CMPLX(0.0,0.0) + pd%mt=0.0 + pd%vacz=0.0 + pd%vacxy=CMPLX(0.0,0.0) + pd%cdom = CMPLX(0.0,0.0) + pd%cdomvz = CMPLX(0.0,0.0) + pd%cdomvxy = CMPLX(0.0,0.0) + pd%mmpMat = CMPLX(0.0,0.0) + END SUBROUTINE resetPotDen + END MODULE m_types diff --git a/main/vgen.F90 b/main/vgen.F90 index 8accb6bf..d6c1085c 100644 --- a/main/vgen.F90 +++ b/main/vgen.F90 @@ -123,6 +123,10 @@ CONTAINS ! units: hartrees ! + CALL vTot%resetPotDen() + CALL vCoul%resetPotDen() + CALL vx%resetPotDen() + ALLOCATE ( alphm(stars%ng2,2),excpw(stars%ng3),excxy(vacuum%nmzxyd,oneD%odi%n2d-1,2),& vbar(dimension%jspd),af1(3*stars%mx3),bf1(3*stars%mx3),xp(3,dimension%nspd),& vpw_exx(stars%ng3,dimension%jspd),vpw_wexx(stars%ng3,dimension%jspd),& -- GitLab