mirror of
https://github.com/QuantumPackage/qp2.git
synced 2024-08-29 20:23:40 +02:00
Merge pull request #48 from QuantumPackage/master
Merge release version
This commit is contained in:
commit
5d6a3201fe
96
CITATION.cff
96
CITATION.cff
@ -1,32 +1,100 @@
|
||||
# YAML 1.2
|
||||
# Metadata for citation of this software according to the CFF format (https://citation-file-format.github.io/)
|
||||
cff-version: 1.0.3
|
||||
message: If you use this software, please cite it using these metadata.
|
||||
message: "If you use this software, please cite it using these metadata."
|
||||
title: Quantum Package
|
||||
doi: 10.5281/zenodo.825872
|
||||
doi: 10.1021/acs.jctc.9b00176
|
||||
authors:
|
||||
- given-names: Anthony
|
||||
family-names: Scemama
|
||||
affiliation: Laboratoire de Chimie et Physique Quantiques / CNRS
|
||||
- given-names: Yann
|
||||
family-names: Garniron
|
||||
affiliation: Laboratoire de Chimie et Physique Quantiques / CNRS
|
||||
- given-names: Michel
|
||||
family-names: Caffarel
|
||||
affiliation: Laboratoire de Chimie et Physique Quantiques / CNRS
|
||||
affiliation: Laboratoire de Chimie et Physique Quantiques (UMR 5626), Université de Toulouse, CNRS, UPS, Toulouse, France
|
||||
- given-names: Thomas
|
||||
family-names: Applencourt
|
||||
affiliation: Argonne National Lab
|
||||
affiliation: Computational Science Division, Argonne National Laboratory, Argonne, Illinois 60439, United States
|
||||
- given-names: Kevin
|
||||
family-names: Gasperich
|
||||
affiliation: Argonne National Lab
|
||||
affiliation: Department of Chemistry, University of Pittsburgh, Pittsburgh, Pennsylvania 15260, United States
|
||||
- given-names: Anouar
|
||||
family-names: Benali
|
||||
affiliation: Argonne National Lab
|
||||
affiliation: Computational Science Division, Argonne National Laboratory, Argonne, Illinois 60439, United States
|
||||
- given-names: Anthony
|
||||
family-names: Ferté
|
||||
affiliation: Laboratoire de Chimie Théorique, Sorbonne Université, CNRS, Paris, France
|
||||
- given-names: Julien
|
||||
family-names: Paquier
|
||||
affiliation: Laboratoire de Chimie Théorique, Sorbonne Université, CNRS, Paris, France
|
||||
- given-names: Barthélémy
|
||||
family-names: Pradines
|
||||
affiliation: Institut des Sciences du Calcul et des Données, Sorbonne Université, F-75005 Paris, France
|
||||
- given-names: Roland
|
||||
family-names: Assaraf
|
||||
affiliation: Laboratoire de Chimie Théorique, Sorbonne Université, CNRS, Paris, France
|
||||
- given-names: Peter
|
||||
family-names: Reinhardt
|
||||
affiliation: Laboratoire de Chimie Théorique, Sorbonne Université, CNRS, Paris, France
|
||||
- given-names: Julien
|
||||
family-names: Toulouse
|
||||
affiliation: Laboratoire de Chimie Théorique, Sorbonne Université, CNRS, Paris, France
|
||||
- given-names: Pierrette
|
||||
family-names: Barbaresco
|
||||
affiliation: CALMIP, Université de Toulouse, CNRS, INPT, INSA, UPS, UMS 3667, Toulouse, France
|
||||
- given-names: Nicolas
|
||||
family-names: Renon
|
||||
affiliation: CALMIP, Université de Toulouse, CNRS, INPT, INSA, UPS, UMS 3667, Toulouse, France
|
||||
- given-names: Grégoire
|
||||
family-names: David
|
||||
affiliation: Aix-Marseille Univ, CNRS, ICR, Marseille, France
|
||||
- given-names: Jean-Paul
|
||||
family-names: Malrieu
|
||||
affiliation: Laboratoire de Chimie et Physique Quantiques (UMR 5626), Université de Toulouse, CNRS, UPS, Toulouse, France
|
||||
- given-names: Mickaël
|
||||
family-names: Véril
|
||||
affiliation: Laboratoire de Chimie et Physique Quantiques (UMR 5626), Université de Toulouse, CNRS, UPS, Toulouse, France
|
||||
- given-names: Michel
|
||||
family-names: Caffarel
|
||||
affiliation: Laboratoire de Chimie et Physique Quantiques (UMR 5626), Université de Toulouse, CNRS, UPS, Toulouse, France
|
||||
- given-names: Pierre-François
|
||||
family-names: Loos
|
||||
affiliation: Laboratoire de Chimie et Physique Quantiques (UMR 5626), Université de Toulouse, CNRS, UPS, Toulouse, France
|
||||
- given-names: Emmanuel
|
||||
family-names: Giner
|
||||
affiliation: Laboratoire de Chimie Theorique / CNRS
|
||||
affiliation: Laboratoire de Chimie Théorique, Sorbonne Université, CNRS, Paris, France
|
||||
- given-names: Anthony
|
||||
family-names: Scemama
|
||||
affiliation: Laboratoire de Chimie et Physique Quantiques (UMR 5626), Université de Toulouse, CNRS, UPS, Toulouse, France
|
||||
abstract: "Quantum chemistry is a discipline which relies heavily on very
|
||||
expensive numerical computations. The scaling of correlated wave function
|
||||
methods lies, in their standard implementation, between O(N^5) and O(exp(N)),
|
||||
where N is proportional to the system size. Therefore, performing accurate
|
||||
calculations on chemically meaningful systems requires (i) approximations that
|
||||
can lower the computational scaling and (ii) efficient implementations that
|
||||
take advantage of modern massively parallel architectures. Quantum Package is
|
||||
an open-source programming environment for quantum chemistry specially designed
|
||||
for wave function methods. Its main goal is the development of
|
||||
determinant-driven selected configuration interaction (sCI) methods and
|
||||
multireference second-order perturbation theory (PT2). The determinant-driven
|
||||
framework allows the programmer to include any arbitrary set of determinants in
|
||||
the reference space, hence providing greater methodological freedom. The sCI
|
||||
method implemented in Quantum Package is based on the CIPSI (Configuration
|
||||
Interaction using a Perturbative Selection made Iteratively) algorithm which
|
||||
complements the variational sCI energy with a PT2 correction. Additional
|
||||
external plugins have been recently added to perform calculations with
|
||||
multireference coupled cluster theory and range-separated density-functional
|
||||
theory. All the programs are developed with the IRPF90 code generator, which
|
||||
simplifies collaborative work and the development of new features. Quantum
|
||||
Package strives to allow easy implementation and experimentation of new
|
||||
methods, while making parallel computation as simple and efficient as possible
|
||||
on modern supercomputer architectures. Currently, the code enables, routinely,
|
||||
to realize runs on roughly 2 000 CPU cores, with tens of millions of
|
||||
determinants in the reference space. Moreover, we have been able to push up to
|
||||
12 288 cores in order to test its parallel efficiency. In the present
|
||||
manuscript, we also introduce some key new developments: (i) a renormalized
|
||||
second-order perturbative correction for efficient extrapolation to the full CI
|
||||
limit and (ii) a stochastic version of the CIPSI selection performed
|
||||
simultaneously to the PT2 calculation at no extra cost."
|
||||
version: '2.0'
|
||||
date-released: 2019-02-11
|
||||
url: https://quantumpackage.github.io/qp2/
|
||||
date-released: 2019-05-13
|
||||
repository-code: https://github.com/QuantumPackage/qp2
|
||||
keywords: [ "computational chemistry", "configuration interaction", "cipsi", "perturbation theory" ]
|
||||
license: AGPL-3.0-or-later
|
||||
|
53
INSTALL.rst
53
INSTALL.rst
@ -45,6 +45,8 @@ Requirements
|
||||
- |ZeroMQ| : networking library
|
||||
- `GMP <https://gmplib.org/>`_ : Gnu Multiple Precision Arithmetic Library
|
||||
- |OCaml| compiler with |OPAM| package manager
|
||||
- `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
|
||||
- |Ninja| : a parallel build system
|
||||
|
||||
|
||||
@ -86,6 +88,8 @@ The following packages are supported by the :command:`configure` installer:
|
||||
* zeromq
|
||||
* f77zmq
|
||||
* gmp
|
||||
* libcap
|
||||
* bwrap
|
||||
* ocaml ( :math:`\approx` 10 minutes)
|
||||
* ezfio
|
||||
* docopt
|
||||
@ -243,6 +247,55 @@ With Debian or Ubuntu, you can use
|
||||
sudo apt install libgmp-dev
|
||||
|
||||
|
||||
libcap
|
||||
------
|
||||
|
||||
Libcap is a library for getting and setting POSIX.1e draft 15 capabilities.
|
||||
|
||||
* Download the latest version of libcap here:
|
||||
`<https://git.kernel.org/pub/scm/linux/kernel/git/morgan/libcap.git/snapshot/libcap-2.25.tar.gz>`_
|
||||
and move it in the :file:`${QP_ROOT}/external` directory
|
||||
|
||||
* Extract the archive, go into the :file:`libcap-*/libcap` directory and run
|
||||
the following command
|
||||
|
||||
.. code:: bash
|
||||
|
||||
prefix=$QP_ROOT make install
|
||||
|
||||
With Debian or Ubuntu, you can use
|
||||
|
||||
.. code:: bash
|
||||
|
||||
sudo apt install libcap-dev
|
||||
|
||||
|
||||
Bubblewrap
|
||||
----------
|
||||
|
||||
Bubblewrap is an unprivileged sandboxing tool.
|
||||
|
||||
* Download Bubblewrap here:
|
||||
`<https://github.com/projectatomic/bubblewrap/releases/download/v0.3.3/bubblewrap-0.3.3.tar.xz>`_
|
||||
and move it in the :file:`${QP_ROOT}/external` directory
|
||||
|
||||
* Extract the archive, go into the :file:`bubblewrap-*` directory and run
|
||||
the following commands
|
||||
|
||||
.. code:: bash
|
||||
|
||||
./configure --prefix=$QP_ROOT && make -j 8
|
||||
make install-exec-am
|
||||
|
||||
|
||||
With Debian or Ubuntu, you can use
|
||||
|
||||
.. code:: bash
|
||||
|
||||
sudo apt install bubblewrap
|
||||
|
||||
|
||||
|
||||
OCaml
|
||||
-----
|
||||
|
||||
|
22
README.md
22
README.md
@ -1,12 +1,28 @@
|
||||
# Quantum Package 2.0
|
||||
|
||||
<img src="https://raw.githubusercontent.com/QuantumPackage/qp2/master/data/qp2.png" width="250">
|
||||
|
||||
*Quantum package 2.0: an open-source determinant-driven suite of programs*\
|
||||
|
||||
[*Quantum package 2.0: an open-source determinant-driven suite of programs*](https://pubs.acs.org/doi/10.1021/acs.jctc.9b00176)\
|
||||
Y. Garniron, K. Gasperich, T. Applencourt, A. Benali, A. Ferté, J. Paquier, B. Pradines, R. Assaraf, P. Reinhardt, J. Toulouse, P. Barbaresco, N. Renon, G. David, J. P. Malrieu, M. Véril, M. Caffarel, P. F. Loos, E. Giner and A. Scemama\
|
||||
J. Chem. Theory Comput., 15:6, 3591--3609, (2019)\
|
||||
https://arxiv.org/abs/1902.08154
|
||||
|
||||
|
||||
![QP](https://raw.githubusercontent.com/QuantumPackage/qp2/master/data/qp2.png)
|
||||
```
|
||||
@article{doi:10.1021/acs.jctc.9b00176,
|
||||
author = {Garniron, Yann and Applencourt, Thomas and Gasperich, Kevin and Benali, Anouar and Ferté, Anthony and Paquier, Julien and Pradines, Barthélémy and Assaraf, Roland and Reinhardt, Peter and Toulouse, Julien and Barbaresco, Pierrette and Renon, Nicolas and David, Grégoire and Malrieu, Jean-Paul and Véril, Mickaël and Caffarel, Michel and Loos, Pierre-François and Giner, Emmanuel and Scemama, Anthony},
|
||||
title = {Quantum Package 2.0: An Open-Source Determinant-Driven Suite of Programs},
|
||||
journal = {Journal of Chemical Theory and Computation},
|
||||
volume = {15},
|
||||
number = {6},
|
||||
pages = {3591-3609},
|
||||
year = {2019},
|
||||
doi = {10.1021/acs.jctc.9b00176},
|
||||
note ={PMID: 31082265},
|
||||
URL = { https://doi.org/10.1021/acs.jctc.9b00176 },
|
||||
eprint = { https://doi.org/10.1021/acs.jctc.9b00176 }
|
||||
}
|
||||
```
|
||||
|
||||
# Getting started
|
||||
|
||||
|
@ -6,6 +6,7 @@ Usage:
|
||||
qp_plugins download <url> [-n <name>]
|
||||
qp_plugins install <name>...
|
||||
qp_plugins uninstall <name>
|
||||
qp_plugins update [-r <repo>]
|
||||
qp_plugins create -n <name> [-r <repo>] [<needed_modules>...]
|
||||
|
||||
Options:
|
||||
@ -23,6 +24,8 @@ Options:
|
||||
|
||||
uninstall Uninstall a plugin
|
||||
|
||||
update Update the repository
|
||||
|
||||
create
|
||||
-n --name=<name> Create a new plugin named <name>
|
||||
-r --repository=<repo> Name of the repository in which to create the plugin
|
||||
@ -89,16 +92,19 @@ def save_new_module(path, l_child):
|
||||
end
|
||||
""")
|
||||
|
||||
def get_repositories():
|
||||
l_result = [f for f in os.listdir(QP_PLUGINS) \
|
||||
if f not in [".gitignore", "local"] ]
|
||||
return sorted(l_result)
|
||||
|
||||
|
||||
def main(arguments):
|
||||
"""Main function"""
|
||||
arguments["<name>"] = [os.path.normpath(name) for name in arguments["<name>"]]
|
||||
|
||||
if arguments["list"]:
|
||||
if arguments["--repositories"]:
|
||||
l_result = [f for f in os.listdir(QP_PLUGINS) \
|
||||
if f not in [".gitignore", "local"] ]
|
||||
|
||||
for repo in sorted(l_result):
|
||||
for repo in get_repositories():
|
||||
print repo
|
||||
|
||||
else:
|
||||
@ -138,6 +144,7 @@ def main(arguments):
|
||||
for module in sorted(l_result):
|
||||
print "%-30s %-30s"%(module, repo_of_plugin[module])
|
||||
|
||||
|
||||
if arguments["create"]:
|
||||
m_instance = ModuleHandler([QP_SRC])
|
||||
|
||||
@ -306,6 +313,20 @@ def main(arguments):
|
||||
print "%s is a core module which can't be removed" % module
|
||||
|
||||
|
||||
elif arguments["update"]:
|
||||
|
||||
if arguments["--repository"]:
|
||||
l_repositories = [ arguments["--repository"] ]
|
||||
else:
|
||||
l_repositories = get_repositories()
|
||||
|
||||
for repo in l_repositories:
|
||||
print "Updating ", repo
|
||||
os.chdir(os.path.join(QP_PLUGINS,repo))
|
||||
git_cmd=["git", "pull"]
|
||||
subprocess.check_call(git_cmd)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
ARG = docopt(__doc__)
|
||||
main(ARG)
|
||||
|
@ -6,17 +6,39 @@ Automatically finds n, the number of core electrons. Calls qp_set_mo_class
|
||||
setting all MOs as Active, except the n/2 first ones which are set as Core.
|
||||
If pseudo-potentials are used, all the MOs are set as Active.
|
||||
|
||||
For elements on the right of the periodic table, qp_set_frozen_core will work
|
||||
as expected. But for elements on the left, a small core will be chosen. For
|
||||
example, a Carbon atom will have 2 core electrons, but a Lithium atom will have
|
||||
zero.
|
||||
|
||||
|
||||
Usage:
|
||||
qp_set_frozen_core [-q|--query] EZFIO_DIR
|
||||
qp_set_frozen_core [-q|--query] [(-l|-s|--large|--small)] EZFIO_DIR
|
||||
|
||||
Options:
|
||||
-q --query Prints in the standard output the number of frozen MOs
|
||||
-l --large Use a small core
|
||||
-s --small Use a large core
|
||||
|
||||
|
||||
Default numbers of frozen electrons:
|
||||
|
||||
========== ========= ======= =======
|
||||
Range Default Small Large
|
||||
========== ========= ======= =======
|
||||
H -> He 0 0 0
|
||||
Li -> Be 0 0 2
|
||||
B -> Ne 2 2 2
|
||||
Na -> Mg 2 2 10
|
||||
Al -> Ar 10 2 10
|
||||
K -> Ca 10 10 18
|
||||
Sc -> Zn 10 10 18
|
||||
Ga -> Kr 18 10 18
|
||||
Rb -> Sr 18 18 36
|
||||
Y -> Cd 18 18 36
|
||||
In -> Xe 36 18 36
|
||||
Cs -> Ba 36 36 54
|
||||
La -> Hg 36 36 54
|
||||
Tl -> Rn 54 36 54
|
||||
Fr -> Ra 54 54 86
|
||||
Ac -> Cn 54 54 86
|
||||
Nh -> Og 86 54 86
|
||||
========== ========= ======= =======
|
||||
|
||||
|
||||
"""
|
||||
|
||||
@ -46,16 +68,36 @@ def main(arguments):
|
||||
except:
|
||||
do_pseudo = False
|
||||
|
||||
|
||||
if not do_pseudo:
|
||||
for charge in ezfio.nuclei_nucl_charge:
|
||||
if charge < 5:
|
||||
pass
|
||||
elif charge < 13:
|
||||
n_frozen += 1
|
||||
elif charge < 31:
|
||||
n_frozen += 5
|
||||
else:
|
||||
n_frozen += 9
|
||||
|
||||
if arguments["--large"]:
|
||||
for charge in ezfio.nuclei_nucl_charge:
|
||||
if charge <= 2: pass
|
||||
elif charge <= 10: n_frozen += 1
|
||||
elif charge <= 18: n_frozen += 5
|
||||
elif charge <= 36: n_frozen += 9
|
||||
elif charge <= 54: n_frozen += 18
|
||||
elif charge <= 86: n_frozen += 27
|
||||
elif charge <= 118: n_frozen += 43
|
||||
|
||||
elif arguments["--small"]:
|
||||
if charge <= 4: pass
|
||||
elif charge <= 18: n_frozen += 1
|
||||
elif charge <= 36: n_frozen += 5
|
||||
elif charge <= 54: n_frozen += 9
|
||||
elif charge <= 86: n_frozen += 18
|
||||
elif charge <= 118: n_frozen += 27
|
||||
|
||||
else: # default
|
||||
for charge in ezfio.nuclei_nucl_charge:
|
||||
if charge <= 4: pass
|
||||
elif charge <= 12: n_frozen += 1
|
||||
elif charge <= 30: n_frozen += 5
|
||||
elif charge <= 48: n_frozen += 9
|
||||
elif charge <= 80: n_frozen += 18
|
||||
elif charge <= 112: n_frozen += 27
|
||||
|
||||
|
||||
mo_num = ezfio.mo_basis_mo_num
|
||||
|
||||
@ -65,10 +107,10 @@ def main(arguments):
|
||||
|
||||
if n_frozen == 0:
|
||||
os.system("""qp_set_mo_class -a "[1-%d]" %s""" %
|
||||
(mo_num, sys.argv[1]))
|
||||
(mo_num, filename))
|
||||
else:
|
||||
os.system("""qp_set_mo_class -c "[1-%d]" -a "[%d-%d]" %s""" %
|
||||
(n_frozen, n_frozen+1, mo_num, sys.argv[1]))
|
||||
(n_frozen, n_frozen+1, mo_num, filename))
|
||||
|
||||
|
||||
|
||||
|
79
bin/qp_set_frozen_large_core
Executable file
79
bin/qp_set_frozen_large_core
Executable file
@ -0,0 +1,79 @@
|
||||
#!/usr/bin/env python2
|
||||
|
||||
|
||||
"""
|
||||
Automatically finds n, the number of core electrons. Calls qp_set_mo_class
|
||||
setting all MOs as Active, except the n/2 first ones which are set as Core.
|
||||
If pseudo-potentials are used, all the MOs are set as Active.
|
||||
|
||||
|
||||
|
||||
Usage:
|
||||
qp_set_frozen_core [-q|--query] EZFIO_DIR
|
||||
|
||||
Options:
|
||||
-q --query Prints in the standard output the number of frozen MOs
|
||||
|
||||
"""
|
||||
|
||||
import os
|
||||
import sys
|
||||
import os.path
|
||||
|
||||
try:
|
||||
import qp_path
|
||||
except ImportError:
|
||||
print "source .quantum_package.rc"
|
||||
raise
|
||||
|
||||
from docopt import docopt
|
||||
from ezfio import ezfio
|
||||
|
||||
|
||||
def main(arguments):
|
||||
"""Main function"""
|
||||
|
||||
filename = arguments["EZFIO_DIR"]
|
||||
ezfio.set_filename(filename)
|
||||
|
||||
n_frozen = 0
|
||||
try:
|
||||
do_pseudo = ezfio.pseudo_do_pseudo
|
||||
except:
|
||||
do_pseudo = False
|
||||
|
||||
if not do_pseudo:
|
||||
for charge in ezfio.nuclei_nucl_charge:
|
||||
if charge <= 2:
|
||||
pass
|
||||
elif charge <= 10:
|
||||
n_frozen += 1
|
||||
elif charge <= 18:
|
||||
n_frozen += 5
|
||||
elif charge <= 36:
|
||||
n_frozen += 9
|
||||
elif charge <= 54:
|
||||
n_frozen += 18
|
||||
elif charge <= 86:
|
||||
n_frozen += 27
|
||||
elif charge <= 118:
|
||||
n_frozen += 43
|
||||
|
||||
mo_num = ezfio.mo_basis_mo_num
|
||||
|
||||
if arguments["--query"]:
|
||||
print n_frozen
|
||||
sys.exit(0)
|
||||
|
||||
if n_frozen == 0:
|
||||
os.system("""qp_set_mo_class -a "[1-%d]" %s""" %
|
||||
(mo_num, sys.argv[1]))
|
||||
else:
|
||||
os.system("""qp_set_mo_class -c "[1-%d]" -a "[%d-%d]" %s""" %
|
||||
(n_frozen, n_frozen+1, mo_num, sys.argv[1]))
|
||||
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
ARGUMENTS = docopt(__doc__)
|
||||
main(ARGUMENTS)
|
71
bin/qp_tunnel
Executable file
71
bin/qp_tunnel
Executable file
@ -0,0 +1,71 @@
|
||||
#!/usr/bin/env python2
|
||||
|
||||
|
||||
"""
|
||||
Creates an ssh tunnel for using slaves on another network.
|
||||
Launch a server on the front-end node of the cluster on which the master
|
||||
process runs. Then start a client ont the front-end node of the distant
|
||||
cluster.
|
||||
|
||||
Usage:
|
||||
qp_tunnel server EZFIO_DIR
|
||||
qp_tunnel client <address> EZFIO_DIR
|
||||
|
||||
Options:
|
||||
-h --help
|
||||
|
||||
"""
|
||||
|
||||
import os
|
||||
import sys
|
||||
import zmq
|
||||
|
||||
try:
|
||||
import qp_path
|
||||
except ImportError:
|
||||
print "source .quantum_package.rc"
|
||||
raise
|
||||
|
||||
from docopt import docopt
|
||||
from ezfio import ezfio
|
||||
|
||||
|
||||
def get_address(filename):
|
||||
with open(os.path.join(filename,'work','qp_run_address'),'r') as f:
|
||||
a = f.readlines()[0].strip()
|
||||
return a
|
||||
|
||||
|
||||
def set_address(filename,address):
|
||||
with open(os.path.join(filename,'work','qp_run_address'),'r') as f:
|
||||
backup = f.readlines()
|
||||
|
||||
with open(os.path.join(filename,'work','qp_run_address'),'w') as f:
|
||||
f.write('\n'.join([address]+backup))
|
||||
|
||||
|
||||
def main_server(arguments,filename):
|
||||
destination = get_address(filename)
|
||||
print destination
|
||||
|
||||
|
||||
def main_client(arguments,filename):
|
||||
destination = arguments["<address>"]
|
||||
print destination
|
||||
|
||||
|
||||
def main(arguments):
|
||||
"""Main function"""
|
||||
|
||||
print arguments
|
||||
filename = arguments["EZFIO_DIR"]
|
||||
|
||||
if arguments["server"]:
|
||||
return main_server(arguments, filename)
|
||||
if arguments["client"]:
|
||||
return main_client(arguments, filename)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
ARGUMENTS = docopt(__doc__)
|
||||
main(ARGUMENTS)
|
@ -32,7 +32,7 @@ OPENMP : 1 ; Append OpenMP flags
|
||||
#
|
||||
[OPT]
|
||||
FC : -traceback
|
||||
FCFLAGS : -xAVX -O2 -ip -ftz -g
|
||||
FCFLAGS : -march=corei7-avx -O2 -ip -ftz -g
|
||||
|
||||
# Profiling flags
|
||||
#################
|
||||
|
@ -31,14 +31,14 @@ OPENMP : 1 ; Append OpenMP flags
|
||||
# -ftz : Flushes denormal results to zero
|
||||
#
|
||||
[OPT]
|
||||
FCFLAGS : -xAVX -O2 -ip -ftz -g -traceback
|
||||
FCFLAGS : -march=corei7-avx -O2 -ip -ftz -g -traceback
|
||||
|
||||
# Profiling flags
|
||||
#################
|
||||
#
|
||||
[PROFILE]
|
||||
FC : -p -g
|
||||
FCFLAGS : -xSSE4.2 -O2 -ip -ftz
|
||||
FCFLAGS : -march=corei7 -O2 -ip -ftz
|
||||
|
||||
|
||||
# Debugging flags
|
||||
|
63
config/ifort_epyc.cfg
Normal file
63
config/ifort_epyc.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=32
|
||||
|
||||
# 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 : -march=core-avx2 -O2 -ip -ftz -g
|
||||
|
||||
# Profiling flags
|
||||
#################
|
||||
#
|
||||
[PROFILE]
|
||||
FC : -p -g
|
||||
FCFLAGS : -march=core-avx2 -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
|
||||
|
47
configure
vendored
47
configure
vendored
@ -175,7 +175,7 @@ if [[ "${PACKAGES}.x" != ".x" ]] ; then
|
||||
fi
|
||||
|
||||
if [[ ${PACKAGES} = all ]] ; then
|
||||
PACKAGES="zlib ninja irpf90 zeromq f77zmq gmp ocaml ezfio docopt resultsFile bats"
|
||||
PACKAGES="zlib ninja irpf90 zeromq f77zmq gmp libcap bwrap ocaml ezfio docopt resultsFile bats"
|
||||
fi
|
||||
|
||||
|
||||
@ -206,6 +206,32 @@ EOF
|
||||
make install
|
||||
EOF
|
||||
|
||||
elif [[ ${PACKAGE} = libcap ]] ; then
|
||||
|
||||
download \
|
||||
"https://git.kernel.org/pub/scm/linux/kernel/git/morgan/libcap.git/snapshot/libcap-2.25.tar.gz" \
|
||||
"${QP_ROOT}"/external/libcap.tar.gz
|
||||
execute << EOF
|
||||
cd "\${QP_ROOT}"/external
|
||||
tar --gunzip --extract --file libcap.tar.gz
|
||||
rm libcap.tar.gz
|
||||
cd libcap-*/libcap
|
||||
prefix=$QP_ROOT make install
|
||||
EOF
|
||||
|
||||
elif [[ ${PACKAGE} = bwrap ]] ; then
|
||||
|
||||
download \
|
||||
"https://github.com/projectatomic/bubblewrap/releases/download/v0.3.3/bubblewrap-0.3.3.tar.xz" \
|
||||
"${QP_ROOT}"/external/bwrap.tar.xz
|
||||
execute << EOF
|
||||
cd "\${QP_ROOT}"/external
|
||||
tar --xz --extract --file bwrap.tar.xz
|
||||
rm bwrap.tar.xz
|
||||
cd bubblewrap*
|
||||
./configure --prefix=$QP_ROOT && make -j 8
|
||||
make install-exec-am
|
||||
EOF
|
||||
|
||||
elif [[ ${PACKAGE} = irpf90 ]] ; then
|
||||
|
||||
@ -276,7 +302,7 @@ EOF
|
||||
rm ${QP_ROOT}/external/opam_installer.sh
|
||||
source ${OPAMROOT}/opam-init/init.sh > /dev/null 2> /dev/null || true
|
||||
|
||||
${QP_ROOT}/bin/opam init --disable-sandboxing --verbose --yes
|
||||
${QP_ROOT}/bin/opam init --verbose --yes
|
||||
|
||||
eval $(${QP_ROOT}/bin/opam env)
|
||||
opam install -y ${OCAML_PACKAGES} || exit 1
|
||||
@ -290,8 +316,7 @@ EOF
|
||||
| sh \${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
|
||||
\${QP_ROOT}/bin/opam init --disable-sandboxing --verbose \
|
||||
--yes
|
||||
\${QP_ROOT}/bin/opam init --verbose --yes
|
||||
eval \$(\${QP_ROOT}/bin/opam env)
|
||||
opam install -y \${OCAML_PACKAGES} || exit 1
|
||||
EOF
|
||||
@ -388,7 +413,7 @@ if [[ ${ZEROMQ} = $(not_found) ]] ; then
|
||||
fail
|
||||
fi
|
||||
|
||||
F77ZMQ=$(find_lib -lzmq -lf77zmq)
|
||||
F77ZMQ=$(find_lib -lzmq -lf77zmq -lpthread)
|
||||
if [[ ${F77ZMQ} = $(not_found) ]] ; then
|
||||
error "Fortran binding of ZeroMQ (f77zmq) is not installed."
|
||||
fail
|
||||
@ -400,6 +425,18 @@ if [[ ${ZLIB} = $(not_found) ]] ; then
|
||||
fail
|
||||
fi
|
||||
|
||||
BWRAP=$(find_exe bwrap)
|
||||
if [[ ${BWRAP} = $(not_found) ]] ; then
|
||||
error "Bubblewrap (bwrap) is not installed."
|
||||
fail
|
||||
fi
|
||||
|
||||
LIBCAP=$(find_lib -lcap)
|
||||
if [[ ${LIBCAP} = $(not_found) ]] ; then
|
||||
error "Libcap (libcap) is not installed."
|
||||
fail
|
||||
fi
|
||||
|
||||
OPAM=$(find_exe opam)
|
||||
if [[ ${OPAM} = $(not_found) ]] ; then
|
||||
error "OPAM (ocaml) package manager is not installed."
|
||||
|
@ -263,4 +263,16 @@ vtz_mclean-chandler 'McLean/Chandler VTZ' VTZ Vale
|
||||
vtzp_binning-curtiss 'Binning/Curtiss VTZP' VTZP Valence Triple Zeta + Polarization
|
||||
wachters+f 'Wachters+f' VDZP Valence Double Zeta + Polarization on All Atoms
|
||||
|
||||
aug-cc-pvdz_ecp_ncsu 'aug-cc-pvdz ecp ncsu' augmented cc-pvDz basis set designed for the NCSU ECP found in https://pseudopotentiallibrary.org/
|
||||
aug-cc-pvtz_ecp_ncsu 'aug-cc-pvtz ecp ncsu' augmented cc-pvTz basis set designed for the NCSU ECP found in https://pseudopotentiallibrary.org/
|
||||
aug-cc-pvqz_ecp_ncsu 'aug-cc-pvqz ecp ncsu' augmented cc-pvQz basis set designed for the NCSU ECP found in https://pseudopotentiallibrary.org/
|
||||
aug-cc-pv5z_ecp_ncsu 'aug-cc-pv5z ecp ncsu' augmented cc-pv5z basis set designed for the NCSU ECP found in https://pseudopotentiallibrary.org/
|
||||
cc-pvdz_ecp_ncsu 'cc-pvdz ecp ncsu' cc-pvDz basis set designed for the NCSU ECP found in https://pseudopotentiallibrary.org/
|
||||
cc-pvtz_ecp_ncsu 'cc-pvtz ecp ncsu' cc-pvTz basis set designed for the NCSU ECP found in https://pseudopotentiallibrary.org/
|
||||
cc-pvqz_ecp_ncsu 'cc-pvqz ecp ncsu' cc-pvQz basis set designed for the NCSU ECP found in https://pseudopotentiallibrary.org/
|
||||
cc-pv5z_ecp_ncsu 'cc-pv5z ecp ncsu' cc-pv5z basis set designed for the NCSU ECP found in https://pseudopotentiallibrary.org/
|
||||
|
||||
|
||||
|
||||
|
||||
# ; vim::nowrap
|
||||
|
3535
data/basis/aug-cc-pv5z_ecp_ncsu
Normal file
3535
data/basis/aug-cc-pv5z_ecp_ncsu
Normal file
File diff suppressed because it is too large
Load Diff
1777
data/basis/aug-cc-pvdz_ecp_ncsu
Normal file
1777
data/basis/aug-cc-pvdz_ecp_ncsu
Normal file
File diff suppressed because it is too large
Load Diff
2910
data/basis/aug-cc-pvqz_ecp_ncsu
Normal file
2910
data/basis/aug-cc-pvqz_ecp_ncsu
Normal file
File diff suppressed because it is too large
Load Diff
2325
data/basis/aug-cc-pvtz_ecp_ncsu
Normal file
2325
data/basis/aug-cc-pvtz_ecp_ncsu
Normal file
File diff suppressed because it is too large
Load Diff
3512
data/basis/cc-pv5z_ecp_ncsu
Normal file
3512
data/basis/cc-pv5z_ecp_ncsu
Normal file
File diff suppressed because it is too large
Load Diff
1773
data/basis/cc-pvdz_ecp_ncsu
Normal file
1773
data/basis/cc-pvdz_ecp_ncsu
Normal file
File diff suppressed because it is too large
Load Diff
2889
data/basis/cc-pvqz_ecp_ncsu
Normal file
2889
data/basis/cc-pvqz_ecp_ncsu
Normal file
File diff suppressed because it is too large
Load Diff
2309
data/basis/cc-pvtz_ecp_ncsu
Normal file
2309
data/basis/cc-pvtz_ecp_ncsu
Normal file
File diff suppressed because it is too large
Load Diff
348
data/pseudo/ncsu
348
data/pseudo/ncsu
@ -1,56 +1,46 @@
|
||||
H GEN 0 1
|
||||
3
|
||||
-10.851924053 2 21.7769665504
|
||||
1.0 1 21.2435950826
|
||||
21.2435950826 3 21.2435950826
|
||||
1.00000000000000 1 21.24359508259891
|
||||
21.24359508259891 3 21.24359508259891
|
||||
-10.85192405303825 2 21.77696655044365
|
||||
1
|
||||
0.0 2 1.0
|
||||
0.00000000000000 2 1.000000000000000
|
||||
|
||||
B GEN 2 1
|
||||
3
|
||||
3.00000 1 31.49298
|
||||
94.47895 3 22.56509
|
||||
-9.74800 2 8.64669
|
||||
1
|
||||
20.74800 2 4.06246
|
||||
|
||||
C GEN 2 1
|
||||
3
|
||||
4.0 1 14.43502
|
||||
57.74008 3 8.39889
|
||||
4.00000 1 14.43502
|
||||
57.74008 3 8.39889
|
||||
-25.81955 2 7.38188
|
||||
1
|
||||
52.13345 2 7.76079
|
||||
52.13345 2 7.76079
|
||||
|
||||
Cl GEN 10 2
|
||||
N GEN 2 1
|
||||
6
|
||||
3.25000 1 12.91881
|
||||
1.75000 1 9.22825
|
||||
41.98612 3 12.96581
|
||||
16.14945 3 8.05477
|
||||
-26.09522 2 12.54876
|
||||
-10.32626 2 7.53360
|
||||
2
|
||||
34.77692 2 9.41609
|
||||
15.20330 2 8.16694
|
||||
|
||||
O GEN 2 1
|
||||
3
|
||||
7.0 1 22.71655173
|
||||
159.01586213 3 78.57185685
|
||||
-15.6531065 2 7.47352436
|
||||
2
|
||||
6.50888648 2 17.23708573
|
||||
46.763467 2 4.31148447
|
||||
2
|
||||
2.9946477 2 11.38275704
|
||||
28.0170341 2 3.83218762
|
||||
|
||||
Co GEN 10 2
|
||||
4
|
||||
17.0 1 24.7400138129
|
||||
420.580234819 3 23.5426031368
|
||||
-194.630579018 2 24.0406241364
|
||||
-2.94301943013 2 10.237411369
|
||||
2
|
||||
270.86974114 2 23.0205711168
|
||||
54.1910212498 2 10.9219568474
|
||||
2
|
||||
200.63032558 2 25.3244045243
|
||||
38.9480947892 2 10.6533915029
|
||||
|
||||
Cr GEN 10 2
|
||||
4
|
||||
14.0 1 18.2809107439
|
||||
255.932750414 3 17.0980065531
|
||||
-132.018263171 2 16.7226727605
|
||||
-0.773887613451 2 5.02865105891
|
||||
2
|
||||
219.481462096 2 16.9007876081
|
||||
28.079331766 2 7.33662150761
|
||||
2
|
||||
139.983968717 2 17.3197451654
|
||||
19.5483578632 2 6.92409757503
|
||||
6.000000 1 12.30997
|
||||
73.85984 3 14.76962
|
||||
-47.87600 2 13.71419
|
||||
1
|
||||
85.86406 2 13.65512
|
||||
|
||||
F GEN 2 1
|
||||
3
|
||||
@ -60,124 +50,214 @@ F GEN 2 1
|
||||
1
|
||||
51.3934743997 2 11.3903478843
|
||||
|
||||
Fe GEN 10 2
|
||||
4
|
||||
16.0 1 23.2209171361
|
||||
371.534674178 3 23.5471467972
|
||||
-181.226034452 2 23.4725634461
|
||||
-2.3730523614 2 9.85238815041
|
||||
2
|
||||
277.500325475 2 22.2106269743
|
||||
46.2049558527 2 9.51515800919
|
||||
2
|
||||
194.998750566 2 24.5700087185
|
||||
31.6794513291 2 8.86648776669
|
||||
|
||||
Mn GEN 10 2
|
||||
4
|
||||
15.0 1 21.9061889166
|
||||
328.592833748 3 21.3460106503
|
||||
-162.049880237 2 21.2709151562
|
||||
-1.85679609726 2 7.90771171833
|
||||
2
|
||||
244.669998154 2 18.9263045646
|
||||
33.5399867643 2 8.31114792811
|
||||
2
|
||||
162.350195446 2 20.162449313
|
||||
24.1593874179 2 7.79269955633
|
||||
|
||||
Ni GEN 10 2
|
||||
4
|
||||
18.0 1 37.839331506
|
||||
681.107967108 3 23.875701156
|
||||
-173.162219465 2 19.8803935987
|
||||
0.34274858261 2 3.56565870195
|
||||
2
|
||||
91.6513902571 2 13.545098213
|
||||
331.659352198 2 27.7907700999
|
||||
2
|
||||
7.5147228016 2 6.46792786898
|
||||
265.586894944 2 23.6921476759
|
||||
|
||||
O GEN 2 1
|
||||
Na GEN 10 2
|
||||
3
|
||||
6.0 1 12.30997
|
||||
73.85984 3 14.76962
|
||||
-47.876 2 13.71419
|
||||
1
|
||||
85.86406 2 13.65512
|
||||
1.000000 1 4.311678
|
||||
4.311678 3 1.925689
|
||||
-2.083137 2 1.549498
|
||||
2
|
||||
6.234064 2 5.377666
|
||||
9.075931 2 1.408414
|
||||
2
|
||||
3.232724 2 1.379949
|
||||
2.494079 2 0.862453
|
||||
|
||||
Mg GEN 10 2
|
||||
3
|
||||
2.000000 1 6.048538
|
||||
12.097075 3 2.796989
|
||||
-17.108313 2 2.547408
|
||||
2
|
||||
6.428631 2 5.936017
|
||||
14.195491 2 1.592891
|
||||
2
|
||||
3.315069 2 1.583969
|
||||
4.403025 2 1.077297
|
||||
|
||||
Al GEN 2 1
|
||||
3
|
||||
11.000000 1 11.062056
|
||||
121.682619 3 12.369778
|
||||
-82.624567 2 11.965444
|
||||
2
|
||||
25.157259 2 81.815564
|
||||
113.067525 2 24.522883
|
||||
|
||||
Si GEN 10 2
|
||||
3
|
||||
4.000000 1 5.168316
|
||||
20.673264 3 8.861690
|
||||
-14.818174 2 3.933474
|
||||
2
|
||||
14.832760 2 9.447023
|
||||
26.349664 2 2.553812
|
||||
2
|
||||
7.621400 2 3.660001
|
||||
10.331583 2 1.903653
|
||||
|
||||
P GEN 2 1
|
||||
3
|
||||
13.000000 1 15.073300
|
||||
195.952906 3 18.113176
|
||||
-117.611086 2 17.371539
|
||||
2
|
||||
25.197230 2 101.982019
|
||||
189.426261 2 37.485881
|
||||
|
||||
S GEN 2 1
|
||||
3
|
||||
14.00000000 1 17.46806994
|
||||
244.55297916 3 16.40396851
|
||||
-128.37752591 2 16.71429998
|
||||
14.000000 1 17.977612
|
||||
251.686565 3 20.435964
|
||||
-135.538891 2 19.796579
|
||||
2
|
||||
30.00006536 2 54.87912854
|
||||
125.50010056 2 31.32968867
|
||||
25.243283 2 111.936344
|
||||
227.060768 2 43.941844
|
||||
|
||||
Cl GEN 2 1
|
||||
3
|
||||
15.000000 1 22.196266
|
||||
332.943994 3 26.145117
|
||||
-161.999982 2 25.015118
|
||||
2
|
||||
26.837357 2 124.640433
|
||||
277.296696 2 52.205433
|
||||
|
||||
Ar GEN 2 1
|
||||
3
|
||||
16.000000 1 23.431337
|
||||
374.901386 3 26.735872
|
||||
-178.039517 2 26.003325
|
||||
2
|
||||
25.069215 2 135.620522
|
||||
332.151842 2 60.471053
|
||||
|
||||
Sc GEN 10 2
|
||||
4
|
||||
11.0 1 16.0484863686
|
||||
176.533350054 3 14.07764439
|
||||
-83.673420518 2 11.993486653
|
||||
0.331064789149 2 3.75115298216
|
||||
11.00000000 1 16.02394388
|
||||
176.26338271 3 14.08647403
|
||||
-83.68149599 2 11.93985121
|
||||
0.43282764 2 3.69440111
|
||||
2
|
||||
153.959870288 2 11.4712713921
|
||||
14.9643185607 2 5.00756742752
|
||||
153.96530175 2 11.49466541
|
||||
14.93675657 2 5.01031394
|
||||
2
|
||||
97.2094454291 2 11.4449481137
|
||||
10.8162163087 2 4.78509457131
|
||||
97.21725690 2 11.45126730
|
||||
10.81704018 2 4.76798446
|
||||
|
||||
Ti GEN 10 2
|
||||
4
|
||||
12.0 1 18.4136620219
|
||||
220.963944263 3 15.9229241432
|
||||
-94.2902582468 2 13.6500062314
|
||||
0.0979114248227 2 5.0955521057
|
||||
12.00000000 1 18.41366202
|
||||
220.96394426 3 15.92292414
|
||||
-94.29025824 2 13.65000623
|
||||
0.09791142 2 5.09555210
|
||||
2
|
||||
173.946572359 2 12.7058061392
|
||||
18.8376833381 2 6.11178551988
|
||||
173.94657235 2 12.70580613
|
||||
18.83768333 2 6.11178551
|
||||
2
|
||||
111.45672882 2 12.6409192965
|
||||
11.1770268269 2 5.35437415684
|
||||
111.45672882 2 12.64091929
|
||||
11.17702682 2 5.35437415
|
||||
|
||||
V GEN 10 2
|
||||
4
|
||||
13.0 1 20.3216891426
|
||||
264.181958854 3 19.5969804012
|
||||
-115.292932083 2 17.3314734817
|
||||
-0.662887260057 2 5.12320657929
|
||||
13.00000000 1 20.32168914
|
||||
264.18195885 3 19.59698040
|
||||
-115.29293208 2 17.33147348
|
||||
-0.66288726 2 5.12320657
|
||||
2
|
||||
195.567138911 2 15.1250215054
|
||||
22.8864283476 2 6.2989891447
|
||||
195.56713891 2 15.12502150
|
||||
22.88642834 2 6.29898914
|
||||
2
|
||||
126.421195008 2 15.9385511327
|
||||
16.0359712766 2 5.74006266866
|
||||
126.42119500 2 15.93855113
|
||||
16.03597127 2 5.74006266
|
||||
|
||||
Zn GEN 10 2
|
||||
Cr GEN 10 2
|
||||
4
|
||||
20.0 1 35.8079761618
|
||||
716.159523235 3 34.536460837
|
||||
-204.683933235 2 28.6283017827
|
||||
0.760266144617 2 7.9623968256
|
||||
14.00000000 1 18.28091074
|
||||
255.93275041 3 17.09800655
|
||||
-132.01826317 2 16.72267276
|
||||
-0.77388761 2 5.02865105
|
||||
2
|
||||
95.8764043739 2 14.6349869153
|
||||
431.708043027 2 35.0214135667
|
||||
219.48146209 2 16.90078760
|
||||
28.07933176 2 7.33662150
|
||||
2
|
||||
74.0127004894 2 14.5742930415
|
||||
313.577705639 2 42.2297923499
|
||||
139.98396871 2 17.31974516
|
||||
19.54835786 2 6.92409757
|
||||
|
||||
Mn GEN 10 2
|
||||
4
|
||||
15.00000000 1 21.91937433
|
||||
328.79061500 3 21.35527127
|
||||
-162.05172805 2 21.27162653
|
||||
-1.82694272 2 7.93913962
|
||||
2
|
||||
244.66870492 2 18.92044965
|
||||
33.54162717 2 8.32764757
|
||||
2
|
||||
162.35033685 2 20.17347020
|
||||
24.17956695 2 7.80047874
|
||||
|
||||
Fe GEN 10 2
|
||||
4
|
||||
16.00000000 1 23.22091713
|
||||
371.53467417 3 23.54714679
|
||||
-181.22603445 2 23.47256344
|
||||
-2.37305236 2 9.85238815
|
||||
2
|
||||
277.50032547 2 22.21062697
|
||||
46.20495585 2 9.51515800
|
||||
2
|
||||
194.99875056 2 24.57000871
|
||||
31.67945132 2 8.86648776
|
||||
|
||||
Co GEN 10 2
|
||||
4
|
||||
17.00000000 1 25.00124115
|
||||
425.02109971 3 22.83490096
|
||||
-195.48211282 2 23.47468155
|
||||
-2.81572866 2 10.33794825
|
||||
2
|
||||
271.77708486 2 23.41427030
|
||||
54.26461121 2 10.76931694
|
||||
2
|
||||
201.53430745 2 25.47446316
|
||||
38.99231927 2 10.68404901
|
||||
|
||||
Ni GEN 10 2
|
||||
4
|
||||
18.000 1 2.82630001015327e+01
|
||||
508.7340018275886 3 2.69360254587070e+01
|
||||
-2.20099999296390e+02 2 2.70860075292970e+01
|
||||
-2.13493270999809e+00 2 1.22130001295874e+01
|
||||
2
|
||||
3.21240002430625e+02 2 2.64320193944270e+01
|
||||
6.03470084610628e+01 2 1.17489696842121e+01
|
||||
2
|
||||
2.36539998999428e+02 2 2.94929998193907e+01
|
||||
4.43969887908906e+01 2 1.15569831458722e+01
|
||||
|
||||
Cu GEN 10 2
|
||||
4
|
||||
19.0 1 31.5381126304
|
||||
599.224139977 3 31.0692553147
|
||||
-244.689154841 2 30.5903586806
|
||||
-1.2934952584 2 14.0514106386
|
||||
19.00000000 1 31.53811263
|
||||
599.22413997 3 31.06925531
|
||||
-244.68915484 2 30.59035868
|
||||
-1.29349525 2 14.05141063
|
||||
2
|
||||
66.2756081341 2 12.7723591969
|
||||
370.71371825 2 29.355622426
|
||||
370.71371824 2 29.35562242
|
||||
66.27560813 2 12.77235919
|
||||
2
|
||||
49.7626505709 2 12.5247148487
|
||||
271.662810283 2 33.5169454376
|
||||
271.66281028 2 33.51694543
|
||||
49.76265057 2 12.52471484
|
||||
|
||||
Zn GEN 10 2
|
||||
4
|
||||
20.00000000 1 35.80797616
|
||||
716.15952323 3 34.53646083
|
||||
-204.68393323 2 28.62830178
|
||||
0.76026614 2 7.96239682
|
||||
2
|
||||
431.70804302 2 35.02141356
|
||||
95.87640437 2 14.63498691
|
||||
2
|
||||
313.57770563 2 42.22979234
|
||||
74.01270048 2 14.57429304
|
||||
|
||||
|
BIN
data/qp2.png
BIN
data/qp2.png
Binary file not shown.
Before Width: | Height: | Size: 40 KiB After Width: | Height: | Size: 5.9 MiB |
@ -953,6 +953,7 @@ Subroutines / functions
|
||||
|
||||
Gets multiple AO bi-electronic integral from the AO map .
|
||||
All i are retrieved for j,k,l fixed.
|
||||
physicist convention : <ij|kl>
|
||||
|
||||
Needs:
|
||||
|
||||
@ -1224,6 +1225,8 @@ Subroutines / functions
|
||||
subroutine two_e_integrals_index(i,j,k,l,i1)
|
||||
|
||||
|
||||
Gives a unique index for i,j,k,l using permtuation symmetry.
|
||||
i <-> k, j <-> l, and (i,k) <-> (j,l)
|
||||
|
||||
Called by:
|
||||
|
||||
@ -1255,7 +1258,7 @@ Subroutines / functions
|
||||
* :c:data:`mo_integrals_erf_cache`
|
||||
* :c:data:`mo_integrals_erf_map`
|
||||
* :c:data:`mo_integrals_map`
|
||||
* :c:func:`two_e_integrals_index_reverse`
|
||||
* :c:func:`test`
|
||||
|
||||
|
||||
.. c:function:: two_e_integrals_index_reverse:
|
||||
@ -1268,6 +1271,15 @@ Subroutines / functions
|
||||
subroutine two_e_integrals_index_reverse(i,j,k,l,i1)
|
||||
|
||||
|
||||
Computes the 4 indices $i,j,k,l$ from a unique index $i_1$.
|
||||
For 2 indices $i,j$ and $i \le j$, we have
|
||||
$p = i(i-1)/2 + j$.
|
||||
The key point is that because $j < i$,
|
||||
$i(i-1)/2 < p \le i(i+1)/2$. So $i$ can be found by solving
|
||||
$i^2 - i - 2p=0$. One obtains $i=1 + \sqrt{1+8p}/2$
|
||||
and $j = p - i(i-1)/2$.
|
||||
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.
|
||||
|
||||
Called by:
|
||||
|
||||
@ -1275,11 +1287,5 @@ Subroutines / functions
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_two_e_integral_alpha`
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`two_e_integrals_index`
|
||||
* :c:func:`test`
|
||||
|
||||
|
@ -51,3 +51,13 @@ EZFIO parameters
|
||||
|
||||
Beta one body density matrix on the |MO| basis computed with the wave function
|
||||
|
||||
|
||||
.. option:: data_one_e_dm_alpha_ao
|
||||
|
||||
Alpha one body density matrix on the |AO| basis computed with the wave function
|
||||
|
||||
|
||||
.. option:: data_one_e_dm_beta_ao
|
||||
|
||||
Beta one body density matrix on the |AO| basis computed with the wave function
|
||||
|
||||
|
@ -241,6 +241,7 @@ Providers
|
||||
* :c:data:`mos_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_no_core_and_grad_alpha_in_r`
|
||||
|
||||
|
||||
.. c:var:: final_weight_at_r
|
||||
@ -339,6 +340,7 @@ Providers
|
||||
* :c:data:`mos_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_no_core_and_grad_alpha_in_r`
|
||||
|
||||
|
||||
.. c:var:: grid_points_per_atom
|
||||
@ -468,6 +470,7 @@ Providers
|
||||
* :c:data:`mos_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_no_core_and_grad_alpha_in_r`
|
||||
|
||||
|
||||
.. c:var:: index_final_points_reverse
|
||||
@ -532,6 +535,7 @@ Providers
|
||||
* :c:data:`mos_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_no_core_and_grad_alpha_in_r`
|
||||
|
||||
|
||||
.. c:var:: m_knowles
|
||||
@ -608,6 +612,7 @@ Providers
|
||||
* :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_no_core_and_grad_alpha_in_r`
|
||||
* :c:data:`pot_grad_x_alpha_ao_pbe`
|
||||
* :c:data:`pot_grad_xc_alpha_ao_pbe`
|
||||
* :c:data:`pot_scal_x_alpha_ao_pbe`
|
||||
@ -749,6 +754,7 @@ Providers
|
||||
|
||||
* :c:data:`grid_points_per_atom`
|
||||
* :c:data:`n_points_radial_grid`
|
||||
* :c:data:`nucl_charge`
|
||||
* :c:data:`nucl_coord_transp`
|
||||
* :c:data:`nucl_dist_inv`
|
||||
* :c:data:`nucl_num`
|
||||
@ -818,6 +824,7 @@ Subroutines / functions
|
||||
* :c:data:`nucl_dist_inv`
|
||||
* :c:data:`slater_bragg_type_inter_distance_ua`
|
||||
* :c:data:`nucl_coord_transp`
|
||||
* :c:data:`nucl_charge`
|
||||
* :c:data:`nucl_num`
|
||||
|
||||
|
||||
|
@ -108,10 +108,12 @@ Providers
|
||||
* :c:data:`fock_matrix_mo`
|
||||
* :c:data:`inact_virt_bitmask`
|
||||
* :c:data:`list_core_inact_act`
|
||||
* :c:data:`list_inact_act`
|
||||
* :c:data:`mo_two_e_integrals_in_map`
|
||||
* :c:data:`mo_two_e_integrals_vv_from_ao`
|
||||
* :c:data:`reunion_of_bitmask`
|
||||
* :c:data:`reunion_of_cas_inact_bitmask`
|
||||
* :c:data:`reunion_of_core_inact_act_bitmask`
|
||||
* :c:data:`reunion_of_core_inact_bitmask`
|
||||
* :c:data:`virt_bitmask_4`
|
||||
|
||||
@ -150,8 +152,6 @@ Providers
|
||||
* :c:data:`closed_shell_ref_bitmask`
|
||||
* :c:data:`psi_cas`
|
||||
* :c:data:`reunion_of_bitmask`
|
||||
* :c:data:`reunion_of_cas_inact_bitmask`
|
||||
* :c:data:`reunion_of_core_inact_act_bitmask`
|
||||
|
||||
|
||||
.. c:var:: closed_shell_ref_bitmask
|
||||
@ -246,10 +246,12 @@ Providers
|
||||
* :c:data:`fock_matrix_mo`
|
||||
* :c:data:`inact_virt_bitmask`
|
||||
* :c:data:`list_core_inact_act`
|
||||
* :c:data:`list_inact_act`
|
||||
* :c:data:`mo_two_e_integrals_in_map`
|
||||
* :c:data:`mo_two_e_integrals_vv_from_ao`
|
||||
* :c:data:`reunion_of_bitmask`
|
||||
* :c:data:`reunion_of_cas_inact_bitmask`
|
||||
* :c:data:`reunion_of_core_inact_act_bitmask`
|
||||
* :c:data:`reunion_of_core_inact_bitmask`
|
||||
* :c:data:`virt_bitmask_4`
|
||||
|
||||
@ -374,10 +376,12 @@ Providers
|
||||
* :c:data:`fock_matrix_mo`
|
||||
* :c:data:`inact_virt_bitmask`
|
||||
* :c:data:`list_core_inact_act`
|
||||
* :c:data:`list_inact_act`
|
||||
* :c:data:`mo_two_e_integrals_in_map`
|
||||
* :c:data:`mo_two_e_integrals_vv_from_ao`
|
||||
* :c:data:`reunion_of_bitmask`
|
||||
* :c:data:`reunion_of_cas_inact_bitmask`
|
||||
* :c:data:`reunion_of_core_inact_act_bitmask`
|
||||
* :c:data:`reunion_of_core_inact_bitmask`
|
||||
* :c:data:`virt_bitmask_4`
|
||||
|
||||
@ -814,10 +818,12 @@ Providers
|
||||
* :c:data:`fock_matrix_mo`
|
||||
* :c:data:`inact_virt_bitmask`
|
||||
* :c:data:`list_core_inact_act`
|
||||
* :c:data:`list_inact_act`
|
||||
* :c:data:`mo_two_e_integrals_in_map`
|
||||
* :c:data:`mo_two_e_integrals_vv_from_ao`
|
||||
* :c:data:`reunion_of_bitmask`
|
||||
* :c:data:`reunion_of_cas_inact_bitmask`
|
||||
* :c:data:`reunion_of_core_inact_act_bitmask`
|
||||
* :c:data:`reunion_of_core_inact_bitmask`
|
||||
* :c:data:`virt_bitmask_4`
|
||||
|
||||
@ -943,10 +949,12 @@ Providers
|
||||
* :c:data:`fock_matrix_mo`
|
||||
* :c:data:`inact_virt_bitmask`
|
||||
* :c:data:`list_core_inact_act`
|
||||
* :c:data:`list_inact_act`
|
||||
* :c:data:`mo_two_e_integrals_in_map`
|
||||
* :c:data:`mo_two_e_integrals_vv_from_ao`
|
||||
* :c:data:`reunion_of_bitmask`
|
||||
* :c:data:`reunion_of_cas_inact_bitmask`
|
||||
* :c:data:`reunion_of_core_inact_act_bitmask`
|
||||
* :c:data:`reunion_of_core_inact_bitmask`
|
||||
* :c:data:`virt_bitmask_4`
|
||||
|
||||
@ -1021,10 +1029,12 @@ Providers
|
||||
* :c:data:`fock_matrix_mo`
|
||||
* :c:data:`inact_virt_bitmask`
|
||||
* :c:data:`list_core_inact_act`
|
||||
* :c:data:`list_inact_act`
|
||||
* :c:data:`mo_two_e_integrals_in_map`
|
||||
* :c:data:`mo_two_e_integrals_vv_from_ao`
|
||||
* :c:data:`reunion_of_bitmask`
|
||||
* :c:data:`reunion_of_cas_inact_bitmask`
|
||||
* :c:data:`reunion_of_core_inact_act_bitmask`
|
||||
* :c:data:`reunion_of_core_inact_bitmask`
|
||||
* :c:data:`virt_bitmask_4`
|
||||
|
||||
@ -1099,10 +1109,12 @@ Providers
|
||||
* :c:data:`fock_matrix_mo`
|
||||
* :c:data:`inact_virt_bitmask`
|
||||
* :c:data:`list_core_inact_act`
|
||||
* :c:data:`list_inact_act`
|
||||
* :c:data:`mo_two_e_integrals_in_map`
|
||||
* :c:data:`mo_two_e_integrals_vv_from_ao`
|
||||
* :c:data:`reunion_of_bitmask`
|
||||
* :c:data:`reunion_of_cas_inact_bitmask`
|
||||
* :c:data:`reunion_of_core_inact_act_bitmask`
|
||||
* :c:data:`reunion_of_core_inact_bitmask`
|
||||
* :c:data:`virt_bitmask_4`
|
||||
|
||||
@ -1110,12 +1122,12 @@ Providers
|
||||
.. c:var:: list_core_inact_act
|
||||
|
||||
|
||||
File : :file:`bitmask/bitmasks.irp.f`
|
||||
File : :file:`bitmask/core_inact_act_virt.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
integer, allocatable :: list_core_inact_act (n_core_inact_act_orb)
|
||||
integer, allocatable :: list_core_inact_act_reverse (mo_num)
|
||||
integer, allocatable :: list_core_inact_act_reverse (n_core_inact_act_orb)
|
||||
|
||||
|
||||
|
||||
@ -1125,7 +1137,8 @@ Providers
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`list_inact`
|
||||
* :c:data:`mo_num`
|
||||
* :c:data:`n_core_inact_act_orb`
|
||||
* :c:data:`n_core_orb`
|
||||
* :c:data:`n_int`
|
||||
* :c:data:`reunion_of_core_inact_act_bitmask`
|
||||
|
||||
@ -1134,12 +1147,12 @@ Providers
|
||||
.. c:var:: list_core_inact_act_reverse
|
||||
|
||||
|
||||
File : :file:`bitmask/bitmasks.irp.f`
|
||||
File : :file:`bitmask/core_inact_act_virt.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
integer, allocatable :: list_core_inact_act (n_core_inact_act_orb)
|
||||
integer, allocatable :: list_core_inact_act_reverse (mo_num)
|
||||
integer, allocatable :: list_core_inact_act_reverse (n_core_inact_act_orb)
|
||||
|
||||
|
||||
|
||||
@ -1149,7 +1162,8 @@ Providers
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`list_inact`
|
||||
* :c:data:`mo_num`
|
||||
* :c:data:`n_core_inact_act_orb`
|
||||
* :c:data:`n_core_orb`
|
||||
* :c:data:`n_int`
|
||||
* :c:data:`reunion_of_core_inact_act_bitmask`
|
||||
|
||||
@ -1225,10 +1239,12 @@ Providers
|
||||
* :c:data:`fock_matrix_mo`
|
||||
* :c:data:`inact_virt_bitmask`
|
||||
* :c:data:`list_core_inact_act`
|
||||
* :c:data:`list_inact_act`
|
||||
* :c:data:`mo_two_e_integrals_in_map`
|
||||
* :c:data:`mo_two_e_integrals_vv_from_ao`
|
||||
* :c:data:`reunion_of_bitmask`
|
||||
* :c:data:`reunion_of_cas_inact_bitmask`
|
||||
* :c:data:`reunion_of_core_inact_act_bitmask`
|
||||
* :c:data:`reunion_of_core_inact_bitmask`
|
||||
* :c:data:`virt_bitmask_4`
|
||||
|
||||
@ -1303,10 +1319,12 @@ Providers
|
||||
* :c:data:`fock_matrix_mo`
|
||||
* :c:data:`inact_virt_bitmask`
|
||||
* :c:data:`list_core_inact_act`
|
||||
* :c:data:`list_inact_act`
|
||||
* :c:data:`mo_two_e_integrals_in_map`
|
||||
* :c:data:`mo_two_e_integrals_vv_from_ao`
|
||||
* :c:data:`reunion_of_bitmask`
|
||||
* :c:data:`reunion_of_cas_inact_bitmask`
|
||||
* :c:data:`reunion_of_core_inact_act_bitmask`
|
||||
* :c:data:`reunion_of_core_inact_bitmask`
|
||||
* :c:data:`virt_bitmask_4`
|
||||
|
||||
@ -1381,10 +1399,12 @@ Providers
|
||||
* :c:data:`fock_matrix_mo`
|
||||
* :c:data:`inact_virt_bitmask`
|
||||
* :c:data:`list_core_inact_act`
|
||||
* :c:data:`list_inact_act`
|
||||
* :c:data:`mo_two_e_integrals_in_map`
|
||||
* :c:data:`mo_two_e_integrals_vv_from_ao`
|
||||
* :c:data:`reunion_of_bitmask`
|
||||
* :c:data:`reunion_of_cas_inact_bitmask`
|
||||
* :c:data:`reunion_of_core_inact_act_bitmask`
|
||||
* :c:data:`reunion_of_core_inact_bitmask`
|
||||
* :c:data:`virt_bitmask_4`
|
||||
|
||||
@ -1459,14 +1479,38 @@ Providers
|
||||
* :c:data:`fock_matrix_mo`
|
||||
* :c:data:`inact_virt_bitmask`
|
||||
* :c:data:`list_core_inact_act`
|
||||
* :c:data:`list_inact_act`
|
||||
* :c:data:`mo_two_e_integrals_in_map`
|
||||
* :c:data:`mo_two_e_integrals_vv_from_ao`
|
||||
* :c:data:`reunion_of_bitmask`
|
||||
* :c:data:`reunion_of_cas_inact_bitmask`
|
||||
* :c:data:`reunion_of_core_inact_act_bitmask`
|
||||
* :c:data:`reunion_of_core_inact_bitmask`
|
||||
* :c:data:`virt_bitmask_4`
|
||||
|
||||
|
||||
.. c:var:: list_inact_act
|
||||
|
||||
|
||||
File : :file:`bitmask/core_inact_act_virt.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
integer, allocatable :: list_inact_act (n_inact_act_orb)
|
||||
|
||||
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`list_inact`
|
||||
* :c:data:`n_core_orb`
|
||||
* :c:data:`n_inact_act_orb`
|
||||
|
||||
|
||||
|
||||
.. c:var:: list_inact_reverse
|
||||
|
||||
|
||||
@ -1537,10 +1581,12 @@ Providers
|
||||
* :c:data:`fock_matrix_mo`
|
||||
* :c:data:`inact_virt_bitmask`
|
||||
* :c:data:`list_core_inact_act`
|
||||
* :c:data:`list_inact_act`
|
||||
* :c:data:`mo_two_e_integrals_in_map`
|
||||
* :c:data:`mo_two_e_integrals_vv_from_ao`
|
||||
* :c:data:`reunion_of_bitmask`
|
||||
* :c:data:`reunion_of_cas_inact_bitmask`
|
||||
* :c:data:`reunion_of_core_inact_act_bitmask`
|
||||
* :c:data:`reunion_of_core_inact_bitmask`
|
||||
* :c:data:`virt_bitmask_4`
|
||||
|
||||
@ -1615,10 +1661,12 @@ Providers
|
||||
* :c:data:`fock_matrix_mo`
|
||||
* :c:data:`inact_virt_bitmask`
|
||||
* :c:data:`list_core_inact_act`
|
||||
* :c:data:`list_inact_act`
|
||||
* :c:data:`mo_two_e_integrals_in_map`
|
||||
* :c:data:`mo_two_e_integrals_vv_from_ao`
|
||||
* :c:data:`reunion_of_bitmask`
|
||||
* :c:data:`reunion_of_cas_inact_bitmask`
|
||||
* :c:data:`reunion_of_core_inact_act_bitmask`
|
||||
* :c:data:`reunion_of_core_inact_bitmask`
|
||||
* :c:data:`virt_bitmask_4`
|
||||
|
||||
@ -1693,10 +1741,12 @@ Providers
|
||||
* :c:data:`fock_matrix_mo`
|
||||
* :c:data:`inact_virt_bitmask`
|
||||
* :c:data:`list_core_inact_act`
|
||||
* :c:data:`list_inact_act`
|
||||
* :c:data:`mo_two_e_integrals_in_map`
|
||||
* :c:data:`mo_two_e_integrals_vv_from_ao`
|
||||
* :c:data:`reunion_of_bitmask`
|
||||
* :c:data:`reunion_of_cas_inact_bitmask`
|
||||
* :c:data:`reunion_of_core_inact_act_bitmask`
|
||||
* :c:data:`reunion_of_core_inact_bitmask`
|
||||
* :c:data:`virt_bitmask_4`
|
||||
|
||||
@ -1772,9 +1822,13 @@ Providers
|
||||
* :c:data:`dim_list_core_orb`
|
||||
* :c:data:`eigenvectors_fock_matrix_mo`
|
||||
* :c:data:`fock_matrix_mo`
|
||||
* :c:data:`list_core_inact_act`
|
||||
* :c:data:`list_inact`
|
||||
* :c:data:`list_inact_act`
|
||||
* :c:data:`mo_two_e_integrals_vv_from_ao`
|
||||
* :c:data:`n_core_inact_act_orb`
|
||||
* :c:data:`n_core_orb_allocate`
|
||||
* :c:data:`n_inact_act_orb`
|
||||
* :c:data:`n_inact_orb_allocate`
|
||||
* :c:data:`n_virt_orb_allocate`
|
||||
* :c:data:`pt2_f`
|
||||
@ -1813,31 +1867,26 @@ Providers
|
||||
.. c:var:: n_core_inact_act_orb
|
||||
|
||||
|
||||
File : :file:`bitmask/bitmasks.irp.f`
|
||||
File : :file:`bitmask/core_inact_act_virt.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
integer(bit_kind), allocatable :: reunion_of_core_inact_act_bitmask (N_int,2)
|
||||
integer :: n_core_inact_act_orb
|
||||
|
||||
|
||||
Reunion of the core, inactive and active bitmasks
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`cas_bitmask`
|
||||
* :c:data:`n_int`
|
||||
* :c:data:`reunion_of_core_inact_bitmask`
|
||||
* :c:data:`n_core_orb`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`core_inact_act_bitmask_4`
|
||||
* :c:data:`list_core_inact_act`
|
||||
|
||||
|
||||
@ -1919,9 +1968,13 @@ Providers
|
||||
* :c:data:`dim_list_core_orb`
|
||||
* :c:data:`eigenvectors_fock_matrix_mo`
|
||||
* :c:data:`fock_matrix_mo`
|
||||
* :c:data:`list_core_inact_act`
|
||||
* :c:data:`list_inact`
|
||||
* :c:data:`list_inact_act`
|
||||
* :c:data:`mo_two_e_integrals_vv_from_ao`
|
||||
* :c:data:`n_core_inact_act_orb`
|
||||
* :c:data:`n_core_orb_allocate`
|
||||
* :c:data:`n_inact_act_orb`
|
||||
* :c:data:`n_inact_orb_allocate`
|
||||
* :c:data:`n_virt_orb_allocate`
|
||||
* :c:data:`pt2_f`
|
||||
@ -2004,9 +2057,13 @@ Providers
|
||||
* :c:data:`dim_list_core_orb`
|
||||
* :c:data:`eigenvectors_fock_matrix_mo`
|
||||
* :c:data:`fock_matrix_mo`
|
||||
* :c:data:`list_core_inact_act`
|
||||
* :c:data:`list_inact`
|
||||
* :c:data:`list_inact_act`
|
||||
* :c:data:`mo_two_e_integrals_vv_from_ao`
|
||||
* :c:data:`n_core_inact_act_orb`
|
||||
* :c:data:`n_core_orb_allocate`
|
||||
* :c:data:`n_inact_act_orb`
|
||||
* :c:data:`n_inact_orb_allocate`
|
||||
* :c:data:`n_virt_orb_allocate`
|
||||
* :c:data:`pt2_f`
|
||||
@ -2072,6 +2129,32 @@ Providers
|
||||
* :c:data:`generators_bitmask_restart`
|
||||
|
||||
|
||||
.. c:var:: n_inact_act_orb
|
||||
|
||||
|
||||
File : :file:`bitmask/core_inact_act_virt.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
integer :: n_inact_act_orb
|
||||
|
||||
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`n_core_orb`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`list_inact_act`
|
||||
|
||||
|
||||
.. c:var:: n_inact_orb
|
||||
|
||||
|
||||
@ -2129,9 +2212,13 @@ Providers
|
||||
* :c:data:`dim_list_core_orb`
|
||||
* :c:data:`eigenvectors_fock_matrix_mo`
|
||||
* :c:data:`fock_matrix_mo`
|
||||
* :c:data:`list_core_inact_act`
|
||||
* :c:data:`list_inact`
|
||||
* :c:data:`list_inact_act`
|
||||
* :c:data:`mo_two_e_integrals_vv_from_ao`
|
||||
* :c:data:`n_core_inact_act_orb`
|
||||
* :c:data:`n_core_orb_allocate`
|
||||
* :c:data:`n_inact_act_orb`
|
||||
* :c:data:`n_inact_orb_allocate`
|
||||
* :c:data:`n_virt_orb_allocate`
|
||||
* :c:data:`pt2_f`
|
||||
@ -2309,9 +2396,13 @@ Providers
|
||||
* :c:data:`dim_list_core_orb`
|
||||
* :c:data:`eigenvectors_fock_matrix_mo`
|
||||
* :c:data:`fock_matrix_mo`
|
||||
* :c:data:`list_core_inact_act`
|
||||
* :c:data:`list_inact`
|
||||
* :c:data:`list_inact_act`
|
||||
* :c:data:`mo_two_e_integrals_vv_from_ao`
|
||||
* :c:data:`n_core_inact_act_orb`
|
||||
* :c:data:`n_core_orb_allocate`
|
||||
* :c:data:`n_inact_act_orb`
|
||||
* :c:data:`n_inact_orb_allocate`
|
||||
* :c:data:`n_virt_orb_allocate`
|
||||
* :c:data:`pt2_f`
|
||||
@ -2412,7 +2503,6 @@ Providers
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`cas_bitmask`
|
||||
* :c:data:`list_inact`
|
||||
* :c:data:`n_int`
|
||||
|
||||
@ -2426,7 +2516,6 @@ Providers
|
||||
.. code:: fortran
|
||||
|
||||
integer(bit_kind), allocatable :: reunion_of_core_inact_act_bitmask (N_int,2)
|
||||
integer :: n_core_inact_act_orb
|
||||
|
||||
|
||||
Reunion of the core, inactive and active bitmasks
|
||||
@ -2436,7 +2525,7 @@ Providers
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`cas_bitmask`
|
||||
* :c:data:`list_inact`
|
||||
* :c:data:`n_int`
|
||||
* :c:data:`reunion_of_core_inact_bitmask`
|
||||
|
||||
@ -2570,10 +2659,12 @@ Providers
|
||||
* :c:data:`fock_matrix_mo`
|
||||
* :c:data:`inact_virt_bitmask`
|
||||
* :c:data:`list_core_inact_act`
|
||||
* :c:data:`list_inact_act`
|
||||
* :c:data:`mo_two_e_integrals_in_map`
|
||||
* :c:data:`mo_two_e_integrals_vv_from_ao`
|
||||
* :c:data:`reunion_of_bitmask`
|
||||
* :c:data:`reunion_of_cas_inact_bitmask`
|
||||
* :c:data:`reunion_of_core_inact_act_bitmask`
|
||||
* :c:data:`reunion_of_core_inact_bitmask`
|
||||
* :c:data:`virt_bitmask_4`
|
||||
|
||||
|
@ -344,6 +344,34 @@ Providers
|
||||
|
||||
|
||||
|
||||
.. c:var:: pt2_match_weight
|
||||
|
||||
|
||||
File : :file:`cipsi/selection.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: pt2_match_weight (N_states)
|
||||
|
||||
|
||||
Weights adjusted along the selection to make the PT2 contributions
|
||||
of each state coincide.
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`n_states`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`selection_weight`
|
||||
|
||||
|
||||
.. c:var:: pt2_mindetinfirstteeth
|
||||
|
||||
|
||||
@ -698,6 +726,7 @@ Providers
|
||||
|
||||
* :c:data:`c0_weight`
|
||||
* :c:data:`n_states`
|
||||
* :c:data:`pt2_match_weight`
|
||||
|
||||
|
||||
|
||||
@ -854,6 +883,8 @@ Subroutines / functions
|
||||
* :c:data:`psi_det_hii`
|
||||
* :c:data:`do_only_1h1p`
|
||||
* :c:data:`h0_type`
|
||||
* :c:data:`thresh_sym`
|
||||
* :c:data:`pseudo_sym`
|
||||
* :c:data:`psi_det_generators`
|
||||
|
||||
Called by:
|
||||
@ -1584,6 +1615,7 @@ Subroutines / functions
|
||||
* :c:data:`psi_energy`
|
||||
* :c:data:`psi_occ_pattern`
|
||||
* :c:data:`psi_energy`
|
||||
* :c:data:`pt2_match_weight`
|
||||
* :c:data:`pt2_stoch_istate`
|
||||
* :c:data:`state_average_weight`
|
||||
* :c:data:`threshold_generators`
|
||||
@ -1805,6 +1837,7 @@ Subroutines / functions
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`fci`
|
||||
* :c:func:`pt2`
|
||||
|
||||
Calls:
|
||||
@ -1991,6 +2024,7 @@ Subroutines / functions
|
||||
* :c:data:`psi_energy`
|
||||
* :c:data:`psi_occ_pattern`
|
||||
* :c:data:`psi_energy`
|
||||
* :c:data:`pt2_match_weight`
|
||||
* :c:data:`pt2_stoch_istate`
|
||||
* :c:data:`state_average_weight`
|
||||
* :c:data:`threshold_generators`
|
||||
@ -2344,6 +2378,7 @@ Subroutines / functions
|
||||
* :c:data:`state_average_weight`
|
||||
* :c:data:`n_det`
|
||||
* :c:data:`s2_eig`
|
||||
* :c:data:`pt2_match_weight`
|
||||
* :c:data:`pt2_j`
|
||||
* :c:data:`mo_two_e_integrals_in_map`
|
||||
* :c:data:`psi_bilinear_matrix_transp_values`
|
||||
@ -2415,6 +2450,7 @@ Subroutines / functions
|
||||
* :c:data:`psi_det`
|
||||
* :c:data:`psi_det_size`
|
||||
* :c:data:`psi_det_sorted_bit`
|
||||
* :c:data:`pt2_match_weight`
|
||||
* :c:data:`pt2_stoch_istate`
|
||||
* :c:data:`state_average_weight`
|
||||
|
||||
@ -2441,6 +2477,7 @@ Subroutines / functions
|
||||
* :c:data:`n_det`
|
||||
* :c:data:`psi_bilinear_matrix_columns_loc`
|
||||
* :c:data:`n_det_selectors`
|
||||
* :c:data:`psi_bilinear_matrix_transp_values`
|
||||
* :c:data:`psi_det_alpha_unique`
|
||||
* :c:data:`psi_bilinear_matrix_transp_values`
|
||||
* :c:data:`state_average_weight`
|
||||
@ -2456,7 +2493,7 @@ Subroutines / functions
|
||||
* :c:data:`n_states`
|
||||
* :c:data:`pt2_f`
|
||||
* :c:data:`n_det_generators`
|
||||
* :c:data:`psi_bilinear_matrix_transp_values`
|
||||
* :c:data:`pt2_match_weight`
|
||||
* :c:data:`n_int`
|
||||
|
||||
Called by:
|
||||
@ -2496,4 +2533,5 @@ Subroutines / functions
|
||||
* :c:data:`psi_det`
|
||||
* :c:data:`psi_det_size`
|
||||
* :c:data:`psi_det_sorted_bit`
|
||||
* :c:data:`pt2_match_weight`
|
||||
|
||||
|
@ -72,7 +72,7 @@ Subroutines / functions
|
||||
.. c:function:: h_apply_cis:
|
||||
|
||||
|
||||
File : :file:`h_apply.irp.f_shell_8`
|
||||
File : :file:`h_apply.irp.f_shell_13`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
@ -134,7 +134,7 @@ Subroutines / functions
|
||||
.. c:function:: h_apply_cis_diexc:
|
||||
|
||||
|
||||
File : :file:`h_apply.irp.f_shell_8`
|
||||
File : :file:`h_apply.irp.f_shell_13`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
@ -169,7 +169,7 @@ Subroutines / functions
|
||||
.. c:function:: h_apply_cis_diexcorg:
|
||||
|
||||
|
||||
File : :file:`h_apply.irp.f_shell_8`
|
||||
File : :file:`h_apply.irp.f_shell_13`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
@ -208,7 +208,7 @@ Subroutines / functions
|
||||
.. c:function:: h_apply_cis_diexcp:
|
||||
|
||||
|
||||
File : :file:`h_apply.irp.f_shell_8`
|
||||
File : :file:`h_apply.irp.f_shell_13`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
@ -243,7 +243,7 @@ Subroutines / functions
|
||||
.. c:function:: h_apply_cis_monoexc:
|
||||
|
||||
|
||||
File : :file:`h_apply.irp.f_shell_8`
|
||||
File : :file:`h_apply.irp.f_shell_13`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
@ -278,3 +278,215 @@ Subroutines / functions
|
||||
* :c:func:`bitstring_to_list_ab`
|
||||
* :c:func:`fill_h_apply_buffer_no_selection`
|
||||
|
||||
|
||||
.. c:function:: h_apply_cis_sym:
|
||||
|
||||
|
||||
File : :file:`h_apply.irp.f_shell_13`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
subroutine H_apply_cis_sym()
|
||||
|
||||
|
||||
Calls H_apply on the |HF| determinant and selects all connected single and double
|
||||
excitations (of the same symmetry). Auto-generated by the ``generate_h_apply`` script.
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`psi_coef`
|
||||
* :c:data:`n_states`
|
||||
* :c:data:`generators_bitmask`
|
||||
* :c:data:`mo_num`
|
||||
* :c:data:`mo_two_e_integrals_in_map`
|
||||
* :c:data:`h_apply_buffer_allocated`
|
||||
* :c:data:`n_det`
|
||||
* :c:data:`s2_eig`
|
||||
* :c:data:`n_det_generators`
|
||||
* :c:data:`i_bitmask_gen`
|
||||
* :c:data:`n_int`
|
||||
* :c:data:`psi_det`
|
||||
* :c:data:`psi_det_generators`
|
||||
* :c:data:`psi_det_generators`
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`build_fock_tmp`
|
||||
* :c:func:`copy_h_apply_buffer_to_wf`
|
||||
* :c:func:`dsort`
|
||||
* :c:func:`h_apply_cis_sym_diexc`
|
||||
* :c:func:`h_apply_cis_sym_monoexc`
|
||||
* :c:func:`make_s2_eigenfunction`
|
||||
* :c:func:`wall_time`
|
||||
|
||||
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`
|
||||
|
||||
|
||||
.. c:function:: h_apply_cis_sym_diexc:
|
||||
|
||||
|
||||
File : :file:`h_apply.irp.f_shell_13`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
subroutine H_apply_cis_sym_diexc(key_in, key_prev, hole_1,particl_1, hole_2, particl_2, fock_diag_tmp, i_generator, iproc_in )
|
||||
|
||||
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`n_int`
|
||||
* :c:data:`n_det`
|
||||
* :c:data:`mo_num`
|
||||
|
||||
Called by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`h_apply_cis_sym`
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`h_apply_cis_sym_diexcp`
|
||||
|
||||
|
||||
.. c:function:: h_apply_cis_sym_diexcorg:
|
||||
|
||||
|
||||
File : :file:`h_apply.irp.f_shell_13`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
subroutine H_apply_cis_sym_diexcOrg(key_in,key_mask,hole_1,particl_1,hole_2, particl_2, fock_diag_tmp, i_generator, iproc_in )
|
||||
|
||||
|
||||
Generate all double excitations of key_in using the bit masks of holes and
|
||||
particles.
|
||||
Assume N_int is already provided.
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`n_int`
|
||||
* :c:data:`elec_alpha_num`
|
||||
* :c:data:`mo_num`
|
||||
|
||||
Called by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`h_apply_cis_sym_diexcp`
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`bitstring_to_list_ab`
|
||||
* :c:func:`connected_to_hf`
|
||||
* :c:func:`fill_h_apply_buffer_no_selection`
|
||||
|
||||
|
||||
.. c:function:: h_apply_cis_sym_diexcp:
|
||||
|
||||
|
||||
File : :file:`h_apply.irp.f_shell_13`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
subroutine H_apply_cis_sym_diexcP(key_in, fs1, fh1, particl_1, fs2, fh2, particl_2, fock_diag_tmp, i_generator, iproc_in )
|
||||
|
||||
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`n_int`
|
||||
* :c:data:`n_det`
|
||||
* :c:data:`mo_num`
|
||||
|
||||
Called by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`h_apply_cis_sym_diexc`
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`h_apply_cis_sym_diexcorg`
|
||||
|
||||
|
||||
.. c:function:: h_apply_cis_sym_monoexc:
|
||||
|
||||
|
||||
File : :file:`h_apply.irp.f_shell_13`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
subroutine H_apply_cis_sym_monoexc(key_in, hole_1,particl_1,fock_diag_tmp,i_generator,iproc_in )
|
||||
|
||||
|
||||
Generate all single excitations of key_in using the bit masks of holes and
|
||||
particles.
|
||||
Assume N_int is already provided.
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`n_int`
|
||||
* :c:data:`elec_alpha_num`
|
||||
* :c:data:`mo_num`
|
||||
|
||||
Called by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`h_apply_cis_sym`
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`bitstring_to_list_ab`
|
||||
* :c:func:`connected_to_hf`
|
||||
* :c:func:`fill_h_apply_buffer_no_selection`
|
||||
|
||||
|
@ -65,7 +65,7 @@ Subroutines / functions
|
||||
.. c:function:: h_apply_cisd:
|
||||
|
||||
|
||||
File : :file:`h_apply.irp.f_shell_8`
|
||||
File : :file:`h_apply.irp.f_shell_12`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
@ -127,7 +127,7 @@ Subroutines / functions
|
||||
.. c:function:: h_apply_cisd_diexc:
|
||||
|
||||
|
||||
File : :file:`h_apply.irp.f_shell_8`
|
||||
File : :file:`h_apply.irp.f_shell_12`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
@ -162,7 +162,7 @@ Subroutines / functions
|
||||
.. c:function:: h_apply_cisd_diexcorg:
|
||||
|
||||
|
||||
File : :file:`h_apply.irp.f_shell_8`
|
||||
File : :file:`h_apply.irp.f_shell_12`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
@ -201,7 +201,7 @@ Subroutines / functions
|
||||
.. c:function:: h_apply_cisd_diexcp:
|
||||
|
||||
|
||||
File : :file:`h_apply.irp.f_shell_8`
|
||||
File : :file:`h_apply.irp.f_shell_12`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
@ -236,7 +236,7 @@ Subroutines / functions
|
||||
.. c:function:: h_apply_cisd_monoexc:
|
||||
|
||||
|
||||
File : :file:`h_apply.irp.f_shell_8`
|
||||
File : :file:`h_apply.irp.f_shell_12`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
@ -271,3 +271,215 @@ Subroutines / functions
|
||||
* :c:func:`bitstring_to_list_ab`
|
||||
* :c:func:`fill_h_apply_buffer_no_selection`
|
||||
|
||||
|
||||
.. c:function:: h_apply_cisd_sym:
|
||||
|
||||
|
||||
File : :file:`h_apply.irp.f_shell_12`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
subroutine H_apply_cisd_sym()
|
||||
|
||||
|
||||
Calls H_apply on the |HF| determinant and selects all connected single and double
|
||||
excitations (of the same symmetry). Auto-generated by the ``generate_h_apply`` script.
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`psi_coef`
|
||||
* :c:data:`n_states`
|
||||
* :c:data:`generators_bitmask`
|
||||
* :c:data:`mo_num`
|
||||
* :c:data:`mo_two_e_integrals_in_map`
|
||||
* :c:data:`h_apply_buffer_allocated`
|
||||
* :c:data:`n_det`
|
||||
* :c:data:`s2_eig`
|
||||
* :c:data:`n_det_generators`
|
||||
* :c:data:`i_bitmask_gen`
|
||||
* :c:data:`n_int`
|
||||
* :c:data:`psi_det`
|
||||
* :c:data:`psi_det_generators`
|
||||
* :c:data:`psi_det_generators`
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`build_fock_tmp`
|
||||
* :c:func:`copy_h_apply_buffer_to_wf`
|
||||
* :c:func:`dsort`
|
||||
* :c:func:`h_apply_cisd_sym_diexc`
|
||||
* :c:func:`h_apply_cisd_sym_monoexc`
|
||||
* :c:func:`make_s2_eigenfunction`
|
||||
* :c:func:`wall_time`
|
||||
|
||||
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`
|
||||
|
||||
|
||||
.. c:function:: h_apply_cisd_sym_diexc:
|
||||
|
||||
|
||||
File : :file:`h_apply.irp.f_shell_12`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
subroutine H_apply_cisd_sym_diexc(key_in, key_prev, hole_1,particl_1, hole_2, particl_2, fock_diag_tmp, i_generator, iproc_in )
|
||||
|
||||
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`n_int`
|
||||
* :c:data:`n_det`
|
||||
* :c:data:`mo_num`
|
||||
|
||||
Called by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`h_apply_cisd_sym`
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`h_apply_cisd_sym_diexcp`
|
||||
|
||||
|
||||
.. c:function:: h_apply_cisd_sym_diexcorg:
|
||||
|
||||
|
||||
File : :file:`h_apply.irp.f_shell_12`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
subroutine H_apply_cisd_sym_diexcOrg(key_in,key_mask,hole_1,particl_1,hole_2, particl_2, fock_diag_tmp, i_generator, iproc_in )
|
||||
|
||||
|
||||
Generate all double excitations of key_in using the bit masks of holes and
|
||||
particles.
|
||||
Assume N_int is already provided.
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`n_int`
|
||||
* :c:data:`elec_alpha_num`
|
||||
* :c:data:`mo_num`
|
||||
|
||||
Called by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`h_apply_cisd_sym_diexcp`
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`bitstring_to_list_ab`
|
||||
* :c:func:`connected_to_hf`
|
||||
* :c:func:`fill_h_apply_buffer_no_selection`
|
||||
|
||||
|
||||
.. c:function:: h_apply_cisd_sym_diexcp:
|
||||
|
||||
|
||||
File : :file:`h_apply.irp.f_shell_12`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
subroutine H_apply_cisd_sym_diexcP(key_in, fs1, fh1, particl_1, fs2, fh2, particl_2, fock_diag_tmp, i_generator, iproc_in )
|
||||
|
||||
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`n_int`
|
||||
* :c:data:`n_det`
|
||||
* :c:data:`mo_num`
|
||||
|
||||
Called by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`h_apply_cisd_sym_diexc`
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`h_apply_cisd_sym_diexcorg`
|
||||
|
||||
|
||||
.. c:function:: h_apply_cisd_sym_monoexc:
|
||||
|
||||
|
||||
File : :file:`h_apply.irp.f_shell_12`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
subroutine H_apply_cisd_sym_monoexc(key_in, hole_1,particl_1,fock_diag_tmp,i_generator,iproc_in )
|
||||
|
||||
|
||||
Generate all single excitations of key_in using the bit masks of holes and
|
||||
particles.
|
||||
Assume N_int is already provided.
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`n_int`
|
||||
* :c:data:`elec_alpha_num`
|
||||
* :c:data:`mo_num`
|
||||
|
||||
Called by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`h_apply_cisd_sym`
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`bitstring_to_list_ab`
|
||||
* :c:func:`connected_to_hf`
|
||||
* :c:func:`fill_h_apply_buffer_no_selection`
|
||||
|
||||
|
@ -44,6 +44,12 @@ EZFIO parameters
|
||||
|
||||
Default: full_density
|
||||
|
||||
.. option:: normalize_dm
|
||||
|
||||
if .True., then you normalize the no_core_dm to elec_alpha_num - n_core_orb and elec_beta_num - n_core_orb
|
||||
|
||||
Default: True
|
||||
|
||||
|
||||
Providers
|
||||
---------
|
||||
@ -131,6 +137,9 @@ Providers
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`data_one_e_dm_alpha_ao`
|
||||
* :c:data:`data_one_e_dm_beta_ao`
|
||||
* :c:data:`density_for_dft`
|
||||
* :c:data:`mo_coef`
|
||||
* :c:data:`mo_num`
|
||||
* :c:data:`n_states`
|
||||
@ -147,6 +156,39 @@ Providers
|
||||
* :c:data:`one_e_dm_and_grad_alpha_in_r`
|
||||
|
||||
|
||||
.. c:var:: one_e_dm_alpha_ao_for_dft_no_core
|
||||
|
||||
|
||||
File : :file:`density_for_dft/density_for_dft.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: one_e_dm_alpha_ao_for_dft_no_core (ao_num,ao_num,N_states)
|
||||
double precision, allocatable :: one_e_dm_beta_ao_for_dft_no_core (ao_num,ao_num,N_states)
|
||||
|
||||
|
||||
one body density matrix on the AO basis based on one_e_dm_mo_alpha_for_dft_no_core
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`mo_coef`
|
||||
* :c:data:`mo_num`
|
||||
* :c:data:`n_states`
|
||||
* :c:data:`one_e_dm_mo_alpha_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_average_mo_for_dft
|
||||
|
||||
|
||||
@ -195,6 +237,9 @@ Providers
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`data_one_e_dm_alpha_ao`
|
||||
* :c:data:`data_one_e_dm_beta_ao`
|
||||
* :c:data:`density_for_dft`
|
||||
* :c:data:`mo_coef`
|
||||
* :c:data:`mo_num`
|
||||
* :c:data:`n_states`
|
||||
@ -211,6 +256,39 @@ Providers
|
||||
* :c:data:`one_e_dm_and_grad_alpha_in_r`
|
||||
|
||||
|
||||
.. c:var:: one_e_dm_beta_ao_for_dft_no_core
|
||||
|
||||
|
||||
File : :file:`density_for_dft/density_for_dft.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: one_e_dm_alpha_ao_for_dft_no_core (ao_num,ao_num,N_states)
|
||||
double precision, allocatable :: one_e_dm_beta_ao_for_dft_no_core (ao_num,ao_num,N_states)
|
||||
|
||||
|
||||
one body density matrix on the AO basis based on one_e_dm_mo_alpha_for_dft_no_core
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`mo_coef`
|
||||
* :c:data:`mo_num`
|
||||
* :c:data:`n_states`
|
||||
* :c:data:`one_e_dm_mo_alpha_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
|
||||
|
||||
|
||||
@ -228,14 +306,18 @@ Providers
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`damping_for_rs_dft`
|
||||
* :c:data:`data_one_e_dm_alpha_mo`
|
||||
* :c:data:`density_for_dft`
|
||||
* :c:data:`elec_alpha_num`
|
||||
* :c:data:`list_inact`
|
||||
* :c:data:`mo_coef`
|
||||
* :c:data:`mo_num`
|
||||
* :c:data:`n_core_orb`
|
||||
* :c:data:`n_states`
|
||||
* :c:data:`no_core_density`
|
||||
* :c:data:`normalize_dm`
|
||||
* :c:data:`one_body_dm_mo_alpha_one_det`
|
||||
* :c:data:`one_e_dm_mo_alpha`
|
||||
* :c:data:`one_e_dm_mo_alpha_average`
|
||||
@ -246,12 +328,44 @@ Providers
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`one_e_dm_alpha_ao_for_dft`
|
||||
* :c:data:`one_e_dm_mo_alpha_for_dft_no_core`
|
||||
* :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
|
||||
|
||||
|
||||
File : :file:`density_for_dft/density_for_dft.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: one_e_dm_mo_alpha_for_dft_no_core (mo_num,mo_num,N_states)
|
||||
|
||||
|
||||
density matrix for alpha electrons in the MO basis without the core orbitals
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`list_inact`
|
||||
* :c:data:`mo_num`
|
||||
* :c:data:`n_core_orb`
|
||||
* :c:data:`n_states`
|
||||
* :c:data:`one_e_dm_mo_alpha_for_dft`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`one_e_dm_alpha_ao_for_dft_no_core`
|
||||
|
||||
|
||||
.. c:var:: one_e_dm_mo_beta_for_dft
|
||||
|
||||
|
||||
@ -269,14 +383,18 @@ Providers
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`damping_for_rs_dft`
|
||||
* :c:data:`data_one_e_dm_beta_mo`
|
||||
* :c:data:`density_for_dft`
|
||||
* :c:data:`elec_beta_num`
|
||||
* :c:data:`list_inact`
|
||||
* :c:data:`mo_coef`
|
||||
* :c:data:`mo_num`
|
||||
* :c:data:`n_core_orb`
|
||||
* :c:data:`n_states`
|
||||
* :c:data:`no_core_density`
|
||||
* :c:data:`normalize_dm`
|
||||
* :c:data:`one_body_dm_mo_alpha_one_det`
|
||||
* :c:data:`one_e_dm_mo_alpha`
|
||||
* :c:data:`one_e_dm_mo_alpha_average`
|
||||
@ -287,12 +405,44 @@ Providers
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`one_e_dm_alpha_ao_for_dft`
|
||||
* :c:data:`one_e_dm_mo_beta_for_dft_no_core`
|
||||
* :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
|
||||
|
||||
|
||||
File : :file:`density_for_dft/density_for_dft.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: one_e_dm_mo_beta_for_dft_no_core (mo_num,mo_num,N_states)
|
||||
|
||||
|
||||
density matrix for beta electrons in the MO basis without the core orbitals
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`list_inact`
|
||||
* :c:data:`mo_num`
|
||||
* :c:data:`n_core_orb`
|
||||
* :c:data:`n_states`
|
||||
* :c:data:`one_e_dm_mo_beta_for_dft`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`one_e_dm_alpha_ao_for_dft_no_core`
|
||||
|
||||
|
||||
.. c:var:: one_e_dm_mo_for_dft
|
||||
|
||||
|
||||
|
@ -71,7 +71,7 @@ EZFIO parameters
|
||||
|
||||
Thresholds on generators (fraction of the square of the norm)
|
||||
|
||||
Default: 0.99
|
||||
Default: 0.999
|
||||
|
||||
.. option:: n_int
|
||||
|
||||
@ -119,6 +119,18 @@ EZFIO parameters
|
||||
Weight of the states in state-average calculations.
|
||||
|
||||
|
||||
.. option:: thresh_sym
|
||||
|
||||
Thresholds to check if a determinant is connected with HF
|
||||
|
||||
Default: 1.e-15
|
||||
|
||||
.. option:: pseudo_sym
|
||||
|
||||
If |true|, discard any Slater determinants with an interaction smaller than thresh_sym with HF.
|
||||
|
||||
Default: False
|
||||
|
||||
|
||||
Providers
|
||||
---------
|
||||
@ -3971,6 +3983,37 @@ Subroutines / functions
|
||||
* :c:func:`debug_det`
|
||||
|
||||
|
||||
.. c:function:: connected_to_hf:
|
||||
|
||||
|
||||
File : :file:`determinants/slater_rules.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
subroutine connected_to_hf(key_i,yes_no)
|
||||
|
||||
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`thresh_sym`
|
||||
* :c:data:`ref_bitmask`
|
||||
* :c:data:`mo_one_e_integrals`
|
||||
* :c:data:`n_int`
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`get_excitation_degree`
|
||||
* :c:func:`get_single_excitation`
|
||||
* :c:func:`i_h_j`
|
||||
|
||||
|
||||
.. c:function:: connected_to_ref:
|
||||
|
||||
|
||||
@ -5367,6 +5410,7 @@ Subroutines / functions
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`connected_to_hf`
|
||||
* :c:data:`degree_max_generators`
|
||||
* :c:func:`diag_h_mat_elem_fock`
|
||||
* :c:func:`example_determinants`
|
||||
@ -5699,6 +5743,7 @@ Subroutines / functions
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`connected_to_hf`
|
||||
* :c:func:`diag_h_mat_elem_fock`
|
||||
* :c:func:`get_excitation`
|
||||
* :c:func:`i_h_j`
|
||||
@ -5866,6 +5911,7 @@ Subroutines / functions
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`coef_hf_selector`
|
||||
* :c:func:`connected_to_hf`
|
||||
* :c:func:`example_determinants`
|
||||
* :c:func:`get_d0`
|
||||
* :c:func:`get_d1`
|
||||
|
@ -344,6 +344,94 @@ Providers
|
||||
* :c:data:`mos_lapl_in_r_array`
|
||||
|
||||
|
||||
.. c:var:: elec_alpha_num_grid_becke
|
||||
|
||||
|
||||
File : :file:`dft_utils_in_r/dm_in_r.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: one_e_dm_alpha_at_r (n_points_final_grid,N_states)
|
||||
double precision, allocatable :: one_e_dm_beta_at_r (n_points_final_grid,N_states)
|
||||
double precision, allocatable :: elec_beta_num_grid_becke (N_states)
|
||||
double precision, allocatable :: elec_alpha_num_grid_becke (N_states)
|
||||
|
||||
|
||||
one_e_dm_alpha_at_r(i,istate) = n_alpha(r_i,istate)
|
||||
one_e_dm_beta_at_r(i,istate) = n_beta(r_i,istate)
|
||||
where r_i is the ith point of the grid and istate is the state number
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`final_grid_points`
|
||||
* :c:data:`n_points_final_grid`
|
||||
* :c:data:`n_states`
|
||||
* :c:data:`one_e_dm_alpha_ao_for_dft`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`aos_sr_vc_alpha_lda_w`
|
||||
* :c:data:`aos_sr_vxc_alpha_lda_w`
|
||||
* :c:data:`aos_vc_alpha_lda_w`
|
||||
* :c:data:`aos_vxc_alpha_lda_w`
|
||||
* :c:data:`energy_c_lda`
|
||||
* :c:data:`energy_c_sr_lda`
|
||||
* :c:data:`energy_sr_x_lda`
|
||||
* :c:data:`energy_x_lda`
|
||||
* :c:data:`energy_x_sr_lda`
|
||||
|
||||
|
||||
.. c:var:: elec_beta_num_grid_becke
|
||||
|
||||
|
||||
File : :file:`dft_utils_in_r/dm_in_r.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: one_e_dm_alpha_at_r (n_points_final_grid,N_states)
|
||||
double precision, allocatable :: one_e_dm_beta_at_r (n_points_final_grid,N_states)
|
||||
double precision, allocatable :: elec_beta_num_grid_becke (N_states)
|
||||
double precision, allocatable :: elec_alpha_num_grid_becke (N_states)
|
||||
|
||||
|
||||
one_e_dm_alpha_at_r(i,istate) = n_alpha(r_i,istate)
|
||||
one_e_dm_beta_at_r(i,istate) = n_beta(r_i,istate)
|
||||
where r_i is the ith point of the grid and istate is the state number
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`final_grid_points`
|
||||
* :c:data:`n_points_final_grid`
|
||||
* :c:data:`n_states`
|
||||
* :c:data:`one_e_dm_alpha_ao_for_dft`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`aos_sr_vc_alpha_lda_w`
|
||||
* :c:data:`aos_sr_vxc_alpha_lda_w`
|
||||
* :c:data:`aos_vc_alpha_lda_w`
|
||||
* :c:data:`aos_vxc_alpha_lda_w`
|
||||
* :c:data:`energy_c_lda`
|
||||
* :c:data:`energy_c_sr_lda`
|
||||
* :c:data:`energy_sr_x_lda`
|
||||
* :c:data:`energy_x_lda`
|
||||
* :c:data:`energy_x_sr_lda`
|
||||
|
||||
|
||||
.. c:var:: mos_grad_in_r_array
|
||||
|
||||
|
||||
@ -467,6 +555,8 @@ Providers
|
||||
|
||||
double precision, allocatable :: one_e_dm_alpha_at_r (n_points_final_grid,N_states)
|
||||
double precision, allocatable :: one_e_dm_beta_at_r (n_points_final_grid,N_states)
|
||||
double precision, allocatable :: elec_beta_num_grid_becke (N_states)
|
||||
double precision, allocatable :: elec_alpha_num_grid_becke (N_states)
|
||||
|
||||
|
||||
one_e_dm_alpha_at_r(i,istate) = n_alpha(r_i,istate)
|
||||
@ -628,6 +718,8 @@ Providers
|
||||
|
||||
double precision, allocatable :: one_e_dm_alpha_at_r (n_points_final_grid,N_states)
|
||||
double precision, allocatable :: one_e_dm_beta_at_r (n_points_final_grid,N_states)
|
||||
double precision, allocatable :: elec_beta_num_grid_becke (N_states)
|
||||
double precision, allocatable :: elec_alpha_num_grid_becke (N_states)
|
||||
|
||||
|
||||
one_e_dm_alpha_at_r(i,istate) = n_alpha(r_i,istate)
|
||||
@ -688,6 +780,66 @@ Providers
|
||||
|
||||
|
||||
|
||||
.. c:var:: one_e_dm_no_core_and_grad_alpha_in_r
|
||||
|
||||
|
||||
File : :file:`dft_utils_in_r/dm_in_r.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: one_e_dm_no_core_and_grad_alpha_in_r (4,n_points_final_grid,N_states)
|
||||
double precision, allocatable :: one_e_dm_no_core_and_grad_beta_in_r (4,n_points_final_grid,N_states)
|
||||
|
||||
|
||||
one_e_dm_no_core_and_grad_alpha_in_r(1,i,i_state) = d\dx n_alpha(r_i,istate) without core orbitals
|
||||
one_e_dm_no_core_and_grad_alpha_in_r(2,i,i_state) = d\dy n_alpha(r_i,istate) without core orbitals
|
||||
one_e_dm_no_core_and_grad_alpha_in_r(3,i,i_state) = d\dz n_alpha(r_i,istate) without core orbitals
|
||||
one_e_dm_no_core_and_grad_alpha_in_r(4,i,i_state) = n_alpha(r_i,istate) without core orbitals
|
||||
where r_i is the ith point of the grid and istate is the state number
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`final_grid_points`
|
||||
* :c:data:`n_points_final_grid`
|
||||
* :c:data:`n_states`
|
||||
* :c:data:`one_e_dm_alpha_ao_for_dft_no_core`
|
||||
|
||||
|
||||
|
||||
.. c:var:: one_e_dm_no_core_and_grad_beta_in_r
|
||||
|
||||
|
||||
File : :file:`dft_utils_in_r/dm_in_r.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: one_e_dm_no_core_and_grad_alpha_in_r (4,n_points_final_grid,N_states)
|
||||
double precision, allocatable :: one_e_dm_no_core_and_grad_beta_in_r (4,n_points_final_grid,N_states)
|
||||
|
||||
|
||||
one_e_dm_no_core_and_grad_alpha_in_r(1,i,i_state) = d\dx n_alpha(r_i,istate) without core orbitals
|
||||
one_e_dm_no_core_and_grad_alpha_in_r(2,i,i_state) = d\dy n_alpha(r_i,istate) without core orbitals
|
||||
one_e_dm_no_core_and_grad_alpha_in_r(3,i,i_state) = d\dz n_alpha(r_i,istate) without core orbitals
|
||||
one_e_dm_no_core_and_grad_alpha_in_r(4,i,i_state) = n_alpha(r_i,istate) without core orbitals
|
||||
where r_i is the ith point of the grid and istate is the state number
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`final_grid_points`
|
||||
* :c:data:`n_points_final_grid`
|
||||
* :c:data:`n_states`
|
||||
* :c:data:`one_e_dm_alpha_ao_for_dft_no_core`
|
||||
|
||||
|
||||
|
||||
.. c:var:: one_e_grad_2_dm_alpha_at_r
|
||||
|
||||
|
||||
@ -784,6 +936,55 @@ Providers
|
||||
Subroutines / functions
|
||||
-----------------------
|
||||
|
||||
.. c:function:: dens_grad_a_b_no_core_and_aos_grad_aos_at_r:
|
||||
|
||||
|
||||
File : :file:`dft_utils_in_r/dm_in_r.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
subroutine dens_grad_a_b_no_core_and_aos_grad_aos_at_r(r,dm_a,dm_b, grad_dm_a, grad_dm_b, aos_array, grad_aos_array)
|
||||
|
||||
|
||||
input:
|
||||
|
||||
* r(1) ==> r(1) = x, r(2) = y, r(3) = z
|
||||
|
||||
output:
|
||||
|
||||
* dm_a = alpha density evaluated at r without the core orbitals
|
||||
* dm_b = beta density evaluated at r without the core orbitals
|
||||
* aos_array(i) = ao(i) evaluated at r without the core orbitals
|
||||
* grad_dm_a(1) = X gradient of the alpha density evaluated in r without the core orbitals
|
||||
* grad_dm_a(1) = X gradient of the beta density evaluated in r without the core orbitals
|
||||
* grad_aos_array(1) = X gradient of the aos(i) evaluated at r
|
||||
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`one_e_dm_alpha_ao_for_dft_no_core`
|
||||
* :c:data:`n_states`
|
||||
|
||||
Called by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`one_e_dm_no_core_and_grad_alpha_in_r`
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`dsymv`
|
||||
* :c:func:`give_all_aos_and_grad_at_r`
|
||||
|
||||
|
||||
.. c:function:: density_and_grad_alpha_beta_and_all_aos_and_grad_aos_at_r:
|
||||
|
||||
|
||||
@ -905,3 +1106,35 @@ Subroutines / functions
|
||||
* :c:func:`dgemv`
|
||||
* :c:func:`give_all_aos_at_r`
|
||||
|
||||
|
||||
.. c:function:: dm_dft_alpha_beta_no_core_at_r:
|
||||
|
||||
|
||||
File : :file:`dft_utils_in_r/dm_in_r.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
subroutine dm_dft_alpha_beta_no_core_at_r(r,dm_a,dm_b)
|
||||
|
||||
|
||||
input: r(1) ==> r(1) = x, r(2) = y, r(3) = z
|
||||
output : dm_a = alpha density evaluated at r(3) without the core orbitals
|
||||
output : dm_b = beta density evaluated at r(3) without the core orbitals
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`one_e_dm_alpha_ao_for_dft_no_core`
|
||||
* :c:data:`n_states`
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`dgemv`
|
||||
* :c:func:`give_all_aos_at_r`
|
||||
|
||||
|
@ -387,320 +387,6 @@ Providers
|
||||
* :c:data:`energy_x_sr_pbe`
|
||||
|
||||
|
||||
.. c:var:: potential_sr_c_alpha_ao_lda
|
||||
|
||||
|
||||
File : :file:`dft_utils_one_e/sr_pot_ao_lda.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: potential_sr_c_alpha_ao_lda (ao_num,ao_num,N_states)
|
||||
double precision, allocatable :: potential_sr_c_beta_ao_lda (ao_num,ao_num,N_states)
|
||||
|
||||
|
||||
short range correlation alpha/beta potentials with LDA functional on the |AO| basis
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`aos_in_r_array`
|
||||
* :c:data:`aos_sr_vc_alpha_lda_w`
|
||||
* :c:data:`n_points_final_grid`
|
||||
* :c:data:`n_states`
|
||||
|
||||
|
||||
|
||||
.. c:var:: potential_sr_c_alpha_ao_pbe
|
||||
|
||||
|
||||
File : :file:`dft_utils_one_e/sr_pot_ao_pbe.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: potential_sr_x_alpha_ao_pbe (ao_num,ao_num,N_states)
|
||||
double precision, allocatable :: potential_sr_x_beta_ao_pbe (ao_num,ao_num,N_states)
|
||||
double precision, allocatable :: potential_sr_c_alpha_ao_pbe (ao_num,ao_num,N_states)
|
||||
double precision, allocatable :: potential_sr_c_beta_ao_pbe (ao_num,ao_num,N_states)
|
||||
|
||||
|
||||
exchange / correlation potential for alpha / beta electrons with the Perdew-Burke-Ernzerhof GGA functional
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`n_states`
|
||||
* :c:data:`pot_sr_grad_x_alpha_ao_pbe`
|
||||
* :c:data:`pot_sr_scal_x_alpha_ao_pbe`
|
||||
|
||||
|
||||
|
||||
.. c:var:: potential_sr_c_beta_ao_lda
|
||||
|
||||
|
||||
File : :file:`dft_utils_one_e/sr_pot_ao_lda.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: potential_sr_c_alpha_ao_lda (ao_num,ao_num,N_states)
|
||||
double precision, allocatable :: potential_sr_c_beta_ao_lda (ao_num,ao_num,N_states)
|
||||
|
||||
|
||||
short range correlation alpha/beta potentials with LDA functional on the |AO| basis
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`aos_in_r_array`
|
||||
* :c:data:`aos_sr_vc_alpha_lda_w`
|
||||
* :c:data:`n_points_final_grid`
|
||||
* :c:data:`n_states`
|
||||
|
||||
|
||||
|
||||
.. c:var:: potential_sr_c_beta_ao_pbe
|
||||
|
||||
|
||||
File : :file:`dft_utils_one_e/sr_pot_ao_pbe.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: potential_sr_x_alpha_ao_pbe (ao_num,ao_num,N_states)
|
||||
double precision, allocatable :: potential_sr_x_beta_ao_pbe (ao_num,ao_num,N_states)
|
||||
double precision, allocatable :: potential_sr_c_alpha_ao_pbe (ao_num,ao_num,N_states)
|
||||
double precision, allocatable :: potential_sr_c_beta_ao_pbe (ao_num,ao_num,N_states)
|
||||
|
||||
|
||||
exchange / correlation potential for alpha / beta electrons with the Perdew-Burke-Ernzerhof GGA functional
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`n_states`
|
||||
* :c:data:`pot_sr_grad_x_alpha_ao_pbe`
|
||||
* :c:data:`pot_sr_scal_x_alpha_ao_pbe`
|
||||
|
||||
|
||||
|
||||
.. c:var:: potential_sr_x_alpha_ao_lda
|
||||
|
||||
|
||||
File : :file:`dft_utils_one_e/sr_pot_ao_lda.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: potential_sr_x_alpha_ao_lda (ao_num,ao_num,N_states)
|
||||
double precision, allocatable :: potential_sr_x_beta_ao_lda (ao_num,ao_num,N_states)
|
||||
|
||||
|
||||
short range exchange alpha/beta potentials with LDA functional on the |AO| basis
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`aos_in_r_array`
|
||||
* :c:data:`aos_sr_vc_alpha_lda_w`
|
||||
* :c:data:`n_points_final_grid`
|
||||
* :c:data:`n_states`
|
||||
|
||||
|
||||
|
||||
.. c:var:: potential_sr_x_alpha_ao_pbe
|
||||
|
||||
|
||||
File : :file:`dft_utils_one_e/sr_pot_ao_pbe.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: potential_sr_x_alpha_ao_pbe (ao_num,ao_num,N_states)
|
||||
double precision, allocatable :: potential_sr_x_beta_ao_pbe (ao_num,ao_num,N_states)
|
||||
double precision, allocatable :: potential_sr_c_alpha_ao_pbe (ao_num,ao_num,N_states)
|
||||
double precision, allocatable :: potential_sr_c_beta_ao_pbe (ao_num,ao_num,N_states)
|
||||
|
||||
|
||||
exchange / correlation potential for alpha / beta electrons with the Perdew-Burke-Ernzerhof GGA functional
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`n_states`
|
||||
* :c:data:`pot_sr_grad_x_alpha_ao_pbe`
|
||||
* :c:data:`pot_sr_scal_x_alpha_ao_pbe`
|
||||
|
||||
|
||||
|
||||
.. c:var:: potential_sr_x_beta_ao_lda
|
||||
|
||||
|
||||
File : :file:`dft_utils_one_e/sr_pot_ao_lda.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: potential_sr_x_alpha_ao_lda (ao_num,ao_num,N_states)
|
||||
double precision, allocatable :: potential_sr_x_beta_ao_lda (ao_num,ao_num,N_states)
|
||||
|
||||
|
||||
short range exchange alpha/beta potentials with LDA functional on the |AO| basis
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`aos_in_r_array`
|
||||
* :c:data:`aos_sr_vc_alpha_lda_w`
|
||||
* :c:data:`n_points_final_grid`
|
||||
* :c:data:`n_states`
|
||||
|
||||
|
||||
|
||||
.. c:var:: potential_sr_x_beta_ao_pbe
|
||||
|
||||
|
||||
File : :file:`dft_utils_one_e/sr_pot_ao_pbe.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: potential_sr_x_alpha_ao_pbe (ao_num,ao_num,N_states)
|
||||
double precision, allocatable :: potential_sr_x_beta_ao_pbe (ao_num,ao_num,N_states)
|
||||
double precision, allocatable :: potential_sr_c_alpha_ao_pbe (ao_num,ao_num,N_states)
|
||||
double precision, allocatable :: potential_sr_c_beta_ao_pbe (ao_num,ao_num,N_states)
|
||||
|
||||
|
||||
exchange / correlation potential for alpha / beta electrons with the Perdew-Burke-Ernzerhof GGA functional
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`n_states`
|
||||
* :c:data:`pot_sr_grad_x_alpha_ao_pbe`
|
||||
* :c:data:`pot_sr_scal_x_alpha_ao_pbe`
|
||||
|
||||
|
||||
|
||||
.. c:var:: potential_sr_xc_alpha_ao_lda
|
||||
|
||||
|
||||
File : :file:`dft_utils_one_e/sr_pot_ao_lda_smashed.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: potential_sr_xc_alpha_ao_lda (ao_num,ao_num,N_states)
|
||||
double precision, allocatable :: potential_sr_xc_beta_ao_lda (ao_num,ao_num,N_states)
|
||||
|
||||
|
||||
short range exchange/correlation alpha/beta potentials with LDA functional on the AO basis
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`aos_in_r_array`
|
||||
* :c:data:`aos_sr_vxc_alpha_lda_w`
|
||||
* :c:data:`n_points_final_grid`
|
||||
* :c:data:`n_states`
|
||||
|
||||
|
||||
|
||||
.. c:var:: potential_sr_xc_alpha_ao_pbe
|
||||
|
||||
|
||||
File : :file:`dft_utils_one_e/sr_pot_ao_pbe_smashed.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: potential_sr_xc_alpha_ao_pbe (ao_num,ao_num,N_states)
|
||||
double precision, allocatable :: potential_sr_xc_beta_ao_pbe (ao_num,ao_num,N_states)
|
||||
|
||||
|
||||
exchange / correlation potential for alpha / beta electrons with the Perdew-Burke-Ernzerhof GGA functional
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`n_states`
|
||||
* :c:data:`pot_sr_grad_xc_alpha_ao_pbe`
|
||||
* :c:data:`pot_sr_scal_xc_alpha_ao_pbe`
|
||||
|
||||
|
||||
|
||||
.. c:var:: potential_sr_xc_beta_ao_lda
|
||||
|
||||
|
||||
File : :file:`dft_utils_one_e/sr_pot_ao_lda_smashed.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: potential_sr_xc_alpha_ao_lda (ao_num,ao_num,N_states)
|
||||
double precision, allocatable :: potential_sr_xc_beta_ao_lda (ao_num,ao_num,N_states)
|
||||
|
||||
|
||||
short range exchange/correlation alpha/beta potentials with LDA functional on the AO basis
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`aos_in_r_array`
|
||||
* :c:data:`aos_sr_vxc_alpha_lda_w`
|
||||
* :c:data:`n_points_final_grid`
|
||||
* :c:data:`n_states`
|
||||
|
||||
|
||||
|
||||
.. c:var:: potential_sr_xc_beta_ao_pbe
|
||||
|
||||
|
||||
File : :file:`dft_utils_one_e/sr_pot_ao_pbe_smashed.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: potential_sr_xc_alpha_ao_pbe (ao_num,ao_num,N_states)
|
||||
double precision, allocatable :: potential_sr_xc_beta_ao_pbe (ao_num,ao_num,N_states)
|
||||
|
||||
|
||||
exchange / correlation potential for alpha / beta electrons with the Perdew-Burke-Ernzerhof GGA functional
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`n_states`
|
||||
* :c:data:`pot_sr_grad_xc_alpha_ao_pbe`
|
||||
* :c:data:`pot_sr_scal_xc_alpha_ao_pbe`
|
||||
|
||||
|
||||
|
||||
.. c:var:: psi_dft_energy_h_core
|
||||
|
||||
|
||||
|
@ -58,7 +58,9 @@ Providers
|
||||
* :c:data:`correlation_energy_ratio_max`
|
||||
* :c:data:`data_energy_proj`
|
||||
* :c:data:`data_energy_var`
|
||||
* :c:data:`data_one_e_dm_alpha_ao`
|
||||
* :c:data:`data_one_e_dm_alpha_mo`
|
||||
* :c:data:`data_one_e_dm_beta_ao`
|
||||
* :c:data:`data_one_e_dm_beta_mo`
|
||||
* :c:data:`davidson_sze_max`
|
||||
* :c:data:`disk_access_nuclear_repulsion`
|
||||
@ -131,6 +133,7 @@ Providers
|
||||
* :c:data:`pseudo_lmax`
|
||||
* :c:data:`pseudo_n_k`
|
||||
* :c:data:`pseudo_n_kl`
|
||||
* :c:data:`pseudo_sym`
|
||||
* :c:data:`pseudo_v_k`
|
||||
* :c:data:`pseudo_v_kl`
|
||||
* :c:data:`psi_coef`
|
||||
@ -146,6 +149,7 @@ Providers
|
||||
* :c:data:`state_following`
|
||||
* :c:data:`target_energy`
|
||||
* :c:data:`thresh_scf`
|
||||
* :c:data:`thresh_sym`
|
||||
* :c:data:`threshold_davidson`
|
||||
* :c:data:`threshold_diis`
|
||||
* :c:data:`threshold_generators`
|
||||
@ -219,7 +223,9 @@ Providers
|
||||
* :c:data:`correlation_energy_ratio_max`
|
||||
* :c:data:`data_energy_proj`
|
||||
* :c:data:`data_energy_var`
|
||||
* :c:data:`data_one_e_dm_alpha_ao`
|
||||
* :c:data:`data_one_e_dm_alpha_mo`
|
||||
* :c:data:`data_one_e_dm_beta_ao`
|
||||
* :c:data:`data_one_e_dm_beta_mo`
|
||||
* :c:data:`davidson_sze_max`
|
||||
* :c:data:`disk_access_nuclear_repulsion`
|
||||
@ -281,6 +287,7 @@ Providers
|
||||
* :c:data:`pseudo_lmax`
|
||||
* :c:data:`pseudo_n_k`
|
||||
* :c:data:`pseudo_n_kl`
|
||||
* :c:data:`pseudo_sym`
|
||||
* :c:data:`pseudo_v_k`
|
||||
* :c:data:`pseudo_v_kl`
|
||||
* :c:data:`pt2_iterations`
|
||||
@ -292,6 +299,7 @@ Providers
|
||||
* :c:data:`state_following`
|
||||
* :c:data:`target_energy`
|
||||
* :c:data:`thresh_scf`
|
||||
* :c:data:`thresh_sym`
|
||||
* :c:data:`threshold_davidson`
|
||||
* :c:data:`threshold_diis`
|
||||
* :c:data:`threshold_generators`
|
||||
@ -330,7 +338,9 @@ Providers
|
||||
* :c:data:`correlation_energy_ratio_max`
|
||||
* :c:data:`data_energy_proj`
|
||||
* :c:data:`data_energy_var`
|
||||
* :c:data:`data_one_e_dm_alpha_ao`
|
||||
* :c:data:`data_one_e_dm_alpha_mo`
|
||||
* :c:data:`data_one_e_dm_beta_ao`
|
||||
* :c:data:`data_one_e_dm_beta_mo`
|
||||
* :c:data:`davidson_sze_max`
|
||||
* :c:data:`disk_access_nuclear_repulsion`
|
||||
@ -392,6 +402,7 @@ Providers
|
||||
* :c:data:`pseudo_lmax`
|
||||
* :c:data:`pseudo_n_k`
|
||||
* :c:data:`pseudo_n_kl`
|
||||
* :c:data:`pseudo_sym`
|
||||
* :c:data:`pseudo_v_k`
|
||||
* :c:data:`pseudo_v_kl`
|
||||
* :c:data:`pt2_iterations`
|
||||
@ -403,6 +414,7 @@ Providers
|
||||
* :c:data:`state_following`
|
||||
* :c:data:`target_energy`
|
||||
* :c:data:`thresh_scf`
|
||||
* :c:data:`thresh_sym`
|
||||
* :c:data:`threshold_davidson`
|
||||
* :c:data:`threshold_diis`
|
||||
* :c:data:`threshold_generators`
|
||||
@ -673,7 +685,9 @@ Subroutines / functions
|
||||
* :c:func:`damping_scf`
|
||||
* :c:data:`data_energy_proj`
|
||||
* :c:data:`data_energy_var`
|
||||
* :c:data:`data_one_e_dm_alpha_ao`
|
||||
* :c:data:`data_one_e_dm_alpha_mo`
|
||||
* :c:data:`data_one_e_dm_beta_ao`
|
||||
* :c:data:`data_one_e_dm_beta_mo`
|
||||
* :c:func:`davidson_diag_hjj_sjj`
|
||||
* :c:data:`davidson_sze_max`
|
||||
@ -740,6 +754,7 @@ Subroutines / functions
|
||||
* :c:data:`pseudo_lmax`
|
||||
* :c:data:`pseudo_n_k`
|
||||
* :c:data:`pseudo_n_kl`
|
||||
* :c:data:`pseudo_sym`
|
||||
* :c:data:`pseudo_v_k`
|
||||
* :c:data:`pseudo_v_kl`
|
||||
* :c:data:`pt2_iterations`
|
||||
@ -752,6 +767,7 @@ Subroutines / functions
|
||||
* :c:data:`state_following`
|
||||
* :c:data:`target_energy`
|
||||
* :c:data:`thresh_scf`
|
||||
* :c:data:`thresh_sym`
|
||||
* :c:data:`threshold_davidson`
|
||||
* :c:data:`threshold_diis`
|
||||
* :c:data:`threshold_generators`
|
||||
|
@ -51,6 +51,7 @@ Programs
|
||||
--------
|
||||
|
||||
* :ref:`scf`
|
||||
* :ref:`test`
|
||||
|
||||
Providers
|
||||
---------
|
||||
|
@ -80,9 +80,9 @@ Providers
|
||||
|
||||
Molecular orbital coefficients on |AO| basis set
|
||||
|
||||
mo_coef(i,j) = coefficient of the i-th |AO| on the jth mo
|
||||
mo_coef(i,j) = coefficient of the i-th |AO| on the jth |MO|
|
||||
|
||||
mo_label : Label characterizing the MOS (local, canonical, natural, etc)
|
||||
mo_label : Label characterizing the |MOs| (local, canonical, natural, etc)
|
||||
|
||||
Needs:
|
||||
|
||||
@ -286,7 +286,6 @@ Providers
|
||||
* :c:data:`fps_spf_matrix_mo`
|
||||
* :c:data:`full_ijkl_bitmask`
|
||||
* :c:data:`int_erf_3_index`
|
||||
* :c:data:`list_core_inact_act`
|
||||
* :c:data:`list_inact`
|
||||
* :c:data:`mo_class`
|
||||
* :c:data:`mo_coef`
|
||||
@ -762,8 +761,11 @@ Subroutines / functions
|
||||
* :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_ortho_mos`
|
||||
* :c:func:`sort_by_fock_energies`
|
||||
* :c:func:`swap_mos`
|
||||
|
||||
Calls:
|
||||
|
||||
|
@ -74,7 +74,9 @@ Providers
|
||||
* :c:data:`correlation_energy_ratio_max`
|
||||
* :c:data:`data_energy_proj`
|
||||
* :c:data:`data_energy_var`
|
||||
* :c:data:`data_one_e_dm_alpha_ao`
|
||||
* :c:data:`data_one_e_dm_alpha_mo`
|
||||
* :c:data:`data_one_e_dm_beta_ao`
|
||||
* :c:data:`data_one_e_dm_beta_mo`
|
||||
* :c:data:`davidson_sze_max`
|
||||
* :c:data:`disk_access_nuclear_repulsion`
|
||||
@ -152,6 +154,7 @@ Providers
|
||||
* :c:data:`pseudo_lmax`
|
||||
* :c:data:`pseudo_n_k`
|
||||
* :c:data:`pseudo_n_kl`
|
||||
* :c:data:`pseudo_sym`
|
||||
* :c:data:`pseudo_v_k`
|
||||
* :c:data:`pseudo_v_kl`
|
||||
* :c:data:`psi_cas`
|
||||
@ -174,6 +177,7 @@ Providers
|
||||
* :c:data:`state_following`
|
||||
* :c:data:`target_energy`
|
||||
* :c:data:`thresh_scf`
|
||||
* :c:data:`thresh_sym`
|
||||
* :c:data:`threshold_davidson`
|
||||
* :c:data:`threshold_diis`
|
||||
* :c:data:`threshold_generators`
|
||||
|
@ -526,7 +526,7 @@ Providers
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: slater_bragg_radii (100)
|
||||
double precision, allocatable :: slater_bragg_radii (0:100)
|
||||
|
||||
|
||||
atomic radii in Angstrom defined in table I of JCP 41, 3199 (1964) Slater
|
||||
@ -604,7 +604,7 @@ Providers
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: slater_bragg_radii_ua (100)
|
||||
double precision, allocatable :: slater_bragg_radii_ua (0:100)
|
||||
|
||||
|
||||
|
||||
|
@ -165,7 +165,7 @@ Providers
|
||||
double precision, allocatable :: eigenvectors_fock_matrix_mo (ao_num,mo_num)
|
||||
|
||||
|
||||
Eigenvectors of the Fock matrix in the MO basis obtained with level shift.
|
||||
Eigenvectors of the Fock matrix in the |MO| basis obtained with level shift.
|
||||
|
||||
Needs:
|
||||
|
||||
|
@ -22,9 +22,12 @@ Programs
|
||||
* :ref:`print_ci_vectors`
|
||||
* :ref:`print_e_conv`
|
||||
* :ref:`print_wf`
|
||||
* :ref:`rotate_mos`
|
||||
* :ref:`save_natorb`
|
||||
* :ref:`save_one_e_dm`
|
||||
* :ref:`save_ortho_mos`
|
||||
* :ref:`sort_by_fock_energies`
|
||||
* :ref:`swap_mos`
|
||||
* :ref:`write_integrals_erf`
|
||||
|
||||
Subroutines / functions
|
||||
@ -115,6 +118,7 @@ Subroutines / functions
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`one_e_dm_ao_alpha`
|
||||
* :c:data:`one_e_dm_mo_alpha`
|
||||
|
||||
Called by:
|
||||
@ -129,6 +133,8 @@ Subroutines / functions
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`ezfio_set_aux_quantities_data_one_e_dm_alpha_ao`
|
||||
* :c:func:`ezfio_set_aux_quantities_data_one_e_dm_alpha_mo`
|
||||
* :c:func:`ezfio_set_aux_quantities_data_one_e_dm_beta_ao`
|
||||
* :c:func:`ezfio_set_aux_quantities_data_one_e_dm_beta_mo`
|
||||
|
||||
|
@ -997,6 +997,7 @@ Subroutines / functions
|
||||
* :c:func:`make_selection_buffer_s2`
|
||||
* :c:data:`psi_det_sorted`
|
||||
* :c:func:`reorder_core_orb`
|
||||
* :c:func:`sort_by_fock_energies`
|
||||
* :c:func:`sort_selection_buffer`
|
||||
|
||||
Calls:
|
||||
|
@ -168,7 +168,9 @@ Index of Providers
|
||||
* :c:data:`damping_for_rs_dft`
|
||||
* :c:data:`data_energy_proj`
|
||||
* :c:data:`data_energy_var`
|
||||
* :c:data:`data_one_e_dm_alpha_ao`
|
||||
* :c:data:`data_one_e_dm_alpha_mo`
|
||||
* :c:data:`data_one_e_dm_beta_ao`
|
||||
* :c:data:`data_one_e_dm_beta_mo`
|
||||
* :c:data:`davidson_criterion`
|
||||
* :c:data:`davidson_sze_max`
|
||||
@ -214,7 +216,9 @@ Index of Providers
|
||||
* :c:data:`eigenvectors_fock_matrix_ao`
|
||||
* :c:data:`eigenvectors_fock_matrix_mo`
|
||||
* :c:data:`elec_alpha_num`
|
||||
* :c:data:`elec_alpha_num_grid_becke`
|
||||
* :c:data:`elec_beta_num`
|
||||
* :c:data:`elec_beta_num_grid_becke`
|
||||
* :c:data:`elec_num`
|
||||
* :c:data:`elec_num_tab`
|
||||
* :c:data:`element_mass`
|
||||
@ -351,6 +355,7 @@ Index of Providers
|
||||
* :c:data:`list_del`
|
||||
* :c:data:`list_del_reverse`
|
||||
* :c:data:`list_inact`
|
||||
* :c:data:`list_inact_act`
|
||||
* :c:data:`list_inact_reverse`
|
||||
* :c:data:`list_virt`
|
||||
* :c:data:`list_virt_reverse`
|
||||
@ -441,6 +446,7 @@ Index of Providers
|
||||
* :c:data:`n_double_selectors`
|
||||
* :c:data:`n_generators_bitmask`
|
||||
* :c:data:`n_generators_bitmask_restart`
|
||||
* :c:data:`n_inact_act_orb`
|
||||
* :c:data:`n_inact_orb`
|
||||
* :c:data:`n_inact_orb_allocate`
|
||||
* :c:data:`n_int`
|
||||
@ -463,6 +469,7 @@ Index of Providers
|
||||
* :c:data:`no_ivvv_integrals`
|
||||
* :c:data:`no_vvv_integrals`
|
||||
* :c:data:`no_vvvv_integrals`
|
||||
* :c:data:`normalize_dm`
|
||||
* :c:data:`nproc`
|
||||
* :c:data:`nthreads_davidson`
|
||||
* :c:data:`nthreads_pt2`
|
||||
@ -487,6 +494,7 @@ Index of Providers
|
||||
* :c:data:`one_body_dm_mo_alpha_one_det`
|
||||
* :c:data:`one_body_dm_mo_beta_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_alpha_at_r`
|
||||
* :c:data:`one_e_dm_alpha_in_r`
|
||||
* :c:data:`one_e_dm_and_grad_alpha_in_r`
|
||||
@ -495,6 +503,7 @@ Index of Providers
|
||||
* :c:data:`one_e_dm_ao_beta`
|
||||
* :c:data:`one_e_dm_average_mo_for_dft`
|
||||
* :c:data:`one_e_dm_beta_ao_for_dft`
|
||||
* :c:data:`one_e_dm_beta_ao_for_dft_no_core`
|
||||
* :c:data:`one_e_dm_beta_at_r`
|
||||
* :c:data:`one_e_dm_beta_in_r`
|
||||
* :c:data:`one_e_dm_dagger_mo_spin_index`
|
||||
@ -502,12 +511,16 @@ Index of Providers
|
||||
* :c:data:`one_e_dm_mo_alpha`
|
||||
* :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`
|
||||
* :c:data:`one_e_dm_mo_beta_average`
|
||||
* :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_for_dft`
|
||||
* :c:data:`one_e_dm_mo_spin_index`
|
||||
* :c:data:`one_e_dm_no_core_and_grad_alpha_in_r`
|
||||
* :c:data:`one_e_dm_no_core_and_grad_beta_in_r`
|
||||
* :c:data:`one_e_energy`
|
||||
* :c:data:`one_e_grad_2_dm_alpha_at_r`
|
||||
* :c:data:`one_e_grad_2_dm_beta_at_r`
|
||||
@ -556,18 +569,6 @@ Index of Providers
|
||||
* :c:data:`potential_c_beta_ao_sr_lda`
|
||||
* :c:data:`potential_c_beta_ao_sr_pbe`
|
||||
* :c:data:`potential_c_beta_mo`
|
||||
* :c:data:`potential_sr_c_alpha_ao_lda`
|
||||
* :c:data:`potential_sr_c_alpha_ao_pbe`
|
||||
* :c:data:`potential_sr_c_beta_ao_lda`
|
||||
* :c:data:`potential_sr_c_beta_ao_pbe`
|
||||
* :c:data:`potential_sr_x_alpha_ao_lda`
|
||||
* :c:data:`potential_sr_x_alpha_ao_pbe`
|
||||
* :c:data:`potential_sr_x_beta_ao_lda`
|
||||
* :c:data:`potential_sr_x_beta_ao_pbe`
|
||||
* :c:data:`potential_sr_xc_alpha_ao_lda`
|
||||
* :c:data:`potential_sr_xc_alpha_ao_pbe`
|
||||
* :c:data:`potential_sr_xc_beta_ao_lda`
|
||||
* :c:data:`potential_sr_xc_beta_ao_pbe`
|
||||
* :c:data:`potential_x_alpha_ao`
|
||||
* :c:data:`potential_x_alpha_ao_lda`
|
||||
* :c:data:`potential_x_alpha_ao_none`
|
||||
@ -609,6 +610,7 @@ Index of Providers
|
||||
* :c:data:`pseudo_n_k_transp`
|
||||
* :c:data:`pseudo_n_kl`
|
||||
* :c:data:`pseudo_n_kl_transp`
|
||||
* :c:data:`pseudo_sym`
|
||||
* :c:data:`pseudo_v_k`
|
||||
* :c:data:`pseudo_v_k_transp`
|
||||
* :c:data:`pseudo_v_kl`
|
||||
@ -679,6 +681,7 @@ Index of Providers
|
||||
* :c:data:`pt2_f`
|
||||
* :c:data:`pt2_iterations`
|
||||
* :c:data:`pt2_j`
|
||||
* :c:data:`pt2_match_weight`
|
||||
* :c:data:`pt2_max`
|
||||
* :c:data:`pt2_mindetinfirstteeth`
|
||||
* :c:data:`pt2_n_0`
|
||||
@ -773,6 +776,7 @@ Index of Providers
|
||||
* :c:data:`target_energy`
|
||||
* :c:data:`theta_angular_integration_lebedev`
|
||||
* :c:data:`thresh_scf`
|
||||
* :c:data:`thresh_sym`
|
||||
* :c:data:`threshold_davidson`
|
||||
* :c:data:`threshold_diis`
|
||||
* :c:data:`threshold_diis_nonzero`
|
||||
@ -891,6 +895,7 @@ Index of Subroutines/Functions
|
||||
* :c:func:`compute_ao_two_e_integrals`
|
||||
* :c:func:`compute_ao_two_e_integrals_erf`
|
||||
* :c:func:`connect_to_taskserver`
|
||||
* :c:func:`connected_to_hf`
|
||||
* :c:func:`connected_to_ref`
|
||||
* :c:func:`connected_to_ref_by_single`
|
||||
* :c:func:`copy_h_apply_buffer_to_wf`
|
||||
@ -925,6 +930,7 @@ Index of Subroutines/Functions
|
||||
* :c:func:`decode_exc`
|
||||
* :c:func:`decode_exc_spin`
|
||||
* :c:func:`delete_selection_buffer`
|
||||
* :c:func:`dens_grad_a_b_no_core_and_aos_grad_aos_at_r`
|
||||
* :c:func:`density_and_grad_alpha_beta_and_all_aos_and_grad_aos_at_r`
|
||||
* :c:func:`derivative_knowles_function`
|
||||
* :c:func:`det_inf`
|
||||
@ -942,6 +948,7 @@ Index of Subroutines/Functions
|
||||
* :c:func:`disconnect_from_taskserver_state`
|
||||
* :c:func:`dm_dft_alpha_beta_and_all_aos_at_r`
|
||||
* :c:func:`dm_dft_alpha_beta_at_r`
|
||||
* :c:func:`dm_dft_alpha_beta_no_core_at_r`
|
||||
* :c:func:`do_single_excitation`
|
||||
* :c:func:`dpol`
|
||||
* :c:func:`dpold`
|
||||
@ -1093,11 +1100,21 @@ Index of Subroutines/Functions
|
||||
* :c:func:`h_apply_cis_diexcorg`
|
||||
* :c:func:`h_apply_cis_diexcp`
|
||||
* :c:func:`h_apply_cis_monoexc`
|
||||
* :c:func:`h_apply_cis_sym`
|
||||
* :c:func:`h_apply_cis_sym_diexc`
|
||||
* :c:func:`h_apply_cis_sym_diexcorg`
|
||||
* :c:func:`h_apply_cis_sym_diexcp`
|
||||
* :c:func:`h_apply_cis_sym_monoexc`
|
||||
* :c:func:`h_apply_cisd`
|
||||
* :c:func:`h_apply_cisd_diexc`
|
||||
* :c:func:`h_apply_cisd_diexcorg`
|
||||
* :c:func:`h_apply_cisd_diexcp`
|
||||
* :c:func:`h_apply_cisd_monoexc`
|
||||
* :c:func:`h_apply_cisd_sym`
|
||||
* :c:func:`h_apply_cisd_sym_diexc`
|
||||
* :c:func:`h_apply_cisd_sym_diexcorg`
|
||||
* :c:func:`h_apply_cisd_sym_diexcp`
|
||||
* :c:func:`h_apply_cisd_sym_monoexc`
|
||||
* :c:func:`h_s2_u_0_nstates_openmp`
|
||||
* :c:func:`h_s2_u_0_nstates_openmp_work`
|
||||
* :c:func:`h_s2_u_0_nstates_openmp_work_1`
|
||||
@ -1321,6 +1338,7 @@ Index of Subroutines/Functions
|
||||
* :c:func:`rinteg`
|
||||
* :c:func:`rintgauss`
|
||||
* :c:func:`roothaan_hall_scf`
|
||||
* :c:func:`rotate_mos`
|
||||
* :c:func:`routine`
|
||||
* :c:func:`routine_e_conv`
|
||||
* :c:func:`routine_example_psi_det`
|
||||
@ -1369,6 +1387,7 @@ Index of Subroutines/Functions
|
||||
* :c:func:`set_order_big`
|
||||
* :c:func:`single_excitation_wee`
|
||||
* :c:func:`sort`
|
||||
* :c:func:`sort_by_fock_energies`
|
||||
* :c:func:`sort_dets_ab`
|
||||
* :c:func:`sort_dets_ab_v`
|
||||
* :c:func:`sort_dets_ba_v`
|
||||
@ -1384,10 +1403,12 @@ Index of Subroutines/Functions
|
||||
* :c:func:`spot_isinwf`
|
||||
* :c:func:`step_function_becke`
|
||||
* :c:func:`svd`
|
||||
* :c:func:`swap_mos`
|
||||
* :c:func:`switch_qp_run_to_master`
|
||||
* :c:func:`tamiser`
|
||||
* :c:func:`task_done_to_taskserver`
|
||||
* :c:func:`tasks_done_to_taskserver`
|
||||
* :c:func:`test`
|
||||
* :c:func:`testteethbuilding`
|
||||
* :c:func:`total_memory`
|
||||
* :c:func:`two_e_integrals_index`
|
||||
|
@ -60,6 +60,7 @@ fci
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`run_cipsi`
|
||||
* :c:func:`run_slave_cipsi`
|
||||
* :c:func:`run_stochastic_cipsi`
|
||||
|
||||
Touches:
|
||||
@ -75,6 +76,7 @@ fci
|
||||
* :c:data:`n_iter`
|
||||
* :c:data:`psi_occ_pattern`
|
||||
* :c:data:`c0_weight`
|
||||
* :c:data:`distributed_davidson`
|
||||
* :c:data:`psi_coef`
|
||||
* :c:data:`psi_det_sorted_bit`
|
||||
* :c:data:`psi_det`
|
||||
@ -83,6 +85,9 @@ fci
|
||||
* :c:data:`psi_energy`
|
||||
* :c:data:`psi_occ_pattern`
|
||||
* :c:data:`psi_energy`
|
||||
* :c:data:`pt2_e0_denominator`
|
||||
* :c:data:`pt2_match_weight`
|
||||
* :c:data:`pt2_stoch_istate`
|
||||
* :c:data:`read_wf`
|
||||
* :c:data:`state_average_weight`
|
||||
* :c:data:`threshold_generators`
|
||||
|
@ -9,15 +9,15 @@ save_one_e_dm
|
||||
|
||||
|
||||
|
||||
Program that computes the one body density on the |MO| basis
|
||||
Program that computes the one body density on the |MO| and |AO| basis
|
||||
for $\alpha$ and $\beta$ electrons from the wave function
|
||||
stored in the |EZFIO| directory, and then saves it into the
|
||||
:ref:`module_aux_quantities`.
|
||||
|
||||
Then, the global variable :option:`aux_quantities data_one_e_dm_alpha_mo`
|
||||
and :option:`aux_quantities data_one_e_dm_beta_mo` will automatically
|
||||
read this density in the next calculation. This can be used to perform
|
||||
damping on the density in |RSDFT| calculations (see
|
||||
and :option:`aux_quantities data_one_e_dm_beta_mo` (and the corresponding for |AO|)
|
||||
will automatically ! read this density in the next calculation.
|
||||
This can be used to perform damping on the density in |RSDFT| calculations (see
|
||||
:ref:`module_density_for_dft`).
|
||||
|
||||
Needs:
|
||||
|
@ -1,14 +1,66 @@
|
||||
%%% ARXIV TO BE UPDATED %%%
|
||||
@misc{BibEntry2019Feb,
|
||||
title = {{Quantum Package 2.0: An Open-Source Determinant-Driven Suite of
|
||||
Programs}},
|
||||
@article{Dash2019May,
|
||||
author = {Dash, Monika and Feldt, Jonas and Moroni, Saverio and Scemama, Anthony and Filippi, Claudia},
|
||||
title = {{Excited states with selected CI-QMC: chemically accurate excitation energies and geometries}},
|
||||
journal = {arXiv},
|
||||
year = {2019},
|
||||
month = {Feb},
|
||||
note = {[Online; accessed 7. Mar. 2019]},
|
||||
url = {https://arxiv.org/abs/1902.08154.pdf}
|
||||
month = {May},
|
||||
eprint = {1905.06737},
|
||||
url = {https://arxiv.org/abs/1905.06737}
|
||||
}
|
||||
|
||||
@article{Burton2019May,
|
||||
author = {Burton, Hugh G. A. and Thom, Alex J. W.},
|
||||
title = {{A General Approach for Multireference Ground and Excited States using Non-Orthogonal Configuration Interaction}},
|
||||
journal = {arXiv},
|
||||
year = {2019},
|
||||
month = {May},
|
||||
eprint = {1905.02626},
|
||||
url = {https://arxiv.org/abs/1905.02626}
|
||||
}
|
||||
|
||||
|
||||
|
||||
%%%% PUBLISHED PAPERS
|
||||
@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}},
|
||||
@ -19,9 +71,6 @@ Programs}},
|
||||
url = {https://arxiv.org/abs/1812.06902}
|
||||
}
|
||||
|
||||
|
||||
%%%% PUBLISHED PAPERS
|
||||
|
||||
@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}},
|
||||
|
@ -53,6 +53,10 @@ Usage
|
||||
|
||||
Uninstall the plugin ``plugin_name``.
|
||||
|
||||
.. option:: update
|
||||
|
||||
Update the repositories of the plugins. Should be followed by a re-compilation.
|
||||
|
||||
.. option:: -n, --name=<plugin_name>
|
||||
|
||||
Create a new plugin named ``plugin_name`` (in local repository by default).
|
||||
|
@ -11,6 +11,29 @@ Automatically finds *n*, the number of core electrons. Calls
|
||||
:math:`n/2` first ones which are set as ``Core``. If pseudo-potentials
|
||||
are used, all the |MOs| are set as ``Active``.
|
||||
|
||||
|
||||
========== ========= ======= =======
|
||||
Range Default Small Large
|
||||
========== ========= ======= =======
|
||||
H -> He 0 0 0
|
||||
Li -> Be 0 0 2
|
||||
B -> Ne 2 2 2
|
||||
Na -> Mg 2 2 10
|
||||
Al -> Ar 10 2 10
|
||||
K -> Ca 10 10 18
|
||||
Sc -> Zn 10 10 18
|
||||
Ga -> Kr 18 10 18
|
||||
Rb -> Sr 18 18 36
|
||||
Y -> Cd 18 18 36
|
||||
In -> Xe 36 18 36
|
||||
Cs -> Ba 36 36 54
|
||||
La -> Hg 36 36 54
|
||||
Tl -> Rn 54 36 54
|
||||
Fr -> Ra 54 54 86
|
||||
Ac -> Cn 54 54 86
|
||||
Nh -> Og 86 54 86
|
||||
========== ========= ======= =======
|
||||
|
||||
For elements on the right of the periodic table, `qp_set_frozen_core`
|
||||
will work as expected. But for elements on the left, a small core will
|
||||
be chosen. For example, a Carbon atom will have 2 core electrons, but a
|
||||
@ -21,11 +44,19 @@ Usage
|
||||
|
||||
.. code:: bash
|
||||
|
||||
qp_set_frozen_core [-q] EZFIO_DIR
|
||||
qp_set_frozen_core [-q|--query] [(-l|-s|--large|--small) EZFIO_DIR
|
||||
|
||||
|
||||
.. option:: -q
|
||||
.. option:: -q, --query
|
||||
|
||||
Prints in the standard output the number of core electrons.
|
||||
|
||||
.. option:: -s, --small
|
||||
|
||||
Use a small core.
|
||||
|
||||
.. option:: -l, --large
|
||||
|
||||
Use a large core.
|
||||
|
||||
|
||||
|
1
etc/.gitignore
vendored
1
etc/.gitignore
vendored
@ -1 +1,2 @@
|
||||
00.qp_root
|
||||
local.rc
|
||||
|
@ -16,6 +16,7 @@
|
||||
# export OMP_NUM_THREADS=16
|
||||
|
||||
# Name of the network interface to be chosen
|
||||
# export QP_NIC=lo
|
||||
# export QP_NIC=ib0
|
||||
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "CIS" "1" "Mar 07, 2019" "2.0" "Quantum Package"
|
||||
.TH "CIS" "1" "May 28, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
cis \- | Quantum Package >
|
||||
.
|
||||
|
@ -1,6 +1,6 @@
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "CISD" "1" "Mar 07, 2019" "2.0" "Quantum Package"
|
||||
.TH "CISD" "1" "May 28, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
cisd \- | Quantum Package >
|
||||
.
|
||||
|
@ -1,6 +1,6 @@
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "CONFIGURE" "1" "Mar 07, 2019" "2.0" "Quantum Package"
|
||||
.TH "CONFIGURE" "1" "May 28, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
configure \- | Quantum Package >
|
||||
.
|
||||
|
@ -1,6 +1,6 @@
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "DIAGONALIZE_H" "1" "Mar 07, 2019" "2.0" "Quantum Package"
|
||||
.TH "DIAGONALIZE_H" "1" "May 28, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
diagonalize_h \- | Quantum Package >
|
||||
.
|
||||
|
@ -1,6 +1,6 @@
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "EXCITED_STATES" "1" "Mar 07, 2019" "2.0" "Quantum Package"
|
||||
.TH "EXCITED_STATES" "1" "May 28, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
excited_states \- | Quantum Package >
|
||||
.
|
||||
|
20
man/fci.1
20
man/fci.1
@ -1,6 +1,6 @@
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "FCI" "1" "Mar 07, 2019" "2.0" "Quantum Package"
|
||||
.TH "FCI" "1" "May 28, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
fci \- | Quantum Package >
|
||||
.
|
||||
@ -98,9 +98,11 @@ Calls:
|
||||
.UNINDENT
|
||||
.INDENT 2.0
|
||||
.IP \(bu 2
|
||||
\fBrun_stochastic_cipsi()\fP
|
||||
\fBrun_slave_cipsi()\fP
|
||||
.UNINDENT
|
||||
.INDENT 2.0
|
||||
.IP \(bu 2
|
||||
\fBrun_stochastic_cipsi()\fP
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.sp
|
||||
@ -121,10 +123,12 @@ Touches:
|
||||
\fBn_iter\fP
|
||||
.IP \(bu 2
|
||||
\fBpsi_occ_pattern\fP
|
||||
.IP \(bu 2
|
||||
\fBc0_weight\fP
|
||||
.UNINDENT
|
||||
.INDENT 2.0
|
||||
.IP \(bu 2
|
||||
\fBc0_weight\fP
|
||||
\fBdistributed_davidson\fP
|
||||
.IP \(bu 2
|
||||
\fBpsi_coef\fP
|
||||
.IP \(bu 2
|
||||
@ -135,17 +139,23 @@ Touches:
|
||||
\fBpsi_det_size\fP
|
||||
.IP \(bu 2
|
||||
\fBpsi_det_sorted_bit\fP
|
||||
.IP \(bu 2
|
||||
\fBpsi_energy\fP
|
||||
.IP \(bu 2
|
||||
\fBpsi_occ_pattern\fP
|
||||
.UNINDENT
|
||||
.INDENT 2.0
|
||||
.IP \(bu 2
|
||||
\fBpsi_energy\fP
|
||||
.IP \(bu 2
|
||||
\fBpsi_occ_pattern\fP
|
||||
\fBpt2_e0_denominator\fP
|
||||
.IP \(bu 2
|
||||
\fBpsi_energy\fP
|
||||
\fBpt2_match_weight\fP
|
||||
.IP \(bu 2
|
||||
\fBpt2_stoch_istate\fP
|
||||
.IP \(bu 2
|
||||
\fBread_wf\fP
|
||||
.IP \(bu 2
|
||||
\fBstate_average_weight\fP
|
||||
.IP \(bu 2
|
||||
\fBthreshold_generators\fP
|
||||
|
@ -1,6 +1,6 @@
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "FCIDUMP" "1" "Mar 07, 2019" "2.0" "Quantum Package"
|
||||
.TH "FCIDUMP" "1" "May 28, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
fcidump \- | Quantum Package >
|
||||
.
|
||||
|
@ -1,6 +1,6 @@
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "FOUR_IDX_TRANSFORM" "1" "Mar 07, 2019" "2.0" "Quantum Package"
|
||||
.TH "FOUR_IDX_TRANSFORM" "1" "May 28, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
four_idx_transform \- | Quantum Package >
|
||||
.
|
||||
|
@ -1,6 +1,6 @@
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "INTERFACES" "1" "Mar 07, 2019" "2.0" "Quantum Package"
|
||||
.TH "INTERFACES" "1" "May 28, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
interfaces \- | Quantum Package >
|
||||
.
|
||||
|
@ -1,6 +1,6 @@
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "KS_SCF" "1" "Mar 07, 2019" "2.0" "Quantum Package"
|
||||
.TH "KS_SCF" "1" "May 28, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
ks_scf \- | Quantum Package >
|
||||
.
|
||||
|
@ -1,6 +1,6 @@
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "MOLDEN" "1" "Mar 07, 2019" "2.0" "Quantum Package"
|
||||
.TH "MOLDEN" "1" "May 28, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
molden \- | Quantum Package >
|
||||
.
|
||||
|
@ -1,6 +1,6 @@
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "NATURAL_ORBITALS" "1" "Mar 07, 2019" "2.0" "Quantum Package"
|
||||
.TH "NATURAL_ORBITALS" "1" "May 28, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
natural_orbitals \- | Quantum Package >
|
||||
.
|
||||
|
@ -1,6 +1,6 @@
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "PLUGINS" "1" "Mar 07, 2019" "2.0" "Quantum Package"
|
||||
.TH "PLUGINS" "1" "May 28, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
plugins \- | Quantum Package >
|
||||
.
|
||||
|
87
man/print_ci_vectors.1
Normal file
87
man/print_ci_vectors.1
Normal file
@ -0,0 +1,87 @@
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "PRINT_CI_VECTORS" "1" "May 28, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
print_ci_vectors \- | Quantum Package >
|
||||
.
|
||||
.nr rst2man-indent-level 0
|
||||
.
|
||||
.de1 rstReportMargin
|
||||
\\$1 \\n[an-margin]
|
||||
level \\n[rst2man-indent-level]
|
||||
level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
-
|
||||
\\n[rst2man-indent0]
|
||||
\\n[rst2man-indent1]
|
||||
\\n[rst2man-indent2]
|
||||
..
|
||||
.de1 INDENT
|
||||
.\" .rstReportMargin pre:
|
||||
. RS \\$1
|
||||
. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
|
||||
. nr rst2man-indent-level +1
|
||||
.\" .rstReportMargin post:
|
||||
..
|
||||
.de UNINDENT
|
||||
. RE
|
||||
.\" indent \\n[an-margin]
|
||||
.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.nr rst2man-indent-level -1
|
||||
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
||||
..
|
||||
.INDENT 0.0
|
||||
.INDENT 3.5
|
||||
Print the ground state wave function stored in the \fI\%EZFIO\fP directory
|
||||
in the intermediate normalization.
|
||||
.sp
|
||||
It also prints a lot of information regarding the excitation
|
||||
operators from the reference determinant ! and a first\-order
|
||||
perturbative analysis of the wave function.
|
||||
.sp
|
||||
If the wave function strongly deviates from the first\-order analysis,
|
||||
something funny is going on :)
|
||||
.sp
|
||||
Needs:
|
||||
.INDENT 0.0
|
||||
.INDENT 2.0
|
||||
.IP \(bu 2
|
||||
\fBread_wf\fP
|
||||
.UNINDENT
|
||||
.INDENT 2.0
|
||||
.UNINDENT
|
||||
.INDENT 2.0
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.sp
|
||||
Calls:
|
||||
.INDENT 0.0
|
||||
.INDENT 2.0
|
||||
.IP \(bu 2
|
||||
\fBroutine()\fP
|
||||
.UNINDENT
|
||||
.INDENT 2.0
|
||||
.UNINDENT
|
||||
.INDENT 2.0
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.sp
|
||||
Touches:
|
||||
.INDENT 0.0
|
||||
.INDENT 2.0
|
||||
.IP \(bu 2
|
||||
\fBread_wf\fP
|
||||
.UNINDENT
|
||||
.INDENT 2.0
|
||||
.UNINDENT
|
||||
.INDENT 2.0
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.SH AUTHOR
|
||||
A. Scemama, E. Giner
|
||||
.SH COPYRIGHT
|
||||
2019, A. Scemama, E. Giner
|
||||
.\" Generated by docutils manpage writer.
|
||||
.
|
@ -1,6 +1,6 @@
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "PRINT_E_CONV" "1" "Mar 07, 2019" "2.0" "Quantum Package"
|
||||
.TH "PRINT_E_CONV" "1" "May 28, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
print_e_conv \- | Quantum Package >
|
||||
.
|
||||
|
@ -1,6 +1,6 @@
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "PRINT_WF" "1" "Mar 07, 2019" "2.0" "Quantum Package"
|
||||
.TH "PRINT_WF" "1" "May 28, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
print_wf \- | Quantum Package >
|
||||
.
|
||||
|
@ -1,6 +1,6 @@
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "PRINTING" "1" "Mar 07, 2019" "2.0" "Quantum Package"
|
||||
.TH "PRINTING" "1" "May 28, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
printing \- | Quantum Package >
|
||||
.
|
||||
|
@ -1,6 +1,6 @@
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "PT2" "1" "Mar 07, 2019" "2.0" "Quantum Package"
|
||||
.TH "PT2" "1" "May 28, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
pt2 \- | Quantum Package >
|
||||
.
|
||||
|
@ -1,6 +1,6 @@
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "QP_CONVERT_OUTPUT_TO_EZFIO" "1" "Mar 07, 2019" "2.0" "Quantum Package"
|
||||
.TH "QP_CONVERT_OUTPUT_TO_EZFIO" "1" "May 28, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
qp_convert_output_to_ezfio \- | Quantum Package >
|
||||
.
|
||||
|
235
man/qp_create_ezfio.1
Normal file
235
man/qp_create_ezfio.1
Normal file
@ -0,0 +1,235 @@
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "QP_CREATE_EZFIO" "1" "May 28, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
qp_create_ezfio \- | Quantum Package >
|
||||
.
|
||||
.nr rst2man-indent-level 0
|
||||
.
|
||||
.de1 rstReportMargin
|
||||
\\$1 \\n[an-margin]
|
||||
level \\n[rst2man-indent-level]
|
||||
level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
-
|
||||
\\n[rst2man-indent0]
|
||||
\\n[rst2man-indent1]
|
||||
\\n[rst2man-indent2]
|
||||
..
|
||||
.de1 INDENT
|
||||
.\" .rstReportMargin pre:
|
||||
. RS \\$1
|
||||
. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
|
||||
. nr rst2man-indent-level +1
|
||||
.\" .rstReportMargin post:
|
||||
..
|
||||
.de UNINDENT
|
||||
. RE
|
||||
.\" indent \\n[an-margin]
|
||||
.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.nr rst2man-indent-level -1
|
||||
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
||||
..
|
||||
.sp
|
||||
This command creates an \fI\%EZFIO\fP directory from a standard \fIxyz\fP file or
|
||||
from a \fIz\-matrix\fP file in Gaussian format.
|
||||
.SH USAGE
|
||||
.INDENT 0.0
|
||||
.INDENT 3.5
|
||||
.sp
|
||||
.nf
|
||||
.ft C
|
||||
qp_create_ezfio [\-a] \-b <string> [\-c <int>] [\-d <float>]
|
||||
[\-h] [\-m <int>] [\-o EZFIO_DIR] [\-p <string>] [\-x] [\-\-] FILE
|
||||
.ft P
|
||||
.fi
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-a, \-\-au
|
||||
If present, input geometry is in atomic units.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-b, \-\-basis=<string>
|
||||
Name of basis set. The basis set is defined as a single string if
|
||||
all the atoms are taken from the same basis set, otherwise specific
|
||||
elements can be defined as follows:
|
||||
.INDENT 7.0
|
||||
.INDENT 3.5
|
||||
.sp
|
||||
.nf
|
||||
.ft C
|
||||
\-b "cc\-pcvdz | H:cc\-pvdz | C:6\-31g"
|
||||
\-b "cc\-pvtz | 1,H:sto\-3g | 3,H:6\-31g"
|
||||
.ft P
|
||||
.fi
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.sp
|
||||
By default, the basis set is obtained from the local database of the.
|
||||
\fIQuantum Package\fP This option is mandatory .
|
||||
.sp
|
||||
If \fB<string>\fP is set to \fBshow\fP, the list of all available basis
|
||||
sets is displayed.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-c, \-\-charge=<int>
|
||||
Total charge of the molecule. Default is 0.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-d, \-\-dummy=<float>
|
||||
Add dummy atoms (X) between atoms when the distance between two atoms
|
||||
is less than x \etimes \esum R_\emathrm{cov}, the covalent radii
|
||||
of the atoms. The default is x=0, so no dummy atom is added.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-h, \-\-help
|
||||
Print the help text and exit
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-m, \-\-multiplicity=<int>
|
||||
Spin multiplicity 2S+1 of the molecule. Default is 1.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-o, \-\-output=EZFIO_DIR
|
||||
Name of the created \fI\%EZFIO\fP directory.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-p <string>, \-\-pseudo=<string>
|
||||
Name of the pseudo\-potential. Follows the same conventions as the basis set.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-x, \-\-cart
|
||||
Compute AOs in the Cartesian basis set (6d, 10f, …)
|
||||
.UNINDENT
|
||||
.SH USING CUSTOM ATOMIC BASIS SETS
|
||||
.sp
|
||||
If a file with the same name as the basis set exists, this file will
|
||||
be read. For example, if the file containing the basis set is named
|
||||
\fBcustom.basis\fP, and the \fIxyz\fP geometry is in \fBmolecule.xyz\fP, the
|
||||
following should be used:
|
||||
.INDENT 0.0
|
||||
.INDENT 3.5
|
||||
.sp
|
||||
.nf
|
||||
.ft C
|
||||
qp_create_ezfio \-b custom.basis molecule.xyz
|
||||
.ft P
|
||||
.fi
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.sp
|
||||
Basis set files should be given in \fI\%GAMESS\fP format, where the full
|
||||
names of the atoms are given, and the basis sets for each element are
|
||||
separated by a blank line. Here is an example
|
||||
.INDENT 0.0
|
||||
.INDENT 3.5
|
||||
.sp
|
||||
.nf
|
||||
.ft C
|
||||
HYDROGEN
|
||||
S 3
|
||||
1 13.0100000 0.0196850
|
||||
2 1.9620000 0.1379770
|
||||
3 0.4446000 0.4781480
|
||||
S 1
|
||||
1 0.1220000 1.0000000
|
||||
P 1
|
||||
1 0.7270000 1.0000000
|
||||
|
||||
BORON
|
||||
S 8
|
||||
1 4570.0000000 0.0006960
|
||||
2 685.9000000 0.0053530
|
||||
3 156.5000000 0.0271340
|
||||
4 44.4700000 0.1013800
|
||||
5 14.4800000 0.2720550
|
||||
6 5.1310000 0.4484030
|
||||
7 1.8980000 0.2901230
|
||||
8 0.3329000 0.0143220
|
||||
S 8
|
||||
1 4570.0000000 \-0.0001390
|
||||
2 685.9000000 \-0.0010970
|
||||
3 156.5000000 \-0.0054440
|
||||
4 44.4700000 \-0.0219160
|
||||
5 14.4800000 \-0.0597510
|
||||
6 5.1310000 \-0.1387320
|
||||
7 1.8980000 \-0.1314820
|
||||
8 0.3329000 0.5395260
|
||||
S 1
|
||||
1 0.1043000 1.0000000
|
||||
P 3
|
||||
1 6.0010000 0.0354810
|
||||
2 1.2410000 0.1980720
|
||||
3 0.3364000 0.5052300
|
||||
P 1
|
||||
1 0.0953800 1.0000000
|
||||
D 1
|
||||
1 0.3430000 1.0000000
|
||||
.ft P
|
||||
.fi
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.SH USING CUSTOM PSEUDO-POTENTIALS
|
||||
.sp
|
||||
As for the basis set, if a file with the same name as the
|
||||
pseudo\-potential exists, this file will be read. For example, if the
|
||||
file containing the custom pseudo\-potential is named \fBcustom.pseudo\fP,
|
||||
the basis set is named \fBcustom.basis\fP, and the \fIxyz\fP geometry is in
|
||||
\fBmolecule.xyz\fP, the following command should be used
|
||||
.INDENT 0.0
|
||||
.INDENT 3.5
|
||||
.sp
|
||||
.nf
|
||||
.ft C
|
||||
qp_create_ezfio \-b custom.basis \-p custom.pseudo molecule.xyz
|
||||
.ft P
|
||||
.fi
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.sp
|
||||
Pseudo\-potential files should be given in a format very close to
|
||||
\fI\%GAMESS\fP format. The first line should be formatted as \fB%s GEN %d %d\fP
|
||||
where the first string is the chemical symbol, the first integer is
|
||||
the number of core electrons to be removed and the second integer is
|
||||
LMAX+1 as in \fI\%GAMESS\fP format. The pseudo\-potential for each element are
|
||||
separated by a blank line. Here is an example
|
||||
.INDENT 0.0
|
||||
.INDENT 3.5
|
||||
.sp
|
||||
.nf
|
||||
.ft C
|
||||
Ne GEN 2 1
|
||||
3
|
||||
8.00000000 1 10.74945199
|
||||
85.99561593 3 10.19801460
|
||||
\-56.79004456 2 10.18694048
|
||||
1
|
||||
55.11144535 2 12.85042963
|
||||
|
||||
F GEN 2 1
|
||||
3
|
||||
7.00000000 1 11.39210685
|
||||
79.74474797 3 10.74911370
|
||||
\-49.45159098 2 10.45120693
|
||||
1
|
||||
50.25646328 2 11.30345826
|
||||
.ft P
|
||||
.fi
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.SH AUTHOR
|
||||
A. Scemama, E. Giner
|
||||
.SH COPYRIGHT
|
||||
2019, A. Scemama, E. Giner
|
||||
.\" Generated by docutils manpage writer.
|
||||
.
|
@ -1,6 +1,6 @@
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "QP_EDIT" "1" "Mar 07, 2019" "2.0" "Quantum Package"
|
||||
.TH "QP_EDIT" "1" "May 28, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
qp_edit \- | Quantum Package >
|
||||
.
|
||||
|
@ -1,6 +1,6 @@
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "QP_EXPORT_AS_TGZ" "1" "Mar 07, 2019" "2.0" "Quantum Package"
|
||||
.TH "QP_EXPORT_AS_TGZ" "1" "May 28, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
qp_export_as_tgz \- | Quantum Package >
|
||||
.
|
||||
|
@ -1,6 +1,6 @@
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "QP_PLUGINS" "1" "Mar 07, 2019" "2.0" "Quantum Package"
|
||||
.TH "QP_PLUGINS" "1" "May 28, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
qp_plugins \- | Quantum Package >
|
||||
.
|
||||
@ -93,6 +93,11 @@ Uninstall the plugin \fBplugin_name\fP\&.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B update
|
||||
Update the repositories of the plugins. Should be followed by a re\-compilation.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-n, \-\-name=<plugin_name>
|
||||
Create a new plugin named \fBplugin_name\fP (in local repository by default).
|
||||
.UNINDENT
|
||||
|
@ -1,6 +1,6 @@
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "QP_RESET" "1" "Mar 07, 2019" "2.0" "Quantum Package"
|
||||
.TH "QP_RESET" "1" "May 28, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
qp_reset \- | Quantum Package >
|
||||
.
|
||||
|
@ -1,6 +1,6 @@
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "QP_RUN" "1" "Mar 07, 2019" "2.0" "Quantum Package"
|
||||
.TH "QP_RUN" "1" "May 28, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
qp_run \- | Quantum Package >
|
||||
.
|
||||
|
@ -1,6 +1,6 @@
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "QP_SET_FROZEN_CORE" "1" "Mar 07, 2019" "2.0" "Quantum Package"
|
||||
.TH "QP_SET_FROZEN_CORE" "1" "May 28, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
qp_set_frozen_core \- | Quantum Package >
|
||||
.
|
||||
@ -35,6 +35,191 @@ Automatically finds \fIn\fP, the number of core electrons. Calls
|
||||
qp_set_mo_class setting all MOs as \fBActive\fP, except the
|
||||
n/2 first ones which are set as \fBCore\fP\&. If pseudo\-potentials
|
||||
are used, all the MOs are set as \fBActive\fP\&.
|
||||
.TS
|
||||
center;
|
||||
|l|l|l|l|.
|
||||
_
|
||||
T{
|
||||
Range
|
||||
T} T{
|
||||
Default
|
||||
T} T{
|
||||
Small
|
||||
T} T{
|
||||
Large
|
||||
T}
|
||||
_
|
||||
T{
|
||||
H \-> He
|
||||
T} T{
|
||||
0
|
||||
T} T{
|
||||
0
|
||||
T} T{
|
||||
0
|
||||
T}
|
||||
_
|
||||
T{
|
||||
Li \-> Be
|
||||
T} T{
|
||||
0
|
||||
T} T{
|
||||
0
|
||||
T} T{
|
||||
2
|
||||
T}
|
||||
_
|
||||
T{
|
||||
B \-> Ne
|
||||
T} T{
|
||||
2
|
||||
T} T{
|
||||
2
|
||||
T} T{
|
||||
2
|
||||
T}
|
||||
_
|
||||
T{
|
||||
Na \-> Mg
|
||||
T} T{
|
||||
2
|
||||
T} T{
|
||||
2
|
||||
T} T{
|
||||
10
|
||||
T}
|
||||
_
|
||||
T{
|
||||
Al \-> Ar
|
||||
T} T{
|
||||
10
|
||||
T} T{
|
||||
2
|
||||
T} T{
|
||||
10
|
||||
T}
|
||||
_
|
||||
T{
|
||||
K \-> Ca
|
||||
T} T{
|
||||
10
|
||||
T} T{
|
||||
10
|
||||
T} T{
|
||||
18
|
||||
T}
|
||||
_
|
||||
T{
|
||||
Sc \-> Zn
|
||||
T} T{
|
||||
10
|
||||
T} T{
|
||||
10
|
||||
T} T{
|
||||
18
|
||||
T}
|
||||
_
|
||||
T{
|
||||
Ga \-> Kr
|
||||
T} T{
|
||||
18
|
||||
T} T{
|
||||
10
|
||||
T} T{
|
||||
18
|
||||
T}
|
||||
_
|
||||
T{
|
||||
Rb \-> Sr
|
||||
T} T{
|
||||
18
|
||||
T} T{
|
||||
18
|
||||
T} T{
|
||||
36
|
||||
T}
|
||||
_
|
||||
T{
|
||||
Y \-> Cd
|
||||
T} T{
|
||||
18
|
||||
T} T{
|
||||
18
|
||||
T} T{
|
||||
36
|
||||
T}
|
||||
_
|
||||
T{
|
||||
In \-> Xe
|
||||
T} T{
|
||||
36
|
||||
T} T{
|
||||
18
|
||||
T} T{
|
||||
36
|
||||
T}
|
||||
_
|
||||
T{
|
||||
Cs \-> Ba
|
||||
T} T{
|
||||
36
|
||||
T} T{
|
||||
36
|
||||
T} T{
|
||||
54
|
||||
T}
|
||||
_
|
||||
T{
|
||||
La \-> Hg
|
||||
T} T{
|
||||
36
|
||||
T} T{
|
||||
36
|
||||
T} T{
|
||||
54
|
||||
T}
|
||||
_
|
||||
T{
|
||||
Tl \-> Rn
|
||||
T} T{
|
||||
54
|
||||
T} T{
|
||||
36
|
||||
T} T{
|
||||
54
|
||||
T}
|
||||
_
|
||||
T{
|
||||
Fr \-> Ra
|
||||
T} T{
|
||||
54
|
||||
T} T{
|
||||
54
|
||||
T} T{
|
||||
86
|
||||
T}
|
||||
_
|
||||
T{
|
||||
Ac \-> Cn
|
||||
T} T{
|
||||
54
|
||||
T} T{
|
||||
54
|
||||
T} T{
|
||||
86
|
||||
T}
|
||||
_
|
||||
T{
|
||||
Nh \-> Og
|
||||
T} T{
|
||||
86
|
||||
T} T{
|
||||
54
|
||||
T} T{
|
||||
86
|
||||
T}
|
||||
_
|
||||
.TE
|
||||
.sp
|
||||
For elements on the right of the periodic table, \fIqp_set_frozen_core\fP
|
||||
will work as expected. But for elements on the left, a small core will
|
||||
@ -46,16 +231,26 @@ Lithium atom will have zero.
|
||||
.sp
|
||||
.nf
|
||||
.ft C
|
||||
qp_set_frozen_core [\-q] EZFIO_DIR
|
||||
qp_set_frozen_core [\-q|\-\-query] [(\-l|\-s|\-\-large|\-\-small) EZFIO_DIR
|
||||
.ft P
|
||||
.fi
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-q
|
||||
.B \-q, \-\-query
|
||||
Prints in the standard output the number of core electrons.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-s, \-\-small
|
||||
Use a small core.
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-l, \-\-large
|
||||
Use a large core.
|
||||
.UNINDENT
|
||||
.SH AUTHOR
|
||||
A. Scemama, E. Giner
|
||||
.SH COPYRIGHT
|
||||
|
@ -1,6 +1,6 @@
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "QP_SET_MO_CLASS" "1" "Mar 07, 2019" "2.0" "Quantum Package"
|
||||
.TH "QP_SET_MO_CLASS" "1" "May 28, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
qp_set_mo_class \- | Quantum Package >
|
||||
.
|
||||
|
@ -1,6 +1,6 @@
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "QP_STOP" "1" "Mar 07, 2019" "2.0" "Quantum Package"
|
||||
.TH "QP_STOP" "1" "May 28, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
qp_stop \- | Quantum Package >
|
||||
.
|
||||
|
@ -1,6 +1,6 @@
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "QP_UPDATE" "1" "Mar 07, 2019" "2.0" "Quantum Package"
|
||||
.TH "QP_UPDATE" "1" "May 28, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
qp_update \- | Quantum Package >
|
||||
.
|
||||
|
@ -1,6 +1,6 @@
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "QPSH" "1" "Mar 07, 2019" "2.0" "Quantum Package"
|
||||
.TH "QPSH" "1" "May 28, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
qpsh \- | Quantum Package >
|
||||
.
|
||||
|
@ -1,6 +1,6 @@
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "RS_KS_SCF" "1" "Mar 07, 2019" "2.0" "Quantum Package"
|
||||
.TH "RS_KS_SCF" "1" "May 28, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
rs_ks_scf \- | Quantum Package >
|
||||
.
|
||||
|
@ -1,6 +1,6 @@
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "SAVE_NATORB" "1" "Mar 07, 2019" "2.0" "Quantum Package"
|
||||
.TH "SAVE_NATORB" "1" "May 28, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
save_natorb \- | Quantum Package >
|
||||
.
|
||||
|
@ -1,6 +1,6 @@
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "SAVE_ONE_E_DM" "1" "Mar 07, 2019" "2.0" "Quantum Package"
|
||||
.TH "SAVE_ONE_E_DM" "1" "May 28, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
save_one_e_dm \- | Quantum Package >
|
||||
.
|
||||
@ -32,15 +32,15 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
..
|
||||
.INDENT 0.0
|
||||
.INDENT 3.5
|
||||
Program that computes the one body density on the MO basis
|
||||
Program that computes the one body density on the MO and AO basis
|
||||
for $alpha$ and $beta$ electrons from the wave function
|
||||
stored in the \fI\%EZFIO\fP directory, and then saves it into the
|
||||
module_aux_quantities\&.
|
||||
.sp
|
||||
Then, the global variable \fBaux_quantities data_one_e_dm_alpha_mo\fP
|
||||
and \fBaux_quantities data_one_e_dm_beta_mo\fP will automatically
|
||||
read this density in the next calculation. This can be used to perform
|
||||
damping on the density in RSDFT calculations (see
|
||||
and \fBaux_quantities data_one_e_dm_beta_mo\fP (and the corresponding for AO)
|
||||
will automatically ! read this density in the next calculation.
|
||||
This can be used to perform damping on the density in RSDFT calculations (see
|
||||
module_density_for_dft).
|
||||
.sp
|
||||
Needs:
|
||||
|
@ -1,6 +1,6 @@
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "SAVE_ORTHO_MOS" "1" "Mar 07, 2019" "2.0" "Quantum Package"
|
||||
.TH "SAVE_ORTHO_MOS" "1" "May 28, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
save_ortho_mos \- | Quantum Package >
|
||||
.
|
||||
|
@ -1,6 +1,6 @@
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "SCF" "1" "Mar 07, 2019" "2.0" "Quantum Package"
|
||||
.TH "SCF" "1" "May 28, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
scf \- | Quantum Package >
|
||||
.
|
||||
|
@ -1,6 +1,6 @@
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "WRITE_INTEGRALS_ERF" "1" "Mar 07, 2019" "2.0" "Quantum Package"
|
||||
.TH "WRITE_INTEGRALS_ERF" "1" "May 28, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
write_integrals_erf \- | Quantum Package >
|
||||
.
|
||||
|
1043
ocaml/Element.ml
1043
ocaml/Element.ml
File diff suppressed because it is too large
Load Diff
@ -1,13 +1,18 @@
|
||||
exception ElementError of string
|
||||
|
||||
type t =
|
||||
|X
|
||||
type t = X
|
||||
|
||||
|H |He
|
||||
|Li|Be |B |C |N |O |F |Ne
|
||||
|Na|Mg |Al|Si|P |S |Cl|Ar
|
||||
|K |Ca|Sc|Ti|V |Cr|Mn|Fe|Co|Ni|Cu|Zn|Ga|Ge|As|Se|Br|Kr
|
||||
|Rb|Sr|Y |Zr|Nb|Mo|Tc|Ru|Rh|Pd|Ag|Cd|In|Sn|Sb|Te|I |Xe
|
||||
|Pt
|
||||
|Cs|Ba|La|Hf|Ta|W |Re|Os|Ir|Pt|Au|Hg|Tl|Pb|Bi|Po|At|Rn
|
||||
|Fr|Ra|Ac|Rf|Db|Sg|Bh|Hs|Mt|Ds|Rg|Cn|Nh|Fl|Mc|Lv|Ts|Og
|
||||
|
||||
|Ce|Pr|Nd|Pm|Sm|Eu|Gd|Tb|Dy|Ho|Er|Tm|Yb|Lu
|
||||
|Th|Pa|U |Np|Pu|Am|Cm|Bk|Cf|Es|Fm|Md|No|Lr
|
||||
|
||||
[@@deriving sexp]
|
||||
|
||||
(** String conversion functions *)
|
||||
@ -19,5 +24,5 @@ val to_long_string : t -> string
|
||||
val to_charge : t -> Charge.t
|
||||
val of_charge : Charge.t -> t
|
||||
val covalent_radius : t -> Qptypes.Positive_float.t
|
||||
val vdw_radius : t -> Qptypes.Positive_float.t
|
||||
val vdw_radius : t -> Qptypes.Positive_float.t option
|
||||
val mass : t -> Qptypes.Positive_float.t
|
||||
|
@ -81,10 +81,7 @@ end = struct
|
||||
;;
|
||||
|
||||
let write_n_det n =
|
||||
let n_det_old =
|
||||
Ezfio.get_determinants_n_det ()
|
||||
in
|
||||
min n_det_old (Det_number.to_int n)
|
||||
Det_number.to_int n
|
||||
|> Ezfio.set_determinants_n_det
|
||||
;;
|
||||
|
||||
|
@ -6,6 +6,7 @@ type t =
|
||||
| Natural
|
||||
| Localized
|
||||
| Orthonormalized
|
||||
| MCSCF
|
||||
| None
|
||||
[@@deriving sexp]
|
||||
|
||||
@ -16,6 +17,7 @@ let to_string = function
|
||||
| Orthonormalized -> "Orthonormalized"
|
||||
| Natural -> "Natural"
|
||||
| Localized -> "Localized"
|
||||
| MCSCF -> "MCSCF"
|
||||
| None -> "None"
|
||||
;;
|
||||
|
||||
@ -26,7 +28,8 @@ let of_string s =
|
||||
| "natural" -> Natural
|
||||
| "localized" -> Localized
|
||||
| "orthonormalized" -> Orthonormalized
|
||||
| "mcscf" -> MCSCF
|
||||
| "none" -> None
|
||||
| _ -> (print_endline s ; failwith "MO_label should be one of:
|
||||
Guess | Orthonormalized | Canonical | Natural | Localized | None.")
|
||||
Guess | Orthonormalized | Canonical | Natural | Localized | MCSCF | None.")
|
||||
;;
|
||||
|
@ -4,6 +4,7 @@ type t =
|
||||
| Natural
|
||||
| Localized
|
||||
| Orthonormalized
|
||||
| MCSCF
|
||||
| None
|
||||
[@@deriving sexp]
|
||||
|
||||
|
@ -2,9 +2,6 @@ open Qptypes
|
||||
open Element
|
||||
|
||||
let () =
|
||||
let indices =
|
||||
Array.init 78 (fun i -> i)
|
||||
in
|
||||
let out_channel =
|
||||
open_out (Qpackage.root ^ "/data/list_element.txt")
|
||||
in
|
||||
|
@ -5,6 +5,8 @@ import os
|
||||
keywords = """
|
||||
check_double_excitation
|
||||
copy_buffer
|
||||
filter_only_connected_to_hf_single
|
||||
filter_only_connected_to_hf_double
|
||||
declarations
|
||||
decls_main
|
||||
deinit_thread
|
||||
@ -205,84 +207,84 @@ class H_apply(object):
|
||||
def filter_only_2h(self):
|
||||
self["only_2h_single"] = """
|
||||
! ! DIR$ FORCEINLINE
|
||||
if (is_a_2h(hole).eqv. .False.) cycle
|
||||
if (.not.is_a_2h(hole)) cycle
|
||||
"""
|
||||
self["only_2h_double"] = """
|
||||
! ! DIR$ FORCEINLINE
|
||||
if ( is_a_2h(key).eqv. .False. )cycle
|
||||
if (.not.is_a_2h(key))cycle
|
||||
"""
|
||||
|
||||
def filter_only_1h(self):
|
||||
self["only_1h_single"] = """
|
||||
! ! DIR$ FORCEINLINE
|
||||
if (is_a_1h(hole) .eqv. .False.) cycle
|
||||
if (.not.is_a_1h(hole)) cycle
|
||||
"""
|
||||
self["only_1h_double"] = """
|
||||
! ! DIR$ FORCEINLINE
|
||||
if (is_a_1h(key) .eqv. .False.) cycle
|
||||
if (.not.is_a_1h(key) ) cycle
|
||||
"""
|
||||
|
||||
def filter_only_1p(self):
|
||||
self["only_1p_single"] = """
|
||||
! ! DIR$ FORCEINLINE
|
||||
if ( is_a_1p(hole) .eqv. .False.) cycle
|
||||
if (.not. is_a_1p(hole) ) cycle
|
||||
"""
|
||||
self["only_1p_double"] = """
|
||||
! ! DIR$ FORCEINLINE
|
||||
if ( is_a_1p(key) .eqv. .False.) cycle
|
||||
if (.not. is_a_1p(key) ) cycle
|
||||
"""
|
||||
|
||||
def filter_only_2h1p(self):
|
||||
self["only_2h1p_single"] = """
|
||||
! ! DIR$ FORCEINLINE
|
||||
if ( is_a_2h1p(hole) .eqv. .False.) cycle
|
||||
if (.not. is_a_2h1p(hole) ) cycle
|
||||
"""
|
||||
self["only_2h1p_double"] = """
|
||||
! ! DIR$ FORCEINLINE
|
||||
if (is_a_2h1p(key) .eqv. .False.) cycle
|
||||
if (.not.is_a_2h1p(key) ) cycle
|
||||
"""
|
||||
|
||||
|
||||
def filter_only_2p(self):
|
||||
self["only_2p_single"] = """
|
||||
! ! DIR$ FORCEINLINE
|
||||
if (is_a_2p(hole).eqv. .False.) cycle
|
||||
if (.not.is_a_2p(hole)) cycle
|
||||
"""
|
||||
self["only_2p_double"] = """
|
||||
! ! DIR$ FORCEINLINE
|
||||
if (is_a_2p(key).eqv. .False.) cycle
|
||||
if (.not.is_a_2p(key)) cycle
|
||||
"""
|
||||
|
||||
|
||||
def filter_only_1h1p(self):
|
||||
self["filter_only_1h1p_single"] = """
|
||||
! ! DIR$ FORCEINLINE
|
||||
if (is_a_1h1p(hole).eqv..False.) cycle
|
||||
if (.not.is_a_1h1p(hole)) cycle
|
||||
"""
|
||||
self["filter_only_1h1p_double"] = """
|
||||
! ! DIR$ FORCEINLINE
|
||||
if (is_a_1h1p(key).eqv..False.) cycle
|
||||
if (.not.is_a_1h1p(key)) cycle
|
||||
"""
|
||||
|
||||
|
||||
|
||||
def filter_only_2h2p(self):
|
||||
self["filter_only_2h2p_single"] = """
|
||||
! ! DIR$ FORCEINLINE
|
||||
if (is_a_two_holes_two_particles(hole).eqv..False.) cycle
|
||||
if (.not.is_a_two_holes_two_particles(hole)) cycle
|
||||
"""
|
||||
self["filter_only_2h2p_double"] = """
|
||||
! ! DIR$ FORCEINLINE
|
||||
if (is_a_two_holes_two_particles(key).eqv..False.) cycle
|
||||
if (.not.is_a_two_holes_two_particles(key)) cycle
|
||||
"""
|
||||
|
||||
|
||||
def filter_only_1h2p(self):
|
||||
self["filter_only_1h2p_single"] = """
|
||||
! ! DIR$ FORCEINLINE
|
||||
if (is_a_1h2p(hole).eqv..False.) cycle
|
||||
if (.not.is_a_1h2p(hole)) cycle
|
||||
"""
|
||||
self["filter_only_1h2p_double"] = """
|
||||
! ! DIR$ FORCEINLINE
|
||||
if (is_a_1h2p(key).eqv..False.) cycle
|
||||
if (.not.is_a_1h2p(key)) cycle
|
||||
"""
|
||||
|
||||
|
||||
@ -294,6 +296,16 @@ class H_apply(object):
|
||||
if (is_a_two_holes_two_particles(hole)) cycle
|
||||
"""
|
||||
|
||||
def filter_only_connected_to_hf(self):
|
||||
self["filter_only_connected_to_hf_single"] = """
|
||||
call connected_to_hf(hole,yes_no)
|
||||
if (.not.yes_no) cycle
|
||||
"""
|
||||
self["filter_only_connected_to_hf_double"] = """
|
||||
call connected_to_hf(key,yes_no)
|
||||
if (.not.yes_no) cycle
|
||||
"""
|
||||
|
||||
|
||||
def set_perturbation(self,pert):
|
||||
if self.perturbation is not None:
|
||||
|
@ -15,5 +15,10 @@ EXES=$(find -L ${QP_ROOT}/src -maxdepth 2 -depth -executable -type f | grep -e "
|
||||
|
||||
for EXE in $EXES
|
||||
do
|
||||
printf "%-30s %s\n" $(basename $EXE) $EXE | sed "s|${QP_ROOT}|\$QP_ROOT|g" >> executables
|
||||
case "$(basename $EXE)" in
|
||||
install) continue;;
|
||||
uninstall) continue;;
|
||||
*)
|
||||
printf "%-30s %s\n" $(basename $EXE) $EXE | sed "s|${QP_ROOT}|\$QP_ROOT|g" >> executables ;;
|
||||
esac
|
||||
done
|
||||
|
@ -16,6 +16,8 @@ double precision function ao_two_e_integral_erf(i,j,k,l)
|
||||
integer :: iorder_p(3), iorder_q(3)
|
||||
double precision :: ao_two_e_integral_schwartz_accel_erf
|
||||
|
||||
provide mu_erf
|
||||
|
||||
if (ao_prim_num(i) * ao_prim_num(j) * ao_prim_num(k) * ao_prim_num(l) > 1024 ) then
|
||||
ao_two_e_integral_erf = ao_two_e_integral_schwartz_accel_erf(i,j,k,l)
|
||||
return
|
||||
|
@ -19,6 +19,10 @@ END_PROVIDER
|
||||
subroutine two_e_integrals_index(i,j,k,l,i1)
|
||||
use map_module
|
||||
implicit none
|
||||
BEGIN_DOC
|
||||
! Gives a unique index for i,j,k,l using permtuation symmetry.
|
||||
! i <-> k, j <-> l, and (i,k) <-> (j,l)
|
||||
END_DOC
|
||||
integer, intent(in) :: i,j,k,l
|
||||
integer(key_kind), intent(out) :: i1
|
||||
integer(key_kind) :: p,q,r,s,i2
|
||||
@ -36,14 +40,25 @@ end
|
||||
subroutine two_e_integrals_index_reverse(i,j,k,l,i1)
|
||||
use map_module
|
||||
implicit none
|
||||
BEGIN_DOC
|
||||
! Computes the 4 indices $i,j,k,l$ from a unique index $i_1$.
|
||||
! For 2 indices $i,j$ and $i \le j$, we have
|
||||
! $p = i(i-1)/2 + j$.
|
||||
! The key point is that because $j < i$,
|
||||
! $i(i-1)/2 < p \le i(i+1)/2$. So $i$ can be found by solving
|
||||
! $i^2 - i - 2p=0$. One obtains $i=1 + \sqrt{1+8p}/2$
|
||||
! and $j = p - i(i-1)/2$.
|
||||
! 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.
|
||||
END_DOC
|
||||
integer, intent(out) :: i(8),j(8),k(8),l(8)
|
||||
integer(key_kind), intent(in) :: i1
|
||||
integer(key_kind) :: i2,i3
|
||||
i = 0
|
||||
i2 = ceiling(0.5d0*(dsqrt(8.d0*dble(i1)+1.d0)-1.d0))
|
||||
l(1) = ceiling(0.5d0*(dsqrt(8.d0*dble(i2)+1.d0)-1.d0))
|
||||
i2 = ceiling(0.5d0*(dsqrt(dble(shiftl(i1,3)+1))-1.d0))
|
||||
l(1) = ceiling(0.5d0*(dsqrt(dble(shiftl(i2,3)+1))-1.d0))
|
||||
i3 = i1 - shiftr(i2*i2-i2,1)
|
||||
k(1) = ceiling(0.5d0*(dsqrt(8.d0*dble(i3)+1.d0)-1.d0))
|
||||
k(1) = ceiling(0.5d0*(dsqrt(dble(shiftl(i3,3)+1))-1.d0))
|
||||
j(1) = int(i2 - shiftr(l(1)*l(1)-l(1),1),4)
|
||||
i(1) = int(i3 - shiftr(k(1)*k(1)-k(1),1),4)
|
||||
|
||||
@ -95,16 +110,18 @@ subroutine two_e_integrals_index_reverse(i,j,k,l,i1)
|
||||
endif
|
||||
enddo
|
||||
enddo
|
||||
do ii=1,8
|
||||
if (i(ii) /= 0) then
|
||||
call two_e_integrals_index(i(ii),j(ii),k(ii),l(ii),i2)
|
||||
if (i1 /= i2) then
|
||||
print *, i1, i2
|
||||
print *, i(ii), j(ii), k(ii), l(ii)
|
||||
stop 'two_e_integrals_index_reverse failed'
|
||||
endif
|
||||
endif
|
||||
enddo
|
||||
! This has been tested with up to 1000 AOs, and all the reverse indices are
|
||||
! correct ! We can remove the test
|
||||
! do ii=1,8
|
||||
! if (i(ii) /= 0) then
|
||||
! call two_e_integrals_index(i(ii),j(ii),k(ii),l(ii),i2)
|
||||
! if (i1 /= i2) then
|
||||
! print *, i1, i2
|
||||
! print *, i(ii), j(ii), k(ii), l(ii)
|
||||
! stop 'two_e_integrals_index_reverse failed'
|
||||
! endif
|
||||
! endif
|
||||
! enddo
|
||||
|
||||
|
||||
end
|
||||
@ -196,6 +213,7 @@ subroutine get_ao_two_e_integrals(j,k,l,sze,out_val)
|
||||
BEGIN_DOC
|
||||
! Gets multiple AO bi-electronic integral from the AO map .
|
||||
! All i are retrieved for j,k,l fixed.
|
||||
! physicist convention : <ij|kl>
|
||||
END_DOC
|
||||
implicit none
|
||||
integer, intent(in) :: j,k,l, sze
|
||||
@ -261,6 +279,100 @@ subroutine get_ao_two_e_integrals_non_zero(j,k,l,sze,out_val,out_val_index,non_z
|
||||
end
|
||||
|
||||
|
||||
subroutine get_ao_two_e_integrals_non_zero_jl(j,l,thresh,sze_max,sze,out_val,out_val_index,non_zero_int)
|
||||
use map_module
|
||||
implicit none
|
||||
BEGIN_DOC
|
||||
! Gets multiple AO bi-electronic integral from the AO map .
|
||||
! All non-zero i are retrieved for j,k,l fixed.
|
||||
END_DOC
|
||||
double precision, intent(in) :: thresh
|
||||
integer, intent(in) :: j,l, sze,sze_max
|
||||
real(integral_kind), intent(out) :: out_val(sze_max)
|
||||
integer, intent(out) :: out_val_index(2,sze_max),non_zero_int
|
||||
|
||||
integer :: i,k
|
||||
integer(key_kind) :: hash
|
||||
double precision :: tmp
|
||||
|
||||
PROVIDE ao_two_e_integrals_in_map
|
||||
non_zero_int = 0
|
||||
if (ao_overlap_abs(j,l) < thresh) then
|
||||
out_val = 0.d0
|
||||
return
|
||||
endif
|
||||
|
||||
non_zero_int = 0
|
||||
do k = 1, sze
|
||||
do i = 1, sze
|
||||
integer, external :: ao_l4
|
||||
double precision, external :: ao_two_e_integral
|
||||
!DIR$ FORCEINLINE
|
||||
if (ao_two_e_integral_schwartz(i,k)*ao_two_e_integral_schwartz(j,l) < thresh) then
|
||||
cycle
|
||||
endif
|
||||
call two_e_integrals_index(i,j,k,l,hash)
|
||||
call map_get(ao_integrals_map, hash,tmp)
|
||||
if (dabs(tmp) < thresh ) cycle
|
||||
non_zero_int = non_zero_int+1
|
||||
out_val_index(1,non_zero_int) = i
|
||||
out_val_index(2,non_zero_int) = k
|
||||
out_val(non_zero_int) = tmp
|
||||
enddo
|
||||
enddo
|
||||
|
||||
end
|
||||
|
||||
|
||||
subroutine get_ao_two_e_integrals_non_zero_jl_from_list(j,l,thresh,list,n_list,sze_max,out_val,out_val_index,non_zero_int)
|
||||
use map_module
|
||||
implicit none
|
||||
BEGIN_DOC
|
||||
! Gets multiple AO two-electron integrals from the AO map .
|
||||
! All non-zero i are retrieved for j,k,l fixed.
|
||||
END_DOC
|
||||
double precision, intent(in) :: thresh
|
||||
integer, intent(in) :: sze_max
|
||||
integer, intent(in) :: j,l, n_list,list(2,sze_max)
|
||||
real(integral_kind), intent(out) :: out_val(sze_max)
|
||||
integer, intent(out) :: out_val_index(2,sze_max),non_zero_int
|
||||
|
||||
integer :: i,k
|
||||
integer(key_kind) :: hash
|
||||
double precision :: tmp
|
||||
|
||||
PROVIDE ao_two_e_integrals_in_map
|
||||
non_zero_int = 0
|
||||
if (ao_overlap_abs(j,l) < thresh) then
|
||||
out_val = 0.d0
|
||||
return
|
||||
endif
|
||||
|
||||
non_zero_int = 0
|
||||
integer :: kk
|
||||
do kk = 1, n_list
|
||||
k = list(1,kk)
|
||||
i = list(2,kk)
|
||||
integer, external :: ao_l4
|
||||
double precision, external :: ao_two_e_integral
|
||||
!DIR$ FORCEINLINE
|
||||
if (ao_two_e_integral_schwartz(i,k)*ao_two_e_integral_schwartz(j,l) < thresh) then
|
||||
cycle
|
||||
endif
|
||||
call two_e_integrals_index(i,j,k,l,hash)
|
||||
call map_get(ao_integrals_map, hash,tmp)
|
||||
if (dabs(tmp) < thresh ) cycle
|
||||
non_zero_int = non_zero_int+1
|
||||
out_val_index(1,non_zero_int) = i
|
||||
out_val_index(2,non_zero_int) = k
|
||||
out_val(non_zero_int) = tmp
|
||||
enddo
|
||||
|
||||
end
|
||||
|
||||
|
||||
|
||||
|
||||
function get_ao_map_size()
|
||||
implicit none
|
||||
integer (map_size_kind) :: get_ao_map_size
|
||||
|
@ -24,3 +24,17 @@ type: double precision
|
||||
size: (mo_basis.mo_num,mo_basis.mo_num,determinants.n_states)
|
||||
|
||||
|
||||
[data_one_e_dm_alpha_ao]
|
||||
interface: ezfio, provider
|
||||
doc: Alpha one body density matrix on the |AO| basis computed with the wave function
|
||||
type: double precision
|
||||
size: (ao_basis.ao_num,ao_basis.ao_num,determinants.n_states)
|
||||
|
||||
|
||||
[data_one_e_dm_beta_ao]
|
||||
interface: ezfio, provider
|
||||
doc: Beta one body density matrix on the |AO| basis computed with the wave function
|
||||
type: double precision
|
||||
size: (ao_basis.ao_num,ao_basis.ao_num,determinants.n_states)
|
||||
|
||||
|
||||
|
@ -8,3 +8,9 @@ default: 2
|
||||
type: integer
|
||||
doc: Total number of grid points
|
||||
interface: ezfio
|
||||
|
||||
[thresh_grid]
|
||||
type: double precision
|
||||
doc: threshold on the weight of a given grid point
|
||||
interface: ezfio,provider,ocaml
|
||||
default: 1.e-20
|
||||
|
9
src/becke_numerical_grid/atomic_number.irp.f
Normal file
9
src/becke_numerical_grid/atomic_number.irp.f
Normal file
@ -0,0 +1,9 @@
|
||||
BEGIN_PROVIDER [ integer, grid_atomic_number, (nucl_num) ]
|
||||
implicit none
|
||||
BEGIN_DOC
|
||||
! Atomic number used to adjust the grid
|
||||
END_DOC
|
||||
grid_atomic_number(:) = max(1,int(nucl_charge(:)))
|
||||
|
||||
END_PROVIDER
|
||||
|
@ -146,7 +146,7 @@ BEGIN_PROVIDER [double precision, grid_points_per_atom, (3,n_points_integration_
|
||||
x = grid_points_radial(j)
|
||||
|
||||
! value of the radial coordinate for the integration
|
||||
r = knowles_function(alpha_knowles(int(nucl_charge(i))),m_knowles,x)
|
||||
r = knowles_function(alpha_knowles(grid_atomic_number(i)),m_knowles,x)
|
||||
|
||||
! explicit values of the grid points centered around each atom
|
||||
do k = 1, n_points_integration_angular
|
||||
@ -232,8 +232,8 @@ BEGIN_PROVIDER [double precision, final_weight_at_r, (n_points_integration_angul
|
||||
do i = 1, n_points_radial_grid -1 !for each radial grid attached to the "jth" atom
|
||||
x = grid_points_radial(i) ! x value for the mapping of the [0, +\infty] to [0,1]
|
||||
do k = 1, n_points_integration_angular ! for each angular point attached to the "jth" atom
|
||||
contrib_integration = derivative_knowles_function(alpha_knowles(int(nucl_charge(j))),m_knowles,x)&
|
||||
*knowles_function(alpha_knowles(int(nucl_charge(j))),m_knowles,x)**2
|
||||
contrib_integration = derivative_knowles_function(alpha_knowles(grid_atomic_number(j)),m_knowles,x)&
|
||||
*knowles_function(alpha_knowles(grid_atomic_number(j)),m_knowles,x)**2
|
||||
final_weight_at_r(k,i,j) = weights_angular_points(k) * weight_at_r(k,i,j) * contrib_integration * dr_radial_integral
|
||||
if(isnan(final_weight_at_r(k,i,j)))then
|
||||
print*,'isnan(final_weight_at_r(k,i,j))'
|
||||
|
53
src/becke_numerical_grid/grid_becke_per_atom.irp.f
Normal file
53
src/becke_numerical_grid/grid_becke_per_atom.irp.f
Normal file
@ -0,0 +1,53 @@
|
||||
|
||||
|
||||
BEGIN_PROVIDER [integer, n_pts_per_atom, (nucl_num)]
|
||||
&BEGIN_PROVIDER [integer, n_pts_max_per_atom]
|
||||
BEGIN_DOC
|
||||
! Number of points which are non zero
|
||||
END_DOC
|
||||
integer :: i,j,k,l
|
||||
n_pts_per_atom = 0
|
||||
do j = 1, nucl_num
|
||||
do i = 1, n_points_radial_grid -1
|
||||
do k = 1, n_points_integration_angular
|
||||
if(dabs(final_weight_at_r(k,i,j)) < thresh_grid)then
|
||||
cycle
|
||||
endif
|
||||
n_pts_per_atom(j) += 1
|
||||
enddo
|
||||
enddo
|
||||
enddo
|
||||
n_pts_max_per_atom = maxval(n_pts_per_atom)
|
||||
END_PROVIDER
|
||||
|
||||
BEGIN_PROVIDER [double precision, final_grid_points_per_atom, (3,n_pts_max_per_atom,nucl_num)]
|
||||
&BEGIN_PROVIDER [double precision, final_weight_at_r_vector_per_atom, (n_pts_max_per_atom,nucl_num) ]
|
||||
&BEGIN_PROVIDER [integer, index_final_points_per_atom, (3,n_pts_max_per_atom,nucl_num) ]
|
||||
&BEGIN_PROVIDER [integer, index_final_points_per_atom_reverse, (n_points_integration_angular,n_points_radial_grid,nucl_num) ]
|
||||
implicit none
|
||||
integer :: i,j,k,l,i_count(nucl_num)
|
||||
double precision :: r(3)
|
||||
i_count = 0
|
||||
do j = 1, nucl_num
|
||||
do i = 1, n_points_radial_grid -1
|
||||
do k = 1, n_points_integration_angular
|
||||
if(dabs(final_weight_at_r(k,i,j)) < thresh_grid)then
|
||||
cycle
|
||||
endif
|
||||
i_count(j) += 1
|
||||
final_grid_points_per_atom(1,i_count(j),j) = grid_points_per_atom(1,k,i,j)
|
||||
final_grid_points_per_atom(2,i_count(j),j) = grid_points_per_atom(2,k,i,j)
|
||||
final_grid_points_per_atom(3,i_count(j),j) = grid_points_per_atom(3,k,i,j)
|
||||
final_weight_at_r_vector_per_atom(i_count(j),j) = final_weight_at_r(k,i,j)
|
||||
index_final_points_per_atom(1,i_count(j),j) = k
|
||||
index_final_points_per_atom(2,i_count(j),j) = i
|
||||
index_final_points_per_atom(3,i_count(j),j) = j
|
||||
index_final_points_per_atom_reverse(k,i,j) = i_count(j)
|
||||
enddo
|
||||
enddo
|
||||
enddo
|
||||
|
||||
|
||||
|
||||
|
||||
END_PROVIDER
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user