diff --git a/input/dft b/input/dft index c738824..deefae4 100644 --- a/input/dft +++ b/input/dft @@ -21,7 +21,7 @@ # Ensemble weights: wEns(1),...,wEns(nEns-1) 0.00 0.00 # Parameters for CC weight-dependent exchange functional -0.420243 0.0700561 -0.288301 -0.135068 -0.00774769 -0.0278205 +0.420431 0.069097 -0.295049 +0.135075 -0.00770826 -0.028057 # GOK-DFT: maxSCF thresh DIIS n_diis guess_type ortho_type - 32 0.00001 T 5 1 1 + 500 0.00001 T 5 1 1 diff --git a/src/eDFT/unrestricted_auxiliary_energy.f90 b/src/eDFT/unrestricted_auxiliary_energy.f90 index 6a474d0..192f6dd 100644 --- a/src/eDFT/unrestricted_auxiliary_energy.f90 +++ b/src/eDFT/unrestricted_auxiliary_energy.f90 @@ -32,19 +32,19 @@ subroutine unrestricted_auxiliary_energy(nBas,nEns,nO,eps,Eaux) iEns = 2 - Eaux(1,iEns) = sum(eps(1:nO(1),1)) + Eaux(2,iEns) = sum(eps(1:nO(2),2)) - if(nO(2) > 1) then - Eaux(2,iEns) = sum(eps(1:nO(2)-1,2)) + if(nO(1) > 1) then + Eaux(1,iEns) = sum(eps(1:nO(1)-1,1)) else - Eaux(2,iEns) = 0d0 + Eaux(1,iEns) = 0d0 end if ! (N+1)-electron ground state iEns = 3 - Eaux(1,iEns) = sum(eps(1:nO(1)+1,1)) - Eaux(2,iEns) = sum(eps(1:nO(2),2)) + Eaux(2,iEns) = sum(eps(1:nO(2)+1,2)) + Eaux(1,iEns) = sum(eps(1:nO(1),1)) end subroutine unrestricted_auxiliary_energy diff --git a/src/eDFT/unrestricted_density_matrix.f90 b/src/eDFT/unrestricted_density_matrix.f90 index 53ec50d..372a063 100644 --- a/src/eDFT/unrestricted_density_matrix.f90 +++ b/src/eDFT/unrestricted_density_matrix.f90 @@ -29,19 +29,19 @@ subroutine unrestricted_density_matrix(nBas,nEns,nO,c,P) P(:,:,ispin,iEns) = matmul(c(:,1:nO(ispin),ispin),transpose(c(:,1:nO(ispin),ispin))) end do -! (N-1)-electron state: remove spin-down electrons +! (N-1)-electron state: remove spin-up electrons iEns = 2 - P(:,:,1,iEns) = matmul(c(:,1:nO(1) ,1),transpose(c(:,1:nO(1) ,1))) - if (nO(2) > 1) then - P(:,:,2,iEns) = matmul(c(:,1:nO(2)-1,2),transpose(c(:,1:nO(2)-1,2))) + P(:,:,2,iEns) = matmul(c(:,1:nO(2),2),transpose(c(:,1:nO(2),2))) + if (nO(1) > 1) then + P(:,:,1,iEns) = matmul(c(:,1:nO(1)-1,1),transpose(c(:,1:nO(1)-1,1))) else - P(:,:,2,iEns) = 0.d0 + P(:,:,1,iEns) = 0.d0 end if -! (N+1)-electron state: remove spin-up electrons +! (N+1)-electron state: remove spin-down electrons iEns = 3 - P(:,:,1,iEns) = matmul(c(:,1:nO(1)+1,1),transpose(c(:,1:nO(1)+1,1))) - P(:,:,2,iEns) = matmul(c(:,1:nO(2) ,2),transpose(c(:,1:nO(2) ,2))) + P(:,:,2,iEns) = matmul(c(:,1:nO(2)+1,2),transpose(c(:,1:nO(2)+1,2))) + P(:,:,1,iEns) = matmul(c(:,1:nO(1),1),transpose(c(:,1:nO(1),1))) end subroutine unrestricted_density_matrix