10
0
mirror of https://github.com/LCPQ/quantum_package synced 2024-12-25 05:43:47 +01:00
This commit is contained in:
Anthony Scemama 2018-10-05 23:05:04 +02:00
commit 8d5625b55d
3 changed files with 228 additions and 8 deletions

220
plugins/mrcc/README.rst Normal file
View File

@ -0,0 +1,220 @@
====
MRCC
====
Multi-Reference coupled cluser module:
A simple approach to the state-specific MR-CC using the intermediate Hamiltonian formalism
Emmanuel Giner , Grégoire David , Anthony Scemama and Jean Paul Malrieu (2016), in: J. Chem. Phys., 144:6(064101)
Alternative definition of excitation amplitudes in multi-reference state-specific coupled cluster
Yann Garniron , Emmanuel Giner , Jean Paul Malrieu and Anthony Scemama (2017), in: The Journal of Chemical Physics, 146:15(154107)
Using this module requires to have a selected CAS-SD wave function.
Needed Modules
==============
.. Do not edit this section It was auto-generated
.. by the `update_README.py` script.
.. image:: tree_dependency.png
* `Perturbation <http://github.com/LCPQ/quantum_package/tree/master/plugins/Perturbation>`_
* `Selectors_full <http://github.com/LCPQ/quantum_package/tree/master/plugins/Selectors_full>`_
* `Generators_full <http://github.com/LCPQ/quantum_package/tree/master/plugins/Generators_full>`_
* `Psiref_CAS <http://github.com/LCPQ/quantum_package/tree/master/plugins/Psiref_CAS>`_
* `MRCC_Utils <http://github.com/LCPQ/quantum_package/tree/master/plugins/MRCC_Utils>`_
* `ZMQ <http://github.com/LCPQ/quantum_package/tree/master/src/ZMQ>`_
Documentation
=============
.. Do not edit this section It was auto-generated
.. by the `update_README.py` script.
`active_sorb <http://github.com/LCPQ/quantum_package/tree/master/plugins/mrcepa0/dressing.irp.f#L371>`_
Undocumented
`blokmwen <http://github.com/LCPQ/quantum_package/tree/master/plugins/mrcepa0/dressing.irp.f#L375>`_
Undocumented
`cepa0_shortcut <http://github.com/LCPQ/quantum_package/tree/master/plugins/mrcepa0/dressing.irp.f#L367>`_
Undocumented
`child_num <http://github.com/LCPQ/quantum_package/tree/master/plugins/mrcepa0/dressing.irp.f#L377>`_
Undocumented
`delta_cas <http://github.com/LCPQ/quantum_package/tree/master/plugins/mrcepa0/dressing.irp.f#L539>`_
Undocumented
`delta_ii <http://github.com/LCPQ/quantum_package/tree/master/plugins/mrcepa0/dressing.irp.f#L317>`_
Undocumented
`delta_ii_mrcc <http://github.com/LCPQ/quantum_package/tree/master/plugins/mrcepa0/dressing.irp.f#L6>`_
Undocumented
`delta_ii_old <http://github.com/LCPQ/quantum_package/tree/master/plugins/mrcepa0/dressing_slave.irp.f#L468>`_
Undocumented
`delta_ij <http://github.com/LCPQ/quantum_package/tree/master/plugins/mrcepa0/dressing.irp.f#L316>`_
Undocumented
`delta_ij_mrcc <http://github.com/LCPQ/quantum_package/tree/master/plugins/mrcepa0/dressing.irp.f#L5>`_
Undocumented
`delta_ij_old <http://github.com/LCPQ/quantum_package/tree/master/plugins/mrcepa0/dressing_slave.irp.f#L467>`_
Undocumented
`delta_mrcepa0_ii <http://github.com/LCPQ/quantum_package/tree/master/plugins/mrcepa0/dressing.irp.f#L641>`_
Undocumented
`delta_mrcepa0_ij <http://github.com/LCPQ/quantum_package/tree/master/plugins/mrcepa0/dressing.irp.f#L640>`_
Undocumented
`delta_sub_ii <http://github.com/LCPQ/quantum_package/tree/master/plugins/mrcepa0/dressing.irp.f#L749>`_
Undocumented
`delta_sub_ij <http://github.com/LCPQ/quantum_package/tree/master/plugins/mrcepa0/dressing.irp.f#L748>`_
Undocumented
`det_cepa0 <http://github.com/LCPQ/quantum_package/tree/master/plugins/mrcepa0/dressing.irp.f#L372>`_
Undocumented
`det_cepa0_active <http://github.com/LCPQ/quantum_package/tree/master/plugins/mrcepa0/dressing.irp.f#L369>`_
Undocumented
`det_cepa0_idx <http://github.com/LCPQ/quantum_package/tree/master/plugins/mrcepa0/dressing.irp.f#L368>`_
Undocumented
`det_ref_active <http://github.com/LCPQ/quantum_package/tree/master/plugins/mrcepa0/dressing.irp.f#L370>`_
Undocumented
`filter_tq <http://github.com/LCPQ/quantum_package/tree/master/plugins/mrcepa0/dressing.irp.f#L875>`_
Undocumented
`filter_tq_micro <http://github.com/LCPQ/quantum_package/tree/master/plugins/mrcepa0/dressing.irp.f#L931>`_
Undocumented
`gethp <http://github.com/LCPQ/quantum_package/tree/master/plugins/mrcepa0/dressing.irp.f#L603>`_
Undocumented
`h_ <http://github.com/LCPQ/quantum_package/tree/master/plugins/mrcepa0/dressing.irp.f#L863>`_
Undocumented
`hp <http://github.com/LCPQ/quantum_package/tree/master/plugins/mrcepa0/dressing.irp.f#L360>`_
Undocumented
`isincassd <http://github.com/LCPQ/quantum_package/tree/master/plugins/mrcepa0/dressing.irp.f#L571>`_
Undocumented
`lambda_type <http://github.com/LCPQ/quantum_package/tree/master/plugins/mrcepa0/ezfio_interface.irp.f#L44>`_
lambda type
`linked <http://github.com/LCPQ/quantum_package/tree/master/plugins/mrcepa0/dressing.irp.f#L374>`_
Undocumented
`mrcc_part_dress <http://github.com/LCPQ/quantum_package/tree/master/plugins/mrcepa0/dressing.irp.f#L55>`_
Undocumented
`mrcepa0 <http://github.com/LCPQ/quantum_package/tree/master/plugins/mrcepa0/mrcepa0.irp.f#L1>`_
Undocumented
`mrsc2 <http://github.com/LCPQ/quantum_package/tree/master/plugins/mrcepa0/mrsc2.irp.f#L1>`_
Undocumented
`mrsc2_dressing_collector <http://github.com/LCPQ/quantum_package/tree/master/plugins/mrcepa0/dressing_slave.irp.f#L375>`_
Collects results from the AO integral calculation
`mrsc2_dressing_slave <http://github.com/LCPQ/quantum_package/tree/master/plugins/mrcepa0/dressing_slave.irp.f#L20>`_
Task for parallel MR-SC2
`mrsc2_dressing_slave_inproc <http://github.com/LCPQ/quantum_package/tree/master/plugins/mrcepa0/dressing_slave.irp.f#L11>`_
Task for parallel MR-SC2
`mrsc2_dressing_slave_tcp <http://github.com/LCPQ/quantum_package/tree/master/plugins/mrcepa0/dressing_slave.irp.f#L1>`_
Task for parallel MR-SC2
`mrsc2sub <http://github.com/LCPQ/quantum_package/tree/master/plugins/mrcepa0/mrcc.irp.f#L1>`_
Undocumented
`n_it_max_dressed_ci <http://github.com/LCPQ/quantum_package/tree/master/plugins/mrcepa0/ezfio_interface.irp.f#L25>`_
Maximum number of dressed CI iterations
`nlink <http://github.com/LCPQ/quantum_package/tree/master/plugins/mrcepa0/dressing.irp.f#L373>`_
Undocumented
`print_cas_coefs <http://github.com/LCPQ/quantum_package/tree/master/plugins/mrcepa0/mrcepa0_general.irp.f#L62>`_
Undocumented
`pull_mrsc2_results <http://github.com/LCPQ/quantum_package/tree/master/plugins/mrcepa0/dressing_slave.irp.f#L308>`_
Push integrals in the push socket
`push_mrsc2_results <http://github.com/LCPQ/quantum_package/tree/master/plugins/mrcepa0/dressing_slave.irp.f#L211>`_
Push integrals in the push socket
`run <http://github.com/LCPQ/quantum_package/tree/master/plugins/mrcepa0/mrcepa0_general.irp.f#L3>`_
Undocumented
`run_pt2 <http://github.com/LCPQ/quantum_package/tree/master/plugins/mrcepa0/mrcepa0_general.irp.f#L191>`_
Undocumented
`run_pt2_old <http://github.com/LCPQ/quantum_package/tree/master/plugins/mrcepa0/mrcepa0_general.irp.f#L79>`_
Undocumented
`searchance <http://github.com/LCPQ/quantum_package/tree/master/plugins/mrcepa0/dressing.irp.f#L376>`_
Undocumented
`set_det_bit <http://github.com/LCPQ/quantum_package/tree/master/plugins/mrcepa0/dressing.irp.f#L851>`_
Undocumented
`thresh_dressed_ci <http://github.com/LCPQ/quantum_package/tree/master/plugins/mrcepa0/ezfio_interface.irp.f#L6>`_
Threshold on the convergence of the dressed CI energy

