mirror of
https://github.com/LCPQ/quantum_package
synced 2024-10-19 22:41:48 +02:00
Merge branch 'scemama-master' into toto
This commit is contained in:
commit
b14c2de57f
@ -36,4 +36,4 @@ python:
|
||||
script:
|
||||
- ./configure --install all --config ./config/travis.cfg
|
||||
- source ./quantum_package.rc ; ninja -j 1 -v
|
||||
- source ./quantum_package.rc ; qp_test -a
|
||||
- source ./quantum_package.rc ; qp_test -a -v
|
||||
|
23
TODO
23
TODO
@ -1,5 +1,3 @@
|
||||
!!!!!!!!!! ENLEVER CETTE SALOPERIE DE TRUC DANS VI !!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
# qp_module
|
||||
|
||||
* Mettre le fichier LIB
|
||||
|
||||
@ -7,8 +5,7 @@
|
||||
|
||||
* Creer une page web pas trop degueu et la mettre ici : http://lcpq.github.io/quantum_package
|
||||
* Pour les README.rst des modules, mettre un deuxième saut à la ligne pour la doc en ligne.
|
||||
* prendre des bouts du src/README.rst et en mettre partout
|
||||
|
||||
* Changer irpf90 pour creer de la doc en format rst
|
||||
|
||||
|
||||
# Exterieur
|
||||
@ -20,27 +17,21 @@
|
||||
|
||||
# Tests:
|
||||
|
||||
* >1000 dets
|
||||
* Davidson
|
||||
* Lapack
|
||||
* Extrapolation
|
||||
* DFT
|
||||
|
||||
|
||||
# User doc:
|
||||
|
||||
* qp_create_ezfio_from_xyz
|
||||
* qp_set_frozen_core
|
||||
* qp_set_mo_class
|
||||
* qp_edit
|
||||
* qp_convert
|
||||
* Renvoyer a la doc des modules : c'est pour les programmeurs au depart!
|
||||
* Mettre le mp2 comme exercice
|
||||
|
||||
* Interfaces : molden/fcidump
|
||||
* Natural orbitals
|
||||
* Excited states
|
||||
* Parameters for Hartree-Fock
|
||||
* Parameters for Davidson
|
||||
* Running in parallel
|
||||
* Parameters for selection (Generators/selectors)
|
||||
* Parameters for selection (Generators)
|
||||
|
||||
# Programmers doc:
|
||||
|
||||
@ -51,3 +42,7 @@
|
||||
|
||||
# EZFIO sans fork
|
||||
|
||||
/home/scemama/quantum_package/docs/source/modules/perturbation.rst:216: WARNING
|
||||
: script pour mettre des :math: dans les commentaires
|
||||
|
||||
# Selection stochastique
|
||||
|
2
configure
vendored
2
configure
vendored
@ -148,7 +148,7 @@ for PACKAGE in ${PACKAGES} ; do
|
||||
elif [[ ${PACKAGE} = irpf90 ]] ; then
|
||||
|
||||
download \
|
||||
"https://github.com/scemama/irpf90/archive/v1.7.2.tar.gz" \
|
||||
"https://gitlab.com/scemama/irpf90/-/archive/v1.7.3/irpf90-v1.7.3.tar.gz" \
|
||||
"${QP_ROOT}"/external/irpf90.tar.gz
|
||||
(
|
||||
cd "${QP_ROOT}"/external
|
||||
|
@ -124,7 +124,7 @@ def generate_providers(abs_module):
|
||||
entity = { "decl": [], "doc": [] ,
|
||||
"name": name , "module": module }
|
||||
for line in f.readlines():
|
||||
line = line.strip()
|
||||
line = line.rstrip()
|
||||
if line.startswith(".SH Declaration"):
|
||||
state = 1
|
||||
continue
|
||||
@ -157,7 +157,7 @@ def generate_providers(abs_module):
|
||||
entity["type"] = 'p'
|
||||
elif state == 2:
|
||||
if line.startswith(".br"):
|
||||
line = "\n"
|
||||
line = "\n\n"
|
||||
entity["doc"] += [ line ]
|
||||
elif state == 3:
|
||||
if line.startswith(".br"):
|
||||
|
@ -158,7 +158,7 @@ Providers
|
||||
|
||||
File: :file:`aos.irp.f`
|
||||
|
||||
Transposed :c:var:`ao_coef_normalized_ordered`
|
||||
Transposed :c:data:`ao_coef_normalized_ordered`
|
||||
|
||||
|
||||
|
||||
@ -198,7 +198,7 @@ Providers
|
||||
|
||||
File: :file:`aos.irp.f`
|
||||
|
||||
Transposed :c:var:`ao_expo_ordered`
|
||||
Transposed :c:data:`ao_expo_ordered`
|
||||
|
||||
|
||||
|
||||
@ -567,6 +567,7 @@ Subroutines / functions
|
||||
File: :file:`aos.irp.f`
|
||||
|
||||
Unique index given to a triplet of powers:
|
||||
|
||||
:math:`\frac{1}{2} (l-n_x) (l-n_x+1) + n_z + 1`
|
||||
|
||||
|
||||
|
@ -77,7 +77,7 @@ Providers
|
||||
|
||||
File: :file:`ao_ortho_canonical.irp.f`
|
||||
|
||||
Inverse of :c:var:`ao_cart_to_sphe_coef`
|
||||
Inverse of :c:data:`ao_cart_to_sphe_coef`
|
||||
|
||||
|
||||
|
||||
@ -120,7 +120,9 @@ Providers
|
||||
File: :file:`kin_ao_ints.irp.f`
|
||||
|
||||
Second derivative matrix elements in the |AO| basis.
|
||||
:math:`{\tt ao_deriv2_x} = \langle \chi_i(x,y,z) | \frac{\partial^2}{\partial x^2} |\chi_j (x,y,z) \rangle`
|
||||
|
||||
:math:`{\tt ao\_deriv2\_x} = \langle \chi_i(x,y,z) | \frac{\partial^2}{\partial x^2} |\chi_j (x,y,z) \rangle`
|
||||
|
||||
|
||||
|
||||
|
||||
@ -137,7 +139,9 @@ Providers
|
||||
File: :file:`kin_ao_ints.irp.f`
|
||||
|
||||
Second derivative matrix elements in the |AO| basis.
|
||||
:math:`{\tt ao_deriv2_x} = \langle \chi_i(x,y,z) | \frac{\partial^2}{\partial x^2} |\chi_j (x,y,z) \rangle`
|
||||
|
||||
:math:`{\tt ao\_deriv2\_x} = \langle \chi_i(x,y,z) | \frac{\partial^2}{\partial x^2} |\chi_j (x,y,z) \rangle`
|
||||
|
||||
|
||||
|
||||
|
||||
@ -154,7 +158,9 @@ Providers
|
||||
File: :file:`kin_ao_ints.irp.f`
|
||||
|
||||
Second derivative matrix elements in the |AO| basis.
|
||||
:math:`{\tt ao_deriv2_x} = \langle \chi_i(x,y,z) | \frac{\partial^2}{\partial x^2} |\chi_j (x,y,z) \rangle`
|
||||
|
||||
:math:`{\tt ao\_deriv2\_x} = \langle \chi_i(x,y,z) | \frac{\partial^2}{\partial x^2} |\chi_j (x,y,z) \rangle`
|
||||
|
||||
|
||||
|
||||
|
||||
@ -171,7 +177,9 @@ Providers
|
||||
File: :file:`spread_dipole_ao.irp.f`
|
||||
|
||||
* array of the integrals of AO_i * d/dx AO_j
|
||||
|
||||
* array of the integrals of AO_i * d/dy AO_j
|
||||
|
||||
* array of the integrals of AO_i * d/dz AO_j
|
||||
|
||||
|
||||
@ -188,7 +196,9 @@ Providers
|
||||
File: :file:`spread_dipole_ao.irp.f`
|
||||
|
||||
* array of the integrals of AO_i * d/dx AO_j
|
||||
|
||||
* array of the integrals of AO_i * d/dy AO_j
|
||||
|
||||
* array of the integrals of AO_i * d/dz AO_j
|
||||
|
||||
|
||||
@ -205,7 +215,9 @@ Providers
|
||||
File: :file:`spread_dipole_ao.irp.f`
|
||||
|
||||
* array of the integrals of AO_i * d/dx AO_j
|
||||
|
||||
* array of the integrals of AO_i * d/dy AO_j
|
||||
|
||||
* array of the integrals of AO_i * d/dz AO_j
|
||||
|
||||
|
||||
@ -222,7 +234,9 @@ Providers
|
||||
File: :file:`spread_dipole_ao.irp.f`
|
||||
|
||||
* array of the integrals of AO_i * x AO_j
|
||||
|
||||
* array of the integrals of AO_i * y AO_j
|
||||
|
||||
* array of the integrals of AO_i * z AO_j
|
||||
|
||||
|
||||
@ -239,7 +253,9 @@ Providers
|
||||
File: :file:`spread_dipole_ao.irp.f`
|
||||
|
||||
* array of the integrals of AO_i * x AO_j
|
||||
|
||||
* array of the integrals of AO_i * y AO_j
|
||||
|
||||
* array of the integrals of AO_i * z AO_j
|
||||
|
||||
|
||||
@ -256,7 +272,9 @@ Providers
|
||||
File: :file:`spread_dipole_ao.irp.f`
|
||||
|
||||
* array of the integrals of AO_i * x AO_j
|
||||
|
||||
* array of the integrals of AO_i * y AO_j
|
||||
|
||||
* array of the integrals of AO_i * z AO_j
|
||||
|
||||
|
||||
@ -271,6 +289,7 @@ Providers
|
||||
File: :file:`kin_ao_ints.irp.f`
|
||||
|
||||
Kinetic energy integrals in the |AO| basis.
|
||||
|
||||
:math:`\langle \chi_i |\hat{T}| \chi_j \rangle`
|
||||
|
||||
|
||||
@ -313,6 +332,7 @@ Providers
|
||||
File: :file:`pot_ao_ints.irp.f`
|
||||
|
||||
Nucleus-electron interaction, in the |AO| basis set.
|
||||
|
||||
:math:`\langle \chi_i | -\sum_A \frac{1}{|r-R_A|} | \chi_j \rangle`
|
||||
|
||||
|
||||
@ -327,6 +347,7 @@ Providers
|
||||
File: :file:`pot_ao_ints.irp.f`
|
||||
|
||||
Nucleus-electron interaction in the |AO| basis set, per atom A.
|
||||
|
||||
:math:`\langle \chi_i | -\frac{1}{|r-R_A|} | \chi_j \rangle`
|
||||
|
||||
|
||||
@ -398,6 +419,7 @@ Providers
|
||||
File: :file:`ao_overlap.irp.f`
|
||||
|
||||
Overlap between atomic basis functions:
|
||||
|
||||
:math:`\int \chi_i(r) \chi_j(r) dr`
|
||||
|
||||
|
||||
@ -412,6 +434,7 @@ Providers
|
||||
File: :file:`ao_overlap.irp.f`
|
||||
|
||||
Overlap between absolute values of atomic basis functions:
|
||||
|
||||
:math:`\int |\chi_i(r)| |\chi_j(r)| dr`
|
||||
|
||||
|
||||
@ -429,6 +452,7 @@ Providers
|
||||
File: :file:`ao_overlap.irp.f`
|
||||
|
||||
Overlap between atomic basis functions:
|
||||
|
||||
:math:`\int \chi_i(r) \chi_j(r) dr`
|
||||
|
||||
|
||||
@ -446,6 +470,7 @@ Providers
|
||||
File: :file:`ao_overlap.irp.f`
|
||||
|
||||
Overlap between atomic basis functions:
|
||||
|
||||
:math:`\int \chi_i(r) \chi_j(r) dr`
|
||||
|
||||
|
||||
@ -463,6 +488,7 @@ Providers
|
||||
File: :file:`ao_overlap.irp.f`
|
||||
|
||||
Overlap between atomic basis functions:
|
||||
|
||||
:math:`\int \chi_i(r) \chi_j(r) dr`
|
||||
|
||||
|
||||
@ -518,7 +544,9 @@ Providers
|
||||
File: :file:`spread_dipole_ao.irp.f`
|
||||
|
||||
* array of the integrals of AO_i * x^2 AO_j
|
||||
|
||||
* array of the integrals of AO_i * y^2 AO_j
|
||||
|
||||
* array of the integrals of AO_i * z^2 AO_j
|
||||
|
||||
|
||||
@ -535,7 +563,9 @@ Providers
|
||||
File: :file:`spread_dipole_ao.irp.f`
|
||||
|
||||
* array of the integrals of AO_i * x^2 AO_j
|
||||
|
||||
* array of the integrals of AO_i * y^2 AO_j
|
||||
|
||||
* array of the integrals of AO_i * z^2 AO_j
|
||||
|
||||
|
||||
@ -552,7 +582,9 @@ Providers
|
||||
File: :file:`spread_dipole_ao.irp.f`
|
||||
|
||||
* array of the integrals of AO_i * x^2 AO_j
|
||||
|
||||
* array of the integrals of AO_i * y^2 AO_j
|
||||
|
||||
* array of the integrals of AO_i * z^2 AO_j
|
||||
|
||||
|
||||
@ -754,7 +786,7 @@ Subroutines / functions
|
||||
|
||||
File: :file:`pot_ao_erf_ints.irp.f`
|
||||
|
||||
subroutine that returs all integrals over r of type erf(mu_in * |r-C_center|)/|r-C_center|
|
||||
subroutine that returs all integrals over r of type erf(mu_in * | r-C_center |)/| r-C_center |
|
||||
|
||||
|
||||
|
||||
@ -769,6 +801,7 @@ Subroutines / functions
|
||||
File: :file:`pot_ao_ints.irp.f`
|
||||
|
||||
Returns the explicit polynomial in terms of the "t" variable of the following
|
||||
|
||||
:math:`I_x1(a_x, d_x,p,q) * I_x1(a_y, d_y,p,q) * I_x1(a_z, d_z,p,q)`
|
||||
|
||||
|
||||
@ -812,6 +845,7 @@ Subroutines / functions
|
||||
File: :file:`pot_ao_ints.irp.f`
|
||||
|
||||
Computes the integral:
|
||||
|
||||
:math:`\int_{-\infty}^{\infty} x^n \exp(-\alpha x^2) dx`
|
||||
|
||||
|
||||
@ -827,6 +861,7 @@ Subroutines / functions
|
||||
File: :file:`pot_ao_ints.irp.f`
|
||||
|
||||
Computes the electron-nucleus attraction with two primitves.
|
||||
|
||||
:math:`\langle g_i | \frac{1}{|r-R_c|} | g_j \rangle`
|
||||
|
||||
|
||||
@ -855,7 +890,7 @@ Subroutines / functions
|
||||
|
||||
File: :file:`pot_ao_erf_ints.irp.f`
|
||||
|
||||
computes the following integral : int[-infty;+infty] dr AO_i_ao (r) AO_j_ao(r) erf(mu_in * |r-C_center|)/|r-C_center|
|
||||
computes the following integral : int[-infty;+infty] dr AO_i_ao (r) AO_j_ao(r) erf(mu_in * | r-C_center |)/| r-C_center |
|
||||
|
||||
|
||||
|
||||
@ -926,7 +961,9 @@ Subroutines / functions
|
||||
File: :file:`pot_ao_ints.irp.f`
|
||||
|
||||
Primitve nuclear attraction between the two primitves centered on the same atom.
|
||||
|
||||
primitive_1 = x**(a_x) y**(a_y) z**(a_z) exp(-alpha * r**2)
|
||||
|
||||
primitive_2 = x**(b_x) y**(b_y) z**(b_z) exp(- beta * r**2)
|
||||
|
||||
|
||||
@ -942,6 +979,7 @@ Subroutines / functions
|
||||
File: :file:`pot_ao_ints.irp.f`
|
||||
|
||||
Computes the angular "phi" part of the nuclear attraction integral:
|
||||
|
||||
:math:`\int_{0}^{2 \pi} \cos(\phi)^n \sin(\phi)^m d\phi`
|
||||
|
||||
|
||||
@ -957,6 +995,7 @@ Subroutines / functions
|
||||
File: :file:`pot_ao_ints.irp.f`
|
||||
|
||||
Computes the radial part of the nuclear attraction integral:
|
||||
|
||||
:math:`\int_{0}^{\infty} r^n \exp(-\alpha r^2) dr`
|
||||
|
||||
|
||||
@ -964,6 +1003,7 @@ Subroutines / functions
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:function:: v_theta
|
||||
|
||||
.. code:: text
|
||||
@ -973,6 +1013,7 @@ Subroutines / functions
|
||||
File: :file:`pot_ao_ints.irp.f`
|
||||
|
||||
Computes the angular "theta" part of the nuclear attraction integral:
|
||||
|
||||
:math:`\int_{0}^{\pi} \cos(\theta)^n \sin(\theta)^m d\theta`
|
||||
|
||||
|
||||
@ -988,6 +1029,7 @@ Subroutines / functions
|
||||
File: :file:`pot_ao_ints.irp.f`
|
||||
|
||||
Wallis integral:
|
||||
|
||||
:math:`\int_{0}^{\pi} \cos(\theta)^n d\theta`
|
||||
|
||||
|
||||
|
@ -9,14 +9,22 @@ 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 |RSDFT| 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.
|
||||
* `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.
|
||||
Thanks to these providers you can use any density matrix that does not
|
||||
necessary corresponds to that of the current wave function.
|
||||
|
||||
|
||||
|
||||
|
@ -146,8 +146,14 @@ Providers
|
||||
File: :file:`grid_becke_vector.irp.f`
|
||||
|
||||
final_grid_points(1:3,j) = (/ x, y, z /) of the jth grid point
|
||||
<<<<<<< HEAD
|
||||
final_weight_at_r_vector(i) = Total weight function of the ith grid point which contains the Lebedev, Voronoi and radial weights contributions
|
||||
=======
|
||||
|
||||
final_weight_at_r_vector(i) = Total weight function of the ith grid point which contains the Lebedev, Voronoi and radial weights contributions
|
||||
|
||||
index_final_points(1:3,i) = gives the angular, radial and atomic indices associated to the ith grid point
|
||||
|
||||
index_final_points_reverse(i,j,k) = index of the grid point having i as angular, j as radial and l as atomic indices
|
||||
|
||||
|
||||
@ -166,6 +172,52 @@ Providers
|
||||
|
||||
|
||||
|
||||
.. c:var:: final_weight_at_r_vector
|
||||
|
||||
.. code:: text
|
||||
|
||||
double precision, allocatable :: final_grid_points (3,n_points_final_grid)
|
||||
double precision, allocatable :: final_weight_at_r_vector (n_points_final_grid)
|
||||
integer, allocatable :: index_final_points (3,n_points_final_grid)
|
||||
integer, allocatable :: index_final_points_reverse (n_points_integration_angular,n_points_radial_grid,nucl_num)
|
||||
|
||||
File: :file:`grid_becke_vector.irp.f`
|
||||
|
||||
final_grid_points(1:3,j) = (/ x, y, z /) of the jth grid point
|
||||
|
||||
final_weight_at_r_vector(i) = Total weight function of the ith grid point which contains the Lebedev, Voronoi and radial weights contributions
|
||||
|
||||
>>>>>>> 36234f0822384b0bce01530d210522e7975b759b
|
||||
index_final_points(1:3,i) = gives the angular, radial and atomic indices associated to the ith grid point
|
||||
|
||||
index_final_points_reverse(i,j,k) = index of the grid point having i as angular, j as radial and l as atomic indices
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:var:: final_weight_at_r
|
||||
|
||||
.. code:: text
|
||||
|
||||
double precision, allocatable :: final_weight_at_r (n_points_integration_angular,n_points_radial_grid,nucl_num)
|
||||
|
||||
File: :file:`grid_becke.irp.f`
|
||||
|
||||
<<<<<<< HEAD
|
||||
Total weight on each grid point which takes into account all Lebedev, Voronoi and radial weights.
|
||||
=======
|
||||
final_grid_points(1:3,j) = (/ x, y, z /) of the jth grid point
|
||||
|
||||
final_weight_functions_at_final_grid_points(i) = Total weight function of the ith grid point which contains the Lebedev, Voronoi and radial weights contributions
|
||||
|
||||
index_final_points(1:3,i) = gives the angular, radial and atomic indices associated to the ith grid point
|
||||
|
||||
index_final_points_reverse(i,j,k) = index of the grid point having i as angular, j as radial and l as atomic indices
|
||||
>>>>>>> 36234f0822384b0bce01530d210522e7975b759b
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:var:: final_weight_at_r_vector
|
||||
|
||||
.. code:: text
|
||||
@ -224,8 +276,15 @@ Providers
|
||||
File: :file:`grid_becke_vector.irp.f`
|
||||
|
||||
final_grid_points(1:3,j) = (/ x, y, z /) of the jth grid point
|
||||
<<<<<<< HEAD
|
||||
final_weight_at_r_vector(i) = Total weight function of the ith grid point which contains the Lebedev, Voronoi and radial weights contributions
|
||||
=======
|
||||
|
||||
final_weight_at_r_vector(i) = Total weight function of the ith grid point which contains the Lebedev, Voronoi and radial weights contributions
|
||||
|
||||
>>>>>>> 36234f0822384b0bce01530d210522e7975b759b
|
||||
index_final_points(1:3,i) = gives the angular, radial and atomic indices associated to the ith grid point
|
||||
|
||||
index_final_points_reverse(i,j,k) = index of the grid point having i as angular, j as radial and l as atomic indices
|
||||
|
||||
|
||||
@ -243,8 +302,15 @@ Providers
|
||||
File: :file:`grid_becke_vector.irp.f`
|
||||
|
||||
final_grid_points(1:3,j) = (/ x, y, z /) of the jth grid point
|
||||
<<<<<<< HEAD
|
||||
final_weight_at_r_vector(i) = Total weight function of the ith grid point which contains the Lebedev, Voronoi and radial weights contributions
|
||||
=======
|
||||
|
||||
final_weight_at_r_vector(i) = Total weight function of the ith grid point which contains the Lebedev, Voronoi and radial weights contributions
|
||||
|
||||
>>>>>>> 36234f0822384b0bce01530d210522e7975b759b
|
||||
index_final_points(1:3,i) = gives the angular, radial and atomic indices associated to the ith grid point
|
||||
|
||||
index_final_points_reverse(i,j,k) = index of the grid point having i as angular, j as radial and l as atomic indices
|
||||
|
||||
|
||||
@ -299,7 +365,13 @@ Providers
|
||||
File: :file:`grid_becke.irp.f`
|
||||
|
||||
n_points_radial_grid = number of radial grid points per atom
|
||||
<<<<<<< HEAD
|
||||
n_points_integration_angular = number of angular grid points per atom
|
||||
=======
|
||||
|
||||
n_points_integration_angular = number of angular grid points per atom
|
||||
|
||||
>>>>>>> 36234f0822384b0bce01530d210522e7975b759b
|
||||
These numbers are automatically set by setting the grid_type_sgn parameter
|
||||
|
||||
|
||||
@ -315,13 +387,21 @@ Providers
|
||||
File: :file:`grid_becke.irp.f`
|
||||
|
||||
n_points_radial_grid = number of radial grid points per atom
|
||||
<<<<<<< HEAD
|
||||
n_points_integration_angular = number of angular grid points per atom
|
||||
=======
|
||||
|
||||
n_points_integration_angular = number of angular grid points per atom
|
||||
|
||||
>>>>>>> 36234f0822384b0bce01530d210522e7975b759b
|
||||
These numbers are automatically set by setting the grid_type_sgn parameter
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:var:: weight_at_r
|
||||
<<<<<<< HEAD
|
||||
=======
|
||||
|
||||
.. code:: text
|
||||
|
||||
@ -330,6 +410,23 @@ Providers
|
||||
File: :file:`grid_becke.irp.f`
|
||||
|
||||
Weight function at grid points : w_n(r) according to the equation (22) of Becke original paper (JCP, 88, 1988)
|
||||
|
||||
The "n" discrete variable represents the nucleis which in this array is represented by the last dimension and the points are labelled by the other dimensions.
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:var:: weight_functions_at_grid_points
|
||||
>>>>>>> 36234f0822384b0bce01530d210522e7975b759b
|
||||
|
||||
.. code:: text
|
||||
|
||||
double precision, allocatable :: weight_at_r (n_points_integration_angular,n_points_radial_grid,nucl_num)
|
||||
|
||||
File: :file:`grid_becke.irp.f`
|
||||
|
||||
Weight function at grid points : w_n(r) according to the equation (22) of Becke original paper (JCP, 88, 1988)
|
||||
|
||||
The "n" discrete variable represents the nucleis which in this array is represented by the last dimension and the points are labelled by the other dimensions.
|
||||
|
||||
|
||||
|
@ -141,18 +141,26 @@ Providers
|
||||
File: :file:`bitmasks.irp.f`
|
||||
|
||||
Bitmasks for generator determinants. (N_int, alpha/beta, hole/particle, generator).
|
||||
|
||||
3rd index is :
|
||||
|
||||
* 1 : hole for single exc
|
||||
|
||||
* 2 : particle for single exc
|
||||
|
||||
* 3 : hole for 1st exc of double
|
||||
|
||||
* 4 : particle for 1st exc of double
|
||||
|
||||
* 5 : hole for 2nd exc of double
|
||||
|
||||
* 6 : particle for 2nd exc of double
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:var:: generators_bitmask_restart
|
||||
|
||||
.. code:: text
|
||||
@ -162,18 +170,26 @@ Providers
|
||||
File: :file:`bitmasks.irp.f`
|
||||
|
||||
Bitmasks for generator determinants. (N_int, alpha/beta, hole/particle, generator).
|
||||
|
||||
3rd index is :
|
||||
|
||||
* 1 : hole for single exc
|
||||
|
||||
* 2 : particle for single exc
|
||||
|
||||
* 3 : hole for 1st exc of double
|
||||
|
||||
* 4 : particle for 1st exc of double
|
||||
|
||||
* 5 : hole for 2nd exc of double
|
||||
|
||||
* 6 : particle for 2nd exc of double
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:var:: hf_bitmask
|
||||
|
||||
.. code:: text
|
||||
@ -266,6 +282,7 @@ Providers
|
||||
File: :file:`bitmasks.irp.f`
|
||||
|
||||
list_act(i) = index of the ith active orbital
|
||||
|
||||
list_act_reverse : reverse list of active orbitals list_act_reverse(i) = 0 ::> not an active list_act_reverse(i) = k ::> IS the kth active orbital
|
||||
|
||||
|
||||
@ -281,6 +298,7 @@ Providers
|
||||
File: :file:`bitmasks.irp.f`
|
||||
|
||||
list_act(i) = index of the ith active orbital
|
||||
|
||||
list_act_reverse : reverse list of active orbitals list_act_reverse(i) = 0 ::> not an active list_act_reverse(i) = k ::> IS the kth active orbital
|
||||
|
||||
|
||||
|
@ -11,7 +11,7 @@ davidson
|
||||
Abstract module for Davidson's diagonalization.
|
||||
It contains everything required for the Davidson algorithm, dressed or not. If
|
||||
a dressing is used, the dressing column should be defined and the
|
||||
:ref:`davidsondressed` module should be used. If no dressing is required,
|
||||
:ref:`davidson_dressed` 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:
|
||||
@ -262,14 +262,23 @@ Subroutines / functions
|
||||
File: :file:`diagonalization_hs2_dressed.irp.f`
|
||||
|
||||
Davidson diagonalization with specific diagonal elements of the H matrix
|
||||
|
||||
H_jj : specific diagonal H matrix elements to diagonalize de Davidson
|
||||
|
||||
S2_out : Output : s^2
|
||||
|
||||
dets_in : bitmasks corresponding to determinants
|
||||
|
||||
u_in : guess coefficients on the various states. Overwritten on exit
|
||||
|
||||
dim_in : leftmost dimension of u_in
|
||||
|
||||
sze : Number of determinants
|
||||
|
||||
N_st : Number of eigenstates
|
||||
|
||||
N_st_diag : Number of states in which H is diagonalized. Assumed > sze
|
||||
|
||||
Initial guess vectors are not necessarily orthonormal
|
||||
|
||||
|
||||
@ -285,11 +294,17 @@ Subroutines / functions
|
||||
File: :file:`diagonalization_hs2_dressed.irp.f`
|
||||
|
||||
Davidson diagonalization.
|
||||
|
||||
dets_in : bitmasks corresponding to determinants
|
||||
|
||||
u_in : guess coefficients on the various states. Overwritten on exit
|
||||
|
||||
dim_in : leftmost dimension of u_in
|
||||
|
||||
sze : Number of determinants
|
||||
|
||||
N_st : Number of eigenstates
|
||||
|
||||
Initial guess vectors are not necessarily orthonormal
|
||||
|
||||
|
||||
@ -403,7 +418,9 @@ Subroutines / functions
|
||||
File: :file:`u0_wee_u0.irp.f`
|
||||
|
||||
Computes v_0 = H|u_0> and s_0 = S^2 |u_0>
|
||||
|
||||
Assumes that the determinants are in psi_det
|
||||
|
||||
istart, iend, ishift, istep are used in ZMQ parallelization.
|
||||
|
||||
|
||||
@ -419,6 +436,7 @@ Subroutines / functions
|
||||
File: :file:`u0_wee_u0.irp.f`
|
||||
|
||||
Computes v_t = H|u_t> and s_t = S^2 |u_t>
|
||||
|
||||
Default should be 1,N_det,0,1
|
||||
|
||||
|
||||
@ -434,6 +452,7 @@ Subroutines / functions
|
||||
File: :file:`u0_wee_u0.irp.f_template_457`
|
||||
|
||||
Computes v_t = H|u_t> and s_t = S^2 |u_t>
|
||||
|
||||
Default should be 1,N_det,0,1
|
||||
|
||||
|
||||
@ -449,6 +468,7 @@ Subroutines / functions
|
||||
File: :file:`u0_wee_u0.irp.f_template_457`
|
||||
|
||||
Computes v_t = H|u_t> and s_t = S^2 |u_t>
|
||||
|
||||
Default should be 1,N_det,0,1
|
||||
|
||||
|
||||
@ -464,6 +484,7 @@ Subroutines / functions
|
||||
File: :file:`u0_wee_u0.irp.f_template_457`
|
||||
|
||||
Computes v_t = H|u_t> and s_t = S^2 |u_t>
|
||||
|
||||
Default should be 1,N_det,0,1
|
||||
|
||||
|
||||
@ -479,6 +500,7 @@ Subroutines / functions
|
||||
File: :file:`u0_wee_u0.irp.f_template_457`
|
||||
|
||||
Computes v_t = H|u_t> and s_t = S^2 |u_t>
|
||||
|
||||
Default should be 1,N_det,0,1
|
||||
|
||||
|
||||
@ -494,6 +516,7 @@ Subroutines / functions
|
||||
File: :file:`u0_wee_u0.irp.f_template_457`
|
||||
|
||||
Computes v_t = H|u_t> and s_t = S^2 |u_t>
|
||||
|
||||
Default should be 1,N_det,0,1
|
||||
|
||||
|
||||
@ -509,7 +532,9 @@ Subroutines / functions
|
||||
File: :file:`u0_h_u0.irp.f`
|
||||
|
||||
Computes v_0 = H|u_0> and s_0 = S^2 |u_0>
|
||||
|
||||
Assumes that the determinants are in psi_det
|
||||
|
||||
istart, iend, ishift, istep are used in ZMQ parallelization.
|
||||
|
||||
|
||||
@ -525,6 +550,7 @@ Subroutines / functions
|
||||
File: :file:`u0_h_u0.irp.f`
|
||||
|
||||
Computes v_t = H|u_t> and s_t = S^2 |u_t>
|
||||
|
||||
Default should be 1,N_det,0,1
|
||||
|
||||
|
||||
@ -540,6 +566,7 @@ Subroutines / functions
|
||||
File: :file:`u0_h_u0.irp.f_template_468`
|
||||
|
||||
Computes v_t = H|u_t> and s_t = S^2 |u_t>
|
||||
|
||||
Default should be 1,N_det,0,1
|
||||
|
||||
|
||||
@ -555,6 +582,7 @@ Subroutines / functions
|
||||
File: :file:`u0_h_u0.irp.f_template_468`
|
||||
|
||||
Computes v_t = H|u_t> and s_t = S^2 |u_t>
|
||||
|
||||
Default should be 1,N_det,0,1
|
||||
|
||||
|
||||
@ -570,6 +598,7 @@ Subroutines / functions
|
||||
File: :file:`u0_h_u0.irp.f_template_468`
|
||||
|
||||
Computes v_t = H|u_t> and s_t = S^2 |u_t>
|
||||
|
||||
Default should be 1,N_det,0,1
|
||||
|
||||
|
||||
@ -585,6 +614,7 @@ Subroutines / functions
|
||||
File: :file:`u0_h_u0.irp.f_template_468`
|
||||
|
||||
Computes v_t = H|u_t> and s_t = S^2 |u_t>
|
||||
|
||||
Default should be 1,N_det,0,1
|
||||
|
||||
|
||||
@ -600,6 +630,7 @@ Subroutines / functions
|
||||
File: :file:`u0_h_u0.irp.f_template_468`
|
||||
|
||||
Computes v_t = H|u_t> and s_t = S^2 |u_t>
|
||||
|
||||
Default should be 1,N_det,0,1
|
||||
|
||||
|
||||
@ -615,8 +646,11 @@ Subroutines / functions
|
||||
File: :file:`davidson_parallel.irp.f`
|
||||
|
||||
Computes v_0 = H|u_0> and s_0 = S^2 |u_0>
|
||||
|
||||
n : number of determinants
|
||||
|
||||
H_jj : array of <j|H|j>
|
||||
|
||||
S2_jj : array of <j|S^2|j>
|
||||
|
||||
|
||||
@ -632,6 +666,7 @@ Subroutines / functions
|
||||
File: :file:`u0_h_u0.irp.f`
|
||||
|
||||
Computes e_0 = <u_0|H|u_0>/<u_0|u_0>
|
||||
|
||||
n : number of determinants
|
||||
|
||||
|
||||
@ -639,6 +674,7 @@ Subroutines / functions
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:function:: u_0_h_u_0_bielec
|
||||
|
||||
.. code:: text
|
||||
@ -648,6 +684,7 @@ Subroutines / functions
|
||||
File: :file:`u0_wee_u0.irp.f`
|
||||
|
||||
Computes e_0 = <u_0|H|u_0>/<u_0|u_0>
|
||||
|
||||
n : number of determinants
|
||||
|
||||
|
||||
@ -655,6 +692,7 @@ Subroutines / functions
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:function:: zmq_get_n_states_diag
|
||||
|
||||
.. code:: text
|
||||
|
@ -215,6 +215,7 @@ Providers
|
||||
File: :file:`spindeterminants.irp.f`
|
||||
|
||||
Norm of the alpha and beta spin determinants in the wave function:
|
||||
|
||||
||Da||_i \sum_j C_{ij}**2
|
||||
|
||||
|
||||
@ -230,6 +231,7 @@ Providers
|
||||
File: :file:`spindeterminants.irp.f`
|
||||
|
||||
Norm of the alpha and beta spin determinants in the wave function:
|
||||
|
||||
||Da||_i \sum_j C_{ij}**2
|
||||
|
||||
|
||||
@ -830,6 +832,7 @@ Providers
|
||||
File: :file:`determinants.irp.f`
|
||||
|
||||
Wave function sorted by determinants contribution to the norm (state-averaged)
|
||||
|
||||
psi_det_sorted_order(i) -> k : index in psi_det
|
||||
|
||||
|
||||
@ -860,7 +863,9 @@ Providers
|
||||
File: :file:`spindeterminants.irp.f`
|
||||
|
||||
Sparse coefficient matrix if the wave function is expressed in a bilinear form : D_a^t C D_b
|
||||
|
||||
Rows are alpha determinants and columns are beta.
|
||||
|
||||
Order refers to psi_det
|
||||
|
||||
|
||||
@ -875,7 +880,9 @@ Providers
|
||||
File: :file:`spindeterminants.irp.f`
|
||||
|
||||
Sparse coefficient matrix if the wave function is expressed in a bilinear form : D_a^t C D_b
|
||||
|
||||
Rows are alpha determinants and columns are beta.
|
||||
|
||||
Order refers to psi_det
|
||||
|
||||
|
||||
@ -893,7 +900,9 @@ Providers
|
||||
File: :file:`spindeterminants.irp.f`
|
||||
|
||||
Sparse coefficient matrix if the wave function is expressed in a bilinear form : D_a^t C D_b
|
||||
|
||||
Rows are alpha determinants and columns are beta.
|
||||
|
||||
Order refers to psi_det
|
||||
|
||||
|
||||
@ -937,7 +946,9 @@ Providers
|
||||
File: :file:`spindeterminants.irp.f`
|
||||
|
||||
Sparse coefficient matrix if the wave function is expressed in a bilinear form : D_a^t C D_b
|
||||
|
||||
Rows are alpha determinants and columns are beta.
|
||||
|
||||
Order refers to psi_det
|
||||
|
||||
|
||||
@ -955,6 +966,7 @@ Providers
|
||||
File: :file:`spindeterminants.irp.f`
|
||||
|
||||
Transpose of psi_bilinear_matrix D_b^t C^t D_a
|
||||
|
||||
Rows are Alpha determinants and columns are beta, but the matrix is stored in row major format
|
||||
|
||||
|
||||
@ -972,6 +984,7 @@ Providers
|
||||
File: :file:`spindeterminants.irp.f`
|
||||
|
||||
Transpose of psi_bilinear_matrix D_b^t C^t D_a
|
||||
|
||||
Rows are Alpha determinants and columns are beta, but the matrix is stored in row major format
|
||||
|
||||
|
||||
@ -989,6 +1002,7 @@ Providers
|
||||
File: :file:`spindeterminants.irp.f`
|
||||
|
||||
Transpose of psi_bilinear_matrix D_b^t C^t D_a
|
||||
|
||||
Rows are Alpha determinants and columns are beta, but the matrix is stored in row major format
|
||||
|
||||
|
||||
@ -1019,6 +1033,7 @@ Providers
|
||||
File: :file:`spindeterminants.irp.f`
|
||||
|
||||
Transpose of psi_bilinear_matrix D_b^t C^t D_a
|
||||
|
||||
Rows are Alpha determinants and columns are beta, but the matrix is stored in row major format
|
||||
|
||||
|
||||
@ -1036,7 +1051,9 @@ Providers
|
||||
File: :file:`spindeterminants.irp.f`
|
||||
|
||||
Sparse coefficient matrix if the wave function is expressed in a bilinear form : D_a^t C D_b
|
||||
|
||||
Rows are alpha determinants and columns are beta.
|
||||
|
||||
Order refers to psi_det
|
||||
|
||||
|
||||
@ -1200,6 +1217,7 @@ Providers
|
||||
File: :file:`determinants.irp.f`
|
||||
|
||||
Wave function sorted by determinants contribution to the norm (state-averaged)
|
||||
|
||||
psi_det_sorted_order(i) -> k : index in psi_det
|
||||
|
||||
|
||||
@ -1324,6 +1342,7 @@ Providers
|
||||
File: :file:`determinants.irp.f`
|
||||
|
||||
Wave function sorted by determinants contribution to the norm (state-averaged)
|
||||
|
||||
psi_det_sorted_order(i) -> k : index in psi_det
|
||||
|
||||
|
||||
@ -1355,6 +1374,7 @@ Providers
|
||||
File: :file:`determinants.irp.f`
|
||||
|
||||
Wave function sorted by determinants contribution to the norm (state-averaged)
|
||||
|
||||
psi_det_sorted_order(i) -> k : index in psi_det
|
||||
|
||||
|
||||
@ -1806,11 +1826,17 @@ Subroutines / functions
|
||||
File: :file:`connected_to_ref.irp.f`
|
||||
|
||||
input : key : a given Slater determinant
|
||||
|
||||
: keys: a list of Slater determinants
|
||||
|
||||
: Ndet: the number of Slater determinants in keys
|
||||
|
||||
: N_past_in the number of Slater determinants for the connectivity research
|
||||
|
||||
output : 0 : key not connected to the N_past_in first Slater determinants in keys
|
||||
|
||||
i : key is connected to determinant i of keys
|
||||
|
||||
-i : key is the ith determinant of the reference wf keys
|
||||
|
||||
|
||||
@ -1826,11 +1852,17 @@ Subroutines / functions
|
||||
File: :file:`connected_to_ref.irp.f`
|
||||
|
||||
input : key : a given Slater determinant
|
||||
|
||||
: keys: a list of Slater determinants
|
||||
|
||||
: Ndet: the number of Slater determinants in keys
|
||||
|
||||
: N_past_in the number of Slater determinants for the connectivity research
|
||||
|
||||
output : 0 : key not connected by a MONO EXCITATION to the N_past_in first Slater determinants in keys
|
||||
|
||||
i : key is connected by a MONO EXCITATION to determinant i of keys
|
||||
|
||||
-i : key is the ith determinant of the reference wf keys
|
||||
|
||||
|
||||
@ -2154,9 +2186,13 @@ Subroutines / functions
|
||||
File: :file:`filter_connected.irp.f`
|
||||
|
||||
Filters out the determinants that are not connected by H
|
||||
|
||||
returns the array idx which contains the index of the
|
||||
|
||||
determinants in the array key1 that interact
|
||||
|
||||
via the H operator with key2.
|
||||
|
||||
idx(0) is the number of determinants that interact with key1
|
||||
|
||||
|
||||
@ -2172,8 +2208,11 @@ Subroutines / functions
|
||||
File: :file:`filter_connected.irp.f`
|
||||
|
||||
returns the array idx which contains the index of the
|
||||
|
||||
determinants in the array key1 that interact
|
||||
|
||||
via the H operator with key2.
|
||||
|
||||
idx(0) is the number of determinants that interact with key1
|
||||
|
||||
|
||||
@ -2189,8 +2228,11 @@ Subroutines / functions
|
||||
File: :file:`filter_connected.irp.f`
|
||||
|
||||
Returns the array idx which contains the index of the
|
||||
|
||||
determinants in the array key1 that DO NOT interact
|
||||
|
||||
via the H operator with key2.
|
||||
|
||||
idx(0) is the number of determinants that DO NOT interact with key1
|
||||
|
||||
|
||||
@ -2220,6 +2262,7 @@ Subroutines / functions
|
||||
File: :file:`spindeterminants.irp.f`
|
||||
|
||||
|
||||
|
||||
Returns the indices of all the double excitations in the list of unique alpha determinants.
|
||||
|
||||
|
||||
@ -2227,6 +2270,7 @@ Subroutines / functions
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:function:: get_all_spin_doubles_1
|
||||
|
||||
.. code:: text
|
||||
@ -2236,6 +2280,7 @@ Subroutines / functions
|
||||
File: :file:`spindeterminants.irp.f`
|
||||
|
||||
|
||||
|
||||
Returns the indices of all the double excitations in the list of unique alpha determinants.
|
||||
|
||||
|
||||
@ -2243,6 +2288,7 @@ Subroutines / functions
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:function:: get_all_spin_doubles_2
|
||||
|
||||
.. code:: text
|
||||
@ -2252,6 +2298,7 @@ Subroutines / functions
|
||||
File: :file:`spindeterminants.irp.f_template_1215`
|
||||
|
||||
|
||||
|
||||
Returns the indices of all the double excitations in the list of unique alpha determinants.
|
||||
|
||||
|
||||
@ -2259,6 +2306,7 @@ Subroutines / functions
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:function:: get_all_spin_doubles_3
|
||||
|
||||
.. code:: text
|
||||
@ -2268,6 +2316,7 @@ Subroutines / functions
|
||||
File: :file:`spindeterminants.irp.f_template_1215`
|
||||
|
||||
|
||||
|
||||
Returns the indices of all the double excitations in the list of unique alpha determinants.
|
||||
|
||||
|
||||
@ -2275,6 +2324,7 @@ Subroutines / functions
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:function:: get_all_spin_doubles_4
|
||||
|
||||
.. code:: text
|
||||
@ -2284,6 +2334,7 @@ Subroutines / functions
|
||||
File: :file:`spindeterminants.irp.f_template_1215`
|
||||
|
||||
|
||||
|
||||
Returns the indices of all the double excitations in the list of unique alpha determinants.
|
||||
|
||||
|
||||
@ -2291,6 +2342,7 @@ Subroutines / functions
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:function:: get_all_spin_doubles_n_int
|
||||
|
||||
.. code:: text
|
||||
@ -2300,6 +2352,7 @@ Subroutines / functions
|
||||
File: :file:`spindeterminants.irp.f_template_1215`
|
||||
|
||||
|
||||
|
||||
Returns the indices of all the double excitations in the list of unique alpha determinants.
|
||||
|
||||
|
||||
@ -2307,6 +2360,7 @@ Subroutines / functions
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:function:: get_all_spin_singles
|
||||
|
||||
.. code:: text
|
||||
@ -2316,6 +2370,7 @@ Subroutines / functions
|
||||
File: :file:`spindeterminants.irp.f`
|
||||
|
||||
|
||||
|
||||
Returns the indices of all the single excitations in the list of unique alpha determinants.
|
||||
|
||||
|
||||
@ -2323,6 +2378,7 @@ Subroutines / functions
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:function:: get_all_spin_singles_1
|
||||
|
||||
.. code:: text
|
||||
@ -2332,6 +2388,7 @@ Subroutines / functions
|
||||
File: :file:`spindeterminants.irp.f`
|
||||
|
||||
|
||||
|
||||
Returns the indices of all the single excitations in the list of unique alpha determinants.
|
||||
|
||||
|
||||
@ -2339,6 +2396,7 @@ Subroutines / functions
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:function:: get_all_spin_singles_2
|
||||
|
||||
.. code:: text
|
||||
@ -2348,6 +2406,7 @@ Subroutines / functions
|
||||
File: :file:`spindeterminants.irp.f_template_1215`
|
||||
|
||||
|
||||
|
||||
Returns the indices of all the single excitations in the list of unique alpha determinants.
|
||||
|
||||
|
||||
@ -2355,6 +2414,7 @@ Subroutines / functions
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:function:: get_all_spin_singles_3
|
||||
|
||||
.. code:: text
|
||||
@ -2364,6 +2424,7 @@ Subroutines / functions
|
||||
File: :file:`spindeterminants.irp.f_template_1215`
|
||||
|
||||
|
||||
|
||||
Returns the indices of all the single excitations in the list of unique alpha determinants.
|
||||
|
||||
|
||||
@ -2371,6 +2432,7 @@ Subroutines / functions
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:function:: get_all_spin_singles_4
|
||||
|
||||
.. code:: text
|
||||
@ -2380,6 +2442,7 @@ Subroutines / functions
|
||||
File: :file:`spindeterminants.irp.f_template_1215`
|
||||
|
||||
|
||||
|
||||
Returns the indices of all the single excitations in the list of unique alpha determinants.
|
||||
|
||||
|
||||
@ -2387,6 +2450,7 @@ Subroutines / functions
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:function:: get_all_spin_singles_and_doubles
|
||||
|
||||
.. code:: text
|
||||
@ -2396,7 +2460,9 @@ Subroutines / functions
|
||||
File: :file:`spindeterminants.irp.f`
|
||||
|
||||
|
||||
|
||||
Returns the indices of all the single and double excitations in the list of unique alpha determinants.
|
||||
|
||||
/!\ : The buffer is transposed !
|
||||
|
||||
|
||||
@ -2404,6 +2470,7 @@ Subroutines / functions
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:function:: get_all_spin_singles_and_doubles_1
|
||||
|
||||
.. code:: text
|
||||
@ -2413,7 +2480,9 @@ Subroutines / functions
|
||||
File: :file:`spindeterminants.irp.f`
|
||||
|
||||
|
||||
|
||||
Returns the indices of all the single and double excitations in the list of unique alpha determinants.
|
||||
|
||||
/!\ : The buffer is transposed !
|
||||
|
||||
|
||||
@ -2421,6 +2490,7 @@ Subroutines / functions
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:function:: get_all_spin_singles_and_doubles_2
|
||||
|
||||
.. code:: text
|
||||
@ -2430,7 +2500,9 @@ Subroutines / functions
|
||||
File: :file:`spindeterminants.irp.f_template_1215`
|
||||
|
||||
|
||||
|
||||
Returns the indices of all the single and double excitations in the list of unique alpha determinants.
|
||||
|
||||
/!\ : The buffer is transposed !
|
||||
|
||||
|
||||
@ -2438,6 +2510,7 @@ Subroutines / functions
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:function:: get_all_spin_singles_and_doubles_3
|
||||
|
||||
.. code:: text
|
||||
@ -2447,7 +2520,9 @@ Subroutines / functions
|
||||
File: :file:`spindeterminants.irp.f_template_1215`
|
||||
|
||||
|
||||
|
||||
Returns the indices of all the single and double excitations in the list of unique alpha determinants.
|
||||
|
||||
/!\ : The buffer is transposed !
|
||||
|
||||
|
||||
@ -2455,6 +2530,7 @@ Subroutines / functions
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:function:: get_all_spin_singles_and_doubles_4
|
||||
|
||||
.. code:: text
|
||||
@ -2464,7 +2540,9 @@ Subroutines / functions
|
||||
File: :file:`spindeterminants.irp.f_template_1215`
|
||||
|
||||
|
||||
|
||||
Returns the indices of all the single and double excitations in the list of unique alpha determinants.
|
||||
|
||||
/!\ : The buffer is transposed !
|
||||
|
||||
|
||||
@ -2472,6 +2550,7 @@ Subroutines / functions
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:function:: get_all_spin_singles_and_doubles_n_int
|
||||
|
||||
.. code:: text
|
||||
@ -2481,7 +2560,9 @@ Subroutines / functions
|
||||
File: :file:`spindeterminants.irp.f_template_1215`
|
||||
|
||||
|
||||
|
||||
Returns the indices of all the single and double excitations in the list of unique alpha determinants.
|
||||
|
||||
/!\ : The buffer is transposed !
|
||||
|
||||
|
||||
@ -2489,6 +2570,7 @@ Subroutines / functions
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:function:: get_all_spin_singles_n_int
|
||||
|
||||
.. code:: text
|
||||
@ -2498,6 +2580,7 @@ Subroutines / functions
|
||||
File: :file:`spindeterminants.irp.f_template_1215`
|
||||
|
||||
|
||||
|
||||
Returns the indices of all the single excitations in the list of unique alpha determinants.
|
||||
|
||||
|
||||
@ -2505,6 +2588,7 @@ Subroutines / functions
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:function:: get_double_excitation
|
||||
|
||||
.. code:: text
|
||||
@ -2948,6 +3032,7 @@ Subroutines / functions
|
||||
File: :file:`slater_rules.irp.f`
|
||||
|
||||
Computes <i|H|Psi> = :math:`\sum_J c_J \langle i | H | J \rangle`.
|
||||
|
||||
Uses filter_connected_i_H_psi0 to get all the |J> to which |i> is connected. The i_H_psi_minilist is much faster but requires to build the minilists
|
||||
|
||||
|
||||
@ -2963,6 +3048,7 @@ Subroutines / functions
|
||||
File: :file:`slater_rules.irp.f`
|
||||
|
||||
Computes <i|H|Psi> = \sum_J c_J <i|H|J>.
|
||||
|
||||
Uses filter_connected_i_H_psi0 to get all the |J> to which |i> is connected. The |J> are searched in short pre-computed lists.
|
||||
|
||||
|
||||
@ -2978,6 +3064,7 @@ Subroutines / functions
|
||||
File: :file:`s2.irp.f`
|
||||
|
||||
Computes <i|S2|Psi> = \sum_J c_J <i|S2|J>.
|
||||
|
||||
Uses filter_connected_i_H_psi0 to get all the |J> to which |i> is connected. The |J> are searched in short pre-computed lists.
|
||||
|
||||
|
||||
@ -3105,7 +3192,9 @@ Subroutines / functions
|
||||
File: :file:`occ_pattern.irp.f`
|
||||
|
||||
Transforms a determinant to an occupation pattern
|
||||
|
||||
occ(:,1) : Single occupations
|
||||
|
||||
occ(:,2) : Double occupations
|
||||
|
||||
|
||||
@ -3113,6 +3202,7 @@ Subroutines / functions
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:function:: occ_pattern_search_key
|
||||
|
||||
.. code:: text
|
||||
@ -3248,6 +3338,7 @@ Subroutines / functions
|
||||
File: :file:`s2.irp.f`
|
||||
|
||||
Computes v_0 = S^2|u_0>
|
||||
|
||||
n : number of determinants
|
||||
|
||||
|
||||
@ -3255,6 +3346,7 @@ Subroutines / functions
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:function:: s2_u_0_nstates
|
||||
|
||||
.. code:: text
|
||||
@ -3264,6 +3356,7 @@ Subroutines / functions
|
||||
File: :file:`s2.irp.f`
|
||||
|
||||
Computes v_0 = S^2|u_0>
|
||||
|
||||
n : number of determinants
|
||||
|
||||
|
||||
@ -3271,6 +3364,7 @@ Subroutines / functions
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:function:: save_natural_mos
|
||||
|
||||
.. code:: text
|
||||
@ -3434,6 +3528,7 @@ Subroutines / functions
|
||||
File: :file:`determinants.irp.f`
|
||||
|
||||
Determinants are sorted are sorted according to their det_search_key. Useful to accelerate the search of a random determinant in the wave function.
|
||||
|
||||
/!\ The first dimension of coef_out and coef_in need to be psi_det_size
|
||||
|
||||
|
||||
@ -3441,6 +3536,7 @@ Subroutines / functions
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:function:: spin_det_search_key
|
||||
|
||||
.. code:: text
|
||||
@ -3478,6 +3574,7 @@ Subroutines / functions
|
||||
File: :file:`s2.irp.f`
|
||||
|
||||
Computes e_0 = <u_0|S2|u_0>/<u_0|u_0>
|
||||
|
||||
n : number of determinants
|
||||
|
||||
|
||||
@ -3485,6 +3582,7 @@ Subroutines / functions
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:function:: wf_of_psi_bilinear_matrix
|
||||
|
||||
.. code:: text
|
||||
|
@ -12,7 +12,7 @@ This module contains the main keywords related to a DFT calculation or RS-DFT ca
|
||||
|
||||
* :option:`dft_keywords exchange_functional`
|
||||
* :option:`dft_keywords correlation_functional`
|
||||
* :option:`dft_keywords HF_exchange` : only relevent for the :ref:`ks_scf` program
|
||||
* :option:`dft_keywords HF_exchange` : only relevent for the :c:func:`rs_ks_scf` program
|
||||
|
||||
The keyword for the **range separation parameter** :math:`\mu` is the :option:`ao_two_e_erf_integrals mu_erf` keyword.
|
||||
|
||||
|
@ -1591,13 +1591,21 @@ Subroutines / functions
|
||||
File: :file:`exc_sr_pbe.irp.f`
|
||||
|
||||
Short-range PBE correlation energy functional for erf interaction
|
||||
|
||||
input : ==========
|
||||
|
||||
mu = range separated parameter
|
||||
|
||||
rhoc, rhoo = total density and spin density
|
||||
|
||||
sigmacc = square of the gradient of the total density
|
||||
|
||||
sigmaco = square of the gradient of the spin density
|
||||
|
||||
sigmaoo = scalar product between the gradient of the total density and the one of the spin density
|
||||
|
||||
output: ==========
|
||||
|
||||
ec = correlation energy
|
||||
|
||||
|
||||
@ -1605,6 +1613,7 @@ Subroutines / functions
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:function:: ec_pbe_sr
|
||||
|
||||
.. code:: text
|
||||
@ -1614,19 +1623,33 @@ Subroutines / functions
|
||||
File: :file:`exc_sr_pbe.irp.f`
|
||||
|
||||
Short-range PBE correlation energy functional for erf interaction
|
||||
|
||||
input : ==========
|
||||
|
||||
mu = range separated parameter
|
||||
|
||||
rhoc, rhoo = total density and spin density
|
||||
|
||||
sigmacc = square of the gradient of the total density
|
||||
|
||||
sigmaco = square of the gradient of the spin density
|
||||
|
||||
sigmaoo = scalar product between the gradient of the total density and the one of the spin density
|
||||
|
||||
output: ==========
|
||||
|
||||
ec = correlation energy
|
||||
|
||||
all variables v** are energy derivatives with respect to components of the density
|
||||
|
||||
vrhoc = derivative with respect to the total density
|
||||
|
||||
vrhoo = derivative with respect to spin density
|
||||
|
||||
vsigmacc = derivative with respect to the square of the gradient of the total density
|
||||
|
||||
vsigmaco = derivative with respect to scalar product between the gradients of total and spin densities
|
||||
|
||||
vsigmaoo = derivative with respect to the square of the gradient of the psin density
|
||||
|
||||
|
||||
|
@ -87,6 +87,7 @@ Subroutines / functions
|
||||
File: :file:`get_unit_and_open.irp.f`
|
||||
|
||||
:f: file name
|
||||
|
||||
:mode: 'R' : READ, UNFORMATTED 'W' : WRITE, UNFORMATTED 'r' : READ, FORMATTED 'w' : WRITE, FORMATTED 'a' : APPEND, FORMATTED 'x' : READ/WRITE, FORMATTED
|
||||
|
||||
|
||||
@ -94,6 +95,7 @@ Subroutines / functions
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:function:: write_bool
|
||||
|
||||
.. code:: text
|
||||
|
@ -33,7 +33,7 @@ By default, the program will stop when more than one million determinants have
|
||||
been selected, or when the |PT2| energy is below :math:`10^{-4}`.
|
||||
|
||||
The variational and |PT2| energies of the iterations are stored in the
|
||||
|EZFIO| database, in the :ref:`IterativeSave` module.
|
||||
|EZFIO| database, in the :ref:`iterations` module.
|
||||
|
||||
|
||||
|
||||
|
@ -106,6 +106,23 @@ Providers
|
||||
|
||||
|
||||
|
||||
.. c:var:: extra_e_contrib_density
|
||||
|
||||
.. code:: text
|
||||
|
||||
double precision :: extra_e_contrib_density
|
||||
|
||||
File: :file:`ks_enery.irp.f`
|
||||
|
||||
Extra contribution to the SCF energy coming from the density.
|
||||
|
||||
For a Hartree-Fock calculation: extra_e_contrib_density = 0
|
||||
|
||||
For a Kohn-Sham or Range-separated Kohn-Sham: the exchange/correlation - 1/2 trace of the V_xc potential
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:var:: fock_matrix_alpha_no_xc_ao
|
||||
|
||||
.. code:: text
|
||||
|
@ -47,6 +47,15 @@ To start a calculation from scratch, the simplest way is to remove the
|
||||
|
||||
|
||||
|
||||
EZFIO parameters
|
||||
----------------
|
||||
|
||||
.. option:: energy
|
||||
|
||||
SCF energy
|
||||
|
||||
|
||||
|
||||
Providers
|
||||
---------
|
||||
|
||||
@ -66,3 +75,21 @@ Providers
|
||||
Range-separated Kohn-Sham energy containing the nuclear repulsion energy, and the various components of this quantity.
|
||||
|
||||
|
||||
|
||||
|
||||
Subroutines / functions
|
||||
-----------------------
|
||||
|
||||
|
||||
|
||||
.. c:function:: rs_ks_scf
|
||||
|
||||
.. code:: text
|
||||
|
||||
subroutine rs_ks_scf
|
||||
|
||||
File: :file:`rs_ks_scf.irp.f`
|
||||
|
||||
Produce `Range_separated_Kohn_Sham` MO orbital output: mo_basis.mo_tot_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
|
||||
|
||||
|
||||
|
@ -91,6 +91,7 @@ Providers
|
||||
File: :file:`track_orb.irp.f`
|
||||
|
||||
Void provider to store the coefficients of the |MO| basis at the beginning of the SCF iteration
|
||||
|
||||
Usefull to track some orbitals
|
||||
|
||||
|
||||
@ -105,6 +106,7 @@ Providers
|
||||
File: :file:`mos.irp.f`
|
||||
|
||||
MO coefficients in orthogonalized AO basis
|
||||
|
||||
C^(-1).C_mo
|
||||
|
||||
|
||||
@ -189,6 +191,7 @@ Subroutines / functions
|
||||
File: :file:`mos.irp.f`
|
||||
|
||||
Transform A from the AO basis to the orthogonal AO basis
|
||||
|
||||
C^(-1).A_ao.Ct^(-1)
|
||||
|
||||
|
||||
@ -204,6 +207,7 @@ Subroutines / functions
|
||||
File: :file:`mos.irp.f`
|
||||
|
||||
Transform A from the AO basis to the MO basis
|
||||
|
||||
Ct.A_ao.C
|
||||
|
||||
|
||||
@ -261,6 +265,7 @@ Subroutines / functions
|
||||
File: :file:`track_orb.irp.f`
|
||||
|
||||
|
||||
|
||||
Initialize :c:data:`mo_coef_begin_iteration` to the current :c:data:`mo_coef`
|
||||
|
||||
|
||||
@ -276,8 +281,11 @@ Subroutines / functions
|
||||
File: :file:`mos.irp.f`
|
||||
|
||||
Rotates the jth MO with the kth MO to give two new MO's that are
|
||||
|
||||
'+' = 1/sqrt(2) (|j> + |k>)
|
||||
|
||||
'-' = 1/sqrt(2) (|j> - |k>)
|
||||
|
||||
by convention, the '+' MO is in the lower index (min(j,k)) by convention, the '-' MO is in the larger index (max(j,k))
|
||||
|
||||
|
||||
|
@ -272,6 +272,7 @@ Subroutines / functions
|
||||
File: :file:`ao_to_mo.irp.f`
|
||||
|
||||
Transform A from the MO basis to the AO basis
|
||||
|
||||
(S.C).A_mo.(S.C)t
|
||||
|
||||
|
||||
|
@ -91,6 +91,7 @@ Providers
|
||||
File: :file:`ints_erf_3_index.irp.f`
|
||||
|
||||
int_erf_3_index(i,j) = <ij|ij> = (ii|jj) with the erf interaction
|
||||
|
||||
int_erf_3_index_exc(i,j) = <ij|ji> = (ij|ij) with the erf interaction
|
||||
|
||||
|
||||
@ -106,6 +107,7 @@ Providers
|
||||
File: :file:`ints_erf_3_index.irp.f`
|
||||
|
||||
int_erf_3_index(i,j) = <ij|ij> = (ii|jj) with the erf interaction
|
||||
|
||||
int_erf_3_index_exc(i,j) = <ij|ji> = (ij|ij) with the erf interaction
|
||||
|
||||
|
||||
|
@ -76,6 +76,7 @@ Providers
|
||||
File: :file:`integrals_3_index.irp.f`
|
||||
|
||||
big_array_coulomb_integrals(i,j) = <ij|ij> = (ii|jj)
|
||||
|
||||
big_array_exchange_integrals(i,j) = <ij|ji> = (ij|ij)
|
||||
|
||||
|
||||
@ -91,6 +92,7 @@ Providers
|
||||
File: :file:`integrals_3_index.irp.f`
|
||||
|
||||
big_array_coulomb_integrals(i,j) = <ij|ij> = (ii|jj)
|
||||
|
||||
big_array_exchange_integrals(i,j) = <ij|ji> = (ij|ij)
|
||||
|
||||
|
||||
|
@ -492,8 +492,11 @@ Subroutines / functions
|
||||
File: :file:`pt2_equations.irp.f_template_412`
|
||||
|
||||
compute the standard Epstein-Nesbet perturbative first order coefficient and second order energetic contribution
|
||||
|
||||
for the various N_st states.
|
||||
|
||||
c_pert(i) = <psi(i)|H|det_pert>/( E(i) - <det_pert|H|det_pert> )
|
||||
|
||||
e_2_pert(i) = <psi(i)|H|det_pert>^2/( E(i) - <det_pert|H|det_pert> )
|
||||
|
||||
|
||||
@ -501,6 +504,7 @@ Subroutines / functions
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:function:: pt2_epstein_nesbet_2x2
|
||||
|
||||
.. code:: text
|
||||
@ -510,8 +514,11 @@ Subroutines / functions
|
||||
File: :file:`pt2_equations.irp.f_template_412`
|
||||
|
||||
compute the Epstein-Nesbet 2x2 diagonalization coefficient and energetic contribution
|
||||
|
||||
for the various N_st states.
|
||||
|
||||
e_2_pert(i) = 0.5 * (( <det_pert|H|det_pert> - E(i) ) - sqrt( ( <det_pert|H|det_pert> - E(i)) ^2 + 4 <psi(i)|H|det_pert>^2 )
|
||||
|
||||
c_pert(i) = e_2_pert(i)/ <psi(i)|H|det_pert>
|
||||
|
||||
|
||||
@ -519,6 +526,7 @@ Subroutines / functions
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:function:: pt2_epstein_nesbet_2x2_no_ci_diag
|
||||
|
||||
.. code:: text
|
||||
@ -528,8 +536,11 @@ Subroutines / functions
|
||||
File: :file:`pt2_equations.irp.f_template_412`
|
||||
|
||||
compute the Epstein-Nesbet 2x2 diagonalization coefficient and energetic contribution
|
||||
|
||||
for the various N_st states.
|
||||
|
||||
e_2_pert(i) = 0.5 * (( <det_pert|H|det_pert> - E(i) ) - sqrt( ( <det_pert|H|det_pert> - E(i)) ^2 + 4 <psi(i)|H|det_pert>^2 )
|
||||
|
||||
c_pert(i) = e_2_pert(i)/ <psi(i)|H|det_pert>
|
||||
|
||||
|
||||
@ -537,6 +548,7 @@ Subroutines / functions
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:function:: pt2_h_core
|
||||
|
||||
.. code:: text
|
||||
@ -546,8 +558,11 @@ Subroutines / functions
|
||||
File: :file:`pert_single.irp.f`
|
||||
|
||||
compute the standard Epstein-Nesbet perturbative first order coefficient and second order energetic contribution
|
||||
|
||||
for the various N_st states.
|
||||
|
||||
c_pert(i) = <psi(i)|H|det_pert>/( E(i) - <det_pert|H|det_pert> )
|
||||
|
||||
e_2_pert(i) = <psi(i)|H|det_pert>^2/( E(i) - <det_pert|H|det_pert> )
|
||||
|
||||
|
||||
@ -555,6 +570,7 @@ Subroutines / functions
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:function:: pt2_moller_plesset
|
||||
|
||||
.. code:: text
|
||||
@ -564,8 +580,11 @@ Subroutines / functions
|
||||
File: :file:`pt2_equations.irp.f_template_412`
|
||||
|
||||
compute the standard Moller-Plesset perturbative first order coefficient and second order energetic contribution
|
||||
|
||||
for the various n_st states.
|
||||
|
||||
c_pert(i) = <psi(i)|H|det_pert>/(difference of orbital energies)
|
||||
|
||||
e_2_pert(i) = <psi(i)|H|det_pert>^2/(difference of orbital energies)
|
||||
|
||||
|
||||
@ -573,6 +592,7 @@ Subroutines / functions
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:function:: pt2_moller_plesset_general
|
||||
|
||||
.. code:: text
|
||||
@ -582,8 +602,11 @@ Subroutines / functions
|
||||
File: :file:`pt2_equations.irp.f_template_412`
|
||||
|
||||
compute the general Moller-Plesset perturbative first order coefficient and second order energetic contribution
|
||||
|
||||
for the various n_st states.
|
||||
|
||||
c_pert(i) = <psi(i)|H|det_pert>/(difference of orbital energies)
|
||||
|
||||
e_2_pert(i) = <psi(i)|H|det_pert>^2/(difference of orbital energies)
|
||||
|
||||
|
||||
@ -591,6 +614,7 @@ Subroutines / functions
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:function:: pt2_qdpt
|
||||
|
||||
.. code:: text
|
||||
@ -600,7 +624,9 @@ Subroutines / functions
|
||||
File: :file:`pt2_equations.irp.f_template_412`
|
||||
|
||||
compute the QDPT first order coefficient and second order energetic contribution
|
||||
|
||||
for the various N_st states.
|
||||
|
||||
c_pert(i) = <psi(i)|H|det_pert>/( <psi(i)|H|psi(i)> - <det_pert|H|det_pert> )
|
||||
|
||||
|
||||
@ -608,6 +634,7 @@ Subroutines / functions
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:function:: remove_small_contributions
|
||||
|
||||
.. code:: text
|
||||
|
@ -1,38 +0,0 @@
|
||||
.. _read_integral:
|
||||
|
||||
.. program:: read_integral
|
||||
|
||||
.. default-role:: option
|
||||
|
||||
=============
|
||||
read_integral
|
||||
=============
|
||||
|
||||
Warning: CAN NOT CHANGE THE NUMBER OF MO !
|
||||
Scripts to read integrals and metadata and generates fake ezfio
|
||||
|
||||
Needed Modules
|
||||
==============
|
||||
.. Do not edit this section It was auto-generated
|
||||
.. by the `update_README.py` script.
|
||||
|
||||
|
||||
.. image:: tree_dependency.png
|
||||
|
||||
* `Integrals_Monoelec <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Monoelec>`_
|
||||
* `Integrals_Bielec <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec>`_
|
||||
|
||||
Documentation
|
||||
=============
|
||||
.. Do not edit this section It was auto-generated
|
||||
.. by the `update_README.py` script.
|
||||
|
||||
|
||||
`print_integrals <http://github.com/LCPQ/quantum_package/tree/master/plugins/read_integral/read_integrals_mo.irp.f#L1>`_
|
||||
Undocumented
|
||||
|
||||
|
||||
`run <http://github.com/LCPQ/quantum_package/tree/master/plugins/read_integral/read_integrals_mo.irp.f#L8>`_
|
||||
Undocumented
|
||||
|
||||
|
@ -188,15 +188,21 @@ Providers
|
||||
|
||||
File: :file:`fock_matrix.irp.f`
|
||||
|
||||
Fock matrix on the MO basis. For open shells, the ROHF Fock Matrix is
|
||||
Fock matrix on the MO basis. For open shells, the ROHF Fock Matrix is ::
|
||||
|
||||
| F-K | F + K/2 | F | |---------------------------------| | F + K/2 | F | F - K/2 | |---------------------------------| | F | F - K/2 | F + K |
|
||||
|
||||
|
||||
|
||||
F = 1/2 (Fa + Fb)
|
||||
|
||||
K = Fb - Fa
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:var:: fock_matrix_mo
|
||||
|
||||
.. code:: text
|
||||
@ -206,15 +212,21 @@ Providers
|
||||
|
||||
File: :file:`fock_matrix.irp.f`
|
||||
|
||||
Fock matrix on the MO basis. For open shells, the ROHF Fock Matrix is
|
||||
Fock matrix on the MO basis. For open shells, the ROHF Fock Matrix is ::
|
||||
|
||||
| F-K | F + K/2 | F | |---------------------------------| | F + K/2 | F | F - K/2 | |---------------------------------| | F | F - K/2 | F + K |
|
||||
|
||||
|
||||
|
||||
F = 1/2 (Fa + Fb)
|
||||
|
||||
K = Fb - Fa
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:var:: fock_matrix_mo_alpha
|
||||
|
||||
.. code:: text
|
||||
|
@ -32,10 +32,12 @@ Providers
|
||||
|
||||
File: :file:`e_corr_selectors.irp.f`
|
||||
|
||||
energy of correlation per determinant respect to the Hartree Fock determinant
|
||||
for the all the double excitations in the selectors determinants
|
||||
E_corr_per_selectors(i) = <D_i|H|HF> * c(D_i)/c(HF) if |D_i> is a double excitation
|
||||
Correlation energy per determinant with respect to the Hartree-Fock determinant for the all the double excitations in the selectors determinants.
|
||||
|
||||
E_corr_per_selectors(i) = :math:`\langle D_i | H | \text{HF}\rangle c(D_i)/c(HF)` if :math:`| D_i \rangle` is a double excitation.
|
||||
|
||||
E_corr_per_selectors(i) = -1000.d0 if it is not a double excitation
|
||||
|
||||
coef_hf_selector = coefficient of the Hartree Fock determinant in the selectors determinants
|
||||
|
||||
|
||||
@ -56,10 +58,12 @@ Providers
|
||||
|
||||
File: :file:`e_corr_selectors.irp.f`
|
||||
|
||||
energy of correlation per determinant respect to the Hartree Fock determinant
|
||||
for the all the double excitations in the selectors determinants
|
||||
E_corr_per_selectors(i) = <D_i|H|HF> * c(D_i)/c(HF) if |D_i> is a double excitation
|
||||
Correlation energy per determinant with respect to the Hartree-Fock determinant for the all the double excitations in the selectors determinants.
|
||||
|
||||
E_corr_per_selectors(i) = :math:`\langle D_i | H | \text{HF}\rangle c(D_i)/c(HF)` if :math:`| D_i \rangle` is a double excitation.
|
||||
|
||||
E_corr_per_selectors(i) = -1000.d0 if it is not a double excitation
|
||||
|
||||
coef_hf_selector = coefficient of the Hartree Fock determinant in the selectors determinants
|
||||
|
||||
|
||||
@ -75,9 +79,10 @@ Providers
|
||||
|
||||
File: :file:`e_corr_selectors.irp.f`
|
||||
|
||||
degree of excitation respect to Hartree Fock for the wave function
|
||||
for the all the selectors determinants
|
||||
Degree of excitation respect to Hartree Fock for the wave function for the all the selectors determinants.
|
||||
|
||||
double_index_selectors = list of the index of the double excitations
|
||||
|
||||
n_double_selectors = number of double excitations in the selectors determinants
|
||||
|
||||
|
||||
@ -98,10 +103,12 @@ Providers
|
||||
|
||||
File: :file:`e_corr_selectors.irp.f`
|
||||
|
||||
energy of correlation per determinant respect to the Hartree Fock determinant
|
||||
for the all the double excitations in the selectors determinants
|
||||
E_corr_per_selectors(i) = <D_i|H|HF> * c(D_i)/c(HF) if |D_i> is a double excitation
|
||||
Correlation energy per determinant with respect to the Hartree-Fock determinant for the all the double excitations in the selectors determinants.
|
||||
|
||||
E_corr_per_selectors(i) = :math:`\langle D_i | H | \text{HF}\rangle c(D_i)/c(HF)` if :math:`| D_i \rangle` is a double excitation.
|
||||
|
||||
E_corr_per_selectors(i) = -1000.d0 if it is not a double excitation
|
||||
|
||||
coef_hf_selector = coefficient of the Hartree Fock determinant in the selectors determinants
|
||||
|
||||
|
||||
@ -122,10 +129,12 @@ Providers
|
||||
|
||||
File: :file:`e_corr_selectors.irp.f`
|
||||
|
||||
energy of correlation per determinant respect to the Hartree Fock determinant
|
||||
for the all the double excitations in the selectors determinants
|
||||
E_corr_per_selectors(i) = <D_i|H|HF> * c(D_i)/c(HF) if |D_i> is a double excitation
|
||||
Correlation energy per determinant with respect to the Hartree-Fock determinant for the all the double excitations in the selectors determinants.
|
||||
|
||||
E_corr_per_selectors(i) = :math:`\langle D_i | H | \text{HF}\rangle c(D_i)/c(HF)` if :math:`| D_i \rangle` is a double excitation.
|
||||
|
||||
E_corr_per_selectors(i) = -1000.d0 if it is not a double excitation
|
||||
|
||||
coef_hf_selector = coefficient of the Hartree Fock determinant in the selectors determinants
|
||||
|
||||
|
||||
@ -146,10 +155,12 @@ Providers
|
||||
|
||||
File: :file:`e_corr_selectors.irp.f`
|
||||
|
||||
energy of correlation per determinant respect to the Hartree Fock determinant
|
||||
for the all the double excitations in the selectors determinants
|
||||
E_corr_per_selectors(i) = <D_i|H|HF> * c(D_i)/c(HF) if |D_i> is a double excitation
|
||||
Correlation energy per determinant with respect to the Hartree-Fock determinant for the all the double excitations in the selectors determinants.
|
||||
|
||||
E_corr_per_selectors(i) = :math:`\langle D_i | H | \text{HF}\rangle c(D_i)/c(HF)` if :math:`| D_i \rangle` is a double excitation.
|
||||
|
||||
E_corr_per_selectors(i) = -1000.d0 if it is not a double excitation
|
||||
|
||||
coef_hf_selector = coefficient of the Hartree Fock determinant in the selectors determinants
|
||||
|
||||
|
||||
@ -165,9 +176,10 @@ Providers
|
||||
|
||||
File: :file:`e_corr_selectors.irp.f`
|
||||
|
||||
degree of excitation respect to Hartree Fock for the wave function
|
||||
for the all the selectors determinants
|
||||
Degree of excitation respect to Hartree Fock for the wave function for the all the selectors determinants.
|
||||
|
||||
double_index_selectors = list of the index of the double excitations
|
||||
|
||||
n_double_selectors = number of double excitations in the selectors determinants
|
||||
|
||||
|
||||
@ -188,10 +200,12 @@ Providers
|
||||
|
||||
File: :file:`e_corr_selectors.irp.f`
|
||||
|
||||
energy of correlation per determinant respect to the Hartree Fock determinant
|
||||
for the all the double excitations in the selectors determinants
|
||||
E_corr_per_selectors(i) = <D_i|H|HF> * c(D_i)/c(HF) if |D_i> is a double excitation
|
||||
Correlation energy per determinant with respect to the Hartree-Fock determinant for the all the double excitations in the selectors determinants.
|
||||
|
||||
E_corr_per_selectors(i) = :math:`\langle D_i | H | \text{HF}\rangle c(D_i)/c(HF)` if :math:`| D_i \rangle` is a double excitation.
|
||||
|
||||
E_corr_per_selectors(i) = -1000.d0 if it is not a double excitation
|
||||
|
||||
coef_hf_selector = coefficient of the Hartree Fock determinant in the selectors determinants
|
||||
|
||||
|
||||
@ -212,10 +226,12 @@ Providers
|
||||
|
||||
File: :file:`e_corr_selectors.irp.f`
|
||||
|
||||
energy of correlation per determinant respect to the Hartree Fock determinant
|
||||
for the all the double excitations in the selectors determinants
|
||||
E_corr_per_selectors(i) = <D_i|H|HF> * c(D_i)/c(HF) if |D_i> is a double excitation
|
||||
Correlation energy per determinant with respect to the Hartree-Fock determinant for the all the double excitations in the selectors determinants.
|
||||
|
||||
E_corr_per_selectors(i) = :math:`\langle D_i | H | \text{HF}\rangle c(D_i)/c(HF)` if :math:`| D_i \rangle` is a double excitation.
|
||||
|
||||
E_corr_per_selectors(i) = -1000.d0 if it is not a double excitation
|
||||
|
||||
coef_hf_selector = coefficient of the Hartree Fock determinant in the selectors determinants
|
||||
|
||||
|
||||
@ -236,10 +252,12 @@ Providers
|
||||
|
||||
File: :file:`e_corr_selectors.irp.f`
|
||||
|
||||
energy of correlation per determinant respect to the Hartree Fock determinant
|
||||
for the all the double excitations in the selectors determinants
|
||||
E_corr_per_selectors(i) = <D_i|H|HF> * c(D_i)/c(HF) if |D_i> is a double excitation
|
||||
Correlation energy per determinant with respect to the Hartree-Fock determinant for the all the double excitations in the selectors determinants.
|
||||
|
||||
E_corr_per_selectors(i) = :math:`\langle D_i | H | \text{HF}\rangle c(D_i)/c(HF)` if :math:`| D_i \rangle` is a double excitation.
|
||||
|
||||
E_corr_per_selectors(i) = -1000.d0 if it is not a double excitation
|
||||
|
||||
coef_hf_selector = coefficient of the Hartree Fock determinant in the selectors determinants
|
||||
|
||||
|
||||
@ -255,9 +273,10 @@ Providers
|
||||
|
||||
File: :file:`e_corr_selectors.irp.f`
|
||||
|
||||
degree of excitation respect to Hartree Fock for the wave function
|
||||
for the all the selectors determinants
|
||||
Degree of excitation respect to Hartree Fock for the wave function for the all the selectors determinants.
|
||||
|
||||
double_index_selectors = list of the index of the double excitations
|
||||
|
||||
n_double_selectors = number of double excitations in the selectors determinants
|
||||
|
||||
|
||||
|
@ -96,8 +96,11 @@ Subroutines / functions
|
||||
File: :file:`print_wf.irp.f`
|
||||
|
||||
print the 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 :)
|
||||
|
||||
|
||||
@ -141,7 +144,9 @@ Subroutines / functions
|
||||
File: :file:`save_one_body_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_body_alpha_dm_mo and data_one_body_beta_dm_mo will automatically read the density in a further calculation.
|
||||
|
||||
This can be used to perform dampin on the density in RS-DFT calculation (see the density_for_dft module).
|
||||
|
||||
|
||||
|
@ -226,12 +226,14 @@ Providers
|
||||
File: :file:`one_e_integration.irp.f`
|
||||
|
||||
.. math::
|
||||
|
||||
S_x = \int (x-A_x)^{a_x} exp(-\alpha(x-A_x)^2) (x-B_x)^{b_x} exp(-beta(x-B_x)^2) dx \\ S = S_x S_y S_z
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:var:: phi_angular_integration_lebedev
|
||||
|
||||
.. code:: text
|
||||
@ -466,6 +468,7 @@ Subroutines / functions
|
||||
File: :file:`util.irp.f`
|
||||
|
||||
.. math ::
|
||||
|
||||
\frac{i!}{j!(i-j)!}
|
||||
|
||||
|
||||
@ -473,6 +476,7 @@ Subroutines / functions
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:function:: check_mem
|
||||
|
||||
.. code:: text
|
||||
@ -790,6 +794,7 @@ Subroutines / functions
|
||||
File: :file:`integration.irp.f`
|
||||
|
||||
Transforms the product of (x-x_A)^a(1) (x-x_B)^b(1) (x-x_A)^a(2) (y-y_B)^b(2) (z-z_A)^a(3) (z-z_B)^b(3) exp(-(r-A)^2 alpha) exp(-(r-B)^2 beta) exp(-(r-Nucl_center)^2 gama
|
||||
|
||||
into fact_k * [ sum (l_x = 0,i_order(1)) P_new(l_x,1) * (x-P_center(1))^l_x ] exp (- p (x-P_center(1))^2 ) * [ sum (l_y = 0,i_order(2)) P_new(l_y,2) * (y-P_center(2))^l_y ] exp (- p (y-P_center(2))^2 ) * [ sum (l_z = 0,i_order(3)) P_new(l_z,3) * (z-P_center(3))^l_z ] exp (- p (z-P_center(3))^2 )
|
||||
|
||||
|
||||
@ -1253,8 +1258,11 @@ Subroutines / functions
|
||||
File: :file:`linear_algebra.irp.f`
|
||||
|
||||
Diagonalize matrix H
|
||||
|
||||
H is untouched between input and ouptut
|
||||
|
||||
eigevalues(i) = ith lowest eigenvalue of the H matrix
|
||||
|
||||
eigvectors(i,j) = <i|psi_j> where i is the basis function and psi_j is the j th eigenvector
|
||||
|
||||
|
||||
@ -1262,6 +1270,7 @@ Subroutines / functions
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:function:: lapack_diagd
|
||||
|
||||
.. code:: text
|
||||
@ -1271,8 +1280,11 @@ Subroutines / functions
|
||||
File: :file:`linear_algebra.irp.f`
|
||||
|
||||
Diagonalize matrix H
|
||||
|
||||
H is untouched between input and ouptut
|
||||
|
||||
eigevalues(i) = ith lowest eigenvalue of the H matrix
|
||||
|
||||
eigvectors(i,j) = <i|psi_j> where i is the basis function and psi_j is the j th eigenvector
|
||||
|
||||
|
||||
@ -1280,6 +1292,7 @@ Subroutines / functions
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:function:: logfact
|
||||
|
||||
.. code:: text
|
||||
@ -1401,11 +1414,17 @@ Subroutines / functions
|
||||
File: :file:`linear_algebra.irp.f`
|
||||
|
||||
Compute C_new=C_old.U.s^-1/2 canonical orthogonalization.
|
||||
|
||||
overlap : overlap matrix
|
||||
|
||||
LDA : leftmost dimension of overlap array
|
||||
|
||||
N : Overlap matrix is NxN (array is (LDA,N) )
|
||||
|
||||
C : Coefficients of the vectors to orthogonalize. On exit, orthogonal vectors
|
||||
|
||||
LDC : leftmost dimension of C
|
||||
|
||||
m : Coefficients matrix is MxN, ( array is (LDC,N) )
|
||||
|
||||
|
||||
@ -1413,6 +1432,7 @@ Subroutines / functions
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:function:: ortho_lowdin
|
||||
|
||||
.. code:: text
|
||||
@ -1422,11 +1442,17 @@ Subroutines / functions
|
||||
File: :file:`linear_algebra.irp.f`
|
||||
|
||||
Compute C_new=C_old.S^-1/2 orthogonalization.
|
||||
|
||||
overlap : overlap matrix
|
||||
|
||||
LDA : leftmost dimension of overlap array
|
||||
|
||||
N : Overlap matrix is NxN (array is (LDA,N) )
|
||||
|
||||
C : Coefficients of the vectors to orthogonalize. On exit, orthogonal vectors
|
||||
|
||||
LDC : leftmost dimension of C
|
||||
|
||||
M : Coefficients matrix is MxN, ( array is (LDC,N) )
|
||||
|
||||
|
||||
@ -1434,6 +1460,7 @@ Subroutines / functions
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:function:: ortho_qr
|
||||
|
||||
.. code:: text
|
||||
@ -1443,9 +1470,13 @@ Subroutines / functions
|
||||
File: :file:`linear_algebra.irp.f`
|
||||
|
||||
Orthogonalization using Q.R factorization
|
||||
|
||||
A : matrix to orthogonalize
|
||||
|
||||
LDA : leftmost dimension of A
|
||||
|
||||
n : Number of rows of A
|
||||
|
||||
m : Number of columns of A
|
||||
|
||||
|
||||
@ -1453,6 +1484,7 @@ Subroutines / functions
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:function:: ortho_qr_unblocked
|
||||
|
||||
.. code:: text
|
||||
@ -1462,9 +1494,13 @@ Subroutines / functions
|
||||
File: :file:`linear_algebra.irp.f`
|
||||
|
||||
Orthogonalization using Q.R factorization
|
||||
|
||||
A : matrix to orthogonalize
|
||||
|
||||
LDA : leftmost dimension of A
|
||||
|
||||
n : Number of rows of A
|
||||
|
||||
m : Number of columns of A
|
||||
|
||||
|
||||
@ -1472,6 +1508,7 @@ Subroutines / functions
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:function:: overlap_gaussian_x
|
||||
|
||||
.. code:: text
|
||||
@ -1481,6 +1518,7 @@ Subroutines / functions
|
||||
File: :file:`one_e_integration.irp.f`
|
||||
|
||||
.. math::
|
||||
|
||||
\sum_{-infty}^{+infty} (x-A_x)^ax (x-B_x)^bx exp(-alpha(x-A_x)^2) exp(-beta(x-B_X)^2) dx
|
||||
|
||||
|
||||
@ -1488,6 +1526,7 @@ Subroutines / functions
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:function:: overlap_x_abs
|
||||
|
||||
.. code:: text
|
||||
@ -1497,6 +1536,7 @@ Subroutines / functions
|
||||
File: :file:`one_e_integration.irp.f`
|
||||
|
||||
.. math ::
|
||||
|
||||
\int_{-infty}^{+infty} (x-A_center)^(power_A) * (x-B_center)^power_B * exp(-alpha(x-A_center)^2) * exp(-beta(x-B_center)^2) dx
|
||||
|
||||
|
||||
@ -1504,6 +1544,7 @@ Subroutines / functions
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:function:: print_memory_usage
|
||||
|
||||
.. code:: text
|
||||
@ -1625,6 +1666,7 @@ Subroutines / functions
|
||||
File: :file:`integration.irp.f`
|
||||
|
||||
.. math::
|
||||
|
||||
\int_0^1 dx \exp(-p x^2) x^n
|
||||
|
||||
|
||||
@ -1632,6 +1674,7 @@ Subroutines / functions
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:function:: rint1
|
||||
|
||||
.. code:: text
|
||||
@ -1837,7 +1880,9 @@ Subroutines / functions
|
||||
File: :file:`linear_algebra.irp.f`
|
||||
|
||||
Compute A = U.D.Vt
|
||||
|
||||
LDx : leftmost dimension of x
|
||||
|
||||
Dimsneion of A is m x n
|
||||
|
||||
|
||||
@ -1845,6 +1890,7 @@ Subroutines / functions
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:function:: total_memory
|
||||
|
||||
.. code:: text
|
||||
|
@ -10,6 +10,7 @@ Index of Modules
|
||||
:glob:
|
||||
|
||||
/modules/*
|
||||
/programmers_guide/plugins
|
||||
|
||||
|
||||
.. Auto-generated file
|
||||
|
@ -404,6 +404,9 @@ Index of Providers
|
||||
* :c:data:`n_det_max_full`
|
||||
* :c:data:`n_det_non_cas`
|
||||
* :c:data:`n_det_print_wf`
|
||||
* :c:data:`n_det_non_ref`
|
||||
* :c:data:`n_det_print_wf`
|
||||
* :c:data:`n_det_ref`
|
||||
* :c:data:`n_det_selectors`
|
||||
* :c:data:`n_double_exc_bitmasks`
|
||||
* :c:data:`n_double_selectors`
|
||||
@ -1213,6 +1216,7 @@ Index of Subroutines/Functions
|
||||
* :c:func:`roothaan_hall_scf`
|
||||
* :c:func:`routine`
|
||||
* :c:func:`routine_example_psi_det`
|
||||
* :c:func:`rs_ks_scf`
|
||||
* :c:func:`run`
|
||||
* :c:func:`run_pt2_slave`
|
||||
* :c:func:`run_selection_slave`
|
||||
|
@ -1,47 +0,0 @@
|
||||
The DFT module uses Lebedev-Laikov grids, using the code distributed through CCL (http://www.ccl.net/).
|
||||
|
||||
.. code-block:: text
|
||||
|
||||
This subroutine is part of a set of subroutines that generate
|
||||
Lebedev grids [1-6] for integration on a sphere. The original
|
||||
C-code [1] was kindly provided by Dr. Dmitri N. Laikov and
|
||||
translated into fortran by Dr. Christoph van Wuellen.
|
||||
This subroutine was translated using a C to fortran77 conversion
|
||||
tool written by Dr. Christoph van Wuellen.
|
||||
|
||||
Users of this code are asked to include reference [1] in their
|
||||
publications, and in the user- and programmers-manuals
|
||||
describing their codes.
|
||||
|
||||
This code was distributed through CCL (http://www.ccl.net/).
|
||||
|
||||
[1] V.I. Lebedev, and D.N. Laikov
|
||||
"A quadrature formula for the sphere of the 131st
|
||||
algebraic order of accuracy"
|
||||
Doklady Mathematics, Vol. 59, No. 3, 1999, pp. 477-481.
|
||||
|
||||
[2] V.I. Lebedev
|
||||
"A quadrature formula for the sphere of 59th algebraic
|
||||
order of accuracy"
|
||||
Russian Acad. Sci. Dokl. Math., Vol. 50, 1995, pp. 283-286.
|
||||
|
||||
[3] V.I. Lebedev, and A.L. Skorokhodov
|
||||
"Quadrature formulas of orders 41, 47, and 53 for the sphere"
|
||||
Russian Acad. Sci. Dokl. Math., Vol. 45, 1992, pp. 587-592.
|
||||
|
||||
[4] V.I. Lebedev
|
||||
"Spherical quadrature formulas exact to orders 25-29"
|
||||
Siberian Mathematical Journal, Vol. 18, 1977, pp. 99-107.
|
||||
|
||||
[5] V.I. Lebedev
|
||||
"Quadratures on a sphere"
|
||||
Computational Mathematics and Mathematical Physics, Vol. 16,
|
||||
1976, pp. 10-24.
|
||||
|
||||
[6] V.I. Lebedev
|
||||
"Values of the nodes and weights of ninth to seventeenth
|
||||
order Gauss-Markov quadrature formulae invariant under the
|
||||
octahedron group with inversion"
|
||||
Computational Mathematics and Mathematical Physics, Vol. 15,
|
||||
1975, pp. 44-51.
|
||||
|
@ -12,6 +12,10 @@ document, where each section corresponds to the corresponding |qp| 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 |EZFIO| directory.
|
||||
|
||||
.. note::
|
||||
The text editor which will be opened is defined by the :envvar:`EDITOR`
|
||||
environment variable.
|
||||
|
||||
.. warning::
|
||||
When the wave function is too large (more than 10 000 determinants), the
|
||||
determinants are not displayed.
|
||||
|
@ -105,7 +105,7 @@ END_PROVIDER
|
||||
BEGIN_PROVIDER [ double precision, ao_coef_normalized_ordered_transp, (ao_prim_num_max,ao_num) ]
|
||||
implicit none
|
||||
BEGIN_DOC
|
||||
! Transposed :c:var:`ao_coef_normalized_ordered`
|
||||
! Transposed :c:data:`ao_coef_normalized_ordered`
|
||||
END_DOC
|
||||
integer :: i,j
|
||||
do j=1, ao_num
|
||||
@ -119,7 +119,7 @@ END_PROVIDER
|
||||
BEGIN_PROVIDER [ double precision, ao_expo_ordered_transp, (ao_prim_num_max,ao_num) ]
|
||||
implicit none
|
||||
BEGIN_DOC
|
||||
! Transposed :c:var:`ao_expo_ordered`
|
||||
! Transposed :c:data:`ao_expo_ordered`
|
||||
END_DOC
|
||||
integer :: i,j
|
||||
do j=1, ao_num
|
||||
|
@ -72,7 +72,7 @@ END_PROVIDER
|
||||
BEGIN_PROVIDER [ double precision, ao_cart_to_sphe_inv, (ao_cart_to_sphe_num,ao_num) ]
|
||||
implicit none
|
||||
BEGIN_DOC
|
||||
! Inverse of :c:var:`ao_cart_to_sphe_coef`
|
||||
! Inverse of :c:data:`ao_cart_to_sphe_coef`
|
||||
END_DOC
|
||||
|
||||
call get_pseudo_inverse(ao_cart_to_sphe_coef,size(ao_cart_to_sphe_coef,1),&
|
||||
|
@ -5,7 +5,7 @@
|
||||
BEGIN_DOC
|
||||
! Second derivative matrix elements in the |AO| basis.
|
||||
!
|
||||
! :math:`{\tt ao_deriv2_x} =
|
||||
! :math:`{\tt ao\_deriv2\_x} =
|
||||
! \langle \chi_i(x,y,z) | \frac{\partial^2}{\partial x^2} |\chi_j (x,y,z) \rangle`
|
||||
!
|
||||
END_DOC
|
||||
|
@ -1,7 +1,7 @@
|
||||
subroutine give_all_erf_kl_ao(integrals_ao,mu_in,C_center)
|
||||
implicit none
|
||||
BEGIN_DOC
|
||||
! subroutine that returs all integrals over r of type erf(mu_in * |r-C_center|)/|r-C_center|
|
||||
! subroutine that returs all integrals over r of type erf(mu_in * | r-C_center |)/| r-C_center |
|
||||
END_DOC
|
||||
double precision, intent(in) :: mu_in,C_center(3)
|
||||
double precision, intent(out) :: integrals_ao(ao_num,ao_num)
|
||||
@ -19,7 +19,7 @@ double precision function NAI_pol_mult_erf_ao(i_ao,j_ao,mu_in,C_center)
|
||||
implicit none
|
||||
BEGIN_DOC
|
||||
! computes the following integral :
|
||||
! int[-infty;+infty] dr AO_i_ao (r) AO_j_ao(r) erf(mu_in * |r-C_center|)/|r-C_center|
|
||||
! int[-infty;+infty] dr AO_i_ao (r) AO_j_ao(r) erf(mu_in * | r-C_center |)/| r-C_center |
|
||||
END_DOC
|
||||
integer, intent(in) :: i_ao,j_ao
|
||||
double precision, intent(in) :: mu_in, C_center(3)
|
||||
|
@ -3,11 +3,19 @@ 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 |RSDFT| 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.
|
||||
* `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.
|
||||
Thanks to these providers you can use any density matrix that does not
|
||||
necessary corresponds to that of the current wave function.
|
||||
|
@ -3,13 +3,19 @@
|
||||
source $QP_ROOT/tests/bats/common.bats.sh
|
||||
|
||||
function run() {
|
||||
thresh=5.e-7
|
||||
if [[ -z $5 ]] ; then
|
||||
S2=1
|
||||
else
|
||||
S2=0
|
||||
fi
|
||||
thresh=1.e-6
|
||||
test_exe cis || skip
|
||||
qp_edit -c $1
|
||||
ezfio set_file $1
|
||||
ezfio set determinants n_states 3
|
||||
ezfio set determinants s2_eig $S2
|
||||
ezfio set davidson threshold_davidson 1.e-12
|
||||
# echo "Write" > $1/mo_two_e_integrals/disk_access_mo_integrals
|
||||
echo "Write" > $1/mo_two_e_integrals/disk_access_mo_integrals
|
||||
qp_set_frozen_core $1
|
||||
qp_run cis $1
|
||||
energy1="$(ezfio get cis energy | tr '[]' ' ' | cut -d ',' -f 1)"
|
||||
@ -23,11 +29,11 @@ function run() {
|
||||
|
||||
|
||||
@test "HBO" {
|
||||
run hbo.ezfio -100.018582307658 -99.6982685747284 -99.6982685747283
|
||||
run hbo.ezfio -100.018582307658 -99.77695116779833 -99.74105601962573 x
|
||||
}
|
||||
|
||||
@test "H2O" {
|
||||
run h2o.ezfio -76.0270218681105 -75.6854407469221 -75.6196755733432
|
||||
run h2o.ezfio -76.02702187043107 -75.6854407466997 -75.61967556334928
|
||||
}
|
||||
|
||||
@test "[Cu(NH3)4]2+" {
|
||||
@ -35,7 +41,7 @@ function run() {
|
||||
}
|
||||
|
||||
@test "C2H2" {
|
||||
run c2h2.ezfio -12.1214401949631 -11.86823108084437 -11.86823108084389
|
||||
run c2h2.ezfio -12.1214401949631 -11.95227840126497 -11.91537223579299 x
|
||||
}
|
||||
|
||||
@test "ClO" {
|
||||
@ -43,7 +49,7 @@ function run() {
|
||||
}
|
||||
|
||||
@test "DHNO" {
|
||||
run dhno.ezfio -130.447228845699 -130.357180876975 -130.219625729558
|
||||
run dhno.ezfio -130.4472288472718 -130.3571808164850 -130.2196257046987
|
||||
}
|
||||
|
||||
@test "H3COH" {
|
||||
@ -51,11 +57,11 @@ function run() {
|
||||
}
|
||||
|
||||
@test "HCN" {
|
||||
run hcn.ezfio -92.8871750003801 -92.6089719727410 -92.6089719727409
|
||||
run hcn.ezfio -92.88717500038086 -92.69765690338815 -92.66095614790936 x
|
||||
}
|
||||
|
||||
@test "N2" {
|
||||
run n2.ezfio -108.9834897853049 -108.6496539410780 -108.6496539410771
|
||||
run n2.ezfio -108.9834897853052 -108.7538426008862 -108.7142633124650 x
|
||||
}
|
||||
|
||||
@test "SiH2_3B1" {
|
||||
@ -71,7 +77,7 @@ function run() {
|
||||
}
|
||||
|
||||
@test "CO2" {
|
||||
run co2.ezfio -187.650710886151 -187.291641391714 -187.291641391713
|
||||
run co2.ezfio -187.6507108861505 -187.3564970712329 -187.3277981565893 x
|
||||
}
|
||||
|
||||
@test "F2" {
|
||||
@ -79,11 +85,11 @@ function run() {
|
||||
}
|
||||
|
||||
@test "HCO" {
|
||||
run hco.ezfio -113.094024225042 -113.002362525915 -112.894730863318
|
||||
run hco.ezfio -113.0940242141341 -113.0023623703527 -112.8947302999338
|
||||
}
|
||||
|
||||
@test "NH3" {
|
||||
run nh3.ezfio -56.2178342898186 -55.9199930723028 -55.8475617160862
|
||||
run nh3.ezfio -56.21783428981829 -55.91997684191139 -55.84753645754046
|
||||
}
|
||||
|
||||
@test "SiH3" {
|
||||
@ -111,6 +117,6 @@ function run() {
|
||||
}
|
||||
|
||||
@test "SO2" {
|
||||
run so2.ezfio -41.5580019075504 -41.3823293845389 -41.3551232664878
|
||||
run so2.ezfio -41.5580019075645 -41.38232986913486 -41.35512503680323
|
||||
}
|
||||
|
||||
|
@ -14,9 +14,9 @@ subroutine run
|
||||
|
||||
call H_apply_cis
|
||||
print *, 'N_det = ', N_det
|
||||
print *, 'Energies of the states:'
|
||||
do i = 1,N_states
|
||||
print *, 'energy = ',CI_energy(i)
|
||||
print *, 'E_corr = ',CI_electronic_energy(i) - ref_bitmask_energy
|
||||
print *, i, CI_energy(i)
|
||||
enddo
|
||||
print*,'******************************'
|
||||
print*,'Excitation energy '
|
||||
|
@ -1,36 +0,0 @@
|
||||
#!/usr/bin/env bats
|
||||
|
||||
source $QP_ROOT/tests/bats/common.bats.sh
|
||||
|
||||
function run_CISD() {
|
||||
thresh=5.e-9
|
||||
test_exe cisd || skip
|
||||
qp_edit -c $1
|
||||
ezfio set_file $1
|
||||
ezfio set determinants n_states 2
|
||||
ezfio set davidson threshold_davidson 1.e-10
|
||||
|
||||
qp_run cisd $1
|
||||
energy1="$(ezfio get cisd energy | tr '[]' ' ' | cut -d ',' -f 1)"
|
||||
energy2="$(ezfio get cisd energy | tr '[]' ' ' | cut -d ',' -f 2)"
|
||||
eq $energy1 $2 $thresh
|
||||
eq $energy2 $3 $thresh
|
||||
}
|
||||
|
||||
|
||||
|
||||
#=== H2O
|
||||
|
||||
@test "qp_set_mo_class H2O cc-pVDZ" {
|
||||
qp_set_mo_class h2o.ezfio -core "[1]" -act "[2-12]" -del "[13-24]"
|
||||
}
|
||||
|
||||
@test "CISD H2O cc-pVDZ" {
|
||||
run_CISD h2o.ezfio -76.1220030371248 -75.7704139046496
|
||||
}
|
||||
|
||||
@test "CISD H2O VDZ pseudo" {
|
||||
qp_set_frozen_core h2o_pseudo.ezfio
|
||||
run_CISD h2o_pseudo.ezfio -17.1526088241466 -16.6975854682481
|
||||
}
|
||||
|
@ -15,8 +15,8 @@ subroutine run
|
||||
call H_apply_cisd
|
||||
print *, 'N_det = ', N_det
|
||||
do i = 1,N_states
|
||||
print *, 'energy = ',CI_energy(i)
|
||||
print *, 'E_corr = ',CI_electronic_energy(i) - ref_bitmask_energy
|
||||
print *, 'energy = ',CI_energy(i), &
|
||||
'E_corr = ',CI_electronic_energy(i) - ref_bitmask_energy
|
||||
enddo
|
||||
psi_coef = ci_eigenvectors
|
||||
SOFT_TOUCH psi_coef
|
||||
|
@ -5,7 +5,7 @@ davidson
|
||||
Abstract module for Davidson's diagonalization.
|
||||
It contains everything required for the Davidson algorithm, dressed or not. If
|
||||
a dressing is used, the dressing column should be defined and the
|
||||
:ref:`davidsondressed` module should be used. If no dressing is required,
|
||||
:ref:`davidson_dressed` 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:
|
||||
|
@ -6,7 +6,7 @@ This module contains the main keywords related to a DFT calculation or RS-DFT ca
|
||||
|
||||
* :option:`dft_keywords exchange_functional`
|
||||
* :option:`dft_keywords correlation_functional`
|
||||
* :option:`dft_keywords HF_exchange` : only relevent for the :ref:`ks_scf` program
|
||||
* :option:`dft_keywords HF_exchange` : only relevent for the :c:func:`rs_ks_scf` program
|
||||
|
||||
The keyword for the **range separation parameter** :math:`\mu` is the :option:`ao_two_e_erf_integrals mu_erf` keyword.
|
||||
|
||||
|
@ -17,7 +17,7 @@ function run {
|
||||
qp_create_ezfio_from_xyz \
|
||||
$INPUT -b "$BASIS" -m $MULT -c $CHARGE $PSEUDO -o $EZ
|
||||
qp_edit -c $EZ
|
||||
# echo "Write" > ${EZ}/ao_two_e_integrals/disk_access_ao_integrals
|
||||
echo "Write" > ${EZ}/ao_two_e_integrals/disk_access_ao_integrals
|
||||
}
|
||||
|
||||
|
||||
|
@ -27,7 +27,7 @@ By default, the program will stop when more than one million determinants have
|
||||
been selected, or when the |PT2| energy is below :math:`10^{-4}`.
|
||||
|
||||
The variational and |PT2| energies of the iterations are stored in the
|
||||
|EZFIO| database, in the :ref:`IterativeSave` module.
|
||||
|EZFIO| database, in the :ref:`iterations` module.
|
||||
|
||||
|
||||
|
||||
|
@ -5,9 +5,10 @@ source $QP_ROOT/tests/bats/common.bats.sh
|
||||
|
||||
function run() {
|
||||
thresh=1.e-8
|
||||
test_exe scf || skip
|
||||
qp_edit -c $1
|
||||
ezfio set_file $1
|
||||
ezfio set scf_utils thresh_scf 1.e-10
|
||||
ezfio set scf_utils thresh_scf 1.e-12
|
||||
qp_run scf $1
|
||||
qp_set_frozen_core $1
|
||||
energy="$(ezfio get hartree_fock energy)"
|
||||
@ -25,6 +26,8 @@ function run() {
|
||||
}
|
||||
|
||||
@test "[Cu(NH3)4]2+" {
|
||||
ezfio set_file cu_nh3_4_2plus.ezfio
|
||||
ezfio set scf_utils thresh_scf 1.e-10
|
||||
run cu_nh3_4_2plus.ezfio -1862.97590388214
|
||||
}
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
program srs_ks_cf
|
||||
program rs_ks_scf
|
||||
BEGIN_DOC
|
||||
! Produce `Range_separated_Kohn_Sham` MO orbital
|
||||
! output: mo_basis.mo_tot_num mo_basis.mo_label mo_basis.ao_md5 mo_basis.mo_coef mo_basis.mo_occ
|
||||
|
@ -98,36 +98,6 @@ subroutine pt2_qdpt ($arguments)
|
||||
end
|
||||
|
||||
|
||||
subroutine pt2_decontracted ($arguments)
|
||||
use bitmasks
|
||||
implicit none
|
||||
$declarations
|
||||
|
||||
BEGIN_DOC
|
||||
END_DOC
|
||||
|
||||
integer :: i,j
|
||||
double precision :: diag_H_mat_elem_fock, h
|
||||
double precision :: i_H_psi_array(N_st)
|
||||
double precision :: coef_pert
|
||||
PROVIDE selection_criterion
|
||||
|
||||
ASSERT (Nint == N_int)
|
||||
ASSERT (Nint > 0)
|
||||
!call i_H_psi(det_pert,psi_selectors,psi_selectors_coef,Nint,N_det_selectors,psi_selectors_size,N_st,i_H_psi_array)
|
||||
call i_H_psi_pert_new_minilist(det_pert,minilist,idx_minilist,N_minilist,psi_selectors_coef,Nint,N_minilist,psi_selectors_size,N_st,i_H_psi_array,coef_pert)
|
||||
H_pert_diag = 0.d0
|
||||
|
||||
|
||||
c_pert(1) = coef_pert
|
||||
e_2_pert(1) = coef_pert * i_H_psi_array(1)
|
||||
! print*,coef_pert,i_H_psi_array(1)
|
||||
|
||||
end
|
||||
|
||||
|
||||
|
||||
|
||||
subroutine pt2_epstein_nesbet_2x2 ($arguments)
|
||||
use bitmasks
|
||||
implicit none
|
||||
@ -168,28 +138,12 @@ subroutine pt2_epstein_nesbet_2x2 ($arguments)
|
||||
c_pert(i) = 0.d0
|
||||
endif
|
||||
H_pert_diag(i) = h*c_pert(i)*c_pert(i)
|
||||
! print*, 'N_det,N_det_selectors = ',N_det,N_det_selectors
|
||||
! print*, delta_e,i_H_psi_array(1)
|
||||
! double precision :: hij,accu
|
||||
! accu = 0.d0
|
||||
! do j = 1, N_det
|
||||
! call i_H_j(det_pert,psi_selectors(1,1,j),N_int,hij)
|
||||
! print*, 'psi_selectors_coef(j,1 = ',psi_selectors_coef(j,1),psi_coef(j,1)
|
||||
! call debug_det(psi_det(1,1,i),N_int)
|
||||
! call debug_det(psi_selectors(1,1,i),N_int)
|
||||
! accu += psi_selectors_coef(j,1) * hij
|
||||
! enddo
|
||||
! print*, 'accu,ihpsi0',accu,i_H_psi_array(1)
|
||||
! stop
|
||||
else
|
||||
e_2_pert(i) = 0.d0
|
||||
c_pert(i) = 0.d0
|
||||
H_pert_diag(i) = 0.d0
|
||||
endif
|
||||
enddo
|
||||
! if( e_2_pert(1) .ne. 0.d0)then
|
||||
! print*,' e_2_pert(1) ', e_2_pert(1)
|
||||
! endif
|
||||
|
||||
end
|
||||
|
||||
@ -219,7 +173,6 @@ subroutine pt2_epstein_nesbet_2x2_no_ci_diag($arguments)
|
||||
PROVIDE psi_energy
|
||||
|
||||
call i_H_psi(det_pert,psi_selectors,psi_selectors_coef,Nint,N_det_selectors,psi_selectors_size,N_st,i_H_psi_array)
|
||||
!call i_H_psi_minilist(det_pert,minilist,idx_minilist,N_minilist,psi_selectors_coef,Nint,N_minilist,psi_selectors_size,N_st,i_H_psi_array)
|
||||
|
||||
h = diag_H_mat_elem_fock(det_ref,det_pert,fock_diag_tmp,Nint)
|
||||
do i =1,N_st
|
||||
|
@ -3,7 +3,7 @@
|
||||
implicit none
|
||||
BEGIN_DOC
|
||||
! Fock matrix on the MO basis.
|
||||
! For open shells, the ROHF Fock Matrix is
|
||||
! For open shells, the ROHF Fock Matrix is ::
|
||||
!
|
||||
! | F-K | F + K/2 | F |
|
||||
! |---------------------------------|
|
||||
@ -11,6 +11,7 @@
|
||||
! |---------------------------------|
|
||||
! | F | F - K/2 | F + K |
|
||||
!
|
||||
!
|
||||
! F = 1/2 (Fa + Fb)
|
||||
!
|
||||
! K = Fb - Fa
|
||||
|
@ -4,9 +4,8 @@ use bitmasks
|
||||
&BEGIN_PROVIDER [integer, n_double_selectors]
|
||||
implicit none
|
||||
BEGIN_DOC
|
||||
! degree of excitation respect to Hartree Fock for the wave function
|
||||
!
|
||||
! for the all the selectors determinants
|
||||
! Degree of excitation respect to Hartree Fock for the wave function
|
||||
! for the all the selectors determinants.
|
||||
!
|
||||
! double_index_selectors = list of the index of the double excitations
|
||||
!
|
||||
@ -34,11 +33,10 @@ END_PROVIDER
|
||||
&BEGIN_PROVIDER[double precision, E_corr_second_order ]
|
||||
implicit none
|
||||
BEGIN_DOC
|
||||
! energy of correlation per determinant respect to the Hartree Fock determinant
|
||||
! Correlation energy per determinant with respect to the Hartree-Fock determinant
|
||||
! for the all the double excitations in the selectors determinants.
|
||||
!
|
||||
! for the all the double excitations in the selectors determinants
|
||||
!
|
||||
! E_corr_per_selectors(i) = <D_i|H|HF> * c(D_i)/c(HF) if |D_i> is a double excitation
|
||||
! E_corr_per_selectors(i) = :math:`\langle D_i | H | \text{HF}\rangle c(D_i)/c(HF)` if :math:`| D_i \rangle` is a double excitation.
|
||||
!
|
||||
! E_corr_per_selectors(i) = -1000.d0 if it is not a double excitation
|
||||
!
|
||||
|
Loading…
Reference in New Issue
Block a user