mirror of
https://github.com/QuantumPackage/qp2.git
synced 2024-11-07 05:53:37 +01:00
Merge branch 'pouet' into cleaning_dft
This commit is contained in:
commit
a1ef509dbb
6
.gitmodules
vendored
Normal file
6
.gitmodules
vendored
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
[submodule "external/ezfio"]
|
||||||
|
path = external/ezfio
|
||||||
|
url = https://gitlab.com/scemama/ezfio.git
|
||||||
|
[submodule "external/irpf90"]
|
||||||
|
path = external/irpf90
|
||||||
|
url = https://gitlab.com/scemama/irpf90.git
|
@ -23,7 +23,6 @@ addons:
|
|||||||
# - liblapack-dev
|
# - liblapack-dev
|
||||||
# - libblas-dev
|
# - libblas-dev
|
||||||
- wget
|
- wget
|
||||||
- eatmydata
|
|
||||||
|
|
||||||
env:
|
env:
|
||||||
- OPAMROOT=$HOME/.opam
|
- OPAMROOT=$HOME/.opam
|
||||||
@ -45,9 +44,9 @@ stages:
|
|||||||
jobs:
|
jobs:
|
||||||
include:
|
include:
|
||||||
- stage: configuration
|
- stage: configuration
|
||||||
script: eatmydata travis/configuration.sh
|
script: travis/configuration.sh
|
||||||
- stage: compilation
|
- stage: compilation
|
||||||
script: eatmydata travis/compilation.sh
|
script: travis/compilation.sh
|
||||||
- stage: testing
|
- stage: testing
|
||||||
script: eatmydata travis/testing.sh
|
script: travis/testing.sh
|
||||||
|
|
||||||
|
20
AUTHORS
Normal file
20
AUTHORS
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
# If you contributed to this software, please make a pull request to add your
|
||||||
|
# name to this list (alphabetical order of the last name)
|
||||||
|
|
||||||
|
- Thomas Applencourt
|
||||||
|
- Anouar Benali
|
||||||
|
- Michel Caffarel
|
||||||
|
- Grégoire David
|
||||||
|
- Anthony Ferté
|
||||||
|
- Yann Garniron
|
||||||
|
- Kevin Gasperich
|
||||||
|
- Vijay Gopal Chilkuri
|
||||||
|
- Emmanuel Giner
|
||||||
|
- Pierre-François Loos
|
||||||
|
- Jean-Paul Malrieu
|
||||||
|
- Julien Paquier
|
||||||
|
- Barthélémy Pradines
|
||||||
|
- Peter Reinhardt
|
||||||
|
- Anthony Scemama
|
||||||
|
- Julien Toulouse
|
||||||
|
- Mickaël Véril
|
@ -28,6 +28,12 @@ and need to be installed.
|
|||||||
When all dependencies have been installed, ( the :command:`configure` will tell you)
|
When all dependencies have been installed, ( the :command:`configure` will tell you)
|
||||||
source the :file:`quantum_package.rc` in order to load all environment variables and compile the |QP|.
|
source the :file:`quantum_package.rc` in order to load all environment variables and compile the |QP|.
|
||||||
|
|
||||||
|
Now all the requirements are met, you can compile the programs using
|
||||||
|
|
||||||
|
.. code:: bash
|
||||||
|
|
||||||
|
make
|
||||||
|
|
||||||
|
|
||||||
Requirements
|
Requirements
|
||||||
============
|
============
|
||||||
@ -48,6 +54,7 @@ Requirements
|
|||||||
- `Bubblewrap <https://github.com/projectatomic/bubblewrap>`_ : Sandboxing tool required by Opam
|
- `Bubblewrap <https://github.com/projectatomic/bubblewrap>`_ : Sandboxing tool required by Opam
|
||||||
- `libcap <https://git.kernel.org/pub/scm/linux/kernel/git/morgan/libcap.git>`_ : POSIX capabilities required by Bubblewrap
|
- `libcap <https://git.kernel.org/pub/scm/linux/kernel/git/morgan/libcap.git>`_ : POSIX capabilities required by Bubblewrap
|
||||||
- |Ninja| : a parallel build system
|
- |Ninja| : a parallel build system
|
||||||
|
- |pkg-config| : a tool which returns information about installed libraries
|
||||||
|
|
||||||
|
|
||||||
When all the dependencies have been installed, go into the :file:`config`
|
When all the dependencies have been installed, go into the :file:`config`
|
||||||
@ -79,7 +86,7 @@ The command is to be used as follows:
|
|||||||
|
|
||||||
.. code:: bash
|
.. code:: bash
|
||||||
|
|
||||||
./configure --install <package>
|
./configure --install=<package>
|
||||||
|
|
||||||
The following packages are supported by the :command:`configure` installer:
|
The following packages are supported by the :command:`configure` installer:
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# Quantum Package 2.1
|
# Quantum Package 2.2
|
||||||
|
|
||||||
<img src="https://raw.githubusercontent.com/QuantumPackage/qp2/master/data/qp2.png" width="250">
|
<img src="https://raw.githubusercontent.com/QuantumPackage/qp2/master/data/qp2.png" width="250">
|
||||||
|
|
||||||
|
85
RELEASE_NOTES.org
Normal file
85
RELEASE_NOTES.org
Normal file
@ -0,0 +1,85 @@
|
|||||||
|
#+TITLE: Quantum Package Release notes
|
||||||
|
|
||||||
|
* Version 2.2
|
||||||
|
|
||||||
|
** Changes
|
||||||
|
|
||||||
|
- Python3 replaces Python2
|
||||||
|
- Travis CI uses 3 jobs
|
||||||
|
- Moved Travis scripts into ~travis~ directory
|
||||||
|
- IRPF90 and EZFIO are now git submodules
|
||||||
|
- Now basis sets should be downloaded from basis-set-exchange website
|
||||||
|
- Added ~bse~ in the installable tools
|
||||||
|
- Documentation in ~src/README.rst~
|
||||||
|
- Added two-body reduced density matrix
|
||||||
|
- Added basis set correction
|
||||||
|
- Added CAS-based on-top density functional
|
||||||
|
- Improve PT2 computation for excited-states: Mostly 2x2
|
||||||
|
diagonalization, and some (n+1)x(n+1) diagonalizations
|
||||||
|
- Error bars for stochastic variance and norm of the perturbed wave function
|
||||||
|
- Improve PT2-matching for excited-states
|
||||||
|
- Compute the overlap of PT2 excited states
|
||||||
|
- Renamed SOP into CFG
|
||||||
|
- Improved parallelism in PT2 by splitting tasks
|
||||||
|
- Use max in multi-state PT2 instead of sum for the selection weight
|
||||||
|
- Added seniority
|
||||||
|
- Added excitation_max
|
||||||
|
- More tasks for distribueted Davidson
|
||||||
|
- Random guess vectors in Davidson have zeros to preserve symmetry
|
||||||
|
- Disk-based Davidson when too much memory is required
|
||||||
|
- Fixed bug in DIIS
|
||||||
|
- Fixed bug in molden (Au -> Angs)
|
||||||
|
|
||||||
|
*** User interface
|
||||||
|
|
||||||
|
- Added ~qp_basis~ script to install a basis set from the ~bse~
|
||||||
|
command-line tool
|
||||||
|
- Introduced ~n_det_qp_edit~, ~psi_det_qp_edit~, and
|
||||||
|
~psi_coef_qp_edit~ to accelerate the opening of qp_edit with
|
||||||
|
large wave functions
|
||||||
|
- Removed ~etc/ninja.rc~
|
||||||
|
- Added flag to specify if the AOs are normalized
|
||||||
|
- Added flag to specify if the primitive Gaussians are normalized
|
||||||
|
- Added ~lin_dep_cutoff~, the cutoff for linear dependencies
|
||||||
|
- Davidson convergence threshold can be adapted from PT2
|
||||||
|
- In ~density_for_dft~, ~no_core_density~ is now a logical
|
||||||
|
- Default for ~weight_selection~ has changed from 2 to 1
|
||||||
|
- Nullify_small_elements in matrices to keep symmetry
|
||||||
|
- Default of density functional changed from LDA to PBE
|
||||||
|
- Added ~no_vvvv_integrals~ flag
|
||||||
|
- Added ~pt2_min_parallel_tasks~ to control parallelism in PT2
|
||||||
|
- Added ~print_energy~
|
||||||
|
- Added ~print_hamiltonian~
|
||||||
|
- Added input for two body RDM
|
||||||
|
- Added keyword ~save_wf_after_selection~
|
||||||
|
|
||||||
|
*** Code
|
||||||
|
|
||||||
|
- Many bug fixes
|
||||||
|
- Changed electron-nucleus from ~e_n~ to ~n_e~ in names of variables
|
||||||
|
- Changed ~occ_pattern~ to ~configuration~
|
||||||
|
- Replaced ~List.map~ by a tail-recursive version ~Qputils.list_map~
|
||||||
|
- Added possible imaginary part in OCaml MO coefficients
|
||||||
|
- Added ~qp_clean_source_files.sh~ to remove non-ascii characters
|
||||||
|
- Added flag ~is_periodic~ for periodic systems
|
||||||
|
- Possibilities to handle complex integrals and complex MOs
|
||||||
|
- Moved pseuodpotential integrals out of ~ao_one_e_integrals~
|
||||||
|
- Removed Schwarz test and added logical functions
|
||||||
|
~ao_two_e_integral_zero~ and ~ao_one_e_integral_zero~
|
||||||
|
- Introduced type for ~pt2_data~
|
||||||
|
- Banned excitations are used with far apart localized MOs
|
||||||
|
- S_z2_Sz is now included in S2
|
||||||
|
- S^2 in single precision
|
||||||
|
- Added Shank function
|
||||||
|
- Added utilities for periodic calculations
|
||||||
|
- Added ~V_ne_psi_energy~
|
||||||
|
- Added ~h_core_guess~ routine
|
||||||
|
- Fixed Laplacians in real space (indices)
|
||||||
|
- Added LIB file to add extra libs in plugin
|
||||||
|
|
||||||
|
ao_one_e_integral_zero
|
||||||
|
banned_excitations
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
43
TODO
43
TODO
@ -1,43 +0,0 @@
|
|||||||
# qpsh
|
|
||||||
|
|
||||||
* Faire que le slave de Hartree-fock est le calcul des integrales AO en parallele
|
|
||||||
|
|
||||||
# Exterieur
|
|
||||||
|
|
||||||
* Un module pour lire les integrales Moleculaires depuis un FCIDUMP
|
|
||||||
* Un module pour lire des integrales Atomiques (voir module de Mimi pour lire les AO Slater)
|
|
||||||
* Format Fchk (gaussian)
|
|
||||||
|
|
||||||
# Tests:
|
|
||||||
|
|
||||||
* Extrapolation
|
|
||||||
* DFT
|
|
||||||
|
|
||||||
|
|
||||||
# User doc:
|
|
||||||
|
|
||||||
* Mettre le mp2 comme exercice
|
|
||||||
* Interfaces : molden/fcidump
|
|
||||||
|
|
||||||
# Programmers doc:
|
|
||||||
|
|
||||||
* Example : Simple Hartree-Fock program from scratch
|
|
||||||
* Examples : subroutine example_module
|
|
||||||
|
|
||||||
# enleverle psi_det_size for all complicated stuffs with dimension of psi_coef
|
|
||||||
|
|
||||||
# Config file for Cray
|
|
||||||
|
|
||||||
# Documentation de /etc
|
|
||||||
|
|
||||||
Ajouter les symetries dans devel
|
|
||||||
|
|
||||||
IMPORTANT:
|
|
||||||
|
|
||||||
Davidson Diagonalization
|
|
||||||
------------------------
|
|
||||||
|
|
||||||
Not enough memory: aborting in davidson_diag_hjj_sjj
|
|
||||||
|
|
||||||
|
|
||||||
qp man does not find the programs in external plugins
|
|
@ -30,7 +30,7 @@ try:
|
|||||||
from docopt import docopt
|
from docopt import docopt
|
||||||
from qp_path import QP_SRC, QP_ROOT
|
from qp_path import QP_SRC, QP_ROOT
|
||||||
except ImportError:
|
except ImportError:
|
||||||
print("source .quantum_package.rc")
|
print("source quantum_package.rc")
|
||||||
raise
|
raise
|
||||||
|
|
||||||
|
|
||||||
|
@ -49,7 +49,7 @@ import os.path
|
|||||||
try:
|
try:
|
||||||
import qp_path
|
import qp_path
|
||||||
except ImportError:
|
except ImportError:
|
||||||
print("source .quantum_package.rc")
|
print("source quantum_package.rc")
|
||||||
raise
|
raise
|
||||||
|
|
||||||
from docopt import docopt
|
from docopt import docopt
|
||||||
|
@ -23,7 +23,7 @@ import os.path
|
|||||||
try:
|
try:
|
||||||
import qp_path
|
import qp_path
|
||||||
except ImportError:
|
except ImportError:
|
||||||
print("source .quantum_package.rc")
|
print("source quantum_package.rc")
|
||||||
raise
|
raise
|
||||||
|
|
||||||
from docopt import docopt
|
from docopt import docopt
|
||||||
|
@ -10,10 +10,10 @@
|
|||||||
#
|
#
|
||||||
#
|
#
|
||||||
[COMMON]
|
[COMMON]
|
||||||
FC : gfortran -ffree-line-length-none -I . -fPIC
|
FC : gfortran -g -ffree-line-length-none -I . -fPIC
|
||||||
LAPACK_LIB : -lblas -llapack
|
LAPACK_LIB : -lblas -llapack
|
||||||
IRPF90 : irpf90
|
IRPF90 : irpf90
|
||||||
IRPF90_FLAGS : --ninja --align=32
|
IRPF90_FLAGS : --ninja --align=32 --assert
|
||||||
|
|
||||||
# Global options
|
# Global options
|
||||||
################
|
################
|
||||||
@ -22,7 +22,7 @@ IRPF90_FLAGS : --ninja --align=32
|
|||||||
# 0 : Deactivate
|
# 0 : Deactivate
|
||||||
#
|
#
|
||||||
[OPTION]
|
[OPTION]
|
||||||
MODE : OPT ; [ OPT | PROFILE | DEBUG ] : Chooses the section below
|
MODE : DEBUG ; [ OPT | PROFILE | DEBUG ] : Chooses the section below
|
||||||
CACHE : 0 ; Enable cache_compile.py
|
CACHE : 0 ; Enable cache_compile.py
|
||||||
OPENMP : 1 ; Append OpenMP flags
|
OPENMP : 1 ; Append OpenMP flags
|
||||||
|
|
||||||
@ -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 -msse4.2
|
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 : -g -msse4.2 -fcheck=all -Waliasing -Wampersand -Wconversion -Wsurprising -Wintrinsics-std -Wno-tabs -Wintrinsic-shadow -Wline-truncation -Wreal-q-constant -Wuninitialized -fbacktrace -ffpe-trap=zero,overflow,underflow -finit-real=nan
|
||||||
|
|
||||||
# OpenMP flags
|
# OpenMP flags
|
||||||
#################
|
#################
|
||||||
|
@ -32,7 +32,7 @@ OPENMP : 1 ; Append OpenMP flags
|
|||||||
#
|
#
|
||||||
[OPT]
|
[OPT]
|
||||||
FC : -traceback
|
FC : -traceback
|
||||||
FCFLAGS : -mavx -O2 -ip -ftz -g
|
FCFLAGS : -xAVX -O2 -ip -ftz -g
|
||||||
|
|
||||||
# Profiling flags
|
# Profiling flags
|
||||||
#################
|
#################
|
||||||
|
@ -54,7 +54,7 @@ FCFLAGS : -msse4.2 -O2 -ip -ftz
|
|||||||
#
|
#
|
||||||
[DEBUG]
|
[DEBUG]
|
||||||
FC : -g -traceback
|
FC : -g -traceback
|
||||||
FCFLAGS : -msse4.2 -C -fpe0 -implicitnone
|
FCFLAGS : -msse4.2 -check all -debug all -fpe-all=0 -implicitnone
|
||||||
|
|
||||||
|
|
||||||
# OpenMP flags
|
# OpenMP flags
|
||||||
|
63
config/ifort_xHost.cfg
Normal file
63
config/ifort_xHost.cfg
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
# 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 -fpic
|
||||||
|
LAPACK_LIB : -mkl=parallel
|
||||||
|
IRPF90 : irpf90
|
||||||
|
IRPF90_FLAGS : --ninja --align=64
|
||||||
|
|
||||||
|
# Global options
|
||||||
|
################
|
||||||
|
#
|
||||||
|
# 1 : Activate
|
||||||
|
# 0 : Deactivate
|
||||||
|
#
|
||||||
|
[OPTION]
|
||||||
|
MODE : OPT ; [ OPT | PROFILE | DEBUG ] : Chooses the section below
|
||||||
|
CACHE : 0 ; 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]
|
||||||
|
FC : -traceback
|
||||||
|
FCFLAGS : -xHost -O2 -ip -ftz -g
|
||||||
|
|
||||||
|
# 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 -implicitnone
|
||||||
|
|
||||||
|
# OpenMP flags
|
||||||
|
#################
|
||||||
|
#
|
||||||
|
[OPENMP]
|
||||||
|
FC : -qopenmp
|
||||||
|
IRPF90_FLAGS : --openmp
|
||||||
|
|
52
configure
vendored
52
configure
vendored
@ -14,17 +14,16 @@ unset CCXX
|
|||||||
# Force GCC instead of ICC for dependencies
|
# Force GCC instead of ICC for dependencies
|
||||||
export CC=gcc
|
export CC=gcc
|
||||||
|
|
||||||
|
# Download submodules
|
||||||
|
git submodule init
|
||||||
|
git submodule update
|
||||||
|
|
||||||
# /!\ When updating version, update also etc files
|
# /!\ When updating version, update also etc files
|
||||||
|
|
||||||
EZFIO_TGZ="EZFIO-v2.0.3.tar.gz"
|
|
||||||
BATS_URL="https://github.com/bats-core/bats-core/archive/v1.1.0.tar.gz"
|
BATS_URL="https://github.com/bats-core/bats-core/archive/v1.1.0.tar.gz"
|
||||||
BUBBLE_URL="https://github.com/projectatomic/bubblewrap/releases/download/v0.3.3/bubblewrap-0.3.3.tar.xz"
|
BUBBLE_URL="https://github.com/projectatomic/bubblewrap/releases/download/v0.3.3/bubblewrap-0.3.3.tar.xz"
|
||||||
DOCOPT_URL="https://github.com/docopt/docopt/archive/0.6.2.tar.gz"
|
DOCOPT_URL="https://github.com/docopt/docopt/archive/0.6.2.tar.gz"
|
||||||
BSE_URL="https://github.com/MolSSI-BSE/basis_set_exchange/archive/v0.8.11.tar.gz"
|
BSE_URL="https://github.com/MolSSI-BSE/basis_set_exchange/archive/v0.8.11.tar.gz"
|
||||||
F77ZMQ_URL="https://github.com/scemama/f77_zmq/archive/v4.2.5.tar.gz"
|
F77ZMQ_URL="https://github.com/scemama/f77_zmq/archive/v4.2.5.tar.gz"
|
||||||
GMP_URL="ftp://ftp.gnu.org/gnu/gmp/gmp-6.1.2.tar.bz2"
|
|
||||||
IRPF90_URL="https://gitlab.com/scemama/irpf90/-/archive/v2.0.0/irpf90-v2.0.0.tar.gz"
|
|
||||||
LIBCAP_URL="https://git.kernel.org/pub/scm/linux/kernel/git/morgan/libcap.git/snapshot/libcap-2.25.tar.gz"
|
LIBCAP_URL="https://git.kernel.org/pub/scm/linux/kernel/git/morgan/libcap.git/snapshot/libcap-2.25.tar.gz"
|
||||||
NINJA_URL="https://github.com/ninja-build/ninja/releases/download/v1.8.2/ninja-linux.zip"
|
NINJA_URL="https://github.com/ninja-build/ninja/releases/download/v1.8.2/ninja-linux.zip"
|
||||||
OCAML_URL="https://raw.githubusercontent.com/ocaml/opam/master/shell/install.sh"
|
OCAML_URL="https://raw.githubusercontent.com/ocaml/opam/master/shell/install.sh"
|
||||||
@ -126,13 +125,13 @@ source quantum_package.rc
|
|||||||
function fail() {
|
function fail() {
|
||||||
echo "You can try to install it using the -i option."
|
echo "You can try to install it using the -i option."
|
||||||
echo "Please refer to INSTALL.rst to install the missing dependencies."
|
echo "Please refer to INSTALL.rst to install the missing dependencies."
|
||||||
exit 1
|
exit -1
|
||||||
}
|
}
|
||||||
|
|
||||||
function success() {
|
function success() {
|
||||||
echo ""
|
echo ""
|
||||||
echo "Configuration successful."
|
echo "Configuration successful."
|
||||||
exit 1
|
exit 0
|
||||||
}
|
}
|
||||||
|
|
||||||
function download() {
|
function download() {
|
||||||
@ -178,15 +177,10 @@ function find_dir() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
# Extract EZFIO if needed
|
# Install IRPF90 if needed
|
||||||
EZFIO=$(find_dir "${QP_ROOT}"/external/ezfio)
|
IRPF90=$(find_exe irpf90)
|
||||||
if [[ ${EZFIO} = $(not_found) ]] ; then
|
if [[ ${IRPF90} = $(not_found) ]] ; then
|
||||||
execute << EOF
|
make -C ${QP_ROOT}/external/irpf90
|
||||||
cd "\${QP_ROOT}"/external
|
|
||||||
tar --gunzip --extract --file ${EZFIO_TGZ}
|
|
||||||
rm -rf ezfio
|
|
||||||
mv EZFIO ezfio || mv EZFIO-v*/ ezfio
|
|
||||||
EOF
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
@ -211,7 +205,7 @@ if [[ "${PACKAGES}.x" != ".x" ]] ; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ ${PACKAGES} = all ]] ; then
|
if [[ ${PACKAGES} = all ]] ; then
|
||||||
PACKAGES="zlib ninja irpf90 zeromq f77zmq gmp libcap bwrap ocaml ezfio docopt resultsFile bats"
|
PACKAGES="zlib ninja irpf90 zeromq f77zmq gmp libcap bwrap ocaml docopt resultsFile bats"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
@ -228,12 +222,10 @@ EOF
|
|||||||
|
|
||||||
elif [[ ${PACKAGE} = gmp ]] ; then
|
elif [[ ${PACKAGE} = gmp ]] ; then
|
||||||
|
|
||||||
download ${GMP_URL} "${QP_ROOT}"/external/gmp.tar.bz2
|
|
||||||
execute << EOF
|
execute << EOF
|
||||||
cd "\${QP_ROOT}"/external
|
cd "\${QP_ROOT}"/external
|
||||||
tar --bzip2 --extract --file gmp.tar.bz2
|
tar --bzip2 --extract --file gmp-6.1.2.tar.bz2
|
||||||
rm gmp.tar.bz2
|
cd gmp-6.1.2
|
||||||
cd gmp*
|
|
||||||
./configure --prefix=$QP_ROOT && make -j 8
|
./configure --prefix=$QP_ROOT && make -j 8
|
||||||
make install
|
make install
|
||||||
EOF
|
EOF
|
||||||
@ -246,7 +238,7 @@ EOF
|
|||||||
tar --gunzip --extract --file libcap.tar.gz
|
tar --gunzip --extract --file libcap.tar.gz
|
||||||
rm libcap.tar.gz
|
rm libcap.tar.gz
|
||||||
cd libcap-*/libcap
|
cd libcap-*/libcap
|
||||||
prefix=$QP_ROOT make install
|
prefix=$QP_ROOT make BUILD_GPERF=no install
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
elif [[ ${PACKAGE} = bwrap ]] ; then
|
elif [[ ${PACKAGE} = bwrap ]] ; then
|
||||||
@ -263,13 +255,12 @@ EOF
|
|||||||
|
|
||||||
elif [[ ${PACKAGE} = irpf90 ]] ; then
|
elif [[ ${PACKAGE} = irpf90 ]] ; then
|
||||||
|
|
||||||
# When changing version of irpf90, don't forget to update etc/irpf90.rc
|
|
||||||
download ${IRPF90_URL} "${QP_ROOT}"/external/irpf90.tar.gz
|
|
||||||
execute << EOF
|
execute << EOF
|
||||||
cd "\${QP_ROOT}"/external
|
cd "\${QP_ROOT}"/external
|
||||||
tar --gunzip --extract --file irpf90.tar.gz
|
tar --gunzip --extract --file irpf90.tar.gz
|
||||||
rm irpf90.tar.gz
|
rm irpf90.tar.gz
|
||||||
cd irpf90-*
|
mv irpf90-* irpf90
|
||||||
|
cd irpf90
|
||||||
make
|
make
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
@ -328,8 +319,8 @@ EOF
|
|||||||
rm ${QP_ROOT}/external/opam_installer.sh
|
rm ${QP_ROOT}/external/opam_installer.sh
|
||||||
# source ${OPAMROOT}/opam-init/init.sh > /dev/null 2> /dev/null || true
|
# source ${OPAMROOT}/opam-init/init.sh > /dev/null 2> /dev/null || true
|
||||||
#
|
#
|
||||||
# opam switch create ocaml-base-compiler.4.10.0
|
# opam switch create ocaml-base-compiler.4.11.1
|
||||||
opam init --verbose --yes --compiler=4.10.0 --disable-sandboxing
|
opam init --verbose --yes --compiler=4.11.1 --disable-sandboxing
|
||||||
|
|
||||||
eval $(opam env)
|
eval $(opam env)
|
||||||
opam install -y ${OCAML_PACKAGES} || exit 1
|
opam install -y ${OCAML_PACKAGES} || exit 1
|
||||||
@ -348,9 +339,9 @@ EOF
|
|||||||
EOF
|
EOF
|
||||||
rm ${QP_ROOT}/external/opam_installer.sh
|
rm ${QP_ROOT}/external/opam_installer.sh
|
||||||
# source ${OPAMROOT}/opam-init/init.sh > /dev/null 2> /dev/null || true
|
# source ${OPAMROOT}/opam-init/init.sh > /dev/null 2> /dev/null || true
|
||||||
# opam switch create ocaml-base-compiler.4.10.0 || exit 1
|
# opam switch create ocaml-base-compiler.4.11.1 || exit 1
|
||||||
|
|
||||||
opam init --verbose --yes --compiler=4.10.0 --disable-sandboxing
|
opam init --verbose --yes --compiler=4.11.1 --disable-sandboxing
|
||||||
eval $(opam env)
|
eval $(opam env)
|
||||||
execute << EOF
|
execute << EOF
|
||||||
opam install -y \${OCAML_PACKAGES} || exit 1
|
opam install -y \${OCAML_PACKAGES} || exit 1
|
||||||
@ -410,6 +401,9 @@ EOF
|
|||||||
rm --recursive --force -- bats-core-1.1.0 \ "\${QP_ROOT}"/external/bats.tar.gz
|
rm --recursive --force -- bats-core-1.1.0 \ "\${QP_ROOT}"/external/bats.tar.gz
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
|
else
|
||||||
|
error "${PACKAGE} unknown."
|
||||||
|
fail
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
@ -425,7 +419,7 @@ fi
|
|||||||
|
|
||||||
IRPF90=$(find_exe irpf90)
|
IRPF90=$(find_exe irpf90)
|
||||||
if [[ ${IRPF90} = $(not_found) ]] ; then
|
if [[ ${IRPF90} = $(not_found) ]] ; then
|
||||||
error "IRPf90 (irpf90) is not installed."
|
error "IRPF90 (irpf90) is not installed."
|
||||||
fail
|
fail
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#!/usr/bin/env python2
|
#!/usr/bin/env python3
|
||||||
|
|
||||||
|
|
||||||
import os
|
import os
|
||||||
|
@ -24,9 +24,9 @@ copyright = '2019, A. Scemama, E. Giner'
|
|||||||
author = 'A. Scemama, E. Giner'
|
author = 'A. Scemama, E. Giner'
|
||||||
|
|
||||||
# The short X.Y version
|
# The short X.Y version
|
||||||
version = '2.0'
|
version = '2.1'
|
||||||
# The full version, including alpha/beta/rc tags
|
# The full version, including alpha/beta/rc tags
|
||||||
release = '2.0'
|
release = '2.1'
|
||||||
|
|
||||||
|
|
||||||
# -- General configuration ---------------------------------------------------
|
# -- General configuration ---------------------------------------------------
|
||||||
|
@ -50,7 +50,6 @@
|
|||||||
:hidden:
|
:hidden:
|
||||||
|
|
||||||
appendix/benchmarks
|
appendix/benchmarks
|
||||||
appendix/research
|
|
||||||
appendix/license
|
appendix/license
|
||||||
appendix/contributors
|
appendix/contributors
|
||||||
|
|
||||||
|
@ -118,10 +118,12 @@ Providers
|
|||||||
|
|
||||||
* :c:data:`ao_coef`
|
* :c:data:`ao_coef`
|
||||||
* :c:data:`ao_expo`
|
* :c:data:`ao_expo`
|
||||||
|
* :c:data:`ao_normalized`
|
||||||
* :c:data:`ao_num`
|
* :c:data:`ao_num`
|
||||||
* :c:data:`ao_power`
|
* :c:data:`ao_power`
|
||||||
* :c:data:`ao_prim_num`
|
* :c:data:`ao_prim_num`
|
||||||
* :c:data:`ao_prim_num_max`
|
* :c:data:`ao_prim_num_max`
|
||||||
|
* :c:data:`primitives_normalized`
|
||||||
|
|
||||||
Needed by:
|
Needed by:
|
||||||
|
|
||||||
@ -177,10 +179,12 @@ Providers
|
|||||||
|
|
||||||
* :c:data:`ao_coef`
|
* :c:data:`ao_coef`
|
||||||
* :c:data:`ao_expo`
|
* :c:data:`ao_expo`
|
||||||
|
* :c:data:`ao_normalized`
|
||||||
* :c:data:`ao_num`
|
* :c:data:`ao_num`
|
||||||
* :c:data:`ao_power`
|
* :c:data:`ao_power`
|
||||||
* :c:data:`ao_prim_num`
|
* :c:data:`ao_prim_num`
|
||||||
* :c:data:`ao_prim_num_max`
|
* :c:data:`ao_prim_num_max`
|
||||||
|
* :c:data:`primitives_normalized`
|
||||||
|
|
||||||
Needed by:
|
Needed by:
|
||||||
|
|
||||||
@ -261,10 +265,7 @@ Providers
|
|||||||
* :c:data:`ao_pseudo_integrals_local`
|
* :c:data:`ao_pseudo_integrals_local`
|
||||||
* :c:data:`ao_pseudo_integrals_non_local`
|
* :c:data:`ao_pseudo_integrals_non_local`
|
||||||
* :c:data:`ao_spread_x`
|
* :c:data:`ao_spread_x`
|
||||||
* :c:data:`ao_two_e_integral_alpha`
|
|
||||||
* :c:data:`ao_two_e_integral_erf_schwartz`
|
|
||||||
* :c:data:`ao_two_e_integral_schwartz`
|
* :c:data:`ao_two_e_integral_schwartz`
|
||||||
* :c:data:`ao_two_e_integrals_erf_in_map`
|
|
||||||
* :c:data:`ao_two_e_integrals_in_map`
|
* :c:data:`ao_two_e_integrals_in_map`
|
||||||
|
|
||||||
|
|
||||||
@ -363,10 +364,7 @@ Providers
|
|||||||
* :c:data:`ao_pseudo_integrals_local`
|
* :c:data:`ao_pseudo_integrals_local`
|
||||||
* :c:data:`ao_pseudo_integrals_non_local`
|
* :c:data:`ao_pseudo_integrals_non_local`
|
||||||
* :c:data:`ao_spread_x`
|
* :c:data:`ao_spread_x`
|
||||||
* :c:data:`ao_two_e_integral_alpha`
|
|
||||||
* :c:data:`ao_two_e_integral_erf_schwartz`
|
|
||||||
* :c:data:`ao_two_e_integral_schwartz`
|
* :c:data:`ao_two_e_integral_schwartz`
|
||||||
* :c:data:`ao_two_e_integrals_erf_in_map`
|
|
||||||
* :c:data:`ao_two_e_integrals_in_map`
|
* :c:data:`ao_two_e_integrals_in_map`
|
||||||
|
|
||||||
|
|
||||||
@ -853,10 +851,7 @@ Providers
|
|||||||
|
|
||||||
* :c:data:`ao_integrals_n_e`
|
* :c:data:`ao_integrals_n_e`
|
||||||
* :c:data:`ao_integrals_n_e_per_atom`
|
* :c:data:`ao_integrals_n_e_per_atom`
|
||||||
* :c:data:`ao_two_e_integral_alpha`
|
|
||||||
* :c:data:`ao_two_e_integral_erf_schwartz`
|
|
||||||
* :c:data:`ao_two_e_integral_schwartz`
|
* :c:data:`ao_two_e_integral_schwartz`
|
||||||
* :c:data:`ao_two_e_integrals_erf_in_map`
|
|
||||||
* :c:data:`ao_two_e_integrals_in_map`
|
* :c:data:`ao_two_e_integrals_in_map`
|
||||||
* :c:data:`gauleg_t2`
|
* :c:data:`gauleg_t2`
|
||||||
|
|
||||||
@ -888,10 +883,7 @@ Providers
|
|||||||
|
|
||||||
* :c:data:`ao_integrals_n_e`
|
* :c:data:`ao_integrals_n_e`
|
||||||
* :c:data:`ao_integrals_n_e_per_atom`
|
* :c:data:`ao_integrals_n_e_per_atom`
|
||||||
* :c:data:`ao_two_e_integral_alpha`
|
|
||||||
* :c:data:`ao_two_e_integral_erf_schwartz`
|
|
||||||
* :c:data:`ao_two_e_integral_schwartz`
|
* :c:data:`ao_two_e_integral_schwartz`
|
||||||
* :c:data:`ao_two_e_integrals_erf_in_map`
|
|
||||||
* :c:data:`ao_two_e_integrals_in_map`
|
* :c:data:`ao_two_e_integrals_in_map`
|
||||||
* :c:data:`gauleg_t2`
|
* :c:data:`gauleg_t2`
|
||||||
|
|
||||||
@ -1088,10 +1080,10 @@ Subroutines / functions
|
|||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`ao_coef_normalized_ordered_transp`
|
* :c:data:`ao_coef_normalized_ordered_transp`
|
||||||
* :c:data:`ao_power`
|
|
||||||
* :c:data:`ao_expo_ordered_transp`
|
* :c:data:`ao_expo_ordered_transp`
|
||||||
* :c:data:`ao_prim_num`
|
|
||||||
* :c:data:`ao_nucl`
|
* :c:data:`ao_nucl`
|
||||||
|
* :c:data:`ao_power`
|
||||||
|
* :c:data:`ao_prim_num`
|
||||||
* :c:data:`nucl_coord`
|
* :c:data:`nucl_coord`
|
||||||
|
|
||||||
|
|
||||||
@ -1117,14 +1109,14 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`ao_expo_ordered_transp_per_nucl`
|
|
||||||
* :c:data:`ao_power_ordered_transp_per_nucl`
|
|
||||||
* :c:data:`nucl_n_aos`
|
|
||||||
* :c:data:`ao_num`
|
|
||||||
* :c:data:`ao_prim_num`
|
|
||||||
* :c:data:`ao_coef_normalized_ordered_transp_per_nucl`
|
* :c:data:`ao_coef_normalized_ordered_transp_per_nucl`
|
||||||
|
* :c:data:`ao_expo_ordered_transp_per_nucl`
|
||||||
|
* :c:data:`ao_num`
|
||||||
|
* :c:data:`ao_power_ordered_transp_per_nucl`
|
||||||
|
* :c:data:`ao_prim_num`
|
||||||
* :c:data:`nucl_aos_transposed`
|
* :c:data:`nucl_aos_transposed`
|
||||||
* :c:data:`nucl_coord`
|
* :c:data:`nucl_coord`
|
||||||
|
* :c:data:`nucl_n_aos`
|
||||||
* :c:data:`nucl_num`
|
* :c:data:`nucl_num`
|
||||||
|
|
||||||
Called by:
|
Called by:
|
||||||
@ -1158,14 +1150,14 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`ao_expo_ordered_transp_per_nucl`
|
|
||||||
* :c:data:`ao_power_ordered_transp_per_nucl`
|
|
||||||
* :c:data:`nucl_n_aos`
|
|
||||||
* :c:data:`ao_num`
|
|
||||||
* :c:data:`ao_prim_num`
|
|
||||||
* :c:data:`ao_coef_normalized_ordered_transp_per_nucl`
|
* :c:data:`ao_coef_normalized_ordered_transp_per_nucl`
|
||||||
|
* :c:data:`ao_expo_ordered_transp_per_nucl`
|
||||||
|
* :c:data:`ao_num`
|
||||||
|
* :c:data:`ao_power_ordered_transp_per_nucl`
|
||||||
|
* :c:data:`ao_prim_num`
|
||||||
* :c:data:`nucl_aos_transposed`
|
* :c:data:`nucl_aos_transposed`
|
||||||
* :c:data:`nucl_coord`
|
* :c:data:`nucl_coord`
|
||||||
|
* :c:data:`nucl_n_aos`
|
||||||
* :c:data:`nucl_num`
|
* :c:data:`nucl_num`
|
||||||
|
|
||||||
Called by:
|
Called by:
|
||||||
@ -1195,14 +1187,14 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`ao_expo_ordered_transp_per_nucl`
|
|
||||||
* :c:data:`ao_power_ordered_transp_per_nucl`
|
|
||||||
* :c:data:`nucl_n_aos`
|
|
||||||
* :c:data:`ao_num`
|
|
||||||
* :c:data:`ao_prim_num`
|
|
||||||
* :c:data:`ao_coef_normalized_ordered_transp_per_nucl`
|
* :c:data:`ao_coef_normalized_ordered_transp_per_nucl`
|
||||||
|
* :c:data:`ao_expo_ordered_transp_per_nucl`
|
||||||
|
* :c:data:`ao_num`
|
||||||
|
* :c:data:`ao_power_ordered_transp_per_nucl`
|
||||||
|
* :c:data:`ao_prim_num`
|
||||||
* :c:data:`nucl_aos_transposed`
|
* :c:data:`nucl_aos_transposed`
|
||||||
* :c:data:`nucl_coord`
|
* :c:data:`nucl_coord`
|
||||||
|
* :c:data:`nucl_n_aos`
|
||||||
* :c:data:`nucl_num`
|
* :c:data:`nucl_num`
|
||||||
|
|
||||||
Called by:
|
Called by:
|
||||||
@ -1233,6 +1225,6 @@ Subroutines / functions
|
|||||||
|
|
||||||
* :c:data:`ao_expo_ordered_transp`
|
* :c:data:`ao_expo_ordered_transp`
|
||||||
* :c:data:`ao_nucl`
|
* :c:data:`ao_nucl`
|
||||||
* :c:data:`nucl_coord`
|
|
||||||
* :c:data:`ao_power`
|
* :c:data:`ao_power`
|
||||||
|
* :c:data:`nucl_coord`
|
||||||
|
|
||||||
|
@ -12,12 +12,11 @@ All the one-electron integrals in the |AO| basis are here.
|
|||||||
|
|
||||||
The most important providers for usual quantum-chemistry calculation are:
|
The most important providers for usual quantum-chemistry calculation are:
|
||||||
|
|
||||||
* `ao_kinetic_integral` which are the kinetic operator integrals on the |AO| basis (see :file:`kin_ao_ints.irp.f`)
|
* `ao_kinetic_integrals` which are the kinetic operator integrals on the |AO| basis
|
||||||
* `ao_nucl_elec_integral` which are the nuclear-elctron operator integrals on the |AO| basis (see :file:`pot_ao_ints.irp.f`)
|
* `ao_integrals_n_e` which are the nuclear-elctron operator integrals on the |AO| basis
|
||||||
* `ao_one_e_integrals` which are the the h_core operator integrals on the |AO| basis (see :file:`ao_mono_ints.irp.f`)
|
* `ao_one_e_integrals` which are the the h_core operator integrals on the |AO| basis
|
||||||
|
|
||||||
|
|
||||||
Note that you can find other interesting integrals related to the position operator in :file:`spread_dipole_ao.irp.f`.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -144,6 +143,7 @@ Providers
|
|||||||
|
|
||||||
* :c:data:`ao_cart_to_sphe_coef`
|
* :c:data:`ao_cart_to_sphe_coef`
|
||||||
* :c:data:`ao_num`
|
* :c:data:`ao_num`
|
||||||
|
* :c:data:`lin_dep_cutoff`
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -571,6 +571,8 @@ Providers
|
|||||||
|
|
||||||
:math:`\langle \chi_i | -\sum_A \frac{1}{|r-R_A|} | \chi_j \rangle`
|
:math:`\langle \chi_i | -\sum_A \frac{1}{|r-R_A|} | \chi_j \rangle`
|
||||||
|
|
||||||
|
These integrals also contain the pseudopotential integrals.
|
||||||
|
|
||||||
Needs:
|
Needs:
|
||||||
|
|
||||||
.. hlist::
|
.. hlist::
|
||||||
@ -582,11 +584,13 @@ Providers
|
|||||||
* :c:data:`ao_num`
|
* :c:data:`ao_num`
|
||||||
* :c:data:`ao_power`
|
* :c:data:`ao_power`
|
||||||
* :c:data:`ao_prim_num`
|
* :c:data:`ao_prim_num`
|
||||||
|
* :c:data:`ao_pseudo_integrals`
|
||||||
|
* :c:data:`do_pseudo`
|
||||||
* :c:data:`n_pt_max_integrals`
|
* :c:data:`n_pt_max_integrals`
|
||||||
* :c:data:`nucl_charge`
|
* :c:data:`nucl_charge`
|
||||||
* :c:data:`nucl_coord`
|
* :c:data:`nucl_coord`
|
||||||
* :c:data:`nucl_num`
|
* :c:data:`nucl_num`
|
||||||
* :c:data:`read_ao_integrals_e_n`
|
* :c:data:`read_ao_integrals_n_e`
|
||||||
|
|
||||||
Needed by:
|
Needed by:
|
||||||
|
|
||||||
@ -594,11 +598,33 @@ Providers
|
|||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`ao_one_e_integrals`
|
* :c:data:`ao_one_e_integrals`
|
||||||
* :c:data:`ao_ortho_canonical_nucl_elec_integrals`
|
|
||||||
* :c:data:`ao_ortho_lowdin_nucl_elec_integrals`
|
|
||||||
* :c:data:`mo_integrals_n_e`
|
* :c:data:`mo_integrals_n_e`
|
||||||
|
|
||||||
|
|
||||||
|
.. c:var:: ao_integrals_n_e_imag
|
||||||
|
|
||||||
|
|
||||||
|
File : :file:`ao_one_e_ints/pot_ao_ints.irp.f`
|
||||||
|
|
||||||
|
.. code:: fortran
|
||||||
|
|
||||||
|
double precision, allocatable :: ao_integrals_n_e_imag (ao_num,ao_num)
|
||||||
|
|
||||||
|
|
||||||
|
Nucleus-electron interaction, in the |AO| basis set.
|
||||||
|
|
||||||
|
:math:`\langle \chi_i | -\sum_A \frac{1}{|r-R_A|} | \chi_j \rangle`
|
||||||
|
|
||||||
|
Needs:
|
||||||
|
|
||||||
|
.. hlist::
|
||||||
|
:columns: 3
|
||||||
|
|
||||||
|
* :c:data:`ao_num`
|
||||||
|
* :c:data:`read_ao_integrals_n_e`
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.. c:var:: ao_integrals_n_e_per_atom
|
.. c:var:: ao_integrals_n_e_per_atom
|
||||||
|
|
||||||
|
|
||||||
@ -669,6 +695,31 @@ Providers
|
|||||||
* :c:data:`mo_kinetic_integrals`
|
* :c:data:`mo_kinetic_integrals`
|
||||||
|
|
||||||
|
|
||||||
|
.. c:var:: ao_kinetic_integrals_imag
|
||||||
|
|
||||||
|
|
||||||
|
File : :file:`ao_one_e_ints/kin_ao_ints.irp.f`
|
||||||
|
|
||||||
|
.. code:: fortran
|
||||||
|
|
||||||
|
double precision, allocatable :: ao_kinetic_integrals_imag (ao_num,ao_num)
|
||||||
|
|
||||||
|
|
||||||
|
Kinetic energy integrals in the |AO| basis.
|
||||||
|
|
||||||
|
:math:`\langle \chi_i |\hat{T}| \chi_j \rangle`
|
||||||
|
|
||||||
|
|
||||||
|
Needs:
|
||||||
|
|
||||||
|
.. hlist::
|
||||||
|
:columns: 3
|
||||||
|
|
||||||
|
* :c:data:`ao_num`
|
||||||
|
* :c:data:`read_ao_integrals_kinetic`
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.. c:var:: ao_one_e_integrals
|
.. c:var:: ao_one_e_integrals
|
||||||
|
|
||||||
|
|
||||||
@ -690,18 +741,8 @@ Providers
|
|||||||
* :c:data:`ao_integrals_n_e`
|
* :c:data:`ao_integrals_n_e`
|
||||||
* :c:data:`ao_kinetic_integrals`
|
* :c:data:`ao_kinetic_integrals`
|
||||||
* :c:data:`ao_num`
|
* :c:data:`ao_num`
|
||||||
* :c:data:`ao_pseudo_integrals`
|
|
||||||
* :c:data:`do_pseudo`
|
|
||||||
* :c:data:`read_ao_one_e_integrals`
|
* :c:data:`read_ao_one_e_integrals`
|
||||||
|
|
||||||
Needed by:
|
|
||||||
|
|
||||||
.. hlist::
|
|
||||||
:columns: 3
|
|
||||||
|
|
||||||
* :c:data:`fock_matrix_ao_alpha`
|
|
||||||
* :c:data:`hf_energy`
|
|
||||||
* :c:data:`scf_energy`
|
|
||||||
|
|
||||||
|
|
||||||
.. c:var:: ao_one_e_integrals_diag
|
.. c:var:: ao_one_e_integrals_diag
|
||||||
@ -725,18 +766,30 @@ Providers
|
|||||||
* :c:data:`ao_integrals_n_e`
|
* :c:data:`ao_integrals_n_e`
|
||||||
* :c:data:`ao_kinetic_integrals`
|
* :c:data:`ao_kinetic_integrals`
|
||||||
* :c:data:`ao_num`
|
* :c:data:`ao_num`
|
||||||
* :c:data:`ao_pseudo_integrals`
|
|
||||||
* :c:data:`do_pseudo`
|
|
||||||
* :c:data:`read_ao_one_e_integrals`
|
* :c:data:`read_ao_one_e_integrals`
|
||||||
|
|
||||||
Needed by:
|
|
||||||
|
|
||||||
|
.. c:var:: ao_one_e_integrals_imag
|
||||||
|
|
||||||
|
|
||||||
|
File : :file:`ao_one_e_ints/ao_one_e_ints.irp.f`
|
||||||
|
|
||||||
|
.. code:: fortran
|
||||||
|
|
||||||
|
double precision, allocatable :: ao_one_e_integrals_imag (ao_num,ao_num)
|
||||||
|
|
||||||
|
|
||||||
|
One-electron Hamiltonian in the |AO| basis.
|
||||||
|
|
||||||
|
Needs:
|
||||||
|
|
||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`fock_matrix_ao_alpha`
|
* :c:data:`ao_num`
|
||||||
* :c:data:`hf_energy`
|
* :c:data:`read_ao_one_e_integrals`
|
||||||
* :c:data:`scf_energy`
|
|
||||||
|
|
||||||
|
|
||||||
.. c:var:: ao_ortho_canonical_coef
|
.. c:var:: ao_ortho_canonical_coef
|
||||||
@ -764,6 +817,8 @@ Providers
|
|||||||
* :c:data:`ao_cartesian`
|
* :c:data:`ao_cartesian`
|
||||||
* :c:data:`ao_num`
|
* :c:data:`ao_num`
|
||||||
* :c:data:`ao_overlap`
|
* :c:data:`ao_overlap`
|
||||||
|
* :c:data:`lin_dep_cutoff`
|
||||||
|
* :c:data:`mpi_master`
|
||||||
|
|
||||||
Needed by:
|
Needed by:
|
||||||
|
|
||||||
@ -771,7 +826,6 @@ Providers
|
|||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`ao_ortho_canonical_coef_inv`
|
* :c:data:`ao_ortho_canonical_coef_inv`
|
||||||
* :c:data:`ao_ortho_canonical_nucl_elec_integrals`
|
|
||||||
* :c:data:`ao_ortho_canonical_overlap`
|
* :c:data:`ao_ortho_canonical_overlap`
|
||||||
* :c:data:`mo_coef`
|
* :c:data:`mo_coef`
|
||||||
* :c:data:`mo_num`
|
* :c:data:`mo_num`
|
||||||
@ -830,6 +884,8 @@ Providers
|
|||||||
* :c:data:`ao_cartesian`
|
* :c:data:`ao_cartesian`
|
||||||
* :c:data:`ao_num`
|
* :c:data:`ao_num`
|
||||||
* :c:data:`ao_overlap`
|
* :c:data:`ao_overlap`
|
||||||
|
* :c:data:`lin_dep_cutoff`
|
||||||
|
* :c:data:`mpi_master`
|
||||||
|
|
||||||
Needed by:
|
Needed by:
|
||||||
|
|
||||||
@ -837,7 +893,6 @@ Providers
|
|||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`ao_ortho_canonical_coef_inv`
|
* :c:data:`ao_ortho_canonical_coef_inv`
|
||||||
* :c:data:`ao_ortho_canonical_nucl_elec_integrals`
|
|
||||||
* :c:data:`ao_ortho_canonical_overlap`
|
* :c:data:`ao_ortho_canonical_overlap`
|
||||||
* :c:data:`mo_coef`
|
* :c:data:`mo_coef`
|
||||||
* :c:data:`mo_num`
|
* :c:data:`mo_num`
|
||||||
@ -906,9 +961,7 @@ Providers
|
|||||||
* :c:data:`ao_cart_to_sphe_overlap`
|
* :c:data:`ao_cart_to_sphe_overlap`
|
||||||
* :c:data:`ao_ortho_canonical_coef`
|
* :c:data:`ao_ortho_canonical_coef`
|
||||||
* :c:data:`ao_ortho_canonical_overlap`
|
* :c:data:`ao_ortho_canonical_overlap`
|
||||||
* :c:data:`ao_ortho_lowdin_coef`
|
* :c:data:`ao_overlap_complex`
|
||||||
* :c:data:`ao_ortho_lowdin_overlap`
|
|
||||||
* :c:data:`fps_spf_matrix_ao`
|
|
||||||
* :c:data:`mo_overlap`
|
* :c:data:`mo_overlap`
|
||||||
* :c:data:`s_half`
|
* :c:data:`s_half`
|
||||||
* :c:data:`s_half_inv`
|
* :c:data:`s_half_inv`
|
||||||
@ -939,19 +992,69 @@ Providers
|
|||||||
* :c:data:`ao_expo_ordered_transp`
|
* :c:data:`ao_expo_ordered_transp`
|
||||||
* :c:data:`ao_nucl`
|
* :c:data:`ao_nucl`
|
||||||
* :c:data:`ao_num`
|
* :c:data:`ao_num`
|
||||||
|
* :c:data:`ao_overlap_complex`
|
||||||
* :c:data:`ao_power`
|
* :c:data:`ao_power`
|
||||||
* :c:data:`ao_prim_num`
|
* :c:data:`ao_prim_num`
|
||||||
|
* :c:data:`is_periodic`
|
||||||
* :c:data:`nucl_coord`
|
* :c:data:`nucl_coord`
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
.. c:var:: ao_overlap_complex
|
||||||
|
|
||||||
|
|
||||||
|
File : :file:`ao_one_e_ints/ao_overlap.irp.f`
|
||||||
|
|
||||||
|
.. code:: fortran
|
||||||
|
|
||||||
|
complex*16, allocatable :: ao_overlap_complex (ao_num,ao_num)
|
||||||
|
|
||||||
|
|
||||||
|
Overlap for complex AOs
|
||||||
|
|
||||||
|
Needs:
|
||||||
|
|
||||||
|
.. hlist::
|
||||||
|
:columns: 3
|
||||||
|
|
||||||
|
* :c:data:`ao_num`
|
||||||
|
* :c:data:`ao_overlap`
|
||||||
|
* :c:data:`ao_overlap_imag`
|
||||||
|
|
||||||
Needed by:
|
Needed by:
|
||||||
|
|
||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`ao_two_e_integral_alpha`
|
* :c:data:`ao_overlap_abs`
|
||||||
* :c:data:`mo_two_e_int_erf_jj_from_ao`
|
* :c:data:`s_inv_complex`
|
||||||
* :c:data:`mo_two_e_integral_jj_from_ao`
|
|
||||||
* :c:data:`mo_two_e_integrals_vv_from_ao`
|
|
||||||
|
.. c:var:: ao_overlap_imag
|
||||||
|
|
||||||
|
|
||||||
|
File : :file:`ao_one_e_ints/ao_overlap.irp.f`
|
||||||
|
|
||||||
|
.. code:: fortran
|
||||||
|
|
||||||
|
double precision, allocatable :: ao_overlap_imag (ao_num,ao_num)
|
||||||
|
|
||||||
|
|
||||||
|
Imaginary part of the overlap
|
||||||
|
|
||||||
|
Needs:
|
||||||
|
|
||||||
|
.. hlist::
|
||||||
|
:columns: 3
|
||||||
|
|
||||||
|
* :c:data:`ao_num`
|
||||||
|
|
||||||
|
Needed by:
|
||||||
|
|
||||||
|
.. hlist::
|
||||||
|
:columns: 3
|
||||||
|
|
||||||
|
* :c:data:`ao_overlap_complex`
|
||||||
|
|
||||||
|
|
||||||
.. c:var:: ao_overlap_x
|
.. c:var:: ao_overlap_x
|
||||||
@ -993,9 +1096,7 @@ Providers
|
|||||||
* :c:data:`ao_cart_to_sphe_overlap`
|
* :c:data:`ao_cart_to_sphe_overlap`
|
||||||
* :c:data:`ao_ortho_canonical_coef`
|
* :c:data:`ao_ortho_canonical_coef`
|
||||||
* :c:data:`ao_ortho_canonical_overlap`
|
* :c:data:`ao_ortho_canonical_overlap`
|
||||||
* :c:data:`ao_ortho_lowdin_coef`
|
* :c:data:`ao_overlap_complex`
|
||||||
* :c:data:`ao_ortho_lowdin_overlap`
|
|
||||||
* :c:data:`fps_spf_matrix_ao`
|
|
||||||
* :c:data:`mo_overlap`
|
* :c:data:`mo_overlap`
|
||||||
* :c:data:`s_half`
|
* :c:data:`s_half`
|
||||||
* :c:data:`s_half_inv`
|
* :c:data:`s_half_inv`
|
||||||
@ -1042,9 +1143,7 @@ Providers
|
|||||||
* :c:data:`ao_cart_to_sphe_overlap`
|
* :c:data:`ao_cart_to_sphe_overlap`
|
||||||
* :c:data:`ao_ortho_canonical_coef`
|
* :c:data:`ao_ortho_canonical_coef`
|
||||||
* :c:data:`ao_ortho_canonical_overlap`
|
* :c:data:`ao_ortho_canonical_overlap`
|
||||||
* :c:data:`ao_ortho_lowdin_coef`
|
* :c:data:`ao_overlap_complex`
|
||||||
* :c:data:`ao_ortho_lowdin_overlap`
|
|
||||||
* :c:data:`fps_spf_matrix_ao`
|
|
||||||
* :c:data:`mo_overlap`
|
* :c:data:`mo_overlap`
|
||||||
* :c:data:`s_half`
|
* :c:data:`s_half`
|
||||||
* :c:data:`s_half_inv`
|
* :c:data:`s_half_inv`
|
||||||
@ -1091,9 +1190,7 @@ Providers
|
|||||||
* :c:data:`ao_cart_to_sphe_overlap`
|
* :c:data:`ao_cart_to_sphe_overlap`
|
||||||
* :c:data:`ao_ortho_canonical_coef`
|
* :c:data:`ao_ortho_canonical_coef`
|
||||||
* :c:data:`ao_ortho_canonical_overlap`
|
* :c:data:`ao_ortho_canonical_overlap`
|
||||||
* :c:data:`ao_ortho_lowdin_coef`
|
* :c:data:`ao_overlap_complex`
|
||||||
* :c:data:`ao_ortho_lowdin_overlap`
|
|
||||||
* :c:data:`fps_spf_matrix_ao`
|
|
||||||
* :c:data:`mo_overlap`
|
* :c:data:`mo_overlap`
|
||||||
* :c:data:`s_half`
|
* :c:data:`s_half`
|
||||||
* :c:data:`s_half_inv`
|
* :c:data:`s_half_inv`
|
||||||
@ -1131,7 +1228,7 @@ Providers
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`ao_one_e_integrals`
|
* :c:data:`ao_integrals_n_e`
|
||||||
* :c:data:`mo_pseudo_integrals`
|
* :c:data:`mo_pseudo_integrals`
|
||||||
|
|
||||||
|
|
||||||
@ -1688,12 +1785,6 @@ Providers
|
|||||||
* :c:data:`ao_num`
|
* :c:data:`ao_num`
|
||||||
* :c:data:`ao_overlap`
|
* :c:data:`ao_overlap`
|
||||||
|
|
||||||
Needed by:
|
|
||||||
|
|
||||||
.. hlist::
|
|
||||||
:columns: 3
|
|
||||||
|
|
||||||
* :c:data:`eigenvalues_fock_matrix_ao`
|
|
||||||
|
|
||||||
|
|
||||||
.. c:var:: s_inv
|
.. c:var:: s_inv
|
||||||
@ -1715,6 +1806,30 @@ Providers
|
|||||||
|
|
||||||
* :c:data:`ao_num`
|
* :c:data:`ao_num`
|
||||||
* :c:data:`ao_overlap`
|
* :c:data:`ao_overlap`
|
||||||
|
* :c:data:`lin_dep_cutoff`
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
.. c:var:: s_inv_complex
|
||||||
|
|
||||||
|
|
||||||
|
File : :file:`ao_one_e_ints/ao_overlap.irp.f`
|
||||||
|
|
||||||
|
.. code:: fortran
|
||||||
|
|
||||||
|
complex*16, allocatable :: s_inv_complex (ao_num,ao_num)
|
||||||
|
|
||||||
|
|
||||||
|
Inverse of the overlap matrix
|
||||||
|
|
||||||
|
Needs:
|
||||||
|
|
||||||
|
.. hlist::
|
||||||
|
:columns: 3
|
||||||
|
|
||||||
|
* :c:data:`ao_num`
|
||||||
|
* :c:data:`ao_overlap_complex`
|
||||||
|
* :c:data:`lin_dep_cutoff`
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -1722,6 +1837,28 @@ Providers
|
|||||||
Subroutines / functions
|
Subroutines / functions
|
||||||
-----------------------
|
-----------------------
|
||||||
|
|
||||||
|
.. c:function:: ao_one_e_integral_zero:
|
||||||
|
|
||||||
|
|
||||||
|
File : :file:`ao_one_e_ints/screening.irp.f`
|
||||||
|
|
||||||
|
.. code:: fortran
|
||||||
|
|
||||||
|
logical function ao_one_e_integral_zero(i,k)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Needs:
|
||||||
|
|
||||||
|
.. hlist::
|
||||||
|
:columns: 3
|
||||||
|
|
||||||
|
* :c:data:`ao_integrals_threshold`
|
||||||
|
* :c:data:`ao_overlap_abs`
|
||||||
|
* :c:data:`io_ao_integrals_overlap`
|
||||||
|
* :c:data:`is_periodic`
|
||||||
|
|
||||||
|
|
||||||
.. c:function:: give_all_erf_kl_ao:
|
.. c:function:: give_all_erf_kl_ao:
|
||||||
|
|
||||||
|
|
||||||
@ -1854,12 +1991,12 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`n_pt_max_integrals`
|
|
||||||
* :c:data:`ao_coef_normalized_ordered_transp`
|
* :c:data:`ao_coef_normalized_ordered_transp`
|
||||||
* :c:data:`ao_power`
|
|
||||||
* :c:data:`ao_expo_ordered_transp`
|
* :c:data:`ao_expo_ordered_transp`
|
||||||
* :c:data:`ao_prim_num`
|
|
||||||
* :c:data:`ao_nucl`
|
* :c:data:`ao_nucl`
|
||||||
|
* :c:data:`ao_power`
|
||||||
|
* :c:data:`ao_prim_num`
|
||||||
|
* :c:data:`n_pt_max_integrals`
|
||||||
* :c:data:`nucl_coord`
|
* :c:data:`nucl_coord`
|
||||||
|
|
||||||
|
|
||||||
@ -1949,14 +2086,14 @@ Subroutines / functions
|
|||||||
* :c:func:`overlap_bourrin_deriv_x`
|
* :c:func:`overlap_bourrin_deriv_x`
|
||||||
|
|
||||||
|
|
||||||
.. c:function:: v_e_n:
|
.. c:function:: v_n_e:
|
||||||
|
|
||||||
|
|
||||||
File : :file:`ao_one_e_ints/pot_ao_ints.irp.f`
|
File : :file:`ao_one_e_ints/pot_ao_ints.irp.f`
|
||||||
|
|
||||||
.. code:: fortran
|
.. code:: fortran
|
||||||
|
|
||||||
double precision function V_e_n(a_x,a_y,a_z,b_x,b_y,b_z,alpha,beta)
|
double precision function V_n_e(a_x,a_y,a_z,b_x,b_y,b_z,alpha,beta)
|
||||||
|
|
||||||
|
|
||||||
Primitve nuclear attraction between the two primitves centered on the same atom.
|
Primitve nuclear attraction between the two primitves centered on the same atom.
|
||||||
|
@ -287,13 +287,13 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`n_pt_max_integrals`
|
|
||||||
* :c:data:`ao_coef_normalized_ordered_transp`
|
* :c:data:`ao_coef_normalized_ordered_transp`
|
||||||
* :c:data:`ao_power`
|
|
||||||
* :c:data:`ao_expo_ordered_transp`
|
* :c:data:`ao_expo_ordered_transp`
|
||||||
|
* :c:data:`ao_nucl`
|
||||||
|
* :c:data:`ao_power`
|
||||||
* :c:data:`ao_prim_num`
|
* :c:data:`ao_prim_num`
|
||||||
* :c:data:`mu_erf`
|
* :c:data:`mu_erf`
|
||||||
* :c:data:`ao_nucl`
|
* :c:data:`n_pt_max_integrals`
|
||||||
* :c:data:`nucl_coord`
|
* :c:data:`nucl_coord`
|
||||||
|
|
||||||
Calls:
|
Calls:
|
||||||
@ -322,13 +322,13 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`n_pt_max_integrals`
|
|
||||||
* :c:data:`ao_integrals_threshold`
|
|
||||||
* :c:data:`ao_coef_normalized_ordered_transp`
|
* :c:data:`ao_coef_normalized_ordered_transp`
|
||||||
* :c:data:`ao_power`
|
|
||||||
* :c:data:`ao_expo_ordered_transp`
|
* :c:data:`ao_expo_ordered_transp`
|
||||||
* :c:data:`ao_prim_num`
|
* :c:data:`ao_integrals_threshold`
|
||||||
* :c:data:`ao_nucl`
|
* :c:data:`ao_nucl`
|
||||||
|
* :c:data:`ao_power`
|
||||||
|
* :c:data:`ao_prim_num`
|
||||||
|
* :c:data:`n_pt_max_integrals`
|
||||||
* :c:data:`nucl_coord`
|
* :c:data:`nucl_coord`
|
||||||
|
|
||||||
Calls:
|
Calls:
|
||||||
@ -504,9 +504,8 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`ao_overlap_abs`
|
|
||||||
* :c:data:`ao_num`
|
|
||||||
* :c:data:`ao_integrals_threshold`
|
* :c:data:`ao_integrals_threshold`
|
||||||
|
* :c:data:`ao_num`
|
||||||
* :c:data:`ao_two_e_integral_erf_schwartz`
|
* :c:data:`ao_two_e_integral_erf_schwartz`
|
||||||
|
|
||||||
Called by:
|
Called by:
|
||||||
@ -541,7 +540,6 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`ao_overlap_abs`
|
|
||||||
* :c:data:`ao_num`
|
* :c:data:`ao_num`
|
||||||
* :c:data:`ao_two_e_integral_erf_schwartz`
|
* :c:data:`ao_two_e_integral_erf_schwartz`
|
||||||
|
|
||||||
@ -650,10 +648,9 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`ao_integrals_erf_cache_min`
|
|
||||||
* :c:data:`ao_overlap_abs`
|
|
||||||
* :c:data:`ao_integrals_threshold`
|
|
||||||
* :c:data:`ao_integrals_erf_cache`
|
* :c:data:`ao_integrals_erf_cache`
|
||||||
|
* :c:data:`ao_integrals_erf_cache_min`
|
||||||
|
* :c:data:`ao_integrals_threshold`
|
||||||
* :c:data:`ao_two_e_integral_erf_schwartz`
|
* :c:data:`ao_two_e_integral_erf_schwartz`
|
||||||
* :c:data:`ao_two_e_integrals_erf_in_map`
|
* :c:data:`ao_two_e_integrals_erf_in_map`
|
||||||
|
|
||||||
@ -685,7 +682,6 @@ Subroutines / functions
|
|||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`ao_integrals_erf_map`
|
* :c:data:`ao_integrals_erf_map`
|
||||||
* :c:data:`ao_overlap_abs`
|
|
||||||
* :c:data:`ao_integrals_threshold`
|
* :c:data:`ao_integrals_threshold`
|
||||||
* :c:data:`ao_two_e_integrals_erf_in_map`
|
* :c:data:`ao_two_e_integrals_erf_in_map`
|
||||||
|
|
||||||
@ -716,7 +712,6 @@ Subroutines / functions
|
|||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`ao_integrals_erf_map`
|
* :c:data:`ao_integrals_erf_map`
|
||||||
* :c:data:`ao_overlap_abs`
|
|
||||||
* :c:data:`ao_integrals_threshold`
|
* :c:data:`ao_integrals_threshold`
|
||||||
* :c:data:`ao_two_e_integral_erf_schwartz`
|
* :c:data:`ao_two_e_integral_erf_schwartz`
|
||||||
* :c:data:`ao_two_e_integrals_erf_in_map`
|
* :c:data:`ao_two_e_integrals_erf_in_map`
|
||||||
@ -792,9 +787,9 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
|
* :c:data:`gauleg_t2`
|
||||||
* :c:data:`mu_erf`
|
* :c:data:`mu_erf`
|
||||||
* :c:data:`n_pt_max_integrals`
|
* :c:data:`n_pt_max_integrals`
|
||||||
* :c:data:`gauleg_t2`
|
|
||||||
|
|
||||||
Called by:
|
Called by:
|
||||||
|
|
||||||
@ -857,8 +852,8 @@ Subroutines / functions
|
|||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`ao_integrals_erf_map`
|
* :c:data:`ao_integrals_erf_map`
|
||||||
* :c:data:`ezfio_filename`
|
|
||||||
* :c:data:`ao_two_e_integrals_erf_in_map`
|
* :c:data:`ao_two_e_integrals_erf_in_map`
|
||||||
|
* :c:data:`ezfio_filename`
|
||||||
|
|
||||||
Called by:
|
Called by:
|
||||||
|
|
||||||
@ -894,8 +889,8 @@ Subroutines / functions
|
|||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`ao_integrals_erf_map`
|
* :c:data:`ao_integrals_erf_map`
|
||||||
* :c:data:`ezfio_filename`
|
|
||||||
* :c:data:`ao_two_e_integrals_erf_in_map`
|
* :c:data:`ao_two_e_integrals_erf_in_map`
|
||||||
|
* :c:data:`ezfio_filename`
|
||||||
|
|
||||||
Calls:
|
Calls:
|
||||||
|
|
||||||
|
@ -98,6 +98,7 @@ Providers
|
|||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`ao_integrals_cache`
|
* :c:data:`ao_integrals_cache`
|
||||||
|
* :c:data:`ao_integrals_cache_periodic`
|
||||||
|
|
||||||
|
|
||||||
.. c:var:: ao_integrals_cache_min
|
.. c:var:: ao_integrals_cache_min
|
||||||
@ -126,6 +127,30 @@ Providers
|
|||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`ao_integrals_cache`
|
* :c:data:`ao_integrals_cache`
|
||||||
|
* :c:data:`ao_integrals_cache_periodic`
|
||||||
|
|
||||||
|
|
||||||
|
.. c:var:: ao_integrals_cache_periodic
|
||||||
|
|
||||||
|
|
||||||
|
File : :file:`ao_two_e_ints/map_integrals.irp.f`
|
||||||
|
|
||||||
|
.. code:: fortran
|
||||||
|
|
||||||
|
complex*16, allocatable :: ao_integrals_cache_periodic (0:64*64*64*64)
|
||||||
|
|
||||||
|
|
||||||
|
Cache of AO integrals for fast access
|
||||||
|
|
||||||
|
Needs:
|
||||||
|
|
||||||
|
.. hlist::
|
||||||
|
:columns: 3
|
||||||
|
|
||||||
|
* :c:data:`ao_integrals_cache_min`
|
||||||
|
* :c:data:`ao_integrals_map`
|
||||||
|
* :c:data:`ao_two_e_integrals_in_map`
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.. c:var:: ao_integrals_map
|
.. c:var:: ao_integrals_map
|
||||||
@ -153,9 +178,10 @@ Providers
|
|||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`ao_integrals_cache`
|
* :c:data:`ao_integrals_cache`
|
||||||
* :c:data:`ao_two_e_integral_alpha`
|
* :c:data:`ao_integrals_cache_periodic`
|
||||||
* :c:data:`ao_two_e_integrals_in_map`
|
* :c:data:`ao_two_e_integrals_in_map`
|
||||||
* :c:data:`mo_two_e_integral_jj_from_ao`
|
* :c:data:`mo_two_e_integral_jj_from_ao`
|
||||||
|
* :c:data:`mo_two_e_integrals_in_map`
|
||||||
* :c:data:`mo_two_e_integrals_vv_from_ao`
|
* :c:data:`mo_two_e_integrals_vv_from_ao`
|
||||||
|
|
||||||
|
|
||||||
@ -185,14 +211,6 @@ Providers
|
|||||||
* :c:data:`n_pt_max_integrals`
|
* :c:data:`n_pt_max_integrals`
|
||||||
* :c:data:`nucl_coord`
|
* :c:data:`nucl_coord`
|
||||||
|
|
||||||
Needed by:
|
|
||||||
|
|
||||||
.. hlist::
|
|
||||||
:columns: 3
|
|
||||||
|
|
||||||
* :c:data:`ao_two_e_integral_alpha`
|
|
||||||
* :c:data:`mo_two_e_integral_jj_from_ao`
|
|
||||||
* :c:data:`mo_two_e_integrals_vv_from_ao`
|
|
||||||
|
|
||||||
|
|
||||||
.. c:var:: ao_two_e_integrals_in_map
|
.. c:var:: ao_two_e_integrals_in_map
|
||||||
@ -237,9 +255,8 @@ Providers
|
|||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`ao_integrals_cache`
|
* :c:data:`ao_integrals_cache`
|
||||||
* :c:data:`ao_two_e_integral_alpha`
|
* :c:data:`ao_integrals_cache_periodic`
|
||||||
* :c:data:`mo_two_e_integral_jj_from_ao`
|
* :c:data:`mo_two_e_integral_jj_from_ao`
|
||||||
* :c:data:`mo_two_e_integrals_erf_in_map`
|
|
||||||
* :c:data:`mo_two_e_integrals_in_map`
|
* :c:data:`mo_two_e_integrals_in_map`
|
||||||
* :c:data:`mo_two_e_integrals_vv_from_ao`
|
* :c:data:`mo_two_e_integrals_vv_from_ao`
|
||||||
|
|
||||||
@ -341,7 +358,6 @@ Providers
|
|||||||
* :c:func:`i_x1_new`
|
* :c:func:`i_x1_new`
|
||||||
* :c:func:`i_x2_new`
|
* :c:func:`i_x2_new`
|
||||||
* :c:func:`integrale_new`
|
* :c:func:`integrale_new`
|
||||||
* :c:func:`integrale_new_erf`
|
|
||||||
|
|
||||||
Calls:
|
Calls:
|
||||||
|
|
||||||
@ -512,6 +528,84 @@ Providers
|
|||||||
Subroutines / functions
|
Subroutines / functions
|
||||||
-----------------------
|
-----------------------
|
||||||
|
|
||||||
|
.. c:function:: ao_idx2_sq:
|
||||||
|
|
||||||
|
|
||||||
|
File : :file:`ao_two_e_ints/map_integrals.irp.f`
|
||||||
|
|
||||||
|
.. code:: fortran
|
||||||
|
|
||||||
|
subroutine ao_idx2_sq(i,j,ij)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Called by:
|
||||||
|
|
||||||
|
.. hlist::
|
||||||
|
:columns: 3
|
||||||
|
|
||||||
|
* :c:func:`two_e_integrals_index_2fold`
|
||||||
|
|
||||||
|
|
||||||
|
.. c:function:: ao_idx2_sq_rev:
|
||||||
|
|
||||||
|
|
||||||
|
File : :file:`ao_two_e_ints/map_integrals.irp.f`
|
||||||
|
|
||||||
|
.. code:: fortran
|
||||||
|
|
||||||
|
subroutine ao_idx2_sq_rev(i,k,ik)
|
||||||
|
|
||||||
|
|
||||||
|
reverse square compound index
|
||||||
|
|
||||||
|
Called by:
|
||||||
|
|
||||||
|
.. hlist::
|
||||||
|
:columns: 3
|
||||||
|
|
||||||
|
* :c:func:`two_e_integrals_index_reverse_2fold`
|
||||||
|
|
||||||
|
|
||||||
|
.. c:function:: ao_idx2_tri_key:
|
||||||
|
|
||||||
|
|
||||||
|
File : :file:`ao_two_e_ints/map_integrals.irp.f`
|
||||||
|
|
||||||
|
.. code:: fortran
|
||||||
|
|
||||||
|
subroutine ao_idx2_tri_key(i,j,ij)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Called by:
|
||||||
|
|
||||||
|
.. hlist::
|
||||||
|
:columns: 3
|
||||||
|
|
||||||
|
* :c:func:`two_e_integrals_index_2fold`
|
||||||
|
|
||||||
|
|
||||||
|
.. c:function:: ao_idx2_tri_rev_key:
|
||||||
|
|
||||||
|
|
||||||
|
File : :file:`ao_two_e_ints/map_integrals.irp.f`
|
||||||
|
|
||||||
|
.. code:: fortran
|
||||||
|
|
||||||
|
subroutine ao_idx2_tri_rev_key(i,k,ik)
|
||||||
|
|
||||||
|
|
||||||
|
return i<=k
|
||||||
|
|
||||||
|
Called by:
|
||||||
|
|
||||||
|
.. hlist::
|
||||||
|
:columns: 3
|
||||||
|
|
||||||
|
* :c:func:`two_e_integrals_index_reverse_2fold`
|
||||||
|
|
||||||
|
|
||||||
.. c:function:: ao_l4:
|
.. c:function:: ao_l4:
|
||||||
|
|
||||||
|
|
||||||
@ -550,12 +644,12 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`n_pt_max_integrals`
|
|
||||||
* :c:data:`ao_coef_normalized_ordered_transp`
|
* :c:data:`ao_coef_normalized_ordered_transp`
|
||||||
* :c:data:`ao_power`
|
|
||||||
* :c:data:`ao_expo_ordered_transp`
|
* :c:data:`ao_expo_ordered_transp`
|
||||||
* :c:data:`ao_prim_num`
|
|
||||||
* :c:data:`ao_nucl`
|
* :c:data:`ao_nucl`
|
||||||
|
* :c:data:`ao_power`
|
||||||
|
* :c:data:`ao_prim_num`
|
||||||
|
* :c:data:`n_pt_max_integrals`
|
||||||
* :c:data:`nucl_coord`
|
* :c:data:`nucl_coord`
|
||||||
|
|
||||||
Calls:
|
Calls:
|
||||||
@ -584,13 +678,13 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`n_pt_max_integrals`
|
|
||||||
* :c:data:`ao_integrals_threshold`
|
|
||||||
* :c:data:`ao_coef_normalized_ordered_transp`
|
* :c:data:`ao_coef_normalized_ordered_transp`
|
||||||
* :c:data:`ao_power`
|
|
||||||
* :c:data:`ao_expo_ordered_transp`
|
* :c:data:`ao_expo_ordered_transp`
|
||||||
* :c:data:`ao_prim_num`
|
* :c:data:`ao_integrals_threshold`
|
||||||
* :c:data:`ao_nucl`
|
* :c:data:`ao_nucl`
|
||||||
|
* :c:data:`ao_power`
|
||||||
|
* :c:data:`ao_prim_num`
|
||||||
|
* :c:data:`n_pt_max_integrals`
|
||||||
* :c:data:`nucl_coord`
|
* :c:data:`nucl_coord`
|
||||||
|
|
||||||
Calls:
|
Calls:
|
||||||
@ -601,6 +695,29 @@ Subroutines / functions
|
|||||||
* :c:func:`give_explicit_poly_and_gaussian`
|
* :c:func:`give_explicit_poly_and_gaussian`
|
||||||
|
|
||||||
|
|
||||||
|
.. c:function:: ao_two_e_integral_zero:
|
||||||
|
|
||||||
|
|
||||||
|
File : :file:`ao_two_e_ints/screening.irp.f`
|
||||||
|
|
||||||
|
.. code:: fortran
|
||||||
|
|
||||||
|
logical function ao_two_e_integral_zero(i,j,k,l)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Needs:
|
||||||
|
|
||||||
|
.. hlist::
|
||||||
|
:columns: 3
|
||||||
|
|
||||||
|
* :c:data:`ao_integrals_threshold`
|
||||||
|
* :c:data:`ao_overlap_abs`
|
||||||
|
* :c:data:`ao_two_e_integral_schwartz`
|
||||||
|
* :c:data:`is_periodic`
|
||||||
|
* :c:data:`read_ao_two_e_integrals`
|
||||||
|
|
||||||
|
|
||||||
.. c:function:: ao_two_e_integrals_in_map_collector:
|
.. c:function:: ao_two_e_integrals_in_map_collector:
|
||||||
|
|
||||||
|
|
||||||
@ -766,10 +883,8 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`ao_overlap_abs`
|
|
||||||
* :c:data:`ao_num`
|
|
||||||
* :c:data:`ao_integrals_threshold`
|
* :c:data:`ao_integrals_threshold`
|
||||||
* :c:data:`ao_two_e_integral_schwartz`
|
* :c:data:`ao_num`
|
||||||
|
|
||||||
Called by:
|
Called by:
|
||||||
|
|
||||||
@ -803,9 +918,7 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`ao_overlap_abs`
|
|
||||||
* :c:data:`ao_num`
|
* :c:data:`ao_num`
|
||||||
* :c:data:`ao_two_e_integral_schwartz`
|
|
||||||
|
|
||||||
Called by:
|
Called by:
|
||||||
|
|
||||||
@ -816,34 +929,6 @@ Subroutines / functions
|
|||||||
* :c:data:`mo_two_e_integrals_vv_from_ao`
|
* :c:data:`mo_two_e_integrals_vv_from_ao`
|
||||||
|
|
||||||
|
|
||||||
.. c:function:: dump_ao_integrals:
|
|
||||||
|
|
||||||
|
|
||||||
File : :file:`ao_two_e_ints/map_integrals.irp.f`
|
|
||||||
|
|
||||||
.. code:: fortran
|
|
||||||
|
|
||||||
subroutine dump_ao_integrals(filename)
|
|
||||||
|
|
||||||
|
|
||||||
Save to disk the |AO| integrals
|
|
||||||
|
|
||||||
Needs:
|
|
||||||
|
|
||||||
.. hlist::
|
|
||||||
:columns: 3
|
|
||||||
|
|
||||||
* :c:data:`ao_integrals_map`
|
|
||||||
* :c:data:`mpi_master`
|
|
||||||
|
|
||||||
Calls:
|
|
||||||
|
|
||||||
.. hlist::
|
|
||||||
:columns: 3
|
|
||||||
|
|
||||||
* :c:func:`ezfio_set_work_empty`
|
|
||||||
|
|
||||||
|
|
||||||
.. c:function:: eri:
|
.. c:function:: eri:
|
||||||
|
|
||||||
|
|
||||||
@ -925,9 +1010,6 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`ao_overlap_abs`
|
|
||||||
* :c:data:`ao_integrals_threshold`
|
|
||||||
* :c:data:`ao_two_e_integral_schwartz`
|
|
||||||
* :c:data:`ao_integrals_cache`
|
* :c:data:`ao_integrals_cache`
|
||||||
* :c:data:`ao_integrals_cache_min`
|
* :c:data:`ao_integrals_cache_min`
|
||||||
* :c:data:`ao_two_e_integrals_in_map`
|
* :c:data:`ao_two_e_integrals_in_map`
|
||||||
@ -941,6 +1023,37 @@ Subroutines / functions
|
|||||||
* :c:func:`two_e_integrals_index`
|
* :c:func:`two_e_integrals_index`
|
||||||
|
|
||||||
|
|
||||||
|
.. c:function:: get_ao_two_e_integral_periodic:
|
||||||
|
|
||||||
|
|
||||||
|
File : :file:`ao_two_e_ints/map_integrals.irp.f`
|
||||||
|
|
||||||
|
.. code:: fortran
|
||||||
|
|
||||||
|
complex*16 function get_ao_two_e_integral_periodic(i,j,k,l,map) result(result)
|
||||||
|
|
||||||
|
|
||||||
|
Gets one AO bi-electronic integral from the AO map
|
||||||
|
|
||||||
|
Needs:
|
||||||
|
|
||||||
|
.. hlist::
|
||||||
|
:columns: 3
|
||||||
|
|
||||||
|
* :c:data:`ao_integrals_cache_min`
|
||||||
|
* :c:data:`ao_integrals_cache_periodic`
|
||||||
|
* :c:data:`ao_integrals_map`
|
||||||
|
* :c:data:`ao_two_e_integrals_in_map`
|
||||||
|
|
||||||
|
Calls:
|
||||||
|
|
||||||
|
.. hlist::
|
||||||
|
:columns: 3
|
||||||
|
|
||||||
|
* :c:func:`map_get`
|
||||||
|
* :c:func:`two_e_integrals_index_2fold`
|
||||||
|
|
||||||
|
|
||||||
.. c:function:: get_ao_two_e_integrals:
|
.. c:function:: get_ao_two_e_integrals:
|
||||||
|
|
||||||
|
|
||||||
@ -961,8 +1074,6 @@ Subroutines / functions
|
|||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`ao_integrals_map`
|
* :c:data:`ao_integrals_map`
|
||||||
* :c:data:`ao_overlap_abs`
|
|
||||||
* :c:data:`ao_integrals_threshold`
|
|
||||||
* :c:data:`ao_two_e_integrals_in_map`
|
* :c:data:`ao_two_e_integrals_in_map`
|
||||||
|
|
||||||
Called by:
|
Called by:
|
||||||
@ -994,9 +1105,7 @@ Subroutines / functions
|
|||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`ao_integrals_map`
|
* :c:data:`ao_integrals_map`
|
||||||
* :c:data:`ao_overlap_abs`
|
|
||||||
* :c:data:`ao_integrals_threshold`
|
* :c:data:`ao_integrals_threshold`
|
||||||
* :c:data:`ao_two_e_integral_schwartz`
|
|
||||||
* :c:data:`ao_two_e_integrals_in_map`
|
* :c:data:`ao_two_e_integrals_in_map`
|
||||||
|
|
||||||
Called by:
|
Called by:
|
||||||
@ -1035,8 +1144,6 @@ Subroutines / functions
|
|||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`ao_integrals_map`
|
* :c:data:`ao_integrals_map`
|
||||||
* :c:data:`ao_overlap_abs`
|
|
||||||
* :c:data:`ao_two_e_integral_schwartz`
|
|
||||||
* :c:data:`ao_two_e_integrals_in_map`
|
* :c:data:`ao_two_e_integrals_in_map`
|
||||||
|
|
||||||
Calls:
|
Calls:
|
||||||
@ -1067,8 +1174,6 @@ Subroutines / functions
|
|||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`ao_integrals_map`
|
* :c:data:`ao_integrals_map`
|
||||||
* :c:data:`ao_overlap_abs`
|
|
||||||
* :c:data:`ao_two_e_integral_schwartz`
|
|
||||||
* :c:data:`ao_two_e_integrals_in_map`
|
* :c:data:`ao_two_e_integrals_in_map`
|
||||||
|
|
||||||
Calls:
|
Calls:
|
||||||
@ -1080,6 +1185,29 @@ Subroutines / functions
|
|||||||
* :c:func:`two_e_integrals_index`
|
* :c:func:`two_e_integrals_index`
|
||||||
|
|
||||||
|
|
||||||
|
.. c:function:: get_ao_two_e_integrals_periodic:
|
||||||
|
|
||||||
|
|
||||||
|
File : :file:`ao_two_e_ints/map_integrals.irp.f`
|
||||||
|
|
||||||
|
.. code:: fortran
|
||||||
|
|
||||||
|
subroutine get_ao_two_e_integrals_periodic(j,k,l,sze,out_val)
|
||||||
|
|
||||||
|
|
||||||
|
Gets multiple AO bi-electronic integral from the AO map .
|
||||||
|
All i are retrieved for j,k,l fixed.
|
||||||
|
physicist convention : <ij|kl>
|
||||||
|
|
||||||
|
Needs:
|
||||||
|
|
||||||
|
.. hlist::
|
||||||
|
:columns: 3
|
||||||
|
|
||||||
|
* :c:data:`ao_integrals_map`
|
||||||
|
* :c:data:`ao_two_e_integrals_in_map`
|
||||||
|
|
||||||
|
|
||||||
.. c:function:: give_polynom_mult_center_x:
|
.. c:function:: give_polynom_mult_center_x:
|
||||||
|
|
||||||
|
|
||||||
@ -1101,7 +1229,6 @@ Subroutines / functions
|
|||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:func:`general_primitive_integral`
|
* :c:func:`general_primitive_integral`
|
||||||
* :c:func:`general_primitive_integral_erf`
|
|
||||||
|
|
||||||
Calls:
|
Calls:
|
||||||
|
|
||||||
@ -1141,6 +1268,31 @@ Subroutines / functions
|
|||||||
* :c:func:`i_x2_pol_mult`
|
* :c:func:`i_x2_pol_mult`
|
||||||
|
|
||||||
|
|
||||||
|
.. c:function:: idx2_tri_int:
|
||||||
|
|
||||||
|
|
||||||
|
File : :file:`ao_two_e_ints/map_integrals.irp.f`
|
||||||
|
|
||||||
|
.. code:: fortran
|
||||||
|
|
||||||
|
subroutine idx2_tri_int(i,j,ij)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
.. c:function:: idx2_tri_rev_int:
|
||||||
|
|
||||||
|
|
||||||
|
File : :file:`ao_two_e_ints/map_integrals.irp.f`
|
||||||
|
|
||||||
|
.. code:: fortran
|
||||||
|
|
||||||
|
subroutine idx2_tri_rev_int(i,k,ik)
|
||||||
|
|
||||||
|
|
||||||
|
return i<=k
|
||||||
|
|
||||||
|
|
||||||
.. c:function:: insert_into_ao_integrals_map:
|
.. c:function:: insert_into_ao_integrals_map:
|
||||||
|
|
||||||
|
|
||||||
@ -1195,8 +1347,8 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`n_pt_max_integrals`
|
|
||||||
* :c:data:`gauleg_t2`
|
* :c:data:`gauleg_t2`
|
||||||
|
* :c:data:`n_pt_max_integrals`
|
||||||
|
|
||||||
Called by:
|
Called by:
|
||||||
|
|
||||||
@ -1213,35 +1365,6 @@ Subroutines / functions
|
|||||||
* :c:func:`i_x1_new`
|
* :c:func:`i_x1_new`
|
||||||
|
|
||||||
|
|
||||||
.. c:function:: load_ao_integrals:
|
|
||||||
|
|
||||||
|
|
||||||
File : :file:`ao_two_e_ints/map_integrals.irp.f`
|
|
||||||
|
|
||||||
.. code:: fortran
|
|
||||||
|
|
||||||
integer function load_ao_integrals(filename)
|
|
||||||
|
|
||||||
|
|
||||||
Read from disk the |AO| integrals
|
|
||||||
|
|
||||||
Needs:
|
|
||||||
|
|
||||||
.. hlist::
|
|
||||||
:columns: 3
|
|
||||||
|
|
||||||
* :c:data:`ao_integrals_map`
|
|
||||||
|
|
||||||
Calls:
|
|
||||||
|
|
||||||
.. hlist::
|
|
||||||
:columns: 3
|
|
||||||
|
|
||||||
* :c:func:`cache_map_reallocate`
|
|
||||||
* :c:func:`map_deinit`
|
|
||||||
* :c:func:`map_sort`
|
|
||||||
|
|
||||||
|
|
||||||
.. c:function:: n_pt_sup:
|
.. c:function:: n_pt_sup:
|
||||||
|
|
||||||
|
|
||||||
@ -1275,7 +1398,6 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:func:`ao_two_e_integrals_erf_in_map_slave`
|
|
||||||
* :c:func:`ao_two_e_integrals_in_map_slave`
|
* :c:func:`ao_two_e_integrals_in_map_slave`
|
||||||
|
|
||||||
|
|
||||||
@ -1290,7 +1412,7 @@ Subroutines / functions
|
|||||||
|
|
||||||
|
|
||||||
Gives a unique index for i,j,k,l using permtuation symmetry.
|
Gives a unique index for i,j,k,l using permtuation symmetry.
|
||||||
i <-> k, j <-> l, and (i,k) <-> (j,l)
|
i <-> k, j <-> l, and (i,k) <-> (j,l) for non-periodic systems
|
||||||
|
|
||||||
Called by:
|
Called by:
|
||||||
|
|
||||||
@ -1298,33 +1420,45 @@ Subroutines / functions
|
|||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`ao_integrals_cache`
|
* :c:data:`ao_integrals_cache`
|
||||||
* :c:data:`ao_integrals_erf_cache`
|
|
||||||
* :c:data:`ao_integrals_erf_map`
|
|
||||||
* :c:data:`ao_integrals_map`
|
* :c:data:`ao_integrals_map`
|
||||||
* :c:func:`compute_ao_integrals_erf_jl`
|
* :c:data:`banned_excitation`
|
||||||
* :c:func:`compute_ao_integrals_jl`
|
* :c:func:`compute_ao_integrals_jl`
|
||||||
|
* :c:func:`four_idx_novvvv`
|
||||||
* :c:func:`get_ao_two_e_integral`
|
* :c:func:`get_ao_two_e_integral`
|
||||||
* :c:func:`get_ao_two_e_integral_erf`
|
|
||||||
* :c:func:`get_ao_two_e_integrals_erf_non_zero`
|
|
||||||
* :c:func:`get_ao_two_e_integrals_non_zero`
|
* :c:func:`get_ao_two_e_integrals_non_zero`
|
||||||
* :c:func:`get_ao_two_e_integrals_non_zero_jl`
|
* :c:func:`get_ao_two_e_integrals_non_zero_jl`
|
||||||
* :c:func:`get_ao_two_e_integrals_non_zero_jl_from_list`
|
* :c:func:`get_ao_two_e_integrals_non_zero_jl_from_list`
|
||||||
* :c:func:`get_mo_two_e_integral_erf`
|
|
||||||
* :c:func:`get_mo_two_e_integrals_coulomb_ii`
|
|
||||||
* :c:func:`get_mo_two_e_integrals_erf`
|
|
||||||
* :c:func:`get_mo_two_e_integrals_erf_coulomb_ii`
|
|
||||||
* :c:func:`get_mo_two_e_integrals_erf_exch_ii`
|
|
||||||
* :c:func:`get_mo_two_e_integrals_erf_i1j1`
|
|
||||||
* :c:func:`get_mo_two_e_integrals_erf_ij`
|
|
||||||
* :c:func:`get_mo_two_e_integrals_exch_ii`
|
|
||||||
* :c:func:`get_mo_two_e_integrals_i1j1`
|
|
||||||
* :c:func:`get_mo_two_e_integrals_ij`
|
|
||||||
* :c:func:`get_two_e_integral`
|
* :c:func:`get_two_e_integral`
|
||||||
* :c:data:`mo_integrals_cache`
|
* :c:data:`mo_integrals_cache`
|
||||||
* :c:data:`mo_integrals_erf_cache`
|
|
||||||
* :c:data:`mo_integrals_erf_map`
|
|
||||||
* :c:data:`mo_integrals_map`
|
* :c:data:`mo_integrals_map`
|
||||||
* :c:func:`test`
|
|
||||||
|
|
||||||
|
.. c:function:: two_e_integrals_index_2fold:
|
||||||
|
|
||||||
|
|
||||||
|
File : :file:`ao_two_e_ints/map_integrals.irp.f`
|
||||||
|
|
||||||
|
.. code:: fortran
|
||||||
|
|
||||||
|
subroutine two_e_integrals_index_2fold(i,j,k,l,i1)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Called by:
|
||||||
|
|
||||||
|
.. hlist::
|
||||||
|
:columns: 3
|
||||||
|
|
||||||
|
* :c:data:`ao_integrals_cache_periodic`
|
||||||
|
* :c:func:`get_ao_two_e_integral_periodic`
|
||||||
|
|
||||||
|
Calls:
|
||||||
|
|
||||||
|
.. hlist::
|
||||||
|
:columns: 3
|
||||||
|
|
||||||
|
* :c:func:`ao_idx2_sq`
|
||||||
|
* :c:func:`ao_idx2_tri_key`
|
||||||
|
|
||||||
|
|
||||||
.. c:function:: two_e_integrals_index_reverse:
|
.. c:function:: two_e_integrals_index_reverse:
|
||||||
@ -1347,11 +1481,23 @@ Subroutines / functions
|
|||||||
This rule is applied 3 times. First for the symmetry of the
|
This rule is applied 3 times. First for the symmetry of the
|
||||||
pairs (i,k) and (j,l), and then for the symmetry within each pair.
|
pairs (i,k) and (j,l), and then for the symmetry within each pair.
|
||||||
|
|
||||||
Called by:
|
|
||||||
|
.. c:function:: two_e_integrals_index_reverse_2fold:
|
||||||
|
|
||||||
|
|
||||||
|
File : :file:`ao_two_e_ints/map_integrals.irp.f`
|
||||||
|
|
||||||
|
.. code:: fortran
|
||||||
|
|
||||||
|
subroutine two_e_integrals_index_reverse_2fold(i,j,k,l,i1)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Calls:
|
||||||
|
|
||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`ao_two_e_integral_alpha`
|
* :c:func:`ao_idx2_sq_rev`
|
||||||
* :c:func:`test`
|
* :c:func:`ao_idx2_tri_rev_key`
|
||||||
|
|
||||||
|
@ -128,7 +128,7 @@ Providers
|
|||||||
.. c:var:: angular_quadrature_points
|
.. c:var:: angular_quadrature_points
|
||||||
|
|
||||||
|
|
||||||
File : :file:`becke_numerical_grid/grid_becke.irp.f`
|
File : :file:`becke_numerical_grid/angular_grid_pts.irp.f`
|
||||||
|
|
||||||
.. code:: fortran
|
.. code:: fortran
|
||||||
|
|
||||||
@ -224,31 +224,26 @@ Providers
|
|||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`aos_grad_in_r_array`
|
* :c:data:`aos_grad_in_r_array`
|
||||||
* :c:data:`aos_grad_in_r_array_transp`
|
|
||||||
* :c:data:`aos_grad_in_r_array_transp_xyz`
|
|
||||||
* :c:data:`aos_in_r_array`
|
* :c:data:`aos_in_r_array`
|
||||||
* :c:data:`aos_lapl_in_r_array`
|
* :c:data:`aos_lapl_in_r_array`
|
||||||
* :c:data:`aos_sr_vc_alpha_lda_w`
|
* :c:data:`aos_sr_vc_alpha_lda_w`
|
||||||
* :c:data:`aos_sr_vc_alpha_pbe_w`
|
|
||||||
* :c:data:`aos_sr_vxc_alpha_lda_w`
|
* :c:data:`aos_sr_vxc_alpha_lda_w`
|
||||||
* :c:data:`aos_sr_vxc_alpha_pbe_w`
|
|
||||||
* :c:data:`aos_vc_alpha_lda_w`
|
* :c:data:`aos_vc_alpha_lda_w`
|
||||||
* :c:data:`aos_vc_alpha_pbe_w`
|
* :c:data:`aos_vc_alpha_pbe_w`
|
||||||
|
* :c:data:`aos_vc_alpha_sr_pbe_w`
|
||||||
* :c:data:`aos_vxc_alpha_lda_w`
|
* :c:data:`aos_vxc_alpha_lda_w`
|
||||||
* :c:data:`aos_vxc_alpha_pbe_w`
|
* :c:data:`aos_vxc_alpha_pbe_w`
|
||||||
|
* :c:data:`aos_vxc_alpha_sr_pbe_w`
|
||||||
|
* :c:data:`elec_beta_num_grid_becke`
|
||||||
* :c:data:`energy_c_lda`
|
* :c:data:`energy_c_lda`
|
||||||
* :c:data:`energy_c_pbe`
|
|
||||||
* :c:data:`energy_c_sr_lda`
|
* :c:data:`energy_c_sr_lda`
|
||||||
* :c:data:`energy_sr_x_lda`
|
|
||||||
* :c:data:`energy_sr_x_pbe`
|
|
||||||
* :c:data:`energy_x_lda`
|
* :c:data:`energy_x_lda`
|
||||||
* :c:data:`energy_x_pbe`
|
* :c:data:`energy_x_pbe`
|
||||||
* :c:data:`energy_x_sr_lda`
|
* :c:data:`energy_x_sr_lda`
|
||||||
* :c:data:`energy_x_sr_pbe`
|
* :c:data:`energy_x_sr_pbe`
|
||||||
* :c:data:`mos_in_r_array`
|
* :c:data:`mos_in_r_array`
|
||||||
* :c:data:`one_e_dm_alpha_at_r`
|
* :c:data:`mos_in_r_array_omp`
|
||||||
* :c:data:`one_e_dm_and_grad_alpha_in_r`
|
* :c:data:`one_e_dm_and_grad_alpha_in_r`
|
||||||
* :c:data:`one_e_dm_no_core_and_grad_alpha_in_r`
|
|
||||||
|
|
||||||
|
|
||||||
.. c:var:: final_grid_points_per_atom
|
.. c:var:: final_grid_points_per_atom
|
||||||
@ -361,31 +356,26 @@ Providers
|
|||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`aos_grad_in_r_array`
|
* :c:data:`aos_grad_in_r_array`
|
||||||
* :c:data:`aos_grad_in_r_array_transp`
|
|
||||||
* :c:data:`aos_grad_in_r_array_transp_xyz`
|
|
||||||
* :c:data:`aos_in_r_array`
|
* :c:data:`aos_in_r_array`
|
||||||
* :c:data:`aos_lapl_in_r_array`
|
* :c:data:`aos_lapl_in_r_array`
|
||||||
* :c:data:`aos_sr_vc_alpha_lda_w`
|
* :c:data:`aos_sr_vc_alpha_lda_w`
|
||||||
* :c:data:`aos_sr_vc_alpha_pbe_w`
|
|
||||||
* :c:data:`aos_sr_vxc_alpha_lda_w`
|
* :c:data:`aos_sr_vxc_alpha_lda_w`
|
||||||
* :c:data:`aos_sr_vxc_alpha_pbe_w`
|
|
||||||
* :c:data:`aos_vc_alpha_lda_w`
|
* :c:data:`aos_vc_alpha_lda_w`
|
||||||
* :c:data:`aos_vc_alpha_pbe_w`
|
* :c:data:`aos_vc_alpha_pbe_w`
|
||||||
|
* :c:data:`aos_vc_alpha_sr_pbe_w`
|
||||||
* :c:data:`aos_vxc_alpha_lda_w`
|
* :c:data:`aos_vxc_alpha_lda_w`
|
||||||
* :c:data:`aos_vxc_alpha_pbe_w`
|
* :c:data:`aos_vxc_alpha_pbe_w`
|
||||||
|
* :c:data:`aos_vxc_alpha_sr_pbe_w`
|
||||||
|
* :c:data:`elec_beta_num_grid_becke`
|
||||||
* :c:data:`energy_c_lda`
|
* :c:data:`energy_c_lda`
|
||||||
* :c:data:`energy_c_pbe`
|
|
||||||
* :c:data:`energy_c_sr_lda`
|
* :c:data:`energy_c_sr_lda`
|
||||||
* :c:data:`energy_sr_x_lda`
|
|
||||||
* :c:data:`energy_sr_x_pbe`
|
|
||||||
* :c:data:`energy_x_lda`
|
* :c:data:`energy_x_lda`
|
||||||
* :c:data:`energy_x_pbe`
|
* :c:data:`energy_x_pbe`
|
||||||
* :c:data:`energy_x_sr_lda`
|
* :c:data:`energy_x_sr_lda`
|
||||||
* :c:data:`energy_x_sr_pbe`
|
* :c:data:`energy_x_sr_pbe`
|
||||||
* :c:data:`mos_in_r_array`
|
* :c:data:`mos_in_r_array`
|
||||||
* :c:data:`one_e_dm_alpha_at_r`
|
* :c:data:`mos_in_r_array_omp`
|
||||||
* :c:data:`one_e_dm_and_grad_alpha_in_r`
|
* :c:data:`one_e_dm_and_grad_alpha_in_r`
|
||||||
* :c:data:`one_e_dm_no_core_and_grad_alpha_in_r`
|
|
||||||
|
|
||||||
|
|
||||||
.. c:var:: final_weight_at_r_vector_per_atom
|
.. c:var:: final_weight_at_r_vector_per_atom
|
||||||
@ -484,7 +474,6 @@ Providers
|
|||||||
|
|
||||||
* :c:data:`final_grid_points`
|
* :c:data:`final_grid_points`
|
||||||
* :c:data:`final_grid_points_per_atom`
|
* :c:data:`final_grid_points_per_atom`
|
||||||
* :c:data:`one_e_dm_alpha_in_r`
|
|
||||||
* :c:data:`weight_at_r`
|
* :c:data:`weight_at_r`
|
||||||
|
|
||||||
|
|
||||||
@ -556,31 +545,26 @@ Providers
|
|||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`aos_grad_in_r_array`
|
* :c:data:`aos_grad_in_r_array`
|
||||||
* :c:data:`aos_grad_in_r_array_transp`
|
|
||||||
* :c:data:`aos_grad_in_r_array_transp_xyz`
|
|
||||||
* :c:data:`aos_in_r_array`
|
* :c:data:`aos_in_r_array`
|
||||||
* :c:data:`aos_lapl_in_r_array`
|
* :c:data:`aos_lapl_in_r_array`
|
||||||
* :c:data:`aos_sr_vc_alpha_lda_w`
|
* :c:data:`aos_sr_vc_alpha_lda_w`
|
||||||
* :c:data:`aos_sr_vc_alpha_pbe_w`
|
|
||||||
* :c:data:`aos_sr_vxc_alpha_lda_w`
|
* :c:data:`aos_sr_vxc_alpha_lda_w`
|
||||||
* :c:data:`aos_sr_vxc_alpha_pbe_w`
|
|
||||||
* :c:data:`aos_vc_alpha_lda_w`
|
* :c:data:`aos_vc_alpha_lda_w`
|
||||||
* :c:data:`aos_vc_alpha_pbe_w`
|
* :c:data:`aos_vc_alpha_pbe_w`
|
||||||
|
* :c:data:`aos_vc_alpha_sr_pbe_w`
|
||||||
* :c:data:`aos_vxc_alpha_lda_w`
|
* :c:data:`aos_vxc_alpha_lda_w`
|
||||||
* :c:data:`aos_vxc_alpha_pbe_w`
|
* :c:data:`aos_vxc_alpha_pbe_w`
|
||||||
|
* :c:data:`aos_vxc_alpha_sr_pbe_w`
|
||||||
|
* :c:data:`elec_beta_num_grid_becke`
|
||||||
* :c:data:`energy_c_lda`
|
* :c:data:`energy_c_lda`
|
||||||
* :c:data:`energy_c_pbe`
|
|
||||||
* :c:data:`energy_c_sr_lda`
|
* :c:data:`energy_c_sr_lda`
|
||||||
* :c:data:`energy_sr_x_lda`
|
|
||||||
* :c:data:`energy_sr_x_pbe`
|
|
||||||
* :c:data:`energy_x_lda`
|
* :c:data:`energy_x_lda`
|
||||||
* :c:data:`energy_x_pbe`
|
* :c:data:`energy_x_pbe`
|
||||||
* :c:data:`energy_x_sr_lda`
|
* :c:data:`energy_x_sr_lda`
|
||||||
* :c:data:`energy_x_sr_pbe`
|
* :c:data:`energy_x_sr_pbe`
|
||||||
* :c:data:`mos_in_r_array`
|
* :c:data:`mos_in_r_array`
|
||||||
* :c:data:`one_e_dm_alpha_at_r`
|
* :c:data:`mos_in_r_array_omp`
|
||||||
* :c:data:`one_e_dm_and_grad_alpha_in_r`
|
* :c:data:`one_e_dm_and_grad_alpha_in_r`
|
||||||
* :c:data:`one_e_dm_no_core_and_grad_alpha_in_r`
|
|
||||||
|
|
||||||
|
|
||||||
.. c:var:: index_final_points_per_atom
|
.. c:var:: index_final_points_per_atom
|
||||||
@ -690,31 +674,26 @@ Providers
|
|||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`aos_grad_in_r_array`
|
* :c:data:`aos_grad_in_r_array`
|
||||||
* :c:data:`aos_grad_in_r_array_transp`
|
|
||||||
* :c:data:`aos_grad_in_r_array_transp_xyz`
|
|
||||||
* :c:data:`aos_in_r_array`
|
* :c:data:`aos_in_r_array`
|
||||||
* :c:data:`aos_lapl_in_r_array`
|
* :c:data:`aos_lapl_in_r_array`
|
||||||
* :c:data:`aos_sr_vc_alpha_lda_w`
|
* :c:data:`aos_sr_vc_alpha_lda_w`
|
||||||
* :c:data:`aos_sr_vc_alpha_pbe_w`
|
|
||||||
* :c:data:`aos_sr_vxc_alpha_lda_w`
|
* :c:data:`aos_sr_vxc_alpha_lda_w`
|
||||||
* :c:data:`aos_sr_vxc_alpha_pbe_w`
|
|
||||||
* :c:data:`aos_vc_alpha_lda_w`
|
* :c:data:`aos_vc_alpha_lda_w`
|
||||||
* :c:data:`aos_vc_alpha_pbe_w`
|
* :c:data:`aos_vc_alpha_pbe_w`
|
||||||
|
* :c:data:`aos_vc_alpha_sr_pbe_w`
|
||||||
* :c:data:`aos_vxc_alpha_lda_w`
|
* :c:data:`aos_vxc_alpha_lda_w`
|
||||||
* :c:data:`aos_vxc_alpha_pbe_w`
|
* :c:data:`aos_vxc_alpha_pbe_w`
|
||||||
|
* :c:data:`aos_vxc_alpha_sr_pbe_w`
|
||||||
|
* :c:data:`elec_beta_num_grid_becke`
|
||||||
* :c:data:`energy_c_lda`
|
* :c:data:`energy_c_lda`
|
||||||
* :c:data:`energy_c_pbe`
|
|
||||||
* :c:data:`energy_c_sr_lda`
|
* :c:data:`energy_c_sr_lda`
|
||||||
* :c:data:`energy_sr_x_lda`
|
|
||||||
* :c:data:`energy_sr_x_pbe`
|
|
||||||
* :c:data:`energy_x_lda`
|
* :c:data:`energy_x_lda`
|
||||||
* :c:data:`energy_x_pbe`
|
* :c:data:`energy_x_pbe`
|
||||||
* :c:data:`energy_x_sr_lda`
|
* :c:data:`energy_x_sr_lda`
|
||||||
* :c:data:`energy_x_sr_pbe`
|
* :c:data:`energy_x_sr_pbe`
|
||||||
* :c:data:`mos_in_r_array`
|
* :c:data:`mos_in_r_array`
|
||||||
* :c:data:`one_e_dm_alpha_at_r`
|
* :c:data:`mos_in_r_array_omp`
|
||||||
* :c:data:`one_e_dm_and_grad_alpha_in_r`
|
* :c:data:`one_e_dm_and_grad_alpha_in_r`
|
||||||
* :c:data:`one_e_dm_no_core_and_grad_alpha_in_r`
|
|
||||||
|
|
||||||
|
|
||||||
.. c:var:: m_knowles
|
.. c:var:: m_knowles
|
||||||
@ -765,43 +744,45 @@ Providers
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
|
* :c:data:`alpha_dens_kin_in_r`
|
||||||
* :c:data:`aos_grad_in_r_array`
|
* :c:data:`aos_grad_in_r_array`
|
||||||
* :c:data:`aos_grad_in_r_array_transp`
|
* :c:data:`aos_grad_in_r_array_transp`
|
||||||
* :c:data:`aos_grad_in_r_array_transp_xyz`
|
|
||||||
* :c:data:`aos_in_r_array`
|
* :c:data:`aos_in_r_array`
|
||||||
|
* :c:data:`aos_in_r_array_transp`
|
||||||
* :c:data:`aos_lapl_in_r_array`
|
* :c:data:`aos_lapl_in_r_array`
|
||||||
|
* :c:data:`aos_lapl_in_r_array_transp`
|
||||||
* :c:data:`aos_sr_vc_alpha_lda_w`
|
* :c:data:`aos_sr_vc_alpha_lda_w`
|
||||||
* :c:data:`aos_sr_vc_alpha_pbe_w`
|
|
||||||
* :c:data:`aos_sr_vxc_alpha_lda_w`
|
* :c:data:`aos_sr_vxc_alpha_lda_w`
|
||||||
* :c:data:`aos_sr_vxc_alpha_pbe_w`
|
|
||||||
* :c:data:`aos_vc_alpha_lda_w`
|
* :c:data:`aos_vc_alpha_lda_w`
|
||||||
* :c:data:`aos_vc_alpha_pbe_w`
|
* :c:data:`aos_vc_alpha_pbe_w`
|
||||||
|
* :c:data:`aos_vc_alpha_sr_pbe_w`
|
||||||
* :c:data:`aos_vxc_alpha_lda_w`
|
* :c:data:`aos_vxc_alpha_lda_w`
|
||||||
* :c:data:`aos_vxc_alpha_pbe_w`
|
* :c:data:`aos_vxc_alpha_pbe_w`
|
||||||
|
* :c:data:`aos_vxc_alpha_sr_pbe_w`
|
||||||
|
* :c:data:`elec_beta_num_grid_becke`
|
||||||
* :c:data:`energy_c_lda`
|
* :c:data:`energy_c_lda`
|
||||||
* :c:data:`energy_c_pbe`
|
|
||||||
* :c:data:`energy_c_sr_lda`
|
* :c:data:`energy_c_sr_lda`
|
||||||
* :c:data:`energy_sr_x_lda`
|
|
||||||
* :c:data:`energy_sr_x_pbe`
|
|
||||||
* :c:data:`energy_x_lda`
|
* :c:data:`energy_x_lda`
|
||||||
* :c:data:`energy_x_pbe`
|
* :c:data:`energy_x_pbe`
|
||||||
* :c:data:`energy_x_sr_lda`
|
* :c:data:`energy_x_sr_lda`
|
||||||
* :c:data:`energy_x_sr_pbe`
|
* :c:data:`energy_x_sr_pbe`
|
||||||
* :c:data:`final_grid_points`
|
* :c:data:`final_grid_points`
|
||||||
|
* :c:data:`kinetic_density_generalized`
|
||||||
* :c:data:`mos_grad_in_r_array`
|
* :c:data:`mos_grad_in_r_array`
|
||||||
|
* :c:data:`mos_grad_in_r_array_tranp`
|
||||||
* :c:data:`mos_in_r_array`
|
* :c:data:`mos_in_r_array`
|
||||||
|
* :c:data:`mos_in_r_array_omp`
|
||||||
|
* :c:data:`mos_in_r_array_transp`
|
||||||
* :c:data:`mos_lapl_in_r_array`
|
* :c:data:`mos_lapl_in_r_array`
|
||||||
* :c:data:`one_e_dm_alpha_at_r`
|
|
||||||
* :c:data:`one_e_dm_and_grad_alpha_in_r`
|
* :c:data:`one_e_dm_and_grad_alpha_in_r`
|
||||||
* :c:data:`one_e_dm_no_core_and_grad_alpha_in_r`
|
|
||||||
* :c:data:`pot_grad_x_alpha_ao_pbe`
|
* :c:data:`pot_grad_x_alpha_ao_pbe`
|
||||||
|
* :c:data:`pot_grad_x_alpha_ao_sr_pbe`
|
||||||
* :c:data:`pot_grad_xc_alpha_ao_pbe`
|
* :c:data:`pot_grad_xc_alpha_ao_pbe`
|
||||||
|
* :c:data:`pot_grad_xc_alpha_ao_sr_pbe`
|
||||||
* :c:data:`pot_scal_x_alpha_ao_pbe`
|
* :c:data:`pot_scal_x_alpha_ao_pbe`
|
||||||
|
* :c:data:`pot_scal_x_alpha_ao_sr_pbe`
|
||||||
* :c:data:`pot_scal_xc_alpha_ao_pbe`
|
* :c:data:`pot_scal_xc_alpha_ao_pbe`
|
||||||
* :c:data:`pot_sr_grad_x_alpha_ao_pbe`
|
* :c:data:`pot_scal_xc_alpha_ao_sr_pbe`
|
||||||
* :c:data:`pot_sr_grad_xc_alpha_ao_pbe`
|
|
||||||
* :c:data:`pot_sr_scal_x_alpha_ao_pbe`
|
|
||||||
* :c:data:`pot_sr_scal_xc_alpha_ao_pbe`
|
|
||||||
* :c:data:`potential_c_alpha_ao_lda`
|
* :c:data:`potential_c_alpha_ao_lda`
|
||||||
* :c:data:`potential_c_alpha_ao_sr_lda`
|
* :c:data:`potential_c_alpha_ao_sr_lda`
|
||||||
* :c:data:`potential_x_alpha_ao_lda`
|
* :c:data:`potential_x_alpha_ao_lda`
|
||||||
@ -854,6 +835,9 @@ Providers
|
|||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`grid_type_sgn`
|
* :c:data:`grid_type_sgn`
|
||||||
|
* :c:data:`my_grid_becke`
|
||||||
|
* :c:data:`my_n_pt_a_grid`
|
||||||
|
* :c:data:`my_n_pt_r_grid`
|
||||||
|
|
||||||
Needed by:
|
Needed by:
|
||||||
|
|
||||||
@ -869,7 +853,6 @@ Providers
|
|||||||
* :c:data:`n_points_final_grid`
|
* :c:data:`n_points_final_grid`
|
||||||
* :c:data:`n_points_grid_per_atom`
|
* :c:data:`n_points_grid_per_atom`
|
||||||
* :c:data:`n_pts_per_atom`
|
* :c:data:`n_pts_per_atom`
|
||||||
* :c:data:`one_e_dm_alpha_in_r`
|
|
||||||
* :c:data:`weight_at_r`
|
* :c:data:`weight_at_r`
|
||||||
|
|
||||||
|
|
||||||
@ -896,6 +879,9 @@ Providers
|
|||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`grid_type_sgn`
|
* :c:data:`grid_type_sgn`
|
||||||
|
* :c:data:`my_grid_becke`
|
||||||
|
* :c:data:`my_n_pt_a_grid`
|
||||||
|
* :c:data:`my_n_pt_r_grid`
|
||||||
|
|
||||||
Needed by:
|
Needed by:
|
||||||
|
|
||||||
@ -911,7 +897,6 @@ Providers
|
|||||||
* :c:data:`n_points_final_grid`
|
* :c:data:`n_points_final_grid`
|
||||||
* :c:data:`n_points_grid_per_atom`
|
* :c:data:`n_points_grid_per_atom`
|
||||||
* :c:data:`n_pts_per_atom`
|
* :c:data:`n_pts_per_atom`
|
||||||
* :c:data:`one_e_dm_alpha_in_r`
|
|
||||||
* :c:data:`weight_at_r`
|
* :c:data:`weight_at_r`
|
||||||
|
|
||||||
|
|
||||||
@ -1019,7 +1004,7 @@ Providers
|
|||||||
.. c:var:: weights_angular_points
|
.. c:var:: weights_angular_points
|
||||||
|
|
||||||
|
|
||||||
File : :file:`becke_numerical_grid/grid_becke.irp.f`
|
File : :file:`becke_numerical_grid/angular_grid_pts.irp.f`
|
||||||
|
|
||||||
.. code:: fortran
|
.. code:: fortran
|
||||||
|
|
||||||
@ -1069,10 +1054,10 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`nucl_dist_inv`
|
|
||||||
* :c:data:`slater_bragg_type_inter_distance_ua`
|
|
||||||
* :c:data:`nucl_coord_transp`
|
* :c:data:`nucl_coord_transp`
|
||||||
|
* :c:data:`nucl_dist_inv`
|
||||||
* :c:data:`nucl_num`
|
* :c:data:`nucl_num`
|
||||||
|
* :c:data:`slater_bragg_type_inter_distance_ua`
|
||||||
|
|
||||||
|
|
||||||
.. c:function:: derivative_knowles_function:
|
.. c:function:: derivative_knowles_function:
|
||||||
@ -1105,11 +1090,11 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`n_points_final_grid`
|
|
||||||
* :c:data:`final_weight_at_r`
|
|
||||||
* :c:data:`n_points_radial_grid`
|
|
||||||
* :c:data:`grid_points_per_atom`
|
|
||||||
* :c:data:`final_grid_points`
|
* :c:data:`final_grid_points`
|
||||||
|
* :c:data:`final_weight_at_r`
|
||||||
|
* :c:data:`grid_points_per_atom`
|
||||||
|
* :c:data:`n_points_final_grid`
|
||||||
|
* :c:data:`n_points_radial_grid`
|
||||||
* :c:data:`nucl_coord`
|
* :c:data:`nucl_coord`
|
||||||
* :c:data:`nucl_num`
|
* :c:data:`nucl_num`
|
||||||
|
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -87,20 +87,19 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`psi_coef`
|
|
||||||
* :c:data:`n_states`
|
|
||||||
* :c:data:`generators_bitmask`
|
* :c:data:`generators_bitmask`
|
||||||
|
* :c:data:`h_apply_buffer_allocated`
|
||||||
* :c:data:`mo_num`
|
* :c:data:`mo_num`
|
||||||
* :c:data:`mo_two_e_integrals_in_map`
|
* :c:data:`mo_two_e_integrals_in_map`
|
||||||
* :c:data:`h_apply_buffer_allocated`
|
|
||||||
* :c:data:`n_det`
|
* :c:data:`n_det`
|
||||||
* :c:data:`s2_eig`
|
|
||||||
* :c:data:`n_det_generators`
|
* :c:data:`n_det_generators`
|
||||||
* :c:data:`i_bitmask_gen`
|
|
||||||
* :c:data:`n_int`
|
* :c:data:`n_int`
|
||||||
|
* :c:data:`n_states`
|
||||||
|
* :c:data:`psi_coef`
|
||||||
|
* :c:data:`psi_det_generators`
|
||||||
* :c:data:`psi_det`
|
* :c:data:`psi_det`
|
||||||
* :c:data:`psi_det_generators`
|
* :c:data:`psi_det_generators`
|
||||||
* :c:data:`psi_det_generators`
|
* :c:data:`s2_eig`
|
||||||
|
|
||||||
Calls:
|
Calls:
|
||||||
|
|
||||||
@ -147,9 +146,9 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`n_int`
|
|
||||||
* :c:data:`n_det`
|
|
||||||
* :c:data:`mo_num`
|
* :c:data:`mo_num`
|
||||||
|
* :c:data:`n_det`
|
||||||
|
* :c:data:`n_int`
|
||||||
|
|
||||||
Called by:
|
Called by:
|
||||||
|
|
||||||
@ -185,9 +184,9 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`n_int`
|
|
||||||
* :c:data:`elec_alpha_num`
|
* :c:data:`elec_alpha_num`
|
||||||
* :c:data:`mo_num`
|
* :c:data:`mo_num`
|
||||||
|
* :c:data:`n_int`
|
||||||
|
|
||||||
Called by:
|
Called by:
|
||||||
|
|
||||||
@ -221,9 +220,9 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`n_int`
|
|
||||||
* :c:data:`n_det`
|
|
||||||
* :c:data:`mo_num`
|
* :c:data:`mo_num`
|
||||||
|
* :c:data:`n_det`
|
||||||
|
* :c:data:`n_int`
|
||||||
|
|
||||||
Called by:
|
Called by:
|
||||||
|
|
||||||
@ -259,9 +258,9 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`n_int`
|
|
||||||
* :c:data:`elec_alpha_num`
|
* :c:data:`elec_alpha_num`
|
||||||
* :c:data:`mo_num`
|
* :c:data:`mo_num`
|
||||||
|
* :c:data:`n_int`
|
||||||
|
|
||||||
Called by:
|
Called by:
|
||||||
|
|
||||||
@ -297,20 +296,19 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`psi_coef`
|
|
||||||
* :c:data:`n_states`
|
|
||||||
* :c:data:`generators_bitmask`
|
* :c:data:`generators_bitmask`
|
||||||
|
* :c:data:`h_apply_buffer_allocated`
|
||||||
* :c:data:`mo_num`
|
* :c:data:`mo_num`
|
||||||
* :c:data:`mo_two_e_integrals_in_map`
|
* :c:data:`mo_two_e_integrals_in_map`
|
||||||
* :c:data:`h_apply_buffer_allocated`
|
|
||||||
* :c:data:`n_det`
|
* :c:data:`n_det`
|
||||||
* :c:data:`s2_eig`
|
|
||||||
* :c:data:`n_det_generators`
|
* :c:data:`n_det_generators`
|
||||||
* :c:data:`i_bitmask_gen`
|
|
||||||
* :c:data:`n_int`
|
* :c:data:`n_int`
|
||||||
|
* :c:data:`n_states`
|
||||||
|
* :c:data:`psi_coef`
|
||||||
|
* :c:data:`psi_det_generators`
|
||||||
* :c:data:`psi_det`
|
* :c:data:`psi_det`
|
||||||
* :c:data:`psi_det_generators`
|
* :c:data:`psi_det_generators`
|
||||||
* :c:data:`psi_det_generators`
|
* :c:data:`s2_eig`
|
||||||
|
|
||||||
Calls:
|
Calls:
|
||||||
|
|
||||||
@ -357,9 +355,9 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`n_int`
|
|
||||||
* :c:data:`n_det`
|
|
||||||
* :c:data:`mo_num`
|
* :c:data:`mo_num`
|
||||||
|
* :c:data:`n_det`
|
||||||
|
* :c:data:`n_int`
|
||||||
|
|
||||||
Called by:
|
Called by:
|
||||||
|
|
||||||
@ -395,9 +393,9 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`n_int`
|
|
||||||
* :c:data:`elec_alpha_num`
|
* :c:data:`elec_alpha_num`
|
||||||
* :c:data:`mo_num`
|
* :c:data:`mo_num`
|
||||||
|
* :c:data:`n_int`
|
||||||
|
|
||||||
Called by:
|
Called by:
|
||||||
|
|
||||||
@ -432,9 +430,9 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`n_int`
|
|
||||||
* :c:data:`n_det`
|
|
||||||
* :c:data:`mo_num`
|
* :c:data:`mo_num`
|
||||||
|
* :c:data:`n_det`
|
||||||
|
* :c:data:`n_int`
|
||||||
|
|
||||||
Called by:
|
Called by:
|
||||||
|
|
||||||
@ -470,9 +468,9 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`n_int`
|
|
||||||
* :c:data:`elec_alpha_num`
|
* :c:data:`elec_alpha_num`
|
||||||
* :c:data:`mo_num`
|
* :c:data:`mo_num`
|
||||||
|
* :c:data:`n_int`
|
||||||
|
|
||||||
Called by:
|
Called by:
|
||||||
|
|
||||||
|
@ -80,20 +80,26 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`psi_coef`
|
|
||||||
* :c:data:`n_states`
|
|
||||||
* :c:data:`generators_bitmask`
|
* :c:data:`generators_bitmask`
|
||||||
|
* :c:data:`h_apply_buffer_allocated`
|
||||||
* :c:data:`mo_num`
|
* :c:data:`mo_num`
|
||||||
* :c:data:`mo_two_e_integrals_in_map`
|
* :c:data:`mo_two_e_integrals_in_map`
|
||||||
* :c:data:`h_apply_buffer_allocated`
|
|
||||||
* :c:data:`n_det`
|
* :c:data:`n_det`
|
||||||
* :c:data:`s2_eig`
|
|
||||||
* :c:data:`n_det_generators`
|
* :c:data:`n_det_generators`
|
||||||
* :c:data:`i_bitmask_gen`
|
|
||||||
* :c:data:`n_int`
|
* :c:data:`n_int`
|
||||||
|
* :c:data:`n_states`
|
||||||
|
* :c:data:`psi_coef`
|
||||||
|
* :c:data:`psi_det_generators`
|
||||||
* :c:data:`psi_det`
|
* :c:data:`psi_det`
|
||||||
* :c:data:`psi_det_generators`
|
* :c:data:`psi_det_generators`
|
||||||
* :c:data:`psi_det_generators`
|
* :c:data:`s2_eig`
|
||||||
|
|
||||||
|
Called by:
|
||||||
|
|
||||||
|
.. hlist::
|
||||||
|
:columns: 3
|
||||||
|
|
||||||
|
* :c:func:`run_cisd`
|
||||||
|
|
||||||
Calls:
|
Calls:
|
||||||
|
|
||||||
@ -140,9 +146,9 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`n_int`
|
|
||||||
* :c:data:`n_det`
|
|
||||||
* :c:data:`mo_num`
|
* :c:data:`mo_num`
|
||||||
|
* :c:data:`n_det`
|
||||||
|
* :c:data:`n_int`
|
||||||
|
|
||||||
Called by:
|
Called by:
|
||||||
|
|
||||||
@ -178,9 +184,9 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`n_int`
|
|
||||||
* :c:data:`elec_alpha_num`
|
* :c:data:`elec_alpha_num`
|
||||||
* :c:data:`mo_num`
|
* :c:data:`mo_num`
|
||||||
|
* :c:data:`n_int`
|
||||||
|
|
||||||
Called by:
|
Called by:
|
||||||
|
|
||||||
@ -214,9 +220,9 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`n_int`
|
|
||||||
* :c:data:`n_det`
|
|
||||||
* :c:data:`mo_num`
|
* :c:data:`mo_num`
|
||||||
|
* :c:data:`n_det`
|
||||||
|
* :c:data:`n_int`
|
||||||
|
|
||||||
Called by:
|
Called by:
|
||||||
|
|
||||||
@ -252,9 +258,9 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`n_int`
|
|
||||||
* :c:data:`elec_alpha_num`
|
* :c:data:`elec_alpha_num`
|
||||||
* :c:data:`mo_num`
|
* :c:data:`mo_num`
|
||||||
|
* :c:data:`n_int`
|
||||||
|
|
||||||
Called by:
|
Called by:
|
||||||
|
|
||||||
@ -290,20 +296,26 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`psi_coef`
|
|
||||||
* :c:data:`n_states`
|
|
||||||
* :c:data:`generators_bitmask`
|
* :c:data:`generators_bitmask`
|
||||||
|
* :c:data:`h_apply_buffer_allocated`
|
||||||
* :c:data:`mo_num`
|
* :c:data:`mo_num`
|
||||||
* :c:data:`mo_two_e_integrals_in_map`
|
* :c:data:`mo_two_e_integrals_in_map`
|
||||||
* :c:data:`h_apply_buffer_allocated`
|
|
||||||
* :c:data:`n_det`
|
* :c:data:`n_det`
|
||||||
* :c:data:`s2_eig`
|
|
||||||
* :c:data:`n_det_generators`
|
* :c:data:`n_det_generators`
|
||||||
* :c:data:`i_bitmask_gen`
|
|
||||||
* :c:data:`n_int`
|
* :c:data:`n_int`
|
||||||
|
* :c:data:`n_states`
|
||||||
|
* :c:data:`psi_coef`
|
||||||
|
* :c:data:`psi_det_generators`
|
||||||
* :c:data:`psi_det`
|
* :c:data:`psi_det`
|
||||||
* :c:data:`psi_det_generators`
|
* :c:data:`psi_det_generators`
|
||||||
* :c:data:`psi_det_generators`
|
* :c:data:`s2_eig`
|
||||||
|
|
||||||
|
Called by:
|
||||||
|
|
||||||
|
.. hlist::
|
||||||
|
:columns: 3
|
||||||
|
|
||||||
|
* :c:func:`run_cisd`
|
||||||
|
|
||||||
Calls:
|
Calls:
|
||||||
|
|
||||||
@ -350,9 +362,9 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`n_int`
|
|
||||||
* :c:data:`n_det`
|
|
||||||
* :c:data:`mo_num`
|
* :c:data:`mo_num`
|
||||||
|
* :c:data:`n_det`
|
||||||
|
* :c:data:`n_int`
|
||||||
|
|
||||||
Called by:
|
Called by:
|
||||||
|
|
||||||
@ -388,9 +400,9 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`n_int`
|
|
||||||
* :c:data:`elec_alpha_num`
|
* :c:data:`elec_alpha_num`
|
||||||
* :c:data:`mo_num`
|
* :c:data:`mo_num`
|
||||||
|
* :c:data:`n_int`
|
||||||
|
|
||||||
Called by:
|
Called by:
|
||||||
|
|
||||||
@ -425,9 +437,9 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`n_int`
|
|
||||||
* :c:data:`n_det`
|
|
||||||
* :c:data:`mo_num`
|
* :c:data:`mo_num`
|
||||||
|
* :c:data:`n_det`
|
||||||
|
* :c:data:`n_int`
|
||||||
|
|
||||||
Called by:
|
Called by:
|
||||||
|
|
||||||
@ -463,9 +475,9 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`n_int`
|
|
||||||
* :c:data:`elec_alpha_num`
|
* :c:data:`elec_alpha_num`
|
||||||
* :c:data:`mo_num`
|
* :c:data:`mo_num`
|
||||||
|
* :c:data:`n_int`
|
||||||
|
|
||||||
Called by:
|
Called by:
|
||||||
|
|
||||||
@ -483,3 +495,52 @@ Subroutines / functions
|
|||||||
* :c:func:`connected_to_hf`
|
* :c:func:`connected_to_hf`
|
||||||
* :c:func:`fill_h_apply_buffer_no_selection`
|
* :c:func:`fill_h_apply_buffer_no_selection`
|
||||||
|
|
||||||
|
|
||||||
|
.. c:function:: run_cisd:
|
||||||
|
|
||||||
|
|
||||||
|
File : :file:`cisd_routine.irp.f`
|
||||||
|
|
||||||
|
.. code:: fortran
|
||||||
|
|
||||||
|
subroutine run_cisd
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Needs:
|
||||||
|
|
||||||
|
.. hlist::
|
||||||
|
:columns: 3
|
||||||
|
|
||||||
|
* :c:data:`ci_electronic_energy`
|
||||||
|
* :c:data:`ci_energy`
|
||||||
|
* :c:data:`n_det`
|
||||||
|
* :c:data:`n_states`
|
||||||
|
* :c:data:`pseudo_sym`
|
||||||
|
* :c:data:`psi_coef`
|
||||||
|
|
||||||
|
Calls:
|
||||||
|
|
||||||
|
.. hlist::
|
||||||
|
:columns: 3
|
||||||
|
|
||||||
|
* :c:func:`ezfio_set_cisd_energy`
|
||||||
|
* :c:func:`h_apply_cisd`
|
||||||
|
* :c:func:`h_apply_cisd_sym`
|
||||||
|
* :c:func:`save_wavefunction`
|
||||||
|
|
||||||
|
Touches:
|
||||||
|
|
||||||
|
.. hlist::
|
||||||
|
:columns: 3
|
||||||
|
|
||||||
|
* :c:data:`n_det`
|
||||||
|
* :c:data:`psi_occ_pattern`
|
||||||
|
* :c:data:`c0_weight`
|
||||||
|
* :c:data:`psi_coef`
|
||||||
|
* :c:data:`psi_det_sorted_bit`
|
||||||
|
* :c:data:`psi_det`
|
||||||
|
* :c:data:`psi_det_size`
|
||||||
|
* :c:data:`psi_det_sorted_bit`
|
||||||
|
* :c:data:`psi_occ_pattern`
|
||||||
|
|
||||||
|
@ -117,7 +117,6 @@ Providers
|
|||||||
* :c:data:`psi_det`
|
* :c:data:`psi_det`
|
||||||
* :c:data:`s2_eig`
|
* :c:data:`s2_eig`
|
||||||
* :c:data:`s2_matrix_all_dets`
|
* :c:data:`s2_matrix_all_dets`
|
||||||
* :c:data:`s_z`
|
|
||||||
* :c:data:`threshold_davidson`
|
* :c:data:`threshold_davidson`
|
||||||
|
|
||||||
Needed by:
|
Needed by:
|
||||||
@ -162,7 +161,6 @@ Providers
|
|||||||
* :c:data:`psi_det`
|
* :c:data:`psi_det`
|
||||||
* :c:data:`s2_eig`
|
* :c:data:`s2_eig`
|
||||||
* :c:data:`s2_matrix_all_dets`
|
* :c:data:`s2_matrix_all_dets`
|
||||||
* :c:data:`s_z`
|
|
||||||
* :c:data:`threshold_davidson`
|
* :c:data:`threshold_davidson`
|
||||||
|
|
||||||
Needed by:
|
Needed by:
|
||||||
@ -234,7 +232,6 @@ Providers
|
|||||||
* :c:data:`psi_det`
|
* :c:data:`psi_det`
|
||||||
* :c:data:`s2_eig`
|
* :c:data:`s2_eig`
|
||||||
* :c:data:`s2_matrix_all_dets`
|
* :c:data:`s2_matrix_all_dets`
|
||||||
* :c:data:`s_z`
|
|
||||||
* :c:data:`threshold_davidson`
|
* :c:data:`threshold_davidson`
|
||||||
|
|
||||||
Needed by:
|
Needed by:
|
||||||
@ -245,20 +242,6 @@ Providers
|
|||||||
* :c:data:`ci_energy`
|
* :c:data:`ci_energy`
|
||||||
|
|
||||||
|
|
||||||
.. c:var:: davidson_criterion
|
|
||||||
|
|
||||||
|
|
||||||
File : :file:`davidson/parameters.irp.f`
|
|
||||||
|
|
||||||
.. code:: fortran
|
|
||||||
|
|
||||||
character(64) :: davidson_criterion
|
|
||||||
|
|
||||||
|
|
||||||
Can be : [ energy | residual | both | wall_time | cpu_time | iterations ]
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.. c:var:: diag_algorithm
|
.. c:var:: diag_algorithm
|
||||||
|
|
||||||
|
|
||||||
@ -382,9 +365,9 @@ Providers
|
|||||||
double precision, allocatable :: psi_s2 (N_states)
|
double precision, allocatable :: psi_s2 (N_states)
|
||||||
|
|
||||||
|
|
||||||
psi_energy(i) = :math:`\langle \Psi_i | H | \Psi_i \rangle`
|
psi_energy(i) = :math:`\langle \Psi_i | H | \Psi_i \rangle`
|
||||||
|
|
||||||
psi_s2(i) = :math:`\langle \Psi_i | S^2 | \Psi_i \rangle`
|
psi_s2(i) = :math:`\langle \Psi_i | S^2 | \Psi_i \rangle`
|
||||||
|
|
||||||
Needs:
|
Needs:
|
||||||
|
|
||||||
@ -408,9 +391,7 @@ Providers
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`psi_energy_two_e`
|
|
||||||
* :c:data:`psi_energy_with_nucl_rep`
|
* :c:data:`psi_energy_with_nucl_rep`
|
||||||
* :c:data:`pt2_e0_denominator`
|
|
||||||
|
|
||||||
|
|
||||||
.. c:var:: psi_energy_two_e
|
.. c:var:: psi_energy_two_e
|
||||||
@ -436,7 +417,6 @@ Providers
|
|||||||
* :c:data:`psi_coef`
|
* :c:data:`psi_coef`
|
||||||
* :c:data:`psi_det`
|
* :c:data:`psi_det`
|
||||||
* :c:data:`psi_det_size`
|
* :c:data:`psi_det_size`
|
||||||
* :c:data:`psi_energy`
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -474,9 +454,9 @@ Providers
|
|||||||
double precision, allocatable :: psi_s2 (N_states)
|
double precision, allocatable :: psi_s2 (N_states)
|
||||||
|
|
||||||
|
|
||||||
psi_energy(i) = :math:`\langle \Psi_i | H | \Psi_i \rangle`
|
psi_energy(i) = :math:`\langle \Psi_i | H | \Psi_i \rangle`
|
||||||
|
|
||||||
psi_s2(i) = :math:`\langle \Psi_i | S^2 | \Psi_i \rangle`
|
psi_s2(i) = :math:`\langle \Psi_i | S^2 | \Psi_i \rangle`
|
||||||
|
|
||||||
Needs:
|
Needs:
|
||||||
|
|
||||||
@ -500,9 +480,28 @@ Providers
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`psi_energy_two_e`
|
|
||||||
* :c:data:`psi_energy_with_nucl_rep`
|
* :c:data:`psi_energy_with_nucl_rep`
|
||||||
* :c:data:`pt2_e0_denominator`
|
|
||||||
|
|
||||||
|
.. c:var:: threshold_davidson_pt2
|
||||||
|
|
||||||
|
|
||||||
|
File : :file:`davidson/diagonalization_hs2_dressed.irp.f`
|
||||||
|
|
||||||
|
.. code:: fortran
|
||||||
|
|
||||||
|
double precision :: threshold_davidson_pt2
|
||||||
|
|
||||||
|
|
||||||
|
Threshold of Davidson's algorithm, using PT2 as a guide
|
||||||
|
|
||||||
|
Needs:
|
||||||
|
|
||||||
|
.. hlist::
|
||||||
|
:columns: 3
|
||||||
|
|
||||||
|
* :c:data:`threshold_davidson`
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -543,42 +542,6 @@ Subroutines / functions
|
|||||||
* :c:func:`davidson_pull_results`
|
* :c:func:`davidson_pull_results`
|
||||||
|
|
||||||
|
|
||||||
.. c:function:: davidson_converged:
|
|
||||||
|
|
||||||
|
|
||||||
File : :file:`davidson/parameters.irp.f`
|
|
||||||
|
|
||||||
.. code:: fortran
|
|
||||||
|
|
||||||
subroutine davidson_converged(energy,residual,wall,iterations,cpu,N_st,converged)
|
|
||||||
|
|
||||||
|
|
||||||
True if the Davidson algorithm is converged
|
|
||||||
|
|
||||||
Needs:
|
|
||||||
|
|
||||||
.. hlist::
|
|
||||||
:columns: 3
|
|
||||||
|
|
||||||
* :c:data:`threshold_davidson`
|
|
||||||
* :c:data:`davidson_criterion`
|
|
||||||
|
|
||||||
Called by:
|
|
||||||
|
|
||||||
.. hlist::
|
|
||||||
:columns: 3
|
|
||||||
|
|
||||||
* :c:func:`davidson_diag_hjj_sjj`
|
|
||||||
|
|
||||||
Calls:
|
|
||||||
|
|
||||||
.. hlist::
|
|
||||||
:columns: 3
|
|
||||||
|
|
||||||
* :c:func:`cpu_time`
|
|
||||||
* :c:func:`wall_time`
|
|
||||||
|
|
||||||
|
|
||||||
.. c:function:: davidson_diag_hjj_sjj:
|
.. c:function:: davidson_diag_hjj_sjj:
|
||||||
|
|
||||||
|
|
||||||
@ -615,28 +578,30 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`psi_bilinear_matrix_order_reverse`
|
|
||||||
* :c:data:`psi_bilinear_matrix_values`
|
|
||||||
* :c:data:`nthreads_davidson`
|
|
||||||
* :c:data:`psi_coef`
|
|
||||||
* :c:data:`dressed_column_idx`
|
|
||||||
* :c:data:`expected_s2`
|
|
||||||
* :c:data:`s_z`
|
|
||||||
* :c:data:`n_det`
|
|
||||||
* :c:data:`dressing_column_h`
|
|
||||||
* :c:data:`ezfio_work_dir`
|
|
||||||
* :c:data:`davidson_sze_max`
|
* :c:data:`davidson_sze_max`
|
||||||
* :c:data:`state_following`
|
|
||||||
* :c:data:`psi_det_alpha_unique`
|
|
||||||
* :c:data:`nuclear_repulsion`
|
|
||||||
* :c:data:`nproc`
|
|
||||||
* :c:data:`qp_max_mem`
|
|
||||||
* :c:data:`disk_based_davidson`
|
* :c:data:`disk_based_davidson`
|
||||||
* :c:data:`s2_eig`
|
|
||||||
* :c:data:`psi_det_beta_unique`
|
|
||||||
* :c:data:`only_expected_s2`
|
|
||||||
* :c:data:`distributed_davidson`
|
* :c:data:`distributed_davidson`
|
||||||
|
* :c:data:`dressed_column_idx`
|
||||||
|
* :c:data:`dressing_column_h`
|
||||||
|
* :c:data:`expected_s2`
|
||||||
|
* :c:data:`ezfio_work_dir`
|
||||||
|
* :c:data:`n_det`
|
||||||
* :c:data:`n_int`
|
* :c:data:`n_int`
|
||||||
|
* :c:data:`nproc`
|
||||||
|
* :c:data:`nthreads_davidson`
|
||||||
|
* :c:data:`nuclear_repulsion`
|
||||||
|
* :c:data:`only_expected_s2`
|
||||||
|
* :c:data:`psi_bilinear_matrix_values`
|
||||||
|
* :c:data:`psi_bilinear_matrix_order_reverse`
|
||||||
|
* :c:data:`psi_coef`
|
||||||
|
* :c:data:`psi_det_alpha_unique`
|
||||||
|
* :c:data:`psi_det_beta_unique`
|
||||||
|
* :c:data:`qp_max_mem`
|
||||||
|
* :c:data:`s2_eig`
|
||||||
|
* :c:data:`state_following`
|
||||||
|
* :c:data:`threshold_davidson`
|
||||||
|
* :c:data:`threshold_davidson_from_pt2`
|
||||||
|
* :c:data:`threshold_davidson_pt2`
|
||||||
|
|
||||||
Called by:
|
Called by:
|
||||||
|
|
||||||
@ -652,8 +617,6 @@ Subroutines / functions
|
|||||||
|
|
||||||
* :c:func:`c_f_pointer`
|
* :c:func:`c_f_pointer`
|
||||||
* :c:func:`check_mem`
|
* :c:func:`check_mem`
|
||||||
* :c:func:`cpu_time`
|
|
||||||
* :c:func:`davidson_converged`
|
|
||||||
* :c:func:`dgemm`
|
* :c:func:`dgemm`
|
||||||
* :c:func:`dswap`
|
* :c:func:`dswap`
|
||||||
* :c:func:`h_s2_u_0_nstates_openmp`
|
* :c:func:`h_s2_u_0_nstates_openmp`
|
||||||
@ -662,11 +625,12 @@ Subroutines / functions
|
|||||||
* :c:func:`mmap`
|
* :c:func:`mmap`
|
||||||
* :c:func:`munmap`
|
* :c:func:`munmap`
|
||||||
* :c:func:`normalize`
|
* :c:func:`normalize`
|
||||||
|
* :c:func:`nullify_small_elements`
|
||||||
* :c:func:`ortho_qr`
|
* :c:func:`ortho_qr`
|
||||||
|
* :c:func:`ortho_qr_unblocked`
|
||||||
* :c:func:`random_number`
|
* :c:func:`random_number`
|
||||||
* :c:func:`resident_memory`
|
* :c:func:`resident_memory`
|
||||||
* :c:func:`sgemm`
|
* :c:func:`sgemm`
|
||||||
* :c:func:`wall_time`
|
|
||||||
* :c:func:`write_double`
|
* :c:func:`write_double`
|
||||||
* :c:func:`write_int`
|
* :c:func:`write_int`
|
||||||
* :c:func:`write_time`
|
* :c:func:`write_time`
|
||||||
@ -711,6 +675,7 @@ Subroutines / functions
|
|||||||
|
|
||||||
* :c:data:`dressing_column_h`
|
* :c:data:`dressing_column_h`
|
||||||
* :c:data:`mo_two_e_integrals_in_map`
|
* :c:data:`mo_two_e_integrals_in_map`
|
||||||
|
* :c:data:`n_int`
|
||||||
|
|
||||||
Called by:
|
Called by:
|
||||||
|
|
||||||
@ -751,8 +716,8 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`n_states_diag`
|
|
||||||
* :c:data:`n_det`
|
* :c:data:`n_det`
|
||||||
|
* :c:data:`n_states_diag`
|
||||||
|
|
||||||
Called by:
|
Called by:
|
||||||
|
|
||||||
@ -779,8 +744,8 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`n_states_diag`
|
|
||||||
* :c:data:`n_det`
|
* :c:data:`n_det`
|
||||||
|
* :c:data:`n_states_diag`
|
||||||
|
|
||||||
|
|
||||||
.. c:function:: davidson_push_results_async_recv:
|
.. c:function:: davidson_push_results_async_recv:
|
||||||
@ -820,8 +785,8 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`n_states_diag`
|
|
||||||
* :c:data:`n_det`
|
* :c:data:`n_det`
|
||||||
|
* :c:data:`n_states_diag`
|
||||||
|
|
||||||
Called by:
|
Called by:
|
||||||
|
|
||||||
@ -848,8 +813,8 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`n_states_diag`
|
|
||||||
* :c:data:`n_det`
|
* :c:data:`n_det`
|
||||||
|
* :c:data:`n_states_diag`
|
||||||
|
|
||||||
Called by:
|
Called by:
|
||||||
|
|
||||||
@ -907,13 +872,6 @@ Subroutines / functions
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
Called by:
|
|
||||||
|
|
||||||
.. hlist::
|
|
||||||
:columns: 3
|
|
||||||
|
|
||||||
* :c:func:`run_slave_main`
|
|
||||||
|
|
||||||
Calls:
|
Calls:
|
||||||
|
|
||||||
.. hlist::
|
.. hlist::
|
||||||
@ -938,18 +896,18 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`psi_det_beta_unique`
|
|
||||||
* :c:data:`mpi_rank`
|
|
||||||
* :c:data:`psi_bilinear_matrix_order_transp_reverse`
|
|
||||||
* :c:data:`psi_det_alpha_unique`
|
|
||||||
* :c:data:`mpi_initialized`
|
* :c:data:`mpi_initialized`
|
||||||
|
* :c:data:`mpi_rank`
|
||||||
* :c:data:`n_det`
|
* :c:data:`n_det`
|
||||||
|
* :c:data:`n_states_diag`
|
||||||
|
* :c:data:`nproc`
|
||||||
|
* :c:data:`psi_bilinear_matrix_columns_loc`
|
||||||
|
* :c:data:`psi_bilinear_matrix_order_transp_reverse`
|
||||||
* :c:data:`psi_bilinear_matrix_transp_values`
|
* :c:data:`psi_bilinear_matrix_transp_values`
|
||||||
* :c:data:`psi_bilinear_matrix_values`
|
* :c:data:`psi_bilinear_matrix_values`
|
||||||
* :c:data:`nproc`
|
* :c:data:`psi_det_alpha_unique`
|
||||||
|
* :c:data:`psi_det_beta_unique`
|
||||||
* :c:data:`ref_bitmask_energy`
|
* :c:data:`ref_bitmask_energy`
|
||||||
* :c:data:`n_states_diag`
|
|
||||||
* :c:data:`psi_bilinear_matrix_columns_loc`
|
|
||||||
|
|
||||||
Called by:
|
Called by:
|
||||||
|
|
||||||
@ -986,24 +944,15 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`psi_coef`
|
|
||||||
* :c:data:`ci_electronic_energy`
|
* :c:data:`ci_electronic_energy`
|
||||||
* :c:data:`n_states`
|
|
||||||
* :c:data:`n_det`
|
|
||||||
* :c:data:`ci_electronic_energy`
|
* :c:data:`ci_electronic_energy`
|
||||||
* :c:data:`psi_energy`
|
|
||||||
* :c:data:`ci_energy`
|
* :c:data:`ci_energy`
|
||||||
* :c:data:`ci_electronic_energy`
|
* :c:data:`ci_electronic_energy`
|
||||||
|
* :c:data:`n_det`
|
||||||
|
* :c:data:`n_states`
|
||||||
|
* :c:data:`psi_coef`
|
||||||
|
* :c:data:`psi_energy`
|
||||||
* :c:data:`psi_energy`
|
* :c:data:`psi_energy`
|
||||||
|
|
||||||
Called by:
|
|
||||||
|
|
||||||
.. hlist::
|
|
||||||
:columns: 3
|
|
||||||
|
|
||||||
* :c:func:`remove_small_contributions`
|
|
||||||
* :c:func:`run_cipsi`
|
|
||||||
* :c:func:`run_stochastic_cipsi`
|
|
||||||
|
|
||||||
Touches:
|
Touches:
|
||||||
|
|
||||||
@ -1040,9 +989,9 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
|
* :c:data:`n_det`
|
||||||
* :c:data:`psi_bilinear_matrix_order_reverse`
|
* :c:data:`psi_bilinear_matrix_order_reverse`
|
||||||
* :c:data:`psi_bilinear_matrix_values`
|
* :c:data:`psi_bilinear_matrix_values`
|
||||||
* :c:data:`n_det`
|
|
||||||
|
|
||||||
Called by:
|
Called by:
|
||||||
|
|
||||||
@ -1081,9 +1030,9 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`ref_bitmask_energy`
|
|
||||||
* :c:data:`n_det`
|
* :c:data:`n_det`
|
||||||
* :c:data:`n_int`
|
* :c:data:`n_int`
|
||||||
|
* :c:data:`ref_bitmask_energy`
|
||||||
|
|
||||||
Called by:
|
Called by:
|
||||||
|
|
||||||
@ -1108,7 +1057,7 @@ Subroutines / functions
|
|||||||
.. c:function:: h_s2_u_0_nstates_openmp_work_1:
|
.. c:function:: h_s2_u_0_nstates_openmp_work_1:
|
||||||
|
|
||||||
|
|
||||||
File : :file:`davidson/u0_h_u0.irp.f_template_645`
|
File : :file:`davidson/u0_h_u0.irp.f_template_708`
|
||||||
|
|
||||||
.. code:: fortran
|
.. code:: fortran
|
||||||
|
|
||||||
@ -1124,18 +1073,18 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`psi_det_beta_unique`
|
|
||||||
* :c:data:`psi_bilinear_matrix_order_transp_reverse`
|
|
||||||
* :c:data:`psi_det_alpha_unique`
|
|
||||||
* :c:data:`psi_bilinear_matrix_transp_rows_loc`
|
|
||||||
* :c:data:`singles_beta_csc`
|
|
||||||
* :c:data:`n_det`
|
* :c:data:`n_det`
|
||||||
* :c:data:`psi_bilinear_matrix_transp_values`
|
|
||||||
* :c:data:`nthreads_davidson`
|
|
||||||
* :c:data:`psi_bilinear_matrix_values`
|
|
||||||
* :c:data:`n_int`
|
* :c:data:`n_int`
|
||||||
* :c:data:`singles_beta_csc_idx`
|
* :c:data:`nthreads_davidson`
|
||||||
* :c:data:`psi_bilinear_matrix_columns_loc`
|
* :c:data:`psi_bilinear_matrix_columns_loc`
|
||||||
|
* :c:data:`psi_bilinear_matrix_order_transp_reverse`
|
||||||
|
* :c:data:`psi_bilinear_matrix_transp_rows_loc`
|
||||||
|
* :c:data:`psi_bilinear_matrix_transp_values`
|
||||||
|
* :c:data:`psi_bilinear_matrix_values`
|
||||||
|
* :c:data:`psi_det_alpha_unique`
|
||||||
|
* :c:data:`psi_det_beta_unique`
|
||||||
|
* :c:data:`singles_beta_csc`
|
||||||
|
* :c:data:`singles_beta_csc_idx`
|
||||||
|
|
||||||
Called by:
|
Called by:
|
||||||
|
|
||||||
@ -1160,7 +1109,7 @@ Subroutines / functions
|
|||||||
.. c:function:: h_s2_u_0_nstates_openmp_work_2:
|
.. c:function:: h_s2_u_0_nstates_openmp_work_2:
|
||||||
|
|
||||||
|
|
||||||
File : :file:`davidson/u0_h_u0.irp.f_template_645`
|
File : :file:`davidson/u0_h_u0.irp.f_template_708`
|
||||||
|
|
||||||
.. code:: fortran
|
.. code:: fortran
|
||||||
|
|
||||||
@ -1176,18 +1125,18 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`psi_det_beta_unique`
|
|
||||||
* :c:data:`psi_bilinear_matrix_order_transp_reverse`
|
|
||||||
* :c:data:`psi_det_alpha_unique`
|
|
||||||
* :c:data:`psi_bilinear_matrix_transp_rows_loc`
|
|
||||||
* :c:data:`singles_beta_csc`
|
|
||||||
* :c:data:`n_det`
|
* :c:data:`n_det`
|
||||||
* :c:data:`psi_bilinear_matrix_transp_values`
|
|
||||||
* :c:data:`nthreads_davidson`
|
|
||||||
* :c:data:`psi_bilinear_matrix_values`
|
|
||||||
* :c:data:`n_int`
|
* :c:data:`n_int`
|
||||||
* :c:data:`singles_beta_csc_idx`
|
* :c:data:`nthreads_davidson`
|
||||||
* :c:data:`psi_bilinear_matrix_columns_loc`
|
* :c:data:`psi_bilinear_matrix_columns_loc`
|
||||||
|
* :c:data:`psi_bilinear_matrix_order_transp_reverse`
|
||||||
|
* :c:data:`psi_bilinear_matrix_transp_rows_loc`
|
||||||
|
* :c:data:`psi_bilinear_matrix_transp_values`
|
||||||
|
* :c:data:`psi_bilinear_matrix_values`
|
||||||
|
* :c:data:`psi_det_alpha_unique`
|
||||||
|
* :c:data:`psi_det_beta_unique`
|
||||||
|
* :c:data:`singles_beta_csc`
|
||||||
|
* :c:data:`singles_beta_csc_idx`
|
||||||
|
|
||||||
Called by:
|
Called by:
|
||||||
|
|
||||||
@ -1212,7 +1161,7 @@ Subroutines / functions
|
|||||||
.. c:function:: h_s2_u_0_nstates_openmp_work_3:
|
.. c:function:: h_s2_u_0_nstates_openmp_work_3:
|
||||||
|
|
||||||
|
|
||||||
File : :file:`davidson/u0_h_u0.irp.f_template_645`
|
File : :file:`davidson/u0_h_u0.irp.f_template_708`
|
||||||
|
|
||||||
.. code:: fortran
|
.. code:: fortran
|
||||||
|
|
||||||
@ -1228,18 +1177,18 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`psi_det_beta_unique`
|
|
||||||
* :c:data:`psi_bilinear_matrix_order_transp_reverse`
|
|
||||||
* :c:data:`psi_det_alpha_unique`
|
|
||||||
* :c:data:`psi_bilinear_matrix_transp_rows_loc`
|
|
||||||
* :c:data:`singles_beta_csc`
|
|
||||||
* :c:data:`n_det`
|
* :c:data:`n_det`
|
||||||
* :c:data:`psi_bilinear_matrix_transp_values`
|
|
||||||
* :c:data:`nthreads_davidson`
|
|
||||||
* :c:data:`psi_bilinear_matrix_values`
|
|
||||||
* :c:data:`n_int`
|
* :c:data:`n_int`
|
||||||
* :c:data:`singles_beta_csc_idx`
|
* :c:data:`nthreads_davidson`
|
||||||
* :c:data:`psi_bilinear_matrix_columns_loc`
|
* :c:data:`psi_bilinear_matrix_columns_loc`
|
||||||
|
* :c:data:`psi_bilinear_matrix_order_transp_reverse`
|
||||||
|
* :c:data:`psi_bilinear_matrix_transp_rows_loc`
|
||||||
|
* :c:data:`psi_bilinear_matrix_transp_values`
|
||||||
|
* :c:data:`psi_bilinear_matrix_values`
|
||||||
|
* :c:data:`psi_det_alpha_unique`
|
||||||
|
* :c:data:`psi_det_beta_unique`
|
||||||
|
* :c:data:`singles_beta_csc`
|
||||||
|
* :c:data:`singles_beta_csc_idx`
|
||||||
|
|
||||||
Called by:
|
Called by:
|
||||||
|
|
||||||
@ -1264,7 +1213,7 @@ Subroutines / functions
|
|||||||
.. c:function:: h_s2_u_0_nstates_openmp_work_4:
|
.. c:function:: h_s2_u_0_nstates_openmp_work_4:
|
||||||
|
|
||||||
|
|
||||||
File : :file:`davidson/u0_h_u0.irp.f_template_645`
|
File : :file:`davidson/u0_h_u0.irp.f_template_708`
|
||||||
|
|
||||||
.. code:: fortran
|
.. code:: fortran
|
||||||
|
|
||||||
@ -1280,18 +1229,18 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`psi_det_beta_unique`
|
|
||||||
* :c:data:`psi_bilinear_matrix_order_transp_reverse`
|
|
||||||
* :c:data:`psi_det_alpha_unique`
|
|
||||||
* :c:data:`psi_bilinear_matrix_transp_rows_loc`
|
|
||||||
* :c:data:`singles_beta_csc`
|
|
||||||
* :c:data:`n_det`
|
* :c:data:`n_det`
|
||||||
* :c:data:`psi_bilinear_matrix_transp_values`
|
|
||||||
* :c:data:`nthreads_davidson`
|
|
||||||
* :c:data:`psi_bilinear_matrix_values`
|
|
||||||
* :c:data:`n_int`
|
* :c:data:`n_int`
|
||||||
* :c:data:`singles_beta_csc_idx`
|
* :c:data:`nthreads_davidson`
|
||||||
* :c:data:`psi_bilinear_matrix_columns_loc`
|
* :c:data:`psi_bilinear_matrix_columns_loc`
|
||||||
|
* :c:data:`psi_bilinear_matrix_order_transp_reverse`
|
||||||
|
* :c:data:`psi_bilinear_matrix_transp_rows_loc`
|
||||||
|
* :c:data:`psi_bilinear_matrix_transp_values`
|
||||||
|
* :c:data:`psi_bilinear_matrix_values`
|
||||||
|
* :c:data:`psi_det_alpha_unique`
|
||||||
|
* :c:data:`psi_det_beta_unique`
|
||||||
|
* :c:data:`singles_beta_csc`
|
||||||
|
* :c:data:`singles_beta_csc_idx`
|
||||||
|
|
||||||
Called by:
|
Called by:
|
||||||
|
|
||||||
@ -1316,7 +1265,7 @@ Subroutines / functions
|
|||||||
.. c:function:: h_s2_u_0_nstates_openmp_work_n_int:
|
.. c:function:: h_s2_u_0_nstates_openmp_work_n_int:
|
||||||
|
|
||||||
|
|
||||||
File : :file:`davidson/u0_h_u0.irp.f_template_645`
|
File : :file:`davidson/u0_h_u0.irp.f_template_708`
|
||||||
|
|
||||||
.. code:: fortran
|
.. code:: fortran
|
||||||
|
|
||||||
@ -1332,18 +1281,18 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`psi_det_beta_unique`
|
|
||||||
* :c:data:`psi_bilinear_matrix_order_transp_reverse`
|
|
||||||
* :c:data:`psi_det_alpha_unique`
|
|
||||||
* :c:data:`psi_bilinear_matrix_transp_rows_loc`
|
|
||||||
* :c:data:`singles_beta_csc`
|
|
||||||
* :c:data:`n_det`
|
* :c:data:`n_det`
|
||||||
* :c:data:`psi_bilinear_matrix_transp_values`
|
|
||||||
* :c:data:`nthreads_davidson`
|
|
||||||
* :c:data:`psi_bilinear_matrix_values`
|
|
||||||
* :c:data:`n_int`
|
* :c:data:`n_int`
|
||||||
* :c:data:`singles_beta_csc_idx`
|
* :c:data:`nthreads_davidson`
|
||||||
* :c:data:`psi_bilinear_matrix_columns_loc`
|
* :c:data:`psi_bilinear_matrix_columns_loc`
|
||||||
|
* :c:data:`psi_bilinear_matrix_order_transp_reverse`
|
||||||
|
* :c:data:`psi_bilinear_matrix_transp_rows_loc`
|
||||||
|
* :c:data:`psi_bilinear_matrix_transp_values`
|
||||||
|
* :c:data:`psi_bilinear_matrix_values`
|
||||||
|
* :c:data:`psi_det_alpha_unique`
|
||||||
|
* :c:data:`psi_det_beta_unique`
|
||||||
|
* :c:data:`singles_beta_csc`
|
||||||
|
* :c:data:`singles_beta_csc_idx`
|
||||||
|
|
||||||
Called by:
|
Called by:
|
||||||
|
|
||||||
@ -1388,17 +1337,18 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`psi_det_beta_unique`
|
|
||||||
* :c:data:`psi_bilinear_matrix_order_transp_reverse`
|
|
||||||
* :c:data:`psi_det_alpha_unique`
|
|
||||||
* :c:data:`psi_bilinear_matrix_order_reverse`
|
|
||||||
* :c:data:`mpi_initialized`
|
* :c:data:`mpi_initialized`
|
||||||
* :c:data:`n_det`
|
* :c:data:`n_det`
|
||||||
|
* :c:data:`n_states_diag`
|
||||||
|
* :c:data:`nproc`
|
||||||
|
* :c:data:`psi_bilinear_matrix_columns_loc`
|
||||||
|
* :c:data:`psi_bilinear_matrix_order_reverse`
|
||||||
|
* :c:data:`psi_bilinear_matrix_order_transp_reverse`
|
||||||
* :c:data:`psi_bilinear_matrix_transp_values`
|
* :c:data:`psi_bilinear_matrix_transp_values`
|
||||||
* :c:data:`psi_bilinear_matrix_values`
|
* :c:data:`psi_bilinear_matrix_values`
|
||||||
* :c:data:`nproc`
|
* :c:data:`psi_det_alpha_unique`
|
||||||
|
* :c:data:`psi_det_beta_unique`
|
||||||
* :c:data:`ref_bitmask_energy`
|
* :c:data:`ref_bitmask_energy`
|
||||||
* :c:data:`psi_bilinear_matrix_columns_loc`
|
|
||||||
|
|
||||||
Called by:
|
Called by:
|
||||||
|
|
||||||
@ -1443,9 +1393,9 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
|
* :c:data:`n_det`
|
||||||
* :c:data:`psi_bilinear_matrix_order_reverse`
|
* :c:data:`psi_bilinear_matrix_order_reverse`
|
||||||
* :c:data:`psi_bilinear_matrix_values`
|
* :c:data:`psi_bilinear_matrix_values`
|
||||||
* :c:data:`n_det`
|
|
||||||
|
|
||||||
Called by:
|
Called by:
|
||||||
|
|
||||||
@ -1483,9 +1433,9 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`ref_bitmask_energy`
|
|
||||||
* :c:data:`n_det`
|
* :c:data:`n_det`
|
||||||
* :c:data:`n_int`
|
* :c:data:`n_int`
|
||||||
|
* :c:data:`ref_bitmask_energy`
|
||||||
|
|
||||||
Called by:
|
Called by:
|
||||||
|
|
||||||
@ -1525,16 +1475,16 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`psi_det_beta_unique`
|
|
||||||
* :c:data:`psi_bilinear_matrix_order_transp_reverse`
|
|
||||||
* :c:data:`psi_det_alpha_unique`
|
|
||||||
* :c:data:`psi_bilinear_matrix_transp_rows_loc`
|
|
||||||
* :c:data:`n_det`
|
* :c:data:`n_det`
|
||||||
* :c:data:`psi_bilinear_matrix_transp_values`
|
|
||||||
* :c:data:`nthreads_davidson`
|
|
||||||
* :c:data:`psi_bilinear_matrix_values`
|
|
||||||
* :c:data:`n_int`
|
* :c:data:`n_int`
|
||||||
|
* :c:data:`nthreads_davidson`
|
||||||
* :c:data:`psi_bilinear_matrix_columns_loc`
|
* :c:data:`psi_bilinear_matrix_columns_loc`
|
||||||
|
* :c:data:`psi_bilinear_matrix_order_transp_reverse`
|
||||||
|
* :c:data:`psi_bilinear_matrix_transp_rows_loc`
|
||||||
|
* :c:data:`psi_bilinear_matrix_transp_values`
|
||||||
|
* :c:data:`psi_bilinear_matrix_values`
|
||||||
|
* :c:data:`psi_det_alpha_unique`
|
||||||
|
* :c:data:`psi_det_beta_unique`
|
||||||
|
|
||||||
Called by:
|
Called by:
|
||||||
|
|
||||||
@ -1575,16 +1525,16 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`psi_det_beta_unique`
|
|
||||||
* :c:data:`psi_bilinear_matrix_order_transp_reverse`
|
|
||||||
* :c:data:`psi_det_alpha_unique`
|
|
||||||
* :c:data:`psi_bilinear_matrix_transp_rows_loc`
|
|
||||||
* :c:data:`n_det`
|
* :c:data:`n_det`
|
||||||
* :c:data:`psi_bilinear_matrix_transp_values`
|
|
||||||
* :c:data:`nthreads_davidson`
|
|
||||||
* :c:data:`psi_bilinear_matrix_values`
|
|
||||||
* :c:data:`n_int`
|
* :c:data:`n_int`
|
||||||
|
* :c:data:`nthreads_davidson`
|
||||||
* :c:data:`psi_bilinear_matrix_columns_loc`
|
* :c:data:`psi_bilinear_matrix_columns_loc`
|
||||||
|
* :c:data:`psi_bilinear_matrix_order_transp_reverse`
|
||||||
|
* :c:data:`psi_bilinear_matrix_transp_rows_loc`
|
||||||
|
* :c:data:`psi_bilinear_matrix_transp_values`
|
||||||
|
* :c:data:`psi_bilinear_matrix_values`
|
||||||
|
* :c:data:`psi_det_alpha_unique`
|
||||||
|
* :c:data:`psi_det_beta_unique`
|
||||||
|
|
||||||
Called by:
|
Called by:
|
||||||
|
|
||||||
@ -1625,16 +1575,16 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`psi_det_beta_unique`
|
|
||||||
* :c:data:`psi_bilinear_matrix_order_transp_reverse`
|
|
||||||
* :c:data:`psi_det_alpha_unique`
|
|
||||||
* :c:data:`psi_bilinear_matrix_transp_rows_loc`
|
|
||||||
* :c:data:`n_det`
|
* :c:data:`n_det`
|
||||||
* :c:data:`psi_bilinear_matrix_transp_values`
|
|
||||||
* :c:data:`nthreads_davidson`
|
|
||||||
* :c:data:`psi_bilinear_matrix_values`
|
|
||||||
* :c:data:`n_int`
|
* :c:data:`n_int`
|
||||||
|
* :c:data:`nthreads_davidson`
|
||||||
* :c:data:`psi_bilinear_matrix_columns_loc`
|
* :c:data:`psi_bilinear_matrix_columns_loc`
|
||||||
|
* :c:data:`psi_bilinear_matrix_order_transp_reverse`
|
||||||
|
* :c:data:`psi_bilinear_matrix_transp_rows_loc`
|
||||||
|
* :c:data:`psi_bilinear_matrix_transp_values`
|
||||||
|
* :c:data:`psi_bilinear_matrix_values`
|
||||||
|
* :c:data:`psi_det_alpha_unique`
|
||||||
|
* :c:data:`psi_det_beta_unique`
|
||||||
|
|
||||||
Called by:
|
Called by:
|
||||||
|
|
||||||
@ -1675,16 +1625,16 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`psi_det_beta_unique`
|
|
||||||
* :c:data:`psi_bilinear_matrix_order_transp_reverse`
|
|
||||||
* :c:data:`psi_det_alpha_unique`
|
|
||||||
* :c:data:`psi_bilinear_matrix_transp_rows_loc`
|
|
||||||
* :c:data:`n_det`
|
* :c:data:`n_det`
|
||||||
* :c:data:`psi_bilinear_matrix_transp_values`
|
|
||||||
* :c:data:`nthreads_davidson`
|
|
||||||
* :c:data:`psi_bilinear_matrix_values`
|
|
||||||
* :c:data:`n_int`
|
* :c:data:`n_int`
|
||||||
|
* :c:data:`nthreads_davidson`
|
||||||
* :c:data:`psi_bilinear_matrix_columns_loc`
|
* :c:data:`psi_bilinear_matrix_columns_loc`
|
||||||
|
* :c:data:`psi_bilinear_matrix_order_transp_reverse`
|
||||||
|
* :c:data:`psi_bilinear_matrix_transp_rows_loc`
|
||||||
|
* :c:data:`psi_bilinear_matrix_transp_values`
|
||||||
|
* :c:data:`psi_bilinear_matrix_values`
|
||||||
|
* :c:data:`psi_det_alpha_unique`
|
||||||
|
* :c:data:`psi_det_beta_unique`
|
||||||
|
|
||||||
Called by:
|
Called by:
|
||||||
|
|
||||||
@ -1725,16 +1675,16 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`psi_det_beta_unique`
|
|
||||||
* :c:data:`psi_bilinear_matrix_order_transp_reverse`
|
|
||||||
* :c:data:`psi_det_alpha_unique`
|
|
||||||
* :c:data:`psi_bilinear_matrix_transp_rows_loc`
|
|
||||||
* :c:data:`n_det`
|
* :c:data:`n_det`
|
||||||
* :c:data:`psi_bilinear_matrix_transp_values`
|
|
||||||
* :c:data:`nthreads_davidson`
|
|
||||||
* :c:data:`psi_bilinear_matrix_values`
|
|
||||||
* :c:data:`n_int`
|
* :c:data:`n_int`
|
||||||
|
* :c:data:`nthreads_davidson`
|
||||||
* :c:data:`psi_bilinear_matrix_columns_loc`
|
* :c:data:`psi_bilinear_matrix_columns_loc`
|
||||||
|
* :c:data:`psi_bilinear_matrix_order_transp_reverse`
|
||||||
|
* :c:data:`psi_bilinear_matrix_transp_rows_loc`
|
||||||
|
* :c:data:`psi_bilinear_matrix_transp_values`
|
||||||
|
* :c:data:`psi_bilinear_matrix_values`
|
||||||
|
* :c:data:`psi_det_alpha_unique`
|
||||||
|
* :c:data:`psi_det_beta_unique`
|
||||||
|
|
||||||
Called by:
|
Called by:
|
||||||
|
|
||||||
@ -1774,20 +1724,13 @@ Subroutines / functions
|
|||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`mo_integrals_n_e`
|
* :c:data:`mo_integrals_n_e`
|
||||||
* :c:data:`n_states`
|
|
||||||
* :c:data:`mo_pseudo_integrals`
|
|
||||||
* :c:data:`mo_kinetic_integrals`
|
* :c:data:`mo_kinetic_integrals`
|
||||||
* :c:data:`mo_num`
|
* :c:data:`mo_num`
|
||||||
|
* :c:data:`mo_pseudo_integrals`
|
||||||
|
* :c:data:`n_states`
|
||||||
* :c:data:`nuclear_repulsion`
|
* :c:data:`nuclear_repulsion`
|
||||||
* :c:data:`psi_energy`
|
|
||||||
* :c:data:`one_e_dm_mo_alpha`
|
* :c:data:`one_e_dm_mo_alpha`
|
||||||
|
* :c:data:`psi_energy`
|
||||||
Called by:
|
|
||||||
|
|
||||||
.. hlist::
|
|
||||||
:columns: 3
|
|
||||||
|
|
||||||
* :c:func:`print_summary`
|
|
||||||
|
|
||||||
|
|
||||||
.. c:function:: u_0_h_u_0:
|
.. c:function:: u_0_h_u_0:
|
||||||
@ -1812,11 +1755,11 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`h_matrix_all_dets`
|
|
||||||
* :c:data:`s2_matrix_all_dets`
|
|
||||||
* :c:data:`n_states_diag`
|
|
||||||
* :c:data:`distributed_davidson`
|
* :c:data:`distributed_davidson`
|
||||||
|
* :c:data:`h_matrix_all_dets`
|
||||||
* :c:data:`n_det_max_full`
|
* :c:data:`n_det_max_full`
|
||||||
|
* :c:data:`n_states_diag`
|
||||||
|
* :c:data:`s2_matrix_all_dets`
|
||||||
|
|
||||||
Called by:
|
Called by:
|
||||||
|
|
||||||
@ -1881,9 +1824,9 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
|
* :c:data:`mpi_master`
|
||||||
* :c:data:`n_states_diag`
|
* :c:data:`n_states_diag`
|
||||||
* :c:data:`zmq_state`
|
* :c:data:`zmq_state`
|
||||||
* :c:data:`mpi_master`
|
|
||||||
|
|
||||||
Touches:
|
Touches:
|
||||||
|
|
||||||
|
@ -146,14 +146,6 @@ Providers
|
|||||||
* :c:data:`one_e_dm_mo_alpha_for_dft`
|
* :c:data:`one_e_dm_mo_alpha_for_dft`
|
||||||
* :c:data:`one_e_dm_mo_beta_for_dft`
|
* :c:data:`one_e_dm_mo_beta_for_dft`
|
||||||
|
|
||||||
Needed by:
|
|
||||||
|
|
||||||
.. hlist::
|
|
||||||
:columns: 3
|
|
||||||
|
|
||||||
* :c:data:`one_e_dm_alpha_at_r`
|
|
||||||
* :c:data:`one_e_dm_alpha_in_r`
|
|
||||||
* :c:data:`one_e_dm_and_grad_alpha_in_r`
|
|
||||||
|
|
||||||
|
|
||||||
.. c:var:: one_e_dm_alpha_ao_for_dft_no_core
|
.. c:var:: one_e_dm_alpha_ao_for_dft_no_core
|
||||||
@ -181,12 +173,64 @@ Providers
|
|||||||
* :c:data:`one_e_dm_mo_alpha_for_dft_no_core`
|
* :c:data:`one_e_dm_mo_alpha_for_dft_no_core`
|
||||||
* :c:data:`one_e_dm_mo_beta_for_dft_no_core`
|
* :c:data:`one_e_dm_mo_beta_for_dft_no_core`
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
.. c:var:: one_e_dm_average_alpha_mo_for_dft
|
||||||
|
|
||||||
|
|
||||||
|
File : :file:`density_for_dft/density_for_dft.irp.f`
|
||||||
|
|
||||||
|
.. code:: fortran
|
||||||
|
|
||||||
|
double precision, allocatable :: one_e_dm_average_alpha_mo_for_dft (mo_num,mo_num)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Needs:
|
||||||
|
|
||||||
|
.. hlist::
|
||||||
|
:columns: 3
|
||||||
|
|
||||||
|
* :c:data:`mo_num`
|
||||||
|
* :c:data:`n_states`
|
||||||
|
* :c:data:`one_e_dm_mo_alpha_for_dft`
|
||||||
|
* :c:data:`state_average_weight`
|
||||||
|
|
||||||
Needed by:
|
Needed by:
|
||||||
|
|
||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`one_e_dm_no_core_and_grad_alpha_in_r`
|
* :c:data:`one_e_dm_average_mo_for_dft`
|
||||||
|
|
||||||
|
|
||||||
|
.. c:var:: one_e_dm_average_beta_mo_for_dft
|
||||||
|
|
||||||
|
|
||||||
|
File : :file:`density_for_dft/density_for_dft.irp.f`
|
||||||
|
|
||||||
|
.. code:: fortran
|
||||||
|
|
||||||
|
double precision, allocatable :: one_e_dm_average_beta_mo_for_dft (mo_num,mo_num)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Needs:
|
||||||
|
|
||||||
|
.. hlist::
|
||||||
|
:columns: 3
|
||||||
|
|
||||||
|
* :c:data:`mo_num`
|
||||||
|
* :c:data:`n_states`
|
||||||
|
* :c:data:`one_e_dm_mo_beta_for_dft`
|
||||||
|
* :c:data:`state_average_weight`
|
||||||
|
|
||||||
|
Needed by:
|
||||||
|
|
||||||
|
.. hlist::
|
||||||
|
:columns: 3
|
||||||
|
|
||||||
|
* :c:data:`one_e_dm_average_mo_for_dft`
|
||||||
|
|
||||||
|
|
||||||
.. c:var:: one_e_dm_average_mo_for_dft
|
.. c:var:: one_e_dm_average_mo_for_dft
|
||||||
@ -206,16 +250,9 @@ Providers
|
|||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`mo_num`
|
* :c:data:`mo_num`
|
||||||
* :c:data:`n_states`
|
* :c:data:`one_e_dm_average_alpha_mo_for_dft`
|
||||||
* :c:data:`one_e_dm_mo_for_dft`
|
* :c:data:`one_e_dm_average_beta_mo_for_dft`
|
||||||
* :c:data:`state_average_weight`
|
|
||||||
|
|
||||||
Needed by:
|
|
||||||
|
|
||||||
.. hlist::
|
|
||||||
:columns: 3
|
|
||||||
|
|
||||||
* :c:data:`short_range_hartree_operator`
|
|
||||||
|
|
||||||
|
|
||||||
.. c:var:: one_e_dm_beta_ao_for_dft
|
.. c:var:: one_e_dm_beta_ao_for_dft
|
||||||
@ -246,14 +283,6 @@ Providers
|
|||||||
* :c:data:`one_e_dm_mo_alpha_for_dft`
|
* :c:data:`one_e_dm_mo_alpha_for_dft`
|
||||||
* :c:data:`one_e_dm_mo_beta_for_dft`
|
* :c:data:`one_e_dm_mo_beta_for_dft`
|
||||||
|
|
||||||
Needed by:
|
|
||||||
|
|
||||||
.. hlist::
|
|
||||||
:columns: 3
|
|
||||||
|
|
||||||
* :c:data:`one_e_dm_alpha_at_r`
|
|
||||||
* :c:data:`one_e_dm_alpha_in_r`
|
|
||||||
* :c:data:`one_e_dm_and_grad_alpha_in_r`
|
|
||||||
|
|
||||||
|
|
||||||
.. c:var:: one_e_dm_beta_ao_for_dft_no_core
|
.. c:var:: one_e_dm_beta_ao_for_dft_no_core
|
||||||
@ -281,12 +310,6 @@ Providers
|
|||||||
* :c:data:`one_e_dm_mo_alpha_for_dft_no_core`
|
* :c:data:`one_e_dm_mo_alpha_for_dft_no_core`
|
||||||
* :c:data:`one_e_dm_mo_beta_for_dft_no_core`
|
* :c:data:`one_e_dm_mo_beta_for_dft_no_core`
|
||||||
|
|
||||||
Needed by:
|
|
||||||
|
|
||||||
.. hlist::
|
|
||||||
:columns: 3
|
|
||||||
|
|
||||||
* :c:data:`one_e_dm_no_core_and_grad_alpha_in_r`
|
|
||||||
|
|
||||||
|
|
||||||
.. c:var:: one_e_dm_mo_alpha_for_dft
|
.. c:var:: one_e_dm_mo_alpha_for_dft
|
||||||
@ -311,7 +334,7 @@ Providers
|
|||||||
* :c:data:`data_one_e_dm_alpha_mo`
|
* :c:data:`data_one_e_dm_alpha_mo`
|
||||||
* :c:data:`density_for_dft`
|
* :c:data:`density_for_dft`
|
||||||
* :c:data:`elec_alpha_num`
|
* :c:data:`elec_alpha_num`
|
||||||
* :c:data:`list_inact`
|
* :c:data:`list_core`
|
||||||
* :c:data:`mo_coef`
|
* :c:data:`mo_coef`
|
||||||
* :c:data:`mo_num`
|
* :c:data:`mo_num`
|
||||||
* :c:data:`n_core_orb`
|
* :c:data:`n_core_orb`
|
||||||
@ -328,11 +351,9 @@ Providers
|
|||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`one_e_dm_alpha_ao_for_dft`
|
* :c:data:`one_e_dm_alpha_ao_for_dft`
|
||||||
|
* :c:data:`one_e_dm_average_alpha_mo_for_dft`
|
||||||
* :c:data:`one_e_dm_mo_alpha_for_dft_no_core`
|
* :c:data:`one_e_dm_mo_alpha_for_dft_no_core`
|
||||||
* :c:data:`one_e_dm_mo_for_dft`
|
* :c:data:`one_e_dm_mo_for_dft`
|
||||||
* :c:data:`psi_dft_energy_kinetic`
|
|
||||||
* :c:data:`trace_v_xc`
|
|
||||||
* :c:data:`trace_v_xc_new`
|
|
||||||
|
|
||||||
|
|
||||||
.. c:var:: one_e_dm_mo_alpha_for_dft_no_core
|
.. c:var:: one_e_dm_mo_alpha_for_dft_no_core
|
||||||
@ -352,7 +373,7 @@ Providers
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`list_inact`
|
* :c:data:`list_core`
|
||||||
* :c:data:`mo_num`
|
* :c:data:`mo_num`
|
||||||
* :c:data:`n_core_orb`
|
* :c:data:`n_core_orb`
|
||||||
* :c:data:`n_states`
|
* :c:data:`n_states`
|
||||||
@ -388,7 +409,7 @@ Providers
|
|||||||
* :c:data:`data_one_e_dm_beta_mo`
|
* :c:data:`data_one_e_dm_beta_mo`
|
||||||
* :c:data:`density_for_dft`
|
* :c:data:`density_for_dft`
|
||||||
* :c:data:`elec_beta_num`
|
* :c:data:`elec_beta_num`
|
||||||
* :c:data:`list_inact`
|
* :c:data:`list_core`
|
||||||
* :c:data:`mo_coef`
|
* :c:data:`mo_coef`
|
||||||
* :c:data:`mo_num`
|
* :c:data:`mo_num`
|
||||||
* :c:data:`n_core_orb`
|
* :c:data:`n_core_orb`
|
||||||
@ -405,11 +426,9 @@ Providers
|
|||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`one_e_dm_alpha_ao_for_dft`
|
* :c:data:`one_e_dm_alpha_ao_for_dft`
|
||||||
|
* :c:data:`one_e_dm_average_beta_mo_for_dft`
|
||||||
* :c:data:`one_e_dm_mo_beta_for_dft_no_core`
|
* :c:data:`one_e_dm_mo_beta_for_dft_no_core`
|
||||||
* :c:data:`one_e_dm_mo_for_dft`
|
* :c:data:`one_e_dm_mo_for_dft`
|
||||||
* :c:data:`psi_dft_energy_kinetic`
|
|
||||||
* :c:data:`trace_v_xc`
|
|
||||||
* :c:data:`trace_v_xc_new`
|
|
||||||
|
|
||||||
|
|
||||||
.. c:var:: one_e_dm_mo_beta_for_dft_no_core
|
.. c:var:: one_e_dm_mo_beta_for_dft_no_core
|
||||||
@ -429,7 +448,7 @@ Providers
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`list_inact`
|
* :c:data:`list_core`
|
||||||
* :c:data:`mo_num`
|
* :c:data:`mo_num`
|
||||||
* :c:data:`n_core_orb`
|
* :c:data:`n_core_orb`
|
||||||
* :c:data:`n_states`
|
* :c:data:`n_states`
|
||||||
@ -464,11 +483,4 @@ Providers
|
|||||||
* :c:data:`one_e_dm_mo_alpha_for_dft`
|
* :c:data:`one_e_dm_mo_alpha_for_dft`
|
||||||
* :c:data:`one_e_dm_mo_beta_for_dft`
|
* :c:data:`one_e_dm_mo_beta_for_dft`
|
||||||
|
|
||||||
Needed by:
|
|
||||||
|
|
||||||
.. hlist::
|
|
||||||
:columns: 3
|
|
||||||
|
|
||||||
* :c:data:`one_e_dm_average_mo_for_dft`
|
|
||||||
* :c:data:`short_range_hartree_operator`
|
|
||||||
|
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -107,10 +107,4 @@ Providers
|
|||||||
* :c:data:`correlation_functional`
|
* :c:data:`correlation_functional`
|
||||||
* :c:data:`exchange_functional`
|
* :c:data:`exchange_functional`
|
||||||
|
|
||||||
Needed by:
|
|
||||||
|
|
||||||
.. hlist::
|
|
||||||
:columns: 3
|
|
||||||
|
|
||||||
* :c:data:`ao_potential_alpha_xc`
|
|
||||||
|
|
||||||
|
@ -76,7 +76,6 @@ Providers
|
|||||||
|
|
||||||
* :c:data:`diagonal_h_matrix_on_psi_det`
|
* :c:data:`diagonal_h_matrix_on_psi_det`
|
||||||
* :c:data:`psi_det_hii`
|
* :c:data:`psi_det_hii`
|
||||||
* :c:data:`psi_selectors_diag_h_mat`
|
|
||||||
|
|
||||||
|
|
||||||
.. c:var:: elec_num_tab
|
.. c:var:: elec_num_tab
|
||||||
@ -108,5 +107,4 @@ Providers
|
|||||||
|
|
||||||
* :c:data:`diagonal_h_matrix_on_psi_det`
|
* :c:data:`diagonal_h_matrix_on_psi_det`
|
||||||
* :c:data:`psi_det_hii`
|
* :c:data:`psi_det_hii`
|
||||||
* :c:data:`psi_selectors_diag_h_mat`
|
|
||||||
|
|
||||||
|
@ -97,6 +97,7 @@ Providers
|
|||||||
.. code:: fortran
|
.. code:: fortran
|
||||||
|
|
||||||
logical :: do_only_1h1p
|
logical :: do_only_1h1p
|
||||||
|
logical :: do_only_cas
|
||||||
logical :: do_ddci
|
logical :: do_ddci
|
||||||
|
|
||||||
|
|
||||||
@ -112,6 +113,23 @@ Providers
|
|||||||
.. code:: fortran
|
.. code:: fortran
|
||||||
|
|
||||||
logical :: do_only_1h1p
|
logical :: do_only_1h1p
|
||||||
|
logical :: do_only_cas
|
||||||
|
logical :: do_ddci
|
||||||
|
|
||||||
|
|
||||||
|
In the FCI case, all those are always false
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
.. c:var:: do_only_cas
|
||||||
|
|
||||||
|
|
||||||
|
File : :file:`fci/class.irp.f`
|
||||||
|
|
||||||
|
.. code:: fortran
|
||||||
|
|
||||||
|
logical :: do_only_1h1p
|
||||||
|
logical :: do_only_cas
|
||||||
logical :: do_ddci
|
logical :: do_ddci
|
||||||
|
|
||||||
|
|
||||||
|
@ -86,8 +86,10 @@ Providers
|
|||||||
* :c:data:`ao_two_e_integral_schwartz`
|
* :c:data:`ao_two_e_integral_schwartz`
|
||||||
* :c:data:`ao_two_e_integrals_in_map`
|
* :c:data:`ao_two_e_integrals_in_map`
|
||||||
* :c:data:`do_direct_integrals`
|
* :c:data:`do_direct_integrals`
|
||||||
|
* :c:data:`is_periodic`
|
||||||
* :c:data:`n_pt_max_integrals`
|
* :c:data:`n_pt_max_integrals`
|
||||||
* :c:data:`nucl_coord`
|
* :c:data:`nucl_coord`
|
||||||
|
* :c:data:`read_ao_two_e_integrals`
|
||||||
* :c:data:`scf_density_matrix_ao_alpha`
|
* :c:data:`scf_density_matrix_ao_alpha`
|
||||||
* :c:data:`scf_density_matrix_ao_beta`
|
* :c:data:`scf_density_matrix_ao_beta`
|
||||||
|
|
||||||
@ -130,8 +132,10 @@ Providers
|
|||||||
* :c:data:`ao_two_e_integral_schwartz`
|
* :c:data:`ao_two_e_integral_schwartz`
|
||||||
* :c:data:`ao_two_e_integrals_in_map`
|
* :c:data:`ao_two_e_integrals_in_map`
|
||||||
* :c:data:`do_direct_integrals`
|
* :c:data:`do_direct_integrals`
|
||||||
|
* :c:data:`is_periodic`
|
||||||
* :c:data:`n_pt_max_integrals`
|
* :c:data:`n_pt_max_integrals`
|
||||||
* :c:data:`nucl_coord`
|
* :c:data:`nucl_coord`
|
||||||
|
* :c:data:`read_ao_two_e_integrals`
|
||||||
* :c:data:`scf_density_matrix_ao_alpha`
|
* :c:data:`scf_density_matrix_ao_alpha`
|
||||||
* :c:data:`scf_density_matrix_ao_beta`
|
* :c:data:`scf_density_matrix_ao_beta`
|
||||||
|
|
||||||
@ -339,12 +343,14 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
|
* :c:data:`ao_num`
|
||||||
|
* :c:data:`ao_ortho_lowdin_coef`
|
||||||
* :c:data:`ezfio_filename`
|
* :c:data:`ezfio_filename`
|
||||||
* :c:data:`mo_coef`
|
* :c:data:`mo_coef`
|
||||||
* :c:data:`mo_guess_type`
|
* :c:data:`mo_guess_type`
|
||||||
* :c:data:`mo_one_e_integrals`
|
|
||||||
* :c:data:`ao_ortho_lowdin_coef`
|
|
||||||
* :c:data:`mo_label`
|
* :c:data:`mo_label`
|
||||||
|
* :c:data:`mo_num`
|
||||||
|
* :c:data:`mo_one_e_integrals`
|
||||||
|
|
||||||
Called by:
|
Called by:
|
||||||
|
|
||||||
@ -361,6 +367,7 @@ Subroutines / functions
|
|||||||
* :c:func:`ezfio_has_mo_basis_mo_coef`
|
* :c:func:`ezfio_has_mo_basis_mo_coef`
|
||||||
* :c:func:`huckel_guess`
|
* :c:func:`huckel_guess`
|
||||||
* :c:func:`mo_as_eigvectors_of_mo_matrix`
|
* :c:func:`mo_as_eigvectors_of_mo_matrix`
|
||||||
|
* :c:func:`restore_symmetry`
|
||||||
|
|
||||||
Touches:
|
Touches:
|
||||||
|
|
||||||
@ -372,51 +379,3 @@ Subroutines / functions
|
|||||||
* :c:data:`mo_coef`
|
* :c:data:`mo_coef`
|
||||||
* :c:data:`mo_label`
|
* :c:data:`mo_label`
|
||||||
|
|
||||||
|
|
||||||
.. c:function:: run:
|
|
||||||
|
|
||||||
|
|
||||||
File : :file:`hartree_fock/scf.irp.f`
|
|
||||||
|
|
||||||
.. code:: fortran
|
|
||||||
|
|
||||||
subroutine run
|
|
||||||
|
|
||||||
|
|
||||||
Run SCF calculation
|
|
||||||
|
|
||||||
Needs:
|
|
||||||
|
|
||||||
.. hlist::
|
|
||||||
:columns: 3
|
|
||||||
|
|
||||||
* :c:data:`scf_energy`
|
|
||||||
* :c:data:`mo_label`
|
|
||||||
|
|
||||||
Called by:
|
|
||||||
|
|
||||||
.. hlist::
|
|
||||||
:columns: 3
|
|
||||||
|
|
||||||
* :c:func:`pt2`
|
|
||||||
* :c:func:`scf`
|
|
||||||
|
|
||||||
Calls:
|
|
||||||
|
|
||||||
.. hlist::
|
|
||||||
:columns: 3
|
|
||||||
|
|
||||||
* :c:func:`ezfio_set_hartree_fock_energy`
|
|
||||||
* :c:func:`roothaan_hall_scf`
|
|
||||||
|
|
||||||
Touches:
|
|
||||||
|
|
||||||
.. hlist::
|
|
||||||
:columns: 3
|
|
||||||
|
|
||||||
* :c:data:`fock_matrix_ao_alpha`
|
|
||||||
* :c:data:`fock_matrix_ao_alpha`
|
|
||||||
* :c:data:`mo_coef`
|
|
||||||
* :c:data:`level_shift`
|
|
||||||
* :c:data:`mo_coef`
|
|
||||||
|
|
||||||
|
@ -118,10 +118,10 @@ Subroutines / functions
|
|||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`extrapolated_energy`
|
* :c:data:`extrapolated_energy`
|
||||||
* :c:data:`n_states`
|
|
||||||
* :c:data:`n_det`
|
* :c:data:`n_det`
|
||||||
* :c:data:`pt2_iterations`
|
|
||||||
* :c:data:`n_iter`
|
* :c:data:`n_iter`
|
||||||
|
* :c:data:`n_states`
|
||||||
|
* :c:data:`pt2_iterations`
|
||||||
|
|
||||||
Called by:
|
Called by:
|
||||||
|
|
||||||
@ -139,7 +139,7 @@ Subroutines / functions
|
|||||||
|
|
||||||
.. code:: fortran
|
.. code:: fortran
|
||||||
|
|
||||||
subroutine print_summary(e_,pt2_,error_,variance_,norm_,n_det_,n_occ_pattern_,n_st,s2_)
|
subroutine print_summary(e_,pt2_data,pt2_data_err,n_det_,n_occ_pattern_,n_st,s2_)
|
||||||
|
|
||||||
|
|
||||||
Print the extrapolated energy in the output
|
Print the extrapolated energy in the output
|
||||||
@ -185,11 +185,11 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`n_iter`
|
|
||||||
* :c:data:`energy_iterations`
|
* :c:data:`energy_iterations`
|
||||||
|
* :c:data:`n_det_iterations`
|
||||||
|
* :c:data:`n_iter`
|
||||||
* :c:data:`n_states`
|
* :c:data:`n_states`
|
||||||
* :c:data:`pt2_iterations`
|
* :c:data:`pt2_iterations`
|
||||||
* :c:data:`n_det_iterations`
|
|
||||||
|
|
||||||
Called by:
|
Called by:
|
||||||
|
|
||||||
|
@ -461,8 +461,8 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`exchange_functional`
|
|
||||||
* :c:data:`correlation_functional`
|
* :c:data:`correlation_functional`
|
||||||
|
* :c:data:`exchange_functional`
|
||||||
|
|
||||||
Called by:
|
Called by:
|
||||||
|
|
||||||
|
@ -68,6 +68,49 @@ EZFIO parameters
|
|||||||
Providers
|
Providers
|
||||||
---------
|
---------
|
||||||
|
|
||||||
|
.. c:var:: mo_class
|
||||||
|
|
||||||
|
|
||||||
|
File : :file:`mo_basis/mo_class.irp.f`
|
||||||
|
|
||||||
|
.. code:: fortran
|
||||||
|
|
||||||
|
character*(32), allocatable :: mo_class (mo_num)
|
||||||
|
|
||||||
|
|
||||||
|
[ Core | Inactive | Active | Virtual | Deleted ], as defined by :ref:`qp_set_mo_class`
|
||||||
|
|
||||||
|
Needs:
|
||||||
|
|
||||||
|
.. hlist::
|
||||||
|
:columns: 3
|
||||||
|
|
||||||
|
* :c:data:`ezfio_filename`
|
||||||
|
* :c:data:`mo_num`
|
||||||
|
* :c:data:`mpi_master`
|
||||||
|
* :c:data:`output_wall_time_0`
|
||||||
|
|
||||||
|
Needed by:
|
||||||
|
|
||||||
|
.. hlist::
|
||||||
|
:columns: 3
|
||||||
|
|
||||||
|
* :c:data:`full_ijkl_bitmask`
|
||||||
|
* :c:data:`list_act`
|
||||||
|
* :c:data:`list_all_but_del_orb`
|
||||||
|
* :c:data:`list_core`
|
||||||
|
* :c:data:`list_del`
|
||||||
|
* :c:data:`list_inact`
|
||||||
|
* :c:data:`list_virt`
|
||||||
|
* :c:data:`mo_two_e_integrals_in_map`
|
||||||
|
* :c:data:`n_act_orb`
|
||||||
|
* :c:data:`n_all_but_del_orb`
|
||||||
|
* :c:data:`n_core_orb`
|
||||||
|
* :c:data:`n_del_orb`
|
||||||
|
* :c:data:`n_inact_orb`
|
||||||
|
* :c:data:`n_virt_orb`
|
||||||
|
|
||||||
|
|
||||||
.. c:var:: mo_coef
|
.. c:var:: mo_coef
|
||||||
|
|
||||||
|
|
||||||
@ -100,11 +143,8 @@ Providers
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`eigenvectors_fock_matrix_mo`
|
|
||||||
* :c:data:`fock_matrix_mo_alpha`
|
|
||||||
* :c:data:`fock_matrix_mo_beta`
|
|
||||||
* :c:data:`fps_spf_matrix_mo`
|
|
||||||
* :c:data:`mo_coef_in_ao_ortho_basis`
|
* :c:data:`mo_coef_in_ao_ortho_basis`
|
||||||
|
* :c:data:`mo_coef_novirt`
|
||||||
* :c:data:`mo_coef_transp`
|
* :c:data:`mo_coef_transp`
|
||||||
* :c:data:`mo_dipole_x`
|
* :c:data:`mo_dipole_x`
|
||||||
* :c:data:`mo_integrals_n_e`
|
* :c:data:`mo_integrals_n_e`
|
||||||
@ -113,32 +153,34 @@ Providers
|
|||||||
* :c:data:`mo_overlap`
|
* :c:data:`mo_overlap`
|
||||||
* :c:data:`mo_pseudo_integrals`
|
* :c:data:`mo_pseudo_integrals`
|
||||||
* :c:data:`mo_spread_x`
|
* :c:data:`mo_spread_x`
|
||||||
* :c:data:`mo_two_e_int_erf_jj_from_ao`
|
|
||||||
* :c:data:`mo_two_e_integral_jj_from_ao`
|
* :c:data:`mo_two_e_integral_jj_from_ao`
|
||||||
* :c:data:`mo_two_e_integrals_erf_in_map`
|
|
||||||
* :c:data:`mo_two_e_integrals_in_map`
|
* :c:data:`mo_two_e_integrals_in_map`
|
||||||
* :c:data:`mo_two_e_integrals_vv_from_ao`
|
* :c:data:`mo_two_e_integrals_vv_from_ao`
|
||||||
|
* :c:data:`one_e_dm_alpha_ao_for_dft`
|
||||||
|
* :c:data:`one_e_dm_alpha_ao_for_dft_no_core`
|
||||||
* :c:data:`one_e_dm_ao_alpha`
|
* :c:data:`one_e_dm_ao_alpha`
|
||||||
|
* :c:data:`one_e_dm_mo_alpha_for_dft`
|
||||||
|
* :c:data:`one_e_dm_mo_beta_for_dft`
|
||||||
* :c:data:`one_e_spin_density_ao`
|
* :c:data:`one_e_spin_density_ao`
|
||||||
* :c:data:`psi_det`
|
* :c:data:`psi_det`
|
||||||
* :c:data:`s_mo_coef`
|
* :c:data:`s_mo_coef`
|
||||||
* :c:data:`scf_density_matrix_ao_alpha`
|
|
||||||
* :c:data:`scf_density_matrix_ao_beta`
|
|
||||||
|
|
||||||
|
|
||||||
.. c:var:: mo_coef_begin_iteration
|
.. c:var:: mo_coef_imag
|
||||||
|
|
||||||
|
|
||||||
File : :file:`mo_basis/track_orb.irp.f`
|
File : :file:`mo_basis/mos.irp.f`
|
||||||
|
|
||||||
.. code:: fortran
|
.. code:: fortran
|
||||||
|
|
||||||
double precision, allocatable :: mo_coef_begin_iteration (ao_num,mo_num)
|
double precision, allocatable :: mo_coef_imag (ao_num,mo_num)
|
||||||
|
|
||||||
|
|
||||||
Void provider to store the coefficients of the |MO| basis at the beginning of the SCF iteration
|
Molecular orbital coefficients on |AO| basis set
|
||||||
|
|
||||||
Usefull to track some orbitals
|
mo_coef_imag(i,j) = coefficient of the i-th |AO| on the jth |MO|
|
||||||
|
|
||||||
|
mo_label : Label characterizing the |MOs| (local, canonical, natural, etc)
|
||||||
|
|
||||||
Needs:
|
Needs:
|
||||||
|
|
||||||
@ -146,7 +188,9 @@ Providers
|
|||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`ao_num`
|
* :c:data:`ao_num`
|
||||||
|
* :c:data:`ezfio_filename`
|
||||||
* :c:data:`mo_num`
|
* :c:data:`mo_num`
|
||||||
|
* :c:data:`mpi_master`
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -202,9 +246,7 @@ Providers
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`mo_two_e_int_erf_jj_from_ao`
|
|
||||||
* :c:data:`mo_two_e_integral_jj_from_ao`
|
* :c:data:`mo_two_e_integral_jj_from_ao`
|
||||||
* :c:data:`mo_two_e_integrals_erf_in_map`
|
|
||||||
* :c:data:`mo_two_e_integrals_in_map`
|
* :c:data:`mo_two_e_integrals_in_map`
|
||||||
* :c:data:`mo_two_e_integrals_vv_from_ao`
|
* :c:data:`mo_two_e_integrals_vv_from_ao`
|
||||||
|
|
||||||
@ -269,33 +311,31 @@ Providers
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`ao_ortho_canonical_nucl_elec_integrals`
|
* :c:data:`banned_excitation`
|
||||||
* :c:data:`ao_ortho_lowdin_nucl_elec_integrals`
|
|
||||||
* :c:data:`big_array_coulomb_integrals`
|
* :c:data:`big_array_coulomb_integrals`
|
||||||
* :c:data:`core_fock_operator`
|
* :c:data:`core_fock_operator`
|
||||||
* :c:data:`core_fock_operator_erf`
|
|
||||||
* :c:data:`data_one_e_dm_alpha_mo`
|
* :c:data:`data_one_e_dm_alpha_mo`
|
||||||
* :c:data:`data_one_e_dm_beta_mo`
|
* :c:data:`data_one_e_dm_beta_mo`
|
||||||
* :c:data:`eigenvectors_fock_matrix_mo`
|
|
||||||
* :c:data:`fock_matrix_ao`
|
|
||||||
* :c:data:`fock_matrix_mo`
|
|
||||||
* :c:data:`fock_matrix_mo_alpha`
|
|
||||||
* :c:data:`fock_matrix_mo_beta`
|
|
||||||
* :c:data:`fock_operator_closed_shell_ref_bitmask`
|
* :c:data:`fock_operator_closed_shell_ref_bitmask`
|
||||||
* :c:data:`fock_wee_closed_shell`
|
* :c:data:`fock_wee_closed_shell`
|
||||||
* :c:data:`fps_spf_matrix_mo`
|
|
||||||
* :c:data:`full_ijkl_bitmask`
|
* :c:data:`full_ijkl_bitmask`
|
||||||
* :c:data:`int_erf_3_index`
|
* :c:data:`list_act`
|
||||||
|
* :c:data:`list_all_but_del_orb`
|
||||||
|
* :c:data:`list_core`
|
||||||
|
* :c:data:`list_core_inact`
|
||||||
|
* :c:data:`list_core_inact_act`
|
||||||
|
* :c:data:`list_del`
|
||||||
* :c:data:`list_inact`
|
* :c:data:`list_inact`
|
||||||
|
* :c:data:`list_inact_act`
|
||||||
|
* :c:data:`list_virt`
|
||||||
* :c:data:`mo_class`
|
* :c:data:`mo_class`
|
||||||
* :c:data:`mo_coef`
|
* :c:data:`mo_coef`
|
||||||
* :c:data:`mo_coef_begin_iteration`
|
* :c:data:`mo_coef_begin_iteration`
|
||||||
|
* :c:data:`mo_coef_imag`
|
||||||
* :c:data:`mo_coef_in_ao_ortho_basis`
|
* :c:data:`mo_coef_in_ao_ortho_basis`
|
||||||
* :c:data:`mo_coef_transp`
|
* :c:data:`mo_coef_transp`
|
||||||
* :c:data:`mo_dipole_x`
|
* :c:data:`mo_dipole_x`
|
||||||
* :c:data:`mo_integrals_cache_min`
|
* :c:data:`mo_integrals_cache_min`
|
||||||
* :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_n_e`
|
* :c:data:`mo_integrals_n_e`
|
||||||
* :c:data:`mo_integrals_n_e_per_atom`
|
* :c:data:`mo_integrals_n_e_per_atom`
|
||||||
@ -305,21 +345,34 @@ Providers
|
|||||||
* :c:data:`mo_overlap`
|
* :c:data:`mo_overlap`
|
||||||
* :c:data:`mo_pseudo_integrals`
|
* :c:data:`mo_pseudo_integrals`
|
||||||
* :c:data:`mo_spread_x`
|
* :c:data:`mo_spread_x`
|
||||||
* :c:data:`mo_two_e_int_erf_jj`
|
|
||||||
* :c:data:`mo_two_e_int_erf_jj_from_ao`
|
|
||||||
* :c:data:`mo_two_e_integral_jj_from_ao`
|
* :c:data:`mo_two_e_integral_jj_from_ao`
|
||||||
* :c:data:`mo_two_e_integrals_erf_in_map`
|
|
||||||
* :c:data:`mo_two_e_integrals_in_map`
|
* :c:data:`mo_two_e_integrals_in_map`
|
||||||
* :c:data:`mo_two_e_integrals_jj`
|
* :c:data:`mo_two_e_integrals_jj`
|
||||||
* :c:data:`mo_two_e_integrals_vv_from_ao`
|
* :c:data:`mo_two_e_integrals_vv_from_ao`
|
||||||
|
* :c:data:`n_act_orb`
|
||||||
|
* :c:data:`n_all_but_del_orb`
|
||||||
* :c:data:`n_core_orb`
|
* :c:data:`n_core_orb`
|
||||||
|
* :c:data:`n_del_orb`
|
||||||
|
* :c:data:`n_inact_orb`
|
||||||
* :c:data:`n_int`
|
* :c:data:`n_int`
|
||||||
|
* :c:data:`n_virt_orb`
|
||||||
|
* :c:data:`one_body_dm_mo_alpha_one_det`
|
||||||
|
* :c:data:`one_e_dm_alpha_ao_for_dft`
|
||||||
|
* :c:data:`one_e_dm_alpha_ao_for_dft_no_core`
|
||||||
* :c:data:`one_e_dm_ao_alpha`
|
* :c:data:`one_e_dm_ao_alpha`
|
||||||
|
* :c:data:`one_e_dm_average_alpha_mo_for_dft`
|
||||||
|
* :c:data:`one_e_dm_average_beta_mo_for_dft`
|
||||||
|
* :c:data:`one_e_dm_average_mo_for_dft`
|
||||||
* :c:data:`one_e_dm_dagger_mo_spin_index`
|
* :c:data:`one_e_dm_dagger_mo_spin_index`
|
||||||
* :c:data:`one_e_dm_mo`
|
* :c:data:`one_e_dm_mo`
|
||||||
* :c:data:`one_e_dm_mo_alpha`
|
* :c:data:`one_e_dm_mo_alpha`
|
||||||
* :c:data:`one_e_dm_mo_alpha_average`
|
* :c:data:`one_e_dm_mo_alpha_average`
|
||||||
|
* :c:data:`one_e_dm_mo_alpha_for_dft`
|
||||||
|
* :c:data:`one_e_dm_mo_alpha_for_dft_no_core`
|
||||||
|
* :c:data:`one_e_dm_mo_beta_for_dft`
|
||||||
|
* :c:data:`one_e_dm_mo_beta_for_dft_no_core`
|
||||||
* :c:data:`one_e_dm_mo_diff`
|
* :c:data:`one_e_dm_mo_diff`
|
||||||
|
* :c:data:`one_e_dm_mo_for_dft`
|
||||||
* :c:data:`one_e_dm_mo_spin_index`
|
* :c:data:`one_e_dm_mo_spin_index`
|
||||||
* :c:data:`one_e_spin_density_ao`
|
* :c:data:`one_e_spin_density_ao`
|
||||||
* :c:data:`one_e_spin_density_mo`
|
* :c:data:`one_e_spin_density_mo`
|
||||||
@ -408,23 +461,23 @@ Subroutines / functions
|
|||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`ao_num`
|
* :c:data:`ao_num`
|
||||||
* :c:data:`mo_num`
|
|
||||||
* :c:data:`mo_coef`
|
* :c:data:`mo_coef`
|
||||||
|
* :c:data:`mo_num`
|
||||||
|
|
||||||
Called by:
|
Called by:
|
||||||
|
|
||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`fock_matrix_mo_alpha`
|
* :c:func:`four_idx_novvvv`
|
||||||
* :c:data:`fock_matrix_mo_beta`
|
|
||||||
* :c:data:`fps_spf_matrix_mo`
|
|
||||||
* :c:data:`mo_dipole_x`
|
* :c:data:`mo_dipole_x`
|
||||||
* :c:data:`mo_integrals_n_e`
|
* :c:data:`mo_integrals_n_e`
|
||||||
* :c:data:`mo_integrals_n_e_per_atom`
|
* :c:data:`mo_integrals_n_e_per_atom`
|
||||||
* :c:data:`mo_kinetic_integrals`
|
* :c:data:`mo_kinetic_integrals`
|
||||||
* :c:data:`mo_pseudo_integrals`
|
* :c:data:`mo_pseudo_integrals`
|
||||||
* :c:data:`mo_spread_x`
|
* :c:data:`mo_spread_x`
|
||||||
|
* :c:data:`one_e_dm_mo_alpha_for_dft`
|
||||||
|
* :c:data:`one_e_dm_mo_beta_for_dft`
|
||||||
|
|
||||||
Calls:
|
Calls:
|
||||||
|
|
||||||
@ -432,6 +485,7 @@ Subroutines / functions
|
|||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:func:`dgemm`
|
* :c:func:`dgemm`
|
||||||
|
* :c:func:`restore_symmetry`
|
||||||
|
|
||||||
|
|
||||||
.. c:function:: give_all_mos_and_grad_and_lapl_at_r:
|
.. c:function:: give_all_mos_and_grad_and_lapl_at_r:
|
||||||
@ -451,8 +505,8 @@ Subroutines / functions
|
|||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`ao_num`
|
* :c:data:`ao_num`
|
||||||
* :c:data:`mo_num`
|
|
||||||
* :c:data:`mo_coef`
|
* :c:data:`mo_coef`
|
||||||
|
* :c:data:`mo_num`
|
||||||
|
|
||||||
Calls:
|
Calls:
|
||||||
|
|
||||||
@ -479,8 +533,8 @@ Subroutines / functions
|
|||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`ao_num`
|
* :c:data:`ao_num`
|
||||||
* :c:data:`mo_num`
|
|
||||||
* :c:data:`mo_coef`
|
* :c:data:`mo_coef`
|
||||||
|
* :c:data:`mo_num`
|
||||||
|
|
||||||
Calls:
|
Calls:
|
||||||
|
|
||||||
@ -507,8 +561,8 @@ Subroutines / functions
|
|||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`ao_num`
|
* :c:data:`ao_num`
|
||||||
* :c:data:`mo_num`
|
|
||||||
* :c:data:`mo_coef_transp`
|
* :c:data:`mo_coef_transp`
|
||||||
|
* :c:data:`mo_num`
|
||||||
|
|
||||||
Calls:
|
Calls:
|
||||||
|
|
||||||
@ -519,36 +573,6 @@ Subroutines / functions
|
|||||||
* :c:func:`give_all_aos_at_r`
|
* :c:func:`give_all_aos_at_r`
|
||||||
|
|
||||||
|
|
||||||
.. c:function:: initialize_mo_coef_begin_iteration:
|
|
||||||
|
|
||||||
|
|
||||||
File : :file:`mo_basis/track_orb.irp.f`
|
|
||||||
|
|
||||||
.. code:: fortran
|
|
||||||
|
|
||||||
subroutine initialize_mo_coef_begin_iteration
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Initialize :c:data:`mo_coef_begin_iteration` to the current :c:data:`mo_coef`
|
|
||||||
|
|
||||||
Needs:
|
|
||||||
|
|
||||||
.. hlist::
|
|
||||||
:columns: 3
|
|
||||||
|
|
||||||
* :c:data:`mo_coef_begin_iteration`
|
|
||||||
* :c:data:`mo_coef`
|
|
||||||
|
|
||||||
Called by:
|
|
||||||
|
|
||||||
.. hlist::
|
|
||||||
:columns: 3
|
|
||||||
|
|
||||||
* :c:func:`damping_scf`
|
|
||||||
* :c:func:`roothaan_hall_scf`
|
|
||||||
|
|
||||||
|
|
||||||
.. c:function:: mix_mo_jk:
|
.. c:function:: mix_mo_jk:
|
||||||
|
|
||||||
|
|
||||||
@ -593,20 +617,10 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`mo_label`
|
|
||||||
* :c:data:`ao_num`
|
* :c:data:`ao_num`
|
||||||
* :c:data:`mo_num`
|
|
||||||
* :c:data:`mo_coef`
|
* :c:data:`mo_coef`
|
||||||
|
* :c:data:`mo_label`
|
||||||
Called by:
|
* :c:data:`mo_num`
|
||||||
|
|
||||||
.. hlist::
|
|
||||||
:columns: 3
|
|
||||||
|
|
||||||
* :c:func:`create_guess`
|
|
||||||
* :c:func:`damping_scf`
|
|
||||||
* :c:func:`hcore_guess`
|
|
||||||
* :c:func:`roothaan_hall_scf`
|
|
||||||
|
|
||||||
Calls:
|
Calls:
|
||||||
|
|
||||||
@ -634,10 +648,10 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`mo_label`
|
|
||||||
* :c:data:`ao_num`
|
* :c:data:`ao_num`
|
||||||
* :c:data:`mo_num`
|
|
||||||
* :c:data:`mo_coef`
|
* :c:data:`mo_coef`
|
||||||
|
* :c:data:`mo_label`
|
||||||
|
* :c:data:`mo_num`
|
||||||
|
|
||||||
Calls:
|
Calls:
|
||||||
|
|
||||||
@ -665,10 +679,10 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`mo_label`
|
|
||||||
* :c:data:`ao_num`
|
* :c:data:`ao_num`
|
||||||
* :c:data:`mo_num`
|
|
||||||
* :c:data:`mo_coef`
|
* :c:data:`mo_coef`
|
||||||
|
* :c:data:`mo_label`
|
||||||
|
* :c:data:`mo_num`
|
||||||
|
|
||||||
Called by:
|
Called by:
|
||||||
|
|
||||||
@ -687,45 +701,36 @@ Subroutines / functions
|
|||||||
* :c:func:`write_time`
|
* :c:func:`write_time`
|
||||||
|
|
||||||
|
|
||||||
.. c:function:: reorder_core_orb:
|
.. c:function:: mo_coef_new_as_svd_vectors_of_mo_matrix_eig:
|
||||||
|
|
||||||
|
|
||||||
File : :file:`mo_basis/track_orb.irp.f`
|
File : :file:`mo_basis/utils.irp.f`
|
||||||
|
|
||||||
.. code:: fortran
|
.. code:: fortran
|
||||||
|
|
||||||
subroutine reorder_core_orb
|
subroutine mo_coef_new_as_svd_vectors_of_mo_matrix_eig(matrix,lda,m,n,mo_coef_before,eig,mo_coef_new)
|
||||||
|
|
||||||
|
|
||||||
routines that takes the current :c:data:`mo_coef` and reorder the core orbitals (see :c:data:`list_core` and :c:data:`n_core_orb`) according to the overlap with :c:data:`mo_coef_begin_iteration`
|
You enter with matrix in the MO basis defined with the mo_coef_before.
|
||||||
|
|
||||||
|
You SVD the matrix and set the eigenvectors as mo_coef_new ordered by increasing singular values
|
||||||
|
|
||||||
Needs:
|
Needs:
|
||||||
|
|
||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`mo_num`
|
|
||||||
* :c:data:`mo_coef_begin_iteration`
|
|
||||||
* :c:data:`mo_coef`
|
|
||||||
* :c:data:`ao_overlap`
|
|
||||||
* :c:data:`n_core_orb`
|
|
||||||
* :c:data:`ao_num`
|
* :c:data:`ao_num`
|
||||||
* :c:data:`list_inact`
|
* :c:data:`mo_num`
|
||||||
|
|
||||||
Called by:
|
|
||||||
|
|
||||||
.. hlist::
|
|
||||||
:columns: 3
|
|
||||||
|
|
||||||
* :c:func:`damping_scf`
|
|
||||||
* :c:func:`roothaan_hall_scf`
|
|
||||||
|
|
||||||
Calls:
|
Calls:
|
||||||
|
|
||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:func:`dsort`
|
* :c:func:`dgemm`
|
||||||
|
* :c:func:`svd`
|
||||||
|
* :c:func:`write_time`
|
||||||
|
|
||||||
|
|
||||||
.. c:function:: save_mos:
|
.. c:function:: save_mos:
|
||||||
@ -744,28 +749,21 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`mo_occ`
|
|
||||||
* :c:data:`ao_md5`
|
* :c:data:`ao_md5`
|
||||||
* :c:data:`ezfio_filename`
|
|
||||||
* :c:data:`mo_num`
|
|
||||||
* :c:data:`mo_coef`
|
|
||||||
* :c:data:`ao_num`
|
* :c:data:`ao_num`
|
||||||
|
* :c:data:`ezfio_filename`
|
||||||
|
* :c:data:`mo_class`
|
||||||
|
* :c:data:`mo_coef`
|
||||||
* :c:data:`mo_label`
|
* :c:data:`mo_label`
|
||||||
|
* :c:data:`mo_num`
|
||||||
|
* :c:data:`mo_occ`
|
||||||
|
|
||||||
Called by:
|
Called by:
|
||||||
|
|
||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:func:`damping_scf`
|
|
||||||
* :c:func:`hcore_guess`
|
|
||||||
* :c:func:`huckel_guess`
|
|
||||||
* :c:func:`roothaan_hall_scf`
|
|
||||||
* :c:func:`rotate_mos`
|
|
||||||
* :c:func:`save_natural_mos`
|
* :c:func:`save_natural_mos`
|
||||||
* :c:func:`save_ortho_mos`
|
|
||||||
* :c:func:`sort_by_fock_energies`
|
|
||||||
* :c:func:`swap_mos`
|
|
||||||
|
|
||||||
Calls:
|
Calls:
|
||||||
|
|
||||||
@ -773,6 +771,7 @@ Subroutines / functions
|
|||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:func:`ezfio_set_mo_basis_ao_md5`
|
* :c:func:`ezfio_set_mo_basis_ao_md5`
|
||||||
|
* :c:func:`ezfio_set_mo_basis_mo_class`
|
||||||
* :c:func:`ezfio_set_mo_basis_mo_coef`
|
* :c:func:`ezfio_set_mo_basis_mo_coef`
|
||||||
* :c:func:`ezfio_set_mo_basis_mo_label`
|
* :c:func:`ezfio_set_mo_basis_mo_label`
|
||||||
* :c:func:`ezfio_set_mo_basis_mo_num`
|
* :c:func:`ezfio_set_mo_basis_mo_num`
|
||||||
@ -780,6 +779,36 @@ Subroutines / functions
|
|||||||
* :c:func:`system`
|
* :c:func:`system`
|
||||||
|
|
||||||
|
|
||||||
|
.. c:function:: save_mos_no_occ:
|
||||||
|
|
||||||
|
|
||||||
|
File : :file:`mo_basis/utils.irp.f`
|
||||||
|
|
||||||
|
.. code:: fortran
|
||||||
|
|
||||||
|
subroutine save_mos_no_occ
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Needs:
|
||||||
|
|
||||||
|
.. hlist::
|
||||||
|
:columns: 3
|
||||||
|
|
||||||
|
* :c:data:`ao_num`
|
||||||
|
* :c:data:`ezfio_filename`
|
||||||
|
* :c:data:`mo_coef`
|
||||||
|
* :c:data:`mo_num`
|
||||||
|
|
||||||
|
Calls:
|
||||||
|
|
||||||
|
.. hlist::
|
||||||
|
:columns: 3
|
||||||
|
|
||||||
|
* :c:func:`ezfio_set_mo_basis_mo_coef`
|
||||||
|
* :c:func:`system`
|
||||||
|
|
||||||
|
|
||||||
.. c:function:: save_mos_truncated:
|
.. c:function:: save_mos_truncated:
|
||||||
|
|
||||||
|
|
||||||
@ -796,12 +825,13 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`mo_occ`
|
|
||||||
* :c:data:`ao_md5`
|
* :c:data:`ao_md5`
|
||||||
* :c:data:`ezfio_filename`
|
|
||||||
* :c:data:`mo_coef`
|
|
||||||
* :c:data:`ao_num`
|
* :c:data:`ao_num`
|
||||||
|
* :c:data:`ezfio_filename`
|
||||||
|
* :c:data:`mo_class`
|
||||||
|
* :c:data:`mo_coef`
|
||||||
* :c:data:`mo_label`
|
* :c:data:`mo_label`
|
||||||
|
* :c:data:`mo_occ`
|
||||||
|
|
||||||
Calls:
|
Calls:
|
||||||
|
|
||||||
@ -809,6 +839,7 @@ Subroutines / functions
|
|||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:func:`ezfio_set_mo_basis_ao_md5`
|
* :c:func:`ezfio_set_mo_basis_ao_md5`
|
||||||
|
* :c:func:`ezfio_set_mo_basis_mo_class`
|
||||||
* :c:func:`ezfio_set_mo_basis_mo_coef`
|
* :c:func:`ezfio_set_mo_basis_mo_coef`
|
||||||
* :c:func:`ezfio_set_mo_basis_mo_label`
|
* :c:func:`ezfio_set_mo_basis_mo_label`
|
||||||
* :c:func:`ezfio_set_mo_basis_mo_num`
|
* :c:func:`ezfio_set_mo_basis_mo_num`
|
||||||
|
@ -176,7 +176,7 @@ Providers
|
|||||||
* :c:data:`ao_num`
|
* :c:data:`ao_num`
|
||||||
* :c:data:`mo_coef`
|
* :c:data:`mo_coef`
|
||||||
* :c:data:`mo_num`
|
* :c:data:`mo_num`
|
||||||
* :c:data:`read_mo_integrals_e_n`
|
* :c:data:`read_mo_integrals_n_e`
|
||||||
|
|
||||||
Needed by:
|
Needed by:
|
||||||
|
|
||||||
@ -264,11 +264,9 @@ Providers
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`do_pseudo`
|
|
||||||
* :c:data:`mo_integrals_n_e`
|
* :c:data:`mo_integrals_n_e`
|
||||||
* :c:data:`mo_kinetic_integrals`
|
* :c:data:`mo_kinetic_integrals`
|
||||||
* :c:data:`mo_num`
|
* :c:data:`mo_num`
|
||||||
* :c:data:`mo_pseudo_integrals`
|
|
||||||
* :c:data:`read_mo_one_e_integrals`
|
* :c:data:`read_mo_one_e_integrals`
|
||||||
|
|
||||||
Needed by:
|
Needed by:
|
||||||
@ -277,7 +275,6 @@ Providers
|
|||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`core_energy`
|
* :c:data:`core_energy`
|
||||||
* :c:data:`core_energy_erf`
|
|
||||||
* :c:data:`fock_operator_closed_shell_ref_bitmask`
|
* :c:data:`fock_operator_closed_shell_ref_bitmask`
|
||||||
* :c:data:`psi_energy_h_core`
|
* :c:data:`psi_energy_h_core`
|
||||||
* :c:data:`ref_bitmask_energy`
|
* :c:data:`ref_bitmask_energy`
|
||||||
@ -331,12 +328,6 @@ Providers
|
|||||||
* :c:data:`mo_num`
|
* :c:data:`mo_num`
|
||||||
* :c:data:`read_mo_integrals_pseudo`
|
* :c:data:`read_mo_integrals_pseudo`
|
||||||
|
|
||||||
Needed by:
|
|
||||||
|
|
||||||
.. hlist::
|
|
||||||
:columns: 3
|
|
||||||
|
|
||||||
* :c:data:`mo_one_e_integrals`
|
|
||||||
|
|
||||||
|
|
||||||
.. c:var:: mo_spread_x
|
.. c:var:: mo_spread_x
|
||||||
@ -445,12 +436,6 @@ Providers
|
|||||||
* :c:data:`mo_coef`
|
* :c:data:`mo_coef`
|
||||||
* :c:data:`mo_num`
|
* :c:data:`mo_num`
|
||||||
|
|
||||||
Needed by:
|
|
||||||
|
|
||||||
.. hlist::
|
|
||||||
:columns: 3
|
|
||||||
|
|
||||||
* :c:data:`fock_matrix_ao`
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -477,15 +462,8 @@ Subroutines / functions
|
|||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`ao_num`
|
* :c:data:`ao_num`
|
||||||
* :c:data:`s_mo_coef`
|
|
||||||
* :c:data:`mo_num`
|
* :c:data:`mo_num`
|
||||||
|
* :c:data:`s_mo_coef`
|
||||||
Called by:
|
|
||||||
|
|
||||||
.. hlist::
|
|
||||||
:columns: 3
|
|
||||||
|
|
||||||
* :c:data:`fock_matrix_ao`
|
|
||||||
|
|
||||||
Calls:
|
Calls:
|
||||||
|
|
||||||
@ -513,8 +491,16 @@ Subroutines / functions
|
|||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`ao_num`
|
* :c:data:`ao_num`
|
||||||
* :c:data:`mo_num`
|
|
||||||
* :c:data:`mo_coef`
|
* :c:data:`mo_coef`
|
||||||
|
* :c:data:`mo_num`
|
||||||
|
|
||||||
|
Called by:
|
||||||
|
|
||||||
|
.. hlist::
|
||||||
|
:columns: 3
|
||||||
|
|
||||||
|
* :c:data:`one_e_dm_alpha_ao_for_dft`
|
||||||
|
* :c:data:`one_e_dm_alpha_ao_for_dft_no_core`
|
||||||
|
|
||||||
Calls:
|
Calls:
|
||||||
|
|
||||||
@ -540,26 +526,27 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`mo_label`
|
|
||||||
* :c:data:`ao_num`
|
* :c:data:`ao_num`
|
||||||
* :c:data:`mo_overlap`
|
* :c:data:`lin_dep_cutoff`
|
||||||
* :c:data:`mo_num`
|
|
||||||
* :c:data:`mo_coef`
|
* :c:data:`mo_coef`
|
||||||
|
* :c:data:`mo_num`
|
||||||
|
* :c:data:`mo_overlap`
|
||||||
|
|
||||||
Called by:
|
Called by:
|
||||||
|
|
||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:func:`save_ortho_mos`
|
* :c:func:`save_natural_mos`
|
||||||
* :c:func:`scf`
|
|
||||||
|
|
||||||
Calls:
|
Calls:
|
||||||
|
|
||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
|
* :c:func:`nullify_small_elements`
|
||||||
* :c:func:`ortho_lowdin`
|
* :c:func:`ortho_lowdin`
|
||||||
|
* :c:func:`restore_symmetry`
|
||||||
|
|
||||||
Touches:
|
Touches:
|
||||||
|
|
||||||
@ -567,5 +554,4 @@ Subroutines / functions
|
|||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`mo_coef`
|
* :c:data:`mo_coef`
|
||||||
* :c:data:`mo_label`
|
|
||||||
|
|
||||||
|
@ -57,7 +57,7 @@ Providers
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`list_inact`
|
* :c:data:`list_core`
|
||||||
* :c:data:`mo_one_e_integrals`
|
* :c:data:`mo_one_e_integrals`
|
||||||
* :c:data:`mo_two_e_int_erf_jj`
|
* :c:data:`mo_two_e_int_erf_jj`
|
||||||
* :c:data:`n_core_orb`
|
* :c:data:`n_core_orb`
|
||||||
@ -82,12 +82,14 @@ Providers
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`list_inact`
|
* :c:data:`list_act`
|
||||||
|
* :c:data:`list_core`
|
||||||
* :c:data:`mo_integrals_erf_cache`
|
* :c:data:`mo_integrals_erf_cache`
|
||||||
* :c:data:`mo_integrals_erf_cache_min`
|
* :c:data:`mo_integrals_erf_cache_min`
|
||||||
* :c:data:`mo_integrals_erf_map`
|
* :c:data:`mo_integrals_erf_map`
|
||||||
* :c:data:`mo_num`
|
* :c:data:`mo_num`
|
||||||
* :c:data:`mo_two_e_integrals_erf_in_map`
|
* :c:data:`mo_two_e_integrals_erf_in_map`
|
||||||
|
* :c:data:`n_act_orb`
|
||||||
* :c:data:`n_core_orb`
|
* :c:data:`n_core_orb`
|
||||||
|
|
||||||
|
|
||||||
@ -403,7 +405,6 @@ Providers
|
|||||||
* :c:data:`ao_integrals_erf_map`
|
* :c:data:`ao_integrals_erf_map`
|
||||||
* :c:data:`ao_integrals_threshold`
|
* :c:data:`ao_integrals_threshold`
|
||||||
* :c:data:`ao_num`
|
* :c:data:`ao_num`
|
||||||
* :c:data:`ao_overlap_abs`
|
|
||||||
* :c:data:`ao_two_e_integral_erf_schwartz`
|
* :c:data:`ao_two_e_integral_erf_schwartz`
|
||||||
* :c:data:`ao_two_e_integrals_erf_in_map`
|
* :c:data:`ao_two_e_integrals_erf_in_map`
|
||||||
* :c:data:`do_direct_integrals`
|
* :c:data:`do_direct_integrals`
|
||||||
@ -472,7 +473,6 @@ Providers
|
|||||||
* :c:data:`ao_integrals_erf_map`
|
* :c:data:`ao_integrals_erf_map`
|
||||||
* :c:data:`ao_integrals_threshold`
|
* :c:data:`ao_integrals_threshold`
|
||||||
* :c:data:`ao_num`
|
* :c:data:`ao_num`
|
||||||
* :c:data:`ao_overlap_abs`
|
|
||||||
* :c:data:`ao_two_e_integral_erf_schwartz`
|
* :c:data:`ao_two_e_integral_erf_schwartz`
|
||||||
* :c:data:`ao_two_e_integrals_erf_in_map`
|
* :c:data:`ao_two_e_integrals_erf_in_map`
|
||||||
* :c:data:`do_direct_integrals`
|
* :c:data:`do_direct_integrals`
|
||||||
@ -506,7 +506,6 @@ Providers
|
|||||||
* :c:data:`ao_integrals_erf_map`
|
* :c:data:`ao_integrals_erf_map`
|
||||||
* :c:data:`ao_integrals_threshold`
|
* :c:data:`ao_integrals_threshold`
|
||||||
* :c:data:`ao_num`
|
* :c:data:`ao_num`
|
||||||
* :c:data:`ao_overlap_abs`
|
|
||||||
* :c:data:`ao_two_e_integral_erf_schwartz`
|
* :c:data:`ao_two_e_integral_erf_schwartz`
|
||||||
* :c:data:`ao_two_e_integrals_erf_in_map`
|
* :c:data:`ao_two_e_integrals_erf_in_map`
|
||||||
* :c:data:`do_direct_integrals`
|
* :c:data:`do_direct_integrals`
|
||||||
@ -578,14 +577,14 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`mo_coef`
|
|
||||||
* :c:data:`mo_integrals_threshold`
|
|
||||||
* :c:data:`mo_coef_transp`
|
|
||||||
* :c:data:`ao_num`
|
* :c:data:`ao_num`
|
||||||
* :c:data:`n_int`
|
|
||||||
* :c:data:`mo_num`
|
|
||||||
* :c:data:`ao_two_e_integrals_in_map`
|
* :c:data:`ao_two_e_integrals_in_map`
|
||||||
|
* :c:data:`mo_coef`
|
||||||
|
* :c:data:`mo_coef_transp`
|
||||||
* :c:data:`mo_integrals_erf_map`
|
* :c:data:`mo_integrals_erf_map`
|
||||||
|
* :c:data:`mo_integrals_threshold`
|
||||||
|
* :c:data:`mo_num`
|
||||||
|
* :c:data:`n_int`
|
||||||
|
|
||||||
Called by:
|
Called by:
|
||||||
|
|
||||||
@ -796,8 +795,8 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`mo_two_e_integrals_erf_in_map`
|
|
||||||
* :c:data:`mo_integrals_erf_map`
|
* :c:data:`mo_integrals_erf_map`
|
||||||
|
* :c:data:`mo_two_e_integrals_erf_in_map`
|
||||||
|
|
||||||
Calls:
|
Calls:
|
||||||
|
|
||||||
@ -830,8 +829,8 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`mo_two_e_integrals_erf_in_map`
|
|
||||||
* :c:data:`mo_integrals_erf_map`
|
* :c:data:`mo_integrals_erf_map`
|
||||||
|
* :c:data:`mo_two_e_integrals_erf_in_map`
|
||||||
|
|
||||||
Calls:
|
Calls:
|
||||||
|
|
||||||
@ -925,11 +924,11 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`mo_two_e_integrals_erf_in_map`
|
|
||||||
* :c:data:`mo_two_e_int_erf_jj`
|
|
||||||
* :c:data:`mo_two_e_int_erf_jj`
|
|
||||||
* :c:data:`mo_integrals_erf_map`
|
* :c:data:`mo_integrals_erf_map`
|
||||||
* :c:data:`mo_two_e_int_erf_jj`
|
* :c:data:`mo_two_e_int_erf_jj`
|
||||||
|
* :c:data:`mo_two_e_int_erf_jj`
|
||||||
|
* :c:data:`mo_two_e_int_erf_jj`
|
||||||
|
* :c:data:`mo_two_e_integrals_erf_in_map`
|
||||||
|
|
||||||
|
|
||||||
.. c:function:: save_erf_two_e_integrals_mo:
|
.. c:function:: save_erf_two_e_integrals_mo:
|
||||||
@ -948,9 +947,9 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`mo_two_e_integrals_erf_in_map`
|
|
||||||
* :c:data:`ezfio_filename`
|
* :c:data:`ezfio_filename`
|
||||||
* :c:data:`mo_integrals_erf_map`
|
* :c:data:`mo_integrals_erf_map`
|
||||||
|
* :c:data:`mo_two_e_integrals_erf_in_map`
|
||||||
|
|
||||||
Called by:
|
Called by:
|
||||||
|
|
||||||
@ -985,9 +984,9 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`mo_two_e_integrals_erf_in_map`
|
|
||||||
* :c:data:`ezfio_filename`
|
* :c:data:`ezfio_filename`
|
||||||
* :c:data:`mo_integrals_erf_map`
|
* :c:data:`mo_integrals_erf_map`
|
||||||
|
* :c:data:`mo_two_e_integrals_erf_in_map`
|
||||||
|
|
||||||
Calls:
|
Calls:
|
||||||
|
|
||||||
|
@ -43,28 +43,40 @@ EZFIO parameters
|
|||||||
|
|
||||||
Default: 1.e-15
|
Default: 1.e-15
|
||||||
|
|
||||||
.. option:: no_vvvv_integrals
|
|
||||||
|
|
||||||
If `True`, computes all integrals except for the integrals having 4 virtual indices
|
|
||||||
|
|
||||||
Default: False
|
|
||||||
|
|
||||||
.. option:: no_ivvv_integrals
|
|
||||||
|
|
||||||
Can be switched on only if `no_vvvv_integrals` is `True`, then does not compute the integrals with 3 virtual indices and 1 belonging to the core inactive active orbitals
|
|
||||||
|
|
||||||
Default: False
|
|
||||||
|
|
||||||
.. option:: no_vvv_integrals
|
|
||||||
|
|
||||||
Can be switched on only if `no_vvvv_integrals` is `True`, then does not compute the integrals with 3 virtual orbitals
|
|
||||||
|
|
||||||
Default: False
|
|
||||||
|
|
||||||
|
|
||||||
Providers
|
Providers
|
||||||
---------
|
---------
|
||||||
|
|
||||||
|
.. c:var:: banned_excitation
|
||||||
|
|
||||||
|
|
||||||
|
File : :file:`mo_two_e_ints/map_integrals.irp.f`
|
||||||
|
|
||||||
|
.. code:: fortran
|
||||||
|
|
||||||
|
logical, allocatable :: banned_excitation (mo_num,mo_num)
|
||||||
|
|
||||||
|
|
||||||
|
If true, the excitation is banned in the selection. Useful with local MOs.
|
||||||
|
|
||||||
|
Needs:
|
||||||
|
|
||||||
|
.. hlist::
|
||||||
|
:columns: 3
|
||||||
|
|
||||||
|
* :c:data:`mo_integrals_map`
|
||||||
|
* :c:data:`mo_num`
|
||||||
|
|
||||||
|
Needed by:
|
||||||
|
|
||||||
|
.. hlist::
|
||||||
|
:columns: 3
|
||||||
|
|
||||||
|
* :c:data:`big_array_coulomb_integrals`
|
||||||
|
* :c:data:`core_fock_operator`
|
||||||
|
* :c:data:`mo_two_e_integrals_jj`
|
||||||
|
|
||||||
|
|
||||||
.. c:var:: big_array_coulomb_integrals
|
.. c:var:: big_array_coulomb_integrals
|
||||||
|
|
||||||
|
|
||||||
@ -85,6 +97,7 @@ Providers
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
|
* :c:data:`banned_excitation`
|
||||||
* :c:data:`mo_integrals_cache`
|
* :c:data:`mo_integrals_cache`
|
||||||
* :c:data:`mo_integrals_cache_min`
|
* :c:data:`mo_integrals_cache_min`
|
||||||
* :c:data:`mo_integrals_map`
|
* :c:data:`mo_integrals_map`
|
||||||
@ -96,7 +109,6 @@ Providers
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`coef_hf_selector`
|
|
||||||
* :c:data:`h_matrix_all_dets`
|
* :c:data:`h_matrix_all_dets`
|
||||||
* :c:data:`h_matrix_cas`
|
* :c:data:`h_matrix_cas`
|
||||||
|
|
||||||
@ -121,6 +133,7 @@ Providers
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
|
* :c:data:`banned_excitation`
|
||||||
* :c:data:`mo_integrals_cache`
|
* :c:data:`mo_integrals_cache`
|
||||||
* :c:data:`mo_integrals_cache_min`
|
* :c:data:`mo_integrals_cache_min`
|
||||||
* :c:data:`mo_integrals_map`
|
* :c:data:`mo_integrals_map`
|
||||||
@ -132,7 +145,6 @@ Providers
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`coef_hf_selector`
|
|
||||||
* :c:data:`h_matrix_all_dets`
|
* :c:data:`h_matrix_all_dets`
|
||||||
* :c:data:`h_matrix_cas`
|
* :c:data:`h_matrix_cas`
|
||||||
|
|
||||||
@ -154,7 +166,7 @@ Providers
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`list_inact`
|
* :c:data:`list_core`
|
||||||
* :c:data:`mo_one_e_integrals`
|
* :c:data:`mo_one_e_integrals`
|
||||||
* :c:data:`mo_two_e_integrals_jj`
|
* :c:data:`mo_two_e_integrals_jj`
|
||||||
* :c:data:`n_core_orb`
|
* :c:data:`n_core_orb`
|
||||||
@ -179,12 +191,15 @@ Providers
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`list_inact`
|
* :c:data:`banned_excitation`
|
||||||
|
* :c:data:`list_act`
|
||||||
|
* :c:data:`list_core`
|
||||||
* :c:data:`mo_integrals_cache`
|
* :c:data:`mo_integrals_cache`
|
||||||
* :c:data:`mo_integrals_cache_min`
|
* :c:data:`mo_integrals_cache_min`
|
||||||
* :c:data:`mo_integrals_map`
|
* :c:data:`mo_integrals_map`
|
||||||
* :c:data:`mo_num`
|
* :c:data:`mo_num`
|
||||||
* :c:data:`mo_two_e_integrals_in_map`
|
* :c:data:`mo_two_e_integrals_in_map`
|
||||||
|
* :c:data:`n_act_orb`
|
||||||
* :c:data:`n_core_orb`
|
* :c:data:`n_core_orb`
|
||||||
|
|
||||||
|
|
||||||
@ -226,6 +241,30 @@ Providers
|
|||||||
* :c:func:`map_update`
|
* :c:func:`map_update`
|
||||||
|
|
||||||
|
|
||||||
|
.. c:var:: mo_coef_novirt
|
||||||
|
|
||||||
|
|
||||||
|
File : :file:`mo_two_e_ints/four_idx_novvvv.irp.f`
|
||||||
|
|
||||||
|
.. code:: fortran
|
||||||
|
|
||||||
|
double precision, allocatable :: mo_coef_novirt (ao_num,n_core_inact_act_orb)
|
||||||
|
|
||||||
|
|
||||||
|
MO coefficients without virtual MOs
|
||||||
|
|
||||||
|
Needs:
|
||||||
|
|
||||||
|
.. hlist::
|
||||||
|
:columns: 3
|
||||||
|
|
||||||
|
* :c:data:`ao_num`
|
||||||
|
* :c:data:`list_core_inact_act`
|
||||||
|
* :c:data:`mo_coef`
|
||||||
|
* :c:data:`n_core_inact_act_orb`
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.. c:var:: mo_integrals_cache
|
.. c:var:: mo_integrals_cache
|
||||||
|
|
||||||
|
|
||||||
@ -417,8 +456,8 @@ Providers
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
|
* :c:data:`banned_excitation`
|
||||||
* :c:data:`big_array_coulomb_integrals`
|
* :c:data:`big_array_coulomb_integrals`
|
||||||
* :c:data:`coef_hf_selector`
|
|
||||||
* :c:data:`core_fock_operator`
|
* :c:data:`core_fock_operator`
|
||||||
* :c:data:`fock_operator_closed_shell_ref_bitmask`
|
* :c:data:`fock_operator_closed_shell_ref_bitmask`
|
||||||
* :c:data:`fock_wee_closed_shell`
|
* :c:data:`fock_wee_closed_shell`
|
||||||
@ -453,8 +492,6 @@ Providers
|
|||||||
* :c:data:`ao_integrals_map`
|
* :c:data:`ao_integrals_map`
|
||||||
* :c:data:`ao_integrals_threshold`
|
* :c:data:`ao_integrals_threshold`
|
||||||
* :c:data:`ao_num`
|
* :c:data:`ao_num`
|
||||||
* :c:data:`ao_overlap_abs`
|
|
||||||
* :c:data:`ao_two_e_integral_schwartz`
|
|
||||||
* :c:data:`ao_two_e_integrals_in_map`
|
* :c:data:`ao_two_e_integrals_in_map`
|
||||||
* :c:data:`do_direct_integrals`
|
* :c:data:`do_direct_integrals`
|
||||||
* :c:data:`mo_coef`
|
* :c:data:`mo_coef`
|
||||||
@ -480,12 +517,12 @@ Providers
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
|
* :c:data:`ao_integrals_map`
|
||||||
* :c:data:`ao_num`
|
* :c:data:`ao_num`
|
||||||
* :c:data:`ao_two_e_integrals_in_map`
|
* :c:data:`ao_two_e_integrals_in_map`
|
||||||
* :c:data:`core_inact_act_bitmask_4`
|
|
||||||
* :c:data:`ezfio_filename`
|
* :c:data:`ezfio_filename`
|
||||||
* :c:data:`full_ijkl_bitmask_4`
|
* :c:data:`full_ijkl_bitmask_4`
|
||||||
* :c:data:`list_inact`
|
* :c:data:`list_core_inact_act`
|
||||||
* :c:data:`mo_class`
|
* :c:data:`mo_class`
|
||||||
* :c:data:`mo_coef`
|
* :c:data:`mo_coef`
|
||||||
* :c:data:`mo_coef_transp`
|
* :c:data:`mo_coef_transp`
|
||||||
@ -493,9 +530,8 @@ Providers
|
|||||||
* :c:data:`mo_integrals_threshold`
|
* :c:data:`mo_integrals_threshold`
|
||||||
* :c:data:`mo_num`
|
* :c:data:`mo_num`
|
||||||
* :c:data:`mpi_master`
|
* :c:data:`mpi_master`
|
||||||
|
* :c:data:`n_core_inact_act_orb`
|
||||||
* :c:data:`n_int`
|
* :c:data:`n_int`
|
||||||
* :c:data:`no_ivvv_integrals`
|
|
||||||
* :c:data:`no_vvv_integrals`
|
|
||||||
* :c:data:`no_vvvv_integrals`
|
* :c:data:`no_vvvv_integrals`
|
||||||
* :c:data:`read_mo_two_e_integrals`
|
* :c:data:`read_mo_two_e_integrals`
|
||||||
|
|
||||||
@ -504,9 +540,12 @@ Providers
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
|
* :c:data:`act_2_rdm_aa_mo`
|
||||||
|
* :c:data:`act_2_rdm_ab_mo`
|
||||||
|
* :c:data:`act_2_rdm_bb_mo`
|
||||||
|
* :c:data:`act_2_rdm_spin_trace_mo`
|
||||||
* :c:data:`big_array_coulomb_integrals`
|
* :c:data:`big_array_coulomb_integrals`
|
||||||
* :c:data:`ci_electronic_energy`
|
* :c:data:`ci_electronic_energy`
|
||||||
* :c:data:`coef_hf_selector`
|
|
||||||
* :c:data:`core_fock_operator`
|
* :c:data:`core_fock_operator`
|
||||||
* :c:data:`fock_operator_closed_shell_ref_bitmask`
|
* :c:data:`fock_operator_closed_shell_ref_bitmask`
|
||||||
* :c:data:`fock_wee_closed_shell`
|
* :c:data:`fock_wee_closed_shell`
|
||||||
@ -537,6 +576,7 @@ Providers
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
|
* :c:data:`banned_excitation`
|
||||||
* :c:data:`mo_integrals_cache`
|
* :c:data:`mo_integrals_cache`
|
||||||
* :c:data:`mo_integrals_cache_min`
|
* :c:data:`mo_integrals_cache_min`
|
||||||
* :c:data:`mo_integrals_map`
|
* :c:data:`mo_integrals_map`
|
||||||
@ -573,6 +613,7 @@ Providers
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
|
* :c:data:`banned_excitation`
|
||||||
* :c:data:`mo_integrals_cache`
|
* :c:data:`mo_integrals_cache`
|
||||||
* :c:data:`mo_integrals_cache_min`
|
* :c:data:`mo_integrals_cache_min`
|
||||||
* :c:data:`mo_integrals_map`
|
* :c:data:`mo_integrals_map`
|
||||||
@ -612,8 +653,6 @@ Providers
|
|||||||
* :c:data:`ao_integrals_map`
|
* :c:data:`ao_integrals_map`
|
||||||
* :c:data:`ao_integrals_threshold`
|
* :c:data:`ao_integrals_threshold`
|
||||||
* :c:data:`ao_num`
|
* :c:data:`ao_num`
|
||||||
* :c:data:`ao_overlap_abs`
|
|
||||||
* :c:data:`ao_two_e_integral_schwartz`
|
|
||||||
* :c:data:`ao_two_e_integrals_in_map`
|
* :c:data:`ao_two_e_integrals_in_map`
|
||||||
* :c:data:`do_direct_integrals`
|
* :c:data:`do_direct_integrals`
|
||||||
* :c:data:`mo_coef`
|
* :c:data:`mo_coef`
|
||||||
@ -643,6 +682,7 @@ Providers
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
|
* :c:data:`banned_excitation`
|
||||||
* :c:data:`mo_integrals_cache`
|
* :c:data:`mo_integrals_cache`
|
||||||
* :c:data:`mo_integrals_cache_min`
|
* :c:data:`mo_integrals_cache_min`
|
||||||
* :c:data:`mo_integrals_map`
|
* :c:data:`mo_integrals_map`
|
||||||
@ -682,8 +722,6 @@ Providers
|
|||||||
* :c:data:`ao_integrals_map`
|
* :c:data:`ao_integrals_map`
|
||||||
* :c:data:`ao_integrals_threshold`
|
* :c:data:`ao_integrals_threshold`
|
||||||
* :c:data:`ao_num`
|
* :c:data:`ao_num`
|
||||||
* :c:data:`ao_overlap_abs`
|
|
||||||
* :c:data:`ao_two_e_integral_schwartz`
|
|
||||||
* :c:data:`ao_two_e_integrals_in_map`
|
* :c:data:`ao_two_e_integrals_in_map`
|
||||||
* :c:data:`do_direct_integrals`
|
* :c:data:`do_direct_integrals`
|
||||||
* :c:data:`mo_coef`
|
* :c:data:`mo_coef`
|
||||||
@ -717,15 +755,13 @@ Providers
|
|||||||
* :c:data:`ao_integrals_map`
|
* :c:data:`ao_integrals_map`
|
||||||
* :c:data:`ao_integrals_threshold`
|
* :c:data:`ao_integrals_threshold`
|
||||||
* :c:data:`ao_num`
|
* :c:data:`ao_num`
|
||||||
* :c:data:`ao_overlap_abs`
|
|
||||||
* :c:data:`ao_two_e_integral_schwartz`
|
|
||||||
* :c:data:`ao_two_e_integrals_in_map`
|
* :c:data:`ao_two_e_integrals_in_map`
|
||||||
* :c:data:`do_direct_integrals`
|
* :c:data:`do_direct_integrals`
|
||||||
* :c:data:`list_inact`
|
* :c:data:`list_virt`
|
||||||
* :c:data:`mo_coef`
|
* :c:data:`mo_coef`
|
||||||
* :c:data:`mo_coef_transp`
|
* :c:data:`mo_coef_transp`
|
||||||
* :c:data:`mo_num`
|
* :c:data:`mo_num`
|
||||||
* :c:data:`n_core_orb`
|
* :c:data:`n_virt_orb`
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -754,15 +790,13 @@ Providers
|
|||||||
* :c:data:`ao_integrals_map`
|
* :c:data:`ao_integrals_map`
|
||||||
* :c:data:`ao_integrals_threshold`
|
* :c:data:`ao_integrals_threshold`
|
||||||
* :c:data:`ao_num`
|
* :c:data:`ao_num`
|
||||||
* :c:data:`ao_overlap_abs`
|
|
||||||
* :c:data:`ao_two_e_integral_schwartz`
|
|
||||||
* :c:data:`ao_two_e_integrals_in_map`
|
* :c:data:`ao_two_e_integrals_in_map`
|
||||||
* :c:data:`do_direct_integrals`
|
* :c:data:`do_direct_integrals`
|
||||||
* :c:data:`list_inact`
|
* :c:data:`list_virt`
|
||||||
* :c:data:`mo_coef`
|
* :c:data:`mo_coef`
|
||||||
* :c:data:`mo_coef_transp`
|
* :c:data:`mo_coef_transp`
|
||||||
* :c:data:`mo_num`
|
* :c:data:`mo_num`
|
||||||
* :c:data:`n_core_orb`
|
* :c:data:`n_virt_orb`
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -791,15 +825,13 @@ Providers
|
|||||||
* :c:data:`ao_integrals_map`
|
* :c:data:`ao_integrals_map`
|
||||||
* :c:data:`ao_integrals_threshold`
|
* :c:data:`ao_integrals_threshold`
|
||||||
* :c:data:`ao_num`
|
* :c:data:`ao_num`
|
||||||
* :c:data:`ao_overlap_abs`
|
|
||||||
* :c:data:`ao_two_e_integral_schwartz`
|
|
||||||
* :c:data:`ao_two_e_integrals_in_map`
|
* :c:data:`ao_two_e_integrals_in_map`
|
||||||
* :c:data:`do_direct_integrals`
|
* :c:data:`do_direct_integrals`
|
||||||
* :c:data:`list_inact`
|
* :c:data:`list_virt`
|
||||||
* :c:data:`mo_coef`
|
* :c:data:`mo_coef`
|
||||||
* :c:data:`mo_coef_transp`
|
* :c:data:`mo_coef_transp`
|
||||||
* :c:data:`mo_num`
|
* :c:data:`mo_num`
|
||||||
* :c:data:`n_core_orb`
|
* :c:data:`n_virt_orb`
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -824,13 +856,13 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`mo_coef`
|
|
||||||
* :c:data:`mo_integrals_threshold`
|
|
||||||
* :c:data:`mo_coef_transp`
|
|
||||||
* :c:data:`ao_num`
|
* :c:data:`ao_num`
|
||||||
* :c:data:`mo_integrals_map`
|
|
||||||
* :c:data:`mo_num`
|
|
||||||
* :c:data:`ao_two_e_integrals_in_map`
|
* :c:data:`ao_two_e_integrals_in_map`
|
||||||
|
* :c:data:`mo_coef`
|
||||||
|
* :c:data:`mo_coef_transp`
|
||||||
|
* :c:data:`mo_integrals_map`
|
||||||
|
* :c:data:`mo_integrals_threshold`
|
||||||
|
* :c:data:`mo_num`
|
||||||
* :c:data:`n_int`
|
* :c:data:`n_int`
|
||||||
|
|
||||||
Called by:
|
Called by:
|
||||||
@ -838,6 +870,7 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
|
* :c:func:`four_idx_novvvv2`
|
||||||
* :c:data:`mo_two_e_integrals_in_map`
|
* :c:data:`mo_two_e_integrals_in_map`
|
||||||
|
|
||||||
Calls:
|
Calls:
|
||||||
@ -846,7 +879,6 @@ Subroutines / functions
|
|||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:func:`bitstring_to_list`
|
* :c:func:`bitstring_to_list`
|
||||||
* :c:func:`bitstring_to_str`
|
|
||||||
* :c:func:`cpu_time`
|
* :c:func:`cpu_time`
|
||||||
* :c:func:`get_ao_two_e_integrals`
|
* :c:func:`get_ao_two_e_integrals`
|
||||||
* :c:func:`insert_into_mo_integrals_map`
|
* :c:func:`insert_into_mo_integrals_map`
|
||||||
@ -872,22 +904,15 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`mo_coef`
|
|
||||||
* :c:data:`mo_integrals_threshold`
|
|
||||||
* :c:data:`mo_coef_transp`
|
|
||||||
* :c:data:`ao_num`
|
* :c:data:`ao_num`
|
||||||
* :c:data:`mo_integrals_map`
|
|
||||||
* :c:data:`mo_num`
|
|
||||||
* :c:data:`ao_two_e_integrals_in_map`
|
* :c:data:`ao_two_e_integrals_in_map`
|
||||||
|
* :c:data:`mo_coef`
|
||||||
|
* :c:data:`mo_coef_transp`
|
||||||
|
* :c:data:`mo_integrals_map`
|
||||||
|
* :c:data:`mo_integrals_threshold`
|
||||||
|
* :c:data:`mo_num`
|
||||||
* :c:data:`n_int`
|
* :c:data:`n_int`
|
||||||
|
|
||||||
Called by:
|
|
||||||
|
|
||||||
.. hlist::
|
|
||||||
:columns: 3
|
|
||||||
|
|
||||||
* :c:data:`mo_two_e_integrals_in_map`
|
|
||||||
|
|
||||||
Calls:
|
Calls:
|
||||||
|
|
||||||
.. hlist::
|
.. hlist::
|
||||||
@ -919,29 +944,21 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`mo_coef`
|
|
||||||
* :c:data:`mo_integrals_threshold`
|
|
||||||
* :c:data:`mo_coef_transp`
|
|
||||||
* :c:data:`ao_num`
|
* :c:data:`ao_num`
|
||||||
* :c:data:`mo_integrals_map`
|
|
||||||
* :c:data:`mo_num`
|
|
||||||
* :c:data:`ao_two_e_integrals_in_map`
|
* :c:data:`ao_two_e_integrals_in_map`
|
||||||
|
* :c:data:`mo_coef`
|
||||||
|
* :c:data:`mo_coef_transp`
|
||||||
|
* :c:data:`mo_integrals_map`
|
||||||
|
* :c:data:`mo_integrals_threshold`
|
||||||
|
* :c:data:`mo_num`
|
||||||
* :c:data:`n_int`
|
* :c:data:`n_int`
|
||||||
|
|
||||||
Called by:
|
|
||||||
|
|
||||||
.. hlist::
|
|
||||||
:columns: 3
|
|
||||||
|
|
||||||
* :c:data:`mo_two_e_integrals_in_map`
|
|
||||||
|
|
||||||
Calls:
|
Calls:
|
||||||
|
|
||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:func:`bitstring_to_list`
|
* :c:func:`bitstring_to_list`
|
||||||
* :c:func:`bitstring_to_str`
|
|
||||||
* :c:func:`cpu_time`
|
* :c:func:`cpu_time`
|
||||||
* :c:func:`get_ao_two_e_integrals`
|
* :c:func:`get_ao_two_e_integrals`
|
||||||
* :c:func:`insert_into_mo_integrals_map`
|
* :c:func:`insert_into_mo_integrals_map`
|
||||||
@ -950,6 +967,44 @@ Subroutines / functions
|
|||||||
* :c:func:`wall_time`
|
* :c:func:`wall_time`
|
||||||
|
|
||||||
|
|
||||||
|
.. c:function:: ao_to_mo_novirt:
|
||||||
|
|
||||||
|
|
||||||
|
File : :file:`mo_two_e_ints/four_idx_novvvv.irp.f`
|
||||||
|
|
||||||
|
.. code:: fortran
|
||||||
|
|
||||||
|
subroutine ao_to_mo_novirt(A_ao,LDA_ao,A_mo,LDA_mo)
|
||||||
|
|
||||||
|
|
||||||
|
Transform A from the |AO| basis to the |MO| basis excluding virtuals
|
||||||
|
|
||||||
|
$C^\dagger.A_{ao}.C$
|
||||||
|
|
||||||
|
Needs:
|
||||||
|
|
||||||
|
.. hlist::
|
||||||
|
:columns: 3
|
||||||
|
|
||||||
|
* :c:data:`ao_num`
|
||||||
|
* :c:data:`mo_coef_novirt`
|
||||||
|
* :c:data:`n_core_inact_act_orb`
|
||||||
|
|
||||||
|
Called by:
|
||||||
|
|
||||||
|
.. hlist::
|
||||||
|
:columns: 3
|
||||||
|
|
||||||
|
* :c:func:`four_idx_novvvv`
|
||||||
|
|
||||||
|
Calls:
|
||||||
|
|
||||||
|
.. hlist::
|
||||||
|
:columns: 3
|
||||||
|
|
||||||
|
* :c:func:`dgemm`
|
||||||
|
|
||||||
|
|
||||||
.. c:function:: clear_mo_map:
|
.. c:function:: clear_mo_map:
|
||||||
|
|
||||||
|
|
||||||
@ -1005,6 +1060,81 @@ Subroutines / functions
|
|||||||
* :c:func:`ezfio_set_work_empty`
|
* :c:func:`ezfio_set_work_empty`
|
||||||
|
|
||||||
|
|
||||||
|
.. c:function:: four_idx_novvvv:
|
||||||
|
|
||||||
|
|
||||||
|
File : :file:`mo_two_e_ints/four_idx_novvvv.irp.f`
|
||||||
|
|
||||||
|
.. code:: fortran
|
||||||
|
|
||||||
|
subroutine four_idx_novvvv
|
||||||
|
|
||||||
|
|
||||||
|
Retransform MO integrals for next CAS-SCF step
|
||||||
|
|
||||||
|
Needs:
|
||||||
|
|
||||||
|
.. hlist::
|
||||||
|
:columns: 3
|
||||||
|
|
||||||
|
* :c:data:`ao_integrals_map`
|
||||||
|
* :c:data:`ao_num`
|
||||||
|
* :c:data:`list_core_inact_act`
|
||||||
|
* :c:data:`mo_integrals_map`
|
||||||
|
* :c:data:`mo_integrals_threshold`
|
||||||
|
* :c:data:`mo_num`
|
||||||
|
* :c:data:`n_core_inact_act_orb`
|
||||||
|
|
||||||
|
Called by:
|
||||||
|
|
||||||
|
.. hlist::
|
||||||
|
:columns: 3
|
||||||
|
|
||||||
|
* :c:data:`mo_two_e_integrals_in_map`
|
||||||
|
|
||||||
|
Calls:
|
||||||
|
|
||||||
|
.. hlist::
|
||||||
|
:columns: 3
|
||||||
|
|
||||||
|
* :c:func:`ao_to_mo`
|
||||||
|
* :c:func:`ao_to_mo_novirt`
|
||||||
|
* :c:func:`map_append`
|
||||||
|
* :c:func:`map_shrink`
|
||||||
|
* :c:func:`map_sort`
|
||||||
|
* :c:func:`map_unique`
|
||||||
|
* :c:func:`two_e_integrals_index`
|
||||||
|
|
||||||
|
|
||||||
|
.. c:function:: four_idx_novvvv2:
|
||||||
|
|
||||||
|
|
||||||
|
File : :file:`mo_two_e_ints/four_idx_novvvv.irp.f`
|
||||||
|
|
||||||
|
.. code:: fortran
|
||||||
|
|
||||||
|
subroutine four_idx_novvvv2
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Needs:
|
||||||
|
|
||||||
|
.. hlist::
|
||||||
|
:columns: 3
|
||||||
|
|
||||||
|
* :c:data:`core_inact_act_bitmask_4`
|
||||||
|
* :c:data:`full_ijkl_bitmask_4`
|
||||||
|
* :c:data:`n_int`
|
||||||
|
* :c:data:`virt_bitmask`
|
||||||
|
|
||||||
|
Calls:
|
||||||
|
|
||||||
|
.. hlist::
|
||||||
|
:columns: 3
|
||||||
|
|
||||||
|
* :c:func:`add_integrals_to_map`
|
||||||
|
|
||||||
|
|
||||||
.. c:function:: get_mo_map_size:
|
.. c:function:: get_mo_map_size:
|
||||||
|
|
||||||
|
|
||||||
@ -1043,17 +1173,18 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`mo_two_e_integrals_in_map`
|
* :c:data:`banned_excitation`
|
||||||
* :c:data:`mo_integrals_cache`
|
* :c:data:`mo_integrals_cache`
|
||||||
* :c:data:`mo_integrals_cache_min`
|
* :c:data:`mo_integrals_cache_min`
|
||||||
|
* :c:data:`mo_two_e_integrals_in_map`
|
||||||
|
|
||||||
Called by:
|
Called by:
|
||||||
|
|
||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:func:`get_d0`
|
* :c:func:`get_mo_two_e_integrals_i1j1`
|
||||||
* :c:func:`get_d1`
|
* :c:func:`get_mo_two_e_integrals_ij`
|
||||||
|
|
||||||
Calls:
|
Calls:
|
||||||
|
|
||||||
@ -1092,14 +1223,6 @@ Subroutines / functions
|
|||||||
* :c:data:`fock_operator_closed_shell_ref_bitmask`
|
* :c:data:`fock_operator_closed_shell_ref_bitmask`
|
||||||
* :c:data:`fock_wee_closed_shell`
|
* :c:data:`fock_wee_closed_shell`
|
||||||
|
|
||||||
Calls:
|
|
||||||
|
|
||||||
.. hlist::
|
|
||||||
:columns: 3
|
|
||||||
|
|
||||||
* :c:func:`map_get_many`
|
|
||||||
* :c:func:`two_e_integrals_index`
|
|
||||||
|
|
||||||
|
|
||||||
.. c:function:: get_mo_two_e_integrals_exch_ii:
|
.. c:function:: get_mo_two_e_integrals_exch_ii:
|
||||||
|
|
||||||
@ -1130,14 +1253,6 @@ Subroutines / functions
|
|||||||
* :c:data:`fock_operator_closed_shell_ref_bitmask`
|
* :c:data:`fock_operator_closed_shell_ref_bitmask`
|
||||||
* :c:data:`fock_wee_closed_shell`
|
* :c:data:`fock_wee_closed_shell`
|
||||||
|
|
||||||
Calls:
|
|
||||||
|
|
||||||
.. hlist::
|
|
||||||
:columns: 3
|
|
||||||
|
|
||||||
* :c:func:`map_get_many`
|
|
||||||
* :c:func:`two_e_integrals_index`
|
|
||||||
|
|
||||||
|
|
||||||
.. c:function:: get_mo_two_e_integrals_i1j1:
|
.. c:function:: get_mo_two_e_integrals_i1j1:
|
||||||
|
|
||||||
@ -1159,18 +1274,13 @@ Subroutines / functions
|
|||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`mo_two_e_integrals_in_map`
|
* :c:data:`mo_two_e_integrals_in_map`
|
||||||
* :c:data:`mo_integrals_map`
|
|
||||||
|
|
||||||
Calls:
|
Calls:
|
||||||
|
|
||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:func:`i2radix_sort`
|
* :c:func:`get_mo_two_e_integrals`
|
||||||
* :c:func:`i8radix_sort`
|
|
||||||
* :c:func:`iradix_sort`
|
|
||||||
* :c:func:`map_get_many`
|
|
||||||
* :c:func:`two_e_integrals_index`
|
|
||||||
|
|
||||||
|
|
||||||
.. c:function:: get_mo_two_e_integrals_ij:
|
.. c:function:: get_mo_two_e_integrals_ij:
|
||||||
@ -1187,24 +1297,12 @@ Subroutines / functions
|
|||||||
i(1)j(2) 1/r12 k(1)l(2)
|
i(1)j(2) 1/r12 k(1)l(2)
|
||||||
i, j for k,l fixed.
|
i, j for k,l fixed.
|
||||||
|
|
||||||
Needs:
|
|
||||||
|
|
||||||
.. hlist::
|
|
||||||
:columns: 3
|
|
||||||
|
|
||||||
* :c:data:`mo_two_e_integrals_in_map`
|
|
||||||
* :c:data:`mo_integrals_map`
|
|
||||||
|
|
||||||
Calls:
|
Calls:
|
||||||
|
|
||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:func:`i2radix_sort`
|
* :c:func:`get_mo_two_e_integrals`
|
||||||
* :c:func:`i8radix_sort`
|
|
||||||
* :c:func:`iradix_sort`
|
|
||||||
* :c:func:`map_get_many`
|
|
||||||
* :c:func:`two_e_integrals_index`
|
|
||||||
|
|
||||||
|
|
||||||
.. c:function:: get_two_e_integral:
|
.. c:function:: get_two_e_integral:
|
||||||
@ -1224,9 +1322,10 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`mo_two_e_integrals_in_map`
|
* :c:data:`banned_excitation`
|
||||||
* :c:data:`mo_integrals_cache`
|
* :c:data:`mo_integrals_cache`
|
||||||
* :c:data:`mo_integrals_cache_min`
|
* :c:data:`mo_integrals_cache_min`
|
||||||
|
* :c:data:`mo_two_e_integrals_in_map`
|
||||||
|
|
||||||
Calls:
|
Calls:
|
||||||
|
|
||||||
@ -1306,7 +1405,6 @@ Subroutines / functions
|
|||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :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`
|
||||||
|
|
||||||
|
@ -38,7 +38,7 @@ EZFIO parameters
|
|||||||
Nuclear coordinates in the format (:, {x,y,z})
|
Nuclear coordinates in the format (:, {x,y,z})
|
||||||
|
|
||||||
|
|
||||||
.. option:: disk_access_nuclear_repulsion
|
.. option:: io_nuclear_repulsion
|
||||||
|
|
||||||
Read/Write Nuclear Repulsion from/to disk [ Write | Read | None ]
|
Read/Write Nuclear Repulsion from/to disk [ Write | Read | None ]
|
||||||
|
|
||||||
@ -255,10 +255,7 @@ Providers
|
|||||||
* :c:data:`ao_pseudo_integrals_local`
|
* :c:data:`ao_pseudo_integrals_local`
|
||||||
* :c:data:`ao_pseudo_integrals_non_local`
|
* :c:data:`ao_pseudo_integrals_non_local`
|
||||||
* :c:data:`ao_spread_x`
|
* :c:data:`ao_spread_x`
|
||||||
* :c:data:`ao_two_e_integral_alpha`
|
|
||||||
* :c:data:`ao_two_e_integral_erf_schwartz`
|
|
||||||
* :c:data:`ao_two_e_integral_schwartz`
|
* :c:data:`ao_two_e_integral_schwartz`
|
||||||
* :c:data:`ao_two_e_integrals_erf_in_map`
|
|
||||||
* :c:data:`ao_two_e_integrals_in_map`
|
* :c:data:`ao_two_e_integrals_in_map`
|
||||||
* :c:data:`center_of_mass`
|
* :c:data:`center_of_mass`
|
||||||
* :c:data:`inertia_tensor`
|
* :c:data:`inertia_tensor`
|
||||||
@ -498,7 +495,7 @@ Providers
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`disk_access_nuclear_repulsion`
|
* :c:data:`io_nuclear_repulsion`
|
||||||
* :c:data:`mpi_master`
|
* :c:data:`mpi_master`
|
||||||
* :c:data:`nucl_charge`
|
* :c:data:`nucl_charge`
|
||||||
* :c:data:`nucl_coord`
|
* :c:data:`nucl_coord`
|
||||||
@ -512,11 +509,7 @@ Providers
|
|||||||
|
|
||||||
* :c:data:`ci_energy`
|
* :c:data:`ci_energy`
|
||||||
* :c:data:`core_energy`
|
* :c:data:`core_energy`
|
||||||
* :c:data:`core_energy_erf`
|
|
||||||
* :c:data:`hf_energy`
|
|
||||||
* :c:data:`psi_energy_with_nucl_rep`
|
* :c:data:`psi_energy_with_nucl_rep`
|
||||||
* :c:data:`pt2_e0_denominator`
|
|
||||||
* :c:data:`scf_energy`
|
|
||||||
|
|
||||||
|
|
||||||
.. c:var:: slater_bragg_radii
|
.. c:var:: slater_bragg_radii
|
||||||
|
@ -218,10 +218,12 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`selection_criterion`
|
* :c:data:`elec_alpha_num`
|
||||||
|
* :c:data:`elec_beta_num`
|
||||||
* :c:data:`h_apply_buffer_allocated`
|
* :c:data:`h_apply_buffer_allocated`
|
||||||
* :c:data:`n_det`
|
* :c:data:`n_det`
|
||||||
* :c:data:`n_int`
|
* :c:data:`n_int`
|
||||||
|
* :c:data:`selection_criterion`
|
||||||
|
|
||||||
Calls:
|
Calls:
|
||||||
|
|
||||||
@ -252,11 +254,12 @@ Subroutines / functions
|
|||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`mo_num`
|
* :c:data:`mo_num`
|
||||||
* :c:data:`psi_selectors`
|
|
||||||
* :c:data:`n_det`
|
* :c:data:`n_det`
|
||||||
* :c:data:`n_det_selectors`
|
|
||||||
* :c:data:`n_det_generators`
|
* :c:data:`n_det_generators`
|
||||||
|
* :c:data:`n_det_selectors`
|
||||||
|
* :c:data:`n_int`
|
||||||
* :c:data:`psi_det_generators`
|
* :c:data:`psi_det_generators`
|
||||||
|
* :c:data:`psi_selectors`
|
||||||
|
|
||||||
Calls:
|
Calls:
|
||||||
|
|
||||||
@ -287,11 +290,12 @@ Subroutines / functions
|
|||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`mo_num`
|
* :c:data:`mo_num`
|
||||||
* :c:data:`psi_selectors`
|
|
||||||
* :c:data:`n_det`
|
* :c:data:`n_det`
|
||||||
* :c:data:`n_det_selectors`
|
|
||||||
* :c:data:`n_det_generators`
|
* :c:data:`n_det_generators`
|
||||||
|
* :c:data:`n_det_selectors`
|
||||||
|
* :c:data:`n_int`
|
||||||
* :c:data:`psi_det_generators`
|
* :c:data:`psi_det_generators`
|
||||||
|
* :c:data:`psi_selectors`
|
||||||
|
|
||||||
Calls:
|
Calls:
|
||||||
|
|
||||||
@ -322,11 +326,12 @@ Subroutines / functions
|
|||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`mo_num`
|
* :c:data:`mo_num`
|
||||||
* :c:data:`psi_selectors`
|
|
||||||
* :c:data:`n_det`
|
* :c:data:`n_det`
|
||||||
* :c:data:`n_det_selectors`
|
|
||||||
* :c:data:`n_det_generators`
|
* :c:data:`n_det_generators`
|
||||||
|
* :c:data:`n_det_selectors`
|
||||||
|
* :c:data:`n_int`
|
||||||
* :c:data:`psi_det_generators`
|
* :c:data:`psi_det_generators`
|
||||||
|
* :c:data:`psi_selectors`
|
||||||
|
|
||||||
Calls:
|
Calls:
|
||||||
|
|
||||||
@ -357,11 +362,12 @@ Subroutines / functions
|
|||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`mo_num`
|
* :c:data:`mo_num`
|
||||||
* :c:data:`psi_selectors`
|
|
||||||
* :c:data:`n_det`
|
* :c:data:`n_det`
|
||||||
* :c:data:`n_det_selectors`
|
|
||||||
* :c:data:`n_det_generators`
|
* :c:data:`n_det_generators`
|
||||||
|
* :c:data:`n_det_selectors`
|
||||||
|
* :c:data:`n_int`
|
||||||
* :c:data:`psi_det_generators`
|
* :c:data:`psi_det_generators`
|
||||||
|
* :c:data:`psi_selectors`
|
||||||
|
|
||||||
Calls:
|
Calls:
|
||||||
|
|
||||||
@ -392,11 +398,12 @@ Subroutines / functions
|
|||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`mo_num`
|
* :c:data:`mo_num`
|
||||||
* :c:data:`psi_selectors`
|
|
||||||
* :c:data:`n_det`
|
* :c:data:`n_det`
|
||||||
* :c:data:`n_det_selectors`
|
|
||||||
* :c:data:`n_det_generators`
|
* :c:data:`n_det_generators`
|
||||||
|
* :c:data:`n_det_selectors`
|
||||||
|
* :c:data:`n_int`
|
||||||
* :c:data:`psi_det_generators`
|
* :c:data:`psi_det_generators`
|
||||||
|
* :c:data:`psi_selectors`
|
||||||
|
|
||||||
Calls:
|
Calls:
|
||||||
|
|
||||||
@ -427,11 +434,12 @@ Subroutines / functions
|
|||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`mo_num`
|
* :c:data:`mo_num`
|
||||||
* :c:data:`psi_selectors`
|
|
||||||
* :c:data:`n_det`
|
* :c:data:`n_det`
|
||||||
* :c:data:`n_det_selectors`
|
|
||||||
* :c:data:`n_det_generators`
|
* :c:data:`n_det_generators`
|
||||||
|
* :c:data:`n_det_selectors`
|
||||||
|
* :c:data:`n_int`
|
||||||
* :c:data:`psi_det_generators`
|
* :c:data:`psi_det_generators`
|
||||||
|
* :c:data:`psi_selectors`
|
||||||
|
|
||||||
Calls:
|
Calls:
|
||||||
|
|
||||||
@ -461,11 +469,12 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`n_det_selectors`
|
|
||||||
* :c:data:`n_det_generators`
|
|
||||||
* :c:data:`psi_selectors`
|
|
||||||
* :c:data:`psi_det_generators`
|
|
||||||
* :c:data:`mo_num`
|
* :c:data:`mo_num`
|
||||||
|
* :c:data:`n_det_generators`
|
||||||
|
* :c:data:`n_det_selectors`
|
||||||
|
* :c:data:`n_int`
|
||||||
|
* :c:data:`psi_det_generators`
|
||||||
|
* :c:data:`psi_selectors`
|
||||||
|
|
||||||
Calls:
|
Calls:
|
||||||
|
|
||||||
@ -497,11 +506,12 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`n_det_selectors`
|
|
||||||
* :c:data:`n_det_generators`
|
|
||||||
* :c:data:`psi_selectors`
|
|
||||||
* :c:data:`psi_det_generators`
|
|
||||||
* :c:data:`mo_num`
|
* :c:data:`mo_num`
|
||||||
|
* :c:data:`n_det_generators`
|
||||||
|
* :c:data:`n_det_selectors`
|
||||||
|
* :c:data:`n_int`
|
||||||
|
* :c:data:`psi_det_generators`
|
||||||
|
* :c:data:`psi_selectors`
|
||||||
|
|
||||||
Calls:
|
Calls:
|
||||||
|
|
||||||
@ -533,11 +543,12 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`n_det_selectors`
|
|
||||||
* :c:data:`n_det_generators`
|
|
||||||
* :c:data:`psi_selectors`
|
|
||||||
* :c:data:`psi_det_generators`
|
|
||||||
* :c:data:`mo_num`
|
* :c:data:`mo_num`
|
||||||
|
* :c:data:`n_det_generators`
|
||||||
|
* :c:data:`n_det_selectors`
|
||||||
|
* :c:data:`n_int`
|
||||||
|
* :c:data:`psi_det_generators`
|
||||||
|
* :c:data:`psi_selectors`
|
||||||
|
|
||||||
Calls:
|
Calls:
|
||||||
|
|
||||||
@ -569,11 +580,12 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`n_det_selectors`
|
|
||||||
* :c:data:`n_det_generators`
|
|
||||||
* :c:data:`psi_selectors`
|
|
||||||
* :c:data:`psi_det_generators`
|
|
||||||
* :c:data:`mo_num`
|
* :c:data:`mo_num`
|
||||||
|
* :c:data:`n_det_generators`
|
||||||
|
* :c:data:`n_det_selectors`
|
||||||
|
* :c:data:`n_int`
|
||||||
|
* :c:data:`psi_det_generators`
|
||||||
|
* :c:data:`psi_selectors`
|
||||||
|
|
||||||
Calls:
|
Calls:
|
||||||
|
|
||||||
@ -605,11 +617,12 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`n_det_selectors`
|
|
||||||
* :c:data:`n_det_generators`
|
|
||||||
* :c:data:`psi_selectors`
|
|
||||||
* :c:data:`psi_det_generators`
|
|
||||||
* :c:data:`mo_num`
|
* :c:data:`mo_num`
|
||||||
|
* :c:data:`n_det_generators`
|
||||||
|
* :c:data:`n_det_selectors`
|
||||||
|
* :c:data:`n_int`
|
||||||
|
* :c:data:`psi_det_generators`
|
||||||
|
* :c:data:`psi_selectors`
|
||||||
|
|
||||||
Calls:
|
Calls:
|
||||||
|
|
||||||
@ -641,11 +654,12 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`n_det_selectors`
|
|
||||||
* :c:data:`n_det_generators`
|
|
||||||
* :c:data:`psi_selectors`
|
|
||||||
* :c:data:`psi_det_generators`
|
|
||||||
* :c:data:`mo_num`
|
* :c:data:`mo_num`
|
||||||
|
* :c:data:`n_det_generators`
|
||||||
|
* :c:data:`n_det_selectors`
|
||||||
|
* :c:data:`n_int`
|
||||||
|
* :c:data:`psi_det_generators`
|
||||||
|
* :c:data:`psi_selectors`
|
||||||
|
|
||||||
Calls:
|
Calls:
|
||||||
|
|
||||||
@ -676,11 +690,11 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
|
* :c:data:`mo_num`
|
||||||
* :c:data:`n_det_selectors`
|
* :c:data:`n_det_selectors`
|
||||||
* :c:data:`selection_criterion`
|
|
||||||
* :c:data:`psi_selectors`
|
* :c:data:`psi_selectors`
|
||||||
* :c:data:`psi_selectors_size`
|
* :c:data:`psi_selectors_size`
|
||||||
* :c:data:`mo_num`
|
* :c:data:`selection_criterion`
|
||||||
|
|
||||||
Called by:
|
Called by:
|
||||||
|
|
||||||
@ -721,11 +735,12 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
|
* :c:data:`mo_num`
|
||||||
* :c:data:`n_det_selectors`
|
* :c:data:`n_det_selectors`
|
||||||
* :c:data:`selection_criterion`
|
* :c:data:`n_int`
|
||||||
* :c:data:`psi_selectors`
|
* :c:data:`psi_selectors`
|
||||||
* :c:data:`psi_selectors_size`
|
* :c:data:`psi_selectors_size`
|
||||||
* :c:data:`mo_num`
|
* :c:data:`selection_criterion`
|
||||||
|
|
||||||
Called by:
|
Called by:
|
||||||
|
|
||||||
@ -766,10 +781,11 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
|
* :c:data:`mo_num`
|
||||||
* :c:data:`n_det_selectors`
|
* :c:data:`n_det_selectors`
|
||||||
|
* :c:data:`n_int`
|
||||||
* :c:data:`psi_selectors`
|
* :c:data:`psi_selectors`
|
||||||
* :c:data:`psi_selectors_size`
|
* :c:data:`psi_selectors_size`
|
||||||
* :c:data:`mo_num`
|
|
||||||
|
|
||||||
Called by:
|
Called by:
|
||||||
|
|
||||||
@ -811,11 +827,12 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
|
* :c:data:`mo_num`
|
||||||
* :c:data:`n_det_selectors`
|
* :c:data:`n_det_selectors`
|
||||||
|
* :c:data:`n_int`
|
||||||
|
* :c:data:`psi_energy`
|
||||||
* :c:data:`psi_selectors`
|
* :c:data:`psi_selectors`
|
||||||
* :c:data:`psi_selectors_size`
|
* :c:data:`psi_selectors_size`
|
||||||
* :c:data:`psi_energy`
|
|
||||||
* :c:data:`mo_num`
|
|
||||||
|
|
||||||
Called by:
|
Called by:
|
||||||
|
|
||||||
@ -856,12 +873,13 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`ref_bitmask`
|
* :c:data:`fock_matrix_mo`
|
||||||
* :c:data:`psi_selectors_size`
|
|
||||||
* :c:data:`psi_selectors`
|
|
||||||
* :c:data:`mo_num`
|
* :c:data:`mo_num`
|
||||||
* :c:data:`n_det_selectors`
|
* :c:data:`n_det_selectors`
|
||||||
* :c:data:`fock_matrix_mo`
|
* :c:data:`n_int`
|
||||||
|
* :c:data:`psi_selectors`
|
||||||
|
* :c:data:`psi_selectors_size`
|
||||||
|
* :c:data:`ref_bitmask`
|
||||||
|
|
||||||
Called by:
|
Called by:
|
||||||
|
|
||||||
@ -902,11 +920,12 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
|
* :c:data:`mo_num`
|
||||||
* :c:data:`n_det_selectors`
|
* :c:data:`n_det_selectors`
|
||||||
* :c:data:`selection_criterion`
|
* :c:data:`n_int`
|
||||||
* :c:data:`psi_selectors`
|
* :c:data:`psi_selectors`
|
||||||
* :c:data:`psi_selectors_size`
|
* :c:data:`psi_selectors_size`
|
||||||
* :c:data:`mo_num`
|
* :c:data:`selection_criterion`
|
||||||
|
|
||||||
Called by:
|
Called by:
|
||||||
|
|
||||||
@ -944,16 +963,16 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`psi_coef`
|
|
||||||
* :c:data:`selection_criterion`
|
|
||||||
* :c:data:`n_states`
|
|
||||||
* :c:data:`n_det`
|
* :c:data:`n_det`
|
||||||
* :c:data:`psi_det_size`
|
|
||||||
* :c:data:`n_det_generators`
|
* :c:data:`n_det_generators`
|
||||||
* :c:data:`n_int`
|
* :c:data:`n_int`
|
||||||
|
* :c:data:`n_states`
|
||||||
|
* :c:data:`psi_coef`
|
||||||
* :c:data:`psi_det_sorted`
|
* :c:data:`psi_det_sorted`
|
||||||
* :c:data:`psi_det`
|
* :c:data:`psi_det`
|
||||||
|
* :c:data:`psi_det_size`
|
||||||
* :c:data:`psi_det_sorted`
|
* :c:data:`psi_det_sorted`
|
||||||
|
* :c:data:`selection_criterion`
|
||||||
|
|
||||||
Calls:
|
Calls:
|
||||||
|
|
||||||
|
@ -178,9 +178,11 @@ Providers
|
|||||||
* :c:data:`fock_matrix_mo`
|
* :c:data:`fock_matrix_mo`
|
||||||
* :c:data:`frozen_orb_scf`
|
* :c:data:`frozen_orb_scf`
|
||||||
* :c:data:`level_shift`
|
* :c:data:`level_shift`
|
||||||
* :c:data:`list_inact`
|
* :c:data:`list_act`
|
||||||
|
* :c:data:`list_core`
|
||||||
* :c:data:`mo_coef`
|
* :c:data:`mo_coef`
|
||||||
* :c:data:`mo_num`
|
* :c:data:`mo_num`
|
||||||
|
* :c:data:`n_act_orb`
|
||||||
* :c:data:`n_core_orb`
|
* :c:data:`n_core_orb`
|
||||||
|
|
||||||
|
|
||||||
@ -206,8 +208,8 @@ Providers
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`max_dim_diis`
|
|
||||||
* :c:data:`ao_num`
|
* :c:data:`ao_num`
|
||||||
|
* :c:data:`max_dim_diis`
|
||||||
|
|
||||||
Called by:
|
Called by:
|
||||||
|
|
||||||
@ -221,8 +223,10 @@ Providers
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
|
* :c:func:`dgecon`
|
||||||
* :c:func:`dgemm`
|
* :c:func:`dgemm`
|
||||||
* :c:func:`dsysvx`
|
* :c:func:`dgesv`
|
||||||
|
* :c:func:`dgetrf`
|
||||||
|
|
||||||
|
|
||||||
.. c:var:: fock_matrix_ao
|
.. c:var:: fock_matrix_ao
|
||||||
@ -297,8 +301,10 @@ Providers
|
|||||||
* :c:data:`fock_matrix_mo_alpha`
|
* :c:data:`fock_matrix_mo_alpha`
|
||||||
* :c:data:`fock_matrix_mo_beta`
|
* :c:data:`fock_matrix_mo_beta`
|
||||||
* :c:data:`frozen_orb_scf`
|
* :c:data:`frozen_orb_scf`
|
||||||
* :c:data:`list_inact`
|
* :c:data:`list_act`
|
||||||
|
* :c:data:`list_core`
|
||||||
* :c:data:`mo_num`
|
* :c:data:`mo_num`
|
||||||
|
* :c:data:`n_act_orb`
|
||||||
* :c:data:`n_core_orb`
|
* :c:data:`n_core_orb`
|
||||||
|
|
||||||
Needed by:
|
Needed by:
|
||||||
@ -346,8 +352,10 @@ Providers
|
|||||||
* :c:data:`fock_matrix_mo_alpha`
|
* :c:data:`fock_matrix_mo_alpha`
|
||||||
* :c:data:`fock_matrix_mo_beta`
|
* :c:data:`fock_matrix_mo_beta`
|
||||||
* :c:data:`frozen_orb_scf`
|
* :c:data:`frozen_orb_scf`
|
||||||
* :c:data:`list_inact`
|
* :c:data:`list_act`
|
||||||
|
* :c:data:`list_core`
|
||||||
* :c:data:`mo_num`
|
* :c:data:`mo_num`
|
||||||
|
* :c:data:`n_act_orb`
|
||||||
* :c:data:`n_core_orb`
|
* :c:data:`n_core_orb`
|
||||||
|
|
||||||
Needed by:
|
Needed by:
|
||||||
@ -637,18 +645,18 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`mo_coef`
|
|
||||||
* :c:data:`eigenvectors_fock_matrix_mo`
|
|
||||||
* :c:data:`scf_energy`
|
|
||||||
* :c:data:`scf_density_matrix_ao_beta`
|
|
||||||
* :c:data:`fock_matrix_mo`
|
|
||||||
* :c:data:`ao_num`
|
* :c:data:`ao_num`
|
||||||
* :c:data:`scf_density_matrix_ao_alpha`
|
* :c:data:`eigenvectors_fock_matrix_mo`
|
||||||
* :c:data:`fock_matrix_ao`
|
* :c:data:`fock_matrix_ao`
|
||||||
|
* :c:data:`fock_matrix_mo`
|
||||||
|
* :c:data:`frozen_orb_scf`
|
||||||
|
* :c:data:`mo_coef`
|
||||||
* :c:data:`mo_label`
|
* :c:data:`mo_label`
|
||||||
* :c:data:`n_it_scf_max`
|
* :c:data:`n_it_scf_max`
|
||||||
|
* :c:data:`scf_density_matrix_ao_alpha`
|
||||||
|
* :c:data:`scf_density_matrix_ao_beta`
|
||||||
|
* :c:data:`scf_energy`
|
||||||
* :c:data:`thresh_scf`
|
* :c:data:`thresh_scf`
|
||||||
* :c:data:`frozen_orb_scf`
|
|
||||||
|
|
||||||
Calls:
|
Calls:
|
||||||
|
|
||||||
@ -690,14 +698,15 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`ao_one_e_integrals`
|
|
||||||
* :c:data:`mo_coef`
|
|
||||||
* :c:data:`eigenvectors_fock_matrix_mo`
|
|
||||||
* :c:data:`ao_overlap`
|
|
||||||
* :c:data:`ao_num`
|
* :c:data:`ao_num`
|
||||||
|
* :c:data:`ao_one_e_integrals`
|
||||||
|
* :c:data:`ao_overlap`
|
||||||
* :c:data:`ao_two_e_integral_alpha`
|
* :c:data:`ao_two_e_integral_alpha`
|
||||||
|
* :c:data:`eigenvectors_fock_matrix_mo`
|
||||||
* :c:data:`fock_matrix_ao_alpha`
|
* :c:data:`fock_matrix_ao_alpha`
|
||||||
* :c:data:`fock_matrix_ao_alpha`
|
* :c:data:`fock_matrix_ao_alpha`
|
||||||
|
* :c:data:`mo_coef`
|
||||||
|
* :c:data:`mo_num`
|
||||||
|
|
||||||
Called by:
|
Called by:
|
||||||
|
|
||||||
@ -711,6 +720,8 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
|
* :c:func:`orthonormalize_mos`
|
||||||
|
* :c:func:`restore_symmetry`
|
||||||
* :c:func:`save_mos`
|
* :c:func:`save_mos`
|
||||||
|
|
||||||
Touches:
|
Touches:
|
||||||
@ -740,34 +751,27 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`max_dim_diis`
|
|
||||||
* :c:data:`mo_occ`
|
|
||||||
* :c:data:`ao_md5`
|
* :c:data:`ao_md5`
|
||||||
* :c:data:`mo_coef`
|
|
||||||
* :c:data:`level_shift`
|
|
||||||
* :c:data:`fps_spf_matrix_mo`
|
|
||||||
* :c:data:`eigenvectors_fock_matrix_mo`
|
|
||||||
* :c:data:`scf_energy`
|
|
||||||
* :c:data:`mo_num`
|
|
||||||
* :c:data:`thresh_scf`
|
|
||||||
* :c:data:`scf_algorithm`
|
|
||||||
* :c:data:`fock_matrix_mo`
|
|
||||||
* :c:data:`ao_num`
|
* :c:data:`ao_num`
|
||||||
|
* :c:data:`eigenvectors_fock_matrix_mo`
|
||||||
* :c:data:`fock_matrix_ao`
|
* :c:data:`fock_matrix_ao`
|
||||||
* :c:data:`mo_label`
|
|
||||||
* :c:data:`n_it_scf_max`
|
|
||||||
* :c:data:`threshold_diis_nonzero`
|
|
||||||
* :c:data:`frozen_orb_scf`
|
|
||||||
* :c:data:`fock_matrix_ao_alpha`
|
* :c:data:`fock_matrix_ao_alpha`
|
||||||
* :c:data:`fock_matrix_ao_alpha`
|
* :c:data:`fock_matrix_ao_alpha`
|
||||||
|
* :c:data:`fock_matrix_mo`
|
||||||
* :c:data:`fps_spf_matrix_ao`
|
* :c:data:`fps_spf_matrix_ao`
|
||||||
|
* :c:data:`fps_spf_matrix_mo`
|
||||||
Called by:
|
* :c:data:`frozen_orb_scf`
|
||||||
|
* :c:data:`level_shift`
|
||||||
.. hlist::
|
* :c:data:`max_dim_diis`
|
||||||
:columns: 3
|
* :c:data:`mo_coef`
|
||||||
|
* :c:data:`mo_label`
|
||||||
* :c:func:`run`
|
* :c:data:`mo_num`
|
||||||
|
* :c:data:`mo_occ`
|
||||||
|
* :c:data:`n_it_scf_max`
|
||||||
|
* :c:data:`scf_algorithm`
|
||||||
|
* :c:data:`scf_energy`
|
||||||
|
* :c:data:`thresh_scf`
|
||||||
|
* :c:data:`threshold_diis_nonzero`
|
||||||
|
|
||||||
Calls:
|
Calls:
|
||||||
|
|
||||||
@ -777,6 +781,8 @@ Subroutines / functions
|
|||||||
* :c:func:`extrapolate_fock_matrix`
|
* :c:func:`extrapolate_fock_matrix`
|
||||||
* :c:func:`initialize_mo_coef_begin_iteration`
|
* :c:func:`initialize_mo_coef_begin_iteration`
|
||||||
* :c:func:`mo_as_eigvectors_of_mo_matrix`
|
* :c:func:`mo_as_eigvectors_of_mo_matrix`
|
||||||
|
* :c:func:`nullify_small_elements`
|
||||||
|
* :c:func:`orthonormalize_mos`
|
||||||
* :c:func:`reorder_core_orb`
|
* :c:func:`reorder_core_orb`
|
||||||
* :c:func:`save_mos`
|
* :c:func:`save_mos`
|
||||||
* :c:func:`write_double`
|
* :c:func:`write_double`
|
||||||
|
@ -33,6 +33,76 @@ Programs
|
|||||||
Subroutines / functions
|
Subroutines / functions
|
||||||
-----------------------
|
-----------------------
|
||||||
|
|
||||||
|
.. c:function:: print_energy:
|
||||||
|
|
||||||
|
|
||||||
|
File : :file:`print_energy.irp.f`
|
||||||
|
|
||||||
|
.. code:: fortran
|
||||||
|
|
||||||
|
subroutine print_energy
|
||||||
|
|
||||||
|
|
||||||
|
Prints the energy of the wave function stored in the |EZFIO| directory.
|
||||||
|
|
||||||
|
Needs:
|
||||||
|
|
||||||
|
.. hlist::
|
||||||
|
:columns: 3
|
||||||
|
|
||||||
|
* :c:data:`n_states`
|
||||||
|
* :c:data:`read_wf`
|
||||||
|
|
||||||
|
Calls:
|
||||||
|
|
||||||
|
.. hlist::
|
||||||
|
:columns: 3
|
||||||
|
|
||||||
|
* :c:func:`run`
|
||||||
|
|
||||||
|
Touches:
|
||||||
|
|
||||||
|
.. hlist::
|
||||||
|
:columns: 3
|
||||||
|
|
||||||
|
* :c:data:`read_wf`
|
||||||
|
|
||||||
|
|
||||||
|
.. c:function:: print_hamiltonian:
|
||||||
|
|
||||||
|
|
||||||
|
File : :file:`print_hamiltonian.irp.f`
|
||||||
|
|
||||||
|
.. code:: fortran
|
||||||
|
|
||||||
|
subroutine print_hamiltonian
|
||||||
|
|
||||||
|
|
||||||
|
Prints the Hamiltonian matrix defined in the space of determinants
|
||||||
|
present in the |EZFIO| directory.
|
||||||
|
|
||||||
|
Needs:
|
||||||
|
|
||||||
|
.. hlist::
|
||||||
|
:columns: 3
|
||||||
|
|
||||||
|
* :c:data:`read_wf`
|
||||||
|
|
||||||
|
Calls:
|
||||||
|
|
||||||
|
.. hlist::
|
||||||
|
:columns: 3
|
||||||
|
|
||||||
|
* :c:func:`run`
|
||||||
|
|
||||||
|
Touches:
|
||||||
|
|
||||||
|
.. hlist::
|
||||||
|
:columns: 3
|
||||||
|
|
||||||
|
* :c:data:`read_wf`
|
||||||
|
|
||||||
|
|
||||||
.. c:function:: routine:
|
.. c:function:: routine:
|
||||||
|
|
||||||
|
|
||||||
@ -80,8 +150,8 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`n_states`
|
|
||||||
* :c:data:`ezfio_filename`
|
* :c:data:`ezfio_filename`
|
||||||
|
* :c:data:`n_states`
|
||||||
|
|
||||||
Called by:
|
Called by:
|
||||||
|
|
||||||
@ -138,3 +208,41 @@ Subroutines / functions
|
|||||||
* :c:func:`ezfio_set_aux_quantities_data_one_e_dm_beta_ao`
|
* :c:func:`ezfio_set_aux_quantities_data_one_e_dm_beta_ao`
|
||||||
* :c:func:`ezfio_set_aux_quantities_data_one_e_dm_beta_mo`
|
* :c:func:`ezfio_set_aux_quantities_data_one_e_dm_beta_mo`
|
||||||
|
|
||||||
|
|
||||||
|
.. c:function:: run:
|
||||||
|
|
||||||
|
|
||||||
|
File : :file:`print_hamiltonian.irp.f`
|
||||||
|
|
||||||
|
.. code:: fortran
|
||||||
|
|
||||||
|
subroutine run
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Needs:
|
||||||
|
|
||||||
|
.. hlist::
|
||||||
|
:columns: 3
|
||||||
|
|
||||||
|
* :c:data:`n_det`
|
||||||
|
* :c:data:`n_int`
|
||||||
|
* :c:data:`psi_det`
|
||||||
|
|
||||||
|
Called by:
|
||||||
|
|
||||||
|
.. hlist::
|
||||||
|
:columns: 3
|
||||||
|
|
||||||
|
* :c:func:`print_energy`
|
||||||
|
* :c:func:`print_hamiltonian`
|
||||||
|
* :c:func:`pt2`
|
||||||
|
* :c:func:`scf`
|
||||||
|
|
||||||
|
Calls:
|
||||||
|
|
||||||
|
.. hlist::
|
||||||
|
:columns: 3
|
||||||
|
|
||||||
|
* :c:func:`i_h_j`
|
||||||
|
|
||||||
|
@ -29,7 +29,7 @@ be used. In addition, all the shell scripts should be under
|
|||||||
|
|
||||||
The exit code of the script should be 0 upon success only.
|
The exit code of the script should be 0 upon success only.
|
||||||
|
|
||||||
Bash and Python2 are the only shell scripting language permitted for
|
Bash and Python3 are the only shell scripting language permitted for
|
||||||
executables.
|
executables.
|
||||||
|
|
||||||
|
|
||||||
@ -73,11 +73,10 @@ Bash
|
|||||||
Python
|
Python
|
||||||
------
|
------
|
||||||
|
|
||||||
Only Python2 is supported. The reason is that some dependencies use Python2,
|
Only Python3 is supported.
|
||||||
and we do not want yet to add an extra dependency to Python3.
|
|
||||||
|
|
||||||
Python scripts should start with ``#!/usr/bin/env python2`` to mention
|
Python scripts should start with ``#!/usr/bin/env python3`` to mention
|
||||||
explicitly that Python2 has to be used.
|
explicitly that Python3 has to be used, possibly from a conda installation.
|
||||||
|
|
||||||
:command:`pylint` should be used to increase the quality of the source code.
|
:command:`pylint` should be used to increase the quality of the source code.
|
||||||
|
|
||||||
|
@ -6,7 +6,7 @@ To program in the |qp|, it is required that you are familiar with the |IRPF90|
|
|||||||
code generator. A GitBook can be found `here <http://scemama.gitbooks.io/irpf90>`_,
|
code generator. A GitBook can be found `here <http://scemama.gitbooks.io/irpf90>`_,
|
||||||
and programmers are encouraged to visit this manual.
|
and programmers are encouraged to visit this manual.
|
||||||
|
|
||||||
|IRPF90| make programming very simple. The only information a programmer needs
|
|IRPF90| makes programming very simple. The only information a programmer needs
|
||||||
in order to write a new program is the name of the required |IRPF90| entities
|
in order to write a new program is the name of the required |IRPF90| entities
|
||||||
which may already exist in other modules. For example, writing a program which
|
which may already exist in other modules. For example, writing a program which
|
||||||
prints the Hartree-Fock energy is as simple as:
|
prints the Hartree-Fock energy is as simple as:
|
||||||
@ -24,7 +24,7 @@ prints the Hartree-Fock energy is as simple as:
|
|||||||
|
|
||||||
|
|
||||||
The only required information was the existence of a provider for
|
The only required information was the existence of a provider for
|
||||||
:command:`hf_energy`. A detailed list of all the providers, subroutines
|
:command:`HF_energy`. A detailed list of all the providers, subroutines
|
||||||
and functions of the |qp| can be found in the appendix of this manual.
|
and functions of the |qp| can be found in the appendix of this manual.
|
||||||
|
|
||||||
|
|
||||||
@ -32,10 +32,10 @@ and functions of the |qp| can be found in the appendix of this manual.
|
|||||||
Architecture
|
Architecture
|
||||||
============
|
============
|
||||||
|
|
||||||
As |IRPF90| is used, the programmer doesn't have a full control of the sequence
|
As |IRPF90| is used, the programmer doesn't have full control of the sequence
|
||||||
of instructions in the produced Fortran code. This explains why the input data
|
of instructions in the produced Fortran code. This explains why the input data
|
||||||
is stored in a database rather than in sequential text files. Indeed, the
|
is stored in a database rather than in sequential text files. Consequently, the
|
||||||
programmer can't know by advance in which order the files will be read, so a
|
programmer can't know in advance the order in which the files will be read, so a
|
||||||
simple random access to persistent data is needed. The |EZFIO| library generator
|
simple random access to persistent data is needed. The |EZFIO| library generator
|
||||||
is a practical answer to this problem.
|
is a practical answer to this problem.
|
||||||
|
|
||||||
@ -45,10 +45,10 @@ This is done mostly using the command line or scripting.
|
|||||||
|
|
||||||
.. important::
|
.. important::
|
||||||
|
|
||||||
Each command modifies the state of the |EZFIO| database, so running twice the
|
Each command modifies the state of the |EZFIO| database, so running the
|
||||||
same program on the same database may have different behaviors because of the
|
same program twice on the same database may have different behavior because of the
|
||||||
state of the database. For reproducibility, users are encouraged to run scripts
|
state of the database. For reproducibility, users are encouraged to run scripts
|
||||||
where a fresg new |EZFIO| database is created at the beginning of the
|
where a fresh new |EZFIO| database is created at the beginning of the
|
||||||
script. This way of running the |qp| makes calculations reproducible.
|
script. This way of running the |qp| makes calculations reproducible.
|
||||||
|
|
||||||
|
|
||||||
@ -97,7 +97,7 @@ in the `FCIDUMP` format (see :ref:`fcidump`).
|
|||||||
|
|
||||||
All the results are stored in the |EZFIO| directory, so users willing to fetch
|
All the results are stored in the |EZFIO| directory, so users willing to fetch
|
||||||
data such as the |MOs| or the |CI| coefficients should use the |EZFIO| API.
|
data such as the |MOs| or the |CI| coefficients should use the |EZFIO| API.
|
||||||
There multiple major ways to do this:
|
There are multiple major ways to do this:
|
||||||
|
|
||||||
* Write a script in Python or OCaml and use the Python |EZFIO| API. The script
|
* Write a script in Python or OCaml and use the Python |EZFIO| API. The script
|
||||||
:file:`$QP_ROOT/bin/qp_convert_output_to_ezfio` is a good example to understand
|
:file:`$QP_ROOT/bin/qp_convert_output_to_ezfio` is a good example to understand
|
||||||
|
@ -22,7 +22,7 @@ cisd
|
|||||||
* **Ground state calculation**: if even after a :c:func:`cis` calculation, natural
|
* **Ground state calculation**: if even after a :c:func:`cis` calculation, natural
|
||||||
orbitals (see :c:func:`save_natorb`) and then :c:func:`scf` optimization, you are not sure to have the lowest scf
|
orbitals (see :c:func:`save_natorb`) and then :c:func:`scf` optimization, you are not sure to have the lowest scf
|
||||||
solution,
|
solution,
|
||||||
do the same strategy with the :c:func:`cisd` executable instead of the :c:func:`cis` exectuable to generate the natural
|
do the same strategy with the :c:func:`cisd` executable instead of the :c:func:`cis` exectuable to generate the natural
|
||||||
orbitals as a guess for the :c:func:`scf`.
|
orbitals as a guess for the :c:func:`scf`.
|
||||||
|
|
||||||
|
|
||||||
@ -57,6 +57,7 @@ cisd
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
|
* :c:data:`n_states`
|
||||||
* :c:data:`read_wf`
|
* :c:data:`read_wf`
|
||||||
|
|
||||||
Calls:
|
Calls:
|
||||||
|
@ -48,10 +48,10 @@ fci
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`psi_coef`
|
|
||||||
* :c:data:`is_zmq_slave`
|
|
||||||
* :c:data:`do_pt2`
|
* :c:data:`do_pt2`
|
||||||
|
* :c:data:`is_zmq_slave`
|
||||||
* :c:data:`mo_two_e_integrals_in_map`
|
* :c:data:`mo_two_e_integrals_in_map`
|
||||||
|
* :c:data:`psi_coef`
|
||||||
* :c:data:`psi_det`
|
* :c:data:`psi_det`
|
||||||
|
|
||||||
Calls:
|
Calls:
|
||||||
@ -87,9 +87,11 @@ fci
|
|||||||
* :c:data:`psi_energy`
|
* :c:data:`psi_energy`
|
||||||
* :c:data:`pt2_e0_denominator`
|
* :c:data:`pt2_e0_denominator`
|
||||||
* :c:data:`pt2_match_weight`
|
* :c:data:`pt2_match_weight`
|
||||||
|
* :c:data:`pt2_overlap`
|
||||||
* :c:data:`pt2_stoch_istate`
|
* :c:data:`pt2_stoch_istate`
|
||||||
* :c:data:`read_wf`
|
* :c:data:`read_wf`
|
||||||
* :c:data:`selection_weight`
|
* :c:data:`selection_weight`
|
||||||
* :c:data:`state_average_weight`
|
* :c:data:`state_average_weight`
|
||||||
|
* :c:data:`threshold_davidson_pt2`
|
||||||
* :c:data:`threshold_generators`
|
* :c:data:`threshold_generators`
|
||||||
* :c:data:`variance_match_weight`
|
* :c:data:`variance_match_weight`
|
||||||
|
@ -31,15 +31,16 @@ fcidump
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`elec_beta_num`
|
|
||||||
* :c:data:`ezfio_filename`
|
|
||||||
* :c:data:`core_fock_operator`
|
|
||||||
* :c:data:`elec_num`
|
|
||||||
* :c:data:`mo_two_e_integrals_in_map`
|
|
||||||
* :c:data:`elec_alpha_num`
|
|
||||||
* :c:data:`mo_one_e_integrals`
|
|
||||||
* :c:data:`n_core_orb`
|
|
||||||
* :c:data:`mo_integrals_threshold`
|
|
||||||
* :c:data:`list_inact`
|
|
||||||
* :c:data:`mo_integrals_map`
|
|
||||||
* :c:data:`core_energy`
|
* :c:data:`core_energy`
|
||||||
|
* :c:data:`core_fock_operator`
|
||||||
|
* :c:data:`elec_alpha_num`
|
||||||
|
* :c:data:`elec_beta_num`
|
||||||
|
* :c:data:`elec_num`
|
||||||
|
* :c:data:`ezfio_filename`
|
||||||
|
* :c:data:`list_act`
|
||||||
|
* :c:data:`mo_integrals_map`
|
||||||
|
* :c:data:`mo_integrals_threshold`
|
||||||
|
* :c:data:`mo_one_e_integrals`
|
||||||
|
* :c:data:`mo_two_e_integrals_in_map`
|
||||||
|
* :c:data:`n_act_orb`
|
||||||
|
* :c:data:`n_core_orb`
|
||||||
|
@ -19,10 +19,10 @@ ks_scf
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`io_mo_one_e_integrals`
|
|
||||||
* :c:data:`mu_erf_dft`
|
|
||||||
* :c:data:`density_for_dft`
|
* :c:data:`density_for_dft`
|
||||||
* :c:data:`io_ao_one_e_integrals`
|
* :c:data:`io_ao_one_e_integrals`
|
||||||
|
* :c:data:`io_mo_one_e_integrals`
|
||||||
|
* :c:data:`mu_erf_dft`
|
||||||
|
|
||||||
Calls:
|
Calls:
|
||||||
|
|
||||||
|
@ -16,21 +16,21 @@ molden
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`nucl_list_shell_aos`
|
|
||||||
* :c:data:`mo_occ`
|
|
||||||
* :c:data:`ezfio_filename`
|
|
||||||
* :c:data:`mo_coef`
|
|
||||||
* :c:data:`ao_coef`
|
* :c:data:`ao_coef`
|
||||||
* :c:data:`ao_power`
|
|
||||||
* :c:data:`fock_matrix_mo`
|
|
||||||
* :c:data:`ao_num`
|
|
||||||
* :c:data:`ao_prim_num`
|
|
||||||
* :c:data:`mo_num`
|
|
||||||
* :c:data:`nucl_coord`
|
|
||||||
* :c:data:`ao_l`
|
|
||||||
* :c:data:`nucl_charge`
|
|
||||||
* :c:data:`ao_expo`
|
* :c:data:`ao_expo`
|
||||||
|
* :c:data:`ao_l`
|
||||||
|
* :c:data:`ao_num`
|
||||||
|
* :c:data:`ao_power`
|
||||||
|
* :c:data:`ao_prim_num`
|
||||||
* :c:data:`element_name`
|
* :c:data:`element_name`
|
||||||
|
* :c:data:`ezfio_filename`
|
||||||
|
* :c:data:`fock_matrix_mo`
|
||||||
|
* :c:data:`mo_coef`
|
||||||
|
* :c:data:`mo_num`
|
||||||
|
* :c:data:`mo_occ`
|
||||||
|
* :c:data:`nucl_charge`
|
||||||
|
* :c:data:`nucl_coord`
|
||||||
|
* :c:data:`nucl_list_shell_aos`
|
||||||
* :c:data:`nucl_num`
|
* :c:data:`nucl_num`
|
||||||
|
|
||||||
Calls:
|
Calls:
|
||||||
|
@ -30,8 +30,8 @@ pt2
|
|||||||
* :c:data:`is_zmq_slave`
|
* :c:data:`is_zmq_slave`
|
||||||
* :c:data:`mo_two_e_integrals_in_map`
|
* :c:data:`mo_two_e_integrals_in_map`
|
||||||
* :c:data:`psi_energy`
|
* :c:data:`psi_energy`
|
||||||
* :c:data:`threshold_generators`
|
|
||||||
* :c:data:`read_wf`
|
* :c:data:`read_wf`
|
||||||
|
* :c:data:`threshold_generators`
|
||||||
|
|
||||||
Calls:
|
Calls:
|
||||||
|
|
||||||
@ -46,12 +46,7 @@ pt2
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`fock_matrix_ao_alpha`
|
|
||||||
* :c:data:`fock_matrix_ao_alpha`
|
|
||||||
* :c:data:`mo_coef`
|
|
||||||
* :c:data:`distributed_davidson`
|
* :c:data:`distributed_davidson`
|
||||||
* :c:data:`level_shift`
|
|
||||||
* :c:data:`mo_coef`
|
|
||||||
* :c:data:`pt2_e0_denominator`
|
* :c:data:`pt2_e0_denominator`
|
||||||
* :c:data:`pt2_stoch_istate`
|
* :c:data:`pt2_stoch_istate`
|
||||||
* :c:data:`read_wf`
|
* :c:data:`read_wf`
|
||||||
|
@ -19,8 +19,8 @@ rotate_mos
|
|||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`ao_num`
|
* :c:data:`ao_num`
|
||||||
* :c:data:`mo_num`
|
|
||||||
* :c:data:`mo_coef`
|
* :c:data:`mo_coef`
|
||||||
|
* :c:data:`mo_num`
|
||||||
|
|
||||||
Calls:
|
Calls:
|
||||||
|
|
||||||
|
@ -19,10 +19,10 @@ rs_ks_scf
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`io_mo_one_e_integrals`
|
|
||||||
* :c:data:`mu_erf_dft`
|
|
||||||
* :c:data:`density_for_dft`
|
* :c:data:`density_for_dft`
|
||||||
* :c:data:`io_ao_one_e_integrals`
|
* :c:data:`io_ao_one_e_integrals`
|
||||||
|
* :c:data:`io_mo_one_e_integrals`
|
||||||
|
* :c:data:`mu_erf_dft`
|
||||||
* :c:data:`read_wf`
|
* :c:data:`read_wf`
|
||||||
|
|
||||||
Calls:
|
Calls:
|
||||||
|
@ -32,8 +32,8 @@ save_natorb
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:func:`ezfio_set_mo_one_e_ints_io_mo_integrals_e_n`
|
|
||||||
* :c:func:`ezfio_set_mo_one_e_ints_io_mo_integrals_kinetic`
|
* :c:func:`ezfio_set_mo_one_e_ints_io_mo_integrals_kinetic`
|
||||||
|
* :c:func:`ezfio_set_mo_one_e_ints_io_mo_integrals_n_e`
|
||||||
* :c:func:`ezfio_set_mo_one_e_ints_io_mo_integrals_pseudo`
|
* :c:func:`ezfio_set_mo_one_e_ints_io_mo_integrals_pseudo`
|
||||||
* :c:func:`ezfio_set_mo_one_e_ints_io_mo_one_e_integrals`
|
* :c:func:`ezfio_set_mo_one_e_ints_io_mo_one_e_integrals`
|
||||||
* :c:func:`ezfio_set_mo_two_e_ints_io_mo_two_e_integrals`
|
* :c:func:`ezfio_set_mo_two_e_ints_io_mo_two_e_integrals`
|
||||||
@ -45,5 +45,6 @@ save_natorb
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
|
* :c:data:`mo_coef`
|
||||||
* :c:data:`mo_occ`
|
* :c:data:`mo_occ`
|
||||||
* :c:data:`read_wf`
|
* :c:data:`read_wf`
|
||||||
|
@ -17,6 +17,13 @@ save_ortho_mos
|
|||||||
|
|
||||||
Thanks to the Lowdin orthonormalization, the new MOs are the most similar to the guess MOs.
|
Thanks to the Lowdin orthonormalization, the new MOs are the most similar to the guess MOs.
|
||||||
|
|
||||||
|
Needs:
|
||||||
|
|
||||||
|
.. hlist::
|
||||||
|
:columns: 3
|
||||||
|
|
||||||
|
* :c:data:`mo_label`
|
||||||
|
|
||||||
Calls:
|
Calls:
|
||||||
|
|
||||||
.. hlist::
|
.. hlist::
|
||||||
|
@ -58,9 +58,5 @@ scf
|
|||||||
|
|
||||||
* :c:data:`fock_matrix_ao_alpha`
|
* :c:data:`fock_matrix_ao_alpha`
|
||||||
* :c:data:`fock_matrix_ao_alpha`
|
* :c:data:`fock_matrix_ao_alpha`
|
||||||
* :c:data:`fock_matrix_ao_alpha`
|
|
||||||
* :c:data:`fock_matrix_ao_alpha`
|
|
||||||
* :c:data:`mo_coef`
|
|
||||||
* :c:data:`level_shift`
|
|
||||||
* :c:data:`mo_coef`
|
* :c:data:`mo_coef`
|
||||||
* :c:data:`mo_label`
|
* :c:data:`mo_label`
|
||||||
|
@ -18,10 +18,10 @@ sort_by_fock_energies
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`fock_matrix_mo`
|
|
||||||
* :c:data:`ao_num`
|
* :c:data:`ao_num`
|
||||||
* :c:data:`mo_num`
|
* :c:data:`fock_matrix_mo`
|
||||||
* :c:data:`mo_coef`
|
* :c:data:`mo_coef`
|
||||||
|
* :c:data:`mo_num`
|
||||||
|
|
||||||
Calls:
|
Calls:
|
||||||
|
|
||||||
|
@ -10,10 +10,9 @@ test
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
Calls:
|
Needs:
|
||||||
|
|
||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:func:`two_e_integrals_index`
|
* :c:data:`mo_one_e_integrals`
|
||||||
* :c:func:`two_e_integrals_index_reverse`
|
|
||||||
|
@ -17,8 +17,8 @@ write_integrals_erf
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`io_mo_two_e_integrals`
|
|
||||||
* :c:data:`io_ao_two_e_integrals`
|
* :c:data:`io_ao_two_e_integrals`
|
||||||
|
* :c:data:`io_mo_two_e_integrals`
|
||||||
|
|
||||||
Calls:
|
Calls:
|
||||||
|
|
||||||
|
@ -1,493 +0,0 @@
|
|||||||
%%% ARXIV TO BE UPDATED %%%
|
|
||||||
@article{Loos2020Jan,
|
|
||||||
author = {Loos, Pierre-François and Scemama, Anthony and Jacquemin, Denis},
|
|
||||||
title = {{The Quest For Highly Accurate Excitation Energies: A Computational Perspective}},
|
|
||||||
journal = {arXiv},
|
|
||||||
year = {2020},
|
|
||||||
month = {Jan},
|
|
||||||
eprint = {2001.00416},
|
|
||||||
url = {https://arxiv.org/abs/2001.00416}
|
|
||||||
}
|
|
||||||
|
|
||||||
@article{Loos2019Dec,
|
|
||||||
author = {Loos, Pierre-François and Lipparini, Filippo and Boggio-Pasqua, Martial and Scemama, Anthony and Jacquemin, Denis},
|
|
||||||
title = {{A Mountaineering Strategy to Excited States: Highly-Accurate Energies and Benchmarks for Medium Size Molecules}},
|
|
||||||
journal = {arXiv},
|
|
||||||
year = {2019},
|
|
||||||
month = {Dec},
|
|
||||||
eprint = {1912.04173},
|
|
||||||
url = {https://arxiv.org/abs/1912.04173}
|
|
||||||
}
|
|
||||||
|
|
||||||
@article{Loos2019Oct,
|
|
||||||
author = {Loos, Pierre-François and Pradines, Barthélémy and Scemama, Anthony and Giner, Emmanuel and Toulouse, Julien},
|
|
||||||
title = {{A Density-Based Basis-Set Incompleteness Correction for GW Methods}},
|
|
||||||
journal = {arXiv},
|
|
||||||
year = {2019},
|
|
||||||
month = {Oct},
|
|
||||||
eprint = {1910.12238},
|
|
||||||
url = {https://arxiv.org/abs/1910.12238}
|
|
||||||
}
|
|
||||||
|
|
||||||
%%%% PUBLISHED PAPERS
|
|
||||||
@article{Hollett2020Jan,
|
|
||||||
author = {Hollett, Joshua W. and Loos, Pierre-Fran{\c{c}}ois},
|
|
||||||
title = {{Capturing static and dynamic correlation with {$\Delta$}NO-MP2 and {$\Delta$}NO-CCSD}},
|
|
||||||
journal = {J. Chem. Phys.},
|
|
||||||
volume = {152},
|
|
||||||
number = {1},
|
|
||||||
pages = {014101},
|
|
||||||
year = {2020},
|
|
||||||
month = {Jan},
|
|
||||||
issn = {0021-9606},
|
|
||||||
publisher = {American Institute of Physics},
|
|
||||||
doi = {10.1063/1.5140669}
|
|
||||||
}
|
|
||||||
|
|
||||||
@article{Giner2019Oct,
|
|
||||||
author = {Giner, Emmanuel and Scemama, Anthony and Toulouse, Julien and Loos, Pierre-Fran{\c{c}}ois},
|
|
||||||
title = {{Chemically accurate excitation energies with small basis sets}},
|
|
||||||
journal = {J. Chem. Phys.},
|
|
||||||
volume = {151},
|
|
||||||
number = {14},
|
|
||||||
pages = {144118},
|
|
||||||
year = {2019},
|
|
||||||
month = {Oct},
|
|
||||||
issn = {0021-9606},
|
|
||||||
publisher = {American Institute of Physics},
|
|
||||||
doi = {10.1063/1.5122976}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@article{Burton2019Sep,
|
|
||||||
author = {Burton, Hugh G. A. and Thom, Alex J. W.},
|
|
||||||
title = {{General Approach for Multireference Ground and Excited States Using Nonorthogonal Configuration Interaction}},
|
|
||||||
journal = {J. Chem. Theory Comput.},
|
|
||||||
volume = {15},
|
|
||||||
number = {9},
|
|
||||||
pages = {4851--4861},
|
|
||||||
year = {2019},
|
|
||||||
month = {Sep},
|
|
||||||
issn = {1549-9618},
|
|
||||||
publisher = {American Chemical Society},
|
|
||||||
doi = {10.1021/acs.jctc.9b00441}
|
|
||||||
}
|
|
||||||
|
|
||||||
@article{Dash_2019,
|
|
||||||
author = {Dash, Monika and Feldt, Jonas and Moroni, Saverio and Scemama, Anthony and Filippi, Claudia},
|
|
||||||
title = {{Excited States with Selected Configuration Interaction-Quantum Monte Carlo: Chemically Accurate Excitation Energies and Geometries}},
|
|
||||||
journal = {J. Chem. Theory Comput.},
|
|
||||||
volume = {15},
|
|
||||||
number = {9},
|
|
||||||
pages = {4896--4906},
|
|
||||||
year = {2019},
|
|
||||||
month = {Sep},
|
|
||||||
issn = {1549-9618},
|
|
||||||
publisher = {American Chemical Society},
|
|
||||||
doi = {10.1021/acs.jctc.9b00476}
|
|
||||||
}
|
|
||||||
|
|
||||||
@article{Ferte_2019,
|
|
||||||
doi = {10.1063/1.5082638},
|
|
||||||
url = {https://doi.org/10.1063%2F1.5082638},
|
|
||||||
year = 2019,
|
|
||||||
month = {feb},
|
|
||||||
publisher = {{AIP} Publishing},
|
|
||||||
volume = {150},
|
|
||||||
number = {8},
|
|
||||||
pages = {084103},
|
|
||||||
author = {Anthony Fert{\'{e}} and Emmanuel Giner and Julien Toulouse},
|
|
||||||
title = {Range-separated multideterminant density-functional theory with a short-range correlation functional of the on-top pair density},
|
|
||||||
journal = {The Journal of Chemical Physics}
|
|
||||||
}
|
|
||||||
|
|
||||||
@article{Caffarel_2019,
|
|
||||||
doi = {10.1063/1.5114703},
|
|
||||||
url = {https://doi.org/10.1063%2F1.5114703},
|
|
||||||
year = 2019,
|
|
||||||
month = {aug},
|
|
||||||
publisher = {{AIP} Publishing},
|
|
||||||
volume = {151},
|
|
||||||
number = {6},
|
|
||||||
pages = {064101},
|
|
||||||
author = {Michel Caffarel},
|
|
||||||
title = {Evaluating two-electron-repulsion integrals over arbitrary orbitals using zero variance Monte Carlo: Application to full configuration interaction calculations with Slater-type orbitals},
|
|
||||||
journal = {The Journal of Chemical Physics}
|
|
||||||
}
|
|
||||||
|
|
||||||
@article{Loos_2019,
|
|
||||||
doi = {10.1021/acs.jpclett.9b01176},
|
|
||||||
url = {https://doi.org/10.1021%2Facs.jpclett.9b01176},
|
|
||||||
year = 2019,
|
|
||||||
month = {may},
|
|
||||||
publisher = {American Chemical Society ({ACS})},
|
|
||||||
volume = {10},
|
|
||||||
number = {11},
|
|
||||||
pages = {2931--2937},
|
|
||||||
author = {Pierre-Fran{\c{c}}ois Loos and Barth{\'{e}}l{\'{e}}my Pradines and Anthony Scemama and Julien Toulouse and Emmanuel Giner},
|
|
||||||
title = {A Density-Based Basis-Set Correction for Wave Function Theory},
|
|
||||||
journal = {The Journal of Physical Chemistry Letters}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@article{Garniron_2019,
|
|
||||||
doi = {10.1021/acs.jctc.9b00176},
|
|
||||||
url = {https://doi.org/10.1021%2Facs.jctc.9b00176},
|
|
||||||
year = 2019,
|
|
||||||
month = {may},
|
|
||||||
publisher = {American Chemical Society ({ACS})},
|
|
||||||
author = {Yann Garniron and Thomas Applencourt and Kevin Gasperich and Anouar Benali and Anthony Fert{\'{e}} and Julien Paquier and Barth{\'{e}}l{\'{e}}my Pradines and Roland Assaraf and Peter Reinhardt and Julien Toulouse and Pierrette Barbaresco and Nicolas Renon and Gr{\'{e}}goire David and Jean-Paul Malrieu and Mickaël V{\'{e}}ril and Michel Caffarel and Pierre-Fran{\c{c}}ois Loos and Emmanuel Giner and Anthony Scemama},
|
|
||||||
title = {Quantum Package 2.0: An Open-Source Determinant-Driven Suite of Programs},
|
|
||||||
journal = {Journal of Chemical Theory and Computation}
|
|
||||||
}
|
|
||||||
|
|
||||||
@article{Scemama_2019,
|
|
||||||
doi = {10.1016/j.rechem.2019.100002},
|
|
||||||
url = {https://doi.org/10.1016%2Fj.rechem.2019.100002},
|
|
||||||
year = 2019,
|
|
||||||
month = {may},
|
|
||||||
publisher = {Elsevier {BV}},
|
|
||||||
pages = {100002},
|
|
||||||
author = {Anthony Scemama and Michel Caffarel and Anouar Benali and Denis Jacquemin and Pierre-Fran{\c{c}}ois Loos},
|
|
||||||
title = {Influence of pseudopotentials on excitation energies from selected configuration interaction and diffusion Monte Carlo},
|
|
||||||
journal = {Results in Chemistry}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@article{Applencourt2018Dec,
|
|
||||||
author = {Applencourt, Thomas and Gasperich, Kevin and Scemama, Anthony},
|
|
||||||
title = {{Spin adaptation with determinant-based selected configuration interaction}},
|
|
||||||
journal = {arXiv},
|
|
||||||
year = {2018},
|
|
||||||
month = {Dec},
|
|
||||||
eprint = {1812.06902},
|
|
||||||
url = {https://arxiv.org/abs/1812.06902}
|
|
||||||
}
|
|
||||||
|
|
||||||
@article{Loos2019Mar,
|
|
||||||
author = {Loos, Pierre-Fran\c{c}ois and Boggio-Pasqua, Martial and Scemama, Anthony and Caffarel, Michel and Jacquemin, Denis},
|
|
||||||
title = {{Reference Energies for Double Excitations}},
|
|
||||||
journal = {J. Chem. Theory Comput.},
|
|
||||||
volume = {15},
|
|
||||||
number = {3},
|
|
||||||
pages = {1939--1956},
|
|
||||||
year = {2019},
|
|
||||||
month = {Mar},
|
|
||||||
issn = {1549-9618},
|
|
||||||
publisher = {American Chemical Society},
|
|
||||||
doi = {10.1021/acs.jctc.8b01205}
|
|
||||||
}
|
|
||||||
|
|
||||||
@article{PinedaFlores2019Feb,
|
|
||||||
author = {Pineda Flores, Sergio and Neuscamman, Eric},
|
|
||||||
title = {{Excited State Specific Multi-Slater Jastrow Wave Functions}},
|
|
||||||
journal = {J. Phys. Chem. A},
|
|
||||||
volume = {123},
|
|
||||||
number = {8},
|
|
||||||
pages = {1487--1497},
|
|
||||||
year = {2019},
|
|
||||||
month = {Feb},
|
|
||||||
issn = {1089-5639},
|
|
||||||
publisher = {American Chemical Society},
|
|
||||||
doi = {10.1021/acs.jpca.8b10671}
|
|
||||||
}
|
|
||||||
|
|
||||||
@phdthesis{yann_garniron_2019_2558127,
|
|
||||||
author = {Yann Garniron},
|
|
||||||
title = {{Development and parallel implementation of
|
|
||||||
selected configuration interaction methods}},
|
|
||||||
school = {Université de Toulouse},
|
|
||||||
year = 2019,
|
|
||||||
month = feb,
|
|
||||||
doi = {10.5281/zenodo.2558127},
|
|
||||||
url = {https://doi.org/10.5281/zenodo.2558127}
|
|
||||||
}
|
|
||||||
|
|
||||||
@article{Giner_2018,
|
|
||||||
doi = {10.1063/1.5052714},
|
|
||||||
url = {https://doi.org/10.1063%2F1.5052714},
|
|
||||||
year = 2018,
|
|
||||||
month = {nov},
|
|
||||||
publisher = {{AIP} Publishing},
|
|
||||||
volume = {149},
|
|
||||||
number = {19},
|
|
||||||
pages = {194301},
|
|
||||||
author = {Emmanuel Giner and Barth{\'{e}}lemy Pradines and Anthony Fert{\'{e}} and Roland Assaraf and Andreas Savin and Julien Toulouse},
|
|
||||||
title = {Curing basis-set convergence of wave-function theory using density-functional theory: A systematically improvable approach},
|
|
||||||
journal = {The Journal of Chemical Physics}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@article{Giner2018Oct,
|
|
||||||
author = {Giner, Emmanuel and Tew, David and Garniron, Yann and Alavi, Ali},
|
|
||||||
title = {{Interplay between electronic correlation and metal-ligand delocalization in the spectroscopy of transition metal compounds: case study on a series of planar Cu2+complexes.}},
|
|
||||||
journal = {J. Chem. Theory Comput.},
|
|
||||||
year = {2018},
|
|
||||||
month = {Oct},
|
|
||||||
issn = {1549-9618},
|
|
||||||
publisher = {American Chemical Society},
|
|
||||||
doi = {10.1021/acs.jctc.8b00591}
|
|
||||||
}
|
|
||||||
|
|
||||||
@article{Loos_2018,
|
|
||||||
doi = {10.1021/acs.jctc.8b00406},
|
|
||||||
url = {https://doi.org/10.1021%2Facs.jctc.8b00406},
|
|
||||||
year = 2018,
|
|
||||||
month = {jul},
|
|
||||||
publisher = {American Chemical Society ({ACS})},
|
|
||||||
volume = {14},
|
|
||||||
number = {8},
|
|
||||||
pages = {4360--4379},
|
|
||||||
author = {Pierre-Fran{\c{c}}ois Loos and Anthony Scemama and Aymeric Blondel and Yann Garniron and Michel Caffarel and Denis Jacquemin},
|
|
||||||
title = {A Mountaineering Strategy to Excited States: Highly Accurate Reference Energies and Benchmarks},
|
|
||||||
journal = {Journal of Chemical Theory and Computation}
|
|
||||||
}
|
|
||||||
@article{Scemama_2018,
|
|
||||||
doi = {10.1021/acs.jctc.7b01250},
|
|
||||||
url = {https://doi.org/10.1021%2Facs.jctc.7b01250},
|
|
||||||
year = 2018,
|
|
||||||
month = {jan},
|
|
||||||
publisher = {American Chemical Society ({ACS})},
|
|
||||||
volume = {14},
|
|
||||||
number = {3},
|
|
||||||
pages = {1395--1402},
|
|
||||||
author = {Anthony Scemama and Yann Garniron and Michel Caffarel and Pierre-Fran{\c{c}}ois Loos},
|
|
||||||
title = {Deterministic Construction of Nodal Surfaces within Quantum Monte Carlo: The Case of {FeS}},
|
|
||||||
journal = {Journal of Chemical Theory and Computation}
|
|
||||||
}
|
|
||||||
@article{Scemama_2018.2,
|
|
||||||
doi = {10.1063/1.5041327},
|
|
||||||
url = {https://doi.org/10.1063%2F1.5041327},
|
|
||||||
year = 2018,
|
|
||||||
month = {jul},
|
|
||||||
publisher = {{AIP} Publishing},
|
|
||||||
volume = {149},
|
|
||||||
number = {3},
|
|
||||||
pages = {034108},
|
|
||||||
author = {Anthony Scemama and Anouar Benali and Denis Jacquemin and Michel Caffarel and Pierre-Fran{\c{c}}ois Loos},
|
|
||||||
title = {Excitation energies from diffusion Monte Carlo using selected configuration interaction nodes},
|
|
||||||
journal = {The Journal of Chemical Physics}
|
|
||||||
}
|
|
||||||
@article{Dash_2018,
|
|
||||||
doi = {10.1021/acs.jctc.8b00393},
|
|
||||||
url = {https://doi.org/10.1021%2Facs.jctc.8b00393},
|
|
||||||
year = 2018,
|
|
||||||
month = {jun},
|
|
||||||
publisher = {American Chemical Society ({ACS})},
|
|
||||||
volume = {14},
|
|
||||||
number = {8},
|
|
||||||
pages = {4176--4182},
|
|
||||||
author = {Monika Dash and Saverio Moroni and Anthony Scemama and Claudia Filippi},
|
|
||||||
title = {Perturbatively Selected Configuration-Interaction Wave Functions for Efficient Geometry Optimization in Quantum Monte Carlo},
|
|
||||||
journal = {Journal of Chemical Theory and Computation}
|
|
||||||
}
|
|
||||||
@article{Garniron_2018,
|
|
||||||
doi = {10.1063/1.5044503},
|
|
||||||
url = {https://doi.org/10.1063%2F1.5044503},
|
|
||||||
year = 2018,
|
|
||||||
month = {aug},
|
|
||||||
publisher = {{AIP} Publishing},
|
|
||||||
volume = {149},
|
|
||||||
number = {6},
|
|
||||||
pages = {064103},
|
|
||||||
author = {Yann Garniron and Anthony Scemama and Emmanuel Giner and Michel Caffarel and Pierre-Fran{\c{c}}ois Loos},
|
|
||||||
title = {Selected configuration interaction dressed by perturbation},
|
|
||||||
journal = {The Journal of Chemical Physics}
|
|
||||||
}
|
|
||||||
@article{Giner_2017,
|
|
||||||
doi = {10.1063/1.4984616},
|
|
||||||
url = {https://doi.org/10.1063%2F1.4984616},
|
|
||||||
year = 2017,
|
|
||||||
month = {jun},
|
|
||||||
publisher = {{AIP} Publishing},
|
|
||||||
volume = {146},
|
|
||||||
number = {22},
|
|
||||||
pages = {224108},
|
|
||||||
author = {Emmanuel Giner and Celestino Angeli and Yann Garniron and Anthony Scemama and Jean-Paul Malrieu},
|
|
||||||
title = {A Jeziorski-Monkhorst fully uncontracted multi-reference perturbative treatment. I. Principles, second-order versions, and tests on ground state potential energy curves},
|
|
||||||
journal = {The Journal of Chemical Physics}
|
|
||||||
}
|
|
||||||
@article{Garniron_2017,
|
|
||||||
doi = {10.1063/1.4980034},
|
|
||||||
url = {https://doi.org/10.1063%2F1.4980034},
|
|
||||||
year = 2017,
|
|
||||||
month = {apr},
|
|
||||||
publisher = {{AIP} Publishing},
|
|
||||||
volume = {146},
|
|
||||||
number = {15},
|
|
||||||
pages = {154107},
|
|
||||||
author = {Yann Garniron and Emmanuel Giner and Jean-Paul Malrieu and Anthony Scemama},
|
|
||||||
title = {Alternative definition of excitation amplitudes in multi-reference state-specific coupled cluster},
|
|
||||||
journal = {The Journal of Chemical Physics}
|
|
||||||
}
|
|
||||||
@article{Garniron_2017.2,
|
|
||||||
doi = {10.1063/1.4992127},
|
|
||||||
url = {https://doi.org/10.1063%2F1.4992127},
|
|
||||||
year = 2017,
|
|
||||||
month = {jul},
|
|
||||||
publisher = {{AIP} Publishing},
|
|
||||||
volume = {147},
|
|
||||||
number = {3},
|
|
||||||
pages = {034101},
|
|
||||||
author = {Yann Garniron and Anthony Scemama and Pierre-Fran{\c{c}}ois Loos and Michel Caffarel},
|
|
||||||
title = {Hybrid stochastic-deterministic calculation of the second-order perturbative contribution of multireference perturbation theory},
|
|
||||||
journal = {The Journal of Chemical Physics}
|
|
||||||
}
|
|
||||||
@article{Giner_2017.2,
|
|
||||||
doi = {10.1016/j.comptc.2017.03.001},
|
|
||||||
url = {https://doi.org/10.1016%2Fj.comptc.2017.03.001},
|
|
||||||
year = 2017,
|
|
||||||
month = {sep},
|
|
||||||
publisher = {Elsevier {BV}},
|
|
||||||
volume = {1116},
|
|
||||||
pages = {134--140},
|
|
||||||
author = {E. Giner and C. Angeli and A. Scemama and J.-P. Malrieu},
|
|
||||||
title = {Orthogonal Valence Bond Hamiltonians incorporating dynamical correlation effects},
|
|
||||||
journal = {Computational and Theoretical Chemistry}
|
|
||||||
}
|
|
||||||
|
|
||||||
@article{Giner_2017.3,
|
|
||||||
author = {Giner, Emmanuel and Tenti, Lorenzo and Angeli, Celestino and Ferré, Nicolas},
|
|
||||||
title = {Computation of the Isotropic Hyperfine Coupling Constant: Efficiency and Insights from a New Approach Based on Wave Function Theory},
|
|
||||||
journal = {Journal of Chemical Theory and Computation},
|
|
||||||
volume = {13},
|
|
||||||
number = {2},
|
|
||||||
pages = {475-487},
|
|
||||||
year = {2017},
|
|
||||||
doi = {10.1021/acs.jctc.6b00827},
|
|
||||||
note ={PMID: 28094936},
|
|
||||||
URL = {https://doi.org/10.1021/acs.jctc.6b00827},
|
|
||||||
eprint = {https://doi.org/10.1021/acs.jctc.6b00827}
|
|
||||||
}
|
|
||||||
@article{Giner2016Mar,
|
|
||||||
author = {Giner, Emmanuel and Angeli, Celestino},
|
|
||||||
title = {{Spin density and orbital optimization in open shell systems: A rational and computationally efficient proposal}},
|
|
||||||
journal = {J. Chem. Phys.},
|
|
||||||
volume = {144},
|
|
||||||
number = {10},
|
|
||||||
pages = {104104},
|
|
||||||
year = {2016},
|
|
||||||
month = {Mar},
|
|
||||||
issn = {0021-9606},
|
|
||||||
publisher = {American Institute of Physics},
|
|
||||||
doi = {10.1063/1.4943187}
|
|
||||||
}
|
|
||||||
@article{Giner_2016,
|
|
||||||
doi = {10.1063/1.4940781},
|
|
||||||
url = {https://doi.org/10.1063%2F1.4940781},
|
|
||||||
year = 2016,
|
|
||||||
month = {feb},
|
|
||||||
publisher = {{AIP} Publishing},
|
|
||||||
volume = {144},
|
|
||||||
number = {6},
|
|
||||||
pages = {064101},
|
|
||||||
author = {E. Giner and G. David and A. Scemama and J. P. Malrieu},
|
|
||||||
title = {A simple approach to the state-specific {MR}-{CC} using the intermediate Hamiltonian formalism},
|
|
||||||
journal = {The Journal of Chemical Physics}
|
|
||||||
}
|
|
||||||
|
|
||||||
@article{Caffarel_2016,
|
|
||||||
doi = {10.1063/1.4947093},
|
|
||||||
url = {https://doi.org/10.1063%2F1.4947093},
|
|
||||||
year = 2016,
|
|
||||||
month = {apr},
|
|
||||||
publisher = {{AIP} Publishing},
|
|
||||||
volume = {144},
|
|
||||||
number = {15},
|
|
||||||
pages = {151103},
|
|
||||||
author = {Michel Caffarel and Thomas Applencourt and Emmanuel Giner and Anthony Scemama},
|
|
||||||
title = {Communication: Toward an improved control of the fixed-node error in quantum Monte Carlo: The case of the water molecule},
|
|
||||||
journal = {The Journal of Chemical Physics}
|
|
||||||
}
|
|
||||||
@incollection{Caffarel_2016.2,
|
|
||||||
doi = {10.1021/bk-2016-1234.ch002},
|
|
||||||
url = {https://doi.org/10.1021%2Fbk-2016-1234.ch002},
|
|
||||||
year = 2016,
|
|
||||||
month = {jan},
|
|
||||||
publisher = {American Chemical Society},
|
|
||||||
pages = {15--46},
|
|
||||||
author = {Michel Caffarel and Thomas Applencourt and Emmanuel Giner and Anthony Scemama},
|
|
||||||
title = {Using CIPSI Nodes in Diffusion Monte Carlo},
|
|
||||||
booktitle = {{ACS} Symposium Series}
|
|
||||||
}
|
|
||||||
@article{Giner_2015,
|
|
||||||
doi = {10.1063/1.4905528},
|
|
||||||
url = {https://doi.org/10.1063%2F1.4905528},
|
|
||||||
year = 2015,
|
|
||||||
month = {jan},
|
|
||||||
publisher = {{AIP} Publishing},
|
|
||||||
volume = {142},
|
|
||||||
number = {4},
|
|
||||||
pages = {044115},
|
|
||||||
author = {Emmanuel Giner and Anthony Scemama and Michel Caffarel},
|
|
||||||
title = {Fixed-node diffusion Monte Carlo potential energy curve of the fluorine molecule F2 using selected configuration interaction trial wavefunctions},
|
|
||||||
journal = {The Journal of Chemical Physics}
|
|
||||||
}
|
|
||||||
|
|
||||||
@article{Giner2015Sep,
|
|
||||||
author = {Giner, Emmanuel and Angeli, Celestino},
|
|
||||||
title = {{Metal-ligand delocalization and spin density in the CuCl2 and [CuCl4]2{-} molecules: Some insights from wave function theory}},
|
|
||||||
journal = {J. Chem. Phys.},
|
|
||||||
volume = {143},
|
|
||||||
number = {12},
|
|
||||||
pages = {124305},
|
|
||||||
year = {2015},
|
|
||||||
month = {Sep},
|
|
||||||
issn = {0021-9606},
|
|
||||||
publisher = {American Institute of Physics},
|
|
||||||
doi = {10.1063/1.4931639}
|
|
||||||
}
|
|
||||||
|
|
||||||
@article{Scemama_2014,
|
|
||||||
doi = {10.1063/1.4903985},
|
|
||||||
url = {https://doi.org/10.1063%2F1.4903985},
|
|
||||||
year = 2014,
|
|
||||||
month = {dec},
|
|
||||||
publisher = {{AIP} Publishing},
|
|
||||||
volume = {141},
|
|
||||||
number = {24},
|
|
||||||
pages = {244110},
|
|
||||||
author = {A. Scemama and T. Applencourt and E. Giner and M. Caffarel},
|
|
||||||
title = {Accurate nonrelativistic ground-state energies of 3d transition metal atoms},
|
|
||||||
journal = {The Journal of Chemical Physics}
|
|
||||||
}
|
|
||||||
@article{Caffarel_2014,
|
|
||||||
doi = {10.1021/ct5004252},
|
|
||||||
url = {https://doi.org/10.1021%2Fct5004252},
|
|
||||||
year = 2014,
|
|
||||||
month = {nov},
|
|
||||||
publisher = {American Chemical Society ({ACS})},
|
|
||||||
volume = {10},
|
|
||||||
number = {12},
|
|
||||||
pages = {5286--5296},
|
|
||||||
author = {Michel Caffarel and Emmanuel Giner and Anthony Scemama and Alejandro Ram{\'{\i}}rez-Sol{\'{\i}}s},
|
|
||||||
title = {Spin Density Distribution in Open-Shell Transition Metal Systems: A Comparative Post-Hartree-Fock, Density Functional Theory, and Quantum Monte Carlo Study of the CuCl2 Molecule},
|
|
||||||
journal = {Journal of Chemical Theory and Computation}
|
|
||||||
}
|
|
||||||
@article{Giner_2013,
|
|
||||||
doi = {10.1139/cjc-2013-0017},
|
|
||||||
url = {https://doi.org/10.1139%2Fcjc-2013-0017},
|
|
||||||
year = 2013,
|
|
||||||
month = {sep},
|
|
||||||
publisher = {Canadian Science Publishing},
|
|
||||||
volume = {91},
|
|
||||||
number = {9},
|
|
||||||
pages = {879--885},
|
|
||||||
author = {Emmanuel Giner and Anthony Scemama and Michel Caffarel},
|
|
||||||
title = {Using perturbatively selected configuration interaction in quantum Monte Carlo calculations},
|
|
||||||
journal = {Canadian Journal of Chemistry}
|
|
||||||
}
|
|
||||||
|
|
||||||
@article{Scemama2013Nov,
|
|
||||||
author = {Scemama, Anthony and Giner, Emmanuel},
|
|
||||||
title = {{An efficient implementation of Slater-Condon rules}},
|
|
||||||
journal = {arXiv},
|
|
||||||
year = {2013},
|
|
||||||
month = {Nov},
|
|
||||||
eprint = {1311.6244},
|
|
||||||
url = {https://arxiv.org/abs/1311.6244}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -128,6 +128,12 @@ and the atomic basis set:
|
|||||||
ao_two_e_erf_ints density_for_dft electrons mo_two_e_ints scf_utils
|
ao_two_e_erf_ints density_for_dft electrons mo_two_e_ints scf_utils
|
||||||
ao_two_e_ints determinants ezfio nuclei work
|
ao_two_e_ints determinants ezfio nuclei work
|
||||||
|
|
||||||
|
If you need to run using an already existing EZFIO database, use
|
||||||
|
|
||||||
|
.. code:: bash
|
||||||
|
|
||||||
|
qp set_file hcn
|
||||||
|
|
||||||
|
|
||||||
Run a Hartree-Fock calculation
|
Run a Hartree-Fock calculation
|
||||||
------------------------------
|
------------------------------
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
# Configuration of IRPF90 package
|
# Configuration of IRPF90 package
|
||||||
|
|
||||||
# Set the path of IRPF90 here:
|
# Set the path of IRPF90 here:
|
||||||
export IRPF90_PATH=${QP_ROOT}/external/irpf90-v2.0.0
|
export IRPF90_PATH=${QP_ROOT}/external/irpf90
|
||||||
export PATH=${PATH}:${IRPF90_PATH}/bin
|
export PATH=${PATH}:${IRPF90_PATH}/bin
|
||||||
|
|
||||||
export IRPF90=${IRPF90_PATH}/bin/irpf90
|
export IRPF90=${IRPF90_PATH}/bin/irpf90
|
||||||
|
13
etc/ninja.rc
13
etc/ninja.rc
@ -1,13 +0,0 @@
|
|||||||
# Configuration for the Ninja package
|
|
||||||
|
|
||||||
export NINJA=${QP_ROOT}/bin/ninja
|
|
||||||
|
|
||||||
function ninja () {
|
|
||||||
if [[ -f ${QP_ROOT}/build.ninja ]] ; then
|
|
||||||
${QP_ROOT}/bin/ninja "$@"
|
|
||||||
else
|
|
||||||
>&2 echo "Error: build.ninja does not exists.
|
|
||||||
You need to run ./configure first."
|
|
||||||
fi
|
|
||||||
|
|
||||||
}
|
|
@ -3,7 +3,7 @@
|
|||||||
QP_PYTHON=
|
QP_PYTHON=
|
||||||
|
|
||||||
# Load dependencies
|
# Load dependencies
|
||||||
for i in ezfio.rc irpf90.rc ninja.rc ocaml.rc
|
for i in ezfio.rc irpf90.rc ocaml.rc
|
||||||
do
|
do
|
||||||
source $i
|
source $i
|
||||||
done
|
done
|
||||||
|
@ -93,7 +93,7 @@ function qp()
|
|||||||
|
|
||||||
"prompt")
|
"prompt")
|
||||||
shift
|
shift
|
||||||
python2 $QP_ROOT/scripts/hello.py
|
python3 $QP_ROOT/scripts/hello.py
|
||||||
function _check_ezfio() {
|
function _check_ezfio() {
|
||||||
if [[ -d ${EZFIO_FILE} ]] ; then
|
if [[ -d ${EZFIO_FILE} ]] ; then
|
||||||
printf "\e[0;32m|${EZFIO_FILE}>\e[m"
|
printf "\e[0;32m|${EZFIO_FILE}>\e[m"
|
||||||
|
2
external/.gitignore
vendored
2
external/.gitignore
vendored
@ -1,2 +1,2 @@
|
|||||||
*
|
#*
|
||||||
|
|
||||||
|
BIN
external/EZFIO-v2.0.3.tar.gz
vendored
BIN
external/EZFIO-v2.0.3.tar.gz
vendored
Binary file not shown.
1
external/ezfio
vendored
Submodule
1
external/ezfio
vendored
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit ccee52d00c2cde1d628b0d34f4a247143747bf36
|
BIN
external/gmp-6.1.2.tar.bz2
vendored
Normal file
BIN
external/gmp-6.1.2.tar.bz2
vendored
Normal file
Binary file not shown.
1
external/irpf90
vendored
Submodule
1
external/irpf90
vendored
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit 132a4a1661c9878d21dcbf0ac14f7fe9a3b110d0
|
@ -80,7 +80,7 @@ git:
|
|||||||
./create_git_sha1.sh
|
./create_git_sha1.sh
|
||||||
|
|
||||||
${QP_EZFIO}/Ocaml/ezfio.ml:
|
${QP_EZFIO}/Ocaml/ezfio.ml:
|
||||||
$(NINJA) -C ${QP_ROOT}/config ${QP_ROOT}/lib/libezfio_irp.a
|
ninja -C ${QP_ROOT}/config ${QP_ROOT}/lib/libezfio_irp.a
|
||||||
|
|
||||||
qp_edit.ml: ../scripts/ezfio_interface/qp_edit_template
|
qp_edit.ml: ../scripts/ezfio_interface/qp_edit_template
|
||||||
|
|
||||||
|
@ -220,16 +220,16 @@ end = struct
|
|||||||
type t =
|
type t =
|
||||||
| EN
|
| EN
|
||||||
| HF
|
| HF
|
||||||
| SOP
|
| CFG
|
||||||
[@@deriving sexp]
|
[@@deriving sexp]
|
||||||
|
|
||||||
let to_string = function
|
let to_string = function
|
||||||
| EN -> \"EN\"
|
| EN -> \"EN\"
|
||||||
| HF -> \"HF\"
|
| HF -> \"HF\"
|
||||||
| SOP -> \"SOP\"
|
| CFG -> \"CFG\"
|
||||||
let of_string s =
|
let of_string s =
|
||||||
match (String.lowercase_ascii s) with
|
match (String.lowercase_ascii s) with
|
||||||
| \"sop\" -> SOP
|
| \"cfg\" -> CFG
|
||||||
| \"en\" -> EN
|
| \"en\" -> EN
|
||||||
| \"hf\" -> HF
|
| \"hf\" -> HF
|
||||||
| _ -> raise (Invalid_argument (\"Wrong Perturbation type : \"^s))
|
| _ -> raise (Invalid_argument (\"Wrong Perturbation type : \"^s))
|
||||||
|
@ -43,6 +43,7 @@ EZFIO_LIB = join("$QP_ROOT", "lib", "libezfio_irp.a")
|
|||||||
ZMQ_LIB = join("$QP_ROOT", "lib", "libf77zmq.a") + " " + join("$QP_ROOT", "lib", "libzmq.a") + " -lstdc++ -lrt -ldl"
|
ZMQ_LIB = join("$QP_ROOT", "lib", "libf77zmq.a") + " " + join("$QP_ROOT", "lib", "libzmq.a") + " -lstdc++ -lrt -ldl"
|
||||||
ROOT_BUILD_NINJA = join("$QP_ROOT", "config", "build.ninja")
|
ROOT_BUILD_NINJA = join("$QP_ROOT", "config", "build.ninja")
|
||||||
ROOT_BUILD_NINJA_EXP = join(QP_ROOT, "config", "build.ninja")
|
ROOT_BUILD_NINJA_EXP = join(QP_ROOT, "config", "build.ninja")
|
||||||
|
ROOT_BUILD_NINJA_EXP_tmp = join(QP_ROOT, "config", "build.ninja.tmp")
|
||||||
header = r"""#
|
header = r"""#
|
||||||
# _______ _____
|
# _______ _____
|
||||||
# __ __ \___ _______ _________ /____ ________ ___
|
# __ __ \___ _______ _________ /____ ________ ___
|
||||||
@ -57,7 +58,7 @@ header = r"""#
|
|||||||
# /_/ \__,_/ \___/ /_/|_| \__,_/ _\__, / \___/
|
# /_/ \__,_/ \___/ /_/|_| \__,_/ _\__, / \___/
|
||||||
# /____/
|
# /____/
|
||||||
#
|
#
|
||||||
# https://github.com/LCPQ/quantum_package,
|
# https://github.com/QuantumPackage/qp2,
|
||||||
#
|
#
|
||||||
# Generated automatically by {0}
|
# Generated automatically by {0}
|
||||||
#
|
#
|
||||||
@ -107,6 +108,17 @@ def ninja_create_env_variable(pwd_config_file):
|
|||||||
lib_usr = get_compilation_option(pwd_config_file, "LIB")
|
lib_usr = get_compilation_option(pwd_config_file, "LIB")
|
||||||
|
|
||||||
str_lib = " ".join([lib_lapack, EZFIO_LIB, ZMQ_LIB, LIB, lib_usr])
|
str_lib = " ".join([lib_lapack, EZFIO_LIB, ZMQ_LIB, LIB, lib_usr])
|
||||||
|
|
||||||
|
# Read all LIB files in modules
|
||||||
|
libfile = "LIB"
|
||||||
|
try:
|
||||||
|
content = ""
|
||||||
|
with open(libfile,'r') as f:
|
||||||
|
content = f.read()
|
||||||
|
str_lib += " "+content
|
||||||
|
except IOError:
|
||||||
|
pass
|
||||||
|
|
||||||
l_string.append("LIB = {0} ".format(str_lib))
|
l_string.append("LIB = {0} ".format(str_lib))
|
||||||
|
|
||||||
l_string.append("")
|
l_string.append("")
|
||||||
@ -149,7 +161,7 @@ def get_l_module_with_ezfio_cfg():
|
|||||||
from os import listdir
|
from os import listdir
|
||||||
from os.path import isfile
|
from os.path import isfile
|
||||||
|
|
||||||
return [real_join(QP_SRC, m) for m in listdir(QP_SRC)
|
return [real_join(QP_SRC, m) for m in sorted(listdir(QP_SRC))
|
||||||
if isfile(real_join(QP_SRC, m, "EZFIO.cfg"))]
|
if isfile(real_join(QP_SRC, m, "EZFIO.cfg"))]
|
||||||
|
|
||||||
|
|
||||||
@ -328,13 +340,13 @@ def ninja_symlink_build(path_module, l_symlink):
|
|||||||
if not l_symlink:
|
if not l_symlink:
|
||||||
return []
|
return []
|
||||||
|
|
||||||
l_folder = [s.destination for s in l_symlink]
|
l_folder = [s.destination for s in sorted(l_symlink,key=lambda x:x.destination)]
|
||||||
|
|
||||||
l_string = ["build l_symlink_{0} : phony {1}".format(path_module.rel,
|
l_string = ["build l_symlink_{0} : phony {1}".format(path_module.rel,
|
||||||
" ".join(map(comp_path,l_folder))),
|
" ".join(map(comp_path,l_folder))),
|
||||||
""]
|
""]
|
||||||
|
|
||||||
for symlink in l_symlink:
|
for symlink in sorted(l_symlink, key=lambda x: x.source+x.destination):
|
||||||
l_string += ["build {0}: build_symlink {1}".format(*list(map(comp_path,(symlink.destination, symlink.source)))), ""]
|
l_string += ["build {0}: build_symlink {1}".format(*list(map(comp_path,(symlink.destination, symlink.source)))), ""]
|
||||||
|
|
||||||
return l_string
|
return l_string
|
||||||
@ -360,7 +372,7 @@ def ninja_gitignore_build(path_module, d_binaries, l_symlink):
|
|||||||
|
|
||||||
path_gitignore = comp_path(join(path_module.abs, ".gitignore"))
|
path_gitignore = comp_path(join(path_module.abs, ".gitignore"))
|
||||||
|
|
||||||
l_b = list(map(comp_path,[i.abs for i in d_binaries[path_module]]))
|
l_b = sorted(list(map(comp_path,[i.abs for i in d_binaries[path_module]])))
|
||||||
|
|
||||||
root = "build {0}: build_gitignore {1}".format(path_gitignore,
|
root = "build {0}: build_gitignore {1}".format(path_gitignore,
|
||||||
" ".join(l_b))
|
" ".join(l_b))
|
||||||
@ -389,7 +401,7 @@ def get_l_file_for_module(path_module):
|
|||||||
|
|
||||||
l_template = []
|
l_template = []
|
||||||
|
|
||||||
for f in os.listdir(path_module.abs):
|
for f in sorted(os.listdir(path_module.abs)):
|
||||||
if f.lower().endswith(tuple([".template.f", ".include.f"])):
|
if f.lower().endswith(tuple([".template.f", ".include.f"])):
|
||||||
l_template.append(join(path_module.abs, f))
|
l_template.append(join(path_module.abs, f))
|
||||||
elif f.endswith(".irp.f"):
|
elif f.endswith(".irp.f"):
|
||||||
@ -495,10 +507,10 @@ def ninja_irpf90_make_build(path_module, l_needed_molule, d_irp):
|
|||||||
# D e p e n d a n c y #
|
# D e p e n d a n c y #
|
||||||
# ~#~#~#~#~#~#~#~#~#~ #
|
# ~#~#~#~#~#~#~#~#~#~ #
|
||||||
|
|
||||||
l_depend = list(map(comp_path,d_irp[path_module]["l_depend"]))
|
l_depend = sorted(list(map(comp_path,d_irp[path_module]["l_depend"])))
|
||||||
l_src = list(map(comp_path,d_irp[path_module]["l_src"]))
|
l_src = sorted(list(map(comp_path,d_irp[path_module]["l_src"])))
|
||||||
l_obj = list(map(comp_path,d_irp[path_module]["l_obj"]))
|
l_obj = sorted(list(map(comp_path,d_irp[path_module]["l_obj"])))
|
||||||
l_template = list(map(comp_path,d_irp[path_module]["l_template"]))
|
l_template = sorted(list(map(comp_path,d_irp[path_module]["l_template"])))
|
||||||
|
|
||||||
if l_needed_molule:
|
if l_needed_molule:
|
||||||
l_symlink = ["l_symlink_{0}".format(path_module.rel)]
|
l_symlink = ["l_symlink_{0}".format(path_module.rel)]
|
||||||
@ -511,7 +523,7 @@ def ninja_irpf90_make_build(path_module, l_needed_molule, d_irp):
|
|||||||
# N i n j a _ b u i l d #
|
# N i n j a _ b u i l d #
|
||||||
# ~#~#~#~#~#~#~#~#~#~#~ #
|
# ~#~#~#~#~#~#~#~#~#~#~ #
|
||||||
|
|
||||||
l_include_dir = ["-I {0}".format(m.rel) for m in l_needed_molule]
|
l_include_dir = ["-I {0}".format(m.rel) for m in sorted(l_needed_molule, key=lambda x:x.rel+x.abs) ]
|
||||||
|
|
||||||
l_string = [
|
l_string = [
|
||||||
"build {0}: build_irpf90.ninja {1}".format(str_creation, str_depend),
|
"build {0}: build_irpf90.ninja {1}".format(str_creation, str_depend),
|
||||||
@ -642,7 +654,7 @@ def ninja_binaries_build(path_module, l_children, d_binaries):
|
|||||||
# ~#~#~ #
|
# ~#~#~ #
|
||||||
|
|
||||||
ninja_module_path = join(comp_path(path_module.abs), "IRPF90_temp/build.ninja")
|
ninja_module_path = join(comp_path(path_module.abs), "IRPF90_temp/build.ninja")
|
||||||
l_abs_bin = list(map(comp_path,[binary.abs for binary in d_binaries[path_module]]))
|
l_abs_bin = sorted(list(map(comp_path,[binary.abs for binary in d_binaries[path_module]])))
|
||||||
|
|
||||||
# ~#~#~#~#~#~ #
|
# ~#~#~#~#~#~ #
|
||||||
# s t r i n g #
|
# s t r i n g #
|
||||||
@ -659,8 +671,7 @@ def ninja_binaries_build(path_module, l_children, d_binaries):
|
|||||||
|
|
||||||
def ninja_module_build(path_module, d_binaries):
|
def ninja_module_build(path_module, d_binaries):
|
||||||
|
|
||||||
l_abs_bin = list(map(comp_path,[binary.abs for binary in d_binaries[path_module]]))
|
l_abs_bin = sorted(list(map(comp_path,[binary.abs for binary in d_binaries[path_module]])))
|
||||||
|
|
||||||
path_readme = os.path.join(comp_path(path_module.abs), "README.rst")
|
path_readme = os.path.join(comp_path(path_module.abs), "README.rst")
|
||||||
|
|
||||||
l_string = ["build module_{0}: phony {1}".format(path_module.rel,
|
l_string = ["build module_{0}: phony {1}".format(path_module.rel,
|
||||||
@ -830,14 +841,14 @@ if __name__ == "__main__":
|
|||||||
dict_root = module_instance.dict_root
|
dict_root = module_instance.dict_root
|
||||||
dict_root_path = dict_module_genelogy_path(dict_root)
|
dict_root_path = dict_module_genelogy_path(dict_root)
|
||||||
|
|
||||||
l_all_module = list(d_genealogy_path.keys())
|
l_all_module = sorted(list(d_genealogy_path.keys()))
|
||||||
|
|
||||||
# ~#~#~#~#~#~#~#~#~#~#~#~#~ #
|
# ~#~#~#~#~#~#~#~#~#~#~#~#~ #
|
||||||
# M o d u l e _ t o _ i r p #
|
# M o d u l e _ t o _ i r p #
|
||||||
# ~#~#~#~#~#~#~#~#~#~#~#~#~ #
|
# ~#~#~#~#~#~#~#~#~#~#~#~#~ #
|
||||||
|
|
||||||
d_binaries = get_dict_binaries(l_all_module, mode="development")
|
d_binaries = get_dict_binaries(l_all_module, mode="development")
|
||||||
l_module = list(d_binaries.keys())
|
l_module = sorted(list(d_binaries.keys()), key=lambda x: x.rel+x.abs)
|
||||||
|
|
||||||
|
|
||||||
# ~#~#~#~#~#~#~#~#~#~#~#~ #
|
# ~#~#~#~#~#~#~#~#~#~#~#~ #
|
||||||
@ -851,7 +862,6 @@ if __name__ == "__main__":
|
|||||||
# ~#~#~#~#~#~#~#~#~#~#~#~ #
|
# ~#~#~#~#~#~#~#~#~#~#~#~ #
|
||||||
|
|
||||||
for module_to_compile in l_module:
|
for module_to_compile in l_module:
|
||||||
|
|
||||||
if module_to_compile.rel == "dummy":
|
if module_to_compile.rel == "dummy":
|
||||||
continue
|
continue
|
||||||
|
|
||||||
@ -884,6 +894,21 @@ if __name__ == "__main__":
|
|||||||
# S a v e s #
|
# S a v e s #
|
||||||
# ~#~#~#~#~ #
|
# ~#~#~#~#~ #
|
||||||
|
|
||||||
with open(ROOT_BUILD_NINJA_EXP, "w+") as f:
|
with open(ROOT_BUILD_NINJA_EXP_tmp, "w+") as f:
|
||||||
f.write(header)
|
f.write(header)
|
||||||
f.write("\n".join(l_string))
|
f.write("\n".join(l_string))
|
||||||
|
|
||||||
|
with open(ROOT_BUILD_NINJA_EXP_tmp, "r") as f:
|
||||||
|
a = f.read()
|
||||||
|
|
||||||
|
try:
|
||||||
|
with open(ROOT_BUILD_NINJA_EXP, "r") as f:
|
||||||
|
b = f.read()
|
||||||
|
except:
|
||||||
|
b = None
|
||||||
|
|
||||||
|
if a != b:
|
||||||
|
os.rename(ROOT_BUILD_NINJA_EXP_tmp, ROOT_BUILD_NINJA_EXP)
|
||||||
|
else:
|
||||||
|
os.remove(ROOT_BUILD_NINJA_EXP_tmp)
|
||||||
|
|
||||||
|
@ -398,7 +398,7 @@ def create_ezfio_stuff(dict_ezfio_cfg, config_or_default="config"):
|
|||||||
try:
|
try:
|
||||||
(begin, end) = list(map(str.strip, dim.split(":")))
|
(begin, end) = list(map(str.strip, dim.split(":")))
|
||||||
except ValueError:
|
except ValueError:
|
||||||
a_size_raw.append(dim)
|
a_size_raw.append(dim.strip())
|
||||||
else:
|
else:
|
||||||
if begin[0] == '-':
|
if begin[0] == '-':
|
||||||
a_size_raw.append("{0}+{1}+1".format(end, begin[1:]))
|
a_size_raw.append("{0}+{1}+1".format(end, begin[1:]))
|
||||||
|
@ -82,6 +82,8 @@ END_PROVIDER
|
|||||||
mpi_correspondance = {"integer": "MPI_INTEGER",
|
mpi_correspondance = {"integer": "MPI_INTEGER",
|
||||||
"integer*8": "MPI_INTEGER8",
|
"integer*8": "MPI_INTEGER8",
|
||||||
"character*(32)": "MPI_CHARACTER",
|
"character*(32)": "MPI_CHARACTER",
|
||||||
|
"character*(64)": "MPI_CHARACTER",
|
||||||
|
"character*(256)": "MPI_CHARACTER",
|
||||||
"logical": "MPI_LOGICAL",
|
"logical": "MPI_LOGICAL",
|
||||||
"double precision": "MPI_DOUBLE_PRECISION"}
|
"double precision": "MPI_DOUBLE_PRECISION"}
|
||||||
|
|
||||||
|
@ -98,3 +98,11 @@ type: Threshold
|
|||||||
doc: Remove linear dependencies when the eigenvalues of the overlap matrix are below this value
|
doc: Remove linear dependencies when the eigenvalues of the overlap matrix are below this value
|
||||||
interface: ezfio,provider,ocaml
|
interface: ezfio,provider,ocaml
|
||||||
default: 1.e-6
|
default: 1.e-6
|
||||||
|
|
||||||
|
[ao_one_e_integrals_threshold]
|
||||||
|
type: Threshold
|
||||||
|
doc: If | (p|q) | < `ao_one_e_integrals_threshold` then (p|q) is zero
|
||||||
|
interface: ezfio,provider,ocaml
|
||||||
|
default: 1.e-15
|
||||||
|
ezfio_name: threshold_ao
|
||||||
|
|
||||||
|
@ -137,6 +137,7 @@ END_PROVIDER
|
|||||||
|
|
||||||
deallocate(S)
|
deallocate(S)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
END_PROVIDER
|
END_PROVIDER
|
||||||
|
|
||||||
BEGIN_PROVIDER [double precision, ao_ortho_canonical_overlap, (ao_ortho_canonical_num,ao_ortho_canonical_num)]
|
BEGIN_PROVIDER [double precision, ao_ortho_canonical_overlap, (ao_ortho_canonical_num,ao_ortho_canonical_num)]
|
||||||
|
@ -4,7 +4,7 @@ logical function ao_one_e_integral_zero(i,k)
|
|||||||
|
|
||||||
ao_one_e_integral_zero = .False.
|
ao_one_e_integral_zero = .False.
|
||||||
if (.not.((io_ao_integrals_overlap/='None').or.is_periodic)) then
|
if (.not.((io_ao_integrals_overlap/='None').or.is_periodic)) then
|
||||||
if (ao_overlap_abs(i,k) < ao_integrals_threshold) then
|
if (ao_overlap_abs(i,k) < ao_one_e_integrals_threshold) then
|
||||||
ao_one_e_integral_zero = .True.
|
ao_one_e_integral_zero = .True.
|
||||||
return
|
return
|
||||||
endif
|
endif
|
||||||
|
@ -116,7 +116,7 @@ subroutine ao_two_e_integrals_in_map_slave(thread,iproc)
|
|||||||
exit
|
exit
|
||||||
endif
|
endif
|
||||||
if (task_id == 0) exit
|
if (task_id == 0) exit
|
||||||
read(task,*) j, l
|
call sscanf_dd(task, j, l)
|
||||||
integer, external :: task_done_to_taskserver
|
integer, external :: task_done_to_taskserver
|
||||||
call compute_ao_integrals_jl(j,l,n_integrals,buffer_i,buffer_value)
|
call compute_ao_integrals_jl(j,l,n_integrals,buffer_i,buffer_value)
|
||||||
if (task_done_to_taskserver(zmq_to_qp_run_socket,worker_id,task_id) == -1) then
|
if (task_done_to_taskserver(zmq_to_qp_run_socket,worker_id,task_id) == -1) then
|
||||||
|
@ -698,81 +698,3 @@ subroutine insert_into_ao_integrals_map(n_integrals,buffer_i, buffer_values)
|
|||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
!subroutine dump_ao_integrals(filename)
|
|
||||||
! use map_module
|
|
||||||
! implicit none
|
|
||||||
! BEGIN_DOC
|
|
||||||
! ! Save to disk the |AO| integrals
|
|
||||||
! END_DOC
|
|
||||||
! character*(*), intent(in) :: filename
|
|
||||||
! integer(cache_key_kind), pointer :: key(:)
|
|
||||||
! real(integral_kind), pointer :: val(:)
|
|
||||||
! integer*8 :: i,j, n
|
|
||||||
! if (.not.mpi_master) then
|
|
||||||
! return
|
|
||||||
! endif
|
|
||||||
! call ezfio_set_work_empty(.False.)
|
|
||||||
! open(unit=66,file=filename,FORM='unformatted')
|
|
||||||
! write(66) integral_kind, key_kind
|
|
||||||
! write(66) ao_integrals_map%sorted, ao_integrals_map%map_size, &
|
|
||||||
! ao_integrals_map%n_elements
|
|
||||||
! do i=0_8,ao_integrals_map%map_size
|
|
||||||
! write(66) ao_integrals_map%map(i)%sorted, ao_integrals_map%map(i)%map_size,&
|
|
||||||
! ao_integrals_map%map(i)%n_elements
|
|
||||||
! enddo
|
|
||||||
! do i=0_8,ao_integrals_map%map_size
|
|
||||||
! key => ao_integrals_map%map(i)%key
|
|
||||||
! val => ao_integrals_map%map(i)%value
|
|
||||||
! n = ao_integrals_map%map(i)%n_elements
|
|
||||||
! write(66) (key(j), j=1,n), (val(j), j=1,n)
|
|
||||||
! enddo
|
|
||||||
! close(66)
|
|
||||||
!
|
|
||||||
!end
|
|
||||||
|
|
||||||
|
|
||||||
!integer function load_ao_integrals(filename)
|
|
||||||
! implicit none
|
|
||||||
! BEGIN_DOC
|
|
||||||
! ! Read from disk the |AO| integrals
|
|
||||||
! END_DOC
|
|
||||||
! character*(*), intent(in) :: filename
|
|
||||||
! integer*8 :: i
|
|
||||||
! integer(cache_key_kind), pointer :: key(:)
|
|
||||||
! real(integral_kind), pointer :: val(:)
|
|
||||||
! integer :: iknd, kknd
|
|
||||||
! integer*8 :: n, j
|
|
||||||
! load_ao_integrals = 1
|
|
||||||
! open(unit=66,file=filename,FORM='unformatted',STATUS='UNKNOWN')
|
|
||||||
! read(66,err=98,end=98) iknd, kknd
|
|
||||||
! if (iknd /= integral_kind) then
|
|
||||||
! print *, 'Wrong integrals kind in file :', iknd
|
|
||||||
! stop 1
|
|
||||||
! endif
|
|
||||||
! if (kknd /= key_kind) then
|
|
||||||
! print *, 'Wrong key kind in file :', kknd
|
|
||||||
! stop 1
|
|
||||||
! endif
|
|
||||||
! read(66,err=98,end=98) ao_integrals_map%sorted, ao_integrals_map%map_size,&
|
|
||||||
! ao_integrals_map%n_elements
|
|
||||||
! do i=0_8, ao_integrals_map%map_size
|
|
||||||
! read(66,err=99,end=99) ao_integrals_map%map(i)%sorted, &
|
|
||||||
! ao_integrals_map%map(i)%map_size, ao_integrals_map%map(i)%n_elements
|
|
||||||
! call cache_map_reallocate(ao_integrals_map%map(i),ao_integrals_map%map(i)%map_size)
|
|
||||||
! enddo
|
|
||||||
! do i=0_8, ao_integrals_map%map_size
|
|
||||||
! key => ao_integrals_map%map(i)%key
|
|
||||||
! val => ao_integrals_map%map(i)%value
|
|
||||||
! n = ao_integrals_map%map(i)%n_elements
|
|
||||||
! read(66,err=99,end=99) (key(j), j=1,n), (val(j), j=1,n)
|
|
||||||
! enddo
|
|
||||||
! call map_sort(ao_integrals_map)
|
|
||||||
! load_ao_integrals = 0
|
|
||||||
! return
|
|
||||||
! 99 continue
|
|
||||||
! call map_deinit(ao_integrals_map)
|
|
||||||
! 98 continue
|
|
||||||
! stop 'Problem reading ao_integrals_map file in work/'
|
|
||||||
!
|
|
||||||
!end
|
|
||||||
!
|
|
||||||
|
@ -1162,17 +1162,17 @@ subroutine compute_ao_integrals_jl(j,l,n_integrals,buffer_i,buffer_value)
|
|||||||
! Parallel client for AO integrals
|
! Parallel client for AO integrals
|
||||||
END_DOC
|
END_DOC
|
||||||
|
|
||||||
integer, intent(in) :: j,l
|
integer, intent(in) :: j,l
|
||||||
integer,intent(out) :: n_integrals
|
integer,intent(out) :: n_integrals
|
||||||
integer(key_kind),intent(out) :: buffer_i(ao_num*ao_num)
|
integer(key_kind),intent(out) :: buffer_i(ao_num*ao_num)
|
||||||
real(integral_kind),intent(out) :: buffer_value(ao_num*ao_num)
|
real(integral_kind),intent(out) :: buffer_value(ao_num*ao_num)
|
||||||
|
logical, external :: ao_two_e_integral_zero
|
||||||
|
|
||||||
integer :: i,k
|
integer :: i,k
|
||||||
double precision :: ao_two_e_integral,cpu_1,cpu_2, wall_1, wall_2
|
double precision :: ao_two_e_integral,cpu_1,cpu_2, wall_1, wall_2
|
||||||
double precision :: integral, wall_0
|
double precision :: integral, wall_0
|
||||||
double precision :: thr
|
double precision :: thr
|
||||||
integer :: kk, m, j1, i1
|
integer :: kk, m, j1, i1
|
||||||
logical, external :: ao_two_e_integral_zero
|
|
||||||
|
|
||||||
thr = ao_integrals_threshold
|
thr = ao_integrals_threshold
|
||||||
|
|
||||||
|
@ -125,6 +125,41 @@ subroutine bitstring_to_str( output, string, Nint )
|
|||||||
output(ibuf:ibuf) = '|'
|
output(ibuf:ibuf) = '|'
|
||||||
end
|
end
|
||||||
|
|
||||||
|
subroutine configuration_to_str( output, string, Nint )
|
||||||
|
use bitmasks
|
||||||
|
implicit none
|
||||||
|
BEGIN_DOC
|
||||||
|
! Transform the bit string of a configuration to a string for printing
|
||||||
|
END_DOC
|
||||||
|
character*(*), intent(out) :: output
|
||||||
|
integer, intent(in) :: Nint
|
||||||
|
integer(bit_kind), intent(in) :: string(Nint,2)
|
||||||
|
|
||||||
|
integer :: i, j, ibuf
|
||||||
|
integer(bit_kind) :: itemp
|
||||||
|
|
||||||
|
ibuf = 1
|
||||||
|
output = ''
|
||||||
|
output(ibuf:ibuf) = '|'
|
||||||
|
ibuf = ibuf+1
|
||||||
|
do i=1,Nint
|
||||||
|
itemp = 1_bit_kind
|
||||||
|
do j=1,bit_kind_size
|
||||||
|
if (iand(itemp,string(i,2)) == itemp) then
|
||||||
|
output(ibuf:ibuf) = '2'
|
||||||
|
else if (iand(itemp,string(i,1)) == itemp) then
|
||||||
|
output(ibuf:ibuf) = '1'
|
||||||
|
else
|
||||||
|
output(ibuf:ibuf) = '0'
|
||||||
|
endif
|
||||||
|
ibuf = ibuf+1
|
||||||
|
itemp = shiftl(itemp,1)
|
||||||
|
enddo
|
||||||
|
enddo
|
||||||
|
output(ibuf:ibuf) = '|'
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
subroutine bitstring_to_hexa( output, string, Nint )
|
subroutine bitstring_to_hexa( output, string, Nint )
|
||||||
use bitmasks
|
use bitmasks
|
||||||
@ -166,6 +201,25 @@ subroutine debug_det(string,Nint)
|
|||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
subroutine debug_cfg(string,Nint)
|
||||||
|
use bitmasks
|
||||||
|
implicit none
|
||||||
|
BEGIN_DOC
|
||||||
|
! Subroutine to print the content of a determinant in '+-' notation and
|
||||||
|
! hexadecimal representation.
|
||||||
|
END_DOC
|
||||||
|
integer, intent(in) :: Nint
|
||||||
|
integer(bit_kind), intent(in) :: string(Nint,2)
|
||||||
|
character*(2048) :: output(2)
|
||||||
|
call bitstring_to_hexa( output(1), string(1,1), Nint )
|
||||||
|
call bitstring_to_hexa( output(2), string(1,2), Nint )
|
||||||
|
print *, trim(output(1)) , '|', trim(output(2))
|
||||||
|
|
||||||
|
call configuration_to_str( output(1), string, Nint )
|
||||||
|
print *, trim(output(1))
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
subroutine print_det(string,Nint)
|
subroutine print_det(string,Nint)
|
||||||
use bitmasks
|
use bitmasks
|
||||||
implicit none
|
implicit none
|
||||||
|
@ -3,3 +3,40 @@ type: logical
|
|||||||
doc: If true, computes the one- and two-body rdms with perturbation theory
|
doc: If true, computes the one- and two-body rdms with perturbation theory
|
||||||
interface: ezfio,provider,ocaml
|
interface: ezfio,provider,ocaml
|
||||||
default: False
|
default: False
|
||||||
|
|
||||||
|
[save_wf_after_selection]
|
||||||
|
type: logical
|
||||||
|
doc: If true, saves the wave function after the selection, before the diagonalization
|
||||||
|
interface: ezfio,provider,ocaml
|
||||||
|
default: False
|
||||||
|
|
||||||
|
[seniority_max]
|
||||||
|
type: integer
|
||||||
|
doc: Maximum number of allowed open shells. Using -1 selects all determinants
|
||||||
|
interface: ezfio,ocaml,provider
|
||||||
|
default: -1
|
||||||
|
|
||||||
|
[excitation_ref]
|
||||||
|
type: integer
|
||||||
|
doc: 1: Hartree-Fock determinant, 2:All determinants of the dominant configuration
|
||||||
|
interface: ezfio,ocaml,provider
|
||||||
|
default: 1
|
||||||
|
|
||||||
|
[excitation_max]
|
||||||
|
type: integer
|
||||||
|
doc: Maximum number of excitation with respect to the Hartree-Fock determinant. Using -1 selects all determinants
|
||||||
|
interface: ezfio,ocaml,provider
|
||||||
|
default: -1
|
||||||
|
|
||||||
|
[excitation_alpha_max]
|
||||||
|
type: integer
|
||||||
|
doc: Maximum number of excitation for alpha determinants with respect to the Hartree-Fock determinant. Using -1 selects all determinants
|
||||||
|
interface: ezfio,ocaml,provider
|
||||||
|
default: -1
|
||||||
|
|
||||||
|
[excitation_beta_max]
|
||||||
|
type: integer
|
||||||
|
doc: Maximum number of excitation for beta determinants with respect to the Hartree-Fock determinant. Using -1 selects all determinants
|
||||||
|
interface: ezfio,ocaml,provider
|
||||||
|
default: -1
|
||||||
|
|
||||||
|
@ -4,3 +4,4 @@ mpi
|
|||||||
davidson_undressed
|
davidson_undressed
|
||||||
iterations
|
iterations
|
||||||
two_body_rdm
|
two_body_rdm
|
||||||
|
csf
|
||||||
|
@ -102,7 +102,7 @@ subroutine run_cipsi
|
|||||||
|
|
||||||
call write_double(6,correlation_energy_ratio, 'Correlation ratio')
|
call write_double(6,correlation_energy_ratio, 'Correlation ratio')
|
||||||
call print_summary(psi_energy_with_nucl_rep, &
|
call print_summary(psi_energy_with_nucl_rep, &
|
||||||
pt2_data, pt2_data_err, N_det,N_occ_pattern,N_states,psi_s2)
|
pt2_data, pt2_data_err, N_det,N_configuration,N_states,psi_s2)
|
||||||
|
|
||||||
call save_energy(psi_energy_with_nucl_rep, pt2_data % pt2)
|
call save_energy(psi_energy_with_nucl_rep, pt2_data % pt2)
|
||||||
|
|
||||||
@ -114,7 +114,10 @@ subroutine run_cipsi
|
|||||||
|
|
||||||
! Add selected determinants
|
! Add selected determinants
|
||||||
call copy_H_apply_buffer_to_wf()
|
call copy_H_apply_buffer_to_wf()
|
||||||
! call save_wavefunction
|
|
||||||
|
if (save_wf_after_selection) then
|
||||||
|
call save_wavefunction
|
||||||
|
endif
|
||||||
|
|
||||||
PROVIDE psi_coef
|
PROVIDE psi_coef
|
||||||
PROVIDE psi_det
|
PROVIDE psi_det
|
||||||
@ -144,13 +147,13 @@ subroutine run_cipsi
|
|||||||
SOFT_TOUCH threshold_generators
|
SOFT_TOUCH threshold_generators
|
||||||
endif
|
endif
|
||||||
print *, 'N_det = ', N_det
|
print *, 'N_det = ', N_det
|
||||||
print *, 'N_sop = ', N_occ_pattern
|
print *, 'N_cfg = ', N_configuration
|
||||||
print *, 'N_states = ', N_states
|
print *, 'N_states = ', N_states
|
||||||
print*, 'correlation_ratio = ', correlation_energy_ratio
|
print*, 'correlation_ratio = ', correlation_energy_ratio
|
||||||
|
|
||||||
call save_energy(psi_energy_with_nucl_rep, pt2_data % pt2)
|
call save_energy(psi_energy_with_nucl_rep, pt2_data % pt2)
|
||||||
call print_summary(psi_energy_with_nucl_rep(1:N_states), &
|
call print_summary(psi_energy_with_nucl_rep(1:N_states), &
|
||||||
pt2_data, pt2_data_err, N_det,N_occ_pattern,N_states,psi_s2)
|
pt2_data, pt2_data_err, N_det,N_configuration,N_states,psi_s2)
|
||||||
call save_iterations(psi_energy_with_nucl_rep(1:N_states),pt2_data % rpt2,N_det)
|
call save_iterations(psi_energy_with_nucl_rep(1:N_states),pt2_data % rpt2,N_det)
|
||||||
call print_extrapolated_energy()
|
call print_extrapolated_energy()
|
||||||
endif
|
endif
|
||||||
|
@ -22,7 +22,7 @@ BEGIN_PROVIDER [ double precision, pt2_E0_denominator, (N_states) ]
|
|||||||
enddo
|
enddo
|
||||||
else if (h0_type == "Barycentric") then
|
else if (h0_type == "Barycentric") then
|
||||||
pt2_E0_denominator(1:N_states) = barycentric_electronic_energy(1:N_states)
|
pt2_E0_denominator(1:N_states) = barycentric_electronic_energy(1:N_states)
|
||||||
else if (h0_type == "SOP") then
|
else if (h0_type == "CFG") then
|
||||||
pt2_E0_denominator(1:N_states) = psi_energy(1:N_states)
|
pt2_E0_denominator(1:N_states) = psi_energy(1:N_states)
|
||||||
else
|
else
|
||||||
print *, h0_type, ' not implemented'
|
print *, h0_type, ' not implemented'
|
||||||
|
@ -71,9 +71,9 @@ subroutine fill_buffer_double_rdm(i_generator, sp, h1, h2, bannedOrb, banned, fo
|
|||||||
call apply_holes(psi_det_generators(1,1,i_generator), s1, h1, s2, h2, mask, ok, N_int)
|
call apply_holes(psi_det_generators(1,1,i_generator), s1, h1, s2, h2, mask, ok, N_int)
|
||||||
E_shift = 0.d0
|
E_shift = 0.d0
|
||||||
|
|
||||||
if (h0_type == 'SOP') then
|
if (h0_type == 'CFG') then
|
||||||
j = det_to_occ_pattern(i_generator)
|
j = det_to_configuration(i_generator)
|
||||||
E_shift = psi_det_Hii(i_generator) - psi_occ_pattern_Hii(j)
|
E_shift = psi_det_Hii(i_generator) - psi_configuration_Hii(j)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
do p1=1,mo_num
|
do p1=1,mo_num
|
||||||
|
@ -15,7 +15,7 @@ END_PROVIDER
|
|||||||
pt2_n_tasks_max = min(pt2_n_tasks_max,1+N_det_generators/10000)
|
pt2_n_tasks_max = min(pt2_n_tasks_max,1+N_det_generators/10000)
|
||||||
call write_int(6,pt2_n_tasks_max,'pt2_n_tasks_max')
|
call write_int(6,pt2_n_tasks_max,'pt2_n_tasks_max')
|
||||||
|
|
||||||
pt2_F(:) = int(sqrt(float(pt2_n_tasks_max)))
|
pt2_F(:) = max(int(sqrt(float(pt2_n_tasks_max))),1)
|
||||||
do i=1,pt2_n_0(1+pt2_N_teeth/4)
|
do i=1,pt2_n_0(1+pt2_N_teeth/4)
|
||||||
pt2_F(i) = pt2_n_tasks_max*pt2_min_parallel_tasks
|
pt2_F(i) = pt2_n_tasks_max*pt2_min_parallel_tasks
|
||||||
enddo
|
enddo
|
||||||
@ -26,7 +26,6 @@ END_PROVIDER
|
|||||||
pt2_F(i) = 1
|
pt2_F(i) = 1
|
||||||
enddo
|
enddo
|
||||||
|
|
||||||
|
|
||||||
END_PROVIDER
|
END_PROVIDER
|
||||||
|
|
||||||
BEGIN_PROVIDER [ integer, pt2_N_teeth ]
|
BEGIN_PROVIDER [ integer, pt2_N_teeth ]
|
||||||
@ -134,8 +133,8 @@ subroutine ZMQ_pt2(E, pt2_data, pt2_data_err, relative_error, N_in)
|
|||||||
PROVIDE psi_bilinear_matrix_transp_order psi_selectors_coef_transp psi_det_sorted
|
PROVIDE psi_bilinear_matrix_transp_order psi_selectors_coef_transp psi_det_sorted
|
||||||
PROVIDE psi_det_hii selection_weight pseudo_sym
|
PROVIDE psi_det_hii selection_weight pseudo_sym
|
||||||
|
|
||||||
if (h0_type == 'SOP') then
|
if (h0_type == 'CFG') then
|
||||||
PROVIDE psi_occ_pattern_hii det_to_occ_pattern
|
PROVIDE psi_configuration_hii det_to_configuration
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if (N_det <= max(4,N_states) .or. pt2_N_teeth < 2) then
|
if (N_det <= max(4,N_states) .or. pt2_N_teeth < 2) then
|
||||||
@ -187,7 +186,7 @@ subroutine ZMQ_pt2(E, pt2_data, pt2_data_err, relative_error, N_in)
|
|||||||
if (zmq_put_ivector(zmq_to_qp_run_socket,1,'pt2_stoch_istate',pt2_stoch_istate,1) == -1) then
|
if (zmq_put_ivector(zmq_to_qp_run_socket,1,'pt2_stoch_istate',pt2_stoch_istate,1) == -1) then
|
||||||
stop 'Unable to put pt2_stoch_istate on ZMQ server'
|
stop 'Unable to put pt2_stoch_istate on ZMQ server'
|
||||||
endif
|
endif
|
||||||
if (zmq_put_dvector(zmq_to_qp_run_socket,1,'threshold_generators',threshold_generators,1) == -1) then
|
if (zmq_put_dvector(zmq_to_qp_run_socket,1,'threshold_generators',(/threshold_generators/),1) == -1) then
|
||||||
stop 'Unable to put threshold_generators on ZMQ server'
|
stop 'Unable to put threshold_generators on ZMQ server'
|
||||||
endif
|
endif
|
||||||
|
|
||||||
@ -352,9 +351,9 @@ subroutine ZMQ_pt2(E, pt2_data, pt2_data_err, relative_error, N_in)
|
|||||||
|
|
||||||
state_average_weight(:) = state_average_weight_save(:)
|
state_average_weight(:) = state_average_weight_save(:)
|
||||||
TOUCH state_average_weight
|
TOUCH state_average_weight
|
||||||
|
call update_pt2_and_variance_weights(pt2_data, N_states)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
call update_pt2_and_variance_weights(pt2_data, N_states)
|
|
||||||
|
|
||||||
end subroutine
|
end subroutine
|
||||||
|
|
||||||
|
@ -103,7 +103,7 @@ subroutine run_pt2_slave_small(thread,iproc,energy)
|
|||||||
if (n_tasks == 0) exit
|
if (n_tasks == 0) exit
|
||||||
|
|
||||||
do k=1,n_tasks
|
do k=1,n_tasks
|
||||||
read (task(k),*) subset(k), i_generator(k), N
|
call sscanf_ddd(task(k), subset(k), i_generator(k), N)
|
||||||
enddo
|
enddo
|
||||||
if (b%N == 0) then
|
if (b%N == 0) then
|
||||||
! Only first time
|
! Only first time
|
||||||
@ -183,9 +183,9 @@ subroutine run_pt2_slave_large(thread,iproc,energy)
|
|||||||
type(selection_buffer) :: b
|
type(selection_buffer) :: b
|
||||||
logical :: done, buffer_ready
|
logical :: done, buffer_ready
|
||||||
|
|
||||||
type(pt2_type) :: pt2_data(1)
|
type(pt2_type) :: pt2_data
|
||||||
integer :: n_tasks, k, N
|
integer :: n_tasks, k, N
|
||||||
integer :: i_generator(1), subset
|
integer :: i_generator, subset
|
||||||
|
|
||||||
integer :: bsize ! Size of selection buffers
|
integer :: bsize ! Size of selection buffers
|
||||||
logical :: sending
|
logical :: sending
|
||||||
@ -220,7 +220,11 @@ subroutine run_pt2_slave_large(thread,iproc,energy)
|
|||||||
endif
|
endif
|
||||||
if (n_tasks == 0) exit
|
if (n_tasks == 0) exit
|
||||||
|
|
||||||
read (task,*) subset, i_generator(1), N
|
call sscanf_ddd(task, subset, i_generator, N)
|
||||||
|
if( pt2_F(i_generator) <= 0 .or. pt2_F(i_generator) > N_det ) then
|
||||||
|
print *, irp_here
|
||||||
|
stop 'bug in selection'
|
||||||
|
endif
|
||||||
if (b%N == 0) then
|
if (b%N == 0) then
|
||||||
! Only first time
|
! Only first time
|
||||||
bsize = min(N, (elec_alpha_num * (mo_num-elec_alpha_num))**2)
|
bsize = min(N, (elec_alpha_num * (mo_num-elec_alpha_num))**2)
|
||||||
@ -232,15 +236,10 @@ subroutine run_pt2_slave_large(thread,iproc,energy)
|
|||||||
|
|
||||||
double precision :: time0, time1
|
double precision :: time0, time1
|
||||||
call wall_time(time0)
|
call wall_time(time0)
|
||||||
call pt2_alloc(pt2_data(1),N_states)
|
call pt2_alloc(pt2_data,N_states)
|
||||||
b%cur = 0
|
b%cur = 0
|
||||||
!double precision :: time2
|
call select_connected(i_generator,energy,pt2_data,b,subset,pt2_F(i_generator))
|
||||||
!call wall_time(time2)
|
|
||||||
call select_connected(i_generator(1),energy,pt2_data(1),b,subset,pt2_F(i_generator(1)))
|
|
||||||
!call wall_time(time1)
|
|
||||||
!print *, i_generator(1), time1-time2, n_tasks, pt2_F(i_generator(1))
|
|
||||||
call wall_time(time1)
|
call wall_time(time1)
|
||||||
!print *, '-->', i_generator(1), time1-time0, n_tasks
|
|
||||||
|
|
||||||
integer, external :: tasks_done_to_taskserver
|
integer, external :: tasks_done_to_taskserver
|
||||||
if (tasks_done_to_taskserver(zmq_to_qp_run_socket,worker_id,task_id,n_tasks) == -1) then
|
if (tasks_done_to_taskserver(zmq_to_qp_run_socket,worker_id,task_id,n_tasks) == -1) then
|
||||||
@ -255,14 +254,14 @@ subroutine run_pt2_slave_large(thread,iproc,energy)
|
|||||||
call omp_unset_lock(global_selection_buffer_lock)
|
call omp_unset_lock(global_selection_buffer_lock)
|
||||||
if ( iproc == 1 ) then
|
if ( iproc == 1 ) then
|
||||||
call omp_set_lock(global_selection_buffer_lock)
|
call omp_set_lock(global_selection_buffer_lock)
|
||||||
call push_pt2_results_async_send(zmq_socket_push, i_generator, pt2_data, global_selection_buffer, task_id, n_tasks,sending)
|
call push_pt2_results_async_send(zmq_socket_push, (/i_generator/), (/pt2_data/), global_selection_buffer, (/task_id/), 1,sending)
|
||||||
global_selection_buffer%cur = 0
|
global_selection_buffer%cur = 0
|
||||||
call omp_unset_lock(global_selection_buffer_lock)
|
call omp_unset_lock(global_selection_buffer_lock)
|
||||||
else
|
else
|
||||||
call push_pt2_results_async_send(zmq_socket_push, i_generator, pt2_data, b, task_id, n_tasks,sending)
|
call push_pt2_results_async_send(zmq_socket_push, (/i_generator/), (/pt2_data/), b, (/task_id/), 1,sending)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
call pt2_dealloc(pt2_data(1))
|
call pt2_dealloc(pt2_data)
|
||||||
end do
|
end do
|
||||||
call push_pt2_results_async_recv(zmq_socket_push,b%mini,sending)
|
call push_pt2_results_async_recv(zmq_socket_push,b%mini,sending)
|
||||||
|
|
||||||
|
@ -52,7 +52,7 @@ subroutine run_selection_slave(thread,iproc,energy)
|
|||||||
ctask = ctask - 1
|
ctask = ctask - 1
|
||||||
else
|
else
|
||||||
integer :: i_generator, N, subset, bsize
|
integer :: i_generator, N, subset, bsize
|
||||||
read(task,*) subset, i_generator, N
|
call sscanf_ddd(task, subset, i_generator, N)
|
||||||
if(buf%N == 0) then
|
if(buf%N == 0) then
|
||||||
! Only first time
|
! Only first time
|
||||||
call create_selection_buffer(N, N*2, buf)
|
call create_selection_buffer(N, N*2, buf)
|
||||||
|
@ -1,148 +1,5 @@
|
|||||||
use bitmasks
|
use bitmasks
|
||||||
|
|
||||||
BEGIN_PROVIDER [ double precision, pt2_match_weight, (N_states) ]
|
|
||||||
implicit none
|
|
||||||
BEGIN_DOC
|
|
||||||
! Weights adjusted along the selection to make the PT2 contributions
|
|
||||||
! of each state coincide.
|
|
||||||
END_DOC
|
|
||||||
pt2_match_weight(:) = 1.d0
|
|
||||||
END_PROVIDER
|
|
||||||
|
|
||||||
BEGIN_PROVIDER [ double precision, variance_match_weight, (N_states) ]
|
|
||||||
implicit none
|
|
||||||
BEGIN_DOC
|
|
||||||
! Weights adjusted along the selection to make the variances
|
|
||||||
! of each state coincide.
|
|
||||||
END_DOC
|
|
||||||
variance_match_weight(:) = 1.d0
|
|
||||||
END_PROVIDER
|
|
||||||
|
|
||||||
subroutine update_pt2_and_variance_weights(pt2_data, N_st)
|
|
||||||
implicit none
|
|
||||||
use selection_types
|
|
||||||
BEGIN_DOC
|
|
||||||
! Updates the PT2- and Variance- matching weights.
|
|
||||||
END_DOC
|
|
||||||
integer, intent(in) :: N_st
|
|
||||||
type(pt2_type), intent(in) :: pt2_data
|
|
||||||
double precision :: pt2(N_st)
|
|
||||||
double precision :: variance(N_st)
|
|
||||||
|
|
||||||
double precision :: avg, element, dt, x
|
|
||||||
integer :: k
|
|
||||||
integer, save :: i_iter=0
|
|
||||||
integer, parameter :: i_itermax = 1
|
|
||||||
double precision, allocatable, save :: memo_variance(:,:), memo_pt2(:,:)
|
|
||||||
|
|
||||||
pt2(:) = pt2_data % pt2(:)
|
|
||||||
variance(:) = pt2_data % variance(:)
|
|
||||||
|
|
||||||
if (i_iter == 0) then
|
|
||||||
allocate(memo_variance(N_st,i_itermax), memo_pt2(N_st,i_itermax))
|
|
||||||
memo_pt2(:,:) = 1.d0
|
|
||||||
memo_variance(:,:) = 1.d0
|
|
||||||
endif
|
|
||||||
|
|
||||||
i_iter = i_iter+1
|
|
||||||
if (i_iter > i_itermax) then
|
|
||||||
i_iter = 1
|
|
||||||
endif
|
|
||||||
|
|
||||||
dt = 2.0d0
|
|
||||||
|
|
||||||
avg = sum(pt2(1:N_st)) / dble(N_st) - 1.d-32 ! Avoid future division by zero
|
|
||||||
do k=1,N_st
|
|
||||||
element = exp(dt*(pt2(k)/avg -1.d0))
|
|
||||||
element = min(2.0d0 , element)
|
|
||||||
element = max(0.5d0 , element)
|
|
||||||
memo_pt2(k,i_iter) = element
|
|
||||||
pt2_match_weight(k) *= product(memo_pt2(k,:))
|
|
||||||
enddo
|
|
||||||
|
|
||||||
avg = sum(variance(1:N_st)) / dble(N_st) + 1.d-32 ! Avoid future division by zero
|
|
||||||
do k=1,N_st
|
|
||||||
element = exp(dt*(variance(k)/avg -1.d0))
|
|
||||||
element = min(2.0d0 , element)
|
|
||||||
element = max(0.5d0 , element)
|
|
||||||
memo_variance(k,i_iter) = element
|
|
||||||
variance_match_weight(k) *= product(memo_variance(k,:))
|
|
||||||
enddo
|
|
||||||
|
|
||||||
if (N_det < 100) then
|
|
||||||
! For tiny wave functions, weights are 1.d0
|
|
||||||
pt2_match_weight(:) = 1.d0
|
|
||||||
variance_match_weight(:) = 1.d0
|
|
||||||
endif
|
|
||||||
|
|
||||||
threshold_davidson_pt2 = min(1.d-6, &
|
|
||||||
max(threshold_davidson, 1.e-1 * PT2_relative_error * minval(abs(pt2(1:N_states)))) )
|
|
||||||
|
|
||||||
SOFT_TOUCH pt2_match_weight variance_match_weight threshold_davidson_pt2
|
|
||||||
end
|
|
||||||
|
|
||||||
|
|
||||||
BEGIN_PROVIDER [ double precision, selection_weight, (N_states) ]
|
|
||||||
implicit none
|
|
||||||
BEGIN_DOC
|
|
||||||
! Weights used in the selection criterion
|
|
||||||
END_DOC
|
|
||||||
select case (weight_selection)
|
|
||||||
|
|
||||||
case (0)
|
|
||||||
print *, 'Using input weights in selection'
|
|
||||||
selection_weight(1:N_states) = c0_weight(1:N_states) * state_average_weight(1:N_states)
|
|
||||||
|
|
||||||
case (1)
|
|
||||||
print *, 'Using 1/c_max^2 weight in selection'
|
|
||||||
selection_weight(1:N_states) = c0_weight(1:N_states)
|
|
||||||
|
|
||||||
case (2)
|
|
||||||
print *, 'Using pt2-matching weight in selection'
|
|
||||||
selection_weight(1:N_states) = c0_weight(1:N_states) * pt2_match_weight(1:N_states)
|
|
||||||
print *, '# PT2 weight ', real(pt2_match_weight(:),4)
|
|
||||||
|
|
||||||
case (3)
|
|
||||||
print *, 'Using variance-matching weight in selection'
|
|
||||||
selection_weight(1:N_states) = c0_weight(1:N_states) * variance_match_weight(1:N_states)
|
|
||||||
print *, '# var weight ', real(variance_match_weight(:),4)
|
|
||||||
|
|
||||||
case (4)
|
|
||||||
print *, 'Using variance- and pt2-matching weights in selection'
|
|
||||||
selection_weight(1:N_states) = c0_weight(1:N_states) * sqrt(variance_match_weight(1:N_states) * pt2_match_weight(1:N_states))
|
|
||||||
print *, '# PT2 weight ', real(pt2_match_weight(:),4)
|
|
||||||
print *, '# var weight ', real(variance_match_weight(:),4)
|
|
||||||
|
|
||||||
case (5)
|
|
||||||
print *, 'Using variance-matching weight in selection'
|
|
||||||
selection_weight(1:N_states) = c0_weight(1:N_states) * variance_match_weight(1:N_states)
|
|
||||||
print *, '# var weight ', real(variance_match_weight(:),4)
|
|
||||||
|
|
||||||
case (6)
|
|
||||||
print *, 'Using CI coefficient-based selection'
|
|
||||||
selection_weight(1:N_states) = c0_weight(1:N_states)
|
|
||||||
|
|
||||||
case (7)
|
|
||||||
print *, 'Input weights multiplied by variance- and pt2-matching'
|
|
||||||
selection_weight(1:N_states) = c0_weight(1:N_states) * sqrt(variance_match_weight(1:N_states) * pt2_match_weight(1:N_states)) * state_average_weight(1:N_states)
|
|
||||||
print *, '# PT2 weight ', real(pt2_match_weight(:),4)
|
|
||||||
print *, '# var weight ', real(variance_match_weight(:),4)
|
|
||||||
|
|
||||||
case (8)
|
|
||||||
print *, 'Input weights multiplied by pt2-matching'
|
|
||||||
selection_weight(1:N_states) = c0_weight(1:N_states) * pt2_match_weight(1:N_states) * state_average_weight(1:N_states)
|
|
||||||
print *, '# PT2 weight ', real(pt2_match_weight(:),4)
|
|
||||||
|
|
||||||
case (9)
|
|
||||||
print *, 'Input weights multiplied by variance-matching'
|
|
||||||
selection_weight(1:N_states) = c0_weight(1:N_states) * variance_match_weight(1:N_states) * state_average_weight(1:N_states)
|
|
||||||
print *, '# var weight ', real(variance_match_weight(:),4)
|
|
||||||
|
|
||||||
end select
|
|
||||||
print *, '# Total weight ', real(selection_weight(:),4)
|
|
||||||
|
|
||||||
END_PROVIDER
|
|
||||||
|
|
||||||
subroutine get_mask_phase(det1, pm, Nint)
|
subroutine get_mask_phase(det1, pm, Nint)
|
||||||
use bitmasks
|
use bitmasks
|
||||||
implicit none
|
implicit none
|
||||||
@ -151,27 +8,56 @@ subroutine get_mask_phase(det1, pm, Nint)
|
|||||||
integer(bit_kind), intent(out) :: pm(Nint,2)
|
integer(bit_kind), intent(out) :: pm(Nint,2)
|
||||||
integer(bit_kind) :: tmp1, tmp2
|
integer(bit_kind) :: tmp1, tmp2
|
||||||
integer :: i
|
integer :: i
|
||||||
pm(1:Nint,1:2) = det1(1:Nint,1:2)
|
|
||||||
tmp1 = 0_8
|
tmp1 = 0_8
|
||||||
tmp2 = 0_8
|
tmp2 = 0_8
|
||||||
do i=1,Nint
|
select case (Nint)
|
||||||
pm(i,1) = ieor(pm(i,1), shiftl(pm(i,1), 1))
|
|
||||||
pm(i,2) = ieor(pm(i,2), shiftl(pm(i,2), 1))
|
BEGIN_TEMPLATE
|
||||||
pm(i,1) = ieor(pm(i,1), shiftl(pm(i,1), 2))
|
case ($Nint)
|
||||||
pm(i,2) = ieor(pm(i,2), shiftl(pm(i,2), 2))
|
do i=1,$Nint
|
||||||
pm(i,1) = ieor(pm(i,1), shiftl(pm(i,1), 4))
|
pm(i,1) = ieor(det1(i,1), shiftl(det1(i,1), 1))
|
||||||
pm(i,2) = ieor(pm(i,2), shiftl(pm(i,2), 4))
|
pm(i,2) = ieor(det1(i,2), shiftl(det1(i,2), 1))
|
||||||
pm(i,1) = ieor(pm(i,1), shiftl(pm(i,1), 8))
|
pm(i,1) = ieor(pm(i,1), shiftl(pm(i,1), 2))
|
||||||
pm(i,2) = ieor(pm(i,2), shiftl(pm(i,2), 8))
|
pm(i,2) = ieor(pm(i,2), shiftl(pm(i,2), 2))
|
||||||
pm(i,1) = ieor(pm(i,1), shiftl(pm(i,1), 16))
|
pm(i,1) = ieor(pm(i,1), shiftl(pm(i,1), 4))
|
||||||
pm(i,2) = ieor(pm(i,2), shiftl(pm(i,2), 16))
|
pm(i,2) = ieor(pm(i,2), shiftl(pm(i,2), 4))
|
||||||
pm(i,1) = ieor(pm(i,1), shiftl(pm(i,1), 32))
|
pm(i,1) = ieor(pm(i,1), shiftl(pm(i,1), 8))
|
||||||
pm(i,2) = ieor(pm(i,2), shiftl(pm(i,2), 32))
|
pm(i,2) = ieor(pm(i,2), shiftl(pm(i,2), 8))
|
||||||
pm(i,1) = ieor(pm(i,1), tmp1)
|
pm(i,1) = ieor(pm(i,1), shiftl(pm(i,1), 16))
|
||||||
pm(i,2) = ieor(pm(i,2), tmp2)
|
pm(i,2) = ieor(pm(i,2), shiftl(pm(i,2), 16))
|
||||||
if(iand(popcnt(det1(i,1)), 1) == 1) tmp1 = not(tmp1)
|
pm(i,1) = ieor(pm(i,1), shiftl(pm(i,1), 32))
|
||||||
if(iand(popcnt(det1(i,2)), 1) == 1) tmp2 = not(tmp2)
|
pm(i,2) = ieor(pm(i,2), shiftl(pm(i,2), 32))
|
||||||
end do
|
pm(i,1) = ieor(pm(i,1), tmp1)
|
||||||
|
pm(i,2) = ieor(pm(i,2), tmp2)
|
||||||
|
if(iand(popcnt(det1(i,1)), 1) == 1) tmp1 = not(tmp1)
|
||||||
|
if(iand(popcnt(det1(i,2)), 1) == 1) tmp2 = not(tmp2)
|
||||||
|
end do
|
||||||
|
SUBST [ Nint ]
|
||||||
|
1;;
|
||||||
|
2;;
|
||||||
|
3;;
|
||||||
|
4;;
|
||||||
|
END_TEMPLATE
|
||||||
|
case default
|
||||||
|
do i=1,Nint
|
||||||
|
pm(i,1) = ieor(det1(i,1), shiftl(det1(i,1), 1))
|
||||||
|
pm(i,2) = ieor(det1(i,2), shiftl(det1(i,2), 1))
|
||||||
|
pm(i,1) = ieor(pm(i,1), shiftl(pm(i,1), 2))
|
||||||
|
pm(i,2) = ieor(pm(i,2), shiftl(pm(i,2), 2))
|
||||||
|
pm(i,1) = ieor(pm(i,1), shiftl(pm(i,1), 4))
|
||||||
|
pm(i,2) = ieor(pm(i,2), shiftl(pm(i,2), 4))
|
||||||
|
pm(i,1) = ieor(pm(i,1), shiftl(pm(i,1), 8))
|
||||||
|
pm(i,2) = ieor(pm(i,2), shiftl(pm(i,2), 8))
|
||||||
|
pm(i,1) = ieor(pm(i,1), shiftl(pm(i,1), 16))
|
||||||
|
pm(i,2) = ieor(pm(i,2), shiftl(pm(i,2), 16))
|
||||||
|
pm(i,1) = ieor(pm(i,1), shiftl(pm(i,1), 32))
|
||||||
|
pm(i,2) = ieor(pm(i,2), shiftl(pm(i,2), 32))
|
||||||
|
pm(i,1) = ieor(pm(i,1), tmp1)
|
||||||
|
pm(i,2) = ieor(pm(i,2), tmp2)
|
||||||
|
if(iand(popcnt(det1(i,1)), 1) == 1) tmp1 = not(tmp1)
|
||||||
|
if(iand(popcnt(det1(i,2)), 1) == 1) tmp2 = not(tmp2)
|
||||||
|
end do
|
||||||
|
end select
|
||||||
|
|
||||||
end subroutine
|
end subroutine
|
||||||
|
|
||||||
@ -309,15 +195,18 @@ subroutine select_singles_and_doubles(i_generator,hole_mask,particle_mask,fock_d
|
|||||||
|
|
||||||
integer :: l_a, nmax, idx
|
integer :: l_a, nmax, idx
|
||||||
integer, allocatable :: indices(:), exc_degree(:), iorder(:)
|
integer, allocatable :: indices(:), exc_degree(:), iorder(:)
|
||||||
|
double precision, parameter :: norm_thr = 1.d-16
|
||||||
allocate (indices(N_det), &
|
allocate (indices(N_det), &
|
||||||
exc_degree(max(N_det_alpha_unique,N_det_beta_unique)))
|
exc_degree(max(N_det_alpha_unique,N_det_beta_unique)))
|
||||||
|
|
||||||
|
! Pre-compute excitation degrees wrt alpha determinants
|
||||||
k=1
|
k=1
|
||||||
do i=1,N_det_alpha_unique
|
do i=1,N_det_alpha_unique
|
||||||
call get_excitation_degree_spin(psi_det_alpha_unique(1,i), &
|
call get_excitation_degree_spin(psi_det_alpha_unique(1,i), &
|
||||||
psi_det_generators(1,1,i_generator), exc_degree(i), N_int)
|
psi_det_generators(1,1,i_generator), exc_degree(i), N_int)
|
||||||
enddo
|
enddo
|
||||||
|
|
||||||
|
! Iterate on 0SD beta, and find alphas 0SDTQ such that exc_degree <= 4
|
||||||
do j=1,N_det_beta_unique
|
do j=1,N_det_beta_unique
|
||||||
call get_excitation_degree_spin(psi_det_beta_unique(1,j), &
|
call get_excitation_degree_spin(psi_det_beta_unique(1,j), &
|
||||||
psi_det_generators(1,2,i_generator), nt, N_int)
|
psi_det_generators(1,2,i_generator), nt, N_int)
|
||||||
@ -326,7 +215,7 @@ subroutine select_singles_and_doubles(i_generator,hole_mask,particle_mask,fock_d
|
|||||||
i = psi_bilinear_matrix_rows(l_a)
|
i = psi_bilinear_matrix_rows(l_a)
|
||||||
if (nt + exc_degree(i) <= 4) then
|
if (nt + exc_degree(i) <= 4) then
|
||||||
idx = psi_det_sorted_order(psi_bilinear_matrix_order(l_a))
|
idx = psi_det_sorted_order(psi_bilinear_matrix_order(l_a))
|
||||||
if (psi_average_norm_contrib_sorted(idx) > 1.d-20) then
|
if (psi_average_norm_contrib_sorted(idx) > norm_thr) then
|
||||||
indices(k) = idx
|
indices(k) = idx
|
||||||
k=k+1
|
k=k+1
|
||||||
endif
|
endif
|
||||||
@ -334,11 +223,14 @@ subroutine select_singles_and_doubles(i_generator,hole_mask,particle_mask,fock_d
|
|||||||
enddo
|
enddo
|
||||||
enddo
|
enddo
|
||||||
|
|
||||||
|
! Pre-compute excitation degrees wrt beta determinants
|
||||||
do i=1,N_det_beta_unique
|
do i=1,N_det_beta_unique
|
||||||
call get_excitation_degree_spin(psi_det_beta_unique(1,i), &
|
call get_excitation_degree_spin(psi_det_beta_unique(1,i), &
|
||||||
psi_det_generators(1,2,i_generator), exc_degree(i), N_int)
|
psi_det_generators(1,2,i_generator), exc_degree(i), N_int)
|
||||||
enddo
|
enddo
|
||||||
|
|
||||||
|
! Iterate on 0S alpha, and find betas TQ such that exc_degree <= 4
|
||||||
|
! Remove also contributions < 1.d-20)
|
||||||
do j=1,N_det_alpha_unique
|
do j=1,N_det_alpha_unique
|
||||||
call get_excitation_degree_spin(psi_det_alpha_unique(1,j), &
|
call get_excitation_degree_spin(psi_det_alpha_unique(1,j), &
|
||||||
psi_det_generators(1,1,i_generator), nt, N_int)
|
psi_det_generators(1,1,i_generator), nt, N_int)
|
||||||
@ -350,7 +242,7 @@ subroutine select_singles_and_doubles(i_generator,hole_mask,particle_mask,fock_d
|
|||||||
idx = psi_det_sorted_order( &
|
idx = psi_det_sorted_order( &
|
||||||
psi_bilinear_matrix_order( &
|
psi_bilinear_matrix_order( &
|
||||||
psi_bilinear_matrix_transp_order(l_a)))
|
psi_bilinear_matrix_transp_order(l_a)))
|
||||||
if (psi_average_norm_contrib_sorted(idx) > 1.d-20) then
|
if (psi_average_norm_contrib_sorted(idx) > norm_thr) then
|
||||||
indices(k) = idx
|
indices(k) = idx
|
||||||
k=k+1
|
k=k+1
|
||||||
endif
|
endif
|
||||||
@ -587,11 +479,17 @@ subroutine select_singles_and_doubles(i_generator,hole_mask,particle_mask,fock_d
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
do i=1,fullinteresting(0)
|
do i=1,fullinteresting(0)
|
||||||
fullminilist(1:N_int,1:2,i) = psi_det_sorted(1:N_int,1:2,fullinteresting(i))
|
do k=1,N_int
|
||||||
|
fullminilist(k,1,i) = psi_det_sorted(k,1,fullinteresting(i))
|
||||||
|
fullminilist(k,2,i) = psi_det_sorted(k,2,fullinteresting(i))
|
||||||
|
enddo
|
||||||
enddo
|
enddo
|
||||||
|
|
||||||
do i=1,interesting(0)
|
do i=1,interesting(0)
|
||||||
minilist(1:N_int,1:2,i) = psi_det_sorted(1:N_int,1:2,interesting(i))
|
do k=1,N_int
|
||||||
|
minilist(k,1,i) = psi_det_sorted(k,1,interesting(i))
|
||||||
|
minilist(k,2,i) = psi_det_sorted(k,2,interesting(i))
|
||||||
|
enddo
|
||||||
enddo
|
enddo
|
||||||
|
|
||||||
do s2=s1,2
|
do s2=s1,2
|
||||||
@ -678,12 +576,8 @@ subroutine fill_buffer_double(i_generator, sp, h1, h2, bannedOrb, banned, fock_d
|
|||||||
double precision :: delta_E, val, Hii, w, tmp, alpha_h_psi
|
double precision :: delta_E, val, Hii, w, tmp, alpha_h_psi
|
||||||
double precision, external :: diag_H_mat_elem_fock
|
double precision, external :: diag_H_mat_elem_fock
|
||||||
double precision :: E_shift
|
double precision :: E_shift
|
||||||
|
|
||||||
logical, external :: detEq
|
|
||||||
double precision, allocatable :: values(:)
|
|
||||||
integer, allocatable :: keys(:,:)
|
|
||||||
integer :: nkeys
|
|
||||||
double precision :: s_weight(N_states,N_states)
|
double precision :: s_weight(N_states,N_states)
|
||||||
|
PROVIDE dominant_dets_of_cfgs N_dominant_dets_of_cfgs
|
||||||
do jstate=1,N_states
|
do jstate=1,N_states
|
||||||
do istate=1,N_states
|
do istate=1,N_states
|
||||||
s_weight(istate,jstate) = dsqrt(selection_weight(istate)*selection_weight(jstate))
|
s_weight(istate,jstate) = dsqrt(selection_weight(istate)*selection_weight(jstate))
|
||||||
@ -700,9 +594,9 @@ subroutine fill_buffer_double(i_generator, sp, h1, h2, bannedOrb, banned, fock_d
|
|||||||
call apply_holes(psi_det_generators(1,1,i_generator), s1, h1, s2, h2, mask, ok, N_int)
|
call apply_holes(psi_det_generators(1,1,i_generator), s1, h1, s2, h2, mask, ok, N_int)
|
||||||
E_shift = 0.d0
|
E_shift = 0.d0
|
||||||
|
|
||||||
if (h0_type == 'SOP') then
|
if (h0_type == 'CFG') then
|
||||||
j = det_to_occ_pattern(i_generator)
|
j = det_to_configuration(i_generator)
|
||||||
E_shift = psi_det_Hii(i_generator) - psi_occ_pattern_Hii(j)
|
E_shift = psi_det_Hii(i_generator) - psi_configuration_Hii(j)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
do p1=1,mo_num
|
do p1=1,mo_num
|
||||||
@ -735,6 +629,12 @@ subroutine fill_buffer_double(i_generator, sp, h1, h2, bannedOrb, banned, fock_d
|
|||||||
if(bannedOrb(p2, s2)) cycle
|
if(bannedOrb(p2, s2)) cycle
|
||||||
if(banned(p1,p2)) cycle
|
if(banned(p1,p2)) cycle
|
||||||
|
|
||||||
|
if(pseudo_sym)then
|
||||||
|
if(dabs(mat(1, p1, p2)).lt.thresh_sym)then
|
||||||
|
w = 0.d0
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
val = maxval(abs(mat(1:N_states, p1, p2)))
|
val = maxval(abs(mat(1:N_states, p1, p2)))
|
||||||
if( val == 0d0) cycle
|
if( val == 0d0) cycle
|
||||||
call apply_particles(mask, s1, p1, s2, p2, det, ok, N_int)
|
call apply_particles(mask, s1, p1, s2, p2, det, ok, N_int)
|
||||||
@ -761,14 +661,67 @@ subroutine fill_buffer_double(i_generator, sp, h1, h2, bannedOrb, banned, fock_d
|
|||||||
if (.not.is_a_1h1p(det)) cycle
|
if (.not.is_a_1h1p(det)) cycle
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
if (seniority_max >= 0) then
|
||||||
|
integer :: s
|
||||||
|
s = 0
|
||||||
|
do k=1,N_int
|
||||||
|
s = s + popcnt(ieor(det(k,1),det(k,2)))
|
||||||
|
enddo
|
||||||
|
|
||||||
|
if (s > seniority_max) cycle
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
|
integer :: degree
|
||||||
|
logical :: do_cycle
|
||||||
|
if (excitation_max >= 0) then
|
||||||
|
do_cycle = .True.
|
||||||
|
if (excitation_ref == 1) then
|
||||||
|
call get_excitation_degree(HF_bitmask,det(1,1),degree,N_int)
|
||||||
|
do_cycle = do_cycle .and. (degree > excitation_max)
|
||||||
|
else if (excitation_ref == 2) then
|
||||||
|
do k=1,N_dominant_dets_of_cfgs
|
||||||
|
call get_excitation_degree(dominant_dets_of_cfgs(1,1,k),det(1,1),degree,N_int)
|
||||||
|
do_cycle = do_cycle .and. (degree > excitation_max)
|
||||||
|
enddo
|
||||||
|
endif
|
||||||
|
if (do_cycle) cycle
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
|
if (excitation_alpha_max >= 0) then
|
||||||
|
do_cycle = .True.
|
||||||
|
if (excitation_ref == 1) then
|
||||||
|
call get_excitation_degree_spin(HF_bitmask,det(1,1),degree,N_int)
|
||||||
|
do_cycle = do_cycle .and. (degree > excitation_max)
|
||||||
|
else if (excitation_ref == 2) then
|
||||||
|
do k=1,N_dominant_dets_of_cfgs
|
||||||
|
call get_excitation_degree_spin(dominant_dets_of_cfgs(1,1,k),det(1,1),degree,N_int)
|
||||||
|
do_cycle = do_cycle .and. (degree > excitation_alpha_max)
|
||||||
|
enddo
|
||||||
|
endif
|
||||||
|
if (do_cycle) cycle
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
|
if (excitation_beta_max >= 0) then
|
||||||
|
do_cycle = .True.
|
||||||
|
if (excitation_ref == 1) then
|
||||||
|
call get_excitation_degree_spin(HF_bitmask,det(1,2),degree,N_int)
|
||||||
|
do_cycle = do_cycle .and. (degree > excitation_max)
|
||||||
|
else if (excitation_ref == 2) then
|
||||||
|
do k=1,N_dominant_dets_of_cfgs
|
||||||
|
call get_excitation_degree(dominant_dets_of_cfgs(1,2,k),det(1,2),degree,N_int)
|
||||||
|
do_cycle = do_cycle .and. (degree > excitation_beta_max)
|
||||||
|
enddo
|
||||||
|
endif
|
||||||
|
if (do_cycle) cycle
|
||||||
|
endif
|
||||||
|
|
||||||
Hii = diag_H_mat_elem_fock(psi_det_generators(1,1,i_generator),det,fock_diag_tmp,N_int)
|
Hii = diag_H_mat_elem_fock(psi_det_generators(1,1,i_generator),det,fock_diag_tmp,N_int)
|
||||||
|
|
||||||
w = 0d0
|
w = 0d0
|
||||||
|
|
||||||
! integer(bit_kind) :: occ(N_int,2), n
|
|
||||||
! call occ_pattern_of_det(det,occ,N_int)
|
|
||||||
! call occ_pattern_to_dets_size(occ,n,elec_alpha_num,N_int)
|
|
||||||
|
|
||||||
e_pert = 0.d0
|
e_pert = 0.d0
|
||||||
coef = 0.d0
|
coef = 0.d0
|
||||||
logical :: do_diag
|
logical :: do_diag
|
||||||
@ -792,11 +745,11 @@ subroutine fill_buffer_double(i_generator, sp, h1, h2, bannedOrb, banned, fock_d
|
|||||||
endif
|
endif
|
||||||
enddo
|
enddo
|
||||||
|
|
||||||
do_diag = sum(dabs(coef)) > 0.001d0
|
do_diag = sum(dabs(coef)) > 0.001d0 .and. N_states > 1
|
||||||
|
|
||||||
double precision :: eigvalues(N_states+1)
|
double precision :: eigvalues(N_states+1)
|
||||||
double precision :: work(1+6*(N_states+1)+2*(N_states+1)**2)
|
double precision :: work(1+6*(N_states+1)+2*(N_states+1)**2)
|
||||||
integer :: iwork(3+5*(N_states+1)), info, k ,n
|
integer :: iwork(3+5*(N_states+1)), info, k
|
||||||
|
|
||||||
if (do_diag) then
|
if (do_diag) then
|
||||||
double precision :: pt2_matrix(N_states+1,N_states+1)
|
double precision :: pt2_matrix(N_states+1,N_states+1)
|
||||||
@ -822,6 +775,7 @@ subroutine fill_buffer_double(i_generator, sp, h1, h2, bannedOrb, banned, fock_d
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
! ! Gram-Schmidt using input overlap matrix
|
! ! Gram-Schmidt using input overlap matrix
|
||||||
! do istate=1,N_states
|
! do istate=1,N_states
|
||||||
! do jstate=1,istate-1
|
! do jstate=1,istate-1
|
||||||
@ -834,12 +788,9 @@ subroutine fill_buffer_double(i_generator, sp, h1, h2, bannedOrb, banned, fock_d
|
|||||||
|
|
||||||
alpha_h_psi = mat(istate, p1, p2)
|
alpha_h_psi = mat(istate, p1, p2)
|
||||||
|
|
||||||
do jstate=1,N_states
|
pt2_data % overlap(:,istate) = pt2_data % overlap(:,istate) + coef(:) * coef(istate)
|
||||||
pt2_data % overlap(jstate,istate) += coef(jstate) * coef(istate)
|
pt2_data % variance(istate) = pt2_data % variance(istate) + alpha_h_psi * alpha_h_psi
|
||||||
enddo
|
pt2_data % pt2(istate) = pt2_data % pt2(istate) + e_pert(istate)
|
||||||
|
|
||||||
pt2_data % variance(istate) += alpha_h_psi * alpha_h_psi
|
|
||||||
pt2_data % pt2(istate) += e_pert(istate)
|
|
||||||
|
|
||||||
!!!DEBUG
|
!!!DEBUG
|
||||||
! delta_E = E0(istate) - Hii + E_shift
|
! delta_E = E0(istate) - Hii + E_shift
|
||||||
@ -864,42 +815,44 @@ subroutine fill_buffer_double(i_generator, sp, h1, h2, bannedOrb, banned, fock_d
|
|||||||
|
|
||||||
case(5)
|
case(5)
|
||||||
! Variance selection
|
! Variance selection
|
||||||
! w = w - alpha_h_psi * alpha_h_psi * s_weight(istate,istate)
|
if (h0_type == 'CFG') then
|
||||||
w = min(w, - alpha_h_psi * alpha_h_psi * s_weight(istate,istate))
|
w = min(w, - alpha_h_psi * alpha_h_psi * s_weight(istate,istate)) &
|
||||||
! do jstate=1,N_states
|
/ c0_weight(istate)
|
||||||
! if (istate == jstate) cycle
|
else
|
||||||
! w = w + dabs(alpha_h_psi*mat(jstate,p1,p2)) * s_weight(istate,jstate)
|
w = min(w, - alpha_h_psi * alpha_h_psi * s_weight(istate,istate))
|
||||||
! enddo
|
endif
|
||||||
|
|
||||||
case(6)
|
case(6)
|
||||||
! w = w - coef(istate) * coef(istate) * s_weight(istate,istate)
|
if (h0_type == 'CFG') then
|
||||||
w = min(w,- coef(istate) * coef(istate) * s_weight(istate,istate))
|
w = min(w,- coef(istate) * coef(istate) * s_weight(istate,istate)) &
|
||||||
! do jstate=1,N_states
|
/ c0_weight(istate)
|
||||||
! if (istate == jstate) cycle
|
else
|
||||||
! w = w + dabs(coef(istate)*coef(jstate)) * s_weight(istate,jstate)
|
w = min(w,- coef(istate) * coef(istate) * s_weight(istate,istate))
|
||||||
! enddo
|
endif
|
||||||
|
|
||||||
case default
|
case default
|
||||||
! Energy selection
|
! Energy selection
|
||||||
! w = w + e_pert(istate) * s_weight(istate,istate)
|
if (h0_type == 'CFG') then
|
||||||
w = min(w, e_pert(istate) * s_weight(istate,istate))
|
w = min(w, e_pert(istate) * s_weight(istate,istate)) / c0_weight(istate)
|
||||||
! do jstate=1,N_states
|
else
|
||||||
! if (istate == jstate) cycle
|
w = min(w, e_pert(istate) * s_weight(istate,istate))
|
||||||
! w = w + dabs(X(istate)*X(jstate)) * s_weight(istate,jstate)
|
endif
|
||||||
! enddo
|
|
||||||
|
|
||||||
end select
|
end select
|
||||||
end do
|
end do
|
||||||
|
|
||||||
|
|
||||||
if(pseudo_sym)then
|
integer(bit_kind) :: occ(N_int,2), n
|
||||||
if(dabs(mat(1, p1, p2)).lt.thresh_sym)then
|
if (h0_type == 'CFG') then
|
||||||
w = 0.d0
|
do k=1,N_int
|
||||||
endif
|
occ(k,1) = ieor(det(k,1),det(k,2))
|
||||||
|
occ(k,2) = iand(det(k,1),det(k,2))
|
||||||
|
enddo
|
||||||
|
call configuration_to_dets_size(occ,n,elec_alpha_num,N_int)
|
||||||
|
n = max(n,1)
|
||||||
|
w *= dsqrt(dble(n))
|
||||||
endif
|
endif
|
||||||
|
|
||||||
! w = dble(n) * w
|
|
||||||
|
|
||||||
if(w <= buf%mini) then
|
if(w <= buf%mini) then
|
||||||
call add_to_selection_buffer(buf, det, w)
|
call add_to_selection_buffer(buf, det, w)
|
||||||
end if
|
end if
|
||||||
@ -1675,7 +1628,7 @@ subroutine get_d0_reference(gen, phasemask, bannedOrb, banned, mat, mask, h, p,
|
|||||||
phase = get_phase_bi(phasemask, 1, 2, h1, p1, h2, p2, N_int)
|
phase = get_phase_bi(phasemask, 1, 2, h1, p1, h2, p2, N_int)
|
||||||
hij = mo_two_e_integral(p1, p2, h1, h2) * phase
|
hij = mo_two_e_integral(p1, p2, h1, h2) * phase
|
||||||
end if
|
end if
|
||||||
mat(:, p1, p2) += coefs(:) * hij
|
mat(:, p1, p2) = mat(:, p1, p2) + coefs(:) * hij
|
||||||
end do
|
end do
|
||||||
end do
|
end do
|
||||||
else ! AA BB
|
else ! AA BB
|
||||||
@ -1692,7 +1645,7 @@ subroutine get_d0_reference(gen, phasemask, bannedOrb, banned, mat, mask, h, p,
|
|||||||
else
|
else
|
||||||
hij = (mo_two_e_integral(p1, p2, puti, putj) - mo_two_e_integral(p2, p1, puti, putj))* get_phase_bi(phasemask, sp, sp, puti, p1 , putj, p2, N_int)
|
hij = (mo_two_e_integral(p1, p2, puti, putj) - mo_two_e_integral(p2, p1, puti, putj))* get_phase_bi(phasemask, sp, sp, puti, p1 , putj, p2, N_int)
|
||||||
end if
|
end if
|
||||||
mat(:, puti, putj) += coefs(:) * hij
|
mat(:, puti, putj) = mat(:, puti, putj) + coefs(:) * hij
|
||||||
end do
|
end do
|
||||||
end do
|
end do
|
||||||
end if
|
end if
|
||||||
@ -1751,18 +1704,18 @@ subroutine get_d1_reference(gen, phasemask, bannedOrb, banned, mat, mask, h, p,
|
|||||||
do putj=1, hfix-1
|
do putj=1, hfix-1
|
||||||
if(lbanned(putj, ma) .or. banned(putj, puti,bant)) cycle
|
if(lbanned(putj, ma) .or. banned(putj, puti,bant)) cycle
|
||||||
hij = (mo_two_e_integral(p1, p2, putj, hfix)-mo_two_e_integral(p2,p1,putj,hfix)) * get_phase_bi(phasemask, ma, ma, putj, p1, hfix, p2, N_int)
|
hij = (mo_two_e_integral(p1, p2, putj, hfix)-mo_two_e_integral(p2,p1,putj,hfix)) * get_phase_bi(phasemask, ma, ma, putj, p1, hfix, p2, N_int)
|
||||||
tmp_row(1:N_states,putj) += hij * coefs(1:N_states)
|
tmp_row(1:N_states,putj) = tmp_row(1:N_states,putj) + hij * coefs(1:N_states)
|
||||||
end do
|
end do
|
||||||
do putj=hfix+1, mo_num
|
do putj=hfix+1, mo_num
|
||||||
if(lbanned(putj, ma) .or. banned(putj, puti,bant)) cycle
|
if(lbanned(putj, ma) .or. banned(putj, puti,bant)) cycle
|
||||||
hij = (mo_two_e_integral(p1, p2, hfix, putj)-mo_two_e_integral(p2,p1,hfix,putj)) * get_phase_bi(phasemask, ma, ma, hfix, p1, putj, p2, N_int)
|
hij = (mo_two_e_integral(p1, p2, hfix, putj)-mo_two_e_integral(p2,p1,hfix,putj)) * get_phase_bi(phasemask, ma, ma, hfix, p1, putj, p2, N_int)
|
||||||
tmp_row(1:N_states,putj) += hij * coefs(1:N_states)
|
tmp_row(1:N_states,putj) = tmp_row(1:N_states,putj) + hij * coefs(1:N_states)
|
||||||
end do
|
end do
|
||||||
|
|
||||||
if(ma == 1) then
|
if(ma == 1) then
|
||||||
mat(1:N_states,1:mo_num,puti) += tmp_row(1:N_states,1:mo_num)
|
mat(1:N_states,1:mo_num,puti) = mat(1:N_states,1:mo_num,puti) + tmp_row(1:N_states,1:mo_num)
|
||||||
else
|
else
|
||||||
mat(1:N_states,puti,1:mo_num) += tmp_row(1:N_states,1:mo_num)
|
mat(1:N_states,puti,1:mo_num) = mat(1:N_states,puti,1:mo_num) + tmp_row(1:N_states,1:mo_num)
|
||||||
end if
|
end if
|
||||||
end if
|
end if
|
||||||
|
|
||||||
@ -1776,22 +1729,22 @@ subroutine get_d1_reference(gen, phasemask, bannedOrb, banned, mat, mask, h, p,
|
|||||||
putj = p1
|
putj = p1
|
||||||
if(.not. banned(putj,puti,bant)) then
|
if(.not. banned(putj,puti,bant)) then
|
||||||
hij = mo_two_e_integral(p2,pfix,hfix,puti) * get_phase_bi(phasemask, ma, mi, hfix, p2, puti, pfix, N_int)
|
hij = mo_two_e_integral(p2,pfix,hfix,puti) * get_phase_bi(phasemask, ma, mi, hfix, p2, puti, pfix, N_int)
|
||||||
tmp_row(:,puti) += hij * coefs(:)
|
tmp_row(:,puti) = tmp_row(:,puti) + hij * coefs(:)
|
||||||
end if
|
end if
|
||||||
|
|
||||||
putj = p2
|
putj = p2
|
||||||
if(.not. banned(putj,puti,bant)) then
|
if(.not. banned(putj,puti,bant)) then
|
||||||
hij = mo_two_e_integral(p1,pfix,hfix,puti) * get_phase_bi(phasemask, ma, mi, hfix, p1, puti, pfix, N_int)
|
hij = mo_two_e_integral(p1,pfix,hfix,puti) * get_phase_bi(phasemask, ma, mi, hfix, p1, puti, pfix, N_int)
|
||||||
tmp_row2(:,puti) += hij * coefs(:)
|
tmp_row2(:,puti) = tmp_row2(:,puti) + hij * coefs(:)
|
||||||
end if
|
end if
|
||||||
end do
|
end do
|
||||||
|
|
||||||
if(mi == 1) then
|
if(mi == 1) then
|
||||||
mat(:,:,p1) += tmp_row(:,:)
|
mat(:,:,p1) = mat(:,:,p1) + tmp_row(:,:)
|
||||||
mat(:,:,p2) += tmp_row2(:,:)
|
mat(:,:,p2) = mat(:,:,p2) + tmp_row2(:,:)
|
||||||
else
|
else
|
||||||
mat(:,p1,:) += tmp_row(:,:)
|
mat(:,p1,:) = mat(:,p1,:) + tmp_row(:,:)
|
||||||
mat(:,p2,:) += tmp_row2(:,:)
|
mat(:,p2,:) = mat(:,p2,:) + tmp_row2(:,:)
|
||||||
end if
|
end if
|
||||||
else
|
else
|
||||||
if(p(0,ma) == 3) then
|
if(p(0,ma) == 3) then
|
||||||
@ -1804,16 +1757,16 @@ subroutine get_d1_reference(gen, phasemask, bannedOrb, banned, mat, mask, h, p,
|
|||||||
do putj=1,hfix-1
|
do putj=1,hfix-1
|
||||||
if(lbanned(putj,ma) .or. banned(puti,putj,1)) cycle
|
if(lbanned(putj,ma) .or. banned(puti,putj,1)) cycle
|
||||||
hij = (mo_two_e_integral(p1, p2, putj, hfix)-mo_two_e_integral(p2,p1,putj,hfix)) * get_phase_bi(phasemask, ma, ma, putj, p1, hfix, p2, N_int)
|
hij = (mo_two_e_integral(p1, p2, putj, hfix)-mo_two_e_integral(p2,p1,putj,hfix)) * get_phase_bi(phasemask, ma, ma, putj, p1, hfix, p2, N_int)
|
||||||
tmp_row(:,putj) += hij * coefs(:)
|
tmp_row(:,putj) = tmp_row(:,putj) + hij * coefs(:)
|
||||||
end do
|
end do
|
||||||
do putj=hfix+1,mo_num
|
do putj=hfix+1,mo_num
|
||||||
if(lbanned(putj,ma) .or. banned(puti,putj,1)) cycle
|
if(lbanned(putj,ma) .or. banned(puti,putj,1)) cycle
|
||||||
hij = (mo_two_e_integral(p1, p2, hfix, putj)-mo_two_e_integral(p2,p1,hfix,putj)) * get_phase_bi(phasemask, ma, ma, hfix, p1, putj, p2, N_int)
|
hij = (mo_two_e_integral(p1, p2, hfix, putj)-mo_two_e_integral(p2,p1,hfix,putj)) * get_phase_bi(phasemask, ma, ma, hfix, p1, putj, p2, N_int)
|
||||||
tmp_row(:,putj) += hij * coefs(:)
|
tmp_row(:,putj) = tmp_row(:,putj) + hij * coefs(:)
|
||||||
end do
|
end do
|
||||||
|
|
||||||
mat(:, :puti-1, puti) += tmp_row(:,:puti-1)
|
mat(:, :puti-1, puti) = mat(:, :puti-1, puti) + tmp_row(:,:puti-1)
|
||||||
mat(:, puti, puti:) += tmp_row(:,puti:)
|
mat(:, puti, puti:) = mat(:, puti, puti:) + tmp_row(:,puti:)
|
||||||
end do
|
end do
|
||||||
else
|
else
|
||||||
hfix = h(1,mi)
|
hfix = h(1,mi)
|
||||||
@ -1827,19 +1780,19 @@ subroutine get_d1_reference(gen, phasemask, bannedOrb, banned, mat, mask, h, p,
|
|||||||
putj = p2
|
putj = p2
|
||||||
if(.not. banned(puti,putj,1)) then
|
if(.not. banned(puti,putj,1)) then
|
||||||
hij = mo_two_e_integral(pfix, p1, hfix, puti) * get_phase_bi(phasemask, mi, ma, hfix, pfix, puti, p1, N_int)
|
hij = mo_two_e_integral(pfix, p1, hfix, puti) * get_phase_bi(phasemask, mi, ma, hfix, pfix, puti, p1, N_int)
|
||||||
tmp_row(:,puti) += hij * coefs(:)
|
tmp_row(:,puti) = tmp_row(:,puti) + hij * coefs(:)
|
||||||
end if
|
end if
|
||||||
|
|
||||||
putj = p1
|
putj = p1
|
||||||
if(.not. banned(puti,putj,1)) then
|
if(.not. banned(puti,putj,1)) then
|
||||||
hij = mo_two_e_integral(pfix, p2, hfix, puti) * get_phase_bi(phasemask, mi, ma, hfix, pfix, puti, p2, N_int)
|
hij = mo_two_e_integral(pfix, p2, hfix, puti) * get_phase_bi(phasemask, mi, ma, hfix, pfix, puti, p2, N_int)
|
||||||
tmp_row2(:,puti) += hij * coefs(:)
|
tmp_row2(:,puti) = tmp_row2(:,puti) + hij * coefs(:)
|
||||||
end if
|
end if
|
||||||
end do
|
end do
|
||||||
mat(:,:p2-1,p2) += tmp_row(:,:p2-1)
|
mat(:,:p2-1,p2) = mat(:,:p2-1,p2) + tmp_row(:,:p2-1)
|
||||||
mat(:,p2,p2:) += tmp_row(:,p2:)
|
mat(:,p2,p2:) = mat(:,p2,p2:) + tmp_row(:,p2:)
|
||||||
mat(:,:p1-1,p1) += tmp_row2(:,:p1-1)
|
mat(:,:p1-1,p1) = mat(:,:p1-1,p1) + tmp_row2(:,:p1-1)
|
||||||
mat(:,p1,p1:) += tmp_row2(:,p1:)
|
mat(:,p1,p1:) = mat(:,p1,p1:) + tmp_row2(:,p1:)
|
||||||
end if
|
end if
|
||||||
end if
|
end if
|
||||||
deallocate(lbanned)
|
deallocate(lbanned)
|
||||||
@ -1862,7 +1815,7 @@ subroutine get_d1_reference(gen, phasemask, bannedOrb, banned, mat, mask, h, p,
|
|||||||
if(bannedOrb(p1, s1) .or. bannedOrb(p2, s2) .or. banned(p1, p2, 1)) cycle
|
if(bannedOrb(p1, s1) .or. bannedOrb(p2, s2) .or. banned(p1, p2, 1)) cycle
|
||||||
call apply_particles(mask, s1, p1, s2, p2, det, ok, N_int)
|
call apply_particles(mask, s1, p1, s2, p2, det, ok, N_int)
|
||||||
call i_h_j(gen, det, N_int, hij)
|
call i_h_j(gen, det, N_int, hij)
|
||||||
mat(:, p1, p2) += coefs(:) * hij
|
mat(:, p1, p2) = mat(:, p1, p2) + coefs(:) * hij
|
||||||
end do
|
end do
|
||||||
end do
|
end do
|
||||||
end
|
end
|
||||||
@ -1915,9 +1868,9 @@ subroutine get_d2_reference(gen, phasemask, bannedOrb, banned, mat, mask, h, p,
|
|||||||
|
|
||||||
hij = (mo_two_e_integral(p1, p2, h1, h2) - mo_two_e_integral(p2,p1, h1, h2)) * get_phase_bi(phasemask, ma, ma, h1, p1, h2, p2, N_int)
|
hij = (mo_two_e_integral(p1, p2, h1, h2) - mo_two_e_integral(p2,p1, h1, h2)) * get_phase_bi(phasemask, ma, ma, h1, p1, h2, p2, N_int)
|
||||||
if(ma == 1) then
|
if(ma == 1) then
|
||||||
mat(:, putj, puti) += coefs(:) * hij
|
mat(:, putj, puti) = mat(:, putj, puti) + coefs(:) * hij
|
||||||
else
|
else
|
||||||
mat(:, puti, putj) += coefs(:) * hij
|
mat(:, puti, putj) = mat(:, puti, putj) + coefs(:) * hij
|
||||||
end if
|
end if
|
||||||
end do
|
end do
|
||||||
else
|
else
|
||||||
@ -1933,7 +1886,7 @@ subroutine get_d2_reference(gen, phasemask, bannedOrb, banned, mat, mask, h, p,
|
|||||||
p1 = p(turn2(i), 1)
|
p1 = p(turn2(i), 1)
|
||||||
|
|
||||||
hij = mo_two_e_integral(p1, p2, h1, h2) * get_phase_bi(phasemask, 1, 2, h1, p1, h2, p2,N_int)
|
hij = mo_two_e_integral(p1, p2, h1, h2) * get_phase_bi(phasemask, 1, 2, h1, p1, h2, p2,N_int)
|
||||||
mat(:, puti, putj) += coefs(:) * hij
|
mat(:, puti, putj) = mat(:, puti, putj) + coefs(:) * hij
|
||||||
end do
|
end do
|
||||||
end do
|
end do
|
||||||
end if
|
end if
|
||||||
@ -1953,7 +1906,7 @@ subroutine get_d2_reference(gen, phasemask, bannedOrb, banned, mat, mask, h, p,
|
|||||||
p1 = p(i1, ma)
|
p1 = p(i1, ma)
|
||||||
p2 = p(i2, ma)
|
p2 = p(i2, ma)
|
||||||
hij = (mo_two_e_integral(p1, p2, h1, h2) - mo_two_e_integral(p2,p1, h1, h2)) * get_phase_bi(phasemask, ma, ma, h1, p1, h2, p2,N_int)
|
hij = (mo_two_e_integral(p1, p2, h1, h2) - mo_two_e_integral(p2,p1, h1, h2)) * get_phase_bi(phasemask, ma, ma, h1, p1, h2, p2,N_int)
|
||||||
mat(:, puti, putj) += coefs(:) * hij
|
mat(:, puti, putj) = mat(:, puti, putj) + coefs(:) * hij
|
||||||
end do
|
end do
|
||||||
end do
|
end do
|
||||||
else if(tip == 3) then
|
else if(tip == 3) then
|
||||||
@ -1967,7 +1920,7 @@ subroutine get_d2_reference(gen, phasemask, bannedOrb, banned, mat, mask, h, p,
|
|||||||
p2 = p(i, ma)
|
p2 = p(i, ma)
|
||||||
|
|
||||||
hij = mo_two_e_integral(p1, p2, h1, h2) * get_phase_bi(phasemask, mi, ma, h1, p1, h2, p2,N_int)
|
hij = mo_two_e_integral(p1, p2, h1, h2) * get_phase_bi(phasemask, mi, ma, h1, p1, h2, p2,N_int)
|
||||||
mat(:, min(puti, putj), max(puti, putj)) += coefs(:) * hij
|
mat(:, min(puti, putj), max(puti, putj)) = mat(:, min(puti, putj), max(puti, putj)) + coefs(:) * hij
|
||||||
end do
|
end do
|
||||||
else ! tip == 4
|
else ! tip == 4
|
||||||
puti = p(1, sp)
|
puti = p(1, sp)
|
||||||
@ -1978,7 +1931,7 @@ subroutine get_d2_reference(gen, phasemask, bannedOrb, banned, mat, mask, h, p,
|
|||||||
h1 = h(1, mi)
|
h1 = h(1, mi)
|
||||||
h2 = h(2, mi)
|
h2 = h(2, mi)
|
||||||
hij = (mo_two_e_integral(p1, p2, h1, h2) - mo_two_e_integral(p2,p1, h1, h2)) * get_phase_bi(phasemask, mi, mi, h1, p1, h2, p2,N_int)
|
hij = (mo_two_e_integral(p1, p2, h1, h2) - mo_two_e_integral(p2,p1, h1, h2)) * get_phase_bi(phasemask, mi, mi, h1, p1, h2, p2,N_int)
|
||||||
mat(:, puti, putj) += coefs(:) * hij
|
mat(:, puti, putj) = mat(:, puti, putj) + coefs(:) * hij
|
||||||
end if
|
end if
|
||||||
end if
|
end if
|
||||||
end if
|
end if
|
||||||
|
@ -175,7 +175,7 @@ subroutine make_selection_buffer_s2(b)
|
|||||||
! Sort
|
! Sort
|
||||||
integer, allocatable :: iorder(:)
|
integer, allocatable :: iorder(:)
|
||||||
integer*8, allocatable :: bit_tmp(:)
|
integer*8, allocatable :: bit_tmp(:)
|
||||||
integer*8, external :: occ_pattern_search_key
|
integer*8, external :: configuration_search_key
|
||||||
integer(bit_kind), allocatable :: tmp_array(:,:,:)
|
integer(bit_kind), allocatable :: tmp_array(:,:,:)
|
||||||
logical, allocatable :: duplicate(:)
|
logical, allocatable :: duplicate(:)
|
||||||
|
|
||||||
@ -193,7 +193,7 @@ subroutine make_selection_buffer_s2(b)
|
|||||||
o(k,2,i) = iand(b%det(k,1,i), b%det(k,2,i))
|
o(k,2,i) = iand(b%det(k,1,i), b%det(k,2,i))
|
||||||
enddo
|
enddo
|
||||||
iorder(i) = i
|
iorder(i) = i
|
||||||
bit_tmp(i) = occ_pattern_search_key(o(1,1,i),N_int)
|
bit_tmp(i) = configuration_search_key(o(1,1,i),N_int)
|
||||||
enddo
|
enddo
|
||||||
|
|
||||||
deallocate(b%det)
|
deallocate(b%det)
|
||||||
@ -279,7 +279,7 @@ subroutine make_selection_buffer_s2(b)
|
|||||||
! Create determinants
|
! Create determinants
|
||||||
n_d = 0
|
n_d = 0
|
||||||
do i=1,n_p
|
do i=1,n_p
|
||||||
call occ_pattern_to_dets_size(o(1,1,i),sze,elec_alpha_num,N_int)
|
call configuration_to_dets_size(o(1,1,i),sze,elec_alpha_num,N_int)
|
||||||
n_d = n_d + sze
|
n_d = n_d + sze
|
||||||
if (n_d > b%cur) then
|
if (n_d > b%cur) then
|
||||||
! if (n_d - b%cur > b%cur - n_d + sze) then
|
! if (n_d - b%cur > b%cur - n_d + sze) then
|
||||||
@ -295,8 +295,8 @@ subroutine make_selection_buffer_s2(b)
|
|||||||
k=1
|
k=1
|
||||||
do i=1,n_p
|
do i=1,n_p
|
||||||
n=n_d
|
n=n_d
|
||||||
call occ_pattern_to_dets_size(o(1,1,i),n,elec_alpha_num,N_int)
|
call configuration_to_dets_size(o(1,1,i),n,elec_alpha_num,N_int)
|
||||||
call occ_pattern_to_dets(o(1,1,i),b%det(1,1,k),n,elec_alpha_num,N_int)
|
call configuration_to_dets(o(1,1,i),b%det(1,1,k),n,elec_alpha_num,N_int)
|
||||||
do j=k,k+n-1
|
do j=k,k+n-1
|
||||||
b%val(j) = val(i)
|
b%val(j) = val(i)
|
||||||
enddo
|
enddo
|
||||||
|
134
src/cipsi/selection_weight.irp.f
Normal file
134
src/cipsi/selection_weight.irp.f
Normal file
@ -0,0 +1,134 @@
|
|||||||
|
BEGIN_PROVIDER [ double precision, pt2_match_weight, (N_states) ]
|
||||||
|
implicit none
|
||||||
|
BEGIN_DOC
|
||||||
|
! Weights adjusted along the selection to make the PT2 contributions
|
||||||
|
! of each state coincide.
|
||||||
|
END_DOC
|
||||||
|
pt2_match_weight(:) = 1.d0
|
||||||
|
END_PROVIDER
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
BEGIN_PROVIDER [ double precision, variance_match_weight, (N_states) ]
|
||||||
|
implicit none
|
||||||
|
BEGIN_DOC
|
||||||
|
! Weights adjusted along the selection to make the variances
|
||||||
|
! of each state coincide.
|
||||||
|
END_DOC
|
||||||
|
variance_match_weight(:) = 1.d0
|
||||||
|
END_PROVIDER
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
subroutine update_pt2_and_variance_weights(pt2_data, N_st)
|
||||||
|
implicit none
|
||||||
|
use selection_types
|
||||||
|
BEGIN_DOC
|
||||||
|
! Updates the PT2- and Variance- matching weights.
|
||||||
|
END_DOC
|
||||||
|
integer, intent(in) :: N_st
|
||||||
|
type(pt2_type), intent(in) :: pt2_data
|
||||||
|
double precision :: pt2(N_st)
|
||||||
|
double precision :: variance(N_st)
|
||||||
|
|
||||||
|
double precision :: avg, element, dt, x
|
||||||
|
integer :: k
|
||||||
|
pt2(:) = pt2_data % pt2(:)
|
||||||
|
variance(:) = pt2_data % variance(:)
|
||||||
|
|
||||||
|
avg = sum(pt2(1:N_st)) / dble(N_st) + 1.d-32 ! Avoid future division by zero
|
||||||
|
|
||||||
|
dt = 8.d0 !* selection_factor
|
||||||
|
do k=1,N_st
|
||||||
|
element = exp(dt*(pt2(k)/avg - 1.d0))
|
||||||
|
element = min(2.0d0 , element)
|
||||||
|
element = max(0.5d0 , element)
|
||||||
|
pt2_match_weight(k) *= element
|
||||||
|
enddo
|
||||||
|
|
||||||
|
|
||||||
|
avg = sum(variance(1:N_st)) / dble(N_st) + 1.d-32 ! Avoid future division by zero
|
||||||
|
|
||||||
|
do k=1,N_st
|
||||||
|
element = exp(dt*(variance(k)/avg -1.d0))
|
||||||
|
element = min(2.0d0 , element)
|
||||||
|
element = max(0.5d0 , element)
|
||||||
|
variance_match_weight(k) *= element
|
||||||
|
enddo
|
||||||
|
|
||||||
|
if (N_det < 100) then
|
||||||
|
! For tiny wave functions, weights are 1.d0
|
||||||
|
pt2_match_weight(:) = 1.d0
|
||||||
|
variance_match_weight(:) = 1.d0
|
||||||
|
endif
|
||||||
|
|
||||||
|
threshold_davidson_pt2 = min(1.d-6, &
|
||||||
|
max(threshold_davidson, 1.e-1 * PT2_relative_error * minval(abs(pt2(1:N_states)))) )
|
||||||
|
|
||||||
|
SOFT_TOUCH pt2_match_weight variance_match_weight threshold_davidson_pt2
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
BEGIN_PROVIDER [ double precision, selection_weight, (N_states) ]
|
||||||
|
implicit none
|
||||||
|
BEGIN_DOC
|
||||||
|
! Weights used in the selection criterion
|
||||||
|
END_DOC
|
||||||
|
select case (weight_selection)
|
||||||
|
|
||||||
|
case (0)
|
||||||
|
print *, 'Using input weights in selection'
|
||||||
|
selection_weight(1:N_states) = c0_weight(1:N_states) * state_average_weight(1:N_states)
|
||||||
|
|
||||||
|
case (1)
|
||||||
|
print *, 'Using 1/c_max^2 weight in selection'
|
||||||
|
selection_weight(1:N_states) = c0_weight(1:N_states)
|
||||||
|
|
||||||
|
case (2)
|
||||||
|
print *, 'Using pt2-matching weight in selection'
|
||||||
|
selection_weight(1:N_states) = c0_weight(1:N_states) * pt2_match_weight(1:N_states)
|
||||||
|
print *, '# PT2 weight ', real(pt2_match_weight(:),4)
|
||||||
|
|
||||||
|
case (3)
|
||||||
|
print *, 'Using variance-matching weight in selection'
|
||||||
|
selection_weight(1:N_states) = c0_weight(1:N_states) * variance_match_weight(1:N_states)
|
||||||
|
print *, '# var weight ', real(variance_match_weight(:),4)
|
||||||
|
|
||||||
|
case (4)
|
||||||
|
print *, 'Using variance- and pt2-matching weights in selection'
|
||||||
|
selection_weight(1:N_states) = c0_weight(1:N_states) * sqrt(variance_match_weight(1:N_states) * pt2_match_weight(1:N_states))
|
||||||
|
print *, '# PT2 weight ', real(pt2_match_weight(:),4)
|
||||||
|
print *, '# var weight ', real(variance_match_weight(:),4)
|
||||||
|
|
||||||
|
case (5)
|
||||||
|
print *, 'Using variance-matching weight in selection'
|
||||||
|
selection_weight(1:N_states) = c0_weight(1:N_states) * variance_match_weight(1:N_states)
|
||||||
|
print *, '# var weight ', real(variance_match_weight(:),4)
|
||||||
|
|
||||||
|
case (6)
|
||||||
|
print *, 'Using CI coefficient-based selection'
|
||||||
|
selection_weight(1:N_states) = c0_weight(1:N_states)
|
||||||
|
|
||||||
|
case (7)
|
||||||
|
print *, 'Input weights multiplied by variance- and pt2-matching'
|
||||||
|
selection_weight(1:N_states) = c0_weight(1:N_states) * sqrt(variance_match_weight(1:N_states) * pt2_match_weight(1:N_states)) * state_average_weight(1:N_states)
|
||||||
|
print *, '# PT2 weight ', real(pt2_match_weight(:),4)
|
||||||
|
print *, '# var weight ', real(variance_match_weight(:),4)
|
||||||
|
|
||||||
|
case (8)
|
||||||
|
print *, 'Input weights multiplied by pt2-matching'
|
||||||
|
selection_weight(1:N_states) = c0_weight(1:N_states) * pt2_match_weight(1:N_states) * state_average_weight(1:N_states)
|
||||||
|
print *, '# PT2 weight ', real(pt2_match_weight(:),4)
|
||||||
|
|
||||||
|
case (9)
|
||||||
|
print *, 'Input weights multiplied by variance-matching'
|
||||||
|
selection_weight(1:N_states) = c0_weight(1:N_states) * variance_match_weight(1:N_states) * state_average_weight(1:N_states)
|
||||||
|
print *, '# var weight ', real(variance_match_weight(:),4)
|
||||||
|
|
||||||
|
end select
|
||||||
|
print *, '# Total weight ', real(selection_weight(:),4)
|
||||||
|
|
||||||
|
END_PROVIDER
|
||||||
|
|
@ -4,7 +4,7 @@ subroutine run_slave_cipsi
|
|||||||
! Helper program for distributed parallelism
|
! Helper program for distributed parallelism
|
||||||
END_DOC
|
END_DOC
|
||||||
|
|
||||||
call omp_set_nested(.false.)
|
call omp_set_max_active_levels(1)
|
||||||
distributed_davidson = .False.
|
distributed_davidson = .False.
|
||||||
read_wf = .False.
|
read_wf = .False.
|
||||||
SOFT_TOUCH read_wf distributed_davidson
|
SOFT_TOUCH read_wf distributed_davidson
|
||||||
@ -100,7 +100,7 @@ subroutine run_slave_main
|
|||||||
IRP_IF MPI_DEBUG
|
IRP_IF MPI_DEBUG
|
||||||
call mpi_print('zmq_get_dvector threshold_generators')
|
call mpi_print('zmq_get_dvector threshold_generators')
|
||||||
IRP_ENDIF
|
IRP_ENDIF
|
||||||
if (zmq_get_dvector(zmq_to_qp_run_socket,1,'threshold_generators',threshold_generators,1) == -1) cycle
|
if (zmq_get_dvector(zmq_to_qp_run_socket,1,'threshold_generators',(/threshold_generators/),1) == -1) cycle
|
||||||
IRP_IF MPI_DEBUG
|
IRP_IF MPI_DEBUG
|
||||||
call mpi_print('zmq_get_dvector energy')
|
call mpi_print('zmq_get_dvector energy')
|
||||||
IRP_ENDIF
|
IRP_ENDIF
|
||||||
@ -122,7 +122,7 @@ subroutine run_slave_main
|
|||||||
IRP_ENDIF
|
IRP_ENDIF
|
||||||
if (zmq_get_dvector(zmq_to_qp_run_socket,1,'selection_weight',selection_weight,N_states) == -1) cycle
|
if (zmq_get_dvector(zmq_to_qp_run_socket,1,'selection_weight',selection_weight,N_states) == -1) cycle
|
||||||
pt2_e0_denominator(1:N_states) = energy(1:N_states)
|
pt2_e0_denominator(1:N_states) = energy(1:N_states)
|
||||||
TOUCH pt2_e0_denominator state_average_weight threshold_generators selection_weight
|
TOUCH pt2_e0_denominator state_average_weight threshold_generators selection_weight psi_det psi_coef
|
||||||
|
|
||||||
if (mpi_master) then
|
if (mpi_master) then
|
||||||
print *, 'N_det', N_det
|
print *, 'N_det', N_det
|
||||||
@ -171,9 +171,9 @@ subroutine run_slave_main
|
|||||||
call write_double(6,(t1-t0),'Broadcast time')
|
call write_double(6,(t1-t0),'Broadcast time')
|
||||||
|
|
||||||
!---
|
!---
|
||||||
call omp_set_nested(.True.)
|
call omp_set_max_active_levels(8)
|
||||||
call davidson_slave_tcp(0)
|
call davidson_slave_tcp(0)
|
||||||
call omp_set_nested(.False.)
|
call omp_set_max_active_levels(1)
|
||||||
print *, mpi_rank, ': Davidson done'
|
print *, mpi_rank, ': Davidson done'
|
||||||
!---
|
!---
|
||||||
|
|
||||||
@ -212,7 +212,7 @@ subroutine run_slave_main
|
|||||||
IRP_IF MPI_DEBUG
|
IRP_IF MPI_DEBUG
|
||||||
call mpi_print('zmq_get_dvector threshold_generators')
|
call mpi_print('zmq_get_dvector threshold_generators')
|
||||||
IRP_ENDIF
|
IRP_ENDIF
|
||||||
if (zmq_get_dvector(zmq_to_qp_run_socket,1,'threshold_generators',threshold_generators,1) == -1) cycle
|
if (zmq_get_dvector(zmq_to_qp_run_socket,1,'threshold_generators',(/threshold_generators/),1) == -1) cycle
|
||||||
IRP_IF MPI_DEBUG
|
IRP_IF MPI_DEBUG
|
||||||
call mpi_print('zmq_get_dvector energy')
|
call mpi_print('zmq_get_dvector energy')
|
||||||
IRP_ENDIF
|
IRP_ENDIF
|
||||||
@ -230,7 +230,8 @@ subroutine run_slave_main
|
|||||||
IRP_ENDIF
|
IRP_ENDIF
|
||||||
if (zmq_get_dvector(zmq_to_qp_run_socket,1,'selection_weight',selection_weight,N_states) == -1) cycle
|
if (zmq_get_dvector(zmq_to_qp_run_socket,1,'selection_weight',selection_weight,N_states) == -1) cycle
|
||||||
pt2_e0_denominator(1:N_states) = energy(1:N_states)
|
pt2_e0_denominator(1:N_states) = energy(1:N_states)
|
||||||
SOFT_TOUCH pt2_e0_denominator state_average_weight pt2_stoch_istate threshold_generators selection_weight
|
SOFT_TOUCH pt2_e0_denominator state_average_weight pt2_stoch_istate threshold_generators selection_weight psi_det psi_coef N_det_generators N_det_selectors
|
||||||
|
|
||||||
|
|
||||||
call wall_time(t1)
|
call wall_time(t1)
|
||||||
call write_double(6,(t1-t0),'Broadcast time')
|
call write_double(6,(t1-t0),'Broadcast time')
|
||||||
@ -296,11 +297,17 @@ subroutine run_slave_main
|
|||||||
print *, 'Number of threads', nproc_target
|
print *, 'Number of threads', nproc_target
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if (h0_type == 'SOP') then
|
if (h0_type == 'CFG') then
|
||||||
PROVIDE det_to_occ_pattern
|
PROVIDE det_to_configuration
|
||||||
endif
|
endif
|
||||||
|
|
||||||
PROVIDE global_selection_buffer
|
PROVIDE global_selection_buffer pt2_N_teeth pt2_F N_det_generators
|
||||||
|
PROVIDE psi_bilinear_matrix_columns_loc psi_det_alpha_unique psi_det_beta_unique
|
||||||
|
PROVIDE psi_bilinear_matrix_rows psi_det_sorted_order psi_bilinear_matrix_order
|
||||||
|
PROVIDE psi_bilinear_matrix_transp_rows_loc psi_bilinear_matrix_transp_columns
|
||||||
|
PROVIDE psi_bilinear_matrix_transp_order psi_selectors_coef_transp psi_det_sorted
|
||||||
|
PROVIDE psi_det_hii selection_weight pseudo_sym pt2_min_parallel_tasks
|
||||||
|
|
||||||
if (mpi_master) then
|
if (mpi_master) then
|
||||||
print *, 'Running PT2'
|
print *, 'Running PT2'
|
||||||
endif
|
endif
|
||||||
|
@ -92,7 +92,7 @@ subroutine run_stochastic_cipsi
|
|||||||
|
|
||||||
call write_double(6,correlation_energy_ratio, 'Correlation ratio')
|
call write_double(6,correlation_energy_ratio, 'Correlation ratio')
|
||||||
call print_summary(psi_energy_with_nucl_rep, &
|
call print_summary(psi_energy_with_nucl_rep, &
|
||||||
pt2_data, pt2_data_err, N_det,N_occ_pattern,N_states,psi_s2)
|
pt2_data, pt2_data_err, N_det,N_configuration,N_states,psi_s2)
|
||||||
|
|
||||||
call save_energy(psi_energy_with_nucl_rep, pt2_data % pt2)
|
call save_energy(psi_energy_with_nucl_rep, pt2_data % pt2)
|
||||||
|
|
||||||
@ -104,7 +104,9 @@ subroutine run_stochastic_cipsi
|
|||||||
|
|
||||||
! Add selected determinants
|
! Add selected determinants
|
||||||
call copy_H_apply_buffer_to_wf()
|
call copy_H_apply_buffer_to_wf()
|
||||||
! call save_wavefunction
|
if (save_wf_after_selection) then
|
||||||
|
call save_wavefunction
|
||||||
|
endif
|
||||||
|
|
||||||
PROVIDE psi_coef
|
PROVIDE psi_coef
|
||||||
PROVIDE psi_det
|
PROVIDE psi_det
|
||||||
@ -131,7 +133,7 @@ subroutine run_stochastic_cipsi
|
|||||||
|
|
||||||
call save_energy(psi_energy_with_nucl_rep, pt2_data % pt2)
|
call save_energy(psi_energy_with_nucl_rep, pt2_data % pt2)
|
||||||
call print_summary(psi_energy_with_nucl_rep, &
|
call print_summary(psi_energy_with_nucl_rep, &
|
||||||
pt2_data , pt2_data_err, N_det, N_occ_pattern, N_states, psi_s2)
|
pt2_data , pt2_data_err, N_det, N_configuration, N_states, psi_s2)
|
||||||
call save_iterations(psi_energy_with_nucl_rep(1:N_states),pt2_data % rpt2,N_det)
|
call save_iterations(psi_energy_with_nucl_rep(1:N_states),pt2_data % rpt2,N_det)
|
||||||
call print_extrapolated_energy()
|
call print_extrapolated_energy()
|
||||||
endif
|
endif
|
||||||
|
@ -48,7 +48,7 @@ subroutine ZMQ_selection(N_in, pt2_data)
|
|||||||
if (zmq_put_dvector(zmq_to_qp_run_socket,1,'selection_weight',selection_weight,N_states) == -1) then
|
if (zmq_put_dvector(zmq_to_qp_run_socket,1,'selection_weight',selection_weight,N_states) == -1) then
|
||||||
stop 'Unable to put selection_weight on ZMQ server'
|
stop 'Unable to put selection_weight on ZMQ server'
|
||||||
endif
|
endif
|
||||||
if (zmq_put_dvector(zmq_to_qp_run_socket,1,'threshold_generators',threshold_generators,1) == -1) then
|
if (zmq_put_dvector(zmq_to_qp_run_socket,1,'threshold_generators',(/threshold_generators/),1) == -1) then
|
||||||
stop 'Unable to put threshold_generators on ZMQ server'
|
stop 'Unable to put threshold_generators on ZMQ server'
|
||||||
endif
|
endif
|
||||||
call create_selection_buffer(N, N*2, b)
|
call create_selection_buffer(N, N*2, b)
|
||||||
|
@ -129,7 +129,8 @@ function run() {
|
|||||||
|
|
||||||
@test "[Cu(NH3)4]2+" { # 29.7711s 3.45478m
|
@test "[Cu(NH3)4]2+" { # 29.7711s 3.45478m
|
||||||
[[ -n ${TRAVIS} ]] && skip
|
[[ -n ${TRAVIS} ]] && skip
|
||||||
run cu_nh3_4_2plus.ezfio -1862.97958709248 -1862.92454796197 -1862.91130872182
|
run cu_nh3_4_2plus.ezfio -1862.97958885180 -1862.92457657404 -1862.91134959451
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@test "SO2" { # 32.092s 1.47785m
|
@test "SO2" { # 32.092s 1.47785m
|
||||||
|
@ -79,6 +79,6 @@ subroutine run
|
|||||||
call ezfio_set_cis_energy(CI_energy)
|
call ezfio_set_cis_energy(CI_energy)
|
||||||
psi_coef = ci_eigenvectors
|
psi_coef = ci_eigenvectors
|
||||||
SOFT_TOUCH psi_coef
|
SOFT_TOUCH psi_coef
|
||||||
call save_wavefunction
|
call save_wavefunction_truncated(1.d-12)
|
||||||
|
|
||||||
end
|
end
|
||||||
|
@ -110,7 +110,8 @@ function run() {
|
|||||||
[[ -n $TRAVIS ]] && skip
|
[[ -n $TRAVIS ]] && skip
|
||||||
qp set_file cu_nh3_4_2plus.ezfio
|
qp set_file cu_nh3_4_2plus.ezfio
|
||||||
qp set_mo_class --core="[1-24]" --act="[25-45]" --del="[46-87]"
|
qp set_mo_class --core="[1-24]" --act="[25-45]" --del="[46-87]"
|
||||||
run -1862.98611018932 -1862.68751252590
|
run -1862.98689579931 -1862.6883044626563
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@test "ClF" { # 30.3225s
|
@test "ClF" { # 30.3225s
|
||||||
|
1
src/csf/NEED
Normal file
1
src/csf/NEED
Normal file
@ -0,0 +1 @@
|
|||||||
|
determinants
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user