diff --git a/bin/qp_convert_output_to_ezfio b/bin/qp_convert_output_to_ezfio index cbc81032..b6e99176 100755 --- a/bin/qp_convert_output_to_ezfio +++ b/bin/qp_convert_output_to_ezfio @@ -120,6 +120,7 @@ def write_ezfio(res, filename): exponent = [] res.convert_to_cartesian() + # ~#~#~#~#~#~#~ # # P a r s i n g # # ~#~#~#~#~#~#~ # @@ -177,6 +178,68 @@ def write_ezfio(res, filename): print("OK") + # _ + # |_) _. _ o _ + # |_) (_| _> | _> + # + + print("Basis\t\t...\t", end=' ') + # ~#~#~#~ # + # I n i t # + # ~#~#~#~ # + + coefficient = [] + exponent = [] + + # ~#~#~#~#~#~#~ # + # P a r s i n g # + # ~#~#~#~#~#~#~ # + + nbasis = 0 + nucl_center = [] + curr_center = -1 + nucl_shell_num = [] + ang_mom = [] + nshell = 0 + shell_prim_index = [1] + shell_prim_num = [] + for b in res.basis: + s = b.sym + if str.count(s, "y") + str.count(s, "x") == 0: + c = b.center + nshell += 1 + if c != curr_center: + curr_center = c + nucl_center.append(nbasis+1) + nucl_shell_num.append(nshell) + nshell = 0 + nbasis += 1 + coefficient += b.coef[:len(b.prim)] + exponent += [p.expo for p in b.prim] + ang_mom.append(str.count(s, "z")) + shell_prim_index.append(len(exponent)+1) + shell_prim_num.append(len(b.prim)) + + nucl_shell_num.append(nshell+1) + nucl_shell_num = nucl_shell_num[1:] + + # ~#~#~#~#~ # + # W r i t e # + # ~#~#~#~#~ # + + ezfio.set_basis_basis("Read from ResultsFile") + ezfio.set_basis_basis_nucleus_index(nucl_center) + ezfio.set_basis_prim_num(len(coefficient)) + ezfio.set_basis_shell_num(len(ang_mom)) + ezfio.set_basis_nucleus_shell_num(nucl_shell_num) + ezfio.set_basis_prim_coef(coefficient) + ezfio.set_basis_prim_expo(exponent) + ezfio.set_basis_shell_ang_mom(ang_mom) + ezfio.set_basis_shell_prim_num(shell_prim_num) + ezfio.set_basis_shell_prim_index(shell_prim_index) + + print("OK") + # _ # |\/| _ _ |_) _. _ o _ # | | (_) _> |_) (_| _> | _> diff --git a/src/cipsi/pt2_stoch_routines.irp.f b/src/cipsi/pt2_stoch_routines.irp.f index 6f0d6683..b366a268 100644 --- a/src/cipsi/pt2_stoch_routines.irp.f +++ b/src/cipsi/pt2_stoch_routines.irp.f @@ -132,6 +132,8 @@ subroutine ZMQ_pt2(E, pt2_data, pt2_data_err, relative_error, N_in) PROVIDE psi_bilinear_matrix_transp_rows_loc psi_bilinear_matrix_transp_columns PROVIDE psi_bilinear_matrix_transp_order psi_selectors_coef_transp psi_det_sorted PROVIDE psi_det_hii selection_weight pseudo_sym + PROVIDE n_act_orb n_inact_orb n_core_orb n_virt_orb n_del_orb seniority_max + PROVIDE pert_2rdm excitation_beta_max excitation_alpha_max excitation_max if (h0_type == 'CFG') then PROVIDE psi_configuration_hii det_to_configuration diff --git a/src/cipsi/zmq_selection.irp.f b/src/cipsi/zmq_selection.irp.f index 6f222d4f..58630709 100644 --- a/src/cipsi/zmq_selection.irp.f +++ b/src/cipsi/zmq_selection.irp.f @@ -21,7 +21,8 @@ subroutine ZMQ_selection(N_in, pt2_data) PROVIDE psi_bilinear_matrix_rows psi_det_sorted_order psi_bilinear_matrix_order PROVIDE psi_bilinear_matrix_transp_rows_loc psi_bilinear_matrix_transp_columns PROVIDE psi_bilinear_matrix_transp_order selection_weight pseudo_sym - + PROVIDE n_act_orb n_inact_orb n_core_orb n_virt_orb n_del_orb seniority_max + PROVIDE pert_2rdm excitation_beta_max excitation_alpha_max excitation_max call new_parallel_job(zmq_to_qp_run_socket,zmq_socket_pull,'selection') diff --git a/src/davidson/diagonalize_ci.irp.f b/src/davidson/diagonalize_ci.irp.f index be4250bf..fb991b65 100644 --- a/src/davidson/diagonalize_ci.irp.f +++ b/src/davidson/diagonalize_ci.irp.f @@ -42,7 +42,7 @@ END_PROVIDER logical :: converged logical :: do_csf - PROVIDE threshold_davidson nthreads_davidson + PROVIDE threshold_davidson nthreads_davidson distributed_davidson ! Guess values for the "N_states" states of the |CI| eigenvectors do j=1,min(N_states,N_det) do i=1,N_det