mirror of
https://github.com/QuantumPackage/qp2.git
synced 2025-01-02 08:35:38 +01:00
New selection scheme with SA, variance and rPT2
This commit is contained in:
parent
a459a4ff45
commit
0b2fe07290
@ -114,9 +114,15 @@ BEGIN_PROVIDER [ double precision, selection_weight, (N_states) ]
|
|||||||
print *, '# var weight ', real(variance_match_weight(:),4)
|
print *, '# var weight ', real(variance_match_weight(:),4)
|
||||||
|
|
||||||
case (6)
|
case (6)
|
||||||
print *, 'Using CI coefficient weight in selection'
|
print *, 'Using CI coefficient-based selection'
|
||||||
selection_weight(1:N_states) = c0_weight(1:N_states)
|
selection_weight(1:N_states) = c0_weight(1:N_states)
|
||||||
|
|
||||||
|
case (7)
|
||||||
|
print *, 'Input weights multiplied by variance- and pt2-matching'
|
||||||
|
selection_weight(1:N_states) = c0_weight(1:N_states) * sqrt(variance_match_weight(1:N_states) * pt2_match_weight(1:N_states)) * state_average_weight(1:N_states)
|
||||||
|
print *, '# PT2 weight ', real(pt2_match_weight(:),4)
|
||||||
|
print *, '# var weight ', real(variance_match_weight(:),4)
|
||||||
|
|
||||||
end select
|
end select
|
||||||
print *, '# Total weight ', real(selection_weight(:),4)
|
print *, '# Total weight ', real(selection_weight(:),4)
|
||||||
|
|
||||||
@ -784,10 +790,6 @@ subroutine fill_buffer_double(i_generator, sp, h1, h2, bannedOrb, banned, fock_d
|
|||||||
|
|
||||||
select case (weight_selection)
|
select case (weight_selection)
|
||||||
|
|
||||||
case(0:4)
|
|
||||||
! Energy selection
|
|
||||||
w = w + e_pert * selection_weight(istate)
|
|
||||||
|
|
||||||
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 * selection_weight(istate)
|
||||||
@ -795,6 +797,10 @@ subroutine fill_buffer_double(i_generator, sp, h1, h2, bannedOrb, banned, fock_d
|
|||||||
case(6)
|
case(6)
|
||||||
w = w - coef * coef * selection_weight(istate)
|
w = w - coef * coef * selection_weight(istate)
|
||||||
|
|
||||||
|
case(default)
|
||||||
|
! Energy selection
|
||||||
|
w = w + e_pert * selection_weight(istate)
|
||||||
|
|
||||||
end select
|
end select
|
||||||
end do
|
end do
|
||||||
|
|
||||||
|
@ -42,7 +42,7 @@ default: 2
|
|||||||
|
|
||||||
[weight_selection]
|
[weight_selection]
|
||||||
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
|
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
|
||||||
interface: ezfio,provider,ocaml
|
interface: ezfio,provider,ocaml
|
||||||
default: 2
|
default: 2
|
||||||
|
|
||||||
|
@ -241,12 +241,7 @@ IRP_ENDIF
|
|||||||
stop 'Unable to set ZMQ_LINGER on pull socket'
|
stop 'Unable to set ZMQ_LINGER on pull socket'
|
||||||
endif
|
endif
|
||||||
|
|
||||||
! rc = f77_zmq_setsockopt(new_zmq_pull_socket,ZMQ_RCVBUF,100000000,4)
|
rc = f77_zmq_setsockopt(new_zmq_pull_socket,ZMQ_RCVHWM,10,4)
|
||||||
! if (rc /= 0) then
|
|
||||||
! stop 'Unable to set ZMQ_RCVBUF on pull socket'
|
|
||||||
! endif
|
|
||||||
|
|
||||||
rc = f77_zmq_setsockopt(new_zmq_pull_socket,ZMQ_RCVHWM,50,4)
|
|
||||||
if (rc /= 0) then
|
if (rc /= 0) then
|
||||||
stop 'Unable to set ZMQ_RCVHWM on pull socket'
|
stop 'Unable to set ZMQ_RCVHWM on pull socket'
|
||||||
endif
|
endif
|
||||||
@ -326,11 +321,6 @@ IRP_ENDIF
|
|||||||
stop 'Unable to set ZMQ_SNDHWM on push socket'
|
stop 'Unable to set ZMQ_SNDHWM on push socket'
|
||||||
endif
|
endif
|
||||||
|
|
||||||
! rc = f77_zmq_setsockopt(new_zmq_push_socket,ZMQ_SNDBUF,100000000,4)
|
|
||||||
! if (rc /= 0) then
|
|
||||||
! stop 'Unable to set ZMQ_SNDBUF on push socket'
|
|
||||||
! endif
|
|
||||||
|
|
||||||
rc = f77_zmq_setsockopt(new_zmq_push_socket,ZMQ_IMMEDIATE,1,4)
|
rc = f77_zmq_setsockopt(new_zmq_push_socket,ZMQ_IMMEDIATE,1,4)
|
||||||
if (rc /= 0) then
|
if (rc /= 0) then
|
||||||
stop 'Unable to set ZMQ_IMMEDIATE on push socket'
|
stop 'Unable to set ZMQ_IMMEDIATE on push socket'
|
||||||
|
Loading…
Reference in New Issue
Block a user