mirror of
https://github.com/QuantumPackage/qp2.git
synced 2024-11-15 18:43:51 +01:00
Merge branch 'dev-stable' of https://github.com/QuantumPackage/qp2 into dev-stable
This commit is contained in:
commit
4e1191c536
@ -35,14 +35,14 @@ program debug_gradient_list
|
||||
! Definition of n
|
||||
n = m*(m-1)/2
|
||||
|
||||
PROVIDE mo_two_e_integrals_in_map ! Vérifier pour suppression
|
||||
PROVIDE mo_two_e_integrals_in_map ! Verifier pour suppression
|
||||
|
||||
! Allocation
|
||||
allocate(v_grad(n), v_grad2(n))
|
||||
|
||||
! Calculation
|
||||
|
||||
call diagonalize_ci ! Vérifier pour suppression
|
||||
call diagonalize_ci ! Verifier pour suppression
|
||||
|
||||
! Gradient
|
||||
call gradient_list_opt(n,m,list_act,v_grad,max_elem,norm)
|
||||
|
@ -34,14 +34,14 @@ program debug_gradient
|
||||
! Definition of n
|
||||
n = mo_num*(mo_num-1)/2
|
||||
|
||||
PROVIDE mo_two_e_integrals_in_map ! Vérifier pour suppression
|
||||
PROVIDE mo_two_e_integrals_in_map ! Check for suppression
|
||||
|
||||
! Allocation
|
||||
allocate(v_grad(n), v_grad2(n))
|
||||
|
||||
! Calculation
|
||||
|
||||
call diagonalize_ci ! Vérifier pour suppression
|
||||
call diagonalize_ci
|
||||
|
||||
! Gradient
|
||||
call first_gradient_opt(n,v_grad)
|
||||
|
@ -49,7 +49,7 @@ program debug_hessian_list_opt
|
||||
! Definition of n
|
||||
n = m*(m-1)/2
|
||||
|
||||
PROVIDE mo_two_e_integrals_in_map ! Vérifier pour suppression
|
||||
PROVIDE mo_two_e_integrals_in_map
|
||||
|
||||
! Hessian
|
||||
if (optimization_method == 'full') then
|
||||
|
@ -40,7 +40,7 @@ program debug_hessian
|
||||
! Definition of n
|
||||
n = mo_num*(mo_num-1)/2
|
||||
|
||||
PROVIDE mo_two_e_integrals_in_map ! Vérifier pour suppression
|
||||
PROVIDE mo_two_e_integrals_in_map
|
||||
|
||||
! Allocation
|
||||
allocate(H(n,n),H2(n,n))
|
||||
|
@ -13,7 +13,7 @@
|
||||
! matrix as a expectation value
|
||||
! \begin{align*}
|
||||
! <\Psi_n|x| \Psi_m > = \sum_p \gamma_{pp}^{nm} < \phi_p | x | \phi_p >
|
||||
! + \sum_{pq, p \neq q} \gamma_{pq}^{nm} < \phi_p | x | \phi_q > + < \Psi_m | \sum_A Z_A R_A | \Psi_n >
|
||||
! + \sum_{pq, p \neq q} \gamma_{pq}^{nm} < \phi_p |x | \phi_q > + < \Psi_m | \sum_A Z_A R_A | \Psi_n >
|
||||
! \end{align*}
|
||||
|
||||
|
||||
|
@ -13,7 +13,7 @@ subroutine print_dipole_moment
|
||||
implicit none
|
||||
|
||||
BEGIN_DOC
|
||||
! To print the dipole moment ||<\Psi_i|µ|\Psi_i>|| and its x,y,z components
|
||||
! To print the dipole moment ||<\Psi_i|\mu|\Psi_i>|| and its x,y,z components
|
||||
END_DOC
|
||||
|
||||
integer :: istate
|
||||
@ -33,7 +33,7 @@ subroutine print_dipole_moment
|
||||
print*,'# Dipoles:'
|
||||
print*,'=============================================='
|
||||
print*,' Dipole moments (au)'
|
||||
print*,' State X Y Z ||µ||'
|
||||
print*,' State X Y Z ||MU||'
|
||||
|
||||
do istate = 1, N_states
|
||||
write(*,'(I5,4(F12.6))') (istate-1), d_x(istate), d_y(istate), d_z(istate), d(istate)
|
||||
@ -42,7 +42,7 @@ subroutine print_dipole_moment
|
||||
! Debye
|
||||
print*,''
|
||||
print*,' Dipole moments (D)'
|
||||
print*,' State X Y Z ||µ||'
|
||||
print*,' State X Y Z ||MU||'
|
||||
|
||||
do istate = 1, N_states
|
||||
write(*,'(I5,4(F12.6))') (istate-1), d_x(istate)*au_to_D, d_y(istate)*au_to_D, d_z(istate)*au_to_D, d(istate)*au_to_D
|
||||
@ -70,7 +70,7 @@ subroutine print_transition_dipole_moment
|
||||
implicit none
|
||||
|
||||
BEGIN_DOC
|
||||
! To print the transition dipole moment ||<\Psi_i|µ|\Psi_j>|| and its components along x, y and z
|
||||
! To print the transition dipole moment ||<\Psi_i|\mu|\Psi_j>|| and its components along x, y and z
|
||||
END_DOC
|
||||
|
||||
integer :: istate,jstate, n_states_print
|
||||
@ -84,7 +84,7 @@ subroutine print_transition_dipole_moment
|
||||
print*,'# Transition dipoles:'
|
||||
print*,'=============================================='
|
||||
print*,' Transition dipole moments (au)'
|
||||
write(*,'(A89)') ' # Transition X Y Z ||µ|| Dip. str. Osc. str.'
|
||||
write(*,'(A89)') ' # Transition X Y Z ||MU|| Dip. str. Osc. str.'
|
||||
|
||||
if (print_all_transitions) then
|
||||
n_states_print = N_states
|
||||
@ -106,7 +106,7 @@ subroutine print_transition_dipole_moment
|
||||
|
||||
print*,''
|
||||
print*,' Transition dipole moments (D)'
|
||||
write(*,'(A89)') ' # Transition X Y Z ||µ|| Dip. str. Osc. str.'
|
||||
write(*,'(A89)') ' # Transition X Y Z ||MU|| Dip. str. Osc. str.'
|
||||
|
||||
do jstate = 1, n_states_print !N_states
|
||||
do istate = jstate + 1, N_states
|
||||
|
@ -38,9 +38,9 @@ subroutine get_delta_bitc_right(psidet, psicoef, ndet, Nint, delta)
|
||||
do i = 1, ndet
|
||||
do j = 1, ndet
|
||||
|
||||
! < I | Htilde | J >
|
||||
! < I |Htilde | J >
|
||||
call htilde_mu_mat_bi_ortho_slow(psidet(1,1,i), psidet(1,1,j), Nint, htc_mono, htc_twoe, htc_three, htc_tot)
|
||||
! < I | H | J >
|
||||
! < I |H | J >
|
||||
call hmat_bi_ortho(psidet(1,1,i), psidet(1,1,j), Nint, h_mono, h_twoe, h_tot)
|
||||
|
||||
delta_mat = htc_tot - h_tot
|
||||
@ -87,7 +87,7 @@ subroutine get_htc_bitc_right(psidet, psicoef, ndet, Nint, delta)
|
||||
do i = 1, ndet
|
||||
do j = 1, ndet
|
||||
|
||||
! < I | Htilde | J >
|
||||
! < I |Htilde | J >
|
||||
call htilde_mu_mat_bi_ortho_slow(psidet(1,1,i), psidet(1,1,j), Nint, htc_mono, htc_twoe, htc_three, htc_tot)
|
||||
|
||||
delta(i) = delta(i) + psicoef(j) * htc_tot
|
||||
@ -141,7 +141,7 @@ subroutine get_h_bitc_right(psidet, psicoef, ndet, Nint, delta)
|
||||
do i = 1, ndet
|
||||
do j = 1, ndet
|
||||
|
||||
! < I | H | J >
|
||||
! < I |H | J >
|
||||
call hmat_bi_ortho(psidet(1,1,i), psidet(1,1,j), Nint, h_mono, h_twoe, h_tot)
|
||||
|
||||
delta(i) = delta(i) + psicoef(j) * h_tot
|
||||
|
@ -5,7 +5,7 @@ subroutine hmat_bi_ortho(key_j, key_i, Nint, hmono, htwoe, htot)
|
||||
|
||||
BEGIN_DOC
|
||||
!
|
||||
! < key_j | H | key_i > where | key_j > is developed on the LEFT basis and | key_i > is developed on the RIGHT basis
|
||||
! < key_j |H | key_i > where | key_j > is developed on the LEFT basis and | key_i > is developed on the RIGHT basis
|
||||
!
|
||||
END_DOC
|
||||
|
||||
@ -111,7 +111,7 @@ subroutine single_hmat_bi_ortho(Nint, key_j, key_i, hmono, htwoe)
|
||||
|
||||
BEGIN_DOC
|
||||
!
|
||||
! < key_j | H | key_i > for single excitation
|
||||
! < key_j |H | key_i > for single excitation
|
||||
!
|
||||
END_DOC
|
||||
|
||||
@ -185,7 +185,7 @@ subroutine double_hmat_bi_ortho(Nint, key_j, key_i, hmono, htwoe)
|
||||
|
||||
BEGIN_DOC
|
||||
!
|
||||
! < key_j | H | key_i> for double excitation
|
||||
! < key_j |H | key_i> for double excitation
|
||||
!
|
||||
END_DOC
|
||||
|
||||
|
@ -93,7 +93,7 @@ end
|
||||
subroutine single_htilde_three_body_ints_bi_ort_slow(Nint, key_j, key_i, hthree)
|
||||
|
||||
BEGIN_DOC
|
||||
! <key_j | H_tilde | key_i> for single excitation ONLY FOR THREE-BODY TERMS WITH BI ORTHONORMAL ORBITALS
|
||||
! <key_j |H_tilde | key_i> for single excitation ONLY FOR THREE-BODY TERMS WITH BI ORTHONORMAL ORBITALS
|
||||
!!
|
||||
!! WARNING !!
|
||||
!
|
||||
@ -188,7 +188,7 @@ end
|
||||
subroutine double_htilde_three_body_ints_bi_ort_slow(Nint, key_j, key_i, hthree)
|
||||
|
||||
BEGIN_DOC
|
||||
! <key_j | H_tilde | key_i> for double excitation ONLY FOR THREE-BODY TERMS WITH BI ORTHONORMAL ORBITALS
|
||||
! <key_j |H_tilde | key_i> for double excitation ONLY FOR THREE-BODY TERMS WITH BI ORTHONORMAL ORBITALS
|
||||
!!
|
||||
!! WARNING !!
|
||||
!
|
||||
|
@ -36,7 +36,7 @@ subroutine htilde_mu_mat_opt_bi_ortho_tot(key_j, key_i, Nint, htot)
|
||||
implicit none
|
||||
BEGIN_DOC
|
||||
!
|
||||
! <key_j | H_tilde | key_i> where |key_j> is developed on the LEFT basis and |key_i> is developed on the RIGHT basis
|
||||
! <key_j |H_tilde | key_i> where |key_j> is developed on the LEFT basis and |key_i> is developed on the RIGHT basis
|
||||
!!
|
||||
! Returns the total matrix element
|
||||
!! WARNING !!
|
||||
@ -55,7 +55,7 @@ end
|
||||
subroutine htilde_mu_mat_opt_bi_ortho(key_j, key_i, Nint, hmono, htwoe, hthree, htot)
|
||||
BEGIN_DOC
|
||||
!
|
||||
! <key_j | H_tilde | key_i> where |key_j> is developed on the LEFT basis and |key_i> is developed on the RIGHT basis
|
||||
! <key_j |H_tilde | key_i> where |key_j> is developed on the LEFT basis and |key_i> is developed on the RIGHT basis
|
||||
!!
|
||||
! Returns the detail of the matrix element in terms of single, two and three electron contribution.
|
||||
!! WARNING !!
|
||||
@ -100,7 +100,7 @@ subroutine htilde_mu_mat_opt_bi_ortho_no_3e(key_j, key_i, Nint, htot)
|
||||
|
||||
BEGIN_DOC
|
||||
!
|
||||
! <key_j | H_tilde | key_i> where |key_j> is developed on the LEFT basis and |key_i> is developed on the RIGHT basis
|
||||
! <key_j |H_tilde | key_i> where |key_j> is developed on the LEFT basis and |key_i> is developed on the RIGHT basis
|
||||
!!
|
||||
! Returns the detail of the matrix element WITHOUT ANY CONTRIBUTION FROM THE THREE ELECTRON TERMS
|
||||
!! WARNING !!
|
||||
|
@ -2,7 +2,7 @@
|
||||
subroutine double_htilde_mu_mat_fock_bi_ortho(Nint, key_j, key_i, hmono, htwoe, hthree, htot)
|
||||
|
||||
BEGIN_DOC
|
||||
! <key_j | H_tilde | key_i> for double excitation ONLY FOR ONE- AND TWO-BODY TERMS
|
||||
! <key_j |H_tilde | key_i> for double excitation ONLY FOR ONE- AND TWO-BODY TERMS
|
||||
!!
|
||||
!! WARNING !!
|
||||
!
|
||||
@ -430,7 +430,7 @@ end
|
||||
subroutine double_htilde_mu_mat_fock_bi_ortho_no_3e(Nint, key_j, key_i, htot)
|
||||
|
||||
BEGIN_DOC
|
||||
! <key_j | H_tilde | key_i> for double excitation ONLY FOR ONE- AND TWO-BODY TERMS
|
||||
! <key_j |H_tilde | key_i> for double excitation ONLY FOR ONE- AND TWO-BODY TERMS
|
||||
!!
|
||||
!! WARNING !!
|
||||
!
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
subroutine single_htilde_mu_mat_fock_bi_ortho (Nint, key_j, key_i, hmono, htwoe, hthree, htot)
|
||||
BEGIN_DOC
|
||||
! <key_j | H_tilde | key_i> for single excitation ONLY FOR ONE- AND TWO-BODY TERMS
|
||||
! <key_j |H_tilde | key_i> for single excitation ONLY FOR ONE- AND TWO-BODY TERMS
|
||||
!!
|
||||
!! WARNING !!
|
||||
!
|
||||
@ -464,7 +464,7 @@ END_PROVIDER
|
||||
|
||||
subroutine single_htilde_mu_mat_fock_bi_ortho_no_3e(Nint, key_j, key_i, htot)
|
||||
BEGIN_DOC
|
||||
! <key_j | H_tilde | key_i> for single excitation ONLY FOR ONE- AND TWO-BODY TERMS
|
||||
! <key_j |H_tilde | key_i> for single excitation ONLY FOR ONE- AND TWO-BODY TERMS
|
||||
!!
|
||||
!! WARNING !!
|
||||
!
|
||||
|
@ -4,7 +4,7 @@
|
||||
subroutine htilde_mu_mat_bi_ortho_tot_slow(key_j, key_i, Nint, htot)
|
||||
|
||||
BEGIN_DOC
|
||||
! <key_j | H_tilde | key_i> where |key_j> is developed on the LEFT basis and |key_i> is developed on the RIGHT basis
|
||||
! <key_j |H_tilde | key_i> where |key_j> is developed on the LEFT basis and |key_i> is developed on the RIGHT basis
|
||||
!!
|
||||
!! WARNING !!
|
||||
!
|
||||
@ -35,7 +35,7 @@ subroutine htilde_mu_mat_bi_ortho_slow(key_j, key_i, Nint, hmono, htwoe, hthree,
|
||||
|
||||
BEGIN_DOC
|
||||
!
|
||||
! <key_j | H_tilde | key_i> where |key_j> is developed on the LEFT basis and |key_i> is developed on the RIGHT basis
|
||||
! <key_j |H_tilde | key_i> where |key_j> is developed on the LEFT basis and |key_i> is developed on the RIGHT basis
|
||||
!!
|
||||
! Returns the detail of the matrix element in terms of single, two and three electron contribution.
|
||||
!! WARNING !!
|
||||
@ -191,7 +191,7 @@ end
|
||||
subroutine double_htilde_mu_mat_bi_ortho_slow(Nint, key_j, key_i, hmono, htwoe, htot)
|
||||
|
||||
BEGIN_DOC
|
||||
! <key_j | H_tilde | key_i> for double excitation ONLY FOR ONE- AND TWO-BODY TERMS
|
||||
! <key_j |H_tilde | key_i> for double excitation ONLY FOR ONE- AND TWO-BODY TERMS
|
||||
!!
|
||||
!! WARNING !!
|
||||
!
|
||||
@ -258,7 +258,7 @@ end
|
||||
subroutine single_htilde_mu_mat_bi_ortho_slow(Nint, key_j, key_i, hmono, htwoe, htot)
|
||||
|
||||
BEGIN_DOC
|
||||
! <key_j | H_tilde | key_i> for single excitation ONLY FOR ONE- AND TWO-BODY TERMS
|
||||
! <key_j |H_tilde | key_i> for single excitation ONLY FOR ONE- AND TWO-BODY TERMS
|
||||
!!
|
||||
!! WARNING !!
|
||||
!
|
||||
|
@ -21,7 +21,7 @@
|
||||
!$OMP SHARED (N_det, psi_det, N_int,htilde_matrix_elmt_bi_ortho)
|
||||
do i = 1, N_det
|
||||
do j = 1, N_det
|
||||
! < J | Htilde | I >
|
||||
! < J |Htilde | I >
|
||||
call htilde_mu_mat_opt_bi_ortho_tot(psi_det(1,1,j), psi_det(1,1,i), N_int, htot)
|
||||
|
||||
htilde_matrix_elmt_bi_ortho(j,i) = htot
|
||||
|
@ -77,7 +77,7 @@
|
||||
! ! Criterion -> step accepted or rejected
|
||||
! call trust_region_is_step_cancelled(nb_iter,prev_criterion, criterion, criterion_model,rho,cancel_step)
|
||||
!
|
||||
! ! ### TODO ###
|
||||
! !### TODO ###
|
||||
! !if (cancel_step) then
|
||||
! ! Cancel the previous step (mo_coef = prev_mos if you keep them...)
|
||||
! !endif
|
||||
|
Loading…
Reference in New Issue
Block a user