mirror of
https://github.com/QuantumPackage/qp2.git
synced 2024-11-18 11:23:38 +01:00
commit
b6159537e2
@ -41,11 +41,9 @@
|
|||||||
|
|
||||||
if(mu_of_r_potential == "cas_ful")then
|
if(mu_of_r_potential == "cas_ful")then
|
||||||
! You take the on-top of the CAS wave function which is computed with mu(r)
|
! You take the on-top of the CAS wave function which is computed with mu(r)
|
||||||
! factor 2 because convention N(N-1)/ 2 in provider on_top_cas_mu_r
|
on_top = on_top_cas_mu_r(ipoint,istate)
|
||||||
on_top = 2.d0 * on_top_cas_mu_r(ipoint,istate)
|
|
||||||
else
|
else
|
||||||
! You take the on-top of the CAS wave function computed separately
|
! You take the on-top of the CAS wave function computed separately
|
||||||
! No factor 2 because convention N(N-1) in provider total_cas_on_top_density
|
|
||||||
on_top = total_cas_on_top_density(ipoint,istate)
|
on_top = total_cas_on_top_density(ipoint,istate)
|
||||||
endif
|
endif
|
||||||
! We take the extrapolated on-top pair density
|
! We take the extrapolated on-top pair density
|
||||||
@ -105,11 +103,9 @@
|
|||||||
|
|
||||||
if(mu_of_r_potential == "cas_ful")then
|
if(mu_of_r_potential == "cas_ful")then
|
||||||
! You take the on-top of the CAS wave function which is computed with mu(r)
|
! You take the on-top of the CAS wave function which is computed with mu(r)
|
||||||
! factor 2 because convention N(N-1)/ 2 in provider on_top_cas_mu_r
|
on_top = on_top_cas_mu_r(ipoint,istate)
|
||||||
on_top = 2.d0 * on_top_cas_mu_r(ipoint,istate)
|
|
||||||
else
|
else
|
||||||
! You take the on-top of the CAS wave function computed separately
|
! You take the on-top of the CAS wave function computed separately
|
||||||
! No factor 2 because convention N(N-1) in provider total_cas_on_top_density
|
|
||||||
on_top = total_cas_on_top_density(ipoint,istate)
|
on_top = total_cas_on_top_density(ipoint,istate)
|
||||||
endif
|
endif
|
||||||
! We take the extrapolated on-top pair density
|
! We take the extrapolated on-top pair density
|
||||||
@ -169,11 +165,9 @@
|
|||||||
|
|
||||||
if(mu_of_r_potential == "cas_ful")then
|
if(mu_of_r_potential == "cas_ful")then
|
||||||
! You take the on-top of the CAS wave function which is computed with mu(r)
|
! You take the on-top of the CAS wave function which is computed with mu(r)
|
||||||
! factor 2 because convention N(N-1)/ 2 in provider on_top_cas_mu_r
|
on_top = on_top_cas_mu_r(ipoint,istate)
|
||||||
on_top = 1.d0 * on_top_cas_mu_r(ipoint,istate)
|
|
||||||
else
|
else
|
||||||
! You take the on-top of the CAS wave function computed separately
|
! You take the on-top of the CAS wave function computed separately
|
||||||
! No factor 2 because convention N(N-1) in provider total_cas_on_top_density
|
|
||||||
on_top = total_cas_on_top_density(ipoint,istate)
|
on_top = total_cas_on_top_density(ipoint,istate)
|
||||||
endif
|
endif
|
||||||
! We DO NOT take the extrapolated on-top pair density
|
! We DO NOT take the extrapolated on-top pair density
|
||||||
|
@ -46,9 +46,9 @@ END_PROVIDER
|
|||||||
&BEGIN_PROVIDER [double precision, mo_bi_orth_bipole_y , (mo_num,mo_num)]
|
&BEGIN_PROVIDER [double precision, mo_bi_orth_bipole_y , (mo_num,mo_num)]
|
||||||
&BEGIN_PROVIDER [double precision, mo_bi_orth_bipole_z , (mo_num,mo_num)]
|
&BEGIN_PROVIDER [double precision, mo_bi_orth_bipole_z , (mo_num,mo_num)]
|
||||||
BEGIN_DOC
|
BEGIN_DOC
|
||||||
! array of the integrals of MO_i * x MO_j
|
! array of the integrals of Left MO_i * x Right MO_j
|
||||||
! array of the integrals of MO_i * y MO_j
|
! array of the integrals of Left MO_i * y Right MO_j
|
||||||
! array of the integrals of MO_i * z MO_j
|
! array of the integrals of Left MO_i * z Right MO_j
|
||||||
END_DOC
|
END_DOC
|
||||||
implicit none
|
implicit none
|
||||||
|
|
||||||
|
@ -86,6 +86,9 @@ subroutine f_HF_valence_ab(r1,r2,f_HF_val_ab,two_bod_dens)
|
|||||||
enddo
|
enddo
|
||||||
enddo
|
enddo
|
||||||
enddo
|
enddo
|
||||||
|
! multiply by two to adapt to the N(N-1) normalization condition of the active two-rdm
|
||||||
|
f_HF_val_ab *= 2.d0
|
||||||
|
two_bod_dens *= 2.d0
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
@ -136,4 +139,6 @@ subroutine integral_f_HF_valence_ab(r1,int_f_HF_val_ab)
|
|||||||
enddo
|
enddo
|
||||||
enddo
|
enddo
|
||||||
enddo
|
enddo
|
||||||
|
! multiply by two to adapt to the N(N-1) normalization condition of the active two-rdm
|
||||||
|
int_f_HF_val_ab *= 2.d0
|
||||||
end
|
end
|
||||||
|
@ -49,6 +49,9 @@ subroutine give_f_ii_val_ab(r1,r2,f_ii_val_ab,two_bod_dens)
|
|||||||
enddo
|
enddo
|
||||||
enddo
|
enddo
|
||||||
enddo
|
enddo
|
||||||
|
! multiply by two to adapt to the N(N-1) normalization condition of the active two-rdm
|
||||||
|
f_ii_val_ab *= 2.d0
|
||||||
|
two_bod_dens *= 2.d0
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
@ -142,6 +145,9 @@ subroutine give_f_ia_val_ab(r1,r2,f_ia_val_ab,two_bod_dens,istate)
|
|||||||
f_ia_val_ab += v_tilde(i,a) * rho_tilde(i,a)
|
f_ia_val_ab += v_tilde(i,a) * rho_tilde(i,a)
|
||||||
enddo
|
enddo
|
||||||
enddo
|
enddo
|
||||||
|
! multiply by two to adapt to the N(N-1) normalization condition of the active two-rdm
|
||||||
|
f_ia_val_ab *= 2.d0
|
||||||
|
two_bod_dens *= 2.d0
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
@ -194,7 +200,7 @@ subroutine give_f_aa_val_ab(r1,r2,f_aa_val_ab,two_bod_dens,istate)
|
|||||||
do b = 1, n_act_orb ! 2
|
do b = 1, n_act_orb ! 2
|
||||||
do c = 1, n_act_orb ! 1
|
do c = 1, n_act_orb ! 1
|
||||||
do d = 1, n_act_orb ! 2
|
do d = 1, n_act_orb ! 2
|
||||||
rho = mos_array_act_r1(c) * mos_array_act_r2(d) * 0.5d0 * act_2_rdm_ab_mo(d,c,b,a,istate)
|
rho = mos_array_act_r1(c) * mos_array_act_r2(d) * act_2_rdm_ab_mo(d,c,b,a,istate)
|
||||||
rho_tilde(b,a) += rho
|
rho_tilde(b,a) += rho
|
||||||
two_bod_dens += rho * mos_array_act_r1(a) * mos_array_act_r2(b)
|
two_bod_dens += rho * mos_array_act_r1(a) * mos_array_act_r2(b)
|
||||||
enddo
|
enddo
|
||||||
@ -222,6 +228,8 @@ subroutine give_f_aa_val_ab(r1,r2,f_aa_val_ab,two_bod_dens,istate)
|
|||||||
f_aa_val_ab += v_tilde(b,a) * rho_tilde(b,a)
|
f_aa_val_ab += v_tilde(b,a) * rho_tilde(b,a)
|
||||||
enddo
|
enddo
|
||||||
enddo
|
enddo
|
||||||
|
|
||||||
|
! DO NOT multiply by two as in give_f_ii_val_ab and give_f_ia_val_ab because the N(N-1) normalization condition of the active two-rdm
|
||||||
end
|
end
|
||||||
|
|
||||||
BEGIN_PROVIDER [double precision, two_e_int_aa_f, (n_basis_orb,n_basis_orb,n_act_orb,n_act_orb)]
|
BEGIN_PROVIDER [double precision, two_e_int_aa_f, (n_basis_orb,n_basis_orb,n_act_orb,n_act_orb)]
|
||||||
|
Loading…
Reference in New Issue
Block a user