This commit is contained in:
eginer 2019-01-10 17:52:54 +01:00
parent 2425201c81
commit 9f9f7d7870
17 changed files with 446 additions and 316 deletions

View File

@ -25,9 +25,8 @@ sets all the environment variables required for the normal operation of the
Running this script will also tell you which external dependencies are missing
and need to be installed.
Then, source the :file:`quantum_package.rc` file in your current shell before
installing the dependencies.
When all dependencies have been installed, ( the :command:`configure` will tell you)
source the :file:`quantum_package.rc` in order to load all environment variables and compile the |QP|.
Requirements
@ -71,6 +70,52 @@ architecture. Modify it if needed, and run :command:`configure` with
Help for installing external dependencies
=========================================
Using the :command:`configure` executable
-----------------------------------------
The :command:`configure` executable can help you in installing the minimal dependencies you will need to compile the |QP|.
The command is to be used as follows:
.. code:: bash
./configure --install <package>
The following packages are supported by the :command:`configure` installer:
* ninja
* irpf90
* zeromq
* f77zmq ( :math:`\approx` 3 minutes)
* ocaml
* ezfio
* emsl
* docopt
* resultsFile
* bats
Example:
.. code:: bash
./configure -i ezfio
.. note::
When installing the ocaml package, you will be asked the location of where it should be installed.
A safe option is to enter the path proposed by the |QP|:
QP>> Please install it here: /your_quantum_package_directory/bin
So just enter the proposition of the |QP| and press enter.
If the :command:`configure` executable fails to install a specific dependency
-----------------------------------------------------------------------------
If the :command:`configure` executable does not succeed to install a specific dependency,
there are some proposition of how to download and install the minimal dependencies to compile and use the |QP|
Before doing anything below, try to install the packages with your package manager
(:command:`apt`, :command:`yum`, etc)

4
TODO
View File

@ -1,3 +1,7 @@
============
Probleme with EMSL
* Mettre le fichier LIB
* Faire que le slave de Hartree-fock est le calcul des integrales AO en parallele

View File

@ -38,6 +38,7 @@
programmers_guide/programming
programmers_guide/ezfio
programmers_guide/index
programmers_guide/plugins
.. toctree::

View File

@ -105,13 +105,25 @@ The determinants in |SetDI| will be characterized as **internal**.
Of course, such a procedure can be applied on any state and therefore can allow to treat both ground and excited states.
Approximations to accelerate the selection
------------------------------------------
Stochastic approximations for the selection and the computation of |EPT|
------------------------------------------------------------------------
The simple algorithm would be too slow to make calculations possible. Instead,
we use the 3-class |CIPSI| approximation to accelerate the selection,
:cite:`Evangelisti_1983` where instead of generating all possible |kalpha|,
we only generate a subset which are likely to be selected.
the |QP| uses a stochastic algorithm :cite:`Garniron_2017.2` in order to compute
efficiently the |EPT| and to select on-the-fly the best Slater determinants.
In such a way, the selection step introduces no extra cost with respect to the |EPT| calculation and the |EPT|
itself is unbiased but associated with a statistical error bar rapidly converging.
Deterministic approximations for the selection
----------------------------------------------
The following description was used in a previous version of the |CIPSI| algorithm
which was less efficient. Nonetheless, it introduces the notions of **generator** and **selector** determinants
which are much more general than the |CIPSI| algorithm that targets the |FCI| and can be used to realize virtually
**any kind of CI in a selected way**.
We define **generator** determinants, as determinants of the internal space
from which the |kalpha| are generated.
@ -124,6 +136,11 @@ The default is to use :option:`determinants threshold_generators` = 0.99 for
the generators, and :option:`determinants threshold_selectors` = 0.999 for the
selectors.
This is nothing but the 3-class |CIPSI| approximation to accelerate the selection,
:cite:`Evangelisti_1983` where instead of generating all possible |kalpha|,
we only generate a subset which are likely to be selected.
The computation of |EPT| using a truncated wave function is biased,
so if an accurate estimate of the |FCI| energy is desired, it is preferable
to recompute |EPT| with the hybrid deterministic/stochastic algorithm
@ -147,7 +164,7 @@ a selected |CAS-SD|. And if one add the rule to prevent for doing double
excitations with two holes and two particles outside of the active space, one
obtains a selected |DDCI| method.
All such things can be done very easily when programming the the |qp|.
All such things can be done very easily when programming the |qp|.
-----------------------------------

