From 0b7fe4e1842f12144fb8dc11d6730544618a94b6 Mon Sep 17 00:00:00 2001 From: eginer Date: Fri, 28 Oct 2022 14:30:30 +0200 Subject: [PATCH] mino rmodifs --- src/cis/cis.irp.f | 2 +- src/determinants/EZFIO.cfg | 6 ++++++ src/non_hermit_dav/biorthog.irp.f | 6 +----- src/non_hermit_dav/lapack_diag_non_hermit.irp.f | 3 +++ src/tc_bi_ortho/tc_prop.irp.f | 4 ++-- src/tc_keywords/EZFIO.cfg | 6 ------ src/tc_scf/routines_rotates.irp.f | 8 ++++---- 7 files changed, 17 insertions(+), 18 deletions(-) diff --git a/src/cis/cis.irp.f b/src/cis/cis.irp.f index acec29c2..cc047622 100644 --- a/src/cis/cis.irp.f +++ b/src/cis/cis.irp.f @@ -79,6 +79,6 @@ subroutine run call ezfio_set_cis_energy(CI_energy) psi_coef = ci_eigenvectors SOFT_TOUCH psi_coef - call save_wavefunction_truncated(1.d-12) + call save_wavefunction_truncated(thresh_save_wf) end diff --git a/src/determinants/EZFIO.cfg b/src/determinants/EZFIO.cfg index 662c6fbb..b9c736a9 100644 --- a/src/determinants/EZFIO.cfg +++ b/src/determinants/EZFIO.cfg @@ -136,3 +136,9 @@ doc: If |true|, discard any Slater determinants with an interaction smaller than interface: ezfio,provider,ocaml default: False + +[thresh_save_wf] +type: Threshold +doc: Thresholds to save wave function +interface: ezfio,provider,ocaml +default: 1.e-15 diff --git a/src/non_hermit_dav/biorthog.irp.f b/src/non_hermit_dav/biorthog.irp.f index 3c344184..633eff0d 100644 --- a/src/non_hermit_dav/biorthog.irp.f +++ b/src/non_hermit_dav/biorthog.irp.f @@ -314,7 +314,7 @@ subroutine non_hrmt_bieig(n, A, leigvec, reigvec, n_real_eigv, eigval) ! write(*, '(1000(F16.10,X))') VL(:,i) !enddo - thr_diag = 1d-08 + thr_diag = 1d-07 thr_norm = 1d+10 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' 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.) 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.) deallocate(S) diff --git a/src/non_hermit_dav/lapack_diag_non_hermit.irp.f b/src/non_hermit_dav/lapack_diag_non_hermit.irp.f index d3a0d1de..b92f12e5 100644 --- a/src/non_hermit_dav/lapack_diag_non_hermit.irp.f +++ b/src/non_hermit_dav/lapack_diag_non_hermit.irp.f @@ -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 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 *, ' CR norm = ', V_nrm stop diff --git a/src/tc_bi_ortho/tc_prop.irp.f b/src/tc_bi_ortho/tc_prop.irp.f index 6db8e80e..daea11a0 100644 --- a/src/tc_bi_ortho/tc_prop.irp.f +++ b/src/tc_bi_ortho/tc_prop.irp.f @@ -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) enddo ! call non_hrmt_diag_split_degen( mo_num, dm_tmp& - call non_hrmt_fock_mat( mo_num, dm_tmp& -! call non_hrmt_bieig( mo_num, dm_tmp& +! call non_hrmt_fock_mat( mo_num, dm_tmp& + call non_hrmt_bieig( mo_num, dm_tmp& , natorb_tc_leigvec_mo, natorb_tc_reigvec_mo& , n_real, natorb_tc_eigval ) double precision :: accu diff --git a/src/tc_keywords/EZFIO.cfg b/src/tc_keywords/EZFIO.cfg index d5d94c9d..3cca5bb9 100644 --- a/src/tc_keywords/EZFIO.cfg +++ b/src/tc_keywords/EZFIO.cfg @@ -94,12 +94,6 @@ doc: Maximum number of SCF iterations interface: ezfio,provider,ocaml 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] type: integer doc: if +1: only positive is selected, -1: only negative is selected, :0 both positive and negative diff --git a/src/tc_scf/routines_rotates.irp.f b/src/tc_scf/routines_rotates.irp.f index 69f1e96d..f829066e 100644 --- a/src/tc_scf/routines_rotates.irp.f +++ b/src/tc_scf/routines_rotates.irp.f @@ -59,10 +59,10 @@ subroutine routine_save_rotated_mos(thr_deg,good_angles) ! 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 give_degen(fock_diag,mo_num,thr_deg,list_degen,n_degen_list) -!print*,'fock_matrix_mo' -!do i = 1, mo_num -! print*,i,fock_diag(i),angle_left_right(i) -!enddo + print*,'fock_matrix_mo' + do i = 1, mo_num + print*,i,fock_diag(i),angle_left_right(i) + enddo do i = 1, n_degen_list ifirst = list_degen(1,i)