mirror of
https://github.com/QuantumPackage/qp2.git
synced 2024-12-22 03:23:29 +01:00
CAS-CI with no vvvv
This commit is contained in:
parent
ecf8e0bb96
commit
2f340f4841
3
src/casscf/NEED
Normal file
3
src/casscf/NEED
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
cipsi
|
||||||
|
selectors_full
|
||||||
|
generators_cas
|
5
src/casscf/README.rst
Normal file
5
src/casscf/README.rst
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
======
|
||||||
|
casscf
|
||||||
|
======
|
||||||
|
|
||||||
|
|CASSCF| program with the CIPSI algorithm.
|
14
src/casscf/casscf.irp.f
Normal file
14
src/casscf/casscf.irp.f
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
program casscf_new
|
||||||
|
implicit none
|
||||||
|
BEGIN_DOC
|
||||||
|
! TODO : Put the documentation of the program here
|
||||||
|
END_DOC
|
||||||
|
no_vvvv_integrals = .True.
|
||||||
|
SOFT_TOUCH no_vvvv_integrals
|
||||||
|
call run
|
||||||
|
end
|
||||||
|
|
||||||
|
subroutine run
|
||||||
|
implicit none
|
||||||
|
call run_cipsi
|
||||||
|
end
|
12
src/casscf/class.irp.f
Normal file
12
src/casscf/class.irp.f
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
BEGIN_PROVIDER [ logical, do_only_1h1p ]
|
||||||
|
&BEGIN_PROVIDER [ logical, do_only_cas ]
|
||||||
|
&BEGIN_PROVIDER [ logical, do_ddci ]
|
||||||
|
implicit none
|
||||||
|
BEGIN_DOC
|
||||||
|
! In the CAS case, all those are always false except do_only_cas
|
||||||
|
END_DOC
|
||||||
|
do_only_cas = .True.
|
||||||
|
do_only_1h1p = .False.
|
||||||
|
do_ddci = .False.
|
||||||
|
END_PROVIDER
|
||||||
|
|
@ -683,6 +683,16 @@ subroutine fill_buffer_double(i_generator, sp, h1, h2, bannedOrb, banned, fock_d
|
|||||||
if( sum(abs(mat(1:N_states, p1, p2))) == 0d0) cycle
|
if( sum(abs(mat(1:N_states, p1, p2))) == 0d0) cycle
|
||||||
call apply_particles(mask, s1, p1, s2, p2, det, ok, N_int)
|
call apply_particles(mask, s1, p1, s2, p2, det, ok, N_int)
|
||||||
|
|
||||||
|
if (do_only_cas) then
|
||||||
|
integer, external :: number_of_holes, number_of_particles
|
||||||
|
if (number_of_particles(det)>0) then
|
||||||
|
cycle
|
||||||
|
endif
|
||||||
|
if (number_of_holes(det)>0) then
|
||||||
|
cycle
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
if (do_ddci) then
|
if (do_ddci) then
|
||||||
logical, external :: is_a_two_holes_two_particles
|
logical, external :: is_a_two_holes_two_particles
|
||||||
if (is_a_two_holes_two_particles(det)) then
|
if (is_a_two_holes_two_particles(det)) then
|
||||||
|
@ -1,10 +1,12 @@
|
|||||||
BEGIN_PROVIDER [ logical, do_only_1h1p ]
|
BEGIN_PROVIDER [ logical, do_only_1h1p ]
|
||||||
|
&BEGIN_PROVIDER [ logical, do_only_cas ]
|
||||||
&BEGIN_PROVIDER [ logical, do_ddci ]
|
&BEGIN_PROVIDER [ logical, do_ddci ]
|
||||||
implicit none
|
implicit none
|
||||||
BEGIN_DOC
|
BEGIN_DOC
|
||||||
! In the FCI case, all those are always false
|
! In the FCI case, all those are always false
|
||||||
END_DOC
|
END_DOC
|
||||||
do_only_1h1p = .False.
|
do_only_1h1p = .False.
|
||||||
|
do_only_cas = .False.
|
||||||
do_ddci = .False.
|
do_ddci = .False.
|
||||||
END_PROVIDER
|
END_PROVIDER
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user