View File

@ -755,6 +755,20 @@ Subroutines / functions
.. c:function:: remove_duplicates_in_selection_buffer
.. code:: text
subroutine remove_duplicates_in_selection_buffer(b)
File: :file:`selection_buffer.irp.f`
.. c:function:: run_cipsi
.. code:: text

View File

@ -449,7 +449,7 @@ Subroutines / functions
subroutine H_S2_u_0_nstates_openmp_work_1(v_t,s_t,u_t,N_st,sze,istart,iend,ishift,istep)
File: :file:`u0_h_u0.irp.f_template_468`
File: :file:`u0_h_u0.irp.f_template_477`
Computes :math:`v_t = H|u_t angle` and :math:`s_t = S^2 |u_t angle`
@ -465,7 +465,7 @@ Subroutines / functions
subroutine H_S2_u_0_nstates_openmp_work_2(v_t,s_t,u_t,N_st,sze,istart,iend,ishift,istep)
File: :file:`u0_h_u0.irp.f_template_468`
File: :file:`u0_h_u0.irp.f_template_477`
Computes :math:`v_t = H|u_t angle` and :math:`s_t = S^2 |u_t angle`
@ -481,7 +481,7 @@ Subroutines / functions
subroutine H_S2_u_0_nstates_openmp_work_3(v_t,s_t,u_t,N_st,sze,istart,iend,ishift,istep)
File: :file:`u0_h_u0.irp.f_template_468`
File: :file:`u0_h_u0.irp.f_template_477`
Computes :math:`v_t = H|u_t angle` and :math:`s_t = S^2 |u_t angle`
@ -497,7 +497,7 @@ Subroutines / functions
subroutine H_S2_u_0_nstates_openmp_work_4(v_t,s_t,u_t,N_st,sze,istart,iend,ishift,istep)
File: :file:`u0_h_u0.irp.f_template_468`
File: :file:`u0_h_u0.irp.f_template_477`
Computes :math:`v_t = H|u_t angle` and :math:`s_t = S^2 |u_t angle`
@ -513,7 +513,7 @@ Subroutines / functions
subroutine H_S2_u_0_nstates_openmp_work_N_int(v_t,s_t,u_t,N_st,sze,istart,iend,ishift,istep)
File: :file:`u0_h_u0.irp.f_template_468`
File: :file:`u0_h_u0.irp.f_template_477`
Computes :math:`v_t = H|u_t angle` and :math:`s_t = S^2 |u_t angle`

View File

