4
1
mirror of https://github.com/pfloos/quack synced 2024-12-23 04:43:53 +01:00

fixed the allocate problem for occnum

This commit is contained in:
Clotilde Marut 2020-08-04 12:30:52 +02:00
parent e6f519561a
commit dbb560f77a
14 changed files with 16 additions and 18 deletions

View File

@ -19,7 +19,7 @@
# Number of states in ensemble (nEns) # Number of states in ensemble (nEns)
3 3
# Ensemble weights: wEns(1),...,wEns(nEns-1) # Ensemble weights: wEns(1),...,wEns(nEns-1)
0.00 1.00 1.00 0.00
# Ncentered ? 0 for NO # Ncentered ? 0 for NO
0 0
# Parameters for CC weight-dependent exchange functional # Parameters for CC weight-dependent exchange functional

View File

@ -37,7 +37,7 @@ subroutine GOK_RKS(restart,x_rung,x_DFA,c_rung,c_DFA,LDA_centered,nEns,wEns,aCC_
double precision,intent(in) :: ENuc double precision,intent(in) :: ENuc
double precision,intent(inout):: c(nBas,nBas) double precision,intent(inout):: c(nBas,nBas)
double precision,intent(in):: occnum(2,2,32,2,32,2,3) double precision,intent(in):: occnum(nspin,2,nEns)
integer,intent(in) :: Cx_choice integer,intent(in) :: Cx_choice
! Local variables ! Local variables

View File

@ -30,7 +30,7 @@ subroutine GOK_UKS(x_rung,x_DFA,c_rung,c_DFA,nEns,wEns,nGrid,weight,aCC_w1,aCC_w
double precision,intent(in) :: X(nBas,nBas) double precision,intent(in) :: X(nBas,nBas)
double precision,intent(in) :: ERI(nBas,nBas,nBas,nBas) double precision,intent(in) :: ERI(nBas,nBas,nBas,nBas)
double precision,intent(in) :: ENuc double precision,intent(in) :: ENuc
double precision,intent(in) :: occnum(2,2,3) double precision,intent(in) :: occnum(nspin,2,nEns)
integer,intent(in) :: Cx_choice integer,intent(in) :: Cx_choice
! Local variables ! Local variables

View File

@ -31,7 +31,7 @@ subroutine LIM_RKS(x_rung,x_DFA,c_rung,c_DFA,LDA_centered,nEns,aCC_w1,aCC_w2,nGr
double precision,intent(in) :: X(nBas,nBas) double precision,intent(in) :: X(nBas,nBas)
double precision,intent(in) :: ERI(nBas,nBas,nBas,nBas) double precision,intent(in) :: ERI(nBas,nBas,nBas,nBas)
double precision,intent(in) :: ENuc double precision,intent(in) :: ENuc
double precision,intent(in) :: occnum(2,2,3) double precision,intent(in) :: occnum(nspin,2,nEns)
integer,intent(in) :: Cx_choice integer,intent(in) :: Cx_choice

View File

@ -31,7 +31,7 @@ subroutine MOM_RKS(x_rung,x_DFA,c_rung,c_DFA,LDA_centered,nEns,nGrid,weight, &
double precision,intent(in) :: X(nBas,nBas) double precision,intent(in) :: X(nBas,nBas)
double precision,intent(in) :: ERI(nBas,nBas,nBas,nBas) double precision,intent(in) :: ERI(nBas,nBas,nBas,nBas)
double precision,intent(in) :: ENuc double precision,intent(in) :: ENuc
double precision,intent(in) :: occnum(2,2,3) double precision,intent(in) :: occnum(nspin,2,nEns)
integer,intent(in) :: Cx_choice integer,intent(in) :: Cx_choice

View File

@ -59,8 +59,7 @@ program eDFT
integer :: guess_type integer :: guess_type
integer :: ortho_type integer :: ortho_type
! double precision,allocatable,dimension(:,:,:) :: occnum double precision,allocatable :: occnum(:,:,:)
double precision,dimension(2,2,3) :: occnum
integer :: Cx_choice integer :: Cx_choice
! Hello World ! Hello World
@ -112,7 +111,7 @@ program eDFT
! Allocate ensemble weights ! Allocate ensemble weights
allocate(occnum(nspin,2,maxEns))
allocate(wEns(maxEns)) allocate(wEns(maxEns))
call read_options(method,x_rung,x_DFA,c_rung,c_DFA,SGn,nEns,wEns,aCC_w1,aCC_w2, & call read_options(method,x_rung,x_DFA,c_rung,c_DFA,SGn,nEns,wEns,aCC_w1,aCC_w2, &
maxSCF,thresh,DIIS,max_diis,guess_type,ortho_type,doNcentered,ncent,occnum,Cx_choice) maxSCF,thresh,DIIS,max_diis,guess_type,ortho_type,doNcentered,ncent,occnum,Cx_choice)

View File

@ -30,7 +30,7 @@ subroutine eDFT_UKS(x_rung,x_DFA,c_rung,c_DFA,nEns,wEns,aCC_w1,aCC_w2,nGrid,weig
double precision,intent(in) :: X(nBas,nBas) double precision,intent(in) :: X(nBas,nBas)
double precision,intent(in) :: ERI(nBas,nBas,nBas,nBas) double precision,intent(in) :: ERI(nBas,nBas,nBas,nBas)
double precision,intent(in) :: ENuc double precision,intent(in) :: ENuc
double precision,intent(in) :: occnum(2,2,3) double precision,intent(in) :: occnum(nspin,2,nEns)
integer,intent(in) :: Cx_choice integer,intent(in) :: Cx_choice
! Local variables ! Local variables

View File

@ -21,7 +21,7 @@ subroutine read_options(method,x_rung,x_DFA,c_rung,c_DFA,SGn,nEns,wEns,aCC_w1,aC
double precision,intent(out) :: wEns(maxEns) double precision,intent(out) :: wEns(maxEns)
double precision,intent(out) :: aCC_w1(3) double precision,intent(out) :: aCC_w1(3)
double precision,intent(out) :: aCC_w2(3) double precision,intent(out) :: aCC_w2(3)
double precision,intent(inout) :: occnum(2,2,3) double precision,intent(inout):: occnum(nspin,2,maxEns)
integer,intent(out) :: maxSCF integer,intent(out) :: maxSCF
double precision,intent(out) :: thresh double precision,intent(out) :: thresh
@ -141,10 +141,9 @@ subroutine read_options(method,x_rung,x_DFA,c_rung,c_DFA,SGn,nEns,wEns,aCC_w1,aC
call matout(3,1,aCC_w2) call matout(3,1,aCC_w2)
write(*,*) write(*,*)
!allocate(occnum(nspin,2,nEns))
! Read occupation numbers for orbitals nO and nO+1 ! Read occupation numbers for orbitals nO and nO+1
read(1,*) read(1,*)
do J=1,3 do J=1,nEns
read(1,*) (occnum(1,I,J),I=1,2) read(1,*) (occnum(1,I,J),I=1,2)
read(1,*) (occnum(2,I,J),I=1,2) read(1,*) (occnum(2,I,J),I=1,2)
end do end do

View File

@ -12,7 +12,7 @@ subroutine restricted_auxiliary_energy(nBas,nEns,nO,eps,Eaux,occnum)
integer,intent(in) :: nEns integer,intent(in) :: nEns
integer,intent(in) :: nO integer,intent(in) :: nO
double precision,intent(in) :: eps(nBas) double precision,intent(in) :: eps(nBas)
double precision,intent(in) :: occnum(2,2,3) double precision,intent(in) :: occnum(nspin,2,nEns)
! Local variables ! Local variables

View File

@ -12,7 +12,7 @@ subroutine restricted_density_matrix(nBas,nEns,nO,c,P,occnum)
integer,intent(in) :: nEns integer,intent(in) :: nEns
integer,intent(in) :: nO integer,intent(in) :: nO
double precision,intent(in) :: c(nBas,nBas) double precision,intent(in) :: c(nBas,nBas)
double precision,intent(in) :: occnum(2,2,3) double precision,intent(in) :: occnum(nspin,2,nEns)
! Local variables ! Local variables

View File

@ -38,7 +38,7 @@ subroutine restricted_individual_energy(x_rung,x_DFA,c_rung,c_DFA,LDA_centered,n
double precision,intent(in) :: J(nBas,nBas) double precision,intent(in) :: J(nBas,nBas)
double precision :: Ew double precision :: Ew
double precision,intent(in) :: occnum(2,2,3) double precision,intent(in) :: occnum(nspin,2,nEns)
integer,intent(in) :: Cx_choice integer,intent(in) :: Cx_choice

View File

@ -12,7 +12,7 @@ subroutine unrestricted_auxiliary_energy(nBas,nEns,nO,eps,Eaux,occnum)
integer,intent(in) :: nEns integer,intent(in) :: nEns
integer,intent(in) :: nO(nspin) integer,intent(in) :: nO(nspin)
double precision,intent(in) :: eps(nBas,nspin) double precision,intent(in) :: eps(nBas,nspin)
double precision,intent(in) :: occnum(2,2,3) double precision,intent(in) :: occnum(nspin,2,nEns)
! Local variables ! Local variables

View File

@ -12,7 +12,7 @@ subroutine unrestricted_density_matrix(nBas,nEns,nO,c,P,occnum)
integer,intent(in) :: nEns integer,intent(in) :: nEns
integer,intent(in) :: nO(nspin) integer,intent(in) :: nO(nspin)
double precision,intent(in) :: c(nBas,nBas,nspin) double precision,intent(in) :: c(nBas,nBas,nspin)
double precision,intent(in) :: occnum(2,2,3) double precision,intent(in) :: occnum(nspin,2,nEns)
! Local variables ! Local variables

View File

@ -41,7 +41,7 @@ subroutine unrestricted_individual_energy(x_rung,x_DFA,c_rung,c_DFA,LDA_centered
double precision,intent(in) :: FxHF(nBas,nBas,nspin) double precision,intent(in) :: FxHF(nBas,nBas,nspin)
double precision,intent(in) :: Fc(nBas,nBas,nspin) double precision,intent(in) :: Fc(nBas,nBas,nspin)
double precision :: Ew double precision :: Ew
double precision,intent(in) :: occnum(2,2,3) double precision,intent(in) :: occnum(nspin,2,nEns)
integer,intent(in) :: Cx_choice integer,intent(in) :: Cx_choice