mirror of
https://github.com/LCPQ/quantum_package
synced 2025-01-03 01:56:05 +01:00
n_det_max in in dets, and PT2_max and var_pt2_max are in Perturbation. Delete all the multiple occurance
This commit is contained in:
parent
f88da17631
commit
4ce217a354
@ -1,61 +0,0 @@
|
||||
bielec_integrals
|
||||
read_ao_integrals false
|
||||
read_mo_integrals false
|
||||
write_ao_integrals false
|
||||
write_mo_integrals false
|
||||
threshold_ao 1.e-15
|
||||
threshold_mo 1.e-15
|
||||
direct false
|
||||
|
||||
cis_dressed
|
||||
n_state_cis 10
|
||||
n_core_cis 0
|
||||
n_act_cis mo_basis_mo_tot_num
|
||||
mp2_dressing false
|
||||
standard_doubles true
|
||||
en_2_2 false
|
||||
|
||||
determinants
|
||||
n_states 1
|
||||
n_states_diag determinants_n_states
|
||||
n_det_max_jacobi 1000
|
||||
threshold_generators 0.99
|
||||
threshold_selectors 0.999
|
||||
read_wf false
|
||||
s2_eig false
|
||||
only_single_double_dm false
|
||||
|
||||
full_ci
|
||||
n_det_max_fci 10000
|
||||
n_det_max_fci_property 50000
|
||||
pt2_max 1.e-4
|
||||
do_pt2_end true
|
||||
var_pt2_ratio 0.75
|
||||
|
||||
cas_sd
|
||||
n_det_max_cas_sd 100000
|
||||
pt2_max 1.e-4
|
||||
do_pt2_end true
|
||||
var_pt2_ratio 0.75
|
||||
|
||||
all_singles
|
||||
n_det_max_fci 50000
|
||||
pt2_max 1.e-8
|
||||
do_pt2_end false
|
||||
|
||||
hartree_fock
|
||||
n_it_scf_max 200
|
||||
thresh_scf 1.e-10
|
||||
guess "Huckel"
|
||||
|
||||
cisd_selected
|
||||
n_det_max_cisd 10000
|
||||
pt2_max 1.e-4
|
||||
|
||||
cisd_sc2_selected
|
||||
n_det_max_cisd_sc2 10000
|
||||
pt2_max 1.e-4
|
||||
do_pt2_end true
|
||||
|
||||
properties
|
||||
z_one_point 3.9
|
@ -1,4 +0,0 @@
|
||||
cisd_selected
|
||||
n_det_max_cisd 10000
|
||||
pt2_max 1.e-4
|
||||
|
@ -147,5 +147,11 @@ Documentation
|
||||
Per convention, for P,D,F and G AOs, we take the index
|
||||
of the AO with the the corresponding power in the "X" axis
|
||||
|
||||
`n_pt_max_i_x <http://github.com/LCPQ/quantum_package/tree/master/src/AOs/dimensions_integrals.irp.f#L2>`_
|
||||
Undocumented
|
||||
|
||||
`n_pt_max_integrals <http://github.com/LCPQ/quantum_package/tree/master/src/AOs/dimensions_integrals.irp.f#L1>`_
|
||||
Undocumented
|
||||
|
||||
|
||||
|
||||
|
@ -1,29 +1,3 @@
|
||||
[N_det_max_cas_sd]
|
||||
type: Det_number_max
|
||||
doc: Max number of determinants in the wave function
|
||||
interface: input
|
||||
default: 10000
|
||||
|
||||
[do_pt2_end]
|
||||
type: logical
|
||||
doc: If true, compute the PT2 at the end of the selection
|
||||
interface: input
|
||||
default: True
|
||||
|
||||
[PT2_max]
|
||||
type: PT2_energy
|
||||
doc: The selection process stops when the largest PT2 (for all the state is lower
|
||||
than pt2_max in absolute value
|
||||
interface: input
|
||||
default: 0.0001
|
||||
|
||||
[var_pt2_ratio]
|
||||
type: Normalized_float
|
||||
doc: The selection process stops when the energy ratio variational/(variational+PT2)
|
||||
is equal to var_pt2_ratio
|
||||
interface: input
|
||||
default: 0.75
|
||||
|
||||
[energy]
|
||||
type: double precision
|
||||
doc: "Calculated CAS-SD energy"
|
||||
|
@ -13,12 +13,12 @@ program full_ci
|
||||
N_det_old = 0
|
||||
pt2 = 1.d0
|
||||
diag_algorithm = "Lapack"
|
||||
if (N_det > n_det_max_cas_sd) then
|
||||
if (N_det > N_det_max) then
|
||||
call diagonalize_CI
|
||||
call save_wavefunction
|
||||
psi_det = psi_det_sorted
|
||||
psi_coef = psi_coef_sorted
|
||||
N_det = n_det_max_cas_sd
|
||||
N_det = N_det_max
|
||||
soft_touch N_det psi_det psi_coef
|
||||
call diagonalize_CI
|
||||
call save_wavefunction
|
||||
@ -30,7 +30,7 @@ program full_ci
|
||||
print *, '-----'
|
||||
endif
|
||||
|
||||
do while (N_det < n_det_max_cas_sd.and.maxval(abs(pt2(1:N_st))) > pt2_max)
|
||||
do while (N_det < N_det_max.and.maxval(abs(pt2(1:N_st))) > pt2_max)
|
||||
N_det_old = N_det
|
||||
call H_apply_CAS_SD(pt2, norm_pert, H_pert_diag, N_st)
|
||||
|
||||
@ -38,10 +38,10 @@ program full_ci
|
||||
PROVIDE psi_det
|
||||
PROVIDE psi_det_sorted
|
||||
|
||||
if (N_det > n_det_max_cas_sd) then
|
||||
if (N_det > N_det_max) then
|
||||
psi_det = psi_det_sorted
|
||||
psi_coef = psi_coef_sorted
|
||||
N_det = n_det_max_cas_sd
|
||||
N_det = N_det_max
|
||||
soft_touch N_det psi_det psi_coef
|
||||
endif
|
||||
call diagonalize_CI
|
||||
|
@ -12,12 +12,12 @@ program full_ci
|
||||
|
||||
pt2 = 1.d0
|
||||
diag_algorithm = "Lapack"
|
||||
if (N_det > n_det_max_cas_sd) then
|
||||
if (N_det > N_det_max) then
|
||||
call diagonalize_CI
|
||||
call save_wavefunction
|
||||
psi_det = psi_det_sorted
|
||||
psi_coef = psi_coef_sorted
|
||||
N_det = n_det_max_cas_sd
|
||||
N_det = N_det_max
|
||||
soft_touch N_det psi_det psi_coef
|
||||
call diagonalize_CI
|
||||
call save_wavefunction
|
||||
@ -29,17 +29,17 @@ program full_ci
|
||||
print *, '-----'
|
||||
endif
|
||||
|
||||
do while (N_det < n_det_max_cas_sd.and.maxval(abs(pt2(1:N_st))) > pt2_max)
|
||||
do while (N_det < N_det_max.and.maxval(abs(pt2(1:N_st))) > pt2_max)
|
||||
call H_apply_CAS_SD_selected(pt2, norm_pert, H_pert_diag, N_st)
|
||||
|
||||
PROVIDE psi_coef
|
||||
PROVIDE psi_det
|
||||
PROVIDE psi_det_sorted
|
||||
|
||||
if (N_det > n_det_max_cas_sd) then
|
||||
if (N_det > N_det_max) then
|
||||
psi_det = psi_det_sorted
|
||||
psi_coef = psi_coef_sorted
|
||||
N_det = n_det_max_cas_sd
|
||||
N_det = N_det_max
|
||||
soft_touch N_det psi_det psi_coef
|
||||
endif
|
||||
call diagonalize_CI
|
||||
|
@ -1,22 +1,3 @@
|
||||
[N_det_max_cisd_sc2]
|
||||
type: Det_number_max
|
||||
doc: Max number of determinants
|
||||
interface: input
|
||||
default: 10000
|
||||
|
||||
[do_pt2_end]
|
||||
type: logical
|
||||
doc: If true, compute the PT2 at the end of the selection
|
||||
interface: input
|
||||
default: True
|
||||
|
||||
[PT2_max]
|
||||
type: PT2_energy
|
||||
doc: The selection process stops when the largest PT2 (for all the states) is lower
|
||||
than abs(pt2_max)
|
||||
interface: input
|
||||
default: 0.0001
|
||||
|
||||
[energy]
|
||||
type: double precision
|
||||
doc: Calculated CISD_SC2 energy of ground_state
|
||||
|
@ -15,12 +15,12 @@ program cisd_sc2_selected
|
||||
|
||||
E_old(1) = HF_energy
|
||||
davidson_threshold = 1.d-10
|
||||
if (N_det > n_det_max_cisd_sc2) then
|
||||
if (N_det > N_det_max) then
|
||||
call diagonalize_CI_SC2
|
||||
call save_wavefunction
|
||||
psi_det = psi_det_sorted
|
||||
psi_coef = psi_coef_sorted
|
||||
N_det = n_det_max_cisd_sc2
|
||||
N_det = N_det_max
|
||||
soft_touch N_det psi_det psi_coef
|
||||
call diagonalize_CI
|
||||
call save_wavefunction
|
||||
@ -34,7 +34,7 @@ program cisd_sc2_selected
|
||||
|
||||
integer :: i_count
|
||||
i_count = 0
|
||||
do while (N_det < n_det_max_cisd_sc2.and.maxval(abs(pt2(1:N_st))) > pt2_max)
|
||||
do while (N_det < N_det_max.and.maxval(abs(pt2(1:N_st))) > pt2_max)
|
||||
print*,'----'
|
||||
print*,''
|
||||
call H_apply_SC2_selected(pt2, norm_pert, H_pert_diag, N_st)
|
||||
@ -70,7 +70,7 @@ program cisd_sc2_selected
|
||||
call ezfio_set_full_ci_energy(CI_SC2_energy(1))
|
||||
|
||||
enddo
|
||||
N_det = min(n_det_max_cisd_sc2,N_det)
|
||||
N_det = min(N_det_max,N_det)
|
||||
davidson_threshold = 1.d-10
|
||||
touch N_det psi_det psi_coef davidson_threshold davidson_criterion
|
||||
call diagonalize_CI_SC2
|
||||
|
@ -14,12 +14,6 @@ Documentation
|
||||
`cisd <http://github.com/LCPQ/quantum_package/tree/master/src/CISD_selected/cisd_selection.irp.f#L1>`_
|
||||
Undocumented
|
||||
|
||||
`n_det_max_cisd <http://github.com/LCPQ/quantum_package/tree/master/src/CISD_selected/options.irp.f#L1>`_
|
||||
Get n_det_max_cisd from EZFIO file
|
||||
|
||||
`pt2_max <http://github.com/LCPQ/quantum_package/tree/master/src/CISD_selected/options.irp.f#L18>`_
|
||||
Get pt2_max from EZFIO file
|
||||
|
||||
|
||||
|
||||
Needed Modules
|
||||
|
@ -1,3 +0,0 @@
|
||||
cisd_selected
|
||||
n_det_max_cisd integer
|
||||
pt2_max double precision
|
@ -18,7 +18,7 @@ program cisd
|
||||
print *, 'E = ', CI_energy(i)
|
||||
enddo
|
||||
E_old = CI_energy
|
||||
do while (maxval(abs(pt2(1:N_st))) > pt2_max.and.n_det < n_det_max_cisd)
|
||||
do while (maxval(abs(pt2(1:N_st))) > pt2_max.and.n_det < N_det_max)
|
||||
print*,'----'
|
||||
print*,''
|
||||
call H_apply_cisd_selection(perturbation,pt2, norm_pert, H_pert_diag, N_st)
|
||||
@ -38,7 +38,7 @@ program cisd
|
||||
exit
|
||||
endif
|
||||
enddo
|
||||
N_det = min(N_det,n_det_max_cisd)
|
||||
N_det = min(N_det,N_det_max)
|
||||
touch N_det psi_det psi_coef
|
||||
call diagonalize_CI
|
||||
deallocate(pt2,norm_pert,H_pert_diag)
|
||||
|
@ -1,34 +0,0 @@
|
||||
BEGIN_PROVIDER [ integer, n_det_max_cisd ]
|
||||
implicit none
|
||||
BEGIN_DOC
|
||||
! Get n_det_max_cisd from EZFIO file
|
||||
END_DOC
|
||||
logical :: has_n_det_max_cisd
|
||||
PROVIDE ezfio_filename
|
||||
call ezfio_has_cisd_selected_n_det_max_cisd(has_n_det_max_cisd)
|
||||
if (has_n_det_max_cisd) then
|
||||
call ezfio_get_cisd_selected_n_det_max_cisd(n_det_max_cisd)
|
||||
else
|
||||
n_det_max_cisd = 30000
|
||||
call ezfio_set_cisd_selected_n_det_max_cisd(n_det_max_cisd)
|
||||
endif
|
||||
print*,'n_det_max_cisd = ',n_det_max_cisd
|
||||
END_PROVIDER
|
||||
|
||||
BEGIN_PROVIDER [ double precision , pt2_max ]
|
||||
implicit none
|
||||
BEGIN_DOC
|
||||
! Get pt2_max from EZFIO file
|
||||
END_DOC
|
||||
logical :: has_pt2_max
|
||||
PROVIDE ezfio_filename
|
||||
call ezfio_has_cisd_selected_pt2_max(has_pt2_max)
|
||||
if (has_pt2_max) then
|
||||
call ezfio_get_cisd_selected_pt2_max(pt2_max)
|
||||
else
|
||||
pt2_max = 1.d-9
|
||||
call ezfio_set_cisd_selected_pt2_max(pt2_max)
|
||||
endif
|
||||
print*,'pt2_max = ',pt2_max
|
||||
END_PROVIDER
|
||||
|
@ -11,12 +11,12 @@ program full_ci
|
||||
|
||||
pt2 = 1.d0
|
||||
diag_algorithm = "Lapack"
|
||||
if (N_det > n_det_max_fci) then
|
||||
if (N_det > N_det_max) then
|
||||
call diagonalize_CI
|
||||
call save_wavefunction
|
||||
psi_det = psi_det_sorted
|
||||
psi_coef = psi_coef_sorted
|
||||
N_det = n_det_max_fci
|
||||
N_det = N_det_max
|
||||
soft_touch N_det psi_det psi_coef
|
||||
call diagonalize_CI
|
||||
call save_wavefunction
|
||||
@ -28,17 +28,17 @@ program full_ci
|
||||
print *, '-----'
|
||||
endif
|
||||
|
||||
do while (N_det < n_det_max_fci.and.maxval(abs(pt2(1:N_st))) > pt2_max)
|
||||
do while (N_det < N_det_max.and.maxval(abs(pt2(1:N_st))) > pt2_max)
|
||||
call H_apply_DDCI_selection(pt2, norm_pert, H_pert_diag, N_st)
|
||||
|
||||
PROVIDE psi_coef
|
||||
PROVIDE psi_det
|
||||
PROVIDE psi_det_sorted
|
||||
|
||||
if (N_det > n_det_max_fci) then
|
||||
if (N_det > N_det_max) then
|
||||
psi_det = psi_det_sorted
|
||||
psi_coef = psi_coef_sorted
|
||||
N_det = n_det_max_fci
|
||||
N_det = N_det_max
|
||||
soft_touch N_det psi_det psi_coef
|
||||
endif
|
||||
call diagonalize_CI
|
||||
|
@ -1,32 +0,0 @@
|
||||
BEGIN_SHELL [ /usr/bin/python ]
|
||||
from ezfio_with_default import EZFIO_Provider
|
||||
T = EZFIO_Provider()
|
||||
T.set_type ( "integer" )
|
||||
T.set_name ( "N_det_max_fci" )
|
||||
T.set_doc ( "Max number of determinants in the wave function" )
|
||||
T.set_ezfio_dir ( "full_ci" )
|
||||
T.set_ezfio_name( "N_det_max_fci" )
|
||||
T.set_output ( "output_full_ci" )
|
||||
print T
|
||||
|
||||
T.set_type ( "logical" )
|
||||
T.set_name ( "do_pt2_end" )
|
||||
T.set_doc ( "If true, compute the PT2 at the end of the selection" )
|
||||
T.set_ezfio_name( "do_pt2_end" )
|
||||
print T
|
||||
|
||||
T.set_type ( "double precision" )
|
||||
T.set_name ( "pt2_max" )
|
||||
T.set_doc ( """The selection process stops when the largest PT2 (for all the states)
|
||||
is lower than pt2_max in absolute value""" )
|
||||
T.set_ezfio_name( "pt2_max" )
|
||||
print T
|
||||
|
||||
T.set_type ( "double precision" )
|
||||
T.set_name ( "var_pt2_ratio" )
|
||||
T.set_doc ( """The selection process stops when the energy ratio variational/(variational+PT2)
|
||||
is equal to var_pt2_ratio""" )
|
||||
T.set_ezfio_name( "var_pt2_ratio" )
|
||||
print T
|
||||
END_SHELL
|
||||
|
@ -1,15 +1,27 @@
|
||||
[N_det_max]
|
||||
type: Det_number_max
|
||||
doc: Max number of determinants in the wave function
|
||||
interface: input
|
||||
default: 10000
|
||||
|
||||
[N_det_max_property]
|
||||
type: Det_number_max
|
||||
doc: Max number of determinants in the wave function when you select for a given property
|
||||
interface: input
|
||||
default: 10000
|
||||
|
||||
[N_det_max_jacobi]
|
||||
type: Det_number_max
|
||||
doc: Maximum number of determinants diagonalized by Jacobi
|
||||
interface: input
|
||||
default: 1000
|
||||
|
||||
[N_states]
|
||||
type: States_number
|
||||
doc: Number of states to consider
|
||||
interface: input
|
||||
default: 1
|
||||
|
||||
[N_det_max_jacobi]
|
||||
type: Strictly_positive_int
|
||||
doc: Maximum number of determinants diagonalized by Jacobi
|
||||
interface: input
|
||||
default: 1000
|
||||
|
||||
[read_wf]
|
||||
type: logical
|
||||
doc: If true, read the wave function from the EZFIO file
|
||||
@ -40,9 +52,6 @@ doc: Thresholds on selectors (fraction of the norm)
|
||||
interface: input
|
||||
default: 0.999
|
||||
|
||||
|
||||
# Only create the ezfio_config, (no Input_* and no PROVIDER)
|
||||
|
||||
[n_states_diag]
|
||||
type: integer
|
||||
doc: n_states_diag
|
||||
@ -72,13 +81,13 @@ type: integer
|
||||
interface: OCaml
|
||||
doc: psi_coef
|
||||
type: double precision
|
||||
size: (determinants_n_det,determinants_n_states)
|
||||
size: (determinants.n_det,determinants.n_states)
|
||||
|
||||
[psi_det]
|
||||
interface: OCaml
|
||||
doc: psi_det
|
||||
type: integer*8
|
||||
size: (determinants_n_int*determinants_bit_kind/8,2,determinants_n_det)
|
||||
size: (determinants.n_int*determinants.bit_kind/8,2,determinants.n_det)
|
||||
|
||||
[det_num]
|
||||
interface: OCaml
|
||||
@ -89,13 +98,13 @@ type: integer
|
||||
interface: OCaml
|
||||
doc: det_occ
|
||||
type: integer
|
||||
size: (electrons_elec_alpha_num,determinants_det_num,2)
|
||||
size: (electrons.elec_alpha_num,determinants.det_num,2)
|
||||
|
||||
[det_coef]
|
||||
interface: OCaml
|
||||
doc: det_coef
|
||||
type: double precision
|
||||
size: (determinants_det_num)
|
||||
size: (determinants.det_num)
|
||||
|
||||
[expected_s2]
|
||||
interface: OCaml
|
||||
|
@ -1,35 +1,3 @@
|
||||
[N_det_max_fci]
|
||||
type: Det_number_max
|
||||
doc: Max number of determinants in the wave function
|
||||
interface: input
|
||||
default: 10000
|
||||
|
||||
[N_det_max_fci_property]
|
||||
type: Det_number_max
|
||||
doc: Max number of determinants in the wave function when you select for a given property
|
||||
interface: input
|
||||
default: 10000
|
||||
|
||||
[do_pt2_end]
|
||||
type: logical
|
||||
doc: If true, compute the PT2 at the end of the selection
|
||||
interface: input
|
||||
default: True
|
||||
|
||||
[PT2_max]
|
||||
type: PT2_energy
|
||||
doc: The selection process stops when the largest PT2 (for all the state) is lower
|
||||
than pt2_max in absolute value
|
||||
interface: input
|
||||
default: 0.0001
|
||||
|
||||
[var_pt2_ratio]
|
||||
type: Normalized_float
|
||||
doc: The selection process stops when the energy ratio variational/(variational+PT2)
|
||||
is equal to var_pt2_ratio
|
||||
interface: input
|
||||
default: 0.75
|
||||
|
||||
[energy]
|
||||
type: double precision
|
||||
doc: Calculated Selected FCI energy
|
||||
|
@ -11,12 +11,12 @@ program full_ci
|
||||
|
||||
pt2 = 1.d0
|
||||
diag_algorithm = "Lapack"
|
||||
if (N_det > n_det_max_fci) then
|
||||
if (N_det > N_det_max) then
|
||||
call diagonalize_CI
|
||||
call save_wavefunction
|
||||
psi_det = psi_det_sorted
|
||||
psi_coef = psi_coef_sorted
|
||||
N_det = n_det_max_fci
|
||||
N_det = N_det_max
|
||||
soft_touch N_det psi_det psi_coef
|
||||
call diagonalize_CI
|
||||
call save_wavefunction
|
||||
@ -38,7 +38,7 @@ program full_ci
|
||||
|
||||
integer :: n_det_before
|
||||
print*,'Beginning the selection ...'
|
||||
do while (N_det < n_det_max_fci.and.maxval(abs(pt2(1:N_st))) > pt2_max)
|
||||
do while (N_det < N_det_max.and.maxval(abs(pt2(1:N_st))) > pt2_max)
|
||||
n_det_before = N_det
|
||||
call H_apply_FCI(pt2, norm_pert, H_pert_diag, N_st)
|
||||
|
||||
@ -46,10 +46,10 @@ program full_ci
|
||||
PROVIDE psi_det
|
||||
PROVIDE psi_det_sorted
|
||||
|
||||
if (N_det > n_det_max_fci) then
|
||||
if (N_det > N_det_max) then
|
||||
psi_det = psi_det_sorted
|
||||
psi_coef = psi_coef_sorted
|
||||
N_det = n_det_max_fci
|
||||
N_det = N_det_max
|
||||
soft_touch N_det psi_det psi_coef
|
||||
endif
|
||||
call diagonalize_CI
|
||||
@ -68,7 +68,7 @@ program full_ci
|
||||
exit
|
||||
endif
|
||||
enddo
|
||||
N_det = min(n_det_max_fci,N_det)
|
||||
N_det = min(N_det_max,N_det)
|
||||
touch N_det psi_det psi_coef
|
||||
call diagonalize_CI
|
||||
if(do_pt2_end)then
|
||||
|
@ -11,12 +11,12 @@ program full_ci
|
||||
|
||||
pt2 = 1.d0
|
||||
diag_algorithm = "Lapack"
|
||||
if (N_det > n_det_max_fci) then
|
||||
if (N_det > N_det_max) then
|
||||
call diagonalize_CI
|
||||
call save_wavefunction
|
||||
psi_det = psi_det_sorted
|
||||
psi_coef = psi_coef_sorted
|
||||
N_det = n_det_max_fci
|
||||
N_det = N_det_max
|
||||
soft_touch N_det psi_det psi_coef
|
||||
call diagonalize_CI
|
||||
call save_wavefunction
|
||||
@ -38,7 +38,7 @@ program full_ci
|
||||
|
||||
integer :: n_det_before
|
||||
print*,'Beginning the selection ...'
|
||||
do while (N_det < n_det_max_fci.and.maxval(abs(pt2(1:N_st))) > pt2_max)
|
||||
do while (N_det < N_det_max.and.maxval(abs(pt2(1:N_st))) > pt2_max)
|
||||
n_det_before = N_det
|
||||
call H_apply_FCI_no_skip(pt2, norm_pert, H_pert_diag, N_st)
|
||||
|
||||
@ -46,10 +46,10 @@ program full_ci
|
||||
PROVIDE psi_det
|
||||
PROVIDE psi_det_sorted
|
||||
|
||||
if (N_det > n_det_max_fci) then
|
||||
if (N_det > N_det_max) then
|
||||
psi_det = psi_det_sorted
|
||||
psi_coef = psi_coef_sorted
|
||||
N_det = n_det_max_fci
|
||||
N_det = N_det_max
|
||||
soft_touch N_det psi_det psi_coef
|
||||
endif
|
||||
call diagonalize_CI
|
||||
@ -68,7 +68,7 @@ program full_ci
|
||||
exit
|
||||
endif
|
||||
enddo
|
||||
N_det = min(n_det_max_fci,N_det)
|
||||
N_det = min(N_det_max,N_det)
|
||||
touch N_det psi_det psi_coef
|
||||
call diagonalize_CI
|
||||
if(do_pt2_end)then
|
||||
|
19
src/Perturbation/EZFIO.cfg
Normal file
19
src/Perturbation/EZFIO.cfg
Normal file
@ -0,0 +1,19 @@
|
||||
[do_pt2_end]
|
||||
type: logical
|
||||
doc: If true, compute the PT2 at the end of the selection
|
||||
interface: input
|
||||
default: True
|
||||
|
||||
[PT2_max]
|
||||
type: PT2_energy
|
||||
doc: The selection process stops when the largest PT2 (for all the state) is lower
|
||||
than pt2_max in absolute value
|
||||
interface: input
|
||||
default: 0.0001
|
||||
|
||||
[var_pt2_ratio]
|
||||
type: Normalized_float
|
||||
doc: The selection process stops when the energy ratio variational/(variational+PT2)
|
||||
is equal to var_pt2_ratio
|
||||
interface: input
|
||||
default: 0.75
|
@ -244,8 +244,8 @@ def run_full_ci_10k_pt2_end(geo, basis, pseudo):
|
||||
ref_energy_var = defaultdict(dict)
|
||||
ref_energy_pt2 = defaultdict(dict)
|
||||
|
||||
ref_energy_var["sto-3g"]["methane"] = Energy(-0.398058753535695E+02, None)
|
||||
ref_energy_pt2["sto-3g"]["methane"] = Energy(-0.398059182483741E+02, None)
|
||||
ref_energy_var["sto-3g"]["methane"] = Energy(-39.8058687211, None)
|
||||
ref_energy_pt2["sto-3g"]["methane"] = Energy(-39.8059180427, None)
|
||||
|
||||
# ~#~#~#~ #
|
||||
# I n i t #
|
||||
|
Loading…
Reference in New Issue
Block a user