From b8322eb01d3dafb2ead65e04f6cbe9d3d3dc16d9 Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Wed, 16 Jan 2019 18:22:16 +0100 Subject: [PATCH 1/3] Added qp_reset --- configure | 2 +- etc/qp.rc | 79 ++++++++++++++++++++++++++++-------------------- scripts/qp_reset | 4 +-- 3 files changed, 49 insertions(+), 36 deletions(-) diff --git a/configure b/configure index 77cea9cd..cb441991 100755 --- a/configure +++ b/configure @@ -287,7 +287,7 @@ EOF elif [[ ${PACKAGE} = ezfio ]] ; then download \ - "https://gitlab.com/scemama/EZFIO/-/archive/v1.3.4/EZFIO-v1.3.4.tar.gz" \ + "https://gitlab.com/scemama/EZFIO/-/archive/v1.3.5/EZFIO-v1.3.5.tar.gz" \ "${QP_ROOT}"/external/ezfio.tar.gz execute << EOF cd "\${QP_ROOT}"/external diff --git a/etc/qp.rc b/etc/qp.rc index 0a9dbcaa..832df6e4 100644 --- a/etc/qp.rc +++ b/etc/qp.rc @@ -9,46 +9,51 @@ source ${QP_ROOT}/etc/ezfio.rc function _qp_usage() { - echo " + cat << EOF +qp - Shell function of the qpsh shell + Usage: - qp set_file EZFIO_DIRECTORY - qp unset_file - qp has DIRECTORY ITEM - qp get DIRECTORY ITEM - qp set DIRECTORY ITEM VALUE : Scalar values - qp set DIRECTORY ITEM : Array values read from stdin + EZFIO access: - qp run PROGRAM - qp man PROGRAM - qp srun PROGRAM - qp mpirun PROGRAM + qp set_file EZFIO_DIR Sets the current EZFIO directory. - qp set_frozen_core + qp unset_file Unsets the current EZFIO directory. - qp create_ezfio_from_xyz - qp convert_output_to_ezfio - qp update - qp set_mo_class - qp plugins -" + qp has If the / is set in the + EZFIO directory, returns 1. Otherwise returns 0. + + qp get Returns the value of /. + + qp set [] + Sets the value of /. If the + value is not given in the command line it is read + from the standard input. + + Running programs: + + qp (run|srun|mpirun) + + Getting help: + + qp man (|) + + Running quantum package commands: + + qp convert_output_to_ezfio + qp create_ezfio + qp plugins The corresponding commands start with "qp_". + qp reset To get help for a command , run + qp set_frozen_core --help + qp set_mo_class + qp update + +EOF } function qp() { - function clean_ezfio() { - RESULT="" - while [[ -n $1 ]] ; do - case "$1" in - None) RESULT+='"None" ' ;; - *) RESULT+="$1 " ;; - esac - shift - done - eval set -- "$RESULT" - } - case $1 in "set_file") if [[ -d ${2} ]] ; then @@ -58,7 +63,6 @@ function qp() fi;; "has"|"set"|"get"|"unset_file") - clean_ezfio ezfio "$@" ;; @@ -67,6 +71,11 @@ function qp() qp_set_frozen_core "$@" ${EZFIO_FILE} ;; + "reset") + shift + qp_reset "$@" ${EZFIO_FILE} + ;; + "create_ezfio_from_xyz") shift # Replace ':' by spaces @@ -257,7 +266,7 @@ _qp_Complete() case "${prev2}" in set|has|get) if [[ ${prev} == "qp" ]] ; then - COMPREPLY=( $(compgen -W "plugins set set_frozen_core set_mo_class" -- $cur ) ) + COMPREPLY=( $(compgen -W "plugins set reset set_frozen_core set_mo_class" -- $cur ) ) elif [[ ! -d ${EZFIO_FILE}/${prev} ]] ; then COMPREPLY=( $(compgen -W "" -- $cur ) ) else @@ -272,6 +281,10 @@ _qp_Complete() COMPREPLY=( $(compgen -W "-h $(cat ${QP_ROOT}/data/executables | cut -d ' ' -f 1)" -- $cur ) ) return 0 ;; + reset) + COMPREPLY=( $(compgen -W "-h -m -a -d" -- $cur ) ) + return 0 + ;; unset_file|set_frozen_core) COMPREPLY=() return 0 @@ -291,7 +304,7 @@ _qp_Complete() *) COMPREPLY+=( $(compgen -W 'has get set unset_file edit \ run srun mpirun set_frozen_core \ - set_mo_class ' \ + reset set_mo_class ' \ -- $cur ) ) return 0 ;; diff --git a/scripts/qp_reset b/scripts/qp_reset index bcf5664d..b8c07adf 100755 --- a/scripts/qp_reset +++ b/scripts/qp_reset @@ -93,10 +93,10 @@ ezfio=$1 qp set_file $ezfio if [[ $dets -eq 1 ]] ; then - rm -- ${ezfio}/determinants/psi_{det,coef}.gz + rm --force -- ${ezfio}/determinants/n_det + rm --force -- ${ezfio}/determinants/psi_{det,coef}.gz fi -set -x if [[ $mos -eq 1 ]] ; then if [[ -f ${ezfio}/mo_basis/mo_class.gz ]] && [[ $(qp get mo_basis mo_num) -ne \ $(zcat ${ezfio}/mo_basis/mo_class.gz |grep Active | wc -l) ]] ; then From dba07af142ae1f7f74ee2da3d3e074a96eb96c4e Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Wed, 16 Jan 2019 18:31:10 +0100 Subject: [PATCH 2/3] Renamed qp_create_ezfio --- .../users_guide/qp_create_ezfio_from_xyz.rst | 14 +- docs/source/users_guide/quickstart.rst | 4 +- etc/qp.rc | 16 +- man/qp_create_ezfio_from_xyz.1 | 234 ------------------ ...e_ezfio_from_xyz.ml => qp_create_ezfio.ml} | 0 5 files changed, 17 insertions(+), 251 deletions(-) delete mode 100644 man/qp_create_ezfio_from_xyz.1 rename ocaml/{qp_create_ezfio_from_xyz.ml => qp_create_ezfio.ml} (100%) diff --git a/docs/source/users_guide/qp_create_ezfio_from_xyz.rst b/docs/source/users_guide/qp_create_ezfio_from_xyz.rst index fe980704..71c49982 100644 --- a/docs/source/users_guide/qp_create_ezfio_from_xyz.rst +++ b/docs/source/users_guide/qp_create_ezfio_from_xyz.rst @@ -1,9 +1,9 @@ -.. _qp_create_ezfio_from_xyz: +.. _qp_create_ezfio: -qp_create_ezfio_from_xyz -======================== +qp_create_ezfio +=============== -.. program:: qp_create_ezfio_from_xyz +.. program:: qp_create_ezfio This command creates an |EZFIO| directory from a standard `xyz` file or from a `z-matrix` file in Gaussian format. @@ -13,7 +13,7 @@ Usage .. code:: bash - qp_create_ezfio_from_xyz [-a] -b [-c ] [-d ] + qp_create_ezfio [-a] -b [-c ] [-d ] [-h] [-m ] [-o EZFIO_DIR] [-p ] [-x] [--] FILE @@ -80,7 +80,7 @@ If a file with the same name as the basis set exists, this file will be read. For example, if the file containing the basis set is named ``custom.basis``, and the *xyz* geometry is in ``molecule.xyz``, the following should be used:: - qp_create_ezfio_from_xyz -b custom.basis molecule.xyz + qp_create_ezfio -b custom.basis molecule.xyz Basis set files should be given in |GAMESS| format, where the full names of the atoms are given, and the basis sets for each element are separated by a blank @@ -138,7 +138,7 @@ command should be used .. code:: bash - qp_create_ezfio_from_xyz -b custom.basis -p custom.pseudo molecule.xyz + qp_create_ezfio -b custom.basis -p custom.pseudo molecule.xyz Pseudo-potential files should be given in a format very close to |GAMESS| format. The first line should be formatted as ``%s GEN %d %d`` where the first diff --git a/docs/source/users_guide/quickstart.rst b/docs/source/users_guide/quickstart.rst index e988ef8d..bb702656 100644 --- a/docs/source/users_guide/quickstart.rst +++ b/docs/source/users_guide/quickstart.rst @@ -44,12 +44,12 @@ The file :file:`hcn.xyz` contains:: N 0.0 0.0 -1.156 -This xyz file is now used with the :ref:`qp_create_ezfio_from_xyz` command to +This xyz file is now used with the :ref:`qp_create_ezfio` command to create an |EZFIO| database with the 6-31G basis set: .. code:: bash - qp_create_ezfio_from_xyz -b "6-31G" hcn.xyz -o hcn + qp_create_ezfio -b "6-31G" hcn.xyz -o hcn The EZFIO database now contains data relative to the nuclear coordinates and the atomic basis set: diff --git a/etc/qp.rc b/etc/qp.rc index 832df6e4..ef7489b7 100644 --- a/etc/qp.rc +++ b/etc/qp.rc @@ -76,7 +76,7 @@ function qp() qp_reset "$@" ${EZFIO_FILE} ;; - "create_ezfio_from_xyz") + "create_ezfio") shift # Replace ':' by spaces for arg in "$@" ; do @@ -87,13 +87,13 @@ function qp() _ARGS+=("${arg}") ;; esac done - echo qp_create_ezfio_from_xyz "${_ARGS[@]}" - NAME=$(qp_create_ezfio_from_xyz "${_ARGS[@]}") + echo qp_create_ezfio "${_ARGS[@]}" + NAME=$(qp_create_ezfio "${_ARGS[@]}") if [[ -d $NAME ]] ; then [[ -d $EZFIO_FILE ]] && ezfio unset_file ezfio set_file $NAME else - qp_create_ezfio_from_xyz -h | more + qp_create_ezfio -h | more fi unset _ARGS ;; @@ -165,7 +165,7 @@ function qp() function _get_basis_sets () { - ( qp_create_ezfio_from_xyz -b show \ + ( qp_create_ezfio -b show \ | tr ' ' ':' \ | while IFS= read -r LINE ; do printf '%s\n' ${LINE} @@ -199,9 +199,9 @@ _qp_Complete() COMPREPLY=( $(compgen -W "-o $(\ls)" -- ${cur} ) ) return 0 ;; - create_ezfio_from_xyz) + create_ezfio) case "${prev}" in - create_ezfio_from_xyz) + create_ezfio) COMPREPLY=( $(compgen -W "-b -a -c -d -h -m -o -p -x" -- $cur ) ) return 0 ;; @@ -254,7 +254,7 @@ _qp_Complete() *) COMPREPLY=( $(compgen -W 'plugins \ man \ - create_ezfio_from_xyz \ + create_ezfio \ convert_output_to_ezfio \ -h update' -- $cur ) ) diff --git a/man/qp_create_ezfio_from_xyz.1 b/man/qp_create_ezfio_from_xyz.1 deleted file mode 100644 index e51f7aa2..00000000 --- a/man/qp_create_ezfio_from_xyz.1 +++ /dev/null @@ -1,234 +0,0 @@ -.\" Man page generated from reStructuredText. -. -.TH "QP_CREATE_EZFIO_FROM_XYZ" "1" "Jan 16, 2019" "2.0" "Quantum Package" -.SH NAME -qp_create_ezfio_from_xyz \- | Quantum Package > -. -.nr rst2man-indent-level 0 -. -.de1 rstReportMargin -\\$1 \\n[an-margin] -level \\n[rst2man-indent-level] -level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] -- -\\n[rst2man-indent0] -\\n[rst2man-indent1] -\\n[rst2man-indent2] -.. -.de1 INDENT -.\" .rstReportMargin pre: -. RS \\$1 -. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] -. nr rst2man-indent-level +1 -.\" .rstReportMargin post: -.. -.de UNINDENT -. RE -.\" indent \\n[an-margin] -.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] -.nr rst2man-indent-level -1 -.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] -.in \\n[rst2man-indent\\n[rst2man-indent-level]]u -.. -.sp -This command creates an \fI\%EZFIO\fP directory from a standard \fIxyz\fP file or from a -\fIz\-matrix\fP file in Gaussian format. -.SH USAGE -.INDENT 0.0 -.INDENT 3.5 -.sp -.nf -.ft C -qp_create_ezfio_from_xyz [\-a] \-b [\-c ] [\-d ] - [\-h] [\-m ] [\-o EZFIO_DIR] [\-p ] [\-x] [\-\-] FILE -.ft P -.fi -.UNINDENT -.UNINDENT -.INDENT 0.0 -.TP -.B \-a, \-\-au -If present, input geometry is in atomic units. -.UNINDENT -.INDENT 0.0 -.TP -.B \-b, \-\-basis= -Name of basis set. The basis set is defined as a single string if all the -atoms are taken from the same basis set, otherwise specific elements can be -defined as follows: -.INDENT 7.0 -.INDENT 3.5 -.sp -.nf -.ft C -\-b "cc\-pcvdz | H:cc\-pvdz | C:6\-31g" -\-b "cc\-pvtz | 1,H:sto\-3g | 3,H:6\-31g" -.ft P -.fi -.UNINDENT -.UNINDENT -.sp -By default, the basis set is obtained from the local database of the \fIQuantum Package\fP\&. -This option is mandatory. -.sp -If \fB\fP is set to \fBshow\fP, the list of all available basis sets is -displayed. -.UNINDENT -.INDENT 0.0 -.TP -.B \-c, \-\-charge= -Total charge of the molecule. Default is 0. -.UNINDENT -.INDENT 0.0 -.TP -.B \-d, \-\-dummy= -Add dummy atoms (X) between atoms when the distance between two atoms -is less than x \etimes \esum R_\emathrm{cov}, the covalent radii -of the atoms. The default is x=0, so no dummy atom is added. -.UNINDENT -.INDENT 0.0 -.TP -.B \-h, \-\-help -Print the help text and exit -.UNINDENT -.INDENT 0.0 -.TP -.B \-m, \-\-multiplicity= -Spin multiplicity 2S+1 of the molecule. Default is 1. -.UNINDENT -.INDENT 0.0 -.TP -.B \-o, \-\-output=EZFIO_DIR -Name of the created \fI\%EZFIO\fP directory. -.UNINDENT -.INDENT 0.0 -.TP -.B \-p , \-\-pseudo= -Name of the pseudo\-potential. Follows the same conventions as the basis set. -.UNINDENT -.INDENT 0.0 -.TP -.B \-x, \-\-cart -Compute AOs in the Cartesian basis set (6d, 10f, …) -.UNINDENT -.SH USING CUSTOM ATOMIC BASIS SETS -.sp -If a file with the same name as the basis set exists, this file will be read. -For example, if the file containing the basis set is named \fBcustom.basis\fP, -and the \fIxyz\fP geometry is in \fBmolecule.xyz\fP, the following should be used: -.INDENT 0.0 -.INDENT 3.5 -.sp -.nf -.ft C -qp_create_ezfio_from_xyz \-b custom.basis molecule.xyz -.ft P -.fi -.UNINDENT -.UNINDENT -.sp -Basis set files should be given in \fI\%GAMESS\fP format, where the full names of the -atoms are given, and the basis sets for each element are separated by a blank -line. Here is an example -.INDENT 0.0 -.INDENT 3.5 -.sp -.nf -.ft C -HYDROGEN -S 3 -1 13.0100000 0.0196850 -2 1.9620000 0.1379770 -3 0.4446000 0.4781480 -S 1 -1 0.1220000 1.0000000 -P 1 -1 0.7270000 1.0000000 - -BORON -S 8 -1 4570.0000000 0.0006960 -2 685.9000000 0.0053530 -3 156.5000000 0.0271340 -4 44.4700000 0.1013800 -5 14.4800000 0.2720550 -6 5.1310000 0.4484030 -7 1.8980000 0.2901230 -8 0.3329000 0.0143220 -S 8 -1 4570.0000000 \-0.0001390 -2 685.9000000 \-0.0010970 -3 156.5000000 \-0.0054440 -4 44.4700000 \-0.0219160 -5 14.4800000 \-0.0597510 -6 5.1310000 \-0.1387320 -7 1.8980000 \-0.1314820 -8 0.3329000 0.5395260 -S 1 -1 0.1043000 1.0000000 -P 3 -1 6.0010000 0.0354810 -2 1.2410000 0.1980720 -3 0.3364000 0.5052300 -P 1 -1 0.0953800 1.0000000 -D 1 -1 0.3430000 1.0000000 -.ft P -.fi -.UNINDENT -.UNINDENT -.SH USING CUSTOM PSEUDO-POTENTIALS -.sp -As for the basis set, if a file with the same name as the pseudo\-potential -exists, this file will be read. For example, if the file containing the custom -pseudo\-potential is named \fBcustom.pseudo\fP, the basis set is named -\fBcustom.basis\fP, and the \fIxyz\fP geometry is in \fBmolecule.xyz\fP, the following -command should be used -.INDENT 0.0 -.INDENT 3.5 -.sp -.nf -.ft C -qp_create_ezfio_from_xyz \-b custom.basis \-p custom.pseudo molecule.xyz -.ft P -.fi -.UNINDENT -.UNINDENT -.sp -Pseudo\-potential files should be given in a format very close to \fI\%GAMESS\fP -format. The first line should be formatted as \fB%s GEN %d %d\fP where the first -string is the chemical symbol, the first integer is the number of core -electrons to be removed and the second integer is LMAX+1 as in \fI\%GAMESS\fP format. -The pseudo\-potential for each element are separated by a blank line. Here is -an example -.INDENT 0.0 -.INDENT 3.5 -.sp -.nf -.ft C -Ne GEN 2 1 -3 -8.00000000 1 10.74945199 -85.99561593 3 10.19801460 -\-56.79004456 2 10.18694048 -1 -55.11144535 2 12.85042963 - -F GEN 2 1 -3 -7.00000000 1 11.39210685 -79.74474797 3 10.74911370 -\-49.45159098 2 10.45120693 -1 -50.25646328 2 11.30345826 -.ft P -.fi -.UNINDENT -.UNINDENT -.SH AUTHOR -A. Scemama, E. Giner -.SH COPYRIGHT -2018, A. Scemama, E. Giner -.\" Generated by docutils manpage writer. -. diff --git a/ocaml/qp_create_ezfio_from_xyz.ml b/ocaml/qp_create_ezfio.ml similarity index 100% rename from ocaml/qp_create_ezfio_from_xyz.ml rename to ocaml/qp_create_ezfio.ml From c49dc4ddc0ae63018f113dbd69e266eb40307c39 Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Wed, 16 Jan 2019 19:06:24 +0100 Subject: [PATCH 3/3] Documentation --- docs/source/modules/dft_utils_one_e.rst | 16 +- docs/source/modules/generators_full.rst | 67 +++++ docs/source/modules/kohn_sham.rst | 168 +------------ docs/source/modules/kohn_sham_rs.rst | 164 ++++++++++++ docs/source/modules/single_ref_method.rst | 71 ------ docs/source/modules/tools.rst | 14 -- docs/source/programmers_guide/index.rst | 1 + .../programmers_guide/index_providers.rst | 3 +- docs/source/programs/cis.rst | 14 +- docs/source/users_guide/index.rst | 2 + docs/source/users_guide/qpsh.rst | 149 +++++++++++ man/cis.1 | 6 +- man/qpsh.1 | 236 +++++++++++++----- src/cis/cis.irp.f | 13 +- 14 files changed, 590 insertions(+), 334 deletions(-) create mode 100644 docs/source/users_guide/qpsh.rst diff --git a/docs/source/modules/dft_utils_one_e.rst b/docs/source/modules/dft_utils_one_e.rst index 57e039d4..d4fd5abd 100644 --- a/docs/source/modules/dft_utils_one_e.rst +++ b/docs/source/modules/dft_utils_one_e.rst @@ -586,13 +586,13 @@ Providers double precision, allocatable :: effective_one_e_potential (mo_num,mo_num,N_states) double precision, allocatable :: effective_one_e_potential_without_kin (mo_num,mo_num,N_states) - File: :file:`effective_pot.irp.f` + File: :file:`sr_coulomb.irp.f` - Effective_one_e_potential(i,j) = :math:`\rangle i_{MO}| v_{H}^{sr} |j_{MO}\rangle + \rangle i_{MO}| h_{core} |j_{MO}\rangle + \rangle i_{MO}|v_{xc} |j_{MO}\rangle` - - on the |MO| basis Taking the expectation value does not provide any energy, but effective_one_e_potential(i,j) is the potential coupling DFT and WFT part to be used in any WFT calculation. + Effective_one_e_potential(i,j) = :math:`\rangle i| v_{H}^{sr} |j\rangle + \rangle i| h_{core} |j\rangle + \rangle i|v_{xc} |j\rangle` + Taking the expectation value does not provide any energy, but effective_one_e_potential(i,j) is the potential coupling DFT and WFT part to be used in any WFT calculation. + shifted_effective_one_e_potential_without_kin = effective_one_e_potential_without_kin + shifting_constant on the diagonal @@ -604,13 +604,13 @@ Providers double precision, allocatable :: effective_one_e_potential (mo_num,mo_num,N_states) double precision, allocatable :: effective_one_e_potential_without_kin (mo_num,mo_num,N_states) - File: :file:`effective_pot.irp.f` + File: :file:`sr_coulomb.irp.f` - Effective_one_e_potential(i,j) = :math:`\rangle i_{MO}| v_{H}^{sr} |j_{MO}\rangle + \rangle i_{MO}| h_{core} |j_{MO}\rangle + \rangle i_{MO}|v_{xc} |j_{MO}\rangle` - - on the |MO| basis Taking the expectation value does not provide any energy, but effective_one_e_potential(i,j) is the potential coupling DFT and WFT part to be used in any WFT calculation. + Effective_one_e_potential(i,j) = :math:`\rangle i| v_{H}^{sr} |j\rangle + \rangle i| h_{core} |j\rangle + \rangle i|v_{xc} |j\rangle` + Taking the expectation value does not provide any energy, but effective_one_e_potential(i,j) is the potential coupling DFT and WFT part to be used in any WFT calculation. + shifted_effective_one_e_potential_without_kin = effective_one_e_potential_without_kin + shifting_constant on the diagonal diff --git a/docs/source/modules/generators_full.rst b/docs/source/modules/generators_full.rst index a4cdc68e..ef72c4e7 100644 --- a/docs/source/modules/generators_full.rst +++ b/docs/source/modules/generators_full.rst @@ -33,6 +33,33 @@ Providers +.. c:var:: n_det_generators + + .. code:: text + + integer :: n_det_generators + + File: :file:`generators.irp.f` + + For Single reference wave functions, the number of generators is 1 : the Hartree-Fock determinant + + + + +.. c:var:: psi_coef_generators + + .. code:: text + + integer(bit_kind), allocatable :: psi_det_generators (N_int,2,psi_det_size) + double precision, allocatable :: psi_coef_generators (psi_det_size,N_states) + + File: :file:`generators.irp.f` + + For Single reference wave functions, the generator is the Hartree-Fock determinant + + + + .. c:var:: psi_coef_sorted_gen .. code:: text @@ -48,6 +75,20 @@ Providers +.. c:var:: psi_det_generators + + .. code:: text + + integer(bit_kind), allocatable :: psi_det_generators (N_int,2,psi_det_size) + double precision, allocatable :: psi_coef_generators (psi_det_size,N_states) + + File: :file:`generators.irp.f` + + For Single reference wave functions, the generator is the Hartree-Fock determinant + + + + .. c:var:: psi_det_sorted_gen .. code:: text @@ -76,3 +117,29 @@ Providers For Single reference wave functions, the generator is the Hartree-Fock determinant + + +.. c:var:: select_max + + .. code:: text + + double precision, allocatable :: select_max (size_select_max) + + File: :file:`generators.irp.f` + + Memo to skip useless selectors + + + + +.. c:var:: size_select_max + + .. code:: text + + integer :: size_select_max + + File: :file:`generators.irp.f` + + Size of the select_max array + + diff --git a/docs/source/modules/kohn_sham.rst b/docs/source/modules/kohn_sham.rst index 9385db1b..6f60bf18 100644 --- a/docs/source/modules/kohn_sham.rst +++ b/docs/source/modules/kohn_sham.rst @@ -57,105 +57,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:: 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_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_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_e_energy - double precision :: one_e_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 @@ -172,82 +73,17 @@ Providers - -.. c:var:: one_e_energy - - .. code:: text - - double precision :: ks_energy - double precision :: two_e_energy - double precision :: one_e_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_e_energy - double precision :: one_e_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_e_energy - - .. code:: text - - double precision :: ks_energy - double precision :: two_e_energy - double precision :: one_e_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 +.. c:function:: ks_cf .. code:: text - subroutine check_coherence_functional - - File: :file:`ks_scf.irp.f` - - - - - - - -.. c:function:: srs_ks_cf - - .. code:: text - - subroutine srs_ks_cf + subroutine ks_cf File: :file:`ks_scf.irp.f` diff --git a/docs/source/modules/kohn_sham_rs.rst b/docs/source/modules/kohn_sham_rs.rst index 1e0cfd04..f3c74591 100644 --- a/docs/source/modules/kohn_sham_rs.rst +++ b/docs/source/modules/kohn_sham_rs.rst @@ -65,6 +65,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_e_energy + double precision :: one_e_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_e_energy + + .. code:: text + + double precision :: rs_ks_energy + double precision :: two_e_energy + double precision :: one_e_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 @@ -81,6 +197,54 @@ Providers + +.. c:var:: trace_potential_xc + + .. code:: text + + double precision :: rs_ks_energy + double precision :: two_e_energy + double precision :: one_e_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_e_energy + + .. code:: text + + double precision :: rs_ks_energy + double precision :: two_e_energy + double precision :: one_e_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` + + + + diff --git a/docs/source/modules/single_ref_method.rst b/docs/source/modules/single_ref_method.rst index 8b28425f..1365acc7 100644 --- a/docs/source/modules/single_ref_method.rst +++ b/docs/source/modules/single_ref_method.rst @@ -12,74 +12,3 @@ Include this module for single reference methods. Using this module, the only generator determinant is the Hartree-Fock determinant. - - -Providers ---------- - - -.. c:var:: n_det_generators - - .. code:: text - - integer :: n_det_generators - - File: :file:`generators.irp.f` - - For Single reference wave functions, the number of generators is 1 : the Hartree-Fock determinant - - - - -.. c:var:: psi_coef_generators - - .. code:: text - - integer(bit_kind), allocatable :: psi_det_generators (N_int,2,psi_det_size) - double precision, allocatable :: psi_coef_generators (psi_det_size,N_states) - - File: :file:`generators.irp.f` - - For Single reference wave functions, the generator is the Hartree-Fock determinant - - - - -.. c:var:: psi_det_generators - - .. code:: text - - integer(bit_kind), allocatable :: psi_det_generators (N_int,2,psi_det_size) - double precision, allocatable :: psi_coef_generators (psi_det_size,N_states) - - File: :file:`generators.irp.f` - - For Single reference wave functions, the generator is the Hartree-Fock determinant - - - - -.. c:var:: select_max - - .. code:: text - - double precision, allocatable :: select_max (1) - - File: :file:`generators.irp.f` - - Memo to skip useless selectors - - - - -.. c:var:: size_select_max - - .. code:: text - - integer :: size_select_max - - File: :file:`generators.irp.f` - - Size of select_max - - diff --git a/docs/source/modules/tools.rst b/docs/source/modules/tools.rst index bfb06748..9e916ab2 100644 --- a/docs/source/modules/tools.rst +++ b/docs/source/modules/tools.rst @@ -101,20 +101,6 @@ Subroutines / functions -.. c:function:: write_integrals - - .. code:: text - - subroutine write_integrals - - File: :file:`write_integrals_erf.irp.f` - - Saves the two-electron integrals with the :math:`erf(\mu r_{12})/r_{12}` oprerator into the EZFIO folder - - - - - .. c:function:: write_intro_gamess .. code:: text diff --git a/docs/source/programmers_guide/index.rst b/docs/source/programmers_guide/index.rst index 3b4b7ec8..2bfd9282 100644 --- a/docs/source/programmers_guide/index.rst +++ b/docs/source/programmers_guide/index.rst @@ -11,6 +11,7 @@ Index of Modules /modules/* /programmers_guide/qp_* + /programmers_guide/conventions .. Auto-generated file diff --git a/docs/source/programmers_guide/index_providers.rst b/docs/source/programmers_guide/index_providers.rst index 9d2c3832..21e2f86c 100644 --- a/docs/source/programmers_guide/index_providers.rst +++ b/docs/source/programmers_guide/index_providers.rst @@ -1092,6 +1092,7 @@ Index of Subroutines/Functions * :c:func:`iset_order_big` * :c:func:`isort` * :c:func:`knowles_function` +* :c:func:`ks_cf` * :c:func:`ks_scf` * :c:func:`lapack_diag` * :c:func:`lapack_diagd` @@ -1292,7 +1293,6 @@ Index of Subroutines/Functions * :c:func:`spin_det_search_key` * :c:func:`splash_pq` * :c:func:`spot_isinwf` -* :c:func:`srs_ks_cf` * :c:func:`step_function_becke` * :c:func:`svd` * :c:func:`switch_qp_run_to_master` @@ -1328,7 +1328,6 @@ Index of Subroutines/Functions * :c:func:`write_geometry` * :c:func:`write_git_log` * :c:func:`write_int` -* :c:func:`write_integrals` * :c:func:`write_integrals_erf` * :c:func:`write_intro_gamess` * :c:func:`write_mo_basis` diff --git a/docs/source/programs/cis.rst b/docs/source/programs/cis.rst index a55669bd..a3e752a8 100644 --- a/docs/source/programs/cis.rst +++ b/docs/source/programs/cis.rst @@ -15,19 +15,27 @@ cis This program can be useful in many cases: - # Ground state calculation + + + Ground state calculation + + ------------------------ To be sure to have the lowest |SCF| solution, perform an :ref:`.scf.` (see the :ref:`hartree_fock` module), then a :ref:`.cis.`, save the natural orbitals (see :ref:`.save_natorb.`) and re-run an :ref:`.scf.` optimization from this |MO| guess. - # Excited states calculations + Excited states calculations + + --------------------------- The lowest excited states are much likely to be dominated by single-excitations. Therefore, running a :ref:`.cis.` will save the `n_states` lowest states within the |CIS| space in the |EZFIO| directory, which can afterwards be used as guess wave functions for a further multi-state |FCI| calculation if :option:`determinants read_wf` is set to |true| before running the :ref:`.fci.` executable. If :option:`determinants s2_eig` is set to |true|, the |CIS| will only retain states having the expected |S^2| value (see :option:`determinants expected_s2`). Otherwise, the |CIS| will take the lowest :option:`determinants n_states`, whatever multiplicity they are. - # Note + Note + + ---- To discard some orbitals, use the :ref:`qp_set_mo_class` command to specify: diff --git a/docs/source/users_guide/index.rst b/docs/source/users_guide/index.rst index 0c15c055..33478cb9 100644 --- a/docs/source/users_guide/index.rst +++ b/docs/source/users_guide/index.rst @@ -6,6 +6,7 @@ Index of commands :glob: configure + qpsh qp_* @@ -15,5 +16,6 @@ Index of programs .. toctree:: :maxdepth: 1 :glob: + /programs/* diff --git a/docs/source/users_guide/qpsh.rst b/docs/source/users_guide/qpsh.rst new file mode 100644 index 00000000..34e8d907 --- /dev/null +++ b/docs/source/users_guide/qpsh.rst @@ -0,0 +1,149 @@ +.. _qpsh: + +==== +qpsh +==== + +.. program:: qpsh + + +:command:`qpsh` is the |qp| shell. It is a Bash shell with all +the required evironment variables loaded, a modified prompt, and the +:ref:`qp` command. + + +.. _qp: + +.. program:: qp + +qp +== + +This command is a hub to the most used command within |qp|. +The power of the :ref:`qpsh` shell is the auto-completion that comes +when the :kbd:`` key is pressed with the :ref:`qp` command. + + +EZFIO access +------------ + +.. option:: set_file + + .. code:: bash + + qp set_file EZFIO_DIR + + Sets the current |EZFIO| directory. All the following instruction will be + relative to this directory. + + This command is equivalent to :command:`ezfio set_file EZFIO_DIR`. + + +.. option:: unset_file + + .. code:: bash + + qp unset_file + + Unsets the current |EZFIO| directory. + + This command is equivalent to :command:`ezfio unset_file`. + + +.. option:: has + + .. code:: bash + + qp has + + If the `/` is set in the |EZFIO| directory, returns 1. + Otherwise returns 0. + + This command is equivalent to :command:`ezfio has `. + + +.. option:: get + + .. code:: bash + + qp get + + Returns the value of `/`. + + This command is equivalent to :command:`ezfio get `. + + +.. option:: set + + .. code:: bash + + qp set [] + + Sets the value of `/`. If the value is not given in + the command line it is read from the standard input. + + This command is equivalent to + :command:`ezfio set []`. + + +Running programs +---------------- + +.. option:: run + + .. code:: bash + + qp (run|srun|mpirun) [options] + + Runs :ref:`qp_run`, :ref:`qp_srun`, or :ref:`qp_mpirun` using the current + |EZFIO| directory. + + +Getting help +------------ + +.. option:: man + + .. code:: bash + + qp man (|) + + Displays a man page for a |qp| program or a |qp| command. + + +Running quantum package commands +-------------------------------- + +The ``qp_`` commands can be run without specifying the |EZFIO| directory: + +.. option:: convert_output_to_ezfio + + :command:`qp convert_output_to_ezfio` : runs :ref:`qp_convert_output_to_ezfio` + +.. option:: create_ezfio + + :command:`qp create_ezfio` : runs :ref:`qp_create_ezfio` + +.. option:: plugins + + :command:`qp plugins` : runs :ref:`qp_plugins` + +.. option:: reset + + :command:`qp reset` : runs :ref:`qp_reset` + +.. option:: set_frozen_core + + :command:`qp set_frozen_core` : runs :ref:`qp_set_frozen_core` + +.. option:: set_mo_class + + :command:`qp set_mo_class` : runs :ref:`qp_set_mo_class` + +.. option:: update + + :command:`qp update` : runs :ref:`qp_update` + + + + diff --git a/man/cis.1 b/man/cis.1 index df5f48f9..e06b57c8 100644 --- a/man/cis.1 +++ b/man/cis.1 @@ -38,17 +38,17 @@ This program takes a reference Slater determinant of ROHF\-like occupancy, and p .sp This program can be useful in many cases: .sp -# Ground state calculation +Ground state calculation .sp To be sure to have the lowest SCF solution, perform an \&.scf. (see the hartree_fock module), then a \fI\%cis\fP, save the natural orbitals (see \&.save_natorb.) and re\-run an \&.scf. optimization from this MO guess. .sp -# Excited states calculations +Excited states calculations .sp The lowest excited states are much likely to be dominated by single\-excitations. Therefore, running a \fI\%cis\fP will save the \fIn_states\fP lowest states within the CIS space in the \fI\%EZFIO\fP directory, which can afterwards be used as guess wave functions for a further multi\-state FCI calculation if \fBdeterminants read_wf\fP is set to \fBtrue\fP before running the \&.fci. executable. .sp If \fBdeterminants s2_eig\fP is set to \fBtrue\fP, the CIS will only retain states having the expected \ewidehat{S^2} value (see \fBdeterminants expected_s2\fP). Otherwise, the CIS will take the lowest \fBdeterminants n_states\fP, whatever multiplicity they are. .sp -# Note +Note .sp To discard some orbitals, use the qp_set_mo_class command to specify: .INDENT 0.0 diff --git a/man/qpsh.1 b/man/qpsh.1 index 8543f069..748e51fa 100644 --- a/man/qpsh.1 +++ b/man/qpsh.1 @@ -31,82 +31,190 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. .sp -\fBqpsh\fP is the \fIQuantum Package\fP shell. It is a -.nf -|Bash| -.fi - shell with all +\fBqpsh\fP is the \fIQuantum Package\fP shell. It is a Bash shell with all the required evironment variables loaded, a modified prompt, and the -qp command. +\fI\%qp\fP command. +.SH QP .sp -This command reads the content of the \fI\%EZFIO\fP directory and creates a temporary -file containing the data. The data is presented as a \fIReStructured Text\fP (rst) -document, where each section corresponds to the corresponding \fIQuantum Package\fP module. The -content of the file can be modified to change the input parameters. When the -text editor is closed, the updated data is saved into the \fI\%EZFIO\fP directory. -.sp -\fBNOTE:\fP -.INDENT 0.0 -.INDENT 3.5 -The text editor which will be opened is defined by the \fBEDITOR\fP -environment variable. If this variable is not set, the \fBvi\fP -text editor will be used by default. -.UNINDENT -.UNINDENT -.sp -\fBWARNING:\fP -.INDENT 0.0 -.INDENT 3.5 -When the wave function is too large (more than 10 000 determinants), the -determinants are not displayed. -.UNINDENT -.UNINDENT -.SH USAGE +This command is a hub to the most used command within \fIQuantum Package\fP\&. +The power of the \fI\%qpsh\fP shell is the auto\-completion that comes +when the \fB\fP key is pressed with the \fI\%qp\fP command. +.SS EZFIO access .INDENT 0.0 +.TP +.B set_file +.INDENT 7.0 .INDENT 3.5 .sp .nf .ft C -qp_edit [\-c] [\-h] [\-n ] [\-s ] [\-\-] EZFIO_DIR -.ft P -.fi -.UNINDENT -.UNINDENT -.INDENT 0.0 -.TP -.B \-c, \-\-check -Checks the input data -.UNINDENT -.INDENT 0.0 -.TP -.B \-h, \-\-help -Print the help text and exits -.UNINDENT -.INDENT 0.0 -.TP -.B \-n, \-\-ndet= -Truncates the wavefunction to the target number of determinants -.UNINDENT -.INDENT 0.0 -.TP -.B \-s, \-\-state= -Select the states to extract from the \fI\%EZFIO\fP directory, using the same conventions -as qp_set_mo_class\&. See example below. -.UNINDENT -.SH EXAMPLE -.INDENT 0.0 -.INDENT 3.5 -.sp -.nf -.ft C -qp_edit \-\-state="[1,3\-5]" test.ezfio +qp set_file EZFIO_DIR .ft P .fi .UNINDENT .UNINDENT .sp -Removes all states except states 1,3,4 and 5 from \fBtest.ezfio\fP\&. The -resulting \fI\%EZFIO\fP directory has 4 states. +Sets the current \fI\%EZFIO\fP directory. All the following instruction will be +relative to this directory. +.sp +This command is equivalent to \fBezfio set_file EZFIO_DIR\fP\&. +.UNINDENT +.INDENT 0.0 +.TP +.B unset_file +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +qp unset_file +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Unsets the current \fI\%EZFIO\fP directory. +.sp +This command is equivalent to \fBezfio unset_file\fP\&. +.UNINDENT +.INDENT 0.0 +.TP +.B has +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +qp has +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +If the \fI/\fP is set in the \fI\%EZFIO\fP directory, returns 1. +Otherwise returns 0. +.sp +This command is equivalent to \fBezfio has \fP\&. +.UNINDENT +.INDENT 0.0 +.TP +.B get +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +qp get +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Returns the value of \fI/\fP\&. +.sp +This command is equivalent to \fBezfio get \fP\&. +.UNINDENT +.INDENT 0.0 +.TP +.B set +.INDENT 7.0 +.INDENT 3.5 +.sp +.nf +.ft C +qp set [] +.ft P +.fi +.UNINDENT +.UNINDENT +.sp +Sets the value of \fI/\fP\&. If the value is not given in +the command line it is read from the standard input. +.sp +This command is equivalent to +\fBezfio set []\fP\&. +.UNINDENT +.SS Running programs +.INDENT 0.0 +.TP +.B run +.INDENT 7.0 +.INDENT 3.5 +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +qp (run|srun|mpirun) [options] +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.UNINDENT +.sp +Runs qp_run, qp_srun, or qp_mpirun using the current +\fI\%EZFIO\fP directory. +.UNINDENT +.SS Getting help +.INDENT 0.0 +.TP +.B man +.INDENT 7.0 +.INDENT 3.5 +.INDENT 0.0 +.INDENT 3.5 +.sp +.nf +.ft C +qp man (|) +.ft P +.fi +.UNINDENT +.UNINDENT +.UNINDENT +.UNINDENT +.sp +Displays a man page for a \fIQuantum Package\fP program or a \fIQuantum Package\fP command. +.UNINDENT +.SS Running quantum package commands +.sp +The \fBqp_\fP commands can be run without specifying the \fI\%EZFIO\fP directory: +.INDENT 0.0 +.TP +.B convert_output_to_ezfio +\fBqp convert_output_to_ezfio\fP : runs qp_convert_output_to_ezfio +.UNINDENT +.INDENT 0.0 +.TP +.B create_ezfio +\fBqp create_ezfio\fP : runs qp_create_ezfio +.UNINDENT +.INDENT 0.0 +.TP +.B plugins +\fBqp plugins\fP : runs qp_plugins +.UNINDENT +.INDENT 0.0 +.TP +.B reset +\fBqp reset\fP : runs qp_reset +.UNINDENT +.INDENT 0.0 +.TP +.B set_frozen_core +\fBqp set_frozen_core\fP : runs qp_set_frozen_core +.UNINDENT +.INDENT 0.0 +.TP +.B set_mo_class +\fBqp set_mo_class\fP : runs qp_set_mo_class +.UNINDENT +.INDENT 0.0 +.TP +.B update +\fBqp update\fP : runs qp_update +.UNINDENT .SH AUTHOR A. Scemama, E. Giner .SH COPYRIGHT diff --git a/src/cis/cis.irp.f b/src/cis/cis.irp.f index 38aed640..db5b387c 100644 --- a/src/cis/cis.irp.f +++ b/src/cis/cis.irp.f @@ -11,7 +11,10 @@ program cis ! ! This program can be useful in many cases: ! - ! # Ground state calculation + ! + ! Ground state calculation + ! + ! ------------------------ ! ! To be sure to have the lowest |SCF| solution, perform an :ref:`.scf.` ! (see the :ref:`hartree_fock` module), then a :ref:`.cis.`, save @@ -19,7 +22,9 @@ program cis ! :ref:`.scf.` optimization from this |MO| guess. ! ! - ! # Excited states calculations + ! Excited states calculations + ! + ! --------------------------- ! ! The lowest excited states are much likely to be dominated by ! single-excitations. Therefore, running a :ref:`.cis.` will save @@ -35,7 +40,9 @@ program cis ! the lowest :option:`determinants n_states`, whatever multiplicity ! they are. ! - ! # Note + ! Note + ! + ! ---- ! ! To discard some orbitals, use the :ref:`qp_set_mo_class` ! command to specify: