9
1
mirror of https://github.com/QuantumPackage/qp2.git synced 2024-12-23 03:53:29 +01:00
qp2/docs/source/modules/iterations.rst
2024-12-04 15:58:59 +01:00

252 lines
4.2 KiB
ReStructuredText

.. _module_iterations:
.. program:: iterations
.. default-role:: option
==========
iterations
==========
Module which saves the computed energies for an extrapolation to
the |FCI| limit.
Providers
---------
.. c:var:: energy_iterations
File : :file:`iterations/iterations.irp.f`
.. code:: fortran
double precision, allocatable :: energy_iterations (n_states,N_iter_max)
double precision, allocatable :: pt2_iterations (n_states,N_iter_max)
double precision, allocatable :: extrapolated_energy (N_iter_max,N_states)
The energy at each iteration for the extrapolations
Needs:
.. hlist::
:columns: 3
* :c:data:`n_iter_max`
* :c:data:`n_states`
.. c:var:: extrapolated_energy
File : :file:`iterations/iterations.irp.f`
.. code:: fortran
double precision, allocatable :: energy_iterations (n_states,N_iter_max)
double precision, allocatable :: pt2_iterations (n_states,N_iter_max)
double precision, allocatable :: extrapolated_energy (N_iter_max,N_states)
The energy at each iteration for the extrapolations
Needs:
.. hlist::
:columns: 3
* :c:data:`n_iter_max`
* :c:data:`n_states`
.. c:var:: n_iter
File : :file:`iterations/iterations.irp.f`
.. code:: fortran
integer :: n_iter
Number of CIPSI iterations
.. c:var:: n_iter_max
File : :file:`iterations/iterations.irp.f`
.. code:: fortran
integer :: n_iter_max
Max number of iterations for extrapolations
Needed by:
.. hlist::
:columns: 3
* :c:data:`energy_iterations`
.. c:var:: pt2_iterations
File : :file:`iterations/iterations.irp.f`
.. code:: fortran
double precision, allocatable :: energy_iterations (n_states,N_iter_max)
double precision, allocatable :: pt2_iterations (n_states,N_iter_max)
double precision, allocatable :: extrapolated_energy (N_iter_max,N_states)
The energy at each iteration for the extrapolations
Needs:
.. hlist::
:columns: 3
* :c:data:`n_iter_max`
* :c:data:`n_states`
Subroutines / functions
-----------------------
.. c:function:: increment_n_iter:
File : :file:`iterations/iterations.irp.f`
.. code:: fortran
subroutine increment_n_iter(e, pt2_data)
Does what is necessary to increment n_iter
Needs:
.. hlist::
:columns: 3
* :c:data:`energy_iterations`
* :c:data:`n_det`
* :c:data:`n_iter`
* :c:data:`n_iter_max`
* :c:data:`n_states`
Called by:
.. hlist::
:columns: 3
* :c:func:`run_cipsi`
* :c:func:`run_stochastic_cipsi`
Calls:
.. hlist::
:columns: 3
* :c:func:`extrapolate_data`
.. c:function:: print_extrapolated_energy:
File : :file:`iterations/print_extrapolation.irp.f`
.. code:: fortran
subroutine print_extrapolated_energy
Print the extrapolated energy in the output
Needs:
.. hlist::
:columns: 3
* :c:data:`energy_iterations`
* :c:data:`n_det`
* :c:data:`n_iter`
* :c:data:`n_states`
Called by:
.. hlist::
:columns: 3
* :c:func:`run_cipsi`
* :c:func:`run_stochastic_cipsi`
.. c:function:: print_summary:
File : :file:`iterations/print_summary.irp.f`
.. code:: fortran
subroutine print_summary(e_,pt2_data,pt2_data_err,n_det_,n_configuration_,n_st,s2_)
Print the extrapolated energy in the output
Needs:
.. hlist::
:columns: 3
* :c:data:`do_pt2`
* :c:data:`nsomomax`
* :c:data:`only_expected_s2`
* :c:data:`s2_eig`
Called by:
.. hlist::
:columns: 3
* :c:func:`run_cipsi`
* :c:func:`run_stochastic_cipsi`
.. c:function:: print_summary_tc:
File : :file:`iterations/summary_tc.irp.f`
.. code:: fortran
subroutine print_summary_tc(e_,pt2_data,pt2_data_err,n_det_,n_configuration_,n_st,s2_)
Print the extrapolated energy in the output
Needs:
.. hlist::
:columns: 3
* :c:data:`do_pt2`
* :c:data:`nsomomax`
* :c:data:`only_expected_s2`
* :c:data:`s2_eig`