10
0
mirror of https://github.com/LCPQ/quantum_package synced 2024-09-27 03:51:01 +02:00

merge with toto

This commit is contained in:
Emmanuel Giner 2018-12-21 11:47:07 +01:00
commit be17b9b064
53 changed files with 1556 additions and 1177 deletions

37
TODO
View File

@ -1,3 +1,16 @@
* Virer tous les modules qui sont dans plugins
# qp_module
* Permettre aux utilisateurs de facilement deposer des plugins dans plugins via une commande
* Permettre de descendre plus bas dans l'arborescence de plugins pour permettre des `git clone` dans le repertoire plugins
* Mettre les fichiers de test dans le directory source
* Mettre le fichier LIB
* Mettre les fichiers install.sh dans les modules externes
# Web/doc
* Creer une page web pas trop degueu et la mettre ici : http://lcpq.github.io/quantum_package
* Manu : README * Manu : README
* data_energy_and_density * data_energy_and_density
* dft_keywords * dft_keywords
@ -5,17 +18,17 @@
* dft_utils_one_body * dft_utils_one_body
* dm_for_dft * dm_for_dft
* integrals_erf * integrals_erf
# Exterieur
* Molden format : http://cheminf.cmbi.ru.nl/molden/molden_format.html * Molden format : http://cheminf.cmbi.ru.nl/molden/molden_format.html
* Virer tous les modules qui sont dans plugins
* Permettre aux utilisateurs de facilement deposer des plugins dans plugins via une commande
* Permettre de descendre plus bas dans l'arborescence de plugins pour permettre des `git clone` dans le repertoire plugins
* Mettre les fichiers de test dans le directory source
* Separer les integrales bielectroniques en AO et MO
* Creer une page web pas trop degueu et la mettre ici : http://lcpq.github.io/quantum_package
* Un module pour lire les integrales Moleculaires depuis un FCIDUMP * Un module pour lire les integrales Moleculaires depuis un FCIDUMP
* Un module pour lire des integrales Atomiques (voir module de Mimi pour lire les AO Slater) * Un module pour lire des integrales Atomiques (voir module de Mimi pour lire les AO Slater)
* Plus de tests:
# Tests:
* CIS * CIS
* CISD * CISD
@ -27,7 +40,7 @@
* DFT * DFT
* User doc: # User doc:
* qp_create_ezfio_from_xyz * qp_create_ezfio_from_xyz
* qp_set_frozen_core * qp_set_frozen_core
@ -42,12 +55,12 @@
* Running in parallel * Running in parallel
* Parameters for selection (Generators/selectors) * Parameters for selection (Generators/selectors)
* Programmers doc: # Programmers doc:
* Example : Simple Hartree-Fock program from scratch * Example : Simple Hartree-Fock program from scratch
* Examples : subroutine example_module * Examples : subroutine example_module
* Config file for Cray # Config file for Cray
* Implicit none obligatoire
# EZFIO sans fork
* EZFIO sans fork

View File

@ -35,14 +35,14 @@ OPENMP : 1 ; Append OpenMP flags
# -ffast-math and the Fortran-specific # -ffast-math and the Fortran-specific
# -fno-protect-parens and -fstack-arrays. # -fno-protect-parens and -fstack-arrays.
[OPT] [OPT]
FCFLAGS : -Ofast FCFLAGS : -Ofast
# Profiling flags # Profiling flags
################# #################
# #
[PROFILE] [PROFILE]
FC : -p -g FC : -p -g
FCFLAGS : -Ofast FCFLAGS : -Ofast
# Debugging flags # Debugging flags
################# #################
@ -51,7 +51,7 @@ FCFLAGS : -Ofast
# -g : Extra debugging information # -g : Extra debugging information
# #
[DEBUG] [DEBUG]
FCFLAGS : -fcheck=all -g FCFLAGS : -fcheck=all -g
# OpenMP flags # OpenMP flags
################# #################

View File

@ -35,7 +35,7 @@ OPENMP : 1 ; Append OpenMP flags
# -ffast-math and the Fortran-specific # -ffast-math and the Fortran-specific
# -fno-protect-parens and -fstack-arrays. # -fno-protect-parens and -fstack-arrays.
[OPT] [OPT]
FCFLAGS : -Ofast FCFLAGS : -Ofast
# Profiling flags # Profiling flags
################# #################
@ -51,7 +51,7 @@ FCFLAGS : -Ofast
# -g : Extra debugging information # -g : Extra debugging information
# #
[DEBUG] [DEBUG]
FCFLAGS : -fcheck=all -g FCFLAGS : -fcheck=all -g
# OpenMP flags # OpenMP flags
################# #################

View File

@ -35,14 +35,14 @@ OPENMP : 1 ; Append OpenMP flags
# -ffast-math and the Fortran-specific # -ffast-math and the Fortran-specific
# -fno-protect-parens and -fstack-arrays. # -fno-protect-parens and -fstack-arrays.
[OPT] [OPT]
FCFLAGS : -Ofast FCFLAGS : -Ofast
# Profiling flags # Profiling flags
################# #################
# #
[PROFILE] [PROFILE]
FC : -p -g FC : -p -g
FCFLAGS : -Ofast FCFLAGS : -Ofast
# Debugging flags # Debugging flags
################# #################
@ -51,7 +51,7 @@ FCFLAGS : -Ofast
# -g : Extra debugging information # -g : Extra debugging information
# #
[DEBUG] [DEBUG]
FCFLAGS : -g -msse4.2 -fcheck=all -Waliasing -Wampersand -Wconversion -Wsurprising -Wintrinsics-std -Wno-tabs -Wintrinsic-shadow -Wline-truncation -Wreal-q-constant FCFLAGS : -g -msse4.2 -fcheck=all -Waliasing -Wampersand -Wconversion -Wsurprising -Wintrinsics-std -Wno-tabs -Wintrinsic-shadow -Wline-truncation -Wreal-q-constant
# OpenMP flags # OpenMP flags
################# #################

View File

@ -35,14 +35,14 @@ OPENMP : 1 ; Append OpenMP flags
# -ffast-math and the Fortran-specific # -ffast-math and the Fortran-specific
# -fno-protect-parens and -fstack-arrays. # -fno-protect-parens and -fstack-arrays.
[OPT] [OPT]
FCFLAGS : -Ofast -msse4.2 FCFLAGS : -Ofast -msse4.2
# Profiling flags # Profiling flags
################# #################
# #
[PROFILE] [PROFILE]
FC : -p -g FC : -p -g
FCFLAGS : -Ofast -msse4.2 FCFLAGS : -Ofast -msse4.2
# Debugging flags # Debugging flags
################# #################
@ -51,7 +51,7 @@ FCFLAGS : -Ofast -msse4.2
# -g : Extra debugging information # -g : Extra debugging information
# #
[DEBUG] [DEBUG]
FCFLAGS : -fcheck=all -g FCFLAGS : -fcheck=all -g
# OpenMP flags # OpenMP flags
################# #################

View File

@ -32,14 +32,14 @@ OPENMP : 1 ; Append OpenMP flags
# #
[OPT] [OPT]
FC : -traceback FC : -traceback
FCFLAGS : -xAVX -O2 -ip -ftz -g FCFLAGS : -xAVX -O2 -ip -ftz -g
# Profiling flags # Profiling flags
################# #################
# #
[PROFILE] [PROFILE]
FC : -p -g FC : -p -g
FCFLAGS : -xSSE4.2 -O2 -ip -ftz FCFLAGS : -xSSE4.2 -O2 -ip -ftz
# Debugging flags # Debugging flags
################# #################
@ -52,7 +52,7 @@ FCFLAGS : -xSSE4.2 -O2 -ip -ftz
# #
[DEBUG] [DEBUG]
FC : -g -traceback FC : -g -traceback
FCFLAGS : -xSSE2 -C -fpe0 FCFLAGS : -xSSE2 -C -fpe0 -implicitnone
# OpenMP flags # OpenMP flags
################# #################

View File

@ -32,14 +32,16 @@ OPENMP : 1 ; Append OpenMP flags
# #
[OPT] [OPT]
FC : -traceback FC : -traceback
FCFLAGS : -xAVX -O2 -ip -ftz -g FCFLAGS : -xAVX -O2 -ip -ftz -g
# Profiling flags # Profiling flags
################# #################
# #
[PROFILE] [PROFILE]
FC : -p -g FC : -p -g
FCFLAGS : -xSSE4.2 -O2 -ip -ftz FCFLAGS : -xSSE4.2 -O2 -ip -ftz
# Debugging flags # Debugging flags
################# #################
@ -52,7 +54,8 @@ FCFLAGS : -xSSE4.2 -O2 -ip -ftz
# #
[DEBUG] [DEBUG]
FC : -g -traceback FC : -g -traceback
FCFLAGS : -xSSE4.2 -C -fpe0 FCFLAGS : -xSSE4.2 -C -fpe0 -implicitnone
# OpenMP flags # OpenMP flags
################# #################

View File

@ -31,14 +31,16 @@ OPENMP : 1 ; Append OpenMP flags
# -ftz : Flushes denormal results to zero # -ftz : Flushes denormal results to zero
# #
[OPT] [OPT]
FCFLAGS : -xSSE4.2 -O2 -ip -ftz -g -traceback FCFLAGS : -xSSE4.2 -O2 -ip -ftz -g -traceback
# !xAVX # !xAVX
# Profiling flags # Profiling flags
################# #################
# #
[PROFILE] [PROFILE]
FC : -p -g FC : -p -g
FCFLAGS : -xSSE4.2 -O2 -ip -ftz FCFLAGS : -xSSE4.2 -O2 -ip -ftz
# Debugging flags # Debugging flags
################# #################
@ -51,7 +53,8 @@ FCFLAGS : -xSSE4.2 -O2 -ip -ftz
# #
[DEBUG] [DEBUG]
FC : -g -traceback FC : -g -traceback
FCFLAGS : -xSSE2 -C -fpe0 FCFLAGS : -xSSE2 -C -fpe0 -implicitnone
# OpenMP flags # OpenMP flags
################# #################

View File

@ -1,62 +0,0 @@
# Common flags
##############
#
# -mkl=[parallel|sequential] : Use the MKL library
# --ninja : Allow the utilisation of ninja. It is mandatory !
# --align=32 : Align all provided arrays on a 32-byte boundary
#
[COMMON]
FC : ifort
LAPACK_LIB : -mkl=parallel
IRPF90 : irpf90
IRPF90_FLAGS : --ninja --align=32
# Global options
################
#
# 1 : Activate
# 0 : Deactivate
#
[OPTION]
MODE : OPT ; [ OPT | PROFILE | DEBUG ] : Chooses the section below
CACHE : 1 ; Enable cache_compile.py
OPENMP : 1 ; Append OpenMP flags
# Optimization flags
####################
#
# -xHost : Compile a binary optimized for the current architecture
# -O2 : O3 not better than O2.
# -ip : Inter-procedural optimizations
# -ftz : Flushes denormal results to zero
#
[OPT]
FCFLAGS : -axSSE4.2,AVX,CORE-AVX2 -O2 -ip -ftz -g -traceback
# Profiling flags
#################
#
[PROFILE]
FC : -p -g
FCFLAGS : -xSSE4.2 -O2 -ip -ftz
# Debugging flags
#################
#
# -traceback : Activate backtrace on runtime
# -fpe0 : All floating point exaceptions
# -C : Checks uninitialized variables, array subscripts, etc...
# -g : Extra debugging information
# -xSSE2 : Valgrind needs a very simple x86 executable
#
[DEBUG]
FC : -g -traceback
FCFLAGS : -xSSE2 -C -fpe0
# OpenMP flags
#################
#
[OPENMP]
FC : -openmp
IRPF90_FLAGS : --openmp

View File

@ -35,14 +35,16 @@ OPENMP : 1 ; Append OpenMP flags
# -ffast-math and the Fortran-specific # -ffast-math and the Fortran-specific
# -fno-protect-parens and -fstack-arrays. # -fno-protect-parens and -fstack-arrays.
[OPT] [OPT]
FCFLAGS : -Ofast -march=native FCFLAGS : -Ofast -march=native
# Profiling flags # Profiling flags
################# #################
# #
[PROFILE] [PROFILE]
FC : -p -g FC : -p -g
FCFLAGS : -Ofast FCFLAGS : -Ofast -fimplicit-none
# Debugging flags # Debugging flags
################# #################
@ -51,7 +53,8 @@ FCFLAGS : -Ofast
# -g : Extra debugging information # -g : Extra debugging information
# #
[DEBUG] [DEBUG]
FCFLAGS : -Ofast -fcheck=all -g -Waliasing -Wampersand -Wconversion -Wsurprising -Wintrinsics-std -Wno-tabs -Wintrinsic-shadow -Wline-truncation -Wreal-q-constant FCFLAGS : -Ofast -fcheck=all -g -Waliasing -Wampersand -Wconversion -Wsurprising -Wintrinsics-std -Wno-tabs -Wintrinsic-shadow -Wline-truncation -Wreal-q-constant
# OpenMP flags # OpenMP flags
################# #################

View File

