10
0
mirror of https://github.com/LCPQ/quantum_package synced 2024-09-27 03:51:01 +02:00

changed the doc

This commit is contained in:
Emmanuel Giner 2018-12-29 16:04:53 +01:00
parent 814613fe7b
commit 6d808df0a0
6 changed files with 64 additions and 5 deletions

View File

@ -37,6 +37,12 @@ EZFIO parameters
Default: 1000000
.. option:: n_det_print_wf
Maximum number of determinants to be printed with the program print_wf
Default: 10000
.. option:: n_det_max_full
Maximum number of determinants where |H| is fully diagonalized

View File

@ -402,6 +402,7 @@ Index of Providers
* :c:data:`n_det_max`
* :c:data:`n_det_max_full`
* :c:data:`n_det_non_cas`
* :c:data:`n_det_print_wf`
* :c:data:`n_det_selectors`
* :c:data:`n_double_exc_bitmasks`
* :c:data:`n_double_selectors`

View File

@ -105,7 +105,7 @@ We will now use the |CIPSI| algorithm to estimate the |FCI| energy.
.. code::
qp_run fci hcn
qp_run fci hcn | tee hcn.fci.out
The program will start with a single determinant and will iteratively:
@ -122,6 +122,15 @@ The program will start with a single determinant and will iteratively:
By default, the program will stop when more than one million determinants have
entered in the internal space, or when the |PT2| energy is below :math:`10^{-4}`.
To have a pictural illustration of the convergence of the |CIPSI| algorithm, just run
.. code::
qp_e_conv_fci hcn.fci.out
This will create the files "hcn.fci.out.conv" containing the data of the convergence of the energy, together with "hcn.fci.out.conv.eps" which is obtained from the gnuplot plot file "hcn.fci.out.conv.plt".
The estimated |FCI| energy of HCN is ``-93.0501`` au.
.. seealso::
@ -152,27 +161,62 @@ These orbitals are in general known to be better than the usual |RHF| |MOs| as t
qp_run save_natorb hcn
Hands on
========
.. important::
As the |MOs| are changed, for the sake of coherence of future calculations, the save_natorb program
automatically removes the current wave function stored in the |EZFIO| database and replace
it by a single Slater determinant.
Then, you can run another |CIPSI| calculation to see how the use of natural orbital affect the convergence of the algorithm. For instance:
.. code::
qp_run fci hcn | tee hcn.fci_natorb.out
and then
.. code::
qp_e_conv_fci hcn.fci_natorb.out
Printing the near |FCI| wave function
-------------------------------------
Once obtained the near |FCI| energy, one can also take a closer look at the wave function stored in the |EZFIO| database.
If the wave function contains less than :math:`10^4` determinants, you can directly read it with the :ref:`qp_edit` command. Just run
If the wave function contains less than :math:`10^4` determinants, you can directly read it with the
:ref:`qp_edit` command. Just run
.. code::
qp_edit hcn
and then look for "hand" when you are in the :ref:`qp_edit` mode. If the research is negative,
then it means that the wave function stored in the |EZFIO| database is too large to be edited in :ref:`qp_edit` mode.
An alternative is to use the :command:`print_wf` command:
.. code::
qp_run print_wf hcn | tee hcn.fci_natorb.wf
This program will, by default, print out the first :math:`10^4` determinants whatever the size of the wave function stored in the |EZFIO| folder. If you want to change the number of printed Slater determinants, just change the :option:`determinants n_det_print_wf` keyword.
The Range Separated Hybrids
---------------------------
One can also starts the |FCI| calculation with another type of |MOs|, for instance the
TODO
.. important:: TODO
.. include:: /work.rst
* Natural orbitals
* Parameters for Hartree-Fock
* Parameters for Davidson
* Running in parallel

View File

@ -63,3 +63,5 @@ set ylabel "Total Energy (a.u.)"
plot "$out" w lp title "E_{var}", "$out" u 1:3:4 w errorlines title "E_{var} + PT2"
EOF
gnuplot ${out}.plt

View File

@ -4,6 +4,12 @@ doc: Maximum number of determinants in the wave function
interface: ezfio,provider,ocaml
default: 1000000
[n_det_print_wf]
type: Det_number_max
doc: Maximum number of determinants to be printed with the program print_wf
interface: ezfio,provider,ocaml
default: 10000
[n_det_max_full]
type: Det_number_max
doc: Maximum number of determinants where |H| is fully diagonalized

View File

@ -39,7 +39,7 @@ subroutine routine
norm_mono_b_pert = 0.d0
norm_mono_a_pert_2 = 0.d0
norm_mono_b_pert_2 = 0.d0
do i = 1, min(10000,N_det)
do i = 1, min(N_det_print_wf,N_det)
print*,''
print*,'i = ',i
call debug_det(psi_det(1,1,i),N_int)