10
0
mirror of https://github.com/QuantumPackage/qp2.git synced 2024-07-25 20:27:49 +02:00

dav_general NEED ok

This commit is contained in:
AbdAmmar 2022-09-07 15:38:07 +02:00
parent 5ee1c1cb43
commit 4665357587
4 changed files with 22 additions and 56 deletions

View File

@ -1,14 +1,3 @@
[threshold_davidson]
type: Threshold
doc: Thresholds of Davidson's algorithm if threshold_davidson_from_pt2 is false.
interface: ezfio,provider,ocaml
default: 1.e-10
[threshold_nonsym_davidson]
type: Threshold
doc: Thresholds of non-symetric Davidson's algorithm
interface: ezfio,provider,ocaml
default: 1.e-5
[threshold_davidson_from_pt2] [threshold_davidson_from_pt2]
type: logical type: logical
@ -16,30 +5,6 @@ doc: Thresholds of Davidson's algorithm is set to E(rPT2)*threshold_davidson_fro
interface: ezfio,provider,ocaml interface: ezfio,provider,ocaml
default: false default: false
[n_states_diag]
type: States_number
doc: Controls the number of states to consider during the Davdison diagonalization. The number of states is n_states * n_states_diag
default: 4
interface: ezfio,ocaml
[davidson_sze_max]
type: Strictly_positive_int
doc: Number of micro-iterations before re-contracting
default: 15
interface: ezfio,provider,ocaml
[state_following]
type: logical
doc: If |true|, the states are re-ordered to match the input states
default: False
interface: ezfio,provider,ocaml
[disk_based_davidson]
type: logical
doc: If |true|, a memory-mapped file may be used to store the W and S2 vectors if not enough RAM is available
default: True
interface: ezfio,provider,ocaml
[csf_based] [csf_based]
type: logical type: logical
doc: If |true|, use the CSF-based algorithm doc: If |true|, use the CSF-based algorithm

View File

@ -1 +1,2 @@
csf csf
davidson_keywords

View File

@ -546,19 +546,19 @@ end
BEGIN_PROVIDER [ integer, nthreads_davidson ] !BEGIN_PROVIDER [ integer, nthreads_davidson ]
implicit none ! implicit none
BEGIN_DOC ! BEGIN_DOC
! Number of threads for Davidson ! ! Number of threads for Davidson
END_DOC ! END_DOC
nthreads_davidson = nproc ! nthreads_davidson = nproc
character*(32) :: env ! character*(32) :: env
call getenv('QP_NTHREADS_DAVIDSON',env) ! call getenv('QP_NTHREADS_DAVIDSON',env)
if (trim(env) /= '') then ! if (trim(env) /= '') then
read(env,*) nthreads_davidson ! read(env,*) nthreads_davidson
call write_int(6,nthreads_davidson,'Target number of threads for <Psi|H|Psi>') ! call write_int(6,nthreads_davidson,'Target number of threads for <Psi|H|Psi>')
endif ! endif
END_PROVIDER !END_PROVIDER
integer function zmq_put_N_states_diag(zmq_to_qp_run_socket,worker_id) integer function zmq_put_N_states_diag(zmq_to_qp_run_socket,worker_id)

View File

@ -14,14 +14,14 @@ BEGIN_PROVIDER [ character*(64), diag_algorithm ]
endif endif
END_PROVIDER END_PROVIDER
BEGIN_PROVIDER [ double precision, threshold_davidson_pt2 ] !BEGIN_PROVIDER [ double precision, threshold_davidson_pt2 ]
implicit none ! implicit none
BEGIN_DOC ! BEGIN_DOC
! Threshold of Davidson's algorithm, using PT2 as a guide ! ! Threshold of Davidson's algorithm, using PT2 as a guide
END_DOC ! END_DOC
threshold_davidson_pt2 = threshold_davidson ! threshold_davidson_pt2 = threshold_davidson
!
END_PROVIDER !END_PROVIDER