@ -738,6 +738,20 @@ Subroutines / functions
.. c:function:: give_all_erf_kl_ao
.. code:: text
subroutine give_all_erf_kl_ao(integrals_ao,mu_in,C_center)
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|
.. c:function:: give_polynom_mult_center_mono_elec .. c:function:: give_polynom_mult_center_mono_elec
.. code:: text .. code:: text
@ -753,6 +767,34 @@ Subroutines / functions
.. c:function:: give_polynom_mult_center_mono_elec_erf
.. code:: text
subroutine give_polynom_mult_center_mono_elec_erf(A_center,B_center,alpha,beta,power_A,power_B,C_center,n_pt_in,d,n_pt_out,mu_in)
File: :file:`pot_ao_erf_ints.irp.f`
.. c:function:: give_polynom_mult_center_mono_elec_erf_opt
.. code:: text
subroutine give_polynom_mult_center_mono_elec_erf_opt(A_center,B_center,alpha,beta,power_A,power_B,C_center,n_pt_in,d,n_pt_out,mu_in,p,p_inv,p_inv_2,p_new,P_center)
File: :file:`pot_ao_erf_ints.irp.f`
.. c:function:: int_gaus_pol .. c:function:: int_gaus_pol
.. code:: text .. code:: text
@ -783,6 +825,34 @@ Subroutines / functions
.. c:function:: nai_pol_mult_erf
.. code:: text
double precision function NAI_pol_mult_erf(A_center,B_center,power_A,power_B,alpha,beta,C_center,n_pt_in,mu_in)
File: :file:`pot_ao_erf_ints.irp.f`
.. c:function:: nai_pol_mult_erf_ao
.. code:: text
double precision function NAI_pol_mult_erf_ao(i_ao,j_ao,mu_in,C_center)
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|
.. c:function:: overlap_bourrin_deriv_x .. c:function:: overlap_bourrin_deriv_x
.. code:: text .. code:: text

View File

@ -0,0 +1,82 @@
.. _becke_numerical_grid:
.. program:: becke_numerical_grid
.. default-role:: option
====================
Becke Numerical Grid
====================
This module contains all quantities needed to build the Becke's grid used in general for DFT integration. Note that it can be used for whatever integration in R^3 as long as the functions to be integrated are mostly concentrated near the atomic regions.
This grid is built as the reunion of a spherical grid around each atom. Each spherical grid contains a certain number of radial and angular points.
For a simple example of how to use the grid, see example.irp.f.
The spherical integration uses Lebedev-Laikov grids, which was used from the code distributed through CCL (http://www.ccl.net/).
See next section for explanations and citation policies.
.. 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.
EZFIO parameters
----------------
.. option:: n_points_integration_angular
Number of angular points per atom for 3d numerical integration, needed for DFT for example [ 50 | 74 | 266 | 590 | 1202 | 2030 | 5810 ]
Default: 590
.. option:: n_points_radial_grid
Number of radial points per atom for 3d numerical integration, needed for DFT for example
Default: 60

View File

@ -793,6 +793,20 @@ Subroutines / functions
.. c:function:: clear_bit_to_integer
.. code:: text
subroutine clear_bit_to_integer(i_physical,key,Nint)
File: :file:`bitmasks_routines.irp.f`
set to 0 the bit number i_physical in the bitstring key
.. c:function:: debug_det .. c:function:: debug_det
.. code:: text .. code:: text
@ -821,6 +835,20 @@ Subroutines / functions
.. c:function:: example_bitmask
.. code:: text
subroutine example_bitmask
File: :file:`example.irp.f`
subroutine that illustrates the main features available in bitmask
.. c:function:: initialize_bitmask_to_restart_ones .. c:function:: initialize_bitmask_to_restart_ones
.. code:: text .. code:: text
@ -1185,6 +1213,20 @@ Subroutines / functions
.. c:function:: set_bit_to_integer
.. code:: text
subroutine set_bit_to_integer(i_physical,key,Nint)
File: :file:`bitmasks_routines.irp.f`
set to 1 the bit number i_physical in the bitstring key
.. c:function:: set_bitmask_hole_as_input .. c:function:: set_bitmask_hole_as_input
.. code:: text .. code:: text

View File

@ -1,51 +0,0 @@
.. _cassd:
.. program:: cassd
.. default-role:: option
=====
CASSD
=====
Selected |CAS-SD|.
EZFIO parameters
----------------
.. option:: energy
Calculated CAS-SD energy
.. option:: energy_pt2
Calculated selected CAS-SD energy with PT2 correction
.. option:: do_ddci
If true, remove purely inactive double excitations
Default: False
.. option:: do_only_1h1p
If true, do only one hole/one particle excitations
Default: False
.. option:: do_singles
If true, do only single excitations
Default: True
.. option:: do_doubles
If true, do only double excitations
Default: True

View File

@ -1,30 +0,0 @@
.. _champ:
.. program:: champ
.. default-role:: option
===============
CHAMP Interface
===============
For multi-state calculations, to extract state 2 use:
.. code-block:: bash
QP_STATE=2 qp_run save_for_champ x.ezfio
(state 1 is the ground state).
EZFIO parameters
----------------
.. option:: ci_threshold
Threshold on the CI coefficients as in QMCChem
Default: 1.e-8

View File

@ -34,6 +34,20 @@ Subroutines / functions
.. c:function:: cis
.. code:: text
subroutine cis
File: :file:`cis.irp.f`
Configuration Interaction with Single excitations.
.. c:function:: h_apply_cis .. c:function:: h_apply_cis
.. code:: text .. code:: text

View File

@ -34,15 +34,15 @@ Subroutines / functions
.. c:function:: cis .. c:function:: cisd
.. code:: text .. code:: text
subroutine cis subroutine cisd
File: :file:`cisd.irp.f` File: :file:`cisd.irp.f`
Configuration Interaction with Single and Double excitations.

View File

@ -0,0 +1,71 @@
.. _data_energy_and_density:
.. program:: data_energy_and_density
.. default-role:: option
============
Data energy and density
============
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.
EZFIO parameters
----------------
.. option:: data_energy_var
Variational energy computed with the wave function
.. option:: data_energy_proj
Projected energy computed with the wave function
.. option:: data_one_body_alpha_dm_mo
Alpha one body density matrix on the MO basis computed with the wave function
.. option:: data_one_body_beta_dm_mo
Beta one body density matrix on the MO basis computed with the wave function
Subroutines / functions
-----------------------
.. c:function:: routine
.. code:: text
subroutine routine
File: :file:`save_one_body_dm.irp.f`
.. c:function:: save_one_body_dm
.. code:: text
subroutine save_one_body_dm
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 data_energy_and_density.
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).

View File

@ -191,6 +191,19 @@ Providers
.. c:var:: psi_energy_bielec
.. code:: text
double precision, allocatable :: psi_energy_bielec (N_states)
File: :file:`u0_h_u0_bielec.irp.f`
Energy of the current wave function
.. c:var:: psi_energy_with_nucl_rep .. c:var:: psi_energy_with_nucl_rep
.. code:: text .. code:: text
@ -378,6 +391,112 @@ Subroutines / functions
.. c:function:: h_s2_u_0_bielec_nstates_openmp
.. code:: text
subroutine H_S2_u_0_bielec_nstates_openmp(v_0,s_0,u_0,N_st,sze)
File: :file:`u0_h_u0_bielec.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.
.. c:function:: h_s2_u_0_bielec_nstates_openmp_work
.. code:: text
subroutine H_S2_u_0_bielec_nstates_openmp_work(v_t,s_t,u_t,N_st,sze,istart,iend,ishift,istep)
File: :file:`u0_h_u0_bielec.irp.f`
Computes v_t = H|u_t> and s_t = S^2 |u_t>
Default should be 1,N_det,0,1
.. c:function:: h_s2_u_0_bielec_nstates_openmp_work_1
.. code:: text
subroutine H_S2_u_0_bielec_nstates_openmp_work_1(v_t,s_t,u_t,N_st,sze,istart,iend,ishift,istep)
File: :file:`u0_h_u0_bielec.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
.. c:function:: h_s2_u_0_bielec_nstates_openmp_work_2
.. code:: text
subroutine H_S2_u_0_bielec_nstates_openmp_work_2(v_t,s_t,u_t,N_st,sze,istart,iend,ishift,istep)
File: :file:`u0_h_u0_bielec.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
.. c:function:: h_s2_u_0_bielec_nstates_openmp_work_3
.. code:: text
subroutine H_S2_u_0_bielec_nstates_openmp_work_3(v_t,s_t,u_t,N_st,sze,istart,iend,ishift,istep)
File: :file:`u0_h_u0_bielec.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
.. c:function:: h_s2_u_0_bielec_nstates_openmp_work_4
.. code:: text
subroutine H_S2_u_0_bielec_nstates_openmp_work_4(v_t,s_t,u_t,N_st,sze,istart,iend,ishift,istep)
File: :file:`u0_h_u0_bielec.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
.. c:function:: h_s2_u_0_bielec_nstates_openmp_work_n_int
.. code:: text
subroutine H_S2_u_0_bielec_nstates_openmp_work_N_int(v_t,s_t,u_t,N_st,sze,istart,iend,ishift,istep)
File: :file:`u0_h_u0_bielec.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
.. c:function:: h_s2_u_0_nstates_openmp .. c:function:: h_s2_u_0_nstates_openmp
.. code:: text .. code:: text
@ -517,6 +636,22 @@ Subroutines / functions
.. c:function:: u_0_h_u_0_bielec
.. code:: text
subroutine u_0_H_u_0_bielec(e_0,u_0,n,keys_tmp,Nint,N_st,sze)
File: :file:`u0_h_u0_bielec.irp.f`
Computes e_0 = <u_0|H|u_0>/<u_0|u_0>
n : number of determinants
.. c:function:: zmq_get_n_states_diag .. c:function:: zmq_get_n_states_diag
.. code:: text .. code:: text

View File

@ -0,0 +1,106 @@
.. _davidson_dressed:
.. program:: davidson_dressed
.. default-role:: option
===============
DavidsonDressed
===============
Davidson with single-column dressing.
Providers
---------
.. c:var:: ci_eigenvectors_dressed
.. code:: text
double precision, allocatable :: ci_electronic_energy_dressed (N_states_diag)
double precision, allocatable :: ci_eigenvectors_dressed (N_det,N_states_diag)
double precision, allocatable :: ci_eigenvectors_s2_dressed (N_states_diag)
File: :file:`diagonalize_ci.irp.f`
Eigenvectors/values of the CI matrix
.. c:var:: ci_eigenvectors_s2_dressed
.. code:: text
double precision, allocatable :: ci_electronic_energy_dressed (N_states_diag)
double precision, allocatable :: ci_eigenvectors_dressed (N_det,N_states_diag)
double precision, allocatable :: ci_eigenvectors_s2_dressed (N_states_diag)
File: :file:`diagonalize_ci.irp.f`
Eigenvectors/values of the CI matrix
.. c:var:: ci_electronic_energy_dressed
.. code:: text
double precision, allocatable :: ci_electronic_energy_dressed (N_states_diag)
double precision, allocatable :: ci_eigenvectors_dressed (N_det,N_states_diag)
double precision, allocatable :: ci_eigenvectors_s2_dressed (N_states_diag)
File: :file:`diagonalize_ci.irp.f`
Eigenvectors/values of the CI matrix
.. c:var:: ci_energy_dressed
.. code:: text
double precision, allocatable :: ci_energy_dressed (N_states_diag)
File: :file:`diagonalize_ci.irp.f`
N_states lowest eigenvalues of the CI matrix
.. c:var:: h_matrix_dressed
.. code:: text
double precision, allocatable :: h_matrix_dressed (N_det,N_det)
File: :file:`diagonalize_ci.irp.f`
Dressed H with Delta_ij
Subroutines / functions
-----------------------
.. c:function:: diagonalize_ci_dressed
.. code:: text
subroutine diagonalize_CI_dressed
File: :file:`diagonalize_ci.irp.f`
Replace the coefficients of the CI states by the coefficients of the eigenstates of the CI matrix

View File

@ -1,6 +1,6 @@
.. _davidsonundressed: .. _davidson_undressed:
.. program:: davidsonundressed .. program:: davidson_undressed
.. default-role:: option .. default-role:: option

View File

@ -1,13 +0,0 @@
.. _davidsondressed:
.. program:: davidsondressed
.. default-role:: option
===============
DavidsonDressed
===============
Davidson with single-column dressing.

View File

@ -1,12 +0,0 @@
.. _debug:
.. program:: debug
.. default-role:: option
=====
debug
=====
Debugging module.

View File

@ -0,0 +1,11 @@
.. _density_for_dft:
.. program:: density_for_dft
.. default-role:: option
==========
DM_for_dft
==========

View File

