diff --git a/README.md b/README.md index 9ed2498..f0be62c 100644 --- a/README.md +++ b/README.md @@ -4,10 +4,11 @@ **Contributors:** - [Pierre-Francois Loos](https://pfloos.github.io/WEB_LOOS) +- [Anthony Scemama](https://scemama.github.io) - [Enzo Monino](https://enzomonino.github.io) - [Antoine Marie](https://antoine-marie.github.io) - [Abdallah Ammar](https://scholar.google.com/citations?user=y437T5sAAAAJ&hl=en) -- [Anthony Scemama](https://scemama.github.io) +- [Mauricio Rodriguez-Mayorga](https://scholar.google.com/citations?user=OLGOgQgAAAAJ&hl=es) # What is it? @@ -67,6 +68,12 @@ The two most important files are: - `$QUACK_ROOT/input/methods` that gathers the methods you want to use. - `$QUACK_ROOT/input/options` that gathers the different options associated these methods. +Copy the files `methods.default` and `options.default` to `methods.default` `options.default` +``` +cp $QUACK_ROOT/input/methods.default $QUACK_ROOT/input/methods +cp $QUACK_ROOT/input/options.default $QUACK_ROOT/input/options +``` +You can then edit these files to run the methods you'd like with specific options. These files look like this ``` QuAcK 💩 % cat input/methods diff --git a/src/CC/EE_EOM_CCD_1h1p.f90 b/src/CC/EE_EOM_CCD_1h1p.f90 index ef3f7f9..6e72c31 100644 --- a/src/CC/EE_EOM_CCD_1h1p.f90 +++ b/src/CC/EE_EOM_CCD_1h1p.f90 @@ -30,19 +30,19 @@ subroutine EE_EOM_CCD_1h1p(nC,nO,nV,nR,eO,eV,OOVV,OVVO,t) double precision,allocatable :: Om(:) double precision,allocatable :: VL(:,:) double precision,allocatable :: VR(:,:) - double precision,allocatable :: Leom(:,:,:) - double precision,allocatable :: Reom(:,:,:) +! double precision,allocatable :: Leom(:,:,:) +! double precision,allocatable :: Reom(:,:,:) - integer :: nstate,m - double precision :: Ex,tmp +! integer :: nstate,m +! double precision :: Ex,tmp integer,allocatable :: order(:) - double precision,allocatable :: rdm1_oo(:,:) - double precision,allocatable :: rdm1_vv(:,:) +! double precision,allocatable :: rdm1_oo(:,:) +! double precision,allocatable :: rdm1_vv(:,:) - double precision,allocatable :: rdm2_oovv(:,:,:,:) - double precision,allocatable :: rdm2_ovvo(:,:,:,:) +! double precision,allocatable :: rdm2_oovv(:,:,:,:) +! double precision,allocatable :: rdm2_ovvo(:,:,:,:) ! Hello world @@ -165,120 +165,119 @@ subroutine EE_EOM_CCD_1h1p(nC,nO,nV,nR,eO,eV,OOVV,OVVO,t) end if - allocate(Leom(nO,nV,nS),Reom(nO,nV,nS)) +! allocate(Leom(nO,nV,nS),Reom(nO,nV,nS)) - do m=1,nS - ia = 0 - do i=1,nO - do a=1,nV - ia = ia + 1 - Leom(i,a,m) = VL(ia,m) - Reom(i,a,m) = VR(ia,m) - end do - end do - end do +! do m=1,nS +! ia = 0 +! do i=1,nO +! do a=1,nV +! ia = ia + 1 +! Leom(i,a,m) = VL(ia,m) +! Reom(i,a,m) = VR(ia,m) +! end do +! end do +! end do - deallocate(VL,VR) +! deallocate(VL,VR) !------------------------------------------------------------------------ ! EOM section !------------------------------------------------------------------------ - allocate(rdm1_oo(nO,nO),rdm1_vv(nV,nV)) - allocate(rdm2_oovv(nO,nO,nV,nV),rdm2_ovvo(nO,nV,nV,nO)) +! allocate(rdm1_oo(nO,nO),rdm1_vv(nV,nV)) +! allocate(rdm2_oovv(nO,nO,nV,nV),rdm2_ovvo(nO,nV,nV,nO)) - nstate = 1 +! nstate = 1 - tmp = 0d0 - do i=1,nO - do a=1,nV - tmp = tmp + Leom(i,a,nstate)*Reom(i,a,nstate) - end do - end do - print*,tmp +! tmp = 0d0 +! do i=1,nO +! do a=1,nV +! tmp = tmp + Leom(i,a,nstate)*Reom(i,a,nstate) +! end do +! end do +! print*,tmp - rdm1_oo(:,:) = 0d0 - do i=1,nO - do j=1,nO - do c=1,nV +! rdm1_oo(:,:) = 0d0 +! do i=1,nO +! do j=1,nO +! do c=1,nV - rdm1_oo(i,j) = rdm1_oo(i,j) - Reom(i,c,nstate)*Leom(j,c,nstate) +! rdm1_oo(i,j) = rdm1_oo(i,j) - Reom(i,c,nstate)*Leom(j,c,nstate) - end do - end do - end do +! end do +! end do +! end do - rdm1_vv(:,:) = 0d0 - do a=1,nV - do b=1,nV - do k=1,nO +! rdm1_vv(:,:) = 0d0 +! do a=1,nV +! do b=1,nV +! do k=1,nO - rdm1_vv(a,b) = rdm1_vv(a,b) + Reom(k,b,nstate)*Leom(k,a,nstate) +! rdm1_vv(a,b) = rdm1_vv(a,b) + Reom(k,b,nstate)*Leom(k,a,nstate) - end do - end do - end do +! end do +! end do +! end do - rdm2_ovvo(:,:,:,:) = 0d0 - do i=1,nO - do a=1,nV - do b=1,nV - do j=1,nO - - rdm2_ovvo(i,a,b,j) = Reom(i,b,nstate)*Leom(j,a,nstate) +! rdm2_ovvo(:,:,:,:) = 0d0 +! do i=1,nO +! do a=1,nV +! do b=1,nV +! do j=1,nO +! +! rdm2_ovvo(i,a,b,j) = Reom(i,b,nstate)*Leom(j,a,nstate) - end do - end do - end do - end do +! end do +! end do +! end do +! end do - rdm2_oovv(:,:,:,:) = 0d0 - do i=1,nO - do j=1,nO - do a=1,nV - do b=1,nV +! rdm2_oovv(:,:,:,:) = 0d0 +! do i=1,nO +! do j=1,nO +! do a=1,nV +! do b=1,nV - do k=1,nO - do c=1,nV - - rdm2_oovv(i,j,a,b) = rdm2_oovv(i,j,a,b) & - + Reom(j,b,nstate)*t(k,i,c,a)*Leom(k,c,nstate) & - - Reom(i,b,nstate)*t(k,j,c,a)*Leom(k,c,nstate) & - - Reom(j,a,nstate)*t(k,i,c,b)*Leom(k,c,nstate) & - + Reom(i,a,nstate)*t(k,j,c,b)*Leom(k,c,nstate) +! do k=1,nO +! do c=1,nV +! +! rdm2_oovv(i,j,a,b) = rdm2_oovv(i,j,a,b) & +! + Reom(j,b,nstate)*t(k,i,c,a)*Leom(k,c,nstate) & +! - Reom(i,b,nstate)*t(k,j,c,a)*Leom(k,c,nstate) & +! - Reom(j,a,nstate)*t(k,i,c,b)*Leom(k,c,nstate) & +! + Reom(i,a,nstate)*t(k,j,c,b)*Leom(k,c,nstate) - end do - end do +! end do +! end do - end do - end do - end do - end do +! end do +! end do +! end do +! end do - Ex = 0d0 +! Ex = 0d0 - do i=1,nO - Ex = Ex + rdm1_oo(i,i)*eO(i) - end do +! do i=1,nO +! Ex = Ex + rdm1_oo(i,i)*eO(i) +! end do - do a=1,nV - Ex = Ex + rdm1_vv(a,a)*eV(a) - end do +! do a=1,nV +! Ex = Ex + rdm1_vv(a,a)*eV(a) +! end do - do i=1,nO - do a=1,nV - do b=1,nV - do j=1,nO - - Ex = Ex + rdm2_ovvo(i,a,b,j)*OVVO(i,a,b,j) + 0.25d0*rdm2_oovv(i,j,a,b)*OOVV(i,j,a,b) - - end do - end do - end do - end do - - print*,'Ex = ',Ex - print*,'Om = ',Om(nstate) +! do i=1,nO +! do a=1,nV +! do b=1,nV +! do j=1,nO +! +! Ex = Ex + rdm2_ovvo(i,a,b,j)*OVVO(i,a,b,j) + 0.25d0*rdm2_oovv(i,j,a,b)*OOVV(i,j,a,b) +! +! end do +! end do +! end do +! end do +! print*,'Ex = ',Ex +! print*,'Om = ',Om(nstate) end subroutine