10
0
mirror of https://github.com/LCPQ/quantum_package synced 2024-12-25 13:53:49 +01:00

User's guide

This commit is contained in:
Anthony Scemama 2018-10-23 23:43:28 +02:00
parent bc01ff40d7
commit 9b1fa6a2fe

View File

@ -5,10 +5,10 @@ The input data is stored in a `EZFIO`_ database. It is a hierarchical data
format which uses the hierarchy of the file system to organize the data, stored format which uses the hierarchy of the file system to organize the data, stored
in a directory. in a directory.
To access the data in the EZFIO file, you can use the provided API (Fortran, To access the data in the EZFIO file, you can use the provided API (Fortran,
Python, OCaml or bash), or tools such as `qp_edit` provided with the Quantum Python, OCaml or Bash), or tools such as ``qp_edit`` provided with the Quantum
Package. The data in the EZFIO directory is stroed as plain text files, so Package. The data in the EZFIO directory is stroed as plain text files, so
it can be read with a text editor. it can be read with a text editor.
To create an EZFIO directory from scratch, the `qp_create_ezfio_from_xyz` should To create an EZFIO directory from scratch, the ``qp_create_ezfio_from_xyz`` should
be used. be used.
qp_create_ezfio_from_xyz qp_create_ezfio_from_xyz
@ -28,8 +28,6 @@ Flags ::
[-m int] Spin multiplicity (2S+1) of the molecule. Default is 1. [-m int] Spin multiplicity (2S+1) of the molecule. Default is 1.
[-o file] Name of the created EZFIO file. [-o file] Name of the created EZFIO file.
[-p string] Name of the pseudopotential [-p string] Name of the pseudopotential
[-build-info] print info about this build and exit
[-version] print the version of this build and exit
[-help] print this help text and exit [-help] print this help text and exit
(alias: -?) (alias: -?)
@ -54,7 +52,7 @@ qp_set_mo_class
Usage :: Usage ::
qp_set_mo_class EZFIO_DIRECTORY qp_set_mo_class [FLAGS] EZFIO_DIRECTORY
Flags :: Flags ::
@ -65,8 +63,6 @@ Flags ::
[-inact range] Range of inactive orbitals [-inact range] Range of inactive orbitals
[-q] Query: print the current masks [-q] Query: print the current masks
[-virt range] Range of virtual orbitals [-virt range] Range of virtual orbitals
[-build-info] print info about this build and exit
[-version] print the version of this build and exit
[-help] print this help text and exit [-help] print this help text and exit
(alias: -?) (alias: -?)
@ -89,9 +85,9 @@ Virtual
To avoid errors, all the MOs should be given a class. To avoid errors, all the MOs should be given a class.
The range of MOs are given like the ranges in SLURM commands. For example, The range of MOs are given like the ranges in SLURM commands. For example,
`"[36-53,72-107,126-131]"`. ``"[36-53,72-107,126-131]"``.
To quickly setup a frozen core calculation, the script `qp_set_frozen_core.py` To quickly setup a frozen core calculation, the script ``qp_set_frozen_core.py``
can be used:: can be used::
qp_set_frozen_core.py EZFIO_DIRECTORY qp_set_frozen_core.py EZFIO_DIRECTORY
@ -108,21 +104,26 @@ Excited states
-------------- --------------
It is possible to run excited states calculations with the quantum package. To It is possible to run excited states calculations with the quantum package. To
do this, set the `n_states` variable in the `Determinants` section to the do this, set the ``n_states`` variable in the ``Determinants`` section to the
number of requested states. The selection criterion will be the maximum of the number of requested states. The selection criterion will be the maximum of the
selection criteria for each state. If the Davidson diagonalization has selection criteria for each state. If the Davidson diagonalization has
difficulties to converge, increase the `n_states_diag` variable in the difficulties to converge, increase the ``n_states_diag`` variable in the
`Davidson` section. ``Davidson`` section.
When computing multiple states, it is good to have the `s2_eig` flag of the When computing multiple states, it is good to have the ``s2_eig`` flag of the
`Determinants` section set to `true`. This will force the Davidson algorithm to ``Determinants`` section set to ``true``. This will force the Davidson algorithm to
choose only vectors with a value of S^2 equal to the ``expected_s2``. choose only vectors with a value of S^2 equal to the ``expected_s2``.
Otherwise, different spin states will come out in the diagonalization. Otherwise, different spin states will come out in the diagonalization.
The Quantum Package doesn't take account of the symmetry. Due to numerical
noise, excited states of different symmetries may enter in the calculation.
Note that it is possible to make state-average calculation of states with
different symmetries and/or different spin multiplicities.
To include excited state of all possible symmetries, a simple trick is to To include excited state of all possible symmetries, a simple trick is to
run a preliminary multi-state CIS calculation, and then running the selected run a preliminary multi-state CIS calculation, and then running the selected
FCI restarting from the CIS states, setting the `read_wf` flag of the FCI restarting from the CIS states, setting the ``read_wf`` flag of the
`Determinants` section tp `true`. ``Determinants`` section to ``true``.
Usually, it is good practice to use state-averaged MOs so that all states have Usually, it is good practice to use state-averaged MOs so that all states have
MOs of comparable quality. For example, when searching for a singly excited MOs of comparable quality. For example, when searching for a singly excited
@ -134,22 +135,13 @@ calculation.
Natural orbitals Natural orbitals
---------------- ----------------
To produce state-average natural orbitals, run To produce state-average natural orbitals, run ::
```
qp_run save_natorb file.ezfio qp_run save_natorb file.ezfio
```
The MOs will be replaced, so the two-electron integrals and the wave function are invalidated as well. The MOs will be replaced, so the two-electron integrals and the wave function are invalidated as well.
The QP doesn't take account of the symmetry. For reasons due to numerical noise,
excited states of different symmetries may enter in the calculation.
Note that it is possible to make state-average calculation of states with different
symmetries and/or different spin multiplicities.
.. _EZFIO: http://gitlab.com/scemama/EZFIO .. _EZFIO: http://gitlab.com/scemama/EZFIO