@ -451,7 +451,7 @@ Providers
integer(bit_kind), allocatable :: psi_det_alpha_unique (N_int,psi_det_size)
integer :: n_det_alpha_unique
File: :file:`spindeterminants.irp.f_template_141`
File: :file:`spindeterminants.irp.f_template_143`
Unique :math:`\alpha` determinants
@ -465,7 +465,7 @@ Providers
integer(bit_kind), allocatable :: psi_det_beta_unique (N_int,psi_det_size)
integer :: n_det_beta_unique
File: :file:`spindeterminants.irp.f_template_141`
File: :file:`spindeterminants.irp.f_template_143`
Unique :math:`\beta` determinants
@ -1215,7 +1215,7 @@ Providers
integer(bit_kind), allocatable :: psi_det_alpha_unique (N_int,psi_det_size)
integer :: n_det_alpha_unique
File: :file:`spindeterminants.irp.f_template_141`
File: :file:`spindeterminants.irp.f_template_143`
Unique :math:`\alpha` determinants
@ -1242,7 +1242,7 @@ Providers
integer(bit_kind), allocatable :: psi_det_beta_unique (N_int,psi_det_size)
integer :: n_det_beta_unique
File: :file:`spindeterminants.irp.f_template_141`
File: :file:`spindeterminants.irp.f_template_143`
Unique :math:`\beta` determinants
@ -2337,7 +2337,7 @@ Subroutines / functions
subroutine get_all_spin_doubles_2(buffer, idx, spindet, size_buffer, doubles, n_doubles)
File: :file:`spindeterminants.irp.f_template_1218`
File: :file:`spindeterminants.irp.f_template_1221`
@ -2355,7 +2355,7 @@ Subroutines / functions
subroutine get_all_spin_doubles_3(buffer, idx, spindet, size_buffer, doubles, n_doubles)
File: :file:`spindeterminants.irp.f_template_1218`
File: :file:`spindeterminants.irp.f_template_1221`
@ -2373,7 +2373,7 @@ Subroutines / functions
subroutine get_all_spin_doubles_4(buffer, idx, spindet, size_buffer, doubles, n_doubles)
File: :file:`spindeterminants.irp.f_template_1218`
File: :file:`spindeterminants.irp.f_template_1221`
@ -2391,7 +2391,7 @@ Subroutines / functions
subroutine get_all_spin_doubles_N_int(buffer, idx, spindet, size_buffer, doubles, n_doubles)
File: :file:`spindeterminants.irp.f_template_1218`
File: :file:`spindeterminants.irp.f_template_1221`
@ -2445,7 +2445,7 @@ Subroutines / functions
subroutine get_all_spin_singles_2(buffer, idx, spindet, size_buffer, singles, n_singles)
File: :file:`spindeterminants.irp.f_template_1218`
File: :file:`spindeterminants.irp.f_template_1221`
@ -2463,7 +2463,7 @@ Subroutines / functions
subroutine get_all_spin_singles_3(buffer, idx, spindet, size_buffer, singles, n_singles)
File: :file:`spindeterminants.irp.f_template_1218`
File: :file:`spindeterminants.irp.f_template_1221`
@ -2481,7 +2481,7 @@ Subroutines / functions
subroutine get_all_spin_singles_4(buffer, idx, spindet, size_buffer, singles, n_singles)
File: :file:`spindeterminants.irp.f_template_1218`
File: :file:`spindeterminants.irp.f_template_1221`
@ -2539,7 +2539,7 @@ Subroutines / functions
subroutine get_all_spin_singles_and_doubles_2(buffer, idx, spindet, size_buffer, singles, doubles, n_singles, n_doubles)
File: :file:`spindeterminants.irp.f_template_1218`
File: :file:`spindeterminants.irp.f_template_1221`
@ -2559,7 +2559,7 @@ Subroutines / functions
subroutine get_all_spin_singles_and_doubles_3(buffer, idx, spindet, size_buffer, singles, doubles, n_singles, n_doubles)
File: :file:`spindeterminants.irp.f_template_1218`
File: :file:`spindeterminants.irp.f_template_1221`
@ -2579,7 +2579,7 @@ Subroutines / functions
subroutine get_all_spin_singles_and_doubles_4(buffer, idx, spindet, size_buffer, singles, doubles, n_singles, n_doubles)
File: :file:`spindeterminants.irp.f_template_1218`
File: :file:`spindeterminants.irp.f_template_1221`
@ -2599,7 +2599,7 @@ Subroutines / functions
subroutine get_all_spin_singles_and_doubles_N_int(buffer, idx, spindet, size_buffer, singles, doubles, n_singles, n_doubles)
File: :file:`spindeterminants.irp.f_template_1218`
File: :file:`spindeterminants.irp.f_template_1221`
@ -2619,7 +2619,7 @@ Subroutines / functions
subroutine get_all_spin_singles_N_int(buffer, idx, spindet, size_buffer, singles, n_singles)
File: :file:`spindeterminants.irp.f_template_1218`
File: :file:`spindeterminants.irp.f_template_1221`

View File

