mirror of
https://github.com/QuantumPackage/qp2.git
synced 2024-12-23 03:53:29 +01:00
mino rmodifs
This commit is contained in:
parent
20e46cab61
commit
0b7fe4e184
@ -79,6 +79,6 @@ subroutine run
|
|||||||
call ezfio_set_cis_energy(CI_energy)
|
call ezfio_set_cis_energy(CI_energy)
|
||||||
psi_coef = ci_eigenvectors
|
psi_coef = ci_eigenvectors
|
||||||
SOFT_TOUCH psi_coef
|
SOFT_TOUCH psi_coef
|
||||||
call save_wavefunction_truncated(1.d-12)
|
call save_wavefunction_truncated(thresh_save_wf)
|
||||||
|
|
||||||
end
|
end
|
||||||
|
@ -136,3 +136,9 @@ doc: If |true|, discard any Slater determinants with an interaction smaller than
|
|||||||
interface: ezfio,provider,ocaml
|
interface: ezfio,provider,ocaml
|
||||||
default: False
|
default: False
|
||||||
|
|
||||||
|
|
||||||
|
[thresh_save_wf]
|
||||||
|
type: Threshold
|
||||||
|
doc: Thresholds to save wave function
|
||||||
|
interface: ezfio,provider,ocaml
|
||||||
|
default: 1.e-15
|
||||||
|
@ -314,7 +314,7 @@ subroutine non_hrmt_bieig(n, A, leigvec, reigvec, n_real_eigv, eigval)
|
|||||||
! write(*, '(1000(F16.10,X))') VL(:,i)
|
! write(*, '(1000(F16.10,X))') VL(:,i)
|
||||||
!enddo
|
!enddo
|
||||||
|
|
||||||
thr_diag = 1d-08
|
thr_diag = 1d-07
|
||||||
thr_norm = 1d+10
|
thr_norm = 1d+10
|
||||||
call check_EIGVEC(n, n, A, WR, VL, VR, thr_diag, thr_norm, .false.)
|
call check_EIGVEC(n, n, A, WR, VL, VR, thr_diag, thr_norm, .false.)
|
||||||
|
|
||||||
@ -410,8 +410,6 @@ subroutine non_hrmt_bieig(n, A, leigvec, reigvec, n_real_eigv, eigval)
|
|||||||
print *, ' lapack vectors are not normalized but bi-orthogonalized'
|
print *, ' lapack vectors are not normalized but bi-orthogonalized'
|
||||||
call check_biorthog_binormalize(n, n_real_eigv, leigvec, reigvec, .true.)
|
call check_biorthog_binormalize(n, n_real_eigv, leigvec, reigvec, .true.)
|
||||||
|
|
||||||
thr_diag = 1d-10
|
|
||||||
thr_norm = 1d+10
|
|
||||||
call check_EIGVEC(n, n, A, eigval, leigvec, reigvec, thr_diag, thr_norm, .true.)
|
call check_EIGVEC(n, n, A, eigval, leigvec, reigvec, thr_diag, thr_norm, .true.)
|
||||||
|
|
||||||
deallocate(S)
|
deallocate(S)
|
||||||
@ -446,8 +444,6 @@ subroutine non_hrmt_bieig(n, A, leigvec, reigvec, n_real_eigv, eigval)
|
|||||||
|
|
||||||
! ---
|
! ---
|
||||||
|
|
||||||
thr_diag = 1d-10
|
|
||||||
thr_norm = 1d+10
|
|
||||||
call check_EIGVEC(n, n, A, eigval, leigvec, reigvec, thr_diag, thr_norm, .true.)
|
call check_EIGVEC(n, n, A, eigval, leigvec, reigvec, thr_diag, thr_norm, .true.)
|
||||||
|
|
||||||
deallocate(S)
|
deallocate(S)
|
||||||
|
@ -939,6 +939,9 @@ subroutine check_EIGVEC(n, m, A, eigval, leigvec, reigvec, thr_diag, thr_norm, s
|
|||||||
|
|
||||||
if( stop_ifnot .and. ((tmp_rel .gt. thr_diag) .or. (tmp_dif .gt. thr_norm)) ) then
|
if( stop_ifnot .and. ((tmp_rel .gt. thr_diag) .or. (tmp_dif .gt. thr_norm)) ) then
|
||||||
print *, ' error in right-eigenvectors'
|
print *, ' error in right-eigenvectors'
|
||||||
|
print *, ' err tol = ',thr_diag, thr_norm
|
||||||
|
print *, '(tmp_rel .gt. thr_diag) = ',(tmp_rel .gt. thr_diag)
|
||||||
|
print *, '(tmp_dif .gt. thr_norm) = ',(tmp_dif .gt. thr_norm)
|
||||||
print *, ' err estim = ', tmp_abs, tmp_rel
|
print *, ' err estim = ', tmp_abs, tmp_rel
|
||||||
print *, ' CR norm = ', V_nrm
|
print *, ' CR norm = ', V_nrm
|
||||||
stop
|
stop
|
||||||
|
@ -67,8 +67,8 @@ BEGIN_PROVIDER [ double precision, tc_transition_matrix, (mo_num, mo_num,N_state
|
|||||||
write(*,'(100(F16.10,X))')-dm_tmp(:,i)
|
write(*,'(100(F16.10,X))')-dm_tmp(:,i)
|
||||||
enddo
|
enddo
|
||||||
! call non_hrmt_diag_split_degen( mo_num, dm_tmp&
|
! call non_hrmt_diag_split_degen( mo_num, dm_tmp&
|
||||||
call non_hrmt_fock_mat( mo_num, dm_tmp&
|
! call non_hrmt_fock_mat( mo_num, dm_tmp&
|
||||||
! call non_hrmt_bieig( mo_num, dm_tmp&
|
call non_hrmt_bieig( mo_num, dm_tmp&
|
||||||
, natorb_tc_leigvec_mo, natorb_tc_reigvec_mo&
|
, natorb_tc_leigvec_mo, natorb_tc_reigvec_mo&
|
||||||
, n_real, natorb_tc_eigval )
|
, n_real, natorb_tc_eigval )
|
||||||
double precision :: accu
|
double precision :: accu
|
||||||
|
@ -94,12 +94,6 @@ doc: Maximum number of SCF iterations
|
|||||||
interface: ezfio,provider,ocaml
|
interface: ezfio,provider,ocaml
|
||||||
default: 500
|
default: 500
|
||||||
|
|
||||||
[max_ov_tc_scf]
|
|
||||||
type: logical
|
|
||||||
doc: If |true|, the TC-SCF is done with a kind of maximum overlap with RHF MOs
|
|
||||||
interface: ezfio,provider,ocaml
|
|
||||||
default: True
|
|
||||||
|
|
||||||
[selection_tc]
|
[selection_tc]
|
||||||
type: integer
|
type: integer
|
||||||
doc: if +1: only positive is selected, -1: only negative is selected, :0 both positive and negative
|
doc: if +1: only positive is selected, -1: only negative is selected, :0 both positive and negative
|
||||||
|
@ -59,10 +59,10 @@ subroutine routine_save_rotated_mos(thr_deg,good_angles)
|
|||||||
! compute the overlap between the left and rescaled right
|
! compute the overlap between the left and rescaled right
|
||||||
call build_s_matrix(ao_num,mo_num,mo_r_coef_new,mo_r_coef_new,ao_overlap,s_mat)
|
call build_s_matrix(ao_num,mo_num,mo_r_coef_new,mo_r_coef_new,ao_overlap,s_mat)
|
||||||
call give_degen(fock_diag,mo_num,thr_deg,list_degen,n_degen_list)
|
call give_degen(fock_diag,mo_num,thr_deg,list_degen,n_degen_list)
|
||||||
!print*,'fock_matrix_mo'
|
print*,'fock_matrix_mo'
|
||||||
!do i = 1, mo_num
|
do i = 1, mo_num
|
||||||
! print*,i,fock_diag(i),angle_left_right(i)
|
print*,i,fock_diag(i),angle_left_right(i)
|
||||||
!enddo
|
enddo
|
||||||
|
|
||||||
do i = 1, n_degen_list
|
do i = 1, n_degen_list
|
||||||
ifirst = list_degen(1,i)
|
ifirst = list_degen(1,i)
|
||||||
|
Loading…
Reference in New Issue
Block a user