10
0
mirror of https://github.com/LCPQ/quantum_package synced 2024-06-02 11:25:26 +02:00

Working on doc

This commit is contained in:
Anthony Scemama 2019-01-16 11:47:09 +01:00
parent 0b1dc18342
commit fd93373543
75 changed files with 4400 additions and 4626 deletions

4
TODO
View File

@ -19,7 +19,7 @@ Problem with EMSL
* Molden format : http://cheminf.cmbi.ru.nl/molden/molden_format.html : read+write. Thomas est dessus
* Un module pour lire les integrales Moleculaires depuis un FCIDUMP
* Un module pour lire des integrales Atomiques (voir module de Mimi pour lire les AO Slater)
* Format Fchk (gaussian)
# Tests:
@ -64,3 +64,5 @@ qp_stop : pour forcer a terminer proprement le programme (kill clean)
Virer EMSL

View File

@ -2,17 +2,12 @@
export QP_ROOT=$(dirname $0)/..
python2 ${QP_ROOT}/scripts/hello.py
echo ""
echo " -- Quantum Package Shell -- "
echo ""
exec bash --init-file <(cat << EOF
[[ -f \${HOME}/.bashrc ]] && source \${HOME}/.bashrc
source \${QP_ROOT}/quantum_package.rc
qp prompt
bash --init-file <(cat << EOF
[[ -f /etc/bashrc ]] && source /etc/bashrc
source ${QP_ROOT}/quantum_package.rc
qp prompt
EOF
)
) -i $@

4
configure vendored
View File

@ -3,7 +3,7 @@
# Quantum Package configuration script
#
TEMP=`getopt -o c:i:h -l config:,install:,help -n $0 -- "$@"` || exit 1
TEMP=$(getopt -o c:i:h -l config:,install:,help -n $0 -- "$@") || exit 1
eval set -- "$TEMP"
export QP_ROOT="$( cd "$(dirname "$0")" ; pwd -P )"
@ -62,7 +62,7 @@ function execute () {
PACKAGES=""
OCAML_PACKAGES="ocamlbuild cryptokit zmq core sexplib ppx_sexp_conv ppx_deriving getopt"
while true : ; do
while true ; do
case "$1" in
-c|--config)
case "$2" in

View File

@ -1,3 +1,5 @@
* To reference the QP program prog, use :ref:`.prog.`
* See docs/source/_static/links.rst file for many useful macros
* option provider :option:`name_of_module provider`
* subroutine :c:func:`my_subroutine`

View File