@ -1090,14 +1090,12 @@ Providers
.. code:: text
double precision, allocatable :: potential_sr_x_alpha_ao_lda (ao_num,ao_num,N_states)
double precision, allocatable :: potential_sr_x_beta_ao_lda (ao_num,ao_num,N_states)
double precision, allocatable :: potential_sr_c_alpha_ao_lda (ao_num,ao_num,N_states)
double precision, allocatable :: potential_sr_c_beta_ao_lda (ao_num,ao_num,N_states)
File: :file:`sr_pot_ao.irp.f`
short range exchange/correlation alpha/beta potentials with LDA functional on the AO basis
short range correlation alpha/beta potentials with LDA functional on the |AO| basis
@ -1122,14 +1120,12 @@ Providers
.. code:: text
double precision, allocatable :: potential_sr_x_alpha_ao_lda (ao_num,ao_num,N_states)
double precision, allocatable :: potential_sr_x_beta_ao_lda (ao_num,ao_num,N_states)
double precision, allocatable :: potential_sr_c_alpha_ao_lda (ao_num,ao_num,N_states)
double precision, allocatable :: potential_sr_c_beta_ao_lda (ao_num,ao_num,N_states)
File: :file:`sr_pot_ao.irp.f`
short range exchange/correlation alpha/beta potentials with LDA functional on the AO basis
short range correlation alpha/beta potentials with LDA functional on the |AO| basis
@ -1156,12 +1152,10 @@ Providers
double precision, allocatable :: potential_sr_x_alpha_ao_lda (ao_num,ao_num,N_states)
double precision, allocatable :: potential_sr_x_beta_ao_lda (ao_num,ao_num,N_states)
double precision, allocatable :: potential_sr_c_alpha_ao_lda (ao_num,ao_num,N_states)
double precision, allocatable :: potential_sr_c_beta_ao_lda (ao_num,ao_num,N_states)
File: :file:`sr_pot_ao.irp.f`
short range exchange/correlation alpha/beta potentials with LDA functional on the AO basis
short range exchange alpha/beta potentials with LDA functional on the |AO| basis
@ -1188,12 +1182,10 @@ Providers
double precision, allocatable :: potential_sr_x_alpha_ao_lda (ao_num,ao_num,N_states)
double precision, allocatable :: potential_sr_x_beta_ao_lda (ao_num,ao_num,N_states)
double precision, allocatable :: potential_sr_c_alpha_ao_lda (ao_num,ao_num,N_states)
double precision, allocatable :: potential_sr_c_beta_ao_lda (ao_num,ao_num,N_states)
File: :file:`sr_pot_ao.irp.f`
short range exchange/correlation alpha/beta potentials with LDA functional on the AO basis
short range exchange alpha/beta potentials with LDA functional on the |AO| basis

View File

@ -36,6 +36,23 @@ EZFIO parameters
Providers
---------
.. c:var:: nthreads_pt2
.. code:: text
integer :: nthreads_pt2
File: :file:`environment.irp.f`
Number of threads for Davidson
Subroutines / functions
-----------------------

View File

@ -63,6 +63,79 @@ Providers
---------
.. c:var:: ao_two_e_integral_alpha
.. code:: text
double precision, allocatable :: ao_two_e_integral_alpha (ao_num,ao_num)
double precision, allocatable :: ao_two_e_integral_beta (ao_num,ao_num)
File: :file:`fock_matrix_hf.irp.f`
Alpha Fock matrix in AO basis set
.. c:var:: ao_two_e_integral_beta
.. code:: text
double precision, allocatable :: ao_two_e_integral_alpha (ao_num,ao_num)
double precision, allocatable :: ao_two_e_integral_beta (ao_num,ao_num)
File: :file:`fock_matrix_hf.irp.f`
Alpha Fock matrix in AO basis set
.. c:var:: extra_e_contrib_density
.. code:: text
double precision :: extra_e_contrib_density
File: :file:`hf_energy.irp.f`
Extra contribution to the SCF energy coming from the density.
For a Hartree-Fock calculation: extra_e_contrib_density = 0
For a Kohn-Sham or Range-separated Kohn-Sham: the exchange/correlation - trace of the V_xc potential
.. c:var:: fock_matrix_ao_alpha
.. code:: text
double precision, allocatable :: fock_matrix_ao_alpha (ao_num,ao_num)
double precision, allocatable :: fock_matrix_ao_beta (ao_num,ao_num)
File: :file:`fock_matrix_hf.irp.f`
Alpha Fock matrix in AO basis set
.. c:var:: fock_matrix_ao_beta
.. code:: text
double precision, allocatable :: fock_matrix_ao_alpha (ao_num,ao_num)
double precision, allocatable :: fock_matrix_ao_beta (ao_num,ao_num)
File: :file:`fock_matrix_hf.irp.f`
Alpha Fock matrix in AO basis set
.. c:var:: hf_energy
.. code:: text
@ -113,6 +186,34 @@ Subroutines / functions
.. c:function:: create_guess
.. code:: text
subroutine create_guess
File: :file:`scf.irp.f`
Create a MO guess if no MOs are present in the EZFIO directory
.. c:function:: run
.. code:: text
subroutine run
File: :file:`scf.irp.f`
Run SCF calculation
.. c:function:: scf
.. code:: text

View File

@ -91,7 +91,7 @@ Subroutines / functions
.. code:: text
subroutine print_summary(e_,pt2_,error_,variance_,norm_,n_det_,n_occ_pattern_)
subroutine print_summary(e_,pt2_,error_,variance_,norm_,n_det_,n_occ_pattern_,n_st)
File: :file:`print_summary.irp.f`

