10
0
mirror of https://github.com/LCPQ/quantum_package synced 2024-10-19 14:31:44 +02:00
This commit is contained in:
Anthony Scemama 2018-12-28 19:12:53 +01:00
parent 0aa04f1f30
commit 56fd098580
46 changed files with 121 additions and 72 deletions

View File

@ -10,6 +10,13 @@ AO_one_e_integrals
All the one-electron integrals in the |AO| basis are here.
The most important providers for usual quantum-chemistry calculation are:
# `ao_kinetic_integral` which are the kinetic operator integrals on the |AO| basis (see :file:`kin_ao_ints.irp.f`)
# `ao_nucl_elec_integral` which are the nuclear-elctron operator integrals on the |AO| basis (see :file:`pot_ao_ints.irp.f`)
# `ao_mono_elec_integral` which are the the h_core operator integrals on the |AO| basis (see :file:`ao_mono_ints.irp.f`)
Note that you can find other interesting integrals related to the position operator in :file:`spread_dipole_ao.irp.f`.

View File

@ -4,13 +4,20 @@
.. default-role:: option
============
Data energy and density
============
==============
aux_quantities
==============
This module contains some global variables (such as densities and energies) which are stored in the EZFIO folder in a different place than determinants. This is used in practice to store density matrices which can be obtained from any methods, as long as they are stored in the same MO basis which is used for the calculations. In |RS-DFT| calculations, this can be done to perform damping on the density in order to speed up convergence.
The main providers of that module are:
# `data_one_body_alpha_dm_mo` and `data_one_body_beta_dm_mo` which are the one-body alpha and beta densities which are necessary read from the EZFIO folder.
Thanks to these providers you can use any density matrix that does not necessary corresponds to that of the current wave function.
EZFIO parameters

View File

