mirror of
https://github.com/QuantumPackage/qp2.git
synced 2024-08-30 04:33:41 +02:00
Changed default weight_selection to 1
This commit is contained in:
parent
c07232aae3
commit
fd7825ea74
@ -287,9 +287,9 @@ subroutine ZMQ_pt2(E, pt2_data, pt2_data_err, relative_error, N_in)
|
|||||||
call omp_set_nested(.false.)
|
call omp_set_nested(.false.)
|
||||||
|
|
||||||
|
|
||||||
print '(A)', '========== ================= =========== =============== =============== ================='
|
print '(A)', '========== ======================= ========= ========== ========== ========== ========== '
|
||||||
print '(A)', ' Samples Energy Stat. Err Variance Norm^2 Seconds '
|
print '(A)', ' Samples Energy Variance Norm^2 Seconds'
|
||||||
print '(A)', '========== ================= =========== =============== =============== ================='
|
print '(A)', '========== ======================= ==================== ===================== =========='
|
||||||
|
|
||||||
PROVIDE global_selection_buffer
|
PROVIDE global_selection_buffer
|
||||||
|
|
||||||
@ -529,7 +529,14 @@ subroutine pt2_collector(zmq_socket_pull, E, relative_error, pt2_data, pt2_data_
|
|||||||
|
|
||||||
if ((time - time1 > 1.d0) .or. (n==N_det_generators)) then
|
if ((time - time1 > 1.d0) .or. (n==N_det_generators)) then
|
||||||
time1 = time
|
time1 = time
|
||||||
print '(G10.3, 2X, F16.10, 2X, G10.3, 2X, G14.6, 2X, G14.6, 2X, F10.4)', c, avg+E, eqt, avg2, avg3(pt2_stoch_istate), time-time0
|
print '(I10, X, F11.7, X, G10.3, X, G10.3, X, G10.3, X, G10.3, X, G10.3, X, F10.4)', c, &
|
||||||
|
pt2_data % pt2(pt2_stoch_istate) +E, &
|
||||||
|
pt2_data_err % pt2(pt2_stoch_istate), &
|
||||||
|
pt2_data % variance(pt2_stoch_istate), &
|
||||||
|
pt2_data_err % variance(pt2_stoch_istate), &
|
||||||
|
pt2_data % overlap(pt2_stoch_istate,pt2_stoch_istate), &
|
||||||
|
pt2_data_err % overlap(pt2_stoch_istate,pt2_stoch_istate), &
|
||||||
|
time-time0
|
||||||
if (stop_now .or. ( &
|
if (stop_now .or. ( &
|
||||||
(do_exit .and. (dabs(pt2_data_err % pt2(pt2_stoch_istate)) / &
|
(do_exit .and. (dabs(pt2_data_err % pt2(pt2_stoch_istate)) / &
|
||||||
(1.d-20 + dabs(pt2_data % pt2(pt2_stoch_istate)) ) <= relative_error))) ) then
|
(1.d-20 + dabs(pt2_data % pt2(pt2_stoch_istate)) ) <= relative_error))) ) then
|
||||||
|
@ -683,7 +683,12 @@ subroutine fill_buffer_double(i_generator, sp, h1, h2, bannedOrb, banned, fock_d
|
|||||||
double precision, allocatable :: values(:)
|
double precision, allocatable :: values(:)
|
||||||
integer, allocatable :: keys(:,:)
|
integer, allocatable :: keys(:,:)
|
||||||
integer :: nkeys
|
integer :: nkeys
|
||||||
|
double precision :: s_weight(N_states,N_states)
|
||||||
|
do jstate=1,N_states
|
||||||
|
do istate=1,N_states
|
||||||
|
s_weight(istate,jstate) = dsqrt(selection_weight(istate)*selection_weight(jstate))
|
||||||
|
enddo
|
||||||
|
enddo
|
||||||
|
|
||||||
if(sp == 3) then
|
if(sp == 3) then
|
||||||
s1 = 1
|
s1 = 1
|
||||||
@ -829,17 +834,25 @@ subroutine fill_buffer_double(i_generator, sp, h1, h2, bannedOrb, banned, fock_d
|
|||||||
|
|
||||||
case(5)
|
case(5)
|
||||||
! Variance selection
|
! Variance selection
|
||||||
w = w - alpha_h_psi * alpha_h_psi * selection_weight(istate)
|
w = w - alpha_h_psi * alpha_h_psi * s_weight(istate,istate)
|
||||||
|
do jstate=1,N_states
|
||||||
|
if (istate == jstate) cycle
|
||||||
|
w = w + alpha_h_psi*mat(jstate,p1,p2) * s_weight(istate,jstate)
|
||||||
|
enddo
|
||||||
|
|
||||||
case(6)
|
case(6)
|
||||||
w = w - coef(istate) * coef(istate) * selection_weight(istate)
|
w = w - coef(istate) * coef(istate) * s_weight(istate,istate)
|
||||||
|
do jstate=1,N_states
|
||||||
|
if (istate == jstate) cycle
|
||||||
|
w = w + coef(istate)*coef(jstate) * s_weight(istate,jstate)
|
||||||
|
enddo
|
||||||
|
|
||||||
case default
|
case default
|
||||||
! Energy selection
|
! Energy selection
|
||||||
w = w + e_pert(istate) * selection_weight(istate)
|
w = w + e_pert(istate) * s_weight(istate,istate)
|
||||||
do jstate=1,N_states
|
do jstate=1,N_states
|
||||||
if (istate == jstate) cycle
|
if (istate == jstate) cycle
|
||||||
w = w - dabs(X(istate))*X(jstate) * sqrt(selection_weight(istate)*selection_weight(jstate))
|
w = w - dabs(X(istate))*X(jstate) * s_weight(istate,jstate)
|
||||||
enddo
|
enddo
|
||||||
|
|
||||||
end select
|
end select
|
||||||
|
@ -44,7 +44,7 @@ default: 2
|
|||||||
type: integer
|
type: integer
|
||||||
doc: Weight used in the selection. 0: input state-average weight, 1: 1./(c_0^2), 2: rPT2 matching, 3: variance matching, 4: variance and rPT2 matching, 5: variance minimization and matching, 6: CI coefficients 7: input state-average multiplied by variance and rPT2 matching 8: input state-average multiplied by rPT2 matching 9: input state-average multiplied by variance matching
|
doc: Weight used in the selection. 0: input state-average weight, 1: 1./(c_0^2), 2: rPT2 matching, 3: variance matching, 4: variance and rPT2 matching, 5: variance minimization and matching, 6: CI coefficients 7: input state-average multiplied by variance and rPT2 matching 8: input state-average multiplied by rPT2 matching 9: input state-average multiplied by variance matching
|
||||||
interface: ezfio,provider,ocaml
|
interface: ezfio,provider,ocaml
|
||||||
default: 2
|
default: 1
|
||||||
|
|
||||||
[threshold_generators]
|
[threshold_generators]
|
||||||
type: Threshold
|
type: Threshold
|
||||||
|
Loading…
Reference in New Issue
Block a user