View File

@ -52,178 +52,6 @@ Providers
---------
.. c:var:: ao_potential_alpha_xc
.. code:: text
double precision, allocatable :: ao_potential_alpha_xc (ao_num,ao_num)
double precision, allocatable :: ao_potential_beta_xc (ao_num,ao_num)
File: :file:`pot_functionals.irp.f`
.. c:var:: ao_potential_beta_xc
.. code:: text
double precision, allocatable :: ao_potential_alpha_xc (ao_num,ao_num)
double precision, allocatable :: ao_potential_beta_xc (ao_num,ao_num)
File: :file:`pot_functionals.irp.f`
.. c:var:: ao_two_e_integral_alpha
.. code:: text
double precision, allocatable :: ao_two_e_integral_alpha (ao_num,ao_num)
double precision, allocatable :: ao_two_e_integral_beta (ao_num,ao_num)
File: :file:`fock_matrix_ks.irp.f`
Alpha Fock matrix in ao basis set
.. c:var:: ao_two_e_integral_beta
.. code:: text
double precision, allocatable :: ao_two_e_integral_alpha (ao_num,ao_num)
double precision, allocatable :: ao_two_e_integral_beta (ao_num,ao_num)
File: :file:`fock_matrix_ks.irp.f`
Alpha Fock matrix in ao basis set
.. c:var:: e_correlation_dft
.. code:: text
double precision :: e_correlation_dft
File: :file:`pot_functionals.irp.f`
.. c:var:: e_exchange_dft
.. code:: text
double precision :: e_exchange_dft
File: :file:`pot_functionals.irp.f`
.. c:var:: extra_e_contrib_density
.. code:: text
double precision :: extra_e_contrib_density
File: :file:`ks_enery.irp.f`
Extra contribution to the SCF energy coming from the density.
For a Hartree-Fock calculation: extra_e_contrib_density = 0
For a Kohn-Sham or Range-separated Kohn-Sham: the exchange/correlation - 1/2 trace of the V_xc potential
.. c:var:: fock_matrix_alpha_no_xc_ao
.. code:: text
double precision, allocatable :: fock_matrix_alpha_no_xc_ao (ao_num,ao_num)
double precision, allocatable :: fock_matrix_beta_no_xc_ao (ao_num,ao_num)
File: :file:`fock_matrix_ks.irp.f`
Mono electronic an Coulomb matrix in ao basis set
.. c:var:: fock_matrix_ao_alpha
.. code:: text
double precision, allocatable :: fock_matrix_ao_alpha (ao_num,ao_num)
double precision, allocatable :: fock_matrix_ao_beta (ao_num,ao_num)
File: :file:`fock_matrix_ks.irp.f`
Alpha Fock matrix in ao basis set
.. c:var:: fock_matrix_ao_beta
.. code:: text
double precision, allocatable :: fock_matrix_ao_alpha (ao_num,ao_num)
double precision, allocatable :: fock_matrix_ao_beta (ao_num,ao_num)
File: :file:`fock_matrix_ks.irp.f`
Alpha Fock matrix in ao basis set
.. c:var:: fock_matrix_beta_no_xc_ao
.. code:: text
double precision, allocatable :: fock_matrix_alpha_no_xc_ao (ao_num,ao_num)
double precision, allocatable :: fock_matrix_beta_no_xc_ao (ao_num,ao_num)
File: :file:`fock_matrix_ks.irp.f`
Mono electronic an Coulomb matrix in ao basis set
.. c:var:: fock_matrix_energy
.. code:: text
double precision :: ks_energy
double precision :: two_electron_energy
double precision :: one_electron_energy
double precision :: fock_matrix_energy
double precision :: trace_potential_xc
File: :file:`ks_enery.irp.f`
Kohn-Sham energy containing the nuclear repulsion energy, and the various components of this quantity.
.. c:var:: ks_energy
.. code:: text
@ -241,104 +69,11 @@ Providers
.. c:var:: one_electron_energy
.. code:: text
double precision :: ks_energy
double precision :: two_electron_energy
double precision :: one_electron_energy
double precision :: fock_matrix_energy
double precision :: trace_potential_xc
File: :file:`ks_enery.irp.f`
Kohn-Sham energy containing the nuclear repulsion energy, and the various components of this quantity.
.. c:var:: trace_potential_xc
.. code:: text
double precision :: ks_energy
double precision :: two_electron_energy
double precision :: one_electron_energy
double precision :: fock_matrix_energy
double precision :: trace_potential_xc
File: :file:`ks_enery.irp.f`
Kohn-Sham energy containing the nuclear repulsion energy, and the various components of this quantity.
.. c:var:: two_electron_energy
.. code:: text
double precision :: ks_energy
double precision :: two_electron_energy
double precision :: one_electron_energy
double precision :: fock_matrix_energy
double precision :: trace_potential_xc
File: :file:`ks_enery.irp.f`
Kohn-Sham energy containing the nuclear repulsion energy, and the various components of this quantity.
Subroutines / functions
-----------------------
.. c:function:: check_coherence_functional
.. code:: text
subroutine check_coherence_functional
File: :file:`ks_scf.irp.f`
.. c:function:: create_guess
.. code:: text
subroutine create_guess
File: :file:`ks_scf.irp.f`
Create a MO guess if no MOs are present in the EZFIO directory
.. c:function:: run
.. code:: text
subroutine run
File: :file:`ks_scf.irp.f`
Run SCF calculation
.. c:function:: srs_ks_cf
.. code:: text

