mirror of
https://github.com/QuantumPackage/qp2.git
synced 2024-08-29 04:12:00 +02:00
Folder -> directory
This commit is contained in:
parent
8e6603c85a
commit
7521d3da46
@ -10,21 +10,22 @@ aux_quantities
|
|||||||
|
|
||||||
|
|
||||||
This module contains some global variables (such as densities and energies)
|
This module contains some global variables (such as densities and energies)
|
||||||
which are stored in the EZFIO folder in a different place than determinants.
|
which are stored in the |EZFIO| directory in a different place than determinants.
|
||||||
This is used in practice to store density matrices which can be obtained from
|
This is used in practice to store density matrices which can be obtained from
|
||||||
any methods, as long as they are stored in the same MO basis which is used for
|
any method, as long as they are stored in the same |MO| basis which is used for
|
||||||
the calculations. In |RSDFT| calculations, this can be done to perform damping
|
the calculations. In |RSDFT| calculations, this can be done to perform damping
|
||||||
on the density in order to speed up convergence.
|
on the density in order to speed up the convergence.
|
||||||
|
|
||||||
The main providers of that module are:
|
The main providers of that module are:
|
||||||
|
|
||||||
* `data_one_e_dm_alpha_mo` and `data_one_e_dm_beta_mo` which are the
|
* :c:data:`data_one_e_dm_alpha_mo` and :c:data:`data_one_e_dm_beta_mo` which
|
||||||
one-body alpha and beta densities which are necessary read from the EZFIO
|
are the one-body alpha and beta densities which are necessary read from the
|
||||||
folder.
|
|EZFIO| directory.
|
||||||
|
|
||||||
|
|
||||||
Thanks to these providers you can use any density matrix that does not
|
Thanks to these providers you can use any density matrix that does not
|
||||||
necessary corresponds to that of the current wave function.
|
necessarily corresponds to that of the current wave function.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -9,12 +9,16 @@ density_for_dft
|
|||||||
===============
|
===============
|
||||||
|
|
||||||
|
|
||||||
This module defines the *provider* of the density used for the DFT related calculations.
|
This module defines the *provider* of the density used for the |DFT| related
|
||||||
This definition is done through the keyword :option:`density_for_dft density_for_dft`.
|
calculations. This definition is done through the keyword
|
||||||
The density can be:
|
:option:`density_for_dft density_for_dft`. The density can be:
|
||||||
|
|
||||||
* WFT : the density is computed with a potentially multi determinant wave function (see variables `psi_det` and `psi_det`)# input_density : the density is set to a density previously stored in the |EZFIO| folder (see ``aux_quantities``)
|
* `WFT`: the density is computed with a potentially multi determinant wave
|
||||||
* damping_rs_dft : the density is damped between the input_density and the WFT density, with a damping factor of :option:`density_for_dft damping_for_rs_dft`
|
function (see variables `psi_det` and `psi_det`)# input_density: the density
|
||||||
|
is set to a density previously stored in the |EZFIO| directory (see
|
||||||
|
``aux_quantities``)
|
||||||
|
* `damping_rs_dft`: the density is damped between the input_density and the WFT
|
||||||
|
density, with a damping factor of :option:`density_for_dft damping_for_rs_dft`
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -19,7 +19,7 @@ cisd
|
|||||||
|
|
||||||
This program can be useful in many cases:
|
This program can be useful in many cases:
|
||||||
|
|
||||||
* GROUND STATE CALCULATION: if even after a :c:func:`cis` calculation, natural
|
* **Ground state calculation**: if even after a :c:func:`cis` calculation, natural
|
||||||
orbitals (see :c:func:`save_natorb`) and then :c:func:`scf` optimization, you are not sure to have the lowest scf
|
orbitals (see :c:func:`save_natorb`) and then :c:func:`scf` optimization, you are not sure to have the lowest scf
|
||||||
solution,
|
solution,
|
||||||
do the same strategy with the :c:func:`cisd` executable instead of the :c:func:`cis` exectuable to generate the natural
|
do the same strategy with the :c:func:`cisd` executable instead of the :c:func:`cis` exectuable to generate the natural
|
||||||
@ -27,11 +27,11 @@ cisd
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
* EXCITED STATES CALCULATIONS: the lowest excited states are much likely to
|
* **Excited states calculations**: the lowest excited states are much likely to
|
||||||
be dominanted by single- or double-excitations.
|
be dominanted by single- or double-excitations.
|
||||||
Therefore, running a :c:func:`cisd` will save the "n_states" lowest states within
|
Therefore, running a :c:func:`cisd` will save the "n_states" lowest states within
|
||||||
the CISD space
|
the CISD space
|
||||||
in the EZFIO folder, which can afterward be used as guess wave functions
|
in the |EZFIO| directory, which can afterward be used as guess wave functions
|
||||||
for a further multi-state fci calculation if you specify "read_wf" = True
|
for a further multi-state fci calculation if you specify "read_wf" = True
|
||||||
before running the fci executable (see :option:`determinants read_wf`).
|
before running the fci executable (see :option:`determinants read_wf`).
|
||||||
Also, if you specify "s2_eig" = True, the cisd will only retain states
|
Also, if you specify "s2_eig" = True, the cisd will only retain states
|
||||||
|
@ -9,11 +9,14 @@ diagonalize_h
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
Program that extracts the :option:`determinants n_states` lowest states of the Hamiltonian within the set of Slater determinants stored in the EZFIO folder.
|
Program that extracts the :option:`determinants n_states` lowest
|
||||||
|
states of the Hamiltonian within the set of Slater determinants stored
|
||||||
|
in the |EZFIO| directory.
|
||||||
|
|
||||||
If :option:`determinants s2_eig` = True, it will retain only states
|
If :option:`determinants s2_eig` = |true|, it will retain only states
|
||||||
|
which correspond to the desired value of
|
||||||
|
:option:`determinants expected_s2`.
|
||||||
|
|
||||||
which corresponds to the desired value of :option:`determinants expected_s2`.
|
|
||||||
|
|
||||||
Needs:
|
Needs:
|
||||||
|
|
||||||
|
@ -9,17 +9,22 @@ fcidump
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
Produce a regular FCIDUMP file from the |MOs| stored in the |EZFIO| folder.
|
Produce a regular `FCIDUMP` file from the |MOs| stored in the |EZFIO|
|
||||||
|
directory.
|
||||||
|
|
||||||
To specify an active space, the class of the mos have to set in the |EZFIO| folder (see :ref:`qp_set_mo_class`).
|
To specify an active space, the class of the |MOs| have to set in the
|
||||||
|
|EZFIO| directory (see :ref:`qp_set_mo_class`).
|
||||||
|
|
||||||
The fcidump program supports 3 types of MO_class :
|
The :ref:`fcidump` program supports 3 types of |MO| classes :
|
||||||
|
|
||||||
* the "core" orbitals which are always doubly occupied in the calculation
|
* the *core* orbitals which are always doubly occupied in the
|
||||||
|
calculation
|
||||||
|
|
||||||
* the "del" orbitals that are never occupied in the calculation
|
* the *deleted* orbitals that are never occupied in the calculation
|
||||||
|
|
||||||
|
* the *active* orbitals that are occupied with a varying number of
|
||||||
|
electrons
|
||||||
|
|
||||||
* the "act" orbitals that will be occupied by a varying number of electrons
|
|
||||||
|
|
||||||
Needs:
|
Needs:
|
||||||
|
|
||||||
|
@ -9,11 +9,15 @@ four_idx_transform
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
4-index transformation of two-electron integrals from |AO| to |MO| integrals.
|
4-index transformation of two-electron integrals from |AO| to |MO|
|
||||||
|
integrals.
|
||||||
|
|
||||||
This program will compute the two-electron integrals on the |MO| basis and store it into the |EZFIO| folder.
|
This program will compute the two-electron integrals on the |MO| basis
|
||||||
|
and store it into the |EZFIO| directory.
|
||||||
|
|
||||||
|
This program can be useful if the AO --> MO transformation is an
|
||||||
|
expensive step by itself.
|
||||||
|
|
||||||
This program can be useful if the AO --> MO transformation is an expensive step by itself.
|
|
||||||
|
|
||||||
Needs:
|
Needs:
|
||||||
|
|
||||||
|
@ -9,13 +9,15 @@ print_wf
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
Print the ground state wave function stored in the |EZFIO| folder in the intermediate normalization.
|
Print the ground state wave function stored in the |EZFIO| directory
|
||||||
|
in the intermediate normalization.
|
||||||
|
|
||||||
It also prints a lot of information regarding the excitation operators from the reference determinant
|
It also prints a lot of information regarding the excitation
|
||||||
|
operators from the reference determinant ! and a first-order
|
||||||
|
perturbative analysis of the wave function.
|
||||||
|
|
||||||
and a first-order perturbative analysis of the wave function.
|
If the wave function strongly deviates from the first-order analysis,
|
||||||
|
something funny is going on :)
|
||||||
If the wave function strongly deviates from the first-order analysis, something funny is going on :)
|
|
||||||
|
|
||||||
Needs:
|
Needs:
|
||||||
|
|
||||||
|
@ -9,13 +9,18 @@ pt2
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
Second order perturbative correction to the wave function contained in the EZFIO directory.
|
Second order perturbative correction to the wave function contained
|
||||||
|
in the |EZFIO| directory.
|
||||||
|
|
||||||
This programs runs the stochastic PT2 correction on all "n_states" wave function stored in the EZFIO folder (see :option:`determinant n_states`).
|
This programs runs the stochastic |PT2| correction on all
|
||||||
|
:option:`determinants n_states` wave functions stored in the |EZFIO|
|
||||||
|
directory.
|
||||||
|
|
||||||
The option for the PT2 correction are the "pt2_relative_error" which is the relative stochastic
|
The main option for the |PT2| correction is the
|
||||||
|
:option:`perturbation pt2_relative_error` which is the relative
|
||||||
|
stochastic error on the |PT2| to reach before stopping the
|
||||||
|
sampling.
|
||||||
|
|
||||||
error on the PT2 to reach before stopping the stochastic sampling. (see :option:`perturbation pt2_relative_error`)
|
|
||||||
|
|
||||||
Needs:
|
Needs:
|
||||||
|
|
||||||
|
@ -9,15 +9,16 @@ save_natorb
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
Save natural MOs into the EZFIO
|
Save natural |MOs| into the |EZFIO|.
|
||||||
|
|
||||||
This program reads the wave function stored in the EZFIO folder,
|
This program reads the wave function stored in the |EZFIO| directory,
|
||||||
|
extracts the corresponding natural orbitals and setd them as the new
|
||||||
|
|MOs|.
|
||||||
|
|
||||||
extracts the corresponding natural orbitals and set them as the new MOs
|
If this is a multi-state calculation, the density matrix that produces
|
||||||
|
the natural orbitals is obtained from an average of the density
|
||||||
If this is a multi-state calculation, the density matrix that produces the natural orbitals
|
matrices of each state with the corresponding
|
||||||
|
:option:`determinants state_average_weight`
|
||||||
is obtained from a state-averaged of the density matrices of each state with the corresponding state_average_weight (see the doc of state_average_weight).
|
|
||||||
|
|
||||||
Needs:
|
Needs:
|
||||||
|
|
||||||
|
@ -9,12 +9,16 @@ save_one_e_dm
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
programs that computes the one body density on the mo basis for alpha and beta electrons
|
Program that computes the one body density on the |MO| basis
|
||||||
from the wave function stored in the EZFIO folder, and then save it into the EZFIO folder aux_quantities.
|
for $\alpha$ and $\beta$ electrons from the wave function
|
||||||
|
stored in the |EZFIO| directory, and then saves it into the
|
||||||
|
:ref:`module_aux_quantities`.
|
||||||
|
|
||||||
Then, the global variable data_one_e_dm_alpha_mo and data_one_e_dm_beta_mo will automatically read this density in a further calculation.
|
Then, the global variable :option:`aux_quantities data_one_e_dm_alpha_mo`
|
||||||
|
and :option:`aux_quantities data_one_e_dm_beta_mo` will automatically
|
||||||
This can be used to perform damping on the density in RS-DFT calculation (see the density_for_dft module).
|
read this density in the next calculation. This can be used to perform
|
||||||
|
damping on the density in |RSDFT| calculations (see
|
||||||
|
:ref:`module_density_for_dft`).
|
||||||
|
|
||||||
Needs:
|
Needs:
|
||||||
|
|
||||||
|
@ -31,7 +31,7 @@ interactively in :ref:`qp_edit` mode. An alternative is to use the
|
|||||||
|
|
||||||
This program will, by default, print out the first :math:`10^4`
|
This program will, by default, print out the first :math:`10^4`
|
||||||
determinants whatever the size of the wave function stored in the
|
determinants whatever the size of the wave function stored in the
|
||||||
|EZFIO| folder. If you want to change the number of printed Slater
|
|EZFIO| directory. If you want to change the number of printed Slater
|
||||||
determinants, just change the :option:`determinants n_det_print_wf`
|
determinants, just change the :option:`determinants n_det_print_wf`
|
||||||
keyword using the :ref:`qp_edit` tool.
|
keyword using the :ref:`qp_edit` tool.
|
||||||
|
|
||||||
|
@ -43,17 +43,17 @@ matrix (see \fBdeterminants n_states\fP).
|
|||||||
This program can be useful in many cases:
|
This program can be useful in many cases:
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.IP \(bu 2
|
.IP \(bu 2
|
||||||
GROUND STATE CALCULATION: if even after a \fBcis()\fP calculation, natural
|
\fBGround state calculation\fP: if even after a \fBcis()\fP calculation, natural
|
||||||
orbitals (see \fBsave_natorb()\fP) and then \fBscf()\fP optimization, you are not sure to have the lowest scf
|
orbitals (see \fBsave_natorb()\fP) and then \fBscf()\fP optimization, you are not sure to have the lowest scf
|
||||||
solution,
|
solution,
|
||||||
do the same strategy with the \fBcisd()\fP executable instead of the \fBcis()\fP\ exectuable to generate the natural
|
do the same strategy with the \fBcisd()\fP executable instead of the \fBcis()\fP\ exectuable to generate the natural
|
||||||
orbitals as a guess for the \fBscf()\fP\&.
|
orbitals as a guess for the \fBscf()\fP\&.
|
||||||
.IP \(bu 2
|
.IP \(bu 2
|
||||||
EXCITED STATES CALCULATIONS: the lowest excited states are much likely to
|
\fBExcited states calculations\fP: the lowest excited states are much likely to
|
||||||
be dominanted by single\- or double\-excitations.
|
be dominanted by single\- or double\-excitations.
|
||||||
Therefore, running a \fBcisd()\fP will save the “n_states” lowest states within
|
Therefore, running a \fBcisd()\fP will save the “n_states” lowest states within
|
||||||
the CISD space
|
the CISD space
|
||||||
in the EZFIO folder, which can afterward be used as guess wave functions
|
in the \fI\%EZFIO\fP directory, which can afterward be used as guess wave functions
|
||||||
for a further multi\-state fci calculation if you specify “read_wf” = True
|
for a further multi\-state fci calculation if you specify “read_wf” = True
|
||||||
before running the fci executable (see \fBdeterminants read_wf\fP).
|
before running the fci executable (see \fBdeterminants read_wf\fP).
|
||||||
Also, if you specify “s2_eig” = True, the cisd will only retain states
|
Also, if you specify “s2_eig” = True, the cisd will only retain states
|
||||||
|
@ -32,11 +32,13 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
|||||||
..
|
..
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.INDENT 3.5
|
.INDENT 3.5
|
||||||
Program that extracts the \fBdeterminants n_states\fP lowest states of the Hamiltonian within the set of Slater determinants stored in the EZFIO folder.
|
Program that extracts the \fBdeterminants n_states\fP lowest
|
||||||
|
states of the Hamiltonian within the set of Slater determinants stored
|
||||||
|
in the \fI\%EZFIO\fP directory.
|
||||||
.sp
|
.sp
|
||||||
If \fBdeterminants s2_eig\fP = True, it will retain only states
|
If \fBdeterminants s2_eig\fP = \fBtrue\fP, it will retain only states
|
||||||
.sp
|
which correspond to the desired value of
|
||||||
which corresponds to the desired value of \fBdeterminants expected_s2\fP\&.
|
\fBdeterminants expected_s2\fP\&.
|
||||||
.sp
|
.sp
|
||||||
Needs:
|
Needs:
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
|
@ -32,18 +32,22 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
|||||||
..
|
..
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.INDENT 3.5
|
.INDENT 3.5
|
||||||
Produce a regular FCIDUMP file from the MOs stored in the \fI\%EZFIO\fP folder.
|
Produce a regular \fIFCIDUMP\fP file from the MOs stored in the \fI\%EZFIO\fP
|
||||||
|
directory.
|
||||||
.sp
|
.sp
|
||||||
To specify an active space, the class of the mos have to set in the \fI\%EZFIO\fP folder (see qp_set_mo_class).
|
To specify an active space, the class of the MOs have to set in the
|
||||||
|
\fI\%EZFIO\fP directory (see qp_set_mo_class).
|
||||||
.sp
|
.sp
|
||||||
The fcidump program supports 3 types of MO_class :
|
The \fI\%fcidump\fP program supports 3 types of MO classes :
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.IP \(bu 2
|
.IP \(bu 2
|
||||||
the “core” orbitals which are always doubly occupied in the calculation
|
the \fIcore\fP orbitals which are always doubly occupied in the
|
||||||
|
calculation
|
||||||
.IP \(bu 2
|
.IP \(bu 2
|
||||||
the “del” orbitals that are never occupied in the calculation
|
the \fIdeleted\fP orbitals that are never occupied in the calculation
|
||||||
.IP \(bu 2
|
.IP \(bu 2
|
||||||
the “act” orbitals that will be occupied by a varying number of electrons
|
the \fIactive\fP orbitals that are occupied with a varying number of
|
||||||
|
electrons
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.sp
|
.sp
|
||||||
Needs:
|
Needs:
|
||||||
|
@ -32,11 +32,14 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
|||||||
..
|
..
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.INDENT 3.5
|
.INDENT 3.5
|
||||||
4\-index transformation of two\-electron integrals from AO to MO integrals.
|
4\-index transformation of two\-electron integrals from AO to MO
|
||||||
|
integrals.
|
||||||
.sp
|
.sp
|
||||||
This program will compute the two\-electron integrals on the MO basis and store it into the \fI\%EZFIO\fP folder.
|
This program will compute the two\-electron integrals on the MO basis
|
||||||
|
and store it into the \fI\%EZFIO\fP directory.
|
||||||
.sp
|
.sp
|
||||||
This program can be useful if the AO –> MO transformation is an expensive step by itself.
|
This program can be useful if the AO –> MO transformation is an
|
||||||
|
expensive step by itself.
|
||||||
.sp
|
.sp
|
||||||
Needs:
|
Needs:
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
|
@ -32,13 +32,15 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
|||||||
..
|
..
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.INDENT 3.5
|
.INDENT 3.5
|
||||||
Print the ground state wave function stored in the \fI\%EZFIO\fP folder in the intermediate normalization.
|
Print the ground state wave function stored in the \fI\%EZFIO\fP directory
|
||||||
|
in the intermediate normalization.
|
||||||
.sp
|
.sp
|
||||||
It also prints a lot of information regarding the excitation operators from the reference determinant
|
It also prints a lot of information regarding the excitation
|
||||||
|
operators from the reference determinant ! and a first\-order
|
||||||
|
perturbative analysis of the wave function.
|
||||||
.sp
|
.sp
|
||||||
and a first\-order perturbative analysis of the wave function.
|
If the wave function strongly deviates from the first\-order analysis,
|
||||||
.sp
|
something funny is going on :)
|
||||||
If the wave function strongly deviates from the first\-order analysis, something funny is going on :)
|
|
||||||
.sp
|
.sp
|
||||||
Needs:
|
Needs:
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
|
@ -74,7 +74,7 @@ qp_run print_wf file.ezfio | tee file.ezfio.fci_natorb.wf
|
|||||||
.sp
|
.sp
|
||||||
This program will, by default, print out the first 10^4
|
This program will, by default, print out the first 10^4
|
||||||
determinants whatever the size of the wave function stored in the
|
determinants whatever the size of the wave function stored in the
|
||||||
\fI\%EZFIO\fP folder. If you want to change the number of printed Slater
|
\fI\%EZFIO\fP directory. If you want to change the number of printed Slater
|
||||||
determinants, just change the \fBdeterminants n_det_print_wf\fP
|
determinants, just change the \fBdeterminants n_det_print_wf\fP
|
||||||
keyword using the qp_edit tool.
|
keyword using the qp_edit tool.
|
||||||
.sp
|
.sp
|
||||||
|
14
man/pt2.1
14
man/pt2.1
@ -32,13 +32,17 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
|||||||
..
|
..
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.INDENT 3.5
|
.INDENT 3.5
|
||||||
Second order perturbative correction to the wave function contained in the EZFIO directory.
|
Second order perturbative correction to the wave function contained
|
||||||
|
in the \fI\%EZFIO\fP directory.
|
||||||
.sp
|
.sp
|
||||||
This programs runs the stochastic PT2 correction on all “n_states” wave function stored in the EZFIO folder (see \fBdeterminant n_states\fP).
|
This programs runs the stochastic PT2 correction on all
|
||||||
|
\fBdeterminants n_states\fP wave functions stored in the \fI\%EZFIO\fP
|
||||||
|
directory.
|
||||||
.sp
|
.sp
|
||||||
The option for the PT2 correction are the “pt2_relative_error” which is the relative stochastic
|
The main option for the PT2 correction is the
|
||||||
.sp
|
\fBperturbation pt2_relative_error\fP which is the relative
|
||||||
error on the PT2 to reach before stopping the stochastic sampling. (see \fBperturbation pt2_relative_error\fP)
|
stochastic error on the PT2 to reach before stopping the
|
||||||
|
sampling.
|
||||||
.sp
|
.sp
|
||||||
Needs:
|
Needs:
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
|
@ -32,15 +32,16 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
|||||||
..
|
..
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.INDENT 3.5
|
.INDENT 3.5
|
||||||
Save natural MOs into the EZFIO
|
Save natural MOs into the \fI\%EZFIO\fP\&.
|
||||||
.sp
|
.sp
|
||||||
This program reads the wave function stored in the EZFIO folder,
|
This program reads the wave function stored in the \fI\%EZFIO\fP directory,
|
||||||
|
extracts the corresponding natural orbitals and setd them as the new
|
||||||
|
MOs\&.
|
||||||
.sp
|
.sp
|
||||||
extracts the corresponding natural orbitals and set them as the new MOs
|
If this is a multi\-state calculation, the density matrix that produces
|
||||||
.sp
|
the natural orbitals is obtained from an average of the density
|
||||||
If this is a multi\-state calculation, the density matrix that produces the natural orbitals
|
matrices of each state with the corresponding
|
||||||
.sp
|
\fBdeterminants state_average_weight\fP
|
||||||
is obtained from a state\-averaged of the density matrices of each state with the corresponding state_average_weight (see the doc of state_average_weight).
|
|
||||||
.sp
|
.sp
|
||||||
Needs:
|
Needs:
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
|
@ -32,12 +32,16 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
|||||||
..
|
..
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
.INDENT 3.5
|
.INDENT 3.5
|
||||||
programs that computes the one body density on the mo basis for alpha and beta electrons
|
Program that computes the one body density on the MO basis
|
||||||
from the wave function stored in the EZFIO folder, and then save it into the EZFIO folder aux_quantities.
|
for $alpha$ and $beta$ electrons from the wave function
|
||||||
|
stored in the \fI\%EZFIO\fP directory, and then saves it into the
|
||||||
|
module_aux_quantities\&.
|
||||||
.sp
|
.sp
|
||||||
Then, the global variable data_one_e_dm_alpha_mo and data_one_e_dm_beta_mo will automatically read this density in a further calculation.
|
Then, the global variable \fBaux_quantities data_one_e_dm_alpha_mo\fP
|
||||||
.sp
|
and \fBaux_quantities data_one_e_dm_beta_mo\fP will automatically
|
||||||
This can be used to perform damping on the density in RS\-DFT calculation (see the density_for_dft module).
|
read this density in the next calculation. This can be used to perform
|
||||||
|
damping on the density in RSDFT calculations (see
|
||||||
|
module_density_for_dft).
|
||||||
.sp
|
.sp
|
||||||
Needs:
|
Needs:
|
||||||
.INDENT 0.0
|
.INDENT 0.0
|
||||||
|
@ -4,18 +4,19 @@ aux_quantities
|
|||||||
|
|
||||||
|
|
||||||
This module contains some global variables (such as densities and energies)
|
This module contains some global variables (such as densities and energies)
|
||||||
which are stored in the EZFIO folder in a different place than determinants.
|
which are stored in the |EZFIO| directory in a different place than determinants.
|
||||||
This is used in practice to store density matrices which can be obtained from
|
This is used in practice to store density matrices which can be obtained from
|
||||||
any methods, as long as they are stored in the same MO basis which is used for
|
any method, as long as they are stored in the same |MO| basis which is used for
|
||||||
the calculations. In |RSDFT| calculations, this can be done to perform damping
|
the calculations. In |RSDFT| calculations, this can be done to perform damping
|
||||||
on the density in order to speed up convergence.
|
on the density in order to speed up the convergence.
|
||||||
|
|
||||||
The main providers of that module are:
|
The main providers of that module are:
|
||||||
|
|
||||||
* `data_one_e_dm_alpha_mo` and `data_one_e_dm_beta_mo` which are the
|
* :c:data:`data_one_e_dm_alpha_mo` and :c:data:`data_one_e_dm_beta_mo` which
|
||||||
one-body alpha and beta densities which are necessary read from the EZFIO
|
are the one-body alpha and beta densities which are necessary read from the
|
||||||
folder.
|
|EZFIO| directory.
|
||||||
|
|
||||||
|
|
||||||
Thanks to these providers you can use any density matrix that does not
|
Thanks to these providers you can use any density matrix that does not
|
||||||
necessary corresponds to that of the current wave function.
|
necessarily corresponds to that of the current wave function.
|
||||||
|
|
||||||
|
@ -11,7 +11,7 @@ program cisd
|
|||||||
!
|
!
|
||||||
! This program can be useful in many cases:
|
! This program can be useful in many cases:
|
||||||
!
|
!
|
||||||
! * GROUND STATE CALCULATION: if even after a :c:func:`cis` calculation, natural
|
! * **Ground state calculation**: if even after a :c:func:`cis` calculation, natural
|
||||||
! orbitals (see :c:func:`save_natorb`) and then :c:func:`scf` optimization, you are not sure to have the lowest scf
|
! orbitals (see :c:func:`save_natorb`) and then :c:func:`scf` optimization, you are not sure to have the lowest scf
|
||||||
! solution,
|
! solution,
|
||||||
! do the same strategy with the :c:func:`cisd` executable instead of the :c:func:`cis` exectuable to generate the natural
|
! do the same strategy with the :c:func:`cisd` executable instead of the :c:func:`cis` exectuable to generate the natural
|
||||||
@ -19,11 +19,11 @@ program cisd
|
|||||||
!
|
!
|
||||||
!
|
!
|
||||||
!
|
!
|
||||||
! * EXCITED STATES CALCULATIONS: the lowest excited states are much likely to
|
! * **Excited states calculations**: the lowest excited states are much likely to
|
||||||
! be dominanted by single- or double-excitations.
|
! be dominanted by single- or double-excitations.
|
||||||
! Therefore, running a :c:func:`cisd` will save the "n_states" lowest states within
|
! Therefore, running a :c:func:`cisd` will save the "n_states" lowest states within
|
||||||
! the CISD space
|
! the CISD space
|
||||||
! in the EZFIO folder, which can afterward be used as guess wave functions
|
! in the |EZFIO| directory, which can afterward be used as guess wave functions
|
||||||
! for a further multi-state fci calculation if you specify "read_wf" = True
|
! for a further multi-state fci calculation if you specify "read_wf" = True
|
||||||
! before running the fci executable (see :option:`determinants read_wf`).
|
! before running the fci executable (see :option:`determinants read_wf`).
|
||||||
! Also, if you specify "s2_eig" = True, the cisd will only retain states
|
! Also, if you specify "s2_eig" = True, the cisd will only retain states
|
||||||
|
@ -3,10 +3,14 @@ density_for_dft
|
|||||||
===============
|
===============
|
||||||
|
|
||||||
|
|
||||||
This module defines the *provider* of the density used for the DFT related calculations.
|
This module defines the *provider* of the density used for the |DFT| related
|
||||||
This definition is done through the keyword :option:`density_for_dft density_for_dft`.
|
calculations. This definition is done through the keyword
|
||||||
The density can be:
|
:option:`density_for_dft density_for_dft`. The density can be:
|
||||||
|
|
||||||
* WFT : the density is computed with a potentially multi determinant wave function (see variables `psi_det` and `psi_det`)# input_density : the density is set to a density previously stored in the |EZFIO| folder (see ``aux_quantities``)
|
* `WFT`: the density is computed with a potentially multi determinant wave
|
||||||
* damping_rs_dft : the density is damped between the input_density and the WFT density, with a damping factor of :option:`density_for_dft damping_for_rs_dft`
|
function (see variables `psi_det` and `psi_det`)# input_density: the density
|
||||||
|
is set to a density previously stored in the |EZFIO| directory (see
|
||||||
|
``aux_quantities``)
|
||||||
|
* `damping_rs_dft`: the density is damped between the input_density and the WFT
|
||||||
|
density, with a damping factor of :option:`density_for_dft damping_for_rs_dft`
|
||||||
|
|
||||||
|
@ -105,7 +105,7 @@ subroutine example_determinants_psi_det
|
|||||||
END_DOC
|
END_DOC
|
||||||
read_wf = .True.
|
read_wf = .True.
|
||||||
touch read_wf
|
touch read_wf
|
||||||
! you force the wave function to be set to the one in the EZFIO folder
|
! you force the wave function to be set to the one in the EZFIO directory
|
||||||
call routine_example_psi_det
|
call routine_example_psi_det
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -1,13 +1,18 @@
|
|||||||
program pt2
|
program pt2
|
||||||
implicit none
|
implicit none
|
||||||
BEGIN_DOC
|
BEGIN_DOC
|
||||||
! Second order perturbative correction to the wave function contained in the EZFIO directory.
|
! Second order perturbative correction to the wave function contained
|
||||||
|
! in the |EZFIO| directory.
|
||||||
!
|
!
|
||||||
! This programs runs the stochastic PT2 correction on all "n_states" wave function stored in the EZFIO folder (see :option:`determinant n_states`).
|
! This programs runs the stochastic |PT2| correction on all
|
||||||
|
! :option:`determinants n_states` wave functions stored in the |EZFIO|
|
||||||
|
! directory.
|
||||||
!
|
!
|
||||||
! The option for the PT2 correction are the "pt2_relative_error" which is the relative stochastic
|
! The main option for the |PT2| correction is the
|
||||||
|
! :option:`perturbation pt2_relative_error` which is the relative
|
||||||
|
! stochastic error on the |PT2| to reach before stopping the
|
||||||
|
! sampling.
|
||||||
!
|
!
|
||||||
! error on the PT2 to reach before stopping the stochastic sampling. (see :option:`perturbation pt2_relative_error`)
|
|
||||||
END_DOC
|
END_DOC
|
||||||
if (.not. is_zmq_slave) then
|
if (.not. is_zmq_slave) then
|
||||||
read_wf = .True.
|
read_wf = .True.
|
||||||
|
@ -1,11 +1,14 @@
|
|||||||
program diagonalize_h
|
program diagonalize_h
|
||||||
implicit none
|
implicit none
|
||||||
BEGIN_DOC
|
BEGIN_DOC
|
||||||
! Program that extracts the :option:`determinants n_states` lowest states of the Hamiltonian within the set of Slater determinants stored in the EZFIO folder.
|
! Program that extracts the :option:`determinants n_states` lowest
|
||||||
|
! states of the Hamiltonian within the set of Slater determinants stored
|
||||||
|
! in the |EZFIO| directory.
|
||||||
!
|
!
|
||||||
! If :option:`determinants s2_eig` = True, it will retain only states
|
! If :option:`determinants s2_eig` = |true|, it will retain only states
|
||||||
|
! which correspond to the desired value of
|
||||||
|
! :option:`determinants expected_s2`.
|
||||||
!
|
!
|
||||||
! which corresponds to the desired value of :option:`determinants expected_s2`.
|
|
||||||
END_DOC
|
END_DOC
|
||||||
read_wf = .True.
|
read_wf = .True.
|
||||||
touch read_wf
|
touch read_wf
|
||||||
|
@ -1,17 +1,22 @@
|
|||||||
program fcidump
|
program fcidump
|
||||||
implicit none
|
implicit none
|
||||||
BEGIN_DOC
|
BEGIN_DOC
|
||||||
! Produce a regular FCIDUMP file from the |MOs| stored in the |EZFIO| folder.
|
! Produce a regular `FCIDUMP` file from the |MOs| stored in the |EZFIO|
|
||||||
|
! directory.
|
||||||
!
|
!
|
||||||
! To specify an active space, the class of the mos have to set in the |EZFIO| folder (see :ref:`qp_set_mo_class`).
|
! To specify an active space, the class of the |MOs| have to set in the
|
||||||
|
! |EZFIO| directory (see :ref:`qp_set_mo_class`).
|
||||||
!
|
!
|
||||||
! The fcidump program supports 3 types of MO_class :
|
! The :ref:`fcidump` program supports 3 types of |MO| classes :
|
||||||
!
|
!
|
||||||
! * the "core" orbitals which are always doubly occupied in the calculation
|
! * the *core* orbitals which are always doubly occupied in the
|
||||||
|
! calculation
|
||||||
!
|
!
|
||||||
! * the "del" orbitals that are never occupied in the calculation
|
! * the *deleted* orbitals that are never occupied in the calculation
|
||||||
|
!
|
||||||
|
! * the *active* orbitals that are occupied with a varying number of
|
||||||
|
! electrons
|
||||||
!
|
!
|
||||||
! * the "act" orbitals that will be occupied by a varying number of electrons
|
|
||||||
END_DOC
|
END_DOC
|
||||||
character*(128) :: output
|
character*(128) :: output
|
||||||
integer :: i_unit_output,getUnitAndOpen
|
integer :: i_unit_output,getUnitAndOpen
|
||||||
|
@ -1,11 +1,15 @@
|
|||||||
program four_idx_transform
|
program four_idx_transform
|
||||||
implicit none
|
implicit none
|
||||||
BEGIN_DOC
|
BEGIN_DOC
|
||||||
! 4-index transformation of two-electron integrals from |AO| to |MO| integrals.
|
! 4-index transformation of two-electron integrals from |AO| to |MO|
|
||||||
|
! integrals.
|
||||||
!
|
!
|
||||||
! This program will compute the two-electron integrals on the |MO| basis and store it into the |EZFIO| folder.
|
! This program will compute the two-electron integrals on the |MO| basis
|
||||||
|
! and store it into the |EZFIO| directory.
|
||||||
|
!
|
||||||
|
! This program can be useful if the AO --> MO transformation is an
|
||||||
|
! expensive step by itself.
|
||||||
!
|
!
|
||||||
! This program can be useful if the AO --> MO transformation is an expensive step by itself.
|
|
||||||
END_DOC
|
END_DOC
|
||||||
|
|
||||||
io_mo_two_e_integrals = 'Write'
|
io_mo_two_e_integrals = 'Write'
|
||||||
|
@ -1,17 +1,20 @@
|
|||||||
program print_wf
|
program print_wf
|
||||||
implicit none
|
implicit none
|
||||||
BEGIN_DOC
|
BEGIN_DOC
|
||||||
! Print the ground state wave function stored in the |EZFIO| folder in the intermediate normalization.
|
! Print the ground state wave function stored in the |EZFIO| directory
|
||||||
|
! in the intermediate normalization.
|
||||||
!
|
!
|
||||||
! It also prints a lot of information regarding the excitation operators from the reference determinant
|
! It also prints a lot of information regarding the excitation
|
||||||
|
! operators from the reference determinant ! and a first-order
|
||||||
|
! perturbative analysis of the wave function.
|
||||||
!
|
!
|
||||||
! and a first-order perturbative analysis of the wave function.
|
! If the wave function strongly deviates from the first-order analysis,
|
||||||
!
|
! something funny is going on :)
|
||||||
! If the wave function strongly deviates from the first-order analysis, something funny is going on :)
|
|
||||||
END_DOC
|
END_DOC
|
||||||
|
|
||||||
|
|
||||||
! this has to be done in order to be sure that N_det, psi_det and psi_coef are the wave function stored in the EZFIO folder
|
! this has to be done in order to be sure that N_det, psi_det and
|
||||||
|
! psi_coef are the wave function stored in the |EZFIO| directory.
|
||||||
read_wf = .True.
|
read_wf = .True.
|
||||||
touch read_wf
|
touch read_wf
|
||||||
call routine
|
call routine
|
||||||
|
@ -1,15 +1,16 @@
|
|||||||
program save_natorb
|
program save_natorb
|
||||||
implicit none
|
implicit none
|
||||||
BEGIN_DOC
|
BEGIN_DOC
|
||||||
! Save natural MOs into the EZFIO
|
! Save natural |MOs| into the |EZFIO|.
|
||||||
!
|
!
|
||||||
! This program reads the wave function stored in the EZFIO folder,
|
! This program reads the wave function stored in the |EZFIO| directory,
|
||||||
|
! extracts the corresponding natural orbitals and setd them as the new
|
||||||
|
! |MOs|.
|
||||||
!
|
!
|
||||||
! extracts the corresponding natural orbitals and set them as the new MOs
|
! If this is a multi-state calculation, the density matrix that produces
|
||||||
!
|
! the natural orbitals is obtained from an average of the density
|
||||||
! If this is a multi-state calculation, the density matrix that produces the natural orbitals
|
! matrices of each state with the corresponding
|
||||||
!
|
! :option:`determinants state_average_weight`
|
||||||
! is obtained from a state-averaged of the density matrices of each state with the corresponding state_average_weight (see the doc of state_average_weight).
|
|
||||||
END_DOC
|
END_DOC
|
||||||
read_wf = .True.
|
read_wf = .True.
|
||||||
touch read_wf
|
touch read_wf
|
||||||
|
@ -1,13 +1,16 @@
|
|||||||
program save_one_e_dm
|
program save_one_e_dm
|
||||||
implicit none
|
implicit none
|
||||||
BEGIN_DOC
|
BEGIN_DOC
|
||||||
! programs that computes the one body density on the mo basis for alpha and beta electrons
|
! Program that computes the one body density on the |MO| basis
|
||||||
|
! for $\alpha$ and $\beta$ electrons from the wave function
|
||||||
! from the wave function stored in the EZFIO folder, and then save it into the EZFIO folder aux_quantities.
|
! stored in the |EZFIO| directory, and then saves it into the
|
||||||
|
! :ref:`module_aux_quantities`.
|
||||||
!
|
!
|
||||||
! Then, the global variable data_one_e_dm_alpha_mo and data_one_e_dm_beta_mo will automatically read this density in a further calculation.
|
! Then, the global variable :option:`aux_quantities data_one_e_dm_alpha_mo`
|
||||||
!
|
! and :option:`aux_quantities data_one_e_dm_beta_mo` will automatically
|
||||||
! This can be used to perform damping on the density in RS-DFT calculation (see the density_for_dft module).
|
! read this density in the next calculation. This can be used to perform
|
||||||
|
! damping on the density in |RSDFT| calculations (see
|
||||||
|
! :ref:`module_density_for_dft`).
|
||||||
END_DOC
|
END_DOC
|
||||||
read_wf = .True.
|
read_wf = .True.
|
||||||
touch read_wf
|
touch read_wf
|
||||||
|
Loading…
Reference in New Issue
Block a user