@ -2,8 +2,11 @@
from __future__ import print_function
import os
import sys
import ConfigParser
from module_handler import get_binaries
def generate_modules(abs_module, entities):
MODULE = os.path.split(abs_module)[-1]
@ -37,16 +40,29 @@ def generate_modules(abs_module, entities):
rst += [ ".. option:: %s\n"%(section), doc, default ]
providers = []
subroutines = []
subroutines = {}
for k in sorted(entities.keys()):
e = entities[k]
if e["module"].lower() == module.lower():
if "/" not in e["file"] and e["file"] != "ezfio_interface.irp.f":
if e["type"] == 's':
subroutines.append(e)
subroutines[e["name"]] = e
elif e["type"] == 'p':
providers.append(e)
binaries = [ os.path.basename(f) for f in get_binaries(abs_module) ]
if binaries:
rst += ["", "Programs", "--------", ""]
for b in binaries:
try:
b = subroutines[b]
except KeyError:
print("Error: The program %s in %s does not have the same name as the file"%
(b, abs_module))
sys.exit(1)
rst += [" * :ref:`%s`"%(b["name"])]
if providers:
rst += [ "", "Providers", "---------", "" ]
for p in providers:
@ -72,7 +88,10 @@ def generate_modules(abs_module, entities):
if subroutines:
rst += [ "", "Subroutines / functions", "-----------------------", "" ]
for p in subroutines:
for p in sorted(subroutines.keys()):
p = subroutines[p]
if p["name"] in binaries:
continue
rst += [ """
.. c:function:: %s
@ -93,10 +112,21 @@ def generate_modules(abs_module, entities):
) ]
rst_file = os.path.join('modules',module+".rst")
with open(rst_file,'w') as f:
f.write("\n".join(rst))
f.write(" \n".join(rst))
for b in binaries:
rst = [
".. _.%s.:"%(b), "",
".. program:: %s"%(b), "",
"="*len(b), b, "="*len(b), "", "",
" ".join(subroutines[b]["doc"]), "",
"File: :file:`%s`"%(os.path.join(module, subroutines[b]["file"]))
]
rst_file = os.path.join('programs',b+".rst")
with open(rst_file,'w') as f:
f.write(" \n".join(rst))
@ -202,7 +232,7 @@ def generate_index(entities):
if e["type"] == 's':
rst.append("* :c:func:`%s`" % (e["name"]))
f.write("\n".join(rst))
f.write(" \n".join(rst))

View File

@ -395,7 +395,7 @@ Providers
File: :file:`selection.irp.f`
Weights in the state-average calculation of the density matrix
Weights used in the selection criterion

View File

@ -56,53 +56,16 @@ EZFIO parameters
Programs
--------
* :ref:`cis`
Subroutines / functions
-----------------------
.. c:function:: cis
.. code:: text
subroutine cis
File: :file:`cis.irp.f`
Configuration Interaction with Single excitations.
This program takes a reference Slater determinant of ROHF-like occupancy,
and performs all single excitations on top of it, disregarding spatial symmetry and compute the "n_states" lowest eigenstates of that CI matrix. (see :option:`determinants n_states`)
This program can be useful in many cases:
* GROUND STATE CALCULATION: to be sure to have the lowest scf solution, perform an :c:func:`scf` (see the :ref:`hartree_fock` module), then a :c:func:`cis`, save the natural orbitals (see :c:func:`save_natorb`) and reperform an :c:func:`scf` optimization from this MO guess
* EXCITED STATES CALCULATIONS: the lowest excited states are much likely to be dominanted by single-excitations. Therefore, running a :c:func:`cis` will save the "n_states" lowest states within the CIS space in the EZFIO folder, which can afterward be used as guess wave functions for a further multi-state fci calculation if you specify "read_wf" = True before running the fci executable (see :option:`determinants read_wf`). Also, if you specify "s2_eig" = True, the cis will only retain states having the good value :math:`S^2` value (see :option:`determinants s2_eig` and :option:`determinants expected_s2`). If "s2_eig" = False, it will take the lowest n_states, whatever multiplicity they are.
Note: if you would like to discard some orbitals, use :ref:`qp_set_mo_class` to specify:
* "core" orbitals which will be always doubly occupied
* "act" orbitals where an electron can be either excited from or to
* "del" orbitals which will be never occupied
.. c:function:: h_apply_cis
.. code:: text

View File

@ -54,51 +54,16 @@ EZFIO parameters
Programs
--------
* :ref:`cisd`
Subroutines / functions
-----------------------
.. c:function:: cisd
.. code:: text
subroutine cisd
File: :file:`cisd.irp.f`
Configuration Interaction with Single and Double excitations.
This program takes a reference Slater determinant of ROHF-like occupancy,
and performs all single and double excitations on top of it, disregarding spatial symmetry and compute the "n_states" lowest eigenstates of that CI matrix (see :option:`determinants n_states`).
This program can be useful in many cases:
* 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 solution, do the same strategy with the :c:func:`cisd` executable instead of the :c:func:`cis` exectuable to generate the natural orbitals as a guess for the :c:func:`scf`.
* EXCITED STATES CALCULATIONS: the lowest excited states are much likely to be dominanted by single- or double-excitations. Therefore, running a :c:func:`cisd` will save the "n_states" lowest states within the CISD space in the EZFIO folder, which can afterward be used as guess wave functions for a further multi-state fci calculation if you specify "read_wf" = True before running the fci executable (see :option:`determinants read_wf`). Also, if you specify "s2_eig" = True, the cisd will only retain states having the good value :math:`S^2` value (see :option:`determinants expected_s2` and :option:`determinants s2_eig`). If "s2_eig" = False, it will take the lowest n_states, whatever multiplicity they are.
Note: if you would like to discard some orbitals, use :ref:`qp_set_mo_class` to specify:
* "core" orbitals which will be always doubly occupied
* "act" orbitals where an electron can be either excited from or to
* "del" orbitals which will be never occupied
.. c:function:: h_apply_cisd
.. code:: text

View File

@ -69,9 +69,9 @@ EZFIO parameters
.. option:: used_weight
0: 1./(c_0^2), 1: 1/N_states, 2: input state-average weight, 3: 1/(Norm_L3(Psi))
Weight used in the calculation of the one-electron density matrix. 0: 1./(c_0^2), 1: 1/N_states, 2: input state-average weight, 3: 1/(Norm_L3(Psi))
Default: 0
Default: 1
.. option:: threshold_generators

View File

@ -35,6 +35,38 @@ Providers
---------
.. c:var:: ao_effective_one_e_potential
.. code:: text
double precision, allocatable :: ao_effective_one_e_potential (ao_num,ao_num,N_states)
double precision, allocatable :: ao_effective_one_e_potential_without_kin (ao_num,ao_num,N_states)
File: :file:`effective_pot.irp.f`
ao_effective_one_e_potential(i,j) = :math:`\rangle i_{AO}| v_{H}^{sr} |j_{AO}\rangle + \rangle i_{AO}| h_{core} |j_{AO}\rangle + \rangle i_{AO}|v_{xc} |j_{AO}\rangle`
.. c:var:: ao_effective_one_e_potential_without_kin
.. code:: text
double precision, allocatable :: ao_effective_one_e_potential (ao_num,ao_num,N_states)
double precision, allocatable :: ao_effective_one_e_potential_without_kin (ao_num,ao_num,N_states)
File: :file:`effective_pot.irp.f`
ao_effective_one_e_potential(i,j) = :math:`\rangle i_{AO}| v_{H}^{sr} |j_{AO}\rangle + \rangle i_{AO}| h_{core} |j_{AO}\rangle + \rangle i_{AO}|v_{xc} |j_{AO}\rangle`
.. c:var:: aos_dsr_vc_alpha_pbe_w
.. code:: text

View File

@ -71,6 +71,12 @@ EZFIO parameters
Programs
--------
* :ref:`fci`
* :ref:`pt2`
Providers
---------
@ -93,78 +99,6 @@ Subroutines / functions
.. c:function:: fci
.. code:: text
subroutine fci
File: :file:`fci.irp.f`
Selected Full Configuration Interaction with stochastic selection and PT2 .
This program performs a CIPSI-like selected CI using a stochastic scheme for both
the selection of the important Slater determinants and the computation of the PT2 correction.
This CIPSI-like algorithm will be performed for the "n_states" lowest states of the variational space (see :option:`determinants n_det_max`)
The fci program will stop when reaching at least one the two following conditions:
* number of Slater determinant > "n_det_max" (see :option:`determinants n_det_max`)
* |PT2| < "pt2_max" (see :option:`perturbation pt2_max`)
The following other options can be of interest:
If "read_wf" = False, it starts with a ROHF-like Slater determinant as a guess wave function.
If "read_wf" = True , it starts with the wave function(s) stored in the EZFIO folder as guess wave function(s).
(see :option:`determinants read_wf`)
If "s2_eig" = True, it will systematically add all necessary Slater determinants in order
to have a pure spin wave function with an :math:`S^2` value corresponding to "expected_s2".
(see :option:`determinants s2_eig` and :option:`determinants expected_s2`)
For excited states calculations, it is recommended to start with a :c:func:`cis` or :c:func:`cisd` guess wave functions
for the "n_states", and to set "s2_eig" = True.
.. c:function:: pt2
.. code:: text
subroutine pt2
File: :file:`pt2.irp.f`
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`).
The option for the PT2 correction are the "pt2_relative_error" which is the relative stochastic
error on the PT2 to reach before stopping the stochastic sampling. (see :option:`perturbation pt2_relative_error`)
.. c:function:: save_energy
.. code:: text

View File

@ -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

View File

@ -59,6 +59,11 @@ EZFIO parameters
Programs
--------
* :ref:`scf`
Providers
---------
@ -211,23 +216,3 @@ Subroutines / functions
Run SCF calculation
.. c:function:: scf
.. code:: text
subroutine scf
File: :file:`scf.irp.f`
Produce `Hartree_Fock` |MOs|
output: mo_basis.mo_num mo_basis.mo_label mo_basis.ao_md5 mo_basis.mo_coef mo_basis.mo_occ
output: hartree_fock.energy
optional: mo_basis.mo_coef

View File

@ -48,109 +48,15 @@ To start a calculation from scratch, the simplest way is to remove the
Programs
--------
* :ref:`ks_scf`
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
@ -168,81 +74,16 @@ 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`

View File

@ -56,10 +56,131 @@ EZFIO parameters
Programs
--------
* :ref:`rs_ks_scf`
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
@ -77,19 +198,53 @@ 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:: rs_ks_scf
.. c:function:: check_coherence_functional
.. code:: text
subroutine rs_ks_scf
subroutine check_coherence_functional
File: :file:`rs_ks_scf.irp.f`
Produce `Range_separated_Kohn_Sham` MO orbital output: mo_basis.mo_num mo_basis.mo_label mo_basis.ao_md5 mo_basis.mo_coef mo_basis.mo_occ output: kohn_sham.energy optional: mo_basis.mo_coef

View File

@ -92,7 +92,7 @@ EZFIO parameters
Stop stochastic |PT2| when the relative error is smaller than `PT2_relative_error`
Default: 0.005
Default: 0.002
.. option:: correlation_energy_ratio_max
@ -102,12 +102,6 @@ EZFIO parameters
Default: 1.00
.. option:: h0_type
Type of zeroth-order Hamiltonian [ EN | Barycentric | Variance | SOP ]
Default: EN
Providers
---------
@ -127,6 +121,19 @@ Providers
.. c:var:: h0_type
.. code:: text
character*32 :: h0_type
File: :file:`h0_type.irp.f`
Type of zeroth-order Hamiltonian
.. c:var:: max_exc_pert
.. code:: text

View File

@ -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

View File

@ -12,125 +12,25 @@ Useful tools are grouped in this module.
Programs
--------
* :ref:`diagonalize_h`
* :ref:`fcidump`
* :ref:`four_idx_transform`
* :ref:`molden`
* :ref:`print_e_conv`
* :ref:`print_wf`
* :ref:`save_natorb`
* :ref:`save_one_e_dm`
* :ref:`save_ortho_mos`
* :ref:`write_integrals_erf`
Subroutines / functions
-----------------------
.. c:function:: diagonalize_h
.. code:: text
subroutine diagonalize_h
File: :file:`diagonalize_h.irp.f`
Program that extracts the :option:`determinants n_states` lowest states of the Hamiltonian within the set of Slater determinants stored in the EZFIO folder.
If :option:`determinants s2_eig` = True, it will retain only states
which corresponds to the desired value of :option:`determinants expected_s2`.
.. c:function:: fcidump
.. code:: text
subroutine fcidump
File: :file:`fcidump.irp.f`
Produce a regular FCIDUMP file from the |MOs| stored in the |EZFIO| folder.
To specify an active space, the class of the mos have to set in the |EZFIO| folder (see :ref:`qp_set_mo_class`).
The fcidump program supports 3 types of MO_class :
* the "core" orbitals which are always doubly occupied in the calculation
* the "del" orbitals that are never occupied in the calculation
* the "act" orbitals that will be occupied by a varying number of electrons
.. c:function:: four_idx_transform
.. code:: text
subroutine four_idx_transform
File: :file:`four_idx_transform.irp.f`
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 can be useful if the AO --> MO transformation is an expensive step by itself.
.. c:function:: molden
.. code:: text
subroutine molden
File: :file:`molden.irp.f`
Produce a Molden file
.. c:function:: print_e_conv
.. code:: text
subroutine print_e_conv
File: :file:`print_e_conv.irp.f`
program that prints in a human readable format the convergence of the CIPSI algorithm.
for all istate, this program produces
* a file "EZFIO.istate.conv" containing the variational and var+PT2 energies as a function of N_det
* for istate > 1, a file EZFIO.istate.delta_e.conv containing the energy difference (both var and var+PT2) with the ground state as a function of N_det
.. c:function:: print_wf
.. code:: text
subroutine print_wf
File: :file:`print_wf.irp.f`
Print the ground state wave function stored in the |EZFIO| folder in the intermediate normalization.
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.
If the wave function strongly deviates from the first-order analysis, something funny is going on :)
.. c:function:: routine
.. code:: text
@ -173,66 +73,6 @@ Subroutines / functions
.. c:function:: save_natorb
.. code:: text
subroutine save_natorb
File: :file:`save_natorb.irp.f`
Save natural MOs into the EZFIO
This program reads the wave function stored in the EZFIO folder,
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 a state-averaged of the density matrices of each state with the corresponding state_average_weight (see the doc of state_average_weight).
.. c:function:: save_one_e_dm
.. code:: text
subroutine save_one_e_dm
File: :file:`save_one_e_dm.irp.f`
programs that computes the one body density on the mo basis for alpha and beta electrons from the wave function stored in the EZFIO folder, and then save it into the EZFIO folder 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.
This can be used to perform damping on the density in RS-DFT calculation (see the density_for_dft module).
.. c:function:: save_ortho_mos
.. code:: text
subroutine save_ortho_mos
File: :file:`save_ortho_mos.irp.f`
Save orthonormalized MOs in the EZFIO.
This program reads the current MOs, computes the corresponding overlap matrix in the MO basis
and perform a Lowdin orthonormalization : :math:`MO_{new} = S^{-1/2} MO_{guess}`.
Thanks to the Lowdin orthonormalization, the new MOs are the most similar to the guess MOs.
.. c:function:: write_ao_basis
.. code:: text
@ -261,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

View File

@ -104,4 +104,12 @@ After a `read` statement there should be no comma.
Only standard Fortran is allowed : Intel or GNU extensions are forbidden.
The name of a program should be the same as the name of the file. For example,
for the :ref:`fci` program, we have
.. code-block:: fortan
program fci
and the file is named :file:`fci.irp.f`.

View File

@ -26,6 +26,8 @@ Index of Providers
* :c:data:`ao_dipole_x`
* :c:data:`ao_dipole_y`
* :c:data:`ao_dipole_z`
* :c:data:`ao_effective_one_e_potential`
* :c:data:`ao_effective_one_e_potential_without_kin`
* :c:data:`ao_expo`
* :c:data:`ao_expo_ordered`
* :c:data:`ao_expo_ordered_transp`
@ -1090,6 +1092,8 @@ 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`
* :c:func:`list_to_bitstring`
@ -1289,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`
@ -1325,7 +1328,7 @@ 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`
* :c:func:`write_spindeterminants`

0
docs/source/programs/.gitignore vendored Normal file
View File

View File

@ -9,3 +9,11 @@ Index of commands
qp_*
Index of programs
=================
.. toctree::
:maxdepth: 1
:glob:
/programs/*

View File

@ -112,6 +112,7 @@ function qp()
"prompt")
shift
python2 $QP_ROOT/scripts/hello.py
function _check_ezfio() {
if [[ -d ${EZFIO_FILE} ]] ; then
printf "\e[0;32m|${EZFIO_FILE}>\e[m"

View File

@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
.TH "CONFIGURE" "1" "Jan 14, 2019" "2.0" "Quantum Package"
.TH "CONFIGURE" "1" "Jan 16, 2019" "2.0" "Quantum Package"
.SH NAME
configure \- | Quantum Package >
.

View File

@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
.TH "EXCITED_STATES" "1" "Jan 14, 2019" "2.0" "Quantum Package"
.TH "EXCITED_STATES" "1" "Jan 16, 2019" "2.0" "Quantum Package"
.SH NAME
excited_states \- | Quantum Package >
.

View File

@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
.TH "INTERFACES" "1" "Jan 14, 2019" "2.0" "Quantum Package"
.TH "INTERFACES" "1" "Jan 16, 2019" "2.0" "Quantum Package"
.SH NAME
interfaces \- | Quantum Package >
.

View File

@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
.TH "NATURAL_ORBITALS" "1" "Jan 14, 2019" "2.0" "Quantum Package"
.TH "NATURAL_ORBITALS" "1" "Jan 16, 2019" "2.0" "Quantum Package"
.SH NAME
natural_orbitals \- | Quantum Package >
.

View File

@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
.TH "PLUGINS" "1" "Jan 14, 2019" "2.0" "Quantum Package"
.TH "PLUGINS" "1" "Jan 16, 2019" "2.0" "Quantum Package"
.SH NAME
plugins \- | Quantum Package >
.

View File

@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
.TH "QP_CONVERT_OUTPUT_TO_EZFIO" "1" "Jan 14, 2019" "2.0" "Quantum Package"
.TH "QP_CONVERT_OUTPUT_TO_EZFIO" "1" "Jan 16, 2019" "2.0" "Quantum Package"
.SH NAME
qp_convert_output_to_ezfio \- | Quantum Package >
.
@ -32,31 +32,35 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
..
.sp
This Python script uses the \fI\%resultsFile\fP Python library to gather the
geometry, AOs and MOs from output files of \fI\%GAMESS\fP or Gaussian, and
puts this data in an \fI\%EZFIO\fP database. Some constraints are necessary in the
output file : the run needs to be a single point HF, DFT or CAS SCF\&.
geometry, AOs and MOs from output files of \fI\%GAMESS\fP or Gaussian, and puts
this data in an \fI\%EZFIO\fP database. Some constraints are necessary in the output
file : the run needs to be a single point HF, DFT or CAS SCF\&.
.SH USAGE
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
qp_convert_output_to_ezfio <FILE.out> [\-o <EZFIO_DIRECTORY>]
qp_convert_output_to_ezfio [\-o EZFIO_DIR] FILE
.ft P
.fi
.UNINDENT
.UNINDENT
.INDENT 0.0
.TP
.B \-o <EZFIO_DIRECTORY>
.B \-o, \-\-output=EZFIO_DIR
Renames the \fI\%EZFIO\fP directory. If this option is not present, the default
name fill be \fB<FILE.out>.ezfio\fP
name fill be \fBFILE.ezfio\fP
.UNINDENT
.sp
\fBNOTE:\fP
.INDENT 0.0
.INDENT 3.5
The following keywords are necessary for Gaussian
All the parameters of the wave functgion need to be presente in the output
file : complete description of the AO basis set, full set of molecular
orbitals, etc.
.sp
The following keywords are necessary for GAU$$IAN
.INDENT 0.0
.INDENT 3.5
.sp

View File

@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
.TH "QP_CREATE_EZFIO_FROM_XYZ" "1" "Jan 14, 2019" "2.0" "Quantum Package"
.TH "QP_CREATE_EZFIO_FROM_XYZ" "1" "Jan 16, 2019" "2.0" "Quantum Package"
.SH NAME
qp_create_ezfio_from_xyz \- | Quantum Package >
.
@ -39,17 +39,20 @@ This command creates an \fI\%EZFIO\fP directory from a standard \fIxyz\fP file o
.sp
.nf
.ft C
qp_create_ezfio_from_xyz [FLAGS] (<xyz_file> | <zmt_file>)
Flags :
\-b [\-au] [\-c int] [\-cart] [\-d float]
[\-m int] [\-o file] [\-p string] [\-help]
qp_create_ezfio_from_xyz [\-a] \-b <string> [\-c <int>] [\-d <float>]
[\-h] [\-m <int>] [\-o EZFIO_DIR] [\-p <string>] [\-x] [\-\-] FILE
.ft P
.fi
.UNINDENT
.UNINDENT
.INDENT 0.0
.TP
.B \-b <basis_name>
.B \-a, \-\-au
If present, input geometry is in atomic units.
.UNINDENT
.INDENT 0.0
.TP
.B \-b, \-\-basis=<string>
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:
@ -66,46 +69,47 @@ defined as follows:
.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<string>\fP is set to \fBshow\fP, the list of all available basis sets is
displayed.
.UNINDENT
.INDENT 0.0
.TP
.B \-au
If present, input geometry is in atomic units.
.UNINDENT
.INDENT 0.0
.TP
.B \-c <float>
.B \-c, \-\-charge=<int>
Total charge of the molecule. Default is 0.
.UNINDENT
.INDENT 0.0
.TP
.B \-cart
Compute AOs in the Cartesian basis set (6d, 10f, …)
.B \-d, \-\-dummy=<float>
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 \-d <float>
Add dummy atoms. x * (covalent radii of the atoms)
.B \-h, \-\-help
Print the help text and exit
.UNINDENT
.INDENT 0.0
.TP
.B \-m <int>
Spin multiplicity (2S+1) of the molecule. Default is 1.
.B \-m, \-\-multiplicity=<int>
Spin multiplicity 2S+1 of the molecule. Default is 1.
.UNINDENT
.INDENT 0.0
.TP
.B \-o <EZFIO_DIRECTORY>
.B \-o, \-\-output=EZFIO_DIR
Name of the created \fI\%EZFIO\fP directory.
.UNINDENT
.INDENT 0.0
.TP
.B \-p <string>
Name of the pseudo\-potential
.B \-p <string>, \-\-pseudo=<string>
Name of the pseudo\-potential. Follows the same conventions as the basis set.
.UNINDENT
.INDENT 0.0
.TP
.B \-help, \-?
Print the help text and exit
.B \-x, \-\-cart
Compute AOs in the Cartesian basis set (6d, 10f, …)
.UNINDENT
.SH USING CUSTOM ATOMIC BASIS SETS
.sp
@ -124,8 +128,8 @@ qp_create_ezfio_from_xyz \-b custom.basis molecule.xyz
.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
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
@ -177,10 +181,10 @@ D 1
.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
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
@ -193,12 +197,11 @@ qp_create_ezfio_from_xyz \-b custom.basis \-p custom.pseudo molecule.xyz
.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
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

View File

@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
.TH "QP_EDIT" "1" "Jan 14, 2019" "2.0" "Quantum Package"
.TH "QP_EDIT" "1" "Jan 16, 2019" "2.0" "Quantum Package"
.SH NAME
qp_edit \- | Quantum Package >
.
@ -33,15 +33,16 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.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.
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.
environment variable. If this variable is not set, the \fBvi\fP
text editor will be used by default.
.UNINDENT
.UNINDENT
.sp
@ -58,43 +59,46 @@ determinants are not displayed.
.sp
.nf
.ft C
qp_edit [FLAGS] <EZFIO_DIRECTORY>
Flags :
[\-c] [\-ndet int]
[\-state int] [\-help]
qp_edit [\-c] [\-h] [\-n <int>] [\-s <range>] [\-\-] EZFIO_DIR
.ft P
.fi
.UNINDENT
.UNINDENT
.INDENT 0.0
.TP
.B \-c
.B \-c, \-\-check
Checks the input data
.UNINDENT
.INDENT 0.0
.TP
.B \-ndet <int>
.B \-h, \-\-help
Print the help text and exits
.UNINDENT
.INDENT 0.0
.TP
.B \-n, \-\-ndet=<int>
Truncates the wavefunction to the target number of determinants
.UNINDENT
.INDENT 0.0
.TP
.B \-state <int>
Pick the target state as a new wavefunction.
.B \-s, \-\-state=<range>
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
.TP
.B \-help
Print the help text and exits
.INDENT 3.5
.sp
.nf
.ft C
qp_edit \-\-state="[1,3\-5]" test.ezfio
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
Here is a short list of important control parameters :
.INDENT 0.0
.TP
.B read_wf
If \fBfalse\fP, initialize the calculation with a single\-determinant wave
function. If \fBtrue\fP, initialize the calculation with the wave function stored
in the \fI\%EZFIO\fP directory.
.UNINDENT
Removes all states except states 1,3,4 and 5 from \fBtest.ezfio\fP\&. The
resulting \fI\%EZFIO\fP directory has 4 states.
.SH AUTHOR
A. Scemama, E. Giner
.SH COPYRIGHT

View File

@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
.TH "QP_EXPORT_AS_TGZ" "1" "Jan 14, 2019" "2.0" "Quantum Package"
.TH "QP_EXPORT_AS_TGZ" "1" "Jan 16, 2019" "2.0" "Quantum Package"
.SH NAME
qp_export_as_tgz \- | Quantum Package >
.
@ -31,28 +31,34 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
.sp
In some HPC facilities, the access to the internet is limited for security reasons.
In such an environment, the installation of \fIQuantum Package\fP is sometimes very painful because
the OCaml compiler and the libraries cant be installed by a non\-root user.
In some HPC facilities, the access to the internet is limited for security
reasons. In such an environment, the installation of \fIQuantum Package\fP is sometimes very
painful because the OCaml compiler and the libraries cant be installed by a
non\-root user.
.sp
This command creates a self\-contained binary distribution in the form of a \fItar.gz\fP file
that can be copied on another machine.
This command creates a self\-contained binary distribution in the form of a
\fItar.gz\fP file that can be copied on another machine.
.SH USAGE
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
qp_export_as_tgz
qp_export_as_tgz [\-h|\-\-help]
.ft P
.fi
.UNINDENT
.UNINDENT
.INDENT 0.0
.TP
.B \-h, \-\-help
Prints the help message
.UNINDENT
.sp
\fBNOTE:\fP
.INDENT 0.0
.INDENT 3.5
There can be conflicts due to the version of Glibc. The machine on which \fIQuantum Package\fP is
There can be conflicts due to the version of glibc. The machine on which \fIQuantum Package\fP is
compiled should be the oldest one.
.UNINDENT
.UNINDENT

View File

@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
.TH "QP_PLUGINS" "1" "Jan 14, 2019" "2.0" "Quantum Package"
.TH "QP_PLUGINS" "1" "Jan 16, 2019" "2.0" "Quantum Package"
.SH NAME
qp_plugins \- | Quantum Package >
.
@ -33,18 +33,18 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.sp
This command deals with all external plugins of \fIQuantum Package\fP\&. Plugin repositories can
be downloaded, and the plugins in these repositories can be
installed/uninstalled of created.
installed/uninstalled or created.
.SH USAGE
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
qp_plugins list [ \-i | \-u | \-q ]
qp_plugins list [\-i] [\-u] [\-q]
qp_plugins download <url>
qp_plugins install <name>...
qp_plugins uninstall <name>
qp_plugins create \-n <name> [\-r <repository>] [<needed_modules>...]
qp_plugins create \-n <name> [\-r <repo>] [<needed_modules>...]
.ft P
.fi
.UNINDENT
@ -56,17 +56,17 @@ List all the available plugins.
.UNINDENT
.INDENT 0.0
.TP
.B \-i
.B \-i, \-\-installed
List all the \fIinstalled\fP plugins.
.UNINDENT
.INDENT 0.0
.TP
.B \-u
.B \-u, \-\-uninstalled
List all the \fIuninstalled\fP plugins.
.UNINDENT
.INDENT 0.0
.TP
.B \-q
.B \-q, \-\-repositories
List all the downloaded repositories.
.UNINDENT
.INDENT 0.0
@ -93,19 +93,21 @@ Uninstall the plugin \fBplugin_name\fP\&.
.UNINDENT
.INDENT 0.0
.TP
.B \-n <plugin_name>
.B \-n, \-\-name=<plugin_name>
Create a new plugin named \fBplugin_name\fP (in local repository by default).
.UNINDENT
.INDENT 0.0
.TP
.B \-r <repository>
.B \-r, \-\-repository=<repo>
Specify in which repository the new plugin will be created.
.UNINDENT
.SH EXAMPLE
.sp
Let us download, install and compile some specific external plugins from \fI\%https://gitlab.com/eginer/qp_plugins_eginer\fP .
Let us download, install and compile some specific external plugins from
\fI\%https://gitlab.com/eginer/qp_plugins_eginer\fP .
.sp
First, download the git repo associated to these plugins. To do so, first go to the \fIplugins\fP directory in the \fIQuantum Package\fP and execute:
First, download the git repo associated to these plugins. To do so, first go
to the \fIplugins\fP directory in the \fIQuantum Package\fP and execute:
.INDENT 0.0
.INDENT 3.5
.sp
@ -117,8 +119,8 @@ qp_plugins download https://gitlab.com/eginer/qp_plugins_eginer
.UNINDENT
.UNINDENT
.sp
This will create in the directory \fIplugins\fP a local copy of the git repo located at the URL you indicated.
Then, go in \fIqp_plugins_eginer/stable/\fP
This will create in the directory \fIplugins\fP a local copy of the git repo
located at the URL you indicated. Then, go in \fIqp_plugins_eginer/stable/\fP
.INDENT 0.0
.INDENT 3.5
.sp
@ -130,8 +132,9 @@ cd qp_plugins_eginer/stable/
.UNINDENT
.UNINDENT
.sp
In the directory \fIstable\fP, there are many directories which all correspond to a specific plugin that have been developed
by the person in charge of the git repo. All these plugins might use some global variables and routines contained
In the directory \fIstable\fP, there are many directories which all correspond to a
specific plugin that have been developed by the person in charge of the git
repo. All these plugins might use some global variables and routines contained
in the core modules of the \fIQuantum Package\fP\&.
.sp
Now let us install the plugin \fIrsdft_cipsi\fP:
@ -146,10 +149,13 @@ qp_plugins install rsdft_cipsi
.UNINDENT
.UNINDENT
.sp
This will link this directory to the \fIQuantum Package\fP which means that when the code will be compiled, this plugin will be compiled to and therefore
all the executables/scripts/input keywords contained in this module will be available as if there were part of the core of the \fIQuantum Package\fP\&.
This will link this directory to the \fIQuantum Package\fP which means that when the code will
be compiled, this plugin will be compiled to and therefore all the
executables/scripts/input keywords contained in this module will be available
as if there were part of the core of the \fIQuantum Package\fP\&.
.sp
Then, to compile the new plugin, just recompile the \fIQuantum Package\fP as usual by going at the root of the \fIQuantum Package\fP directory:
Then, to compile the new plugin, just recompile the \fIQuantum Package\fP as usual by going at
the root of the \fIQuantum Package\fP directory:
.INDENT 0.0
.INDENT 3.5
.sp
@ -162,8 +168,9 @@ ninja
.UNINDENT
.UNINDENT
.sp
Then, if you go back to the plugin directory you just installed, you should see all the executables/scripts which have been created and
which are now available with the \fIqp_run\fP command.
Finally, if you go back to the plugin directory you just installed, you should see
all the executables/scripts which have been created and which are now available
with the \fIqp_run\fP command.
.SH AUTHOR
A. Scemama, E. Giner
.SH COPYRIGHT

View File

@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
.TH "QP_RUN" "1" "Jan 14, 2019" "2.0" "Quantum Package"
.TH "QP_RUN" "1" "Jan 16, 2019" "2.0" "Quantum Package"
.SH NAME
qp_run \- | Quantum Package >
.
@ -38,8 +38,7 @@ Command used to run a calculation.
.sp
.nf
.ft C
qp_run [\-h|\-\-help] [\-p <string>|\-\-prefix=<string>] [\-s|\-\-slave] [\-\-]
PROGRAM EZFIO_DIR
qp_run [\-h] [\-p <string>] [\-s] [\-\-] PROGRAM EZFIO_DIR
.ft P
.fi
.UNINDENT

View File

@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
.TH "QP_SET_FROZEN_CORE" "1" "Jan 14, 2019" "2.0" "Quantum Package"
.TH "QP_SET_FROZEN_CORE" "1" "Jan 16, 2019" "2.0" "Quantum Package"
.SH NAME
qp_set_frozen_core \- | Quantum Package >
.
@ -46,7 +46,7 @@ zero.
.sp
.nf
.ft C
qp_set_frozen_core [\-q] <EZFIO_DIRECTORY>
qp_set_frozen_core [\-q] EZFIO_DIR
.ft P
.fi
.UNINDENT

View File

@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
.TH "QP_SET_MO_CLASS" "1" "Jan 14, 2019" "2.0" "Quantum Package"
.TH "QP_SET_MO_CLASS" "1" "Jan 16, 2019" "2.0" "Quantum Package"
.SH NAME
qp_set_mo_class \- | Quantum Package >
.
@ -67,49 +67,42 @@ can be used.
.sp
.nf
.ft C
qp_set_mo_class [FLAGS] <EZFIO_DIRECTORY>
Flags:
[\-act range] [\-core range] [\-del range]
[\-inact range] [\-q] [\-virt range]
[\-help]
qp_set_mo_class [\-a <range>] [\-c <range>] [\-d <range>] [\-h] [\-i <range>]
[\-q] [\-v <range>] [\-\-] EZFIO_DIR
.ft P
.fi
.UNINDENT
.UNINDENT
.INDENT 0.0
.TP
.B \-act <range>
.B \-a, \-\-act=<range>
Range of active orbitals
.UNINDENT
.INDENT 0.0
.TP
.B \-core <range>
.B \-c, \-\-core=<range>
Range of core orbitals
.UNINDENT
.INDENT 0.0
.TP
.B \-del <range>
.B \-d, \-\-del=<range>
Range of deleted orbitals
.UNINDENT
.INDENT 0.0
.TP
.B \-inact <range>
.B \-i, \-\-inact=<range>
Range of inactive orbitals
.UNINDENT
.INDENT 0.0
.TP
.B \-q
Query: print the current masks
.B \-q, \-\-query
Print the MO classes
.UNINDENT
.INDENT 0.0
.TP
.B \-virt <range>
.B \-v, \-\-virt=<range>
Range of virtual orbitals
.UNINDENT
.INDENT 0.0
.TP
.B \-help, \-?
.UNINDENT
.SH AUTHOR
A. Scemama, E. Giner
.SH COPYRIGHT

View File

@ -96,7 +96,7 @@ ______________________________________________/\\\_________
""".replace(r"\\","\033[0;34m\\\\\033[m"), """
_ _ _ _ _ _ _ _
(c).-.(c) (c).-.(c) (c).-.(c) (c).-.(c)
/ ._. \ / ._. \ / ._. \ / ._. \
/ ._. \ / ._. \ / ._. \ / ._. \\
__\( Y )/__ __\( Y )/__ __\( Y )/__ __\( Y )/__
(_.-/'-'\-._)(_.-/'-'\-._)(_.-/'-'\-._)(_.-/'-'\-._)
|| \033[0;32mQ\033[m || || \033[0;32mP\033[m || || \033[0;32mS\033[m || || \033[0;32mH\033[m ||
@ -132,6 +132,8 @@ _ __ `/___ __ \__ ___/__ __ \
""" ]
print random.choice(hello)
print "\n -- Quantum Package Shell --\n"
if __name__ == "__main__":

