2023-03-15 10:23:48 +01:00
|
|
|
use bitmasks
|
|
|
|
use f77_zmq
|
|
|
|
|
|
|
|
|
|
|
|
! ---
|
|
|
|
|
|
|
|
BEGIN_PROVIDER [ integer, nthreads_davidson ]
|
|
|
|
implicit none
|
|
|
|
BEGIN_DOC
|
|
|
|
! Number of threads for Davidson
|
|
|
|
END_DOC
|
|
|
|
nthreads_davidson = nproc
|
|
|
|
character*(32) :: env
|
|
|
|
call getenv('QP_NTHREADS_DAVIDSON',env)
|
|
|
|
if (trim(env) /= '') then
|
2023-06-13 16:01:05 +02:00
|
|
|
call lock_io
|
2023-03-15 10:23:48 +01:00
|
|
|
read(env,*) nthreads_davidson
|
2023-06-13 16:01:05 +02:00
|
|
|
call unlock_io
|
2023-03-15 10:23:48 +01:00
|
|
|
call write_int(6,nthreads_davidson,'Target number of threads for <Psi|H|Psi>')
|
|
|
|
endif
|
|
|
|
END_PROVIDER
|
|
|
|
|
|
|
|
! ---
|
|
|
|
|
|
|
|
BEGIN_PROVIDER [ double precision, threshold_davidson_pt2 ]
|
|
|
|
implicit none
|
|
|
|
BEGIN_DOC
|
|
|
|
! Threshold of Davidson's algorithm, using PT2 as a guide
|
|
|
|
END_DOC
|
|
|
|
threshold_davidson_pt2 = threshold_davidson
|
|
|
|
|
|
|
|
END_PROVIDER
|
|
|
|
|
|
|
|
! ---
|
|
|
|
|