View File

@ -60,6 +60,122 @@ Providers
---------
.. c:var:: ao_potential_alpha_xc
.. code:: text
double precision, allocatable :: ao_potential_alpha_xc (ao_num,ao_num)
double precision, allocatable :: ao_potential_beta_xc (ao_num,ao_num)
File: :file:`pot_functionals.irp.f`
.. c:var:: ao_potential_beta_xc
.. code:: text
double precision, allocatable :: ao_potential_alpha_xc (ao_num,ao_num)
double precision, allocatable :: ao_potential_beta_xc (ao_num,ao_num)
File: :file:`pot_functionals.irp.f`
.. c:var:: e_correlation_dft
.. code:: text
double precision :: e_correlation_dft
File: :file:`pot_functionals.irp.f`
.. c:var:: e_exchange_dft
.. code:: text
double precision :: e_exchange_dft
File: :file:`pot_functionals.irp.f`
.. c:var:: fock_matrix_alpha_no_xc_ao
.. code:: text
double precision, allocatable :: fock_matrix_alpha_no_xc_ao (ao_num,ao_num)
double precision, allocatable :: fock_matrix_beta_no_xc_ao (ao_num,ao_num)
File: :file:`fock_matrix_rs_ks.irp.f`
Mono electronic an Coulomb matrix in AO basis set
.. c:var:: fock_matrix_beta_no_xc_ao
.. code:: text
double precision, allocatable :: fock_matrix_alpha_no_xc_ao (ao_num,ao_num)
double precision, allocatable :: fock_matrix_beta_no_xc_ao (ao_num,ao_num)
File: :file:`fock_matrix_rs_ks.irp.f`
Mono electronic an Coulomb matrix in AO basis set
.. c:var:: fock_matrix_energy
.. code:: text
double precision :: rs_ks_energy
double precision :: two_electron_energy
double precision :: one_electron_energy
double precision :: fock_matrix_energy
double precision :: trace_potential_xc
File: :file:`rs_ks_energy.irp.f`
Range-separated Kohn-Sham energy containing the nuclear repulsion energy, and the various components of this quantity.
.. c:var:: one_electron_energy
.. code:: text
double precision :: rs_ks_energy
double precision :: two_electron_energy
double precision :: one_electron_energy
double precision :: fock_matrix_energy
double precision :: trace_potential_xc
File: :file:`rs_ks_energy.irp.f`
Range-separated Kohn-Sham energy containing the nuclear repulsion energy, and the various components of this quantity.
.. c:var:: rs_ks_energy
.. code:: text
@ -77,11 +193,59 @@ Providers
.. c:var:: trace_potential_xc
.. code:: text
double precision :: rs_ks_energy
double precision :: two_electron_energy
double precision :: one_electron_energy
double precision :: fock_matrix_energy
double precision :: trace_potential_xc
File: :file:`rs_ks_energy.irp.f`
Range-separated Kohn-Sham energy containing the nuclear repulsion energy, and the various components of this quantity.
.. c:var:: two_electron_energy
.. code:: text
double precision :: rs_ks_energy
double precision :: two_electron_energy
double precision :: one_electron_energy
double precision :: fock_matrix_energy
double precision :: trace_potential_xc
File: :file:`rs_ks_energy.irp.f`
Range-separated Kohn-Sham energy containing the nuclear repulsion energy, and the various components of this quantity.
Subroutines / functions
-----------------------
.. c:function:: check_coherence_functional
.. code:: text
subroutine check_coherence_functional
File: :file:`rs_ks_scf.irp.f`
.. c:function:: rs_ks_scf
.. code:: text