View File

@ -346,11 +346,8 @@ if __name__ == '__main__':
if ARGUMENTS["--output"]:
EZFIO_FILE = get_full_path(ARGUMENTS["--output"])
elif ARGUMENTS["-o"]:
EZFIO_FILE = get_full_path(ARGUMENTS["-o"])
else:
EZFIO_FILE = "{0}.ezfio".format(FILE)
print EZFIO_FILE
try:
RES_FILE = getFile(FILE)

View File

@ -1,45 +1,51 @@
program cis
implicit none
BEGIN_DOC
!
! Configuration Interaction with Single excitations.
!
! This program takes a reference Slater determinant of ROHF-like occupancy,
!
! and performs all single excitations on top of it, disregarding spatial
! symmetry and compute the "n_states" lowest eigenstates of that CI matrix.
! (see :option:`determinants n_states`)
! This program takes a reference Slater determinant of ROHF-like
! occupancy, and performs all single excitations on top of it.
! Disregarding spatial symmetry, it computes the `n_states` lowest
! eigenstates of that CI matrix. (see :option:`determinants n_states`)
!
! This program can be useful in many cases:
!
! * GROUND STATE CALCULATION: to be sure to have the lowest scf solution,
! perform an :c:func:`scf` (see the :ref:`hartree_fock` module), then a :c:func:`cis`,
! save the natural orbitals (see :c:func:`save_natorb`) and reperform an :c:func:`scf`
! optimization from this MO guess
! # 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
!
! 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.
!
! * EXCITED STATES CALCULATIONS: the lowest excited states are much likely to
! be dominanted by single-excitations.
! Therefore, running a :c:func:`cis` will save the "n_states" lowest states within
! the CIS space
! in the EZFIO folder, which can afterward be used as guess wave functions
! for a further multi-state fci calculation if you specify "read_wf" = True
! before running the fci executable (see :option:`determinants read_wf`).
! Also, if you specify "s2_eig" = True, the cis will only retain states
! having the good value :math:`S^2` value (see :option:`determinants
! s2_eig` and :option:`determinants expected_s2`).
! If "s2_eig" = False, it will take the lowest n_states, whatever multiplicity they are.
! 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
!
! To discard some orbitals, use the :ref:`qp_set_mo_class`
! command to specify:
!
! Note: if you would like to discard some orbitals, use :ref:`qp_set_mo_class` to specify:
! * *core* orbitals which will be always doubly occupied
!
! * "core" orbitals which will be always doubly occupied
! * *act* orbitals where an electron can be either excited from or to
!
! * "act" orbitals where an electron can be either excited from or to
! * *del* orbitals which will be never occupied
!
! * "del" orbitals which will be never occupied
END_DOC
read_wf = .False.
SOFT_TOUCH read_wf

View File

@ -1,4 +1,4 @@
program srs_ks_cf
program ks_scf
BEGIN_DOC
! Produce `Kohn_Sham` MO orbital
! output: mo_basis.mo_num mo_basis.mo_label mo_basis.ao_md5 mo_basis.mo_coef mo_basis.mo_occ

View File

@ -1,4 +1,4 @@
program write_integrals
program write_integrals_erf
implicit none
BEGIN_DOC
! Saves the two-electron integrals with the :math:`erf(\mu r_{12})/r_{12}` oprerator into the EZFIO folder