mirror of
https://github.com/LCPQ/quantum_package
synced 2024-10-19 22:41:48 +02:00
changed the doc
This commit is contained in:
parent
814613fe7b
commit
6d808df0a0
@ -37,6 +37,12 @@ EZFIO parameters
|
|||||||
|
|
||||||
Default: 1000000
|
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
|
.. option:: n_det_max_full
|
||||||
|
|
||||||
Maximum number of determinants where |H| is fully diagonalized
|
Maximum number of determinants where |H| is fully diagonalized
|
||||||
|
@ -402,6 +402,7 @@ Index of Providers
|
|||||||
* :c:data:`n_det_max`
|
* :c:data:`n_det_max`
|
||||||
* :c:data:`n_det_max_full`
|
* :c:data:`n_det_max_full`
|
||||||
* :c:data:`n_det_non_cas`
|
* :c:data:`n_det_non_cas`
|
||||||
|
* :c:data:`n_det_print_wf`
|
||||||
* :c:data:`n_det_selectors`
|
* :c:data:`n_det_selectors`
|
||||||
* :c:data:`n_double_exc_bitmasks`
|
* :c:data:`n_double_exc_bitmasks`
|
||||||
* :c:data:`n_double_selectors`
|
* :c:data:`n_double_selectors`
|
||||||
|
@ -105,7 +105,7 @@ We will now use the |CIPSI| algorithm to estimate the |FCI| energy.
|
|||||||
|
|
||||||
.. code::
|
.. code::
|
||||||
|
|
||||||
qp_run fci hcn
|
qp_run fci hcn | tee hcn.fci.out
|
||||||
|
|
||||||
|
|
||||||
The program will start with a single determinant and will iteratively:
|
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
|
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}`.
|
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.
|
The estimated |FCI| energy of HCN is ``-93.0501`` au.
|
||||||
|
|
||||||
.. seealso::
|
.. 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
|
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
|
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.
|
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
|
The Range Separated Hybrids
|
||||||
---------------------------
|
---------------------------
|
||||||
|
|
||||||
One can also starts the |FCI| calculation with another type of |MOs|, for instance the
|
TODO
|
||||||
|
|
||||||
|
|
||||||
.. important:: TODO
|
.. important:: TODO
|
||||||
|
|
||||||
.. include:: /work.rst
|
.. include:: /work.rst
|
||||||
|
|
||||||
* Natural orbitals
|
|
||||||
* Parameters for Hartree-Fock
|
* Parameters for Hartree-Fock
|
||||||
* Parameters for Davidson
|
* Parameters for Davidson
|
||||||
* Running in parallel
|
* Running in parallel
|
||||||
|
@ -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"
|
plot "$out" w lp title "E_{var}", "$out" u 1:3:4 w errorlines title "E_{var} + PT2"
|
||||||
|
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
|
gnuplot ${out}.plt
|
||||||
|
@ -4,6 +4,12 @@ doc: Maximum number of determinants in the wave function
|
|||||||
interface: ezfio,provider,ocaml
|
interface: ezfio,provider,ocaml
|
||||||
default: 1000000
|
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]
|
[n_det_max_full]
|
||||||
type: Det_number_max
|
type: Det_number_max
|
||||||
doc: Maximum number of determinants where |H| is fully diagonalized
|
doc: Maximum number of determinants where |H| is fully diagonalized
|
||||||
|
@ -39,7 +39,7 @@ subroutine routine
|
|||||||
norm_mono_b_pert = 0.d0
|
norm_mono_b_pert = 0.d0
|
||||||
norm_mono_a_pert_2 = 0.d0
|
norm_mono_a_pert_2 = 0.d0
|
||||||
norm_mono_b_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*,''
|
||||||
print*,'i = ',i
|
print*,'i = ',i
|
||||||
call debug_det(psi_det(1,1,i),N_int)
|
call debug_det(psi_det(1,1,i),N_int)
|
||||||
|
Loading…
Reference in New Issue
Block a user