9
1
mirror of https://github.com/QuantumPackage/qp2.git synced 2024-11-18 11:23:38 +01:00

Added JSON in FCI_TC

This commit is contained in:
Anthony Scemama 2023-04-24 01:22:24 +02:00
parent dd5291d90d
commit 918839fbf6
3 changed files with 25 additions and 11 deletions

View File

@ -94,7 +94,15 @@ subroutine run_stochastic_cipsi
call ZMQ_pt2(E_denom, pt2_data, pt2_data_err, relative_error,to_select) ! Stochastic PT2 and selection call ZMQ_pt2(E_denom, pt2_data, pt2_data_err, relative_error,to_select) ! Stochastic PT2 and selection
! stop ! stop
N_iter += 1 call print_summary(psi_energy_with_nucl_rep, &
pt2_data, pt2_data_err, N_det,N_configuration,N_states,psi_s2)
call save_energy(psi_energy_with_nucl_rep, pt2_data % pt2)
call increment_n_iter(psi_energy_with_nucl_rep, pt2_data)
call print_extrapolated_energy()
call print_mol_properties()
call write_cipsi_json(pt2_data,pt2_data_err)
if (qp_stop()) exit if (qp_stop()) exit

View File

@ -62,6 +62,7 @@ subroutine run_cipsi_tc
endif endif
endif endif
! --- ! ---
write(json_unit,json_array_open_fmt) 'fci_tc'
if (do_pt2) then if (do_pt2) then
call run_stochastic_cipsi call run_stochastic_cipsi
@ -69,6 +70,11 @@ subroutine run_cipsi_tc
call run_cipsi call run_cipsi
endif endif
write(json_unit,json_dict_uopen_fmt)
write(json_unit,json_dict_close_fmtx)
write(json_unit,json_array_close_fmtx)
call json_close
else else
PROVIDE mo_bi_ortho_tc_one_e mo_bi_ortho_tc_two_e pt2_min_parallel_tasks PROVIDE mo_bi_ortho_tc_one_e mo_bi_ortho_tc_two_e pt2_min_parallel_tasks
if(elec_alpha_num+elec_beta_num.ge.3)then if(elec_alpha_num+elec_beta_num.ge.3)then

View File

@ -12,7 +12,7 @@ subroutine get_H_tc_s2_l0_r0(l_0,r_0,N_st,sze,energies, s2)
! istart, iend, ishift, istep are used in ZMQ parallelization. ! istart, iend, ishift, istep are used in ZMQ parallelization.
END_DOC END_DOC
integer, intent(in) :: N_st,sze integer, intent(in) :: N_st,sze
double precision, intent(in) :: l_0(sze,N_st), r_0(sze,N_st) double precision, intent(inout) :: l_0(sze,N_st), r_0(sze,N_st)
double precision, intent(out) :: energies(N_st), s2(N_st) double precision, intent(out) :: energies(N_st), s2(N_st)
logical :: do_right logical :: do_right
integer :: istate integer :: istate