View File

@ -185,9 +185,9 @@ subroutine H_S2_u_0_nstates_openmp_work_$N_int(v_t,s_t,u_t,N_st,sze,istart,iend,
ASSERT (kcol <= N_det_beta_unique) ASSERT (kcol <= N_det_beta_unique)
tmp_det(1:$N_int,1) = psi_det_alpha_unique(1:$N_int, krow) tmp_det(1:$N_int,1) = psi_det_alpha_unique(1:$N_int, krow)
tmp_det(1:$N_int,2) = psi_det_beta_unique (1:$N_int, kcol)
if (kcol /= kcol_prev) then if (kcol /= kcol_prev) then
tmp_det(1:$N_int,2) = psi_det_beta_unique (1:$N_int, kcol)
call get_all_spin_singles_$N_int( & call get_all_spin_singles_$N_int( &
psi_det_beta_unique, idx0, & psi_det_beta_unique, idx0, &
tmp_det(1,2), N_det_beta_unique, & tmp_det(1,2), N_det_beta_unique, &
@ -206,11 +206,11 @@ subroutine H_S2_u_0_nstates_openmp_work_$N_int(v_t,s_t,u_t,N_st,sze,istart,iend,
l_a = psi_bilinear_matrix_columns_loc(lcol) l_a = psi_bilinear_matrix_columns_loc(lcol)
ASSERT (l_a <= N_det) ASSERT (l_a <= N_det)
do j=1,psi_bilinear_matrix_columns_loc(lcol+1) - l_a do j=1,psi_bilinear_matrix_columns_loc(lcol+1) - psi_bilinear_matrix_columns_loc(lcol)
lrow = psi_bilinear_matrix_rows(l_a) lrow = psi_bilinear_matrix_rows(l_a)
ASSERT (lrow <= N_det_alpha_unique) ASSERT (lrow <= N_det_alpha_unique)
buffer(1:$N_int,j) = psi_det_alpha_unique(1:$N_int, lrow) buffer(1:$N_int,j) = psi_det_alpha_unique(1:$N_int, lrow) ! hot spot
ASSERT (l_a <= N_det) ASSERT (l_a <= N_det)
idx(j) = l_a idx(j) = l_a
@ -284,7 +284,7 @@ subroutine H_S2_u_0_nstates_openmp_work_$N_int(v_t,s_t,u_t,N_st,sze,istart,iend,
lrow = psi_bilinear_matrix_rows(l_a) lrow = psi_bilinear_matrix_rows(l_a)
ASSERT (lrow <= N_det_alpha_unique) ASSERT (lrow <= N_det_alpha_unique)
buffer(1:$N_int,i) = psi_det_alpha_unique(1:$N_int, lrow) buffer(1:$N_int,i) = psi_det_alpha_unique(1:$N_int, lrow) ! Hot spot
idx(i) = l_a idx(i) = l_a
l_a = l_a+1 l_a = l_a+1
enddo enddo

View File

@ -153,13 +153,13 @@ integer function zmq_put_psi_bilinear(zmq_to_qp_run_socket,worker_id)
return return
endif endif
integer*8, external :: zmq_put_N_det_alpha_unique integer, external :: zmq_put_N_det_alpha_unique
if (zmq_put_N_det_alpha_unique(zmq_to_qp_run_socket,worker_id) == -1) then if (zmq_put_N_det_alpha_unique(zmq_to_qp_run_socket,worker_id) == -1) then
zmq_put_psi_bilinear = -1 zmq_put_psi_bilinear = -1
return return
endif endif
integer*8, external :: zmq_put_N_det_beta_unique integer, external :: zmq_put_N_det_beta_unique
if (zmq_put_N_det_beta_unique(zmq_to_qp_run_socket,worker_id) == -1) then if (zmq_put_N_det_beta_unique(zmq_to_qp_run_socket,worker_id) == -1) then
zmq_put_psi_bilinear = -1 zmq_put_psi_bilinear = -1
return return
@ -242,13 +242,13 @@ integer function zmq_get_psi_bilinear(zmq_to_qp_run_socket, worker_id)
endif endif
integer*8, external :: zmq_get_N_det_alpha_unique integer, external :: zmq_get_N_det_alpha_unique
if (zmq_get_N_det_alpha_unique(zmq_to_qp_run_socket,worker_id) == -1) then if (zmq_get_N_det_alpha_unique(zmq_to_qp_run_socket,worker_id) == -1) then
zmq_get_psi_bilinear = -1 zmq_get_psi_bilinear = -1
return return
endif endif
integer*8, external :: zmq_get_N_det_beta_unique integer, external :: zmq_get_N_det_beta_unique
if (zmq_get_N_det_beta_unique(zmq_to_qp_run_socket,worker_id) == -1) then if (zmq_get_N_det_beta_unique(zmq_to_qp_run_socket,worker_id) == -1) then
zmq_get_psi_bilinear = -1 zmq_get_psi_bilinear = -1
return return