Skip to content

Commit aa829dc

Browse files
author
lburth
committed
update occupation in MOM if they change during mom
1 parent 7a5608a commit aa829dc

File tree

3 files changed

+8
-4
lines changed

3 files changed

+8
-4
lines changed

src/HF/MOM_RHF.f90

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ subroutine MOM_RHF(dotest,doaordm,maxSCF,thresh,max_diis,guess_type,level_shift,
2121
integer,intent(in) :: nOrb
2222
integer,intent(in) :: nO
2323
integer,intent(in) :: nNuc
24-
integer,intent(in) :: occupationsGuess(nO,nspin)
24+
integer,intent(inout) :: occupationsGuess(nO,nspin)
2525
double precision,intent(in) :: ZNuc(nNuc)
2626
double precision,intent(in) :: rNuc(nNuc,ncart)
2727
double precision,intent(in) :: ENuc
@@ -242,7 +242,9 @@ subroutine MOM_RHF(dotest,doaordm,maxSCF,thresh,max_diis,guess_type,level_shift,
242242
write(*,*) ' Warning! Convergence failed at Hartree-Fock level.'
243243

244244
end if
245-
245+
246+
occupationsGuess(:,1) = occupations
247+
occupationsGuess(:,2) = occupations
246248
call dipole_moment(nBas,P,nNuc,ZNuc,rNuc,dipole_int,dipole)
247249
call print_MOM_RHF(nBas,nOrb,nO,eHF,c,ENuc,ET,EV,EJ,EK,ERHF,dipole,occupations)
248250

src/HF/MOM_ROHF.f90

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ subroutine MOM_ROHF(dotest,maxSCF,thresh,max_diis,guess_type,mix,level_shift,wri
2525
double precision,intent(in) :: ENuc
2626

2727
integer,intent(in) :: nO(nspin)
28-
integer,intent(in) :: occupationsGuess(maxval(nO),nspin)
28+
integer,intent(inout) :: occupationsGuess(maxval(nO),nspin)
2929
double precision,intent(in) :: S(nBas,nBas)
3030
double precision,intent(in) :: T(nBas,nBas)
3131
double precision,intent(in) :: V(nBas,nBas)
@@ -277,6 +277,7 @@ subroutine MOM_ROHF(dotest,maxSCF,thresh,max_diis,guess_type,mix,level_shift,wri
277277

278278
! Compute final UHF energy
279279

280+
occupationsGuess = occupations
280281
call dipole_moment(nBas,Ptot,nNuc,ZNuc,rNuc,dipole_int,dipole)
281282
call print_MOM_ROHF(nBas,nOrb,nO,eHF,c,ENuc,ET,EV,EJ,EK,EROHF,dipole,occupations)
282283

src/HF/MOM_UHF.f90

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ subroutine MOM_UHF(dotest,maxSCF,thresh,max_diis,guess_type,mix,level_shift,writ
2424
double precision,intent(in) :: ENuc
2525

2626
integer,intent(in) :: nO(nspin)
27-
integer,intent(in) :: occupationsGuess(maxval(nO),nspin)
27+
integer,intent(inout) :: occupationsGuess(maxval(nO),nspin)
2828
double precision,intent(in) :: S(nBas,nBas)
2929
double precision,intent(in) :: T(nBas,nBas)
3030
double precision,intent(in) :: V(nBas,nBas)
@@ -268,6 +268,7 @@ subroutine MOM_UHF(dotest,maxSCF,thresh,max_diis,guess_type,mix,level_shift,writ
268268

269269
! Compute final UHF energy
270270

271+
occupationsGuess = occupations
271272
call dipole_moment(nBas,P(:,:,1)+P(:,:,2),nNuc,ZNuc,rNuc,dipole_int,dipole)
272273
call print_MOM_UHF(nBas,nO,S,eHF,c,P,ENuc,ET,EV,EJ,EK,EUHF,dipole,occupations)
273274

0 commit comments

Comments
 (0)