@ -57,12 +57,6 @@ EZFIO parameters
Default: 0.99 Default: 0.99
.. option:: threshold_selectors
Thresholds on selectors (fraction of the square of the norm)
Default: 0.999
.. option:: n_int .. option:: n_int
Number of integers required to represent bitstrings (set in module :ref:`bitmask`) Number of integers required to represent bitstrings (set in module :ref:`bitmask`)
@ -668,20 +662,6 @@ Providers
.. c:var:: one_body_dm_mo_alpha_old
.. code:: text
double precision, allocatable :: one_body_dm_mo_alpha_old (mo_tot_num,mo_tot_num,N_states)
double precision, allocatable :: one_body_dm_mo_beta_old (mo_tot_num,mo_tot_num,N_states)
File: :file:`density_matrix.irp.f`
Alpha and beta one-body density matrix for each state
.. c:var:: one_body_dm_mo_beta .. c:var:: one_body_dm_mo_beta
.. code:: text .. code:: text
@ -710,20 +690,6 @@ Providers
.. c:var:: one_body_dm_mo_beta_old
.. code:: text
double precision, allocatable :: one_body_dm_mo_alpha_old (mo_tot_num,mo_tot_num,N_states)
double precision, allocatable :: one_body_dm_mo_beta_old (mo_tot_num,mo_tot_num,N_states)
File: :file:`density_matrix.irp.f`
Alpha and beta one-body density matrix for each state
.. c:var:: one_body_dm_mo_diff .. c:var:: one_body_dm_mo_diff
.. code:: text .. code:: text
@ -1359,6 +1325,19 @@ Providers
.. c:var:: psi_energy_h_core
.. code:: text
double precision, allocatable :: psi_energy_h_core (N_states)
File: :file:`psi_energy_mono_elec.irp.f`
psi_energy_h_core = <Psi| h_{core} |Psi> computed using the one_body_dm_mo_alpha+one_body_dm_mo_beta and mo_mono_elec_integral
.. c:var:: psi_non_cas .. c:var:: psi_non_cas
.. code:: text .. code:: text
@ -1685,20 +1664,6 @@ Subroutines / functions
.. c:function:: apply_mono
.. code:: text
subroutine apply_mono(i_hole,i_particle,ispin_excit,key_in,Nint)
File: :file:`excitations_utils.irp.f`
.. c:function:: apply_particle .. c:function:: apply_particle
.. code:: text .. code:: text
@ -1769,20 +1734,6 @@ Subroutines / functions
.. c:function:: clear_bit_to_integer
.. code:: text
subroutine clear_bit_to_integer(i_physical,key,Nint)
File: :file:`create_excitations.irp.f`
.. c:function:: connected_to_ref .. c:function:: connected_to_ref
.. code:: text .. code:: text
@ -1791,7 +1742,13 @@ Subroutines / functions
File: :file:`connected_to_ref.irp.f` 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
@ -1805,7 +1762,13 @@ Subroutines / functions
File: :file:`connected_to_ref.irp.f` 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
@ -2049,6 +2012,34 @@ Subroutines / functions
.. c:function:: example_determinants
.. code:: text
subroutine example_determinants
File: :file:`example.irp.f`
subroutine that illustrates the main features available in determinants
.. c:function:: example_determinants_psi_det
.. code:: text
subroutine example_determinants_psi_det
File: :file:`example.irp.f`
subroutine that illustrates the main features available in determinants using the psi_det/psi_coef
.. c:function:: fill_h_apply_buffer_no_selection .. c:function:: fill_h_apply_buffer_no_selection
.. code:: text .. code:: text
@ -3073,6 +3064,20 @@ Subroutines / functions
.. c:function:: routine_example_psi_det
.. code:: text
subroutine routine_example_psi_det
File: :file:`example.irp.f`
subroutine that illustrates the main features available in determinants using many determinants
.. c:function:: s2_u_0 .. c:function:: s2_u_0
.. code:: text .. code:: text
@ -3203,20 +3208,6 @@ Subroutines / functions
.. c:function:: set_bit_to_integer
.. code:: text
subroutine set_bit_to_integer(i_physical,key,Nint)
File: :file:`create_excitations.irp.f`
.. c:function:: set_natural_mos .. c:function:: set_natural_mos
.. code:: text .. code:: text

View File

@ -0,0 +1,48 @@
.. _dft_keywords:
.. program:: dft_keywords
.. default-role:: option
============
DFT Keywords
============
This module contains all keywords which are related to a DFT calculation
EZFIO parameters
----------------
.. option:: exchange_functional
name of the exchange functional
Default: short_range_LDA
.. option:: correlation_functional
name of the correlation functional
Default: short_range_LDA
.. option:: HF_exchange
Percentage of HF exchange in the DFT model
Default: 0.
.. option:: density_for_dft
Type of density used for DFT calculation. If WFT it uses the density of the WFT stored in terms of determinants. If input_density it uses the one-body dm stored in data_.../ . If damping_rs_dft it uses the damping density between WFT and input_density
Default: WFT
.. option:: damping_for_rs_dft
damping factor for the density used in RSFT.
Default: 0.5

View File

@ -0,0 +1,19 @@
.. _dft_utils_one_body:
.. program:: dft_utils_one_body
.. default-role:: option
===========
RSDFT_Utils
===========
Needed Modules
==============
.. Do not edit this section It was auto-generated
.. by the `update_README.py` script.
Documentation
=============
.. Do not edit this section It was auto-generated
.. by the `update_README.py` script.

View File

@ -250,15 +250,15 @@ Subroutines / functions
.. c:function:: fci_zmq .. c:function:: fci
.. code:: text .. code:: text
subroutine fci_zmq subroutine fci
File: :file:`fci.irp.f` File: :file:`fci.irp.f`
Selected Full Configuration Interaction.
@ -390,6 +390,20 @@ Subroutines / functions
.. c:function:: pt2
.. code:: text
subroutine pt2
File: :file:`pt2.irp.f`
Second order perturbative correction to the wave function contained in the EZFIO directory.
.. c:function:: pt2_collector .. c:function:: pt2_collector
.. code:: text .. code:: text
@ -446,20 +460,6 @@ Subroutines / functions
.. c:function:: pt2_stoch
.. code:: text
subroutine pt2_stoch
File: :file:`pt2.irp.f`
.. c:function:: pull_pt2_results .. c:function:: pull_pt2_results
.. code:: text .. code:: text

View File

@ -1,31 +0,0 @@
.. _fouridx:
.. program:: fouridx
.. default-role:: option
=======
FourIdx
=======
Four-index transformation.
Subroutines / functions
-----------------------
.. c:function:: four_idx
.. code:: text
subroutine four_idx
File: :file:`Four_idx_transform.irp.f`
4-index transformation from AO to MO integrals

View File

@ -196,6 +196,48 @@ Subroutines / functions
.. c:function:: give_all_mos_and_grad_and_lapl_at_r
.. code:: text
subroutine give_all_mos_and_grad_and_lapl_at_r(r,mos_array,mos_grad_array,mos_lapl_array)
File: :file:`mos_in_r.irp.f`
.. c:function:: give_all_mos_and_grad_at_r
.. code:: text
subroutine give_all_mos_and_grad_at_r(r,mos_array,mos_grad_array)
File: :file:`mos_in_r.irp.f`
.. c:function:: give_all_mos_at_r
.. code:: text
subroutine give_all_mos_at_r(r,mos_array)
File: :file:`mos_in_r.irp.f`
.. c:function:: mix_mo_jk .. c:function:: mix_mo_jk
.. code:: text .. code:: text

View File

@ -1,6 +1,6 @@
.. _moguess: .. _mo_guess:
.. program:: moguess .. program:: mo_guess
.. default-role:: option .. default-role:: option

View File

@ -1,21 +0,0 @@
.. _mp2:
.. program:: mp2
.. default-role:: option
==========
MP2 Module
==========
Computes the |MP2| energy.
EZFIO parameters
----------------
.. option:: energy
|MP2| energy

View File

@ -288,6 +288,20 @@ Subroutines / functions
.. c:function:: mrcc
.. code:: text
subroutine mrcc
File: :file:`mrcc.irp.f`
Multi-reference Coulped Cluster
.. c:function:: provide_all .. c:function:: provide_all
.. code:: text .. code:: text
@ -330,20 +344,6 @@ Subroutines / functions
.. c:function:: shifted_bk
.. code:: text
subroutine shifted_bk
File: :file:`mrcc.irp.f`
TODO
.. c:function:: shifted_bk_slave .. c:function:: shifted_bk_slave
.. code:: text .. code:: text
@ -352,6 +352,6 @@ Subroutines / functions
File: :file:`mrcc_slave.irp.f` File: :file:`mrcc_slave.irp.f`
Helper program to compute the dress in distributed mode. Helper program to compute the dressing in distributed mode.

View File

@ -196,6 +196,19 @@ Providers
.. c:var:: nucl_dist_inv
.. code:: text
double precision, allocatable :: nucl_dist_inv (nucl_num,nucl_num)
File: :file:`nuclei.irp.f`
Inverse of the distance between nucleus I and nucleus J
.. c:var:: nucl_dist_vec_x .. c:var:: nucl_dist_vec_x
.. code:: text .. code:: text
@ -260,19 +273,6 @@ Providers
.. c:var:: positive_charge_barycentre
.. code:: text
double precision, allocatable :: positive_charge_barycentre (3)
File: :file:`nuclei.irp.f`
Centroid of the positive charges
.. c:var:: slater_bragg_radii .. c:var:: slater_bragg_radii
.. code:: text .. code:: text

View File

@ -476,7 +476,7 @@ Subroutines / functions
subroutine pt2_decontracted (electronic_energy,det_ref,det_pert,fock_diag_tmp,c_pert,e_2_pert,H_pert_diag,Nint,ndet,N_st,minilist,idx_minilist,N_minilist) subroutine pt2_decontracted (electronic_energy,det_ref,det_pert,fock_diag_tmp,c_pert,e_2_pert,H_pert_diag,Nint,ndet,N_st,minilist,idx_minilist,N_minilist)
File: :file:`pt2_equations.irp.f_template_413` File: :file:`pt2_equations.irp.f_template_412`
@ -490,7 +490,7 @@ Subroutines / functions
subroutine pt2_dummy (electronic_energy,det_ref,det_pert,fock_diag_tmp,c_pert,e_2_pert,H_pert_diag,Nint,ndet,N_st,minilist,idx_minilist,N_minilist) subroutine pt2_dummy (electronic_energy,det_ref,det_pert,fock_diag_tmp,c_pert,e_2_pert,H_pert_diag,Nint,ndet,N_st,minilist,idx_minilist,N_minilist)
File: :file:`pt2_equations.irp.f_template_413` File: :file:`pt2_equations.irp.f_template_412`
Dummy perturbation to add all connected determinants. Dummy perturbation to add all connected determinants.
@ -504,7 +504,7 @@ Subroutines / functions
subroutine pt2_epstein_nesbet (electronic_energy,det_ref,det_pert,fock_diag_tmp,c_pert,e_2_pert,H_pert_diag,Nint,ndet,N_st,minilist,idx_minilist,N_minilist) subroutine pt2_epstein_nesbet (electronic_energy,det_ref,det_pert,fock_diag_tmp,c_pert,e_2_pert,H_pert_diag,Nint,ndet,N_st,minilist,idx_minilist,N_minilist)
File: :file:`pt2_equations.irp.f_template_413` File: :file:`pt2_equations.irp.f_template_412`
compute the standard Epstein-Nesbet perturbative first order coefficient and second order energetic contribution compute the standard Epstein-Nesbet perturbative first order coefficient and second order energetic contribution
for the various N_st states. for the various N_st states.
@ -522,7 +522,7 @@ Subroutines / functions
subroutine pt2_epstein_nesbet_2x2 (electronic_energy,det_ref,det_pert,fock_diag_tmp,c_pert,e_2_pert,H_pert_diag,Nint,ndet,N_st,minilist,idx_minilist,N_minilist) subroutine pt2_epstein_nesbet_2x2 (electronic_energy,det_ref,det_pert,fock_diag_tmp,c_pert,e_2_pert,H_pert_diag,Nint,ndet,N_st,minilist,idx_minilist,N_minilist)
File: :file:`pt2_equations.irp.f_template_413` File: :file:`pt2_equations.irp.f_template_412`
compute the Epstein-Nesbet 2x2 diagonalization coefficient and energetic contribution compute the Epstein-Nesbet 2x2 diagonalization coefficient and energetic contribution
for the various N_st states. for the various N_st states.
@ -540,7 +540,7 @@ Subroutines / functions
subroutine pt2_epstein_nesbet_2x2_no_ci_diag(electronic_energy,det_ref,det_pert,fock_diag_tmp,c_pert,e_2_pert,H_pert_diag,Nint,ndet,N_st,minilist,idx_minilist,N_minilist) subroutine pt2_epstein_nesbet_2x2_no_ci_diag(electronic_energy,det_ref,det_pert,fock_diag_tmp,c_pert,e_2_pert,H_pert_diag,Nint,ndet,N_st,minilist,idx_minilist,N_minilist)
File: :file:`pt2_equations.irp.f_template_413` File: :file:`pt2_equations.irp.f_template_412`
compute the Epstein-Nesbet 2x2 diagonalization coefficient and energetic contribution compute the Epstein-Nesbet 2x2 diagonalization coefficient and energetic contribution
for the various N_st states. for the various N_st states.
@ -576,7 +576,7 @@ Subroutines / functions
subroutine pt2_moller_plesset (electronic_energy,det_ref,det_pert,fock_diag_tmp,c_pert,e_2_pert,H_pert_diag,Nint,ndet,N_st,minilist,idx_minilist,N_minilist) subroutine pt2_moller_plesset (electronic_energy,det_ref,det_pert,fock_diag_tmp,c_pert,e_2_pert,H_pert_diag,Nint,ndet,N_st,minilist,idx_minilist,N_minilist)
File: :file:`pt2_equations.irp.f_template_413` File: :file:`pt2_equations.irp.f_template_412`
compute the standard Moller-Plesset perturbative first order coefficient and second order energetic contribution compute the standard Moller-Plesset perturbative first order coefficient and second order energetic contribution
for the various n_st states. for the various n_st states.
@ -594,7 +594,7 @@ Subroutines / functions
subroutine pt2_moller_plesset_general (electronic_energy,det_ref,det_pert,fock_diag_tmp,c_pert,e_2_pert,H_pert_diag,Nint,ndet,N_st,minilist,idx_minilist,N_minilist) subroutine pt2_moller_plesset_general (electronic_energy,det_ref,det_pert,fock_diag_tmp,c_pert,e_2_pert,H_pert_diag,Nint,ndet,N_st,minilist,idx_minilist,N_minilist)
File: :file:`pt2_equations.irp.f_template_413` File: :file:`pt2_equations.irp.f_template_412`
compute the general Moller-Plesset perturbative first order coefficient and second order energetic contribution compute the general Moller-Plesset perturbative first order coefficient and second order energetic contribution
for the various n_st states. for the various n_st states.
@ -612,7 +612,7 @@ Subroutines / functions
subroutine pt2_qdpt (electronic_energy,det_ref,det_pert,fock_diag_tmp,c_pert,e_2_pert,H_pert_diag,Nint,ndet,N_st,minilist,idx_minilist,N_minilist) subroutine pt2_qdpt (electronic_energy,det_ref,det_pert,fock_diag_tmp,c_pert,e_2_pert,H_pert_diag,Nint,ndet,N_st,minilist,idx_minilist,N_minilist)
File: :file:`pt2_equations.irp.f_template_413` File: :file:`pt2_equations.irp.f_template_412`
compute the QDPT first order coefficient and second order energetic contribution compute the QDPT first order coefficient and second order energetic contribution
for the various N_st states. for the various N_st states.

