10
0
mirror of https://github.com/LCPQ/quantum_package synced 2024-10-19 22:41:48 +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. 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 .. 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. 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 EZFIO parameters

View File

@ -5,13 +5,20 @@
.. default-role:: option .. 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 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. 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`. 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/). 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, :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 :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. 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 EZFIO parameters

View File

@ -5,18 +5,19 @@
.. default-role:: option .. default-role:: option
============ ============
DFT Keywords dft_keywords
============ ============
This module contains the main keywords related to a DFT calculation or RS-DFT calculation, such as: This module contains the main keywords related to a DFT calculation or RS-DFT calculation, such as:
# :option:exchange_functional # :option:`dft_keywords exchange_functional`
# :option:correlation_functional # :option:`dft_keywords correlation_functional`
# :option:HF_exchange : only relevent for the :ref:`ks_scf` program # :option:`dft_keywords 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.
The keyword for the range separation parameter :math:`\mu` is the :option:`ao_two_e_erf_integrals mu_erf` keyword. 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 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. the :ref:`qp_set_mo_class` command.
This module is intended to be included in the :file:`NEED` file to define 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 .. default-role:: option
================== ==================
MO_one_e_integrals mo_one_e_integrals
================== ==================
All the one-electron integrals in |MO| basis are defined here. 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. 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. 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: 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 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: create an |EZFIO| database with the 6-31G basis set:
.. code:: bash .. code:: bash

View File

@ -1,5 +1,5 @@
======== ========
AO_Basis ao_basis
======== ========
This module describes the atomic orbitals basis set. 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. 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 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: 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: 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. Abstract module for Davidson's diagonalization.
It contains everything required for the Davidson algorithm, dressed or not. If 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. Davidson with single-column dressing.

View File

@ -1,6 +1,6 @@
================= ==================
DavidsonUndressed davidson_undressed
================= ==================
Module for main files Davidson's algorithm with no dressing. 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. 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 dress_zmq
========= =========
Module to facilitate the construction of modules using dressed Hamiltonians, parallelized Module to facilitate the construction of modules using dressed
with |ZeroMQ|. 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 Describes the electrons. For the moment, only the number of alpha
are provided by this module. and beta electrons are provided by this module.
Assumptions Assumptions

View File

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

View File

@ -1,5 +1,5 @@
=== ===
FCI fci
=== ===
Selected Full Configuration Interaction. 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|. 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 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 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 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 Molecular orbitals are expressed as

View File

@ -1,6 +1,6 @@
======= ========
MOGuess mo_guess
======= ========
Guess for |MOs|. 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. 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 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|. 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, 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. 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. 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 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 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. Helper functions for selectors.

View File

@ -1,6 +1,6 @@
=============== =================
SingleDetMethod single_ref_method
=============== =================
Include this module for single reference methods. Include this module for single reference methods.
Using this module, the only generator determinant is the Hartree-Fock determinant. 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. Slave processes for distributed parallelism.

View File

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

View File

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

View File

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