View File

@ -329,15 +329,15 @@ Subroutines / functions
.. c:function:: reorder_active_orb
.. c:function:: reorder_core_orb
.. code:: text
subroutine reorder_active_orb
subroutine reorder_core_orb
File: :file:`track_orb.irp.f`
routines that takes the current :c:data:`mo_coef` and reorder the active orbitals (see :c:data:`list_act` and :c:data:`n_act_orb`) according to the overlap with :c:data:`mo_coef_begin_iteration`
routines that takes the current :c:data:`mo_coef` and reorder the core orbitals (see :c:data:`list_core` and :c:data:`n_core_orb`) according to the overlap with :c:data:`mo_coef_begin_iteration`

View File

@ -97,9 +97,9 @@ EZFIO parameters
Calculated HF energy
.. option:: no_oa_or_av_opt
.. option:: frozen_orb_scf
If true, leave the active orbitals untouched in the SCF procedure
If true, leave untouched all the orbitals defined as core and optimize all the orbitals defined as active with qp_set_mo_class
Default: False

View File

@ -231,6 +231,7 @@ Index of Providers
* :c:data:`fock_wee_closed_shell`
* :c:data:`fps_spf_matrix_ao`
* :c:data:`fps_spf_matrix_mo`
* :c:data:`frozen_orb_scf`
* :c:data:`full_ijkl_bitmask`
* :c:data:`full_ijkl_bitmask_4`
* :c:data:`gauleg_t2`
@ -433,11 +434,11 @@ Index of Providers
* :c:data:`n_virt_orb`
* :c:data:`n_virt_orb_allocate`
* :c:data:`no_ivvv_integrals`
* :c:data:`no_oa_or_av_opt`
* :c:data:`no_vvv_integrals`
* :c:data:`no_vvvv_integrals`
* :c:data:`nproc`
* :c:data:`nthreads_davidson`
* :c:data:`nthreads_pt2`
* :c:data:`nucl_aos`
* :c:data:`nucl_aos_transposed`
* :c:data:`nucl_charge`
@ -1213,8 +1214,9 @@ Index of Subroutines/Functions
* :c:func:`read_dets`
* :c:func:`recentered_poly2`
* :c:func:`remove_duplicates_in_psi_det`
* :c:func:`remove_duplicates_in_selection_buffer`
* :c:func:`remove_small_contributions`
* :c:func:`reorder_active_orb`
* :c:func:`reorder_core_orb`
* :c:func:`repeat_all_e_corr`
* :c:func:`reset_zmq_addresses`
* :c:func:`resident_memory`

View File

@ -6,7 +6,7 @@ qp_plugins
.. program:: qp_plugins
This command deals with all external plugings of |qp|. Plugin repositories can
This command deals with all external plugins of |qp|. Plugin repositories can
be downloaded, and the plugins in these repositories can be
installed/uninstalled of created.
@ -62,3 +62,41 @@ Usage
Specify in which repository the new plugin will be created.
Example
-------
Let us download, install and compile some specific external plugins from `<https://gitlab.com/eginer/qp_plugins_eginer>`_ .
First, download the git repo associated to these plugins. To do so, first go to the `plugins` directory in the |QP| and execute:
.. code:: bash
qp_plugins download https://gitlab.com/eginer/qp_plugins_eginer
This will create in the directory `plugins` a local copy of the git repo located at the URL you indicated.
Then, go in `qp_plugins_eginer/stable/`
.. code:: bash
cd qp_plugins_eginer/stable/
In the directory `stable`, there are many directories which all correspond to a specific plugin that have been developed
by the person in charge of the git repo. All these plugins might use some global variables and routines contained
in the core modules of the |QP|.
Now let us install the plugin `rsdft_cipsi`:
.. code:: bash
qp_plugins install rsdft_cipsi
This will link this directory to the |QP| which means that when the code will be compiled, this plugin will be compiled to and therefore
all the executables/scripts contained in this module will be available.