@ -5,13 +5,20 @@
.. default-role:: option
====================
Becke Numerical Grid
becke_numerical_grid
====================
This module contains all quantities needed to build the Becke's grid used in general for DFT integration. Note that it can be used for whatever integration in R^3 as long as the functions to be integrated are mostly concentrated near the atomic regions.
This grid is built as the reunion of a spherical grid around each atom. Each spherical grid contains a certain number of radial and angular points.
The main providers of that module are:
# :option:`becke_numerical_grid n_points_integration_angular` which is the number of angular integration points. WARNING: it obeys to specific rules so it cannot be any integer number. Some of the possible values are [ 50 | 74 | 266 | 590 | 1202 | 2030 | 5810 ] for instance. See :file:`angular.f` for more details.
# :option:`becke_numerical_grid n_points_radial_grid` which is the number of radial angular points. This can be any strictly positive integer. Nevertheless, a minimum of 50 is in general necessary.
# `final_grid_points` which are the (x,y,z) coordinates of the grid points.
# `final_weight_at_r_vector` which are the weights at each grid point
For a simple example of how to use the grid, see :file:`example.irp.f`.
The spherical integration uses Lebedev-Laikov grids, which was used from the code distributed through CCL (http://www.ccl.net/).

View File

@ -14,7 +14,10 @@ a dressing is used, the dressing column should be defined and the
:ref:`davidsondressed` module should be used. If no dressing is required,
the :ref:`davidson` module should be used, and it has a default zero dressing vector.
The important providers for that module are:
# `psi_energy` which is the expectation value over the wave function (`psi_det`, `psi_coef`) of the Hamiltonian, dressed or not. It uses the general subroutine `u_0_H_u_0`.
# `psi_energy_bielec` which is the expectation value over the wave function (`psi_det`, `psi_coef`) of the standard two-electrons coulomb operator. It uses the general routine `u_0_H_u_0_bielec`.

View File

@ -10,6 +10,22 @@ Determinants
Contains everything for the computation of the Hamiltonian matrix elements in the basis of orthogonal Slater determinants built on a restricted spin-orbitals basis.
The main providers for this module are:
# :option:`determinants n_states`: number of states to be computed
# `psi_det`: list of determinants in the wave function used in many routines/providers of the |QP|.
# `psi_coef`: list of coefficients, for all :option:`determinants n_states` states, and all determinants.
The main routines for this module are:
# `i_H_j`: computes the Hamiltonian matrix element between two arbitrary Slater determinants.
# `i_H_j_s2`: computes the Hamiltonian and (:math:`S^2`) matrix element between two arbitrary Slater determinants.
# `i_H_j_verbose`: returns the decomposition in terms of one- and two-body components of the Hamiltonian matrix elements between two arbitrary Slater determinants. Also return the fermionic phase factor.
# `i_H_psi`: computes the Hamiltonian matrix element between an arbitrary Slater determinant and a wave function composed of a sum of arbitrary Slater determinants.
For an example of how to use these routines and providers, take a look at :file:`example.irp.f`.
EZFIO parameters

View File

@ -5,18 +5,19 @@
.. default-role:: option
============
DFT Keywords
dft_keywords
============
This module contains the main keywords related to a DFT calculation or RS-DFT calculation, such as:
# :option:exchange_functional
# :option:correlation_functional
# :option:HF_exchange : only relevent for the :ref:`ks_scf` program
# :option:density_for_dft : mainly relevent for multi-determinant range separated DFT, see the plugins of eginer.
# :option:`dft_keywords exchange_functional`
# :option:`dft_keywords correlation_functional`
# :option:`dft_keywords HF_exchange` : only relevent for the :ref:`ks_scf` program
The keyword for the range separation parameter :math:`\mu` is the :option:`ao_two_e_erf_integrals mu_erf` keyword.
The keyword for the type of density used in RS-DFT calculation with a multi-configurational wave function is the :option:`density_for_dft density_for_dft` keyword.
EZFIO parameters

View File

@ -13,7 +13,7 @@ The |MOs| belonging to the |CAS| are those which were set as active with
the :ref:`qp_set_mo_class` command.
This module is intended to be included in the :file:`NEED` file to define
generators on a |CAS|.
the generators as the |CAS| determinants, which can be useful to define post-CAS approaches (see cassd module for instance).

View File

@ -5,11 +5,18 @@
.. default-role:: option
==================
MO_one_e_integrals
mo_one_e_integrals
==================
All the one-electron integrals in |MO| basis are defined here.
The most important providers for usual quantum-chemistry calculation are:
# `mo_kinetic_integral` which are the kinetic operator integrals on the |AO| basis (see :file:`kin_mo_ints.irp.f`)
# `mo_nucl_elec_integral` which are the nuclear-elctron operator integrals on the |AO| basis (see :file:`pot_mo_ints.irp.f`)
# `mo_mono_elec_integral` which are the the h_core operator integrals on the |AO| basis (see :file:`mo_mono_ints.irp.f`)
Note that you can find other interesting integrals related to the position operator in :file:`spread_dipole_mo.irp.f`.

View File

@ -10,11 +10,11 @@ scf_utils
The scf_utils module performs *Restricted* SCF calculations (the
The scf_utils module is an abstract module which contains the basics to perform *Restricted* SCF calculations (the
spatial part of the |MOs| is common for alpha and beta spinorbitals) based on a single-determinant wave function.
This module does not produce any executable *and must not do*, but instead it contains everything one needs to perform an orbital optimization based on an Fock matrix.
The ``scf_utils`` module is included in the :file:`NEED` of the various single determinant SCF procedures, such as ``hartree_fock`` or ``kohn_sham``, where a specific definition of the Fock matrix is given (see :file:`hartree_fock fock_matrix_hf.irp.f` for an example).
The ``scf_utils`` module is meant to be included in the :file:`NEED` of the various single determinant SCF procedures, such as ``hartree_fock`` or ``kohn_sham``, where a specific definition of the Fock matrix is given (see :file:`hartree_fock fock_matrix_hf.irp.f` for an example).
All SCF programs perform the following actions:

View File

@ -43,7 +43,7 @@ The file :file:`hcn.xyz` contains::
N 0.0 0.0 -1.156
This xyz file is now used with the :command:`qp_create_ezfio_from_xyz` command to
This xyz file is now used with the :ref:`qp_create_ezfio_from_xyz` command to
create an |EZFIO| database with the 6-31G basis set:
.. code:: bash

View File

@ -1,5 +1,5 @@
========
AO_Basis
ao_basis
========
This module describes the atomic orbitals basis set.

View File

@ -1,5 +1,5 @@
==================
AO_one_e_integrals
ao_one_e_integrals
==================
All the one-electron integrals in the |AO| basis are here.

View File

@ -1,5 +1,5 @@
==============
Bitmask Module
bitmask module
==============
The central part of this module is the :file:`bitmasks_module.f90` file. It contains

View File

@ -1,5 +1,5 @@
===
CIS
cis
===
This module contains a CIS program, built by setting the following rules:

View File

@ -1,5 +1,5 @@
====
CISD
cisd
====
This module contains a CISD program, built by setting the following rules:

View File

@ -1,6 +1,6 @@
==============
Davidson_Utils
==============
========
davidson
========
Abstract module for Davidson's diagonalization.
It contains everything required for the Davidson algorithm, dressed or not. If

View File

@ -1,6 +1,6 @@
===============
DavidsonDressed
===============
================
davidson_dressed
================
Davidson with single-column dressing.

View File

@ -1,6 +1,6 @@
=================
DavidsonUndressed
=================
==================
davidson_undressed
==================
Module for main files Davidson's algorithm with no dressing.

View File

@ -1,5 +1,5 @@
============
Determinants
determinants
============
Contains everything for the computation of the Hamiltonian matrix elements in the basis of orthogonal Slater determinants built on a restricted spin-orbitals basis.

View File

@ -2,6 +2,6 @@
dress_zmq
=========
Module to facilitate the construction of modules using dressed Hamiltonians, parallelized
with |ZeroMQ|.
Module to facilitate the construction of modules using dressed
Hamiltonians, parallelized with |ZeroMQ|.

View File

@ -1,9 +1,9 @@
=========
Electrons
electrons
=========
Describes the electrons. For the moment, only the number of alpha and beta electrons
are provided by this module.
Describes the electrons. For the moment, only the number of alpha
and beta electrons are provided by this module.
Assumptions

View File

@ -1,5 +1,5 @@
===========
Ezfio_files
ezfio_files
===========
This modules essentially contains the name of the |EZFIO| directory in the

View File

@ -1,5 +1,5 @@
===
FCI
fci
===
Selected Full Configuration Interaction.

View File

@ -1,5 +1,5 @@
==============
Generators_CAS
generators_cas
==============
Module defining the generator determinants as those belonging to a |CAS|.

View File

@ -1,5 +1,5 @@
===============
Generators_full
generators_full
===============
Module defining the generator determinants as all the determinants of the

View File

@ -1,5 +1,5 @@
============
Hartree-Fock
hartree_fock
============

View File

@ -1,5 +1,6 @@
=============
IterativeSave
=============
==========
iterations
==========
Module which saves the computed energies for an extrapolation to the |FCI| limit.
Module which saves the computed energies for an extrapolation to
the |FCI| limit.

View File

@ -1,6 +1,6 @@
============
Kohn-Sham
============
=========
kohn_sham
=========
The Kohn-Sham module performs *Restricted* Kohn-Sham calculations (the

View File

@ -1,6 +1,6 @@
=========================
Range-separated Kohn-Sham
=========================
============
kohn_sham_rs
============
The Range-separated Kohn-Sham module performs *Restricted* Kohn-Sham calculations (the

View File

@ -1,5 +1,5 @@
========
MO_Basis
mo_basis
========
Molecular orbitals are expressed as

View File

@ -1,6 +1,6 @@
=======
MOGuess
=======
========
mo_guess
========
Guess for |MOs|.

View File

@ -1,6 +1,6 @@
================
Integrals_Bielec
================
==================
mo_two_e_integrals
==================
Here, all two-electron integrals (:math:`1/r_{12}`) are computed.
As they have 4 indices and many are zero, they are stored in a map, as defined

View File

@ -1,5 +1,5 @@
===
MPI
mpi
===
Contains all the functions and providers for parallelization with |MPI|.

View File

@ -1,5 +1,5 @@
======
Nuclei
nuclei
======
This module contains data relative to the nuclei (coordinates, charge,

View File

@ -1,5 +1,5 @@
============
Perturbation
perturbation
============

View File

@ -1,5 +1,5 @@
======
Pseudo
pseudo
======
This module defines the |EZFIO| parameters of the effective core potentials.

View File

@ -1,5 +1,5 @@
==========
Psiref_CAS
psiref_cas
==========
Reference wave function is defined as a |CAS| wave function.

View File

@ -1,5 +1,5 @@
============
Psiref_Utils
psiref_utils
============

View File

@ -1,5 +1,5 @@
===============
Selectors_CASSD
selectors_cassd
===============
Selectors for |CAS-SD| calculations. The selectors are defined as first the

View File

@ -1,5 +1,5 @@
==============
Selectors_full
selectors_full
==============
All the determinants are possible selectors. Only the largest contributions are kept, where

View File

@ -1,5 +1,5 @@
===============
Selectors_Utils
selectors_utils
===============
Helper functions for selectors.

View File

@ -1,6 +1,6 @@
===============
SingleDetMethod
===============
=================
single_ref_method
=================
Include this module for single reference methods.
Using this module, the only generator determinant is the Hartree-Fock determinant.

View File

@ -1,5 +1,5 @@
=====
Slave
slave
=====
Slave processes for distributed parallelism.

View File

@ -1,5 +1,5 @@
=====
Tools
tools
=====
Useful tools are grouped in this module.

View File

@ -1,5 +1,5 @@
=====
Utils
utils
=====
Contains general purpose utilities (sorting, maps, etc).

View File

@ -1,5 +1,5 @@
===
ZMQ
zmq
===
Definition of |ZeroMQ| sockets and messages.