View File

@ -57,3 +57,16 @@ Providers
Determinants on which we apply <i|H|psi> for perturbation. Determinants on which we apply <i|H|psi> for perturbation.
.. c:var:: threshold_selectors
.. code:: text
double precision :: threshold_selectors
File: :file:`selectors.irp.f`
Thresholds on selectors (fraction of the square of the norm)

View File

@ -0,0 +1,85 @@
.. _single_ref_method:
.. program:: single_ref_method
.. default-role:: option
===============
SingleDetMethod
===============
Include this module for single reference methods.
Using this module, the only generator determinant is the Hartree-Fock determinant.
Providers
---------
.. c:var:: n_det_generators
.. code:: text
integer :: n_det_generators
File: :file:`generators.irp.f`
For Single reference wave functions, the number of generators is 1 : the Hartree-Fock determinant
.. c:var:: psi_coef_generators
.. code:: text
integer(bit_kind), allocatable :: psi_det_generators (N_int,2,psi_det_size)
double precision, allocatable :: psi_coef_generators (psi_det_size,N_states)
File: :file:`generators.irp.f`
For Single reference wave functions, the generator is the Hartree-Fock determinant
.. c:var:: psi_det_generators
.. code:: text
integer(bit_kind), allocatable :: psi_det_generators (N_int,2,psi_det_size)
double precision, allocatable :: psi_coef_generators (psi_det_size,N_states)
File: :file:`generators.irp.f`
For Single reference wave functions, the generator is the Hartree-Fock determinant
.. c:var:: select_max
.. code:: text
double precision, allocatable :: select_max (1)
File: :file:`generators.irp.f`
Memo to skip useless selectors
.. c:var:: size_select_max
.. code:: text
integer :: size_select_max
File: :file:`generators.irp.f`
Size of select_max

View File

@ -1,14 +0,0 @@
.. _singlerefmethod:
.. program:: singlerefmethod
.. default-role:: option
===============
SingleDetMethod
===============
Include this module for single reference methods.
Using this module, the only generator determinant is the Hartree-Fock determinant.

View File

@ -25,21 +25,35 @@ Subroutines / functions
File: :file:`fcidump.irp.f` File: :file:`fcidump.irp.f`
Produce a FCIDUMP file
.. c:function:: print_mos .. c:function:: four_idx_transform
.. code:: text .. code:: text
subroutine print_mos subroutine four_idx_transform
File: :file:`four_idx_transform.irp.f`
4-index transformation of two-electron integrals from AO to MO integrals
.. c:function:: molden
.. code:: text
subroutine molden
File: :file:`molden.irp.f` File: :file:`molden.irp.f`
Produce a Molden file
@ -53,7 +67,7 @@ Subroutines / functions
File: :file:`save_natorb.irp.f` File: :file:`save_natorb.irp.f`
Save natural MOs into the EZFIO
@ -67,7 +81,7 @@ Subroutines / functions
File: :file:`save_ortho_mos.irp.f` File: :file:`save_ortho_mos.irp.f`
Save orthonormalized MOs in the EZFIO.
@ -101,6 +115,20 @@ Subroutines / functions
.. c:function:: write_integrals
.. code:: text
subroutine write_integrals
File: :file:`write_integrals_erf.irp.f`
Saves the bielec erf integrals into the EZFIO
.. c:function:: write_intro_gamess .. c:function:: write_intro_gamess
.. code:: text .. code:: text

View File

@ -9,7 +9,9 @@ Index of Providers
* :c:data:`active_pp_idx` * :c:data:`active_pp_idx`
* :c:data:`ao_bi_elec_integral_alpha` * :c:data:`ao_bi_elec_integral_alpha`
* :c:data:`ao_bi_elec_integral_beta` * :c:data:`ao_bi_elec_integral_beta`
* :c:data:`ao_bielec_integral_erf_schwartz`
* :c:data:`ao_bielec_integral_schwartz` * :c:data:`ao_bielec_integral_schwartz`
* :c:data:`ao_bielec_integrals_erf_in_map`
* :c:data:`ao_bielec_integrals_in_map` * :c:data:`ao_bielec_integrals_in_map`
* :c:data:`ao_cart_to_sphe_coef` * :c:data:`ao_cart_to_sphe_coef`
* :c:data:`ao_cart_to_sphe_inv` * :c:data:`ao_cart_to_sphe_inv`
@ -37,6 +39,10 @@ Index of Providers
* :c:data:`ao_integrals_cache` * :c:data:`ao_integrals_cache`
* :c:data:`ao_integrals_cache_max` * :c:data:`ao_integrals_cache_max`
* :c:data:`ao_integrals_cache_min` * :c:data:`ao_integrals_cache_min`
* :c:data:`ao_integrals_erf_cache`
* :c:data:`ao_integrals_erf_cache_max`
* :c:data:`ao_integrals_erf_cache_min`
* :c:data:`ao_integrals_erf_map`
* :c:data:`ao_integrals_map` * :c:data:`ao_integrals_map`
* :c:data:`ao_integrals_threshold` * :c:data:`ao_integrals_threshold`
* :c:data:`ao_kinetic_integral` * :c:data:`ao_kinetic_integral`
@ -77,7 +83,9 @@ Index of Providers
* :c:data:`barycentric_electronic_energy` * :c:data:`barycentric_electronic_energy`
* :c:data:`bi_elec_ref_bitmask_energy` * :c:data:`bi_elec_ref_bitmask_energy`
* :c:data:`big_array_coulomb_integrals` * :c:data:`big_array_coulomb_integrals`
* :c:data:`big_array_coulomb_integrals_erf`
* :c:data:`big_array_exchange_integrals` * :c:data:`big_array_exchange_integrals`
* :c:data:`big_array_exchange_integrals_erf`
* :c:data:`binom` * :c:data:`binom`
* :c:data:`binom_int` * :c:data:`binom_int`
* :c:data:`binom_int_transp` * :c:data:`binom_int_transp`
@ -116,6 +124,10 @@ Index of Providers
* :c:data:`core_inact_virt_bitmask` * :c:data:`core_inact_virt_bitmask`
* :c:data:`corr_e_from_1h1p` * :c:data:`corr_e_from_1h1p`
* :c:data:`correlation_energy_ratio_max` * :c:data:`correlation_energy_ratio_max`
* :c:data:`data_energy_proj`
* :c:data:`data_energy_var`
* :c:data:`data_one_body_alpha_dm_mo`
* :c:data:`data_one_body_beta_dm_mo`
* :c:data:`davidson_criterion` * :c:data:`davidson_criterion`
* :c:data:`davidson_sze_max` * :c:data:`davidson_sze_max`
* :c:data:`degree_max_generators` * :c:data:`degree_max_generators`
@ -134,8 +146,10 @@ Index of Providers
* :c:data:`dij` * :c:data:`dij`
* :c:data:`dij_unique` * :c:data:`dij_unique`
* :c:data:`disk_access_ao_integrals` * :c:data:`disk_access_ao_integrals`
* :c:data:`disk_access_ao_integrals_erf`
* :c:data:`disk_access_ao_one_integrals` * :c:data:`disk_access_ao_one_integrals`
* :c:data:`disk_access_mo_integrals` * :c:data:`disk_access_mo_integrals`
* :c:data:`disk_access_mo_integrals_erf`
* :c:data:`disk_access_mo_one_integrals` * :c:data:`disk_access_mo_one_integrals`
* :c:data:`disk_access_nuclear_repulsion` * :c:data:`disk_access_nuclear_repulsion`
* :c:data:`disk_based_davidson` * :c:data:`disk_based_davidson`
@ -217,6 +231,7 @@ Index of Providers
* :c:data:`gen_det_ref_sorted` * :c:data:`gen_det_ref_sorted`
* :c:data:`gen_det_ref_version` * :c:data:`gen_det_ref_version`
* :c:data:`general_primitive_integral` * :c:data:`general_primitive_integral`
* :c:data:`general_primitive_integral_erf`
* :c:data:`generators_bitmask` * :c:data:`generators_bitmask`
* :c:data:`generators_bitmask_restart` * :c:data:`generators_bitmask_restart`
* :c:data:`give_holes_and_particles_in_active_space` * :c:data:`give_holes_and_particles_in_active_space`
@ -270,6 +285,7 @@ Index of Providers
* :c:data:`inertia_tensor_eigenvectors` * :c:data:`inertia_tensor_eigenvectors`
* :c:data:`initialize_dress_e0_denominator` * :c:data:`initialize_dress_e0_denominator`
* :c:data:`initialize_pt2_e0_denominator` * :c:data:`initialize_pt2_e0_denominator`
* :c:data:`insert_into_mo_integrals_erf_map`
* :c:data:`insert_into_mo_integrals_map` * :c:data:`insert_into_mo_integrals_map`
* :c:data:`inv_int` * :c:data:`inv_int`
* :c:data:`inv_norm_psi_ref` * :c:data:`inv_norm_psi_ref`
@ -301,6 +317,12 @@ Index of Providers
* :c:data:`max_degree_exc` * :c:data:`max_degree_exc`
* :c:data:`max_dim_diis` * :c:data:`max_dim_diis`
* :c:data:`max_exc_pert` * :c:data:`max_exc_pert`
* :c:data:`mo_bielec_integral_erf_jj`
* :c:data:`mo_bielec_integral_erf_jj_anti`
* :c:data:`mo_bielec_integral_erf_jj_anti_from_ao`
* :c:data:`mo_bielec_integral_erf_jj_exchange`
* :c:data:`mo_bielec_integral_erf_jj_exchange_from_ao`
* :c:data:`mo_bielec_integral_erf_jj_from_ao`
* :c:data:`mo_bielec_integral_jj` * :c:data:`mo_bielec_integral_jj`
* :c:data:`mo_bielec_integral_jj_anti` * :c:data:`mo_bielec_integral_jj_anti`
* :c:data:`mo_bielec_integral_jj_anti_from_ao` * :c:data:`mo_bielec_integral_jj_anti_from_ao`
@ -310,6 +332,7 @@ Index of Providers
* :c:data:`mo_bielec_integral_vv_anti_from_ao` * :c:data:`mo_bielec_integral_vv_anti_from_ao`
* :c:data:`mo_bielec_integral_vv_exchange_from_ao` * :c:data:`mo_bielec_integral_vv_exchange_from_ao`
* :c:data:`mo_bielec_integral_vv_from_ao` * :c:data:`mo_bielec_integral_vv_from_ao`
* :c:data:`mo_bielec_integrals_erf_in_map`
* :c:data:`mo_bielec_integrals_in_map` * :c:data:`mo_bielec_integrals_in_map`
* :c:data:`mo_class` * :c:data:`mo_class`
* :c:data:`mo_coef` * :c:data:`mo_coef`
@ -325,6 +348,10 @@ Index of Providers
* :c:data:`mo_integrals_cache_max_8` * :c:data:`mo_integrals_cache_max_8`
* :c:data:`mo_integrals_cache_min` * :c:data:`mo_integrals_cache_min`
* :c:data:`mo_integrals_cache_min_8` * :c:data:`mo_integrals_cache_min_8`
* :c:data:`mo_integrals_erf_cache`
* :c:data:`mo_integrals_erf_cache_max`
* :c:data:`mo_integrals_erf_cache_min`
* :c:data:`mo_integrals_erf_map`
* :c:data:`mo_integrals_map` * :c:data:`mo_integrals_map`
* :c:data:`mo_integrals_threshold` * :c:data:`mo_integrals_threshold`
* :c:data:`mo_kinetic_integral` * :c:data:`mo_kinetic_integral`
@ -351,6 +378,7 @@ Index of Providers
* :c:data:`mrcc_col_shortcut` * :c:data:`mrcc_col_shortcut`
* :c:data:`mrcc_n_col` * :c:data:`mrcc_n_col`
* :c:data:`mrmode` * :c:data:`mrmode`
* :c:data:`mu_erf`
* :c:data:`n_act_orb` * :c:data:`n_act_orb`
* :c:data:`n_aos_max` * :c:data:`n_aos_max`
* :c:data:`n_cas_bitmask` * :c:data:`n_cas_bitmask`
@ -409,6 +437,7 @@ Index of Providers
* :c:data:`nucl_coord_transp` * :c:data:`nucl_coord_transp`
* :c:data:`nucl_dist` * :c:data:`nucl_dist`
* :c:data:`nucl_dist_2` * :c:data:`nucl_dist_2`
* :c:data:`nucl_dist_inv`
* :c:data:`nucl_dist_vec_x` * :c:data:`nucl_dist_vec_x`
* :c:data:`nucl_dist_vec_y` * :c:data:`nucl_dist_vec_y`
* :c:data:`nucl_dist_vec_z` * :c:data:`nucl_dist_vec_z`
@ -431,10 +460,8 @@ Index of Providers
* :c:data:`one_body_dm_mo` * :c:data:`one_body_dm_mo`
* :c:data:`one_body_dm_mo_alpha` * :c:data:`one_body_dm_mo_alpha`
* :c:data:`one_body_dm_mo_alpha_average` * :c:data:`one_body_dm_mo_alpha_average`
* :c:data:`one_body_dm_mo_alpha_old`
* :c:data:`one_body_dm_mo_beta` * :c:data:`one_body_dm_mo_beta`
* :c:data:`one_body_dm_mo_beta_average` * :c:data:`one_body_dm_mo_beta_average`
* :c:data:`one_body_dm_mo_beta_old`
* :c:data:`one_body_dm_mo_diff` * :c:data:`one_body_dm_mo_diff`
* :c:data:`one_body_dm_mo_spin_index` * :c:data:`one_body_dm_mo_spin_index`
* :c:data:`one_body_single_double_dm_mo_alpha` * :c:data:`one_body_single_double_dm_mo_alpha`
@ -451,7 +478,6 @@ Index of Providers
* :c:data:`perturbative_triples` * :c:data:`perturbative_triples`
* :c:data:`phases_` * :c:data:`phases_`
* :c:data:`phi_angular_integration_lebedev` * :c:data:`phi_angular_integration_lebedev`
* :c:data:`positive_charge_barycentre`
* :c:data:`pp_exists` * :c:data:`pp_exists`
* :c:data:`pseudo_dz_k` * :c:data:`pseudo_dz_k`
* :c:data:`pseudo_dz_k_transp` * :c:data:`pseudo_dz_k_transp`
@ -514,6 +540,8 @@ Index of Providers
* :c:data:`psi_det_sorted_gen_order` * :c:data:`psi_det_sorted_gen_order`
* :c:data:`psi_det_sorted_order` * :c:data:`psi_det_sorted_order`
* :c:data:`psi_energy` * :c:data:`psi_energy`
* :c:data:`psi_energy_bielec`
* :c:data:`psi_energy_h_core`
* :c:data:`psi_energy_with_nucl_rep` * :c:data:`psi_energy_with_nucl_rep`
* :c:data:`psi_from_sorted_gen` * :c:data:`psi_from_sorted_gen`
* :c:data:`psi_non_cas` * :c:data:`psi_non_cas`
@ -576,8 +604,10 @@ Index of Providers
* :c:data:`qp_max_mem` * :c:data:`qp_max_mem`
* :c:data:`qp_run_address` * :c:data:`qp_run_address`
* :c:data:`read_ao_integrals` * :c:data:`read_ao_integrals`
* :c:data:`read_ao_integrals_erf`
* :c:data:`read_ao_one_integrals` * :c:data:`read_ao_one_integrals`
* :c:data:`read_mo_integrals` * :c:data:`read_mo_integrals`
* :c:data:`read_mo_integrals_erf`
* :c:data:`read_mo_one_integrals` * :c:data:`read_mo_one_integrals`
* :c:data:`read_wf` * :c:data:`read_wf`
* :c:data:`rec__quicksort` * :c:data:`rec__quicksort`
@ -656,8 +686,10 @@ Index of Providers
* :c:data:`weight_occ_pattern` * :c:data:`weight_occ_pattern`
* :c:data:`weights_angular_integration_lebedev` * :c:data:`weights_angular_integration_lebedev`
* :c:data:`write_ao_integrals` * :c:data:`write_ao_integrals`
* :c:data:`write_ao_integrals_erf`
* :c:data:`write_ao_one_integrals` * :c:data:`write_ao_one_integrals`
* :c:data:`write_mo_integrals` * :c:data:`write_mo_integrals`
* :c:data:`write_mo_integrals_erf`
* :c:data:`write_mo_one_integrals` * :c:data:`write_mo_one_integrals`
* :c:data:`zmq_context` * :c:data:`zmq_context`
* :c:data:`zmq_lock` * :c:data:`zmq_lock`
@ -677,6 +709,7 @@ Index of Subroutines/Functions
* :c:func:`a_operator` * :c:func:`a_operator`
* :c:func:`ac_operator` * :c:func:`ac_operator`
* :c:func:`add_integrals_to_map` * :c:func:`add_integrals_to_map`
* :c:func:`add_integrals_to_map_erf`
* :c:func:`add_integrals_to_map_no_exit_34` * :c:func:`add_integrals_to_map_no_exit_34`
* :c:func:`add_integrals_to_map_three_indices` * :c:func:`add_integrals_to_map_three_indices`
* :c:func:`add_poly` * :c:func:`add_poly`
@ -686,7 +719,13 @@ Index of Subroutines/Functions
* :c:func:`alpha_callback` * :c:func:`alpha_callback`
* :c:func:`alpha_callback_mask` * :c:func:`alpha_callback_mask`
* :c:func:`ao_bielec_integral` * :c:func:`ao_bielec_integral`
* :c:func:`ao_bielec_integral_erf`
* :c:func:`ao_bielec_integral_schwartz_accel` * :c:func:`ao_bielec_integral_schwartz_accel`
* :c:func:`ao_bielec_integral_schwartz_accel_erf`
* :c:func:`ao_bielec_integrals_erf_in_map_collector`
* :c:func:`ao_bielec_integrals_erf_in_map_slave`
* :c:func:`ao_bielec_integrals_erf_in_map_slave_inproc`
* :c:func:`ao_bielec_integrals_erf_in_map_slave_tcp`
* :c:func:`ao_bielec_integrals_in_map_collector` * :c:func:`ao_bielec_integrals_in_map_collector`
* :c:func:`ao_bielec_integrals_in_map_slave` * :c:func:`ao_bielec_integrals_in_map_slave`
* :c:func:`ao_bielec_integrals_in_map_slave_inproc` * :c:func:`ao_bielec_integrals_in_map_slave_inproc`
@ -700,7 +739,6 @@ Index of Subroutines/Functions
* :c:func:`apply_hole` * :c:func:`apply_hole`
* :c:func:`apply_hole_local` * :c:func:`apply_hole_local`
* :c:func:`apply_holes` * :c:func:`apply_holes`
* :c:func:`apply_mono`
* :c:func:`apply_particle` * :c:func:`apply_particle`
* :c:func:`apply_particle_local` * :c:func:`apply_particle_local`
* :c:func:`apply_particles` * :c:func:`apply_particles`
@ -723,10 +761,15 @@ Index of Subroutines/Functions
* :c:func:`build_fock_tmp` * :c:func:`build_fock_tmp`
* :c:func:`check_mem` * :c:func:`check_mem`
* :c:func:`cis` * :c:func:`cis`
* :c:func:`cisd`
* :c:func:`clear_ao_erf_map`
* :c:func:`clear_ao_map` * :c:func:`clear_ao_map`
* :c:func:`clear_bit_to_integer` * :c:func:`clear_bit_to_integer`
* :c:func:`clear_mo_erf_map`
* :c:func:`clear_mo_map` * :c:func:`clear_mo_map`
* :c:func:`compute_ao_bielec_integrals` * :c:func:`compute_ao_bielec_integrals`
* :c:func:`compute_ao_bielec_integrals_erf`
* :c:func:`compute_ao_integrals_erf_jl`
* :c:func:`compute_ao_integrals_jl` * :c:func:`compute_ao_integrals_jl`
* :c:func:`connect_to_taskserver` * :c:func:`connect_to_taskserver`
* :c:func:`connected_to_ref` * :c:func:`connected_to_ref`
@ -794,6 +837,7 @@ Index of Subroutines/Functions
* :c:func:`dset_order_big` * :c:func:`dset_order_big`
* :c:func:`dsort` * :c:func:`dsort`
* :c:func:`dump_ao_integrals` * :c:func:`dump_ao_integrals`
* :c:func:`dump_ao_integrals_erf`
* :c:func:`dump_mo_integrals` * :c:func:`dump_mo_integrals`
* :c:func:`end_parallel_job` * :c:func:`end_parallel_job`
* :c:func:`end_zmq_pair_socket` * :c:func:`end_zmq_pair_socket`
@ -803,6 +847,10 @@ Index of Subroutines/Functions
* :c:func:`end_zmq_to_qp_run_socket` * :c:func:`end_zmq_to_qp_run_socket`
* :c:func:`erf0` * :c:func:`erf0`
* :c:func:`eri` * :c:func:`eri`
* :c:func:`eri_erf`
* :c:func:`example_bitmask`
* :c:func:`example_determinants`
* :c:func:`example_determinants_psi_det`
* :c:func:`exc_inf` * :c:func:`exc_inf`
* :c:func:`exccmp` * :c:func:`exccmp`
* :c:func:`exceq` * :c:func:`exceq`
@ -810,7 +858,7 @@ Index of Subroutines/Functions
* :c:func:`extrapolate_data` * :c:func:`extrapolate_data`
* :c:func:`f_integral` * :c:func:`f_integral`
* :c:func:`fact` * :c:func:`fact`
* :c:func:`fci_zmq` * :c:func:`fci`
* :c:func:`fcidump` * :c:func:`fcidump`
* :c:func:`fill_buffer_double` * :c:func:`fill_buffer_double`
* :c:func:`fill_h_apply_buffer_no_selection` * :c:func:`fill_h_apply_buffer_no_selection`
@ -821,7 +869,7 @@ Index of Subroutines/Functions
* :c:func:`find_rotation` * :c:func:`find_rotation`
* :c:func:`find_triples_and_quadruples` * :c:func:`find_triples_and_quadruples`
* :c:func:`find_triples_and_quadruples_micro` * :c:func:`find_triples_and_quadruples_micro`
* :c:func:`four_idx` * :c:func:`four_idx_transform`
* :c:func:`gammln` * :c:func:`gammln`
* :c:func:`gammp` * :c:func:`gammp`
* :c:func:`gauleg` * :c:func:`gauleg`
@ -850,8 +898,12 @@ Index of Subroutines/Functions
* :c:func:`get_all_spin_singles_and_doubles_n_int` * :c:func:`get_all_spin_singles_and_doubles_n_int`
* :c:func:`get_all_spin_singles_n_int` * :c:func:`get_all_spin_singles_n_int`
* :c:func:`get_ao_bielec_integral` * :c:func:`get_ao_bielec_integral`
* :c:func:`get_ao_bielec_integral_erf`
* :c:func:`get_ao_bielec_integrals` * :c:func:`get_ao_bielec_integrals`
* :c:func:`get_ao_bielec_integrals_erf`
* :c:func:`get_ao_bielec_integrals_erf_non_zero`
* :c:func:`get_ao_bielec_integrals_non_zero` * :c:func:`get_ao_bielec_integrals_non_zero`
* :c:func:`get_ao_erf_map_size`
* :c:func:`get_ao_map_size` * :c:func:`get_ao_map_size`
* :c:func:`get_d0` * :c:func:`get_d0`
* :c:func:`get_d1` * :c:func:`get_d1`
@ -881,10 +933,17 @@ Index of Subroutines/Functions
* :c:func:`get_m2` * :c:func:`get_m2`
* :c:func:`get_mask_phase` * :c:func:`get_mask_phase`
* :c:func:`get_mo_bielec_integral` * :c:func:`get_mo_bielec_integral`
* :c:func:`get_mo_bielec_integral_erf`
* :c:func:`get_mo_bielec_integrals` * :c:func:`get_mo_bielec_integrals`
* :c:func:`get_mo_bielec_integrals_coulomb_ii` * :c:func:`get_mo_bielec_integrals_coulomb_ii`
* :c:func:`get_mo_bielec_integrals_erf`
* :c:func:`get_mo_bielec_integrals_erf_coulomb_ii`
* :c:func:`get_mo_bielec_integrals_erf_exch_ii`
* :c:func:`get_mo_bielec_integrals_erf_i1j1`
* :c:func:`get_mo_bielec_integrals_erf_ij`
* :c:func:`get_mo_bielec_integrals_exch_ii` * :c:func:`get_mo_bielec_integrals_exch_ii`
* :c:func:`get_mo_bielec_integrals_ij` * :c:func:`get_mo_bielec_integrals_ij`
* :c:func:`get_mo_erf_map_size`
* :c:func:`get_mo_map_size` * :c:func:`get_mo_map_size`
* :c:func:`get_mono_excitation` * :c:func:`get_mono_excitation`
* :c:func:`get_mono_excitation_from_fock` * :c:func:`get_mono_excitation_from_fock`
@ -913,6 +972,10 @@ Index of Subroutines/Functions
* :c:func:`give_2p_new` * :c:func:`give_2p_new`
* :c:func:`give_active_part_determinant` * :c:func:`give_active_part_determinant`
* :c:func:`give_all_aos_at_r` * :c:func:`give_all_aos_at_r`
* :c:func:`give_all_erf_kl_ao`
* :c:func:`give_all_mos_and_grad_and_lapl_at_r`
* :c:func:`give_all_mos_and_grad_at_r`
* :c:func:`give_all_mos_at_r`
* :c:func:`give_core_inactive_part_determinant` * :c:func:`give_core_inactive_part_determinant`
* :c:func:`give_explicit_poly_and_gaussian` * :c:func:`give_explicit_poly_and_gaussian`
* :c:func:`give_explicit_poly_and_gaussian_double` * :c:func:`give_explicit_poly_and_gaussian_double`
@ -920,6 +983,8 @@ Index of Subroutines/Functions
* :c:func:`give_holes_in_inactive_space` * :c:func:`give_holes_in_inactive_space`
* :c:func:`give_particles_in_virt_space` * :c:func:`give_particles_in_virt_space`
* :c:func:`give_polynom_mult_center_mono_elec` * :c:func:`give_polynom_mult_center_mono_elec`
* :c:func:`give_polynom_mult_center_mono_elec_erf`
* :c:func:`give_polynom_mult_center_mono_elec_erf_opt`
* :c:func:`give_polynom_mult_center_x` * :c:func:`give_polynom_mult_center_x`
* :c:func:`give_singles_and_partial_doubles_1h1p_contrib` * :c:func:`give_singles_and_partial_doubles_1h1p_contrib`
* :c:func:`give_virt_part_determinant` * :c:func:`give_virt_part_determinant`
@ -994,6 +1059,13 @@ Index of Subroutines/Functions
* :c:func:`h_apply_mrpt_diexcorg` * :c:func:`h_apply_mrpt_diexcorg`
* :c:func:`h_apply_mrpt_diexcp` * :c:func:`h_apply_mrpt_diexcp`
* :c:func:`h_apply_mrpt_monoexc` * :c:func:`h_apply_mrpt_monoexc`
* :c:func:`h_s2_u_0_bielec_nstates_openmp`
* :c:func:`h_s2_u_0_bielec_nstates_openmp_work`
* :c:func:`h_s2_u_0_bielec_nstates_openmp_work_1`
* :c:func:`h_s2_u_0_bielec_nstates_openmp_work_2`
* :c:func:`h_s2_u_0_bielec_nstates_openmp_work_3`
* :c:func:`h_s2_u_0_bielec_nstates_openmp_work_4`
* :c:func:`h_s2_u_0_bielec_nstates_openmp_work_n_int`
* :c:func:`h_s2_u_0_nstates_openmp` * :c:func:`h_s2_u_0_nstates_openmp`
* :c:func:`h_s2_u_0_nstates_openmp_work` * :c:func:`h_s2_u_0_nstates_openmp_work`
* :c:func:`h_s2_u_0_nstates_openmp_work_1` * :c:func:`h_s2_u_0_nstates_openmp_work_1`
@ -1035,6 +1107,7 @@ Index of Subroutines/Functions
* :c:func:`i_s2_psi_minilist` * :c:func:`i_s2_psi_minilist`
* :c:func:`i_x1_pol_mult` * :c:func:`i_x1_pol_mult`
* :c:func:`initialize_bitmask_to_restart_ones` * :c:func:`initialize_bitmask_to_restart_ones`
* :c:func:`insert_into_ao_integrals_erf_map`
* :c:func:`insert_into_ao_integrals_map` * :c:func:`insert_into_ao_integrals_map`
* :c:func:`insertion_dsort` * :c:func:`insertion_dsort`
* :c:func:`insertion_dsort_big` * :c:func:`insertion_dsort_big`
@ -1048,6 +1121,7 @@ Index of Subroutines/Functions
* :c:func:`insertion_sort_big` * :c:func:`insertion_sort_big`
* :c:func:`int_gaus_pol` * :c:func:`int_gaus_pol`
* :c:func:`integrale_new` * :c:func:`integrale_new`
* :c:func:`integrale_new_erf`
* :c:func:`is_a_1h` * :c:func:`is_a_1h`
* :c:func:`is_a_1h1p` * :c:func:`is_a_1h1p`
* :c:func:`is_a_1h2p` * :c:func:`is_a_1h2p`
@ -1073,7 +1147,9 @@ Index of Subroutines/Functions
* :c:func:`lapack_diagd` * :c:func:`lapack_diagd`
* :c:func:`list_to_bitstring` * :c:func:`list_to_bitstring`
* :c:func:`load_ao_integrals` * :c:func:`load_ao_integrals`
* :c:func:`load_ao_integrals_erf`
* :c:func:`load_mo_integrals` * :c:func:`load_mo_integrals`
* :c:func:`load_mo_integrals_erf`
* :c:func:`logfact` * :c:func:`logfact`
* :c:func:`lowercase` * :c:func:`lowercase`
* :c:func:`make_s2_eigenfunction` * :c:func:`make_s2_eigenfunction`
@ -1088,17 +1164,23 @@ Index of Subroutines/Functions
* :c:func:`mo_as_svd_vectors_of_mo_matrix` * :c:func:`mo_as_svd_vectors_of_mo_matrix`
* :c:func:`mo_as_svd_vectors_of_mo_matrix_eig` * :c:func:`mo_as_svd_vectors_of_mo_matrix_eig`
* :c:func:`mo_bielec_integral` * :c:func:`mo_bielec_integral`
* :c:func:`mo_bielec_integral_erf`
* :c:func:`mo_bielec_integrals_erf_index`
* :c:func:`mo_bielec_integrals_index` * :c:func:`mo_bielec_integrals_index`
* :c:func:`mo_to_ao` * :c:func:`mo_to_ao`
* :c:func:`modify_bitmasks_for_hole` * :c:func:`modify_bitmasks_for_hole`
* :c:func:`modify_bitmasks_for_hole_in_out` * :c:func:`modify_bitmasks_for_hole_in_out`
* :c:func:`modify_bitmasks_for_particl` * :c:func:`modify_bitmasks_for_particl`
* :c:func:`molden`
* :c:func:`mpi_print` * :c:func:`mpi_print`
* :c:func:`mrcc`
* :c:func:`mrcc_dress` * :c:func:`mrcc_dress`
* :c:func:`mrpt_dress` * :c:func:`mrpt_dress`
* :c:func:`multiply_poly` * :c:func:`multiply_poly`
* :c:func:`n_pt_sup` * :c:func:`n_pt_sup`
* :c:func:`nai_pol_mult` * :c:func:`nai_pol_mult`
* :c:func:`nai_pol_mult_erf`
* :c:func:`nai_pol_mult_erf_ao`
* :c:func:`new_parallel_job` * :c:func:`new_parallel_job`
* :c:func:`new_zmq_pair_socket` * :c:func:`new_zmq_pair_socket`
* :c:func:`new_zmq_pull_socket` * :c:func:`new_zmq_pull_socket`
@ -1152,11 +1234,12 @@ Index of Subroutines/Functions
* :c:func:`print_generators_bitmasks_particles` * :c:func:`print_generators_bitmasks_particles`
* :c:func:`print_generators_bitmasks_particles_for_one_generator` * :c:func:`print_generators_bitmasks_particles_for_one_generator`
* :c:func:`print_memory_usage` * :c:func:`print_memory_usage`
* :c:func:`print_mos`
* :c:func:`print_spindet` * :c:func:`print_spindet`
* :c:func:`print_summary` * :c:func:`print_summary`
* :c:func:`provide_all` * :c:func:`provide_all`
* :c:func:`provide_all_mo_integrals_erf`
* :c:func:`provide_everything` * :c:func:`provide_everything`
* :c:func:`pt2`
* :c:func:`pt2_collector` * :c:func:`pt2_collector`
* :c:func:`pt2_decontracted` * :c:func:`pt2_decontracted`
* :c:func:`pt2_dummy` * :c:func:`pt2_dummy`
@ -1170,7 +1253,6 @@ Index of Subroutines/Functions
* :c:func:`pt2_moller_plesset_general` * :c:func:`pt2_moller_plesset_general`
* :c:func:`pt2_qdpt` * :c:func:`pt2_qdpt`
* :c:func:`pt2_slave_inproc` * :c:func:`pt2_slave_inproc`
* :c:func:`pt2_stoch`
* :c:func:`pull_dress_results` * :c:func:`pull_dress_results`
* :c:func:`pull_pt2` * :c:func:`pull_pt2`
* :c:func:`pull_pt2_results` * :c:func:`pull_pt2_results`
@ -1201,6 +1283,8 @@ Index of Subroutines/Functions
* :c:func:`rinteg` * :c:func:`rinteg`
* :c:func:`rintgauss` * :c:func:`rintgauss`
* :c:func:`roothaan_hall_scf` * :c:func:`roothaan_hall_scf`
* :c:func:`routine`
* :c:func:`routine_example_psi_det`
* :c:func:`run` * :c:func:`run`
* :c:func:`run_dress_slave` * :c:func:`run_dress_slave`
* :c:func:`run_dressing` * :c:func:`run_dressing`
@ -1212,11 +1296,16 @@ Index of Subroutines/Functions
* :c:func:`s2_u_0` * :c:func:`s2_u_0`
* :c:func:`s2_u_0_nstates` * :c:func:`s2_u_0_nstates`
* :c:func:`sabpartial` * :c:func:`sabpartial`
* :c:func:`save_erf_bi_elec_integrals_ao`
* :c:func:`save_erf_bi_elec_integrals_mo`
* :c:func:`save_erf_bielec_ints_ao_into_ints_ao`
* :c:func:`save_erf_bielec_ints_mo_into_ints_mo`
* :c:func:`save_iterations` * :c:func:`save_iterations`
* :c:func:`save_mos` * :c:func:`save_mos`
* :c:func:`save_mos_truncated` * :c:func:`save_mos_truncated`
* :c:func:`save_natorb` * :c:func:`save_natorb`
* :c:func:`save_natural_mos` * :c:func:`save_natural_mos`
* :c:func:`save_one_body_dm`
* :c:func:`save_ortho_mos` * :c:func:`save_ortho_mos`
* :c:func:`save_ref_determinant` * :c:func:`save_ref_determinant`
* :c:func:`save_wavefunction` * :c:func:`save_wavefunction`
@ -1238,7 +1327,6 @@ Index of Subroutines/Functions
* :c:func:`set_natural_mos` * :c:func:`set_natural_mos`
* :c:func:`set_order` * :c:func:`set_order`
* :c:func:`set_order_big` * :c:func:`set_order_big`
* :c:func:`shifted_bk`
* :c:func:`shifted_bk_slave` * :c:func:`shifted_bk_slave`
* :c:func:`slave` * :c:func:`slave`
* :c:func:`sort` * :c:func:`sort`
@ -1268,6 +1356,7 @@ Index of Subroutines/Functions
* :c:func:`u0_h_dyall_u0` * :c:func:`u0_h_dyall_u0`
* :c:func:`u0_h_dyall_u0_no_exchange` * :c:func:`u0_h_dyall_u0_no_exchange`
* :c:func:`u_0_h_u_0` * :c:func:`u_0_h_u_0`
* :c:func:`u_0_h_u_0_bielec`
* :c:func:`u_0_s2_u_0` * :c:func:`u_0_s2_u_0`
* :c:func:`u_dot_u` * :c:func:`u_dot_u`
* :c:func:`u_dot_v` * :c:func:`u_dot_v`
@ -1288,6 +1377,7 @@ Index of Subroutines/Functions
* :c:func:`write_geometry` * :c:func:`write_geometry`
* :c:func:`write_git_log` * :c:func:`write_git_log`
* :c:func:`write_int` * :c:func:`write_int`
* :c:func:`write_integrals`
* :c:func:`write_intro_gamess` * :c:func:`write_intro_gamess`
* :c:func:`write_mo_basis` * :c:func:`write_mo_basis`
* :c:func:`write_spindeterminants` * :c:func:`write_spindeterminants`

View File

@ -27,7 +27,7 @@ default: $(ALL_EXE) .gitignore
tests: $(ALL_TESTS) tests: $(ALL_TESTS)
.gitignore: $(MLFILES) $(MLIFILES) .gitignore: $(MLFILES) $(MLIFILES)
@for i in .gitignore ezfio.ml Qptypes.ml Git.ml qptypes_generator.byte _build $(ALL_EXE) $(ALL_TESTS) \ @for i in .gitignore ezfio.ml element_create_db Qptypes.ml Git.ml *.byte *.native _build $(ALL_EXE) $(ALL_TESTS) \
$(patsubst %.ml,%,$(wildcard test_*.ml)) $(patsubst %.ml,%,$(wildcard qp_*.ml)) \ $(patsubst %.ml,%,$(wildcard test_*.ml)) $(patsubst %.ml,%,$(wildcard qp_*.ml)) \
$(shell grep Input Input_auto_generated.ml | awk '{print $$2 ".ml"}') \ $(shell grep Input Input_auto_generated.ml | awk '{print $$2 ".ml"}') \
qp_edit.ml qp_edit qp_edit.native Input_auto_generated.ml;\ qp_edit.ml qp_edit qp_edit.native Input_auto_generated.ml;\

View File

@ -30,7 +30,7 @@ BEGIN_PROVIDER [double precision, ao_expo_ordered_transp_per_nucl, (ao_prim_num_
END_PROVIDER END_PROVIDER
BEGIN_PROVIDER [ double precision, ao_power_ordered_transp_per_nucl, (3,N_AOs_max,nucl_num) ] BEGIN_PROVIDER [ integer, ao_power_ordered_transp_per_nucl, (3,N_AOs_max,nucl_num) ]
implicit none implicit none
integer :: i,j,k,l integer :: i,j,k,l
do i = 1, nucl_num do i = 1, nucl_num

View File

@ -4,7 +4,7 @@ subroutine save_erf_bi_elec_integrals_ao
PROVIDE ao_bielec_integrals_erf_in_map PROVIDE ao_bielec_integrals_erf_in_map
call ezfio_set_work_empty(.False.) call ezfio_set_work_empty(.False.)
call map_save_to_disk(trim(ezfio_filename)//'/work/ao_ints_erf',ao_integrals_erf_map) call map_save_to_disk(trim(ezfio_filename)//'/work/ao_ints_erf',ao_integrals_erf_map)
call ezfio_set_integrals_bielec_disk_access_ao_integrals("Read") call ezfio_set_ao_two_e_integrals_disk_access_ao_integrals('Read')
end end
subroutine save_erf_bielec_ints_ao_into_ints_ao subroutine save_erf_bielec_ints_ao_into_ints_ao
@ -13,6 +13,6 @@ subroutine save_erf_bielec_ints_ao_into_ints_ao
PROVIDE ao_bielec_integrals_erf_in_map PROVIDE ao_bielec_integrals_erf_in_map
call ezfio_set_work_empty(.False.) call ezfio_set_work_empty(.False.)
call map_save_to_disk(trim(ezfio_filename)//'/work/ao_ints',ao_integrals_erf_map) call map_save_to_disk(trim(ezfio_filename)//'/work/ao_ints',ao_integrals_erf_map)
call ezfio_set_integrals_bielec_disk_access_ao_integrals("Read") call ezfio_set_ao_two_e_integrals_disk_access_ao_integrals('Read')
end end

View File

@ -416,7 +416,7 @@ BEGIN_PROVIDER [ logical, ao_bielec_integrals_in_map ]
if (write_ao_integrals.and.mpi_master) then if (write_ao_integrals.and.mpi_master) then
call ezfio_set_work_empty(.False.) call ezfio_set_work_empty(.False.)
call map_save_to_disk(trim(ezfio_filename)//'/work/ao_ints',ao_integrals_map) call map_save_to_disk(trim(ezfio_filename)//'/work/ao_ints',ao_integrals_map)
call ezfio_set_integrals_bielec_disk_access_ao_integrals("Read") call ezfio_set_ao_two_e_integrals_disk_access_ao_integrals('Read')
endif endif
END_PROVIDER END_PROVIDER
@ -585,7 +585,7 @@ end
double precision function ERI(alpha,beta,delta,gama,a_x,b_x,c_x,d_x,a_y,b_y,c_y,d_y,a_z,b_z,c_z,d_z) double precision function ERI(alpha,beta,delta,gama,a_x,b_x,c_x,d_x,a_y,b_y,c_y,d_y,a_z,b_z,c_z,d_z)
implicit none implicit none
BEGIN_DOC BEGIN_DOC
! ATOMIC PRIMTIVE bielectronic integral between the 4 primitives :: ! ATOMIC PRIMTIVE two-electron integral between the 4 primitives ::
! primitive_1 = x1**(a_x) y1**(a_y) z1**(a_z) exp(-alpha * r1**2) ! primitive_1 = x1**(a_x) y1**(a_y) z1**(a_z) exp(-alpha * r1**2)
! primitive_2 = x1**(b_x) y1**(b_y) z1**(b_z) exp(- beta * r1**2) ! primitive_2 = x1**(b_x) y1**(b_y) z1**(b_z) exp(- beta * r1**2)
! primitive_3 = x2**(c_x) y2**(c_y) z2**(c_z) exp(-delta * r2**2) ! primitive_3 = x2**(c_x) y2**(c_y) z2**(c_z) exp(-delta * r2**2)
@ -712,7 +712,7 @@ end
recursive subroutine I_x1_new(a,c,B_10,B_01,B_00,res,n_pt) recursive subroutine I_x1_new(a,c,B_10,B_01,B_00,res,n_pt)
BEGIN_DOC BEGIN_DOC
! recursive function involved in the bielectronic integral ! recursive function involved in the two-electron integral
END_DOC END_DOC
implicit none implicit none
include 'utils/constants.include.F' include 'utils/constants.include.F'
@ -746,7 +746,7 @@ end
recursive subroutine I_x2_new(c,B_10,B_01,B_00,res,n_pt) recursive subroutine I_x2_new(c,B_10,B_01,B_00,res,n_pt)
implicit none implicit none
BEGIN_DOC BEGIN_DOC
! recursive function involved in the bielectronic integral ! recursive function involved in the two-electron integral
END_DOC END_DOC
include 'utils/constants.include.F' include 'utils/constants.include.F'
integer, intent(in) :: c, n_pt integer, intent(in) :: c, n_pt
@ -851,7 +851,7 @@ end
subroutine I_x1_pol_mult(a,c,B_10,B_01,B_00,C_00,D_00,d,nd,n_pt_in) subroutine I_x1_pol_mult(a,c,B_10,B_01,B_00,C_00,D_00,d,nd,n_pt_in)
implicit none implicit none
BEGIN_DOC BEGIN_DOC
! recursive function involved in the bielectronic integral ! recursive function involved in the two-electron integral
END_DOC END_DOC
integer , intent(in) :: n_pt_in integer , intent(in) :: n_pt_in
include 'utils/constants.include.F' include 'utils/constants.include.F'
@ -885,7 +885,7 @@ end
recursive subroutine I_x1_pol_mult_recurs(a,c,B_10,B_01,B_00,C_00,D_00,d,nd,n_pt_in) recursive subroutine I_x1_pol_mult_recurs(a,c,B_10,B_01,B_00,C_00,D_00,d,nd,n_pt_in)
implicit none implicit none
BEGIN_DOC BEGIN_DOC
! recursive function involved in the bielectronic integral ! recursive function involved in the two-electron integral
END_DOC END_DOC
integer , intent(in) :: n_pt_in integer , intent(in) :: n_pt_in
include 'utils/constants.include.F' include 'utils/constants.include.F'
@ -966,7 +966,7 @@ end
recursive subroutine I_x1_pol_mult_a1(c,B_10,B_01,B_00,C_00,D_00,d,nd,n_pt_in) recursive subroutine I_x1_pol_mult_a1(c,B_10,B_01,B_00,C_00,D_00,d,nd,n_pt_in)
implicit none implicit none
BEGIN_DOC BEGIN_DOC
! recursive function involved in the bielectronic integral ! recursive function involved in the two-electron integral
END_DOC END_DOC
integer , intent(in) :: n_pt_in integer , intent(in) :: n_pt_in
include 'utils/constants.include.F' include 'utils/constants.include.F'
@ -1017,7 +1017,7 @@ end
recursive subroutine I_x1_pol_mult_a2(c,B_10,B_01,B_00,C_00,D_00,d,nd,n_pt_in) recursive subroutine I_x1_pol_mult_a2(c,B_10,B_01,B_00,C_00,D_00,d,nd,n_pt_in)
implicit none implicit none
BEGIN_DOC BEGIN_DOC
! recursive function involved in the bielectronic integral ! recursive function involved in the two-electron integral
END_DOC END_DOC
integer , intent(in) :: n_pt_in integer , intent(in) :: n_pt_in
include 'utils/constants.include.F' include 'utils/constants.include.F'
@ -1075,7 +1075,7 @@ end
recursive subroutine I_x2_pol_mult(c,B_10,B_01,B_00,C_00,D_00,d,nd,dim) recursive subroutine I_x2_pol_mult(c,B_10,B_01,B_00,C_00,D_00,d,nd,dim)
implicit none implicit none
BEGIN_DOC BEGIN_DOC
! recursive function involved in the bielectronic integral ! recursive function involved in the two-electron integral
END_DOC END_DOC
integer , intent(in) :: dim integer , intent(in) :: dim
include 'utils/constants.include.F' include 'utils/constants.include.F'

View File

@ -121,10 +121,12 @@ end
r(2) = grid_points_per_atom(2,l,k,j) r(2) = grid_points_per_atom(2,l,k,j)
r(3) = grid_points_per_atom(3,l,k,j) r(3) = grid_points_per_atom(3,l,k,j)
double precision :: dm_a,dm_b double precision :: dm_a(N_states),dm_b(N_states)
call dm_dft_alpha_beta_at_r(r,dm_a,dm_b) call dm_dft_alpha_beta_at_r(r,dm_a,dm_b)
one_body_dm_mo_alpha_at_grid_points(l,k,j,1) = dm_a do istate=1,N_states
one_body_dm_mo_beta_at_grid_points(l,k,j,1) = dm_b one_body_dm_mo_alpha_at_grid_points(l,k,j,istate) = dm_a(istate)
one_body_dm_mo_beta_at_grid_points(l,k,j,istate) = dm_b(istate)
enddo
enddo enddo
enddo enddo

View File

@ -339,84 +339,84 @@ end
subroutine ecorrlr(rs,z,mu,eclr) subroutine ecorrlr(rs,z,mu,eclr)
!cc Hartree atomic units used !cc Hartree atomic units used
!cc for given density parameter rs, spin polarization z !cc for given density parameter rs, spin polarization z
!cc and cutoff parameter mu !cc and cutoff parameter mu
!cc gives the correlation energy of the LR gas !cc gives the correlation energy of the LR gas
!cc => eclr !cc => eclr
implicit none implicit none
double precision rs,z,mu,eclr,ec,ecd,ecz double precision rs,z,mu,eclr,ec,ecd,ecz
double precision pi,alpha,cf,phi double precision pi,alpha,cf,phi
double precision g0f,dpol,d2anti,d3anti,Qrpa double precision g0f,dpol,d2anti,d3anti,Qrpa
double precision coe2,coe3,coe4,coe5 double precision coe2,coe3,coe4,coe5
double precision a1,a2,a3,a4,b0 double precision a1,a2,a3,a4,b0
double precision q1a,q2a,q3a,t1a,t2a,t3a,adib double precision q1a,q2a,q3a,t1a,t2a,t3a,adib
!SCD !SCD
double precision ecdd,eczd double precision ecdd,eczd
!SCF !SCF
pi=dacos(-1.d0) pi=dacos(-1.d0)
alpha=(4.d0/9.d0/pi)**(1.d0/3.d0) alpha=(4.d0/9.d0/pi)**(1.d0/3.d0)
cf=1.d0/alpha cf=1.d0/alpha
phi=((1.d0+z)**(2.d0/3.d0)+(1.d0-z)**(2.d0/3.d0))/2.d0 phi=((1.d0+z)**(2.d0/3.d0)+(1.d0-z)**(2.d0/3.d0))/2.d0
!c parameters from the fit !c parameters from the fit
adib = 0.784949d0 adib = 0.784949d0
q1a = -0.388d0 q1a = -0.388d0
q2a = 0.676d0 q2a = 0.676d0
q3a = 0.547d0 q3a = 0.547d0
t1a = -4.95d0 t1a = -4.95d0
t2a = 1.d0 t2a = 1.d0
t3a = 0.31d0 t3a = 0.31d0
b0=adib*rs b0=adib*rs
d2anti=(q1a*rs+q2a*rs**2)*exp(-abs(q3a)*rs)/rs**2 d2anti=(q1a*rs+q2a*rs**2)*exp(-abs(q3a)*rs)/rs**2
d3anti=(t1a*rs+t2a*rs**2)*exp(-abs(t3a)*rs)/rs**3 d3anti=(t1a*rs+t2a*rs**2)*exp(-abs(t3a)*rs)/rs**3
coe2=-3.d0/8.d0/rs**3*(1.d0-z**2)*(g0f(rs)-0.5d0) coe2=-3.d0/8.d0/rs**3*(1.d0-z**2)*(g0f(rs)-0.5d0)
coe3=-(1.d0-z**2)*g0f(rs)/(sqrt(2.d0*pi)*rs**3) coe3=-(1.d0-z**2)*g0f(rs)/(sqrt(2.d0*pi)*rs**3)
if(abs(z).eq.1.d0) then if(abs(z).eq.1.d0) then
coe4=-9.d0/64.d0/rs**3*(dpol(rs) -cf**2*2d0**(5.d0/3.d0)/5.d0/rs**2) coe4=-9.d0/64.d0/rs**3*(dpol(rs) -cf**2*2d0**(5.d0/3.d0)/5.d0/rs**2)
coe5=-9.d0/40.d0/(sqrt(2.d0*pi)*rs**3)*dpol(rs) coe5=-9.d0/40.d0/(sqrt(2.d0*pi)*rs**3)*dpol(rs)
else else
coe4=-9.d0/64.d0/rs**3*(((1.d0+z)/2.d0)**2* & coe4=-9.d0/64.d0/rs**3*(((1.d0+z)/2.d0)**2* &
dpol(rs*(2d0/(1.d0+z))**(1.d0/3.d0))+((1.d0-z)/2.d0)**2 & dpol(rs*(2d0/(1.d0+z))**(1.d0/3.d0))+((1.d0-z)/2.d0)**2 &
*dpol(rs*(2.d0/(1.d0-z))**(1.d0/3.d0))+ & *dpol(rs*(2.d0/(1.d0-z))**(1.d0/3.d0))+ &
(1.-z**2)*d2anti-cf**2/10.d0*((1.d0+z)**(8.d0/3.d0) & (1.-z**2)*d2anti-cf**2/10.d0*((1.d0+z)**(8.d0/3.d0) &
+(1.-z)**(8.d0/3.d0))/rs**2) +(1.-z)**(8.d0/3.d0))/rs**2)
coe5=-9.d0/40.d0/(sqrt(2.d0*pi)*rs**3)*(((1.d0+z)/2.d0)**2 & coe5=-9.d0/40.d0/(sqrt(2.d0*pi)*rs**3)*(((1.d0+z)/2.d0)**2 &
*dpol(rs*(2.d0/(1.d0+z))**(1.d0/3.d0))+((1.d0-z)/2.d0)**2 & *dpol(rs*(2.d0/(1.d0+z))**(1.d0/3.d0))+((1.d0-z)/2.d0)**2 &
*dpol(rs*(2.d0/(1.d0-z))**(1.d0/3.d0))+(1.d0-z**2)* & *dpol(rs*(2.d0/(1.d0-z))**(1.d0/3.d0))+(1.d0-z**2)* &
d3anti) d3anti)
end if end if
! call ecPW(rs,z,ec,ecd,ecz) ! call ecPW(rs,z,ec,ecd,ecz)
!SCD !SCD
call ecPW(rs,z,ec,ecd,ecz,ecdd,eczd) call ecPW(rs,z,ec,ecd,ecz,ecdd,eczd)
!SCF !SCF
a1=4.d0*b0**6*coe3+b0**8*coe5 a1=4.d0*b0**6*coe3+b0**8*coe5
a2=4.d0*b0**6*coe2+b0**8*coe4+6.d0*b0**4*ec a2=4.d0*b0**6*coe2+b0**8*coe4+6.d0*b0**4*ec
a3=b0**8*coe3 a3=b0**8*coe3
a4=b0**6*(b0**2*coe2+4.d0*ec) a4=b0**6*(b0**2*coe2+4.d0*ec)
if(mu*sqrt(rs)/phi.lt.0.d0)then if(mu*sqrt(rs)/phi.lt.0.d0)then
print*,'phi',phi print*,'phi',phi
print*,'mu ',mu print*,'mu ',mu
print*,'rs ',rs print*,'rs ',rs
pause stop -1
endif endif
eclr=(phi**3*Qrpa(mu*sqrt(rs)/phi)+a1*mu**3+a2*mu**4+a3*mu**5+ & eclr=(phi**3*Qrpa(mu*sqrt(rs)/phi)+a1*mu**3+a2*mu**4+a3*mu**5+ &
a4*mu**6+b0**8*mu**8*ec)/((1.d0+b0**2*mu**2)**4) a4*mu**6+b0**8*mu**8*ec)/((1.d0+b0**2*mu**2)**4)
return return
end end
subroutine vcorrlr(rs,z,mu,vclrup,vclrdown,vclrupd,vclrdownd) subroutine vcorrlr(rs,z,mu,vclrup,vclrdown,vclrupd,vclrdownd)
!SCF !SCF

View File

@ -55,7 +55,7 @@ BEGIN_PROVIDER [ logical, mo_bielec_integrals_erf_in_map ]
if (write_mo_integrals_erf) then if (write_mo_integrals_erf) then
call ezfio_set_work_empty(.False.) call ezfio_set_work_empty(.False.)
call map_save_to_disk(trim(ezfio_filename)//'/work/mo_ints_erf',mo_integrals_erf_map) call map_save_to_disk(trim(ezfio_filename)//'/work/mo_ints_erf',mo_integrals_erf_map)
call ezfio_set_integrals_bielec_erf_disk_access_mo_integrals_erf("Read") call ezfio_set_mo_two_e_integrals_disk_access_mo_integrals_erf("Read")
endif endif
END_PROVIDER END_PROVIDER

View File

@ -4,7 +4,7 @@ subroutine save_erf_bi_elec_integrals_mo
PROVIDE mo_bielec_integrals_erf_in_map PROVIDE mo_bielec_integrals_erf_in_map
call ezfio_set_work_empty(.False.) call ezfio_set_work_empty(.False.)
call map_save_to_disk(trim(ezfio_filename)//'/work/mo_ints_erf',mo_integrals_erf_map) call map_save_to_disk(trim(ezfio_filename)//'/work/mo_ints_erf',mo_integrals_erf_map)
call ezfio_set_integrals_bielec_disk_access_mo_integrals("Read") call ezfio_set_mo_two_e_integrals_disk_access_mo_integrals('Read')
end end
subroutine save_erf_bielec_ints_mo_into_ints_mo subroutine save_erf_bielec_ints_mo_into_ints_mo
@ -13,6 +13,6 @@ subroutine save_erf_bielec_ints_mo_into_ints_mo
PROVIDE mo_bielec_integrals_erf_in_map PROVIDE mo_bielec_integrals_erf_in_map
call ezfio_set_work_empty(.False.) call ezfio_set_work_empty(.False.)
call map_save_to_disk(trim(ezfio_filename)//'/work/mo_ints',mo_integrals_erf_map) call map_save_to_disk(trim(ezfio_filename)//'/work/mo_ints',mo_integrals_erf_map)
call ezfio_set_integrals_bielec_disk_access_mo_integrals("Read") call ezfio_set_mo_two_e_integrals_disk_access_mo_integrals('Read')
end end

View File

@ -206,10 +206,11 @@ END_PROVIDER
BEGIN_PROVIDER [ character*(4), element_name, (0:127)] BEGIN_PROVIDER [ character*(4), element_name, (0:127)]
&BEGIN_PROVIDER [ double precision, element_mass, (0:127) ] &BEGIN_PROVIDER [ double precision, element_mass, (0:127) ]
implicit none
BEGIN_DOC BEGIN_DOC
! Array of the name of element, sorted by nuclear charge (integer) ! Array of the name of element, sorted by nuclear charge (integer)
END_DOC END_DOC
integer :: iunit integer :: iunit, i
integer, external :: getUnitAndOpen integer, external :: getUnitAndOpen
character*(128) :: filename character*(128) :: filename
if (mpi_master) then if (mpi_master) then

View File

@ -108,7 +108,7 @@ END_DOC
TOUCH mo_coef level_shift TOUCH mo_coef level_shift
Delta_Energy_SCF = SCF_energy - energy_SCF_previous Delta_Energy_SCF = SCF_energy - energy_SCF_previous
energy_SCF = SCF_energy energy_SCF = SCF_energy
if (level_shift-level_shift_save > 50.d0) then if (level_shift-level_shift_save > 40.d0) then
level_shift = level_shift_save level_shift = level_shift_save
SOFT_TOUCH level_shift SOFT_TOUCH level_shift
exit exit

View File

@ -7,7 +7,7 @@ program save_natorb
touch read_wf touch read_wf
call save_natural_mos call save_natural_mos
call save_ref_determinant call save_ref_determinant
call ezfio_set_integrals_bielec_disk_access_mo_integrals('None') call ezfio_set_mo_two_e_integrals_disk_access_mo_integrals('None')
call ezfio_set_mo_one_e_integrals_disk_access_mo_one_integrals('None') call ezfio_set_mo_one_e_integrals_disk_access_mo_one_integrals('None')
end end

View File

@ -46,7 +46,6 @@
double precision function rinteg(n,u) double precision function rinteg(n,u)
implicit double precision(a-h,o-z) implicit double precision(a-h,o-z)
include 'constants.include.F' include 'constants.include.F'
! pi=dacos(-1.d0)
ichange=1 ichange=1
factor=1.d0 factor=1.d0
if(u.lt.0.d0)then if(u.lt.0.d0)then
@ -92,15 +91,6 @@
end end
!<function type="double precision function" name="erf0">
! <arg name="x"
! doc ="" />
!
! <doc>
!
! </doc>
!
! <fortran>
double precision function erf0(x) double precision function erf0(x)
implicit double precision (a-h,o-z) implicit double precision (a-h,o-z)
if(x.lt.0.d0)then if(x.lt.0.d0)then
@ -111,24 +101,6 @@
end end
! </fortran>
!</function>
!<function type="double precision function" name="gammp">
! <arg name="a"
! doc ="" />
! <arg name="x"
! doc ="" />
!
! <doc>
!
! </doc>
!
! <calls>
! gcf
! gser
! </calls>
!
! <fortran>
double precision function gammp(a,x) double precision function gammp(a,x)
implicit double precision (a-h,o-z) implicit double precision (a-h,o-z)
if(x.lt.0..or.a.le.0.)stop 'error in gammp' if(x.lt.0..or.a.le.0.)stop 'error in gammp'
@ -140,29 +112,8 @@
endif endif
return return
end end
! </fortran>
!</function>
!<function type="subroutine" name="gser">
! <arg name="gamser"
! doc ="" />
! <arg name="a"
! doc ="" />
! <arg name="x"
! doc ="" />
! <arg name="gln"
! doc ="" />
!
! <doc>
!
! </doc>
!
! <calledBy>
! gammp
! </calledBy>
!
! <fortran>
subroutine gser(gamser,a,x,gln) subroutine gser(gamser,a,x,gln)
implicit double precision (a-h,o-z) implicit double precision (a-h,o-z)
parameter (itmax=100,eps=3.e-7) parameter (itmax=100,eps=3.e-7)
@ -185,28 +136,7 @@
1 gamser=sum*exp(-x+a*log(x)-gln) 1 gamser=sum*exp(-x+a*log(x)-gln)
return return
end end
! </fortran>
!</function>
!<function type="subroutine" name="gcf">
! <arg name="gammcf"
! doc ="" />
! <arg name="a"
! doc ="" />
! <arg name="x"
! doc ="" />
! <arg name="gln"
! doc ="" />
!
! <doc>
!
! </doc>
!
! <calledBy>
! gammp
! </calledBy>
!
! <fortran>
subroutine gcf(gammcf,a,x,gln) subroutine gcf(gammcf,a,x,gln)
implicit double precision (a-h,o-z) implicit double precision (a-h,o-z)
parameter (itmax=100,eps=3.e-7) parameter (itmax=100,eps=3.e-7)
@ -237,8 +167,6 @@
return return
end end
! </fortran>
!</function>
double precision function ddfact2(n) double precision function ddfact2(n)
implicit double precision(a-h,o-z) implicit double precision(a-h,o-z)
if(iand(n,1).eq.0)stop 'error in ddfact2' if(iand(n,1).eq.0)stop 'error in ddfact2'
@ -258,15 +186,6 @@
b_coef=-0.5d0*u**(n+1)*dexp(-u**2) b_coef=-0.5d0*u**(n+1)*dexp(-u**2)
end end
!<function type="double precision function" name="gammln">
! <arg name="xx"
! doc ="" />
!
! <doc>
!
! </doc>
!
! <fortran>
double precision function gammln(xx) double precision function gammln(xx)
implicit double precision (a-h,o-z) implicit double precision (a-h,o-z)
real*8 cof(6),stp,half,one,fpf,x,tmp,ser real*8 cof(6),stp,half,one,fpf,x,tmp,ser
@ -284,5 +203,3 @@
gammln=tmp+log(stp*ser) gammln=tmp+log(stp*ser)
return return
end end
! </fortran>
!</function>