mirror of
https://gitlab.com/scemama/qmcchem.git
synced 2024-12-21 11:53:30 +01:00
ci_dress_mu_opt
This commit is contained in:
parent
1b12940f93
commit
80821f9c6a
@ -332,27 +332,24 @@ return
|
||||
SOFT_TOUCH ci_dress_min ci_dress_max
|
||||
END_PROVIDER
|
||||
|
||||
BEGIN_PROVIDER [ double precision, ci_dress_mu_opt ]
|
||||
BEGIN_PROVIDER [ double precision, ci_dress_opt ]
|
||||
BEGIN_DOC
|
||||
! Use for optimizing mu
|
||||
END_DOC
|
||||
implicit none
|
||||
integer :: i, j, k, l
|
||||
double precision :: T, dij, f, E_noJ, dE
|
||||
! E_noJ = -0.5d0*psidet_lapl*psidet_inv + E_pot + E_nucl
|
||||
! ci_dress_mu_opt = (E_loc - energy_mu) * psi_value_inv * jast_value_inv * &
|
||||
! det_alpha_value(1) * det_beta_value(1)
|
||||
! energy_mu = H_mu \Phi / \Phi
|
||||
dE = (E_loc - energy_mu) * psi_value_inv * jast_value_inv
|
||||
! dE = (E_loc - E_noJ) * psi_value_inv * jast_value_inv
|
||||
! energy = H \Phi / \Phi
|
||||
E_noJ = -0.5d0*psidet_lapl*psidet_inv + E_pot + E_nucl
|
||||
dE = (E_loc - E_noJ) * psi_value_inv * jast_value_inv ! PsiJ.J
|
||||
k = 1
|
||||
i = det_coef_matrix_rows( k)
|
||||
j = det_coef_matrix_columns(k)
|
||||
f = det_alpha_value(i) * det_beta_value(j)
|
||||
ci_dress_mu_opt = dE * f
|
||||
ci_dress_mu_opt_min = min(ci_dress_mu_opt_min, ci_dress_mu_opt)
|
||||
ci_dress_mu_opt_max = max(ci_dress_mu_opt_max, ci_dress_mu_opt)
|
||||
SOFT_TOUCH ci_dress_mu_opt_min ci_dress_mu_opt_max
|
||||
ci_dress_opt = dE * f
|
||||
ci_dress_opt_min = min(ci_dress_opt_min, ci_dress_opt)
|
||||
ci_dress_opt_max = max(ci_dress_opt_max, ci_dress_opt)
|
||||
SOFT_TOUCH ci_dress_opt_min ci_dress_opt_max
|
||||
END_PROVIDER
|
||||
|
||||
BEGIN_PROVIDER [ double precision, ci_dress_Htilde, (size_ci_dress) ]
|
||||
@ -366,8 +363,7 @@ BEGIN_PROVIDER [ double precision, ci_dress_Htilde, (size_ci_dress) ]
|
||||
integer :: i, j, k, l
|
||||
double precision :: T, h_psidet, dij, f, E_noJ, dE
|
||||
|
||||
h_psidet = -0.5d0*psidet_lapl*psidet_inv + E_pot + E_nucl
|
||||
E_noJ = h_psidet
|
||||
E_noJ = -0.5d0*psidet_lapl*psidet_inv + E_pot + E_nucl
|
||||
dE = E_loc - E_noJ
|
||||
do k=1,det_num
|
||||
i = det_coef_matrix_rows(k)
|
||||
|
@ -22,13 +22,20 @@ BEGIN_PROVIDER [ double precision, Energy_mu ]
|
||||
implicit none
|
||||
integer :: i
|
||||
|
||||
Energy_mu = E_nucl
|
||||
!DIR$ VECTOR ALIGNED
|
||||
!DIR$ LOOP COUNT(200)
|
||||
do i = 1, elec_num
|
||||
Energy_mu += E_kin_elec_psidet(i)
|
||||
double precision :: lapl
|
||||
lapl = 0.d0
|
||||
do i=1,elec_num
|
||||
lapl += psidet_grad_lapl(4,i)*psidet_inv + jast_elec_mu_lapl(i) + &
|
||||
2.d0*psidet_inv * (&
|
||||
psidet_grad_lapl(1,i)*jast_elec_mu_grad_x(i) + &
|
||||
psidet_grad_lapl(2,i)*jast_elec_mu_grad_y(i) + &
|
||||
psidet_grad_lapl(3,i)*jast_elec_mu_grad_z(i) ) + ( &
|
||||
jast_elec_mu_grad_x(i)*jast_elec_mu_grad_x(i) + &
|
||||
jast_elec_mu_grad_y(i)*jast_elec_mu_grad_y(i) + &
|
||||
jast_elec_mu_grad_z(i)*jast_elec_mu_grad_z(i) )
|
||||
|
||||
enddo
|
||||
Energy_mu += Eff_pot_mu + Eff_pot_deriv_mu + E_nucl_elec - three_body_mu
|
||||
Energy_mu = -0.5d0 * lapl + E_nucl + E_pot
|
||||
|
||||
energy_mu_min = min(energy_mu_min,energy_mu)
|
||||
energy_mu_max = max(energy_mu_max,energy_mu)
|
||||
@ -239,3 +246,23 @@ BEGIN_PROVIDER [ double precision, ci_dress_mu, (size_ci_dress_mu) ]
|
||||
END_PROVIDER
|
||||
|
||||
|
||||
BEGIN_PROVIDER [ double precision, ci_dress_mu_opt ]
|
||||
BEGIN_DOC
|
||||
! Use for optimizing mu
|
||||
END_DOC
|
||||
implicit none
|
||||
integer :: i, j, k, l
|
||||
double precision :: T, dij, f, E_noJ, dE
|
||||
! energy_mu = H_mu \Phi / \Phi
|
||||
dE = (E_loc - energy_mu) * psi_value_inv * jast_value_inv ! PsiJ.J
|
||||
k = 1
|
||||
i = det_coef_matrix_rows( k)
|
||||
j = det_coef_matrix_columns(k)
|
||||
f = det_alpha_value(i) * det_beta_value(j)
|
||||
ci_dress_mu_opt = dE * f
|
||||
ci_dress_mu_opt = E_loc - energy_mu
|
||||
ci_dress_mu_opt_min = min(ci_dress_mu_opt_min, ci_dress_mu_opt)
|
||||
ci_dress_mu_opt_max = max(ci_dress_mu_opt_max, ci_dress_mu_opt)
|
||||
SOFT_TOUCH ci_dress_mu_opt_min ci_dress_mu_opt_max
|
||||
END_PROVIDER
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user