9
1
mirror of https://github.com/QuantumPackage/qp2.git synced 2024-12-22 11:33:29 +01:00

Merge pull request #42 from QuantumPackage/dev-lcpq

Dev lcpq
This commit is contained in:
Anthony Scemama 2019-05-28 13:51:38 +02:00 committed by GitHub
commit bdc56d4ee3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
72 changed files with 2826 additions and 758 deletions

View File

@ -6,6 +6,7 @@ Usage:
qp_plugins download <url> [-n <name>] qp_plugins download <url> [-n <name>]
qp_plugins install <name>... qp_plugins install <name>...
qp_plugins uninstall <name> qp_plugins uninstall <name>
qp_plugins update [-r <repo>]
qp_plugins create -n <name> [-r <repo>] [<needed_modules>...] qp_plugins create -n <name> [-r <repo>] [<needed_modules>...]
Options: Options:
@ -23,6 +24,8 @@ Options:
uninstall Uninstall a plugin uninstall Uninstall a plugin
update Update the repository
create create
-n --name=<name> Create a new plugin named <name> -n --name=<name> Create a new plugin named <name>
-r --repository=<repo> Name of the repository in which to create the plugin -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 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): def main(arguments):
"""Main function""" """Main function"""
arguments["<name>"] = [os.path.normpath(name) for name in arguments["<name>"]] arguments["<name>"] = [os.path.normpath(name) for name in arguments["<name>"]]
if arguments["list"]: if arguments["list"]:
if arguments["--repositories"]: if arguments["--repositories"]:
l_result = [f for f in os.listdir(QP_PLUGINS) \ for repo in get_repositories():
if f not in [".gitignore", "local"] ]
for repo in sorted(l_result):
print repo print repo
else: else:
@ -138,6 +144,7 @@ def main(arguments):
for module in sorted(l_result): for module in sorted(l_result):
print "%-30s %-30s"%(module, repo_of_plugin[module]) print "%-30s %-30s"%(module, repo_of_plugin[module])
if arguments["create"]: if arguments["create"]:
m_instance = ModuleHandler([QP_SRC]) m_instance = ModuleHandler([QP_SRC])
@ -306,6 +313,20 @@ def main(arguments):
print "%s is a core module which can't be removed" % module 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__': if __name__ == '__main__':
ARG = docopt(__doc__) ARG = docopt(__doc__)
main(ARG) main(ARG)

View File

@ -6,18 +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. 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. 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: Usage:
qp_set_frozen_core [-q|--query] [-l|--large] EZFIO_DIR qp_set_frozen_core [-q|--query] [(-l|-s|--large|--small)] EZFIO_DIR
Options: Options:
-q --query Prints in the standard output the number of frozen MOs -q --query Prints in the standard output the number of frozen MOs
-l --large Use a large core -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
========== ========= ======= =======
""" """
@ -47,47 +68,36 @@ def main(arguments):
except: except:
do_pseudo = False do_pseudo = False
large = 0
small = 1
size = small
if arguments["--large"]:
size = large
if not do_pseudo: if not do_pseudo:
if size == large: if arguments["--large"]:
for charge in ezfio.nuclei_nucl_charge: for charge in ezfio.nuclei_nucl_charge:
if charge <= 2: if charge <= 2: pass
pass elif charge <= 10: n_frozen += 1
elif charge <= 10: elif charge <= 18: n_frozen += 5
n_frozen += 1 elif charge <= 36: n_frozen += 9
elif charge <= 18: elif charge <= 54: n_frozen += 18
n_frozen += 5 elif charge <= 86: n_frozen += 27
elif charge <= 36: elif charge <= 118: n_frozen += 43
n_frozen += 9
elif charge <= 54:
n_frozen += 18
elif charge <= 86:
n_frozen += 27
elif charge <= 118:
n_frozen += 43
if size == small: 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: for charge in ezfio.nuclei_nucl_charge:
if charge < 5: if charge <= 4: pass
pass elif charge <= 12: n_frozen += 1
elif charge < 13: elif charge <= 30: n_frozen += 5
n_frozen += 1 elif charge <= 48: n_frozen += 9
elif charge < 31: elif charge <= 80: n_frozen += 18
n_frozen += 5 elif charge <= 112: n_frozen += 27
elif charge < 49:
n_frozen += 9
elif charge < 81:
n_frozen += 18
elif charge < 113:
n_frozen += 27
mo_num = ezfio.mo_basis_mo_num mo_num = ezfio.mo_basis_mo_num

71
bin/qp_tunnel Executable file
View 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)

63
config/ifort_epyc.cfg Normal file
View 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

View File

@ -953,6 +953,7 @@ Subroutines / functions
Gets multiple AO bi-electronic integral from the AO map . Gets multiple AO bi-electronic integral from the AO map .
All i are retrieved for j,k,l fixed. All i are retrieved for j,k,l fixed.
physicist convention : <ij|kl>
Needs: Needs:
@ -1224,6 +1225,8 @@ Subroutines / functions
subroutine two_e_integrals_index(i,j,k,l,i1) 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: Called by:
@ -1255,7 +1258,7 @@ Subroutines / functions
* :c:data:`mo_integrals_erf_cache` * :c:data:`mo_integrals_erf_cache`
* :c:data:`mo_integrals_erf_map` * :c:data:`mo_integrals_erf_map`
* :c:data:`mo_integrals_map` * :c:data:`mo_integrals_map`
* :c:func:`two_e_integrals_index_reverse` * :c:func:`test`
.. c:function:: two_e_integrals_index_reverse: .. c:function:: two_e_integrals_index_reverse:
@ -1268,6 +1271,15 @@ Subroutines / functions
subroutine two_e_integrals_index_reverse(i,j,k,l,i1) 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: Called by:
@ -1275,11 +1287,5 @@ Subroutines / functions
:columns: 3 :columns: 3
* :c:data:`ao_two_e_integral_alpha` * :c:data:`ao_two_e_integral_alpha`
* :c:func:`test`
Calls:
.. hlist::
:columns: 3
* :c:func:`two_e_integrals_index`

View File

@ -51,3 +51,13 @@ EZFIO parameters
Beta one body density matrix on the |MO| basis computed with the wave function 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

View File

@ -241,6 +241,7 @@ Providers
* :c:data:`mos_in_r_array` * :c:data:`mos_in_r_array`
* :c:data:`one_e_dm_alpha_at_r` * :c:data:`one_e_dm_alpha_at_r`
* :c:data:`one_e_dm_and_grad_alpha_in_r` * :c:data:`one_e_dm_and_grad_alpha_in_r`
* :c:data:`one_e_dm_no_core_and_grad_alpha_in_r`
.. c:var:: final_weight_at_r .. c:var:: final_weight_at_r
@ -339,6 +340,7 @@ Providers
* :c:data:`mos_in_r_array` * :c:data:`mos_in_r_array`
* :c:data:`one_e_dm_alpha_at_r` * :c:data:`one_e_dm_alpha_at_r`
* :c:data:`one_e_dm_and_grad_alpha_in_r` * :c:data:`one_e_dm_and_grad_alpha_in_r`
* :c:data:`one_e_dm_no_core_and_grad_alpha_in_r`
.. c:var:: grid_points_per_atom .. c:var:: grid_points_per_atom
@ -468,6 +470,7 @@ Providers
* :c:data:`mos_in_r_array` * :c:data:`mos_in_r_array`
* :c:data:`one_e_dm_alpha_at_r` * :c:data:`one_e_dm_alpha_at_r`
* :c:data:`one_e_dm_and_grad_alpha_in_r` * :c:data:`one_e_dm_and_grad_alpha_in_r`
* :c:data:`one_e_dm_no_core_and_grad_alpha_in_r`
.. c:var:: index_final_points_reverse .. c:var:: index_final_points_reverse
@ -532,6 +535,7 @@ Providers
* :c:data:`mos_in_r_array` * :c:data:`mos_in_r_array`
* :c:data:`one_e_dm_alpha_at_r` * :c:data:`one_e_dm_alpha_at_r`
* :c:data:`one_e_dm_and_grad_alpha_in_r` * :c:data:`one_e_dm_and_grad_alpha_in_r`
* :c:data:`one_e_dm_no_core_and_grad_alpha_in_r`
.. c:var:: m_knowles .. c:var:: m_knowles
@ -608,6 +612,7 @@ Providers
* :c:data:`mos_lapl_in_r_array` * :c:data:`mos_lapl_in_r_array`
* :c:data:`one_e_dm_alpha_at_r` * :c:data:`one_e_dm_alpha_at_r`
* :c:data:`one_e_dm_and_grad_alpha_in_r` * :c:data:`one_e_dm_and_grad_alpha_in_r`
* :c:data:`one_e_dm_no_core_and_grad_alpha_in_r`
* :c:data:`pot_grad_x_alpha_ao_pbe` * :c:data:`pot_grad_x_alpha_ao_pbe`
* :c:data:`pot_grad_xc_alpha_ao_pbe` * :c:data:`pot_grad_xc_alpha_ao_pbe`
* :c:data:`pot_scal_x_alpha_ao_pbe` * :c:data:`pot_scal_x_alpha_ao_pbe`
@ -749,6 +754,7 @@ Providers
* :c:data:`grid_points_per_atom` * :c:data:`grid_points_per_atom`
* :c:data:`n_points_radial_grid` * :c:data:`n_points_radial_grid`
* :c:data:`nucl_charge`
* :c:data:`nucl_coord_transp` * :c:data:`nucl_coord_transp`
* :c:data:`nucl_dist_inv` * :c:data:`nucl_dist_inv`
* :c:data:`nucl_num` * :c:data:`nucl_num`
@ -818,6 +824,7 @@ Subroutines / functions
* :c:data:`nucl_dist_inv` * :c:data:`nucl_dist_inv`
* :c:data:`slater_bragg_type_inter_distance_ua` * :c:data:`slater_bragg_type_inter_distance_ua`
* :c:data:`nucl_coord_transp` * :c:data:`nucl_coord_transp`
* :c:data:`nucl_charge`
* :c:data:`nucl_num` * :c:data:`nucl_num`

View File

@ -108,10 +108,12 @@ Providers
* :c:data:`fock_matrix_mo` * :c:data:`fock_matrix_mo`
* :c:data:`inact_virt_bitmask` * :c:data:`inact_virt_bitmask`
* :c:data:`list_core_inact_act` * :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_in_map`
* :c:data:`mo_two_e_integrals_vv_from_ao` * :c:data:`mo_two_e_integrals_vv_from_ao`
* :c:data:`reunion_of_bitmask` * :c:data:`reunion_of_bitmask`
* :c:data:`reunion_of_cas_inact_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:`reunion_of_core_inact_bitmask`
* :c:data:`virt_bitmask_4` * :c:data:`virt_bitmask_4`
@ -150,8 +152,6 @@ Providers
* :c:data:`closed_shell_ref_bitmask` * :c:data:`closed_shell_ref_bitmask`
* :c:data:`psi_cas` * :c:data:`psi_cas`
* :c:data:`reunion_of_bitmask` * :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 .. c:var:: closed_shell_ref_bitmask
@ -246,10 +246,12 @@ Providers
* :c:data:`fock_matrix_mo` * :c:data:`fock_matrix_mo`
* :c:data:`inact_virt_bitmask` * :c:data:`inact_virt_bitmask`
* :c:data:`list_core_inact_act` * :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_in_map`
* :c:data:`mo_two_e_integrals_vv_from_ao` * :c:data:`mo_two_e_integrals_vv_from_ao`
* :c:data:`reunion_of_bitmask` * :c:data:`reunion_of_bitmask`
* :c:data:`reunion_of_cas_inact_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:`reunion_of_core_inact_bitmask`
* :c:data:`virt_bitmask_4` * :c:data:`virt_bitmask_4`
@ -374,10 +376,12 @@ Providers
* :c:data:`fock_matrix_mo` * :c:data:`fock_matrix_mo`
* :c:data:`inact_virt_bitmask` * :c:data:`inact_virt_bitmask`
* :c:data:`list_core_inact_act` * :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_in_map`
* :c:data:`mo_two_e_integrals_vv_from_ao` * :c:data:`mo_two_e_integrals_vv_from_ao`
* :c:data:`reunion_of_bitmask` * :c:data:`reunion_of_bitmask`
* :c:data:`reunion_of_cas_inact_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:`reunion_of_core_inact_bitmask`
* :c:data:`virt_bitmask_4` * :c:data:`virt_bitmask_4`
@ -814,10 +818,12 @@ Providers
* :c:data:`fock_matrix_mo` * :c:data:`fock_matrix_mo`
* :c:data:`inact_virt_bitmask` * :c:data:`inact_virt_bitmask`
* :c:data:`list_core_inact_act` * :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_in_map`
* :c:data:`mo_two_e_integrals_vv_from_ao` * :c:data:`mo_two_e_integrals_vv_from_ao`
* :c:data:`reunion_of_bitmask` * :c:data:`reunion_of_bitmask`
* :c:data:`reunion_of_cas_inact_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:`reunion_of_core_inact_bitmask`
* :c:data:`virt_bitmask_4` * :c:data:`virt_bitmask_4`
@ -943,10 +949,12 @@ Providers
* :c:data:`fock_matrix_mo` * :c:data:`fock_matrix_mo`
* :c:data:`inact_virt_bitmask` * :c:data:`inact_virt_bitmask`
* :c:data:`list_core_inact_act` * :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_in_map`
* :c:data:`mo_two_e_integrals_vv_from_ao` * :c:data:`mo_two_e_integrals_vv_from_ao`
* :c:data:`reunion_of_bitmask` * :c:data:`reunion_of_bitmask`
* :c:data:`reunion_of_cas_inact_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:`reunion_of_core_inact_bitmask`
* :c:data:`virt_bitmask_4` * :c:data:`virt_bitmask_4`
@ -1021,10 +1029,12 @@ Providers
* :c:data:`fock_matrix_mo` * :c:data:`fock_matrix_mo`
* :c:data:`inact_virt_bitmask` * :c:data:`inact_virt_bitmask`
* :c:data:`list_core_inact_act` * :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_in_map`
* :c:data:`mo_two_e_integrals_vv_from_ao` * :c:data:`mo_two_e_integrals_vv_from_ao`
* :c:data:`reunion_of_bitmask` * :c:data:`reunion_of_bitmask`
* :c:data:`reunion_of_cas_inact_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:`reunion_of_core_inact_bitmask`
* :c:data:`virt_bitmask_4` * :c:data:`virt_bitmask_4`
@ -1099,10 +1109,12 @@ Providers
* :c:data:`fock_matrix_mo` * :c:data:`fock_matrix_mo`
* :c:data:`inact_virt_bitmask` * :c:data:`inact_virt_bitmask`
* :c:data:`list_core_inact_act` * :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_in_map`
* :c:data:`mo_two_e_integrals_vv_from_ao` * :c:data:`mo_two_e_integrals_vv_from_ao`
* :c:data:`reunion_of_bitmask` * :c:data:`reunion_of_bitmask`
* :c:data:`reunion_of_cas_inact_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:`reunion_of_core_inact_bitmask`
* :c:data:`virt_bitmask_4` * :c:data:`virt_bitmask_4`
@ -1110,12 +1122,12 @@ Providers
.. c:var:: list_core_inact_act .. c:var:: list_core_inact_act
File : :file:`bitmask/bitmasks.irp.f` File : :file:`bitmask/core_inact_act_virt.irp.f`
.. code:: fortran .. code:: fortran
integer, allocatable :: list_core_inact_act (n_core_inact_act_orb) 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 :columns: 3
* :c:data:`list_inact` * :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:`n_int`
* :c:data:`reunion_of_core_inact_act_bitmask` * :c:data:`reunion_of_core_inact_act_bitmask`
@ -1134,12 +1147,12 @@ Providers
.. c:var:: list_core_inact_act_reverse .. c:var:: list_core_inact_act_reverse
File : :file:`bitmask/bitmasks.irp.f` File : :file:`bitmask/core_inact_act_virt.irp.f`
.. code:: fortran .. code:: fortran
integer, allocatable :: list_core_inact_act (n_core_inact_act_orb) 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 :columns: 3
* :c:data:`list_inact` * :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:`n_int`
* :c:data:`reunion_of_core_inact_act_bitmask` * :c:data:`reunion_of_core_inact_act_bitmask`
@ -1225,10 +1239,12 @@ Providers
* :c:data:`fock_matrix_mo` * :c:data:`fock_matrix_mo`
* :c:data:`inact_virt_bitmask` * :c:data:`inact_virt_bitmask`
* :c:data:`list_core_inact_act` * :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_in_map`
* :c:data:`mo_two_e_integrals_vv_from_ao` * :c:data:`mo_two_e_integrals_vv_from_ao`
* :c:data:`reunion_of_bitmask` * :c:data:`reunion_of_bitmask`
* :c:data:`reunion_of_cas_inact_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:`reunion_of_core_inact_bitmask`
* :c:data:`virt_bitmask_4` * :c:data:`virt_bitmask_4`
@ -1303,10 +1319,12 @@ Providers
* :c:data:`fock_matrix_mo` * :c:data:`fock_matrix_mo`
* :c:data:`inact_virt_bitmask` * :c:data:`inact_virt_bitmask`
* :c:data:`list_core_inact_act` * :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_in_map`
* :c:data:`mo_two_e_integrals_vv_from_ao` * :c:data:`mo_two_e_integrals_vv_from_ao`
* :c:data:`reunion_of_bitmask` * :c:data:`reunion_of_bitmask`
* :c:data:`reunion_of_cas_inact_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:`reunion_of_core_inact_bitmask`
* :c:data:`virt_bitmask_4` * :c:data:`virt_bitmask_4`
@ -1381,10 +1399,12 @@ Providers
* :c:data:`fock_matrix_mo` * :c:data:`fock_matrix_mo`
* :c:data:`inact_virt_bitmask` * :c:data:`inact_virt_bitmask`
* :c:data:`list_core_inact_act` * :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_in_map`
* :c:data:`mo_two_e_integrals_vv_from_ao` * :c:data:`mo_two_e_integrals_vv_from_ao`
* :c:data:`reunion_of_bitmask` * :c:data:`reunion_of_bitmask`
* :c:data:`reunion_of_cas_inact_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:`reunion_of_core_inact_bitmask`
* :c:data:`virt_bitmask_4` * :c:data:`virt_bitmask_4`
@ -1459,14 +1479,38 @@ Providers
* :c:data:`fock_matrix_mo` * :c:data:`fock_matrix_mo`
* :c:data:`inact_virt_bitmask` * :c:data:`inact_virt_bitmask`
* :c:data:`list_core_inact_act` * :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_in_map`
* :c:data:`mo_two_e_integrals_vv_from_ao` * :c:data:`mo_two_e_integrals_vv_from_ao`
* :c:data:`reunion_of_bitmask` * :c:data:`reunion_of_bitmask`
* :c:data:`reunion_of_cas_inact_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:`reunion_of_core_inact_bitmask`
* :c:data:`virt_bitmask_4` * :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 .. c:var:: list_inact_reverse
@ -1537,10 +1581,12 @@ Providers
* :c:data:`fock_matrix_mo` * :c:data:`fock_matrix_mo`
* :c:data:`inact_virt_bitmask` * :c:data:`inact_virt_bitmask`
* :c:data:`list_core_inact_act` * :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_in_map`
* :c:data:`mo_two_e_integrals_vv_from_ao` * :c:data:`mo_two_e_integrals_vv_from_ao`
* :c:data:`reunion_of_bitmask` * :c:data:`reunion_of_bitmask`
* :c:data:`reunion_of_cas_inact_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:`reunion_of_core_inact_bitmask`
* :c:data:`virt_bitmask_4` * :c:data:`virt_bitmask_4`
@ -1615,10 +1661,12 @@ Providers
* :c:data:`fock_matrix_mo` * :c:data:`fock_matrix_mo`
* :c:data:`inact_virt_bitmask` * :c:data:`inact_virt_bitmask`
* :c:data:`list_core_inact_act` * :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_in_map`
* :c:data:`mo_two_e_integrals_vv_from_ao` * :c:data:`mo_two_e_integrals_vv_from_ao`
* :c:data:`reunion_of_bitmask` * :c:data:`reunion_of_bitmask`
* :c:data:`reunion_of_cas_inact_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:`reunion_of_core_inact_bitmask`
* :c:data:`virt_bitmask_4` * :c:data:`virt_bitmask_4`
@ -1693,10 +1741,12 @@ Providers
* :c:data:`fock_matrix_mo` * :c:data:`fock_matrix_mo`
* :c:data:`inact_virt_bitmask` * :c:data:`inact_virt_bitmask`
* :c:data:`list_core_inact_act` * :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_in_map`
* :c:data:`mo_two_e_integrals_vv_from_ao` * :c:data:`mo_two_e_integrals_vv_from_ao`
* :c:data:`reunion_of_bitmask` * :c:data:`reunion_of_bitmask`
* :c:data:`reunion_of_cas_inact_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:`reunion_of_core_inact_bitmask`
* :c:data:`virt_bitmask_4` * :c:data:`virt_bitmask_4`
@ -1772,9 +1822,13 @@ Providers
* :c:data:`dim_list_core_orb` * :c:data:`dim_list_core_orb`
* :c:data:`eigenvectors_fock_matrix_mo` * :c:data:`eigenvectors_fock_matrix_mo`
* :c:data:`fock_matrix_mo` * :c:data:`fock_matrix_mo`
* :c:data:`list_core_inact_act`
* :c:data:`list_inact` * :c:data:`list_inact`
* :c:data:`list_inact_act`
* :c:data:`mo_two_e_integrals_vv_from_ao` * :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_core_orb_allocate`
* :c:data:`n_inact_act_orb`
* :c:data:`n_inact_orb_allocate` * :c:data:`n_inact_orb_allocate`
* :c:data:`n_virt_orb_allocate` * :c:data:`n_virt_orb_allocate`
* :c:data:`pt2_f` * :c:data:`pt2_f`
@ -1813,31 +1867,26 @@ Providers
.. c:var:: n_core_inact_act_orb .. c:var:: n_core_inact_act_orb
File : :file:`bitmask/bitmasks.irp.f` File : :file:`bitmask/core_inact_act_virt.irp.f`
.. code:: fortran .. code:: fortran
integer(bit_kind), allocatable :: reunion_of_core_inact_act_bitmask (N_int,2)
integer :: n_core_inact_act_orb integer :: n_core_inact_act_orb
Reunion of the core, inactive and active bitmasks
Needs: Needs:
.. hlist:: .. hlist::
:columns: 3 :columns: 3
* :c:data:`cas_bitmask` * :c:data:`n_core_orb`
* :c:data:`n_int`
* :c:data:`reunion_of_core_inact_bitmask`
Needed by: Needed by:
.. hlist:: .. hlist::
:columns: 3 :columns: 3
* :c:data:`core_inact_act_bitmask_4`
* :c:data:`list_core_inact_act` * :c:data:`list_core_inact_act`
@ -1919,9 +1968,13 @@ Providers
* :c:data:`dim_list_core_orb` * :c:data:`dim_list_core_orb`
* :c:data:`eigenvectors_fock_matrix_mo` * :c:data:`eigenvectors_fock_matrix_mo`
* :c:data:`fock_matrix_mo` * :c:data:`fock_matrix_mo`
* :c:data:`list_core_inact_act`
* :c:data:`list_inact` * :c:data:`list_inact`
* :c:data:`list_inact_act`
* :c:data:`mo_two_e_integrals_vv_from_ao` * :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_core_orb_allocate`
* :c:data:`n_inact_act_orb`
* :c:data:`n_inact_orb_allocate` * :c:data:`n_inact_orb_allocate`
* :c:data:`n_virt_orb_allocate` * :c:data:`n_virt_orb_allocate`
* :c:data:`pt2_f` * :c:data:`pt2_f`
@ -2004,9 +2057,13 @@ Providers
* :c:data:`dim_list_core_orb` * :c:data:`dim_list_core_orb`
* :c:data:`eigenvectors_fock_matrix_mo` * :c:data:`eigenvectors_fock_matrix_mo`
* :c:data:`fock_matrix_mo` * :c:data:`fock_matrix_mo`
* :c:data:`list_core_inact_act`
* :c:data:`list_inact` * :c:data:`list_inact`
* :c:data:`list_inact_act`
* :c:data:`mo_two_e_integrals_vv_from_ao` * :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_core_orb_allocate`
* :c:data:`n_inact_act_orb`
* :c:data:`n_inact_orb_allocate` * :c:data:`n_inact_orb_allocate`
* :c:data:`n_virt_orb_allocate` * :c:data:`n_virt_orb_allocate`
* :c:data:`pt2_f` * :c:data:`pt2_f`
@ -2072,6 +2129,32 @@ Providers
* :c:data:`generators_bitmask_restart` * :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 .. c:var:: n_inact_orb
@ -2129,9 +2212,13 @@ Providers
* :c:data:`dim_list_core_orb` * :c:data:`dim_list_core_orb`
* :c:data:`eigenvectors_fock_matrix_mo` * :c:data:`eigenvectors_fock_matrix_mo`
* :c:data:`fock_matrix_mo` * :c:data:`fock_matrix_mo`
* :c:data:`list_core_inact_act`
* :c:data:`list_inact` * :c:data:`list_inact`
* :c:data:`list_inact_act`
* :c:data:`mo_two_e_integrals_vv_from_ao` * :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_core_orb_allocate`
* :c:data:`n_inact_act_orb`
* :c:data:`n_inact_orb_allocate` * :c:data:`n_inact_orb_allocate`
* :c:data:`n_virt_orb_allocate` * :c:data:`n_virt_orb_allocate`
* :c:data:`pt2_f` * :c:data:`pt2_f`
@ -2309,9 +2396,13 @@ Providers
* :c:data:`dim_list_core_orb` * :c:data:`dim_list_core_orb`
* :c:data:`eigenvectors_fock_matrix_mo` * :c:data:`eigenvectors_fock_matrix_mo`
* :c:data:`fock_matrix_mo` * :c:data:`fock_matrix_mo`
* :c:data:`list_core_inact_act`
* :c:data:`list_inact` * :c:data:`list_inact`
* :c:data:`list_inact_act`
* :c:data:`mo_two_e_integrals_vv_from_ao` * :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_core_orb_allocate`
* :c:data:`n_inact_act_orb`
* :c:data:`n_inact_orb_allocate` * :c:data:`n_inact_orb_allocate`
* :c:data:`n_virt_orb_allocate` * :c:data:`n_virt_orb_allocate`
* :c:data:`pt2_f` * :c:data:`pt2_f`
@ -2412,7 +2503,6 @@ Providers
.. hlist:: .. hlist::
:columns: 3 :columns: 3
* :c:data:`cas_bitmask`
* :c:data:`list_inact` * :c:data:`list_inact`
* :c:data:`n_int` * :c:data:`n_int`
@ -2426,7 +2516,6 @@ Providers
.. code:: fortran .. code:: fortran
integer(bit_kind), allocatable :: reunion_of_core_inact_act_bitmask (N_int,2) 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 Reunion of the core, inactive and active bitmasks
@ -2436,7 +2525,7 @@ Providers
.. hlist:: .. hlist::
:columns: 3 :columns: 3
* :c:data:`cas_bitmask` * :c:data:`list_inact`
* :c:data:`n_int` * :c:data:`n_int`
* :c:data:`reunion_of_core_inact_bitmask` * :c:data:`reunion_of_core_inact_bitmask`
@ -2570,10 +2659,12 @@ Providers
* :c:data:`fock_matrix_mo` * :c:data:`fock_matrix_mo`
* :c:data:`inact_virt_bitmask` * :c:data:`inact_virt_bitmask`
* :c:data:`list_core_inact_act` * :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_in_map`
* :c:data:`mo_two_e_integrals_vv_from_ao` * :c:data:`mo_two_e_integrals_vv_from_ao`
* :c:data:`reunion_of_bitmask` * :c:data:`reunion_of_bitmask`
* :c:data:`reunion_of_cas_inact_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:`reunion_of_core_inact_bitmask`
* :c:data:`virt_bitmask_4` * :c:data:`virt_bitmask_4`

View File

@ -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 .. c:var:: pt2_mindetinfirstteeth
@ -698,6 +726,7 @@ Providers
* :c:data:`c0_weight` * :c:data:`c0_weight`
* :c:data:`n_states` * :c:data:`n_states`
* :c:data:`pt2_match_weight`
@ -854,6 +883,8 @@ Subroutines / functions
* :c:data:`psi_det_hii` * :c:data:`psi_det_hii`
* :c:data:`do_only_1h1p` * :c:data:`do_only_1h1p`
* :c:data:`h0_type` * :c:data:`h0_type`
* :c:data:`thresh_sym`
* :c:data:`pseudo_sym`
* :c:data:`psi_det_generators` * :c:data:`psi_det_generators`
Called by: Called by:
@ -1584,6 +1615,7 @@ Subroutines / functions
* :c:data:`psi_energy` * :c:data:`psi_energy`
* :c:data:`psi_occ_pattern` * :c:data:`psi_occ_pattern`
* :c:data:`psi_energy` * :c:data:`psi_energy`
* :c:data:`pt2_match_weight`
* :c:data:`pt2_stoch_istate` * :c:data:`pt2_stoch_istate`
* :c:data:`state_average_weight` * :c:data:`state_average_weight`
* :c:data:`threshold_generators` * :c:data:`threshold_generators`
@ -1805,6 +1837,7 @@ Subroutines / functions
.. hlist:: .. hlist::
:columns: 3 :columns: 3
* :c:func:`fci`
* :c:func:`pt2` * :c:func:`pt2`
Calls: Calls:
@ -1991,6 +2024,7 @@ Subroutines / functions
* :c:data:`psi_energy` * :c:data:`psi_energy`
* :c:data:`psi_occ_pattern` * :c:data:`psi_occ_pattern`
* :c:data:`psi_energy` * :c:data:`psi_energy`
* :c:data:`pt2_match_weight`
* :c:data:`pt2_stoch_istate` * :c:data:`pt2_stoch_istate`
* :c:data:`state_average_weight` * :c:data:`state_average_weight`
* :c:data:`threshold_generators` * :c:data:`threshold_generators`
@ -2344,6 +2378,7 @@ Subroutines / functions
* :c:data:`state_average_weight` * :c:data:`state_average_weight`
* :c:data:`n_det` * :c:data:`n_det`
* :c:data:`s2_eig` * :c:data:`s2_eig`
* :c:data:`pt2_match_weight`
* :c:data:`pt2_j` * :c:data:`pt2_j`
* :c:data:`mo_two_e_integrals_in_map` * :c:data:`mo_two_e_integrals_in_map`
* :c:data:`psi_bilinear_matrix_transp_values` * :c:data:`psi_bilinear_matrix_transp_values`
@ -2415,6 +2450,7 @@ Subroutines / functions
* :c:data:`psi_det` * :c:data:`psi_det`
* :c:data:`psi_det_size` * :c:data:`psi_det_size`
* :c:data:`psi_det_sorted_bit` * :c:data:`psi_det_sorted_bit`
* :c:data:`pt2_match_weight`
* :c:data:`pt2_stoch_istate` * :c:data:`pt2_stoch_istate`
* :c:data:`state_average_weight` * :c:data:`state_average_weight`
@ -2441,6 +2477,7 @@ Subroutines / functions
* :c:data:`n_det` * :c:data:`n_det`
* :c:data:`psi_bilinear_matrix_columns_loc` * :c:data:`psi_bilinear_matrix_columns_loc`
* :c:data:`n_det_selectors` * :c:data:`n_det_selectors`
* :c:data:`psi_bilinear_matrix_transp_values`
* :c:data:`psi_det_alpha_unique` * :c:data:`psi_det_alpha_unique`
* :c:data:`psi_bilinear_matrix_transp_values` * :c:data:`psi_bilinear_matrix_transp_values`
* :c:data:`state_average_weight` * :c:data:`state_average_weight`
@ -2456,7 +2493,7 @@ Subroutines / functions
* :c:data:`n_states` * :c:data:`n_states`
* :c:data:`pt2_f` * :c:data:`pt2_f`
* :c:data:`n_det_generators` * :c:data:`n_det_generators`
* :c:data:`psi_bilinear_matrix_transp_values` * :c:data:`pt2_match_weight`
* :c:data:`n_int` * :c:data:`n_int`
Called by: Called by:
@ -2496,4 +2533,5 @@ Subroutines / functions
* :c:data:`psi_det` * :c:data:`psi_det`
* :c:data:`psi_det_size` * :c:data:`psi_det_size`
* :c:data:`psi_det_sorted_bit` * :c:data:`psi_det_sorted_bit`
* :c:data:`pt2_match_weight`

View File

@ -72,7 +72,7 @@ Subroutines / functions
.. c:function:: h_apply_cis: .. c:function:: h_apply_cis:
File : :file:`h_apply.irp.f_shell_8` File : :file:`h_apply.irp.f_shell_13`
.. code:: fortran .. code:: fortran
@ -134,7 +134,7 @@ Subroutines / functions
.. c:function:: h_apply_cis_diexc: .. c:function:: h_apply_cis_diexc:
File : :file:`h_apply.irp.f_shell_8` File : :file:`h_apply.irp.f_shell_13`
.. code:: fortran .. code:: fortran
@ -169,7 +169,7 @@ Subroutines / functions
.. c:function:: h_apply_cis_diexcorg: .. c:function:: h_apply_cis_diexcorg:
File : :file:`h_apply.irp.f_shell_8` File : :file:`h_apply.irp.f_shell_13`
.. code:: fortran .. code:: fortran
@ -208,7 +208,7 @@ Subroutines / functions
.. c:function:: h_apply_cis_diexcp: .. c:function:: h_apply_cis_diexcp:
File : :file:`h_apply.irp.f_shell_8` File : :file:`h_apply.irp.f_shell_13`
.. code:: fortran .. code:: fortran
@ -243,7 +243,7 @@ Subroutines / functions
.. c:function:: h_apply_cis_monoexc: .. c:function:: h_apply_cis_monoexc:
File : :file:`h_apply.irp.f_shell_8` File : :file:`h_apply.irp.f_shell_13`
.. code:: fortran .. code:: fortran
@ -278,3 +278,215 @@ Subroutines / functions
* :c:func:`bitstring_to_list_ab` * :c:func:`bitstring_to_list_ab`
* :c:func:`fill_h_apply_buffer_no_selection` * :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`

View File

@ -65,7 +65,7 @@ Subroutines / functions
.. c:function:: h_apply_cisd: .. c:function:: h_apply_cisd:
File : :file:`h_apply.irp.f_shell_8` File : :file:`h_apply.irp.f_shell_12`
.. code:: fortran .. code:: fortran
@ -127,7 +127,7 @@ Subroutines / functions
.. c:function:: h_apply_cisd_diexc: .. c:function:: h_apply_cisd_diexc:
File : :file:`h_apply.irp.f_shell_8` File : :file:`h_apply.irp.f_shell_12`
.. code:: fortran .. code:: fortran
@ -162,7 +162,7 @@ Subroutines / functions
.. c:function:: h_apply_cisd_diexcorg: .. c:function:: h_apply_cisd_diexcorg:
File : :file:`h_apply.irp.f_shell_8` File : :file:`h_apply.irp.f_shell_12`
.. code:: fortran .. code:: fortran
@ -201,7 +201,7 @@ Subroutines / functions
.. c:function:: h_apply_cisd_diexcp: .. c:function:: h_apply_cisd_diexcp:
File : :file:`h_apply.irp.f_shell_8` File : :file:`h_apply.irp.f_shell_12`
.. code:: fortran .. code:: fortran
@ -236,7 +236,7 @@ Subroutines / functions
.. c:function:: h_apply_cisd_monoexc: .. c:function:: h_apply_cisd_monoexc:
File : :file:`h_apply.irp.f_shell_8` File : :file:`h_apply.irp.f_shell_12`
.. code:: fortran .. code:: fortran
@ -271,3 +271,215 @@ Subroutines / functions
* :c:func:`bitstring_to_list_ab` * :c:func:`bitstring_to_list_ab`
* :c:func:`fill_h_apply_buffer_no_selection` * :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`

View File

@ -44,6 +44,12 @@ EZFIO parameters
Default: full_density 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 Providers
--------- ---------
@ -131,6 +137,9 @@ Providers
:columns: 3 :columns: 3
* :c:data:`ao_num` * :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_coef`
* :c:data:`mo_num` * :c:data:`mo_num`
* :c:data:`n_states` * :c:data:`n_states`
@ -147,6 +156,39 @@ Providers
* :c:data:`one_e_dm_and_grad_alpha_in_r` * :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 .. c:var:: one_e_dm_average_mo_for_dft
@ -195,6 +237,9 @@ Providers
:columns: 3 :columns: 3
* :c:data:`ao_num` * :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_coef`
* :c:data:`mo_num` * :c:data:`mo_num`
* :c:data:`n_states` * :c:data:`n_states`
@ -211,6 +256,39 @@ Providers
* :c:data:`one_e_dm_and_grad_alpha_in_r` * :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 .. c:var:: one_e_dm_mo_alpha_for_dft
@ -228,14 +306,18 @@ Providers
.. hlist:: .. hlist::
:columns: 3 :columns: 3
* :c:data:`ao_num`
* :c:data:`damping_for_rs_dft` * :c:data:`damping_for_rs_dft`
* :c:data:`data_one_e_dm_alpha_mo` * :c:data:`data_one_e_dm_alpha_mo`
* :c:data:`density_for_dft` * :c:data:`density_for_dft`
* :c:data:`elec_alpha_num`
* :c:data:`list_inact`
* :c:data:`mo_coef` * :c:data:`mo_coef`
* :c:data:`mo_num` * :c:data:`mo_num`
* :c:data:`n_core_orb` * :c:data:`n_core_orb`
* :c:data:`n_states` * :c:data:`n_states`
* :c:data:`no_core_density` * :c:data:`no_core_density`
* :c:data:`normalize_dm`
* :c:data:`one_body_dm_mo_alpha_one_det` * :c:data:`one_body_dm_mo_alpha_one_det`
* :c:data:`one_e_dm_mo_alpha` * :c:data:`one_e_dm_mo_alpha`
* :c:data:`one_e_dm_mo_alpha_average` * :c:data:`one_e_dm_mo_alpha_average`
@ -246,12 +328,44 @@ Providers
:columns: 3 :columns: 3
* :c:data:`one_e_dm_alpha_ao_for_dft` * :c:data:`one_e_dm_alpha_ao_for_dft`
* :c:data:`one_e_dm_mo_alpha_for_dft_no_core`
* :c:data:`one_e_dm_mo_for_dft` * :c:data:`one_e_dm_mo_for_dft`
* :c:data:`psi_dft_energy_kinetic` * :c:data:`psi_dft_energy_kinetic`
* :c:data:`trace_v_xc` * :c:data:`trace_v_xc`
* :c:data:`trace_v_xc_new` * :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 .. c:var:: one_e_dm_mo_beta_for_dft
@ -269,14 +383,18 @@ Providers
.. hlist:: .. hlist::
:columns: 3 :columns: 3
* :c:data:`ao_num`
* :c:data:`damping_for_rs_dft` * :c:data:`damping_for_rs_dft`
* :c:data:`data_one_e_dm_beta_mo` * :c:data:`data_one_e_dm_beta_mo`
* :c:data:`density_for_dft` * :c:data:`density_for_dft`
* :c:data:`elec_beta_num`
* :c:data:`list_inact`
* :c:data:`mo_coef` * :c:data:`mo_coef`
* :c:data:`mo_num` * :c:data:`mo_num`
* :c:data:`n_core_orb` * :c:data:`n_core_orb`
* :c:data:`n_states` * :c:data:`n_states`
* :c:data:`no_core_density` * :c:data:`no_core_density`
* :c:data:`normalize_dm`
* :c:data:`one_body_dm_mo_alpha_one_det` * :c:data:`one_body_dm_mo_alpha_one_det`
* :c:data:`one_e_dm_mo_alpha` * :c:data:`one_e_dm_mo_alpha`
* :c:data:`one_e_dm_mo_alpha_average` * :c:data:`one_e_dm_mo_alpha_average`
@ -287,12 +405,44 @@ Providers
:columns: 3 :columns: 3
* :c:data:`one_e_dm_alpha_ao_for_dft` * :c:data:`one_e_dm_alpha_ao_for_dft`
* :c:data:`one_e_dm_mo_beta_for_dft_no_core`
* :c:data:`one_e_dm_mo_for_dft` * :c:data:`one_e_dm_mo_for_dft`
* :c:data:`psi_dft_energy_kinetic` * :c:data:`psi_dft_energy_kinetic`
* :c:data:`trace_v_xc` * :c:data:`trace_v_xc`
* :c:data:`trace_v_xc_new` * :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 .. c:var:: one_e_dm_mo_for_dft

View File

@ -71,7 +71,7 @@ EZFIO parameters
Thresholds on generators (fraction of the square of the norm) Thresholds on generators (fraction of the square of the norm)
Default: 0.99 Default: 0.999
.. option:: n_int .. option:: n_int
@ -119,6 +119,18 @@ EZFIO parameters
Weight of the states in state-average calculations. 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 Providers
--------- ---------
@ -3971,6 +3983,37 @@ Subroutines / functions
* :c:func:`debug_det` * :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: .. c:function:: connected_to_ref:
@ -5367,6 +5410,7 @@ Subroutines / functions
.. hlist:: .. hlist::
:columns: 3 :columns: 3
* :c:func:`connected_to_hf`
* :c:data:`degree_max_generators` * :c:data:`degree_max_generators`
* :c:func:`diag_h_mat_elem_fock` * :c:func:`diag_h_mat_elem_fock`
* :c:func:`example_determinants` * :c:func:`example_determinants`
@ -5699,6 +5743,7 @@ Subroutines / functions
.. hlist:: .. hlist::
:columns: 3 :columns: 3
* :c:func:`connected_to_hf`
* :c:func:`diag_h_mat_elem_fock` * :c:func:`diag_h_mat_elem_fock`
* :c:func:`get_excitation` * :c:func:`get_excitation`
* :c:func:`i_h_j` * :c:func:`i_h_j`
@ -5866,6 +5911,7 @@ Subroutines / functions
:columns: 3 :columns: 3
* :c:data:`coef_hf_selector` * :c:data:`coef_hf_selector`
* :c:func:`connected_to_hf`
* :c:func:`example_determinants` * :c:func:`example_determinants`
* :c:func:`get_d0` * :c:func:`get_d0`
* :c:func:`get_d1` * :c:func:`get_d1`

View File

@ -344,6 +344,94 @@ Providers
* :c:data:`mos_lapl_in_r_array` * :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 .. 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_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 :: 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_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_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 :: 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_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 .. c:var:: one_e_grad_2_dm_alpha_at_r
@ -784,6 +936,55 @@ Providers
Subroutines / functions 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: .. 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:`dgemv`
* :c:func:`give_all_aos_at_r` * :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`

View File

@ -387,320 +387,6 @@ Providers
* :c:data:`energy_x_sr_pbe` * :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 .. c:var:: psi_dft_energy_h_core

View File

@ -58,7 +58,9 @@ Providers
* :c:data:`correlation_energy_ratio_max` * :c:data:`correlation_energy_ratio_max`
* :c:data:`data_energy_proj` * :c:data:`data_energy_proj`
* :c:data:`data_energy_var` * :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_alpha_mo`
* :c:data:`data_one_e_dm_beta_ao`
* :c:data:`data_one_e_dm_beta_mo` * :c:data:`data_one_e_dm_beta_mo`
* :c:data:`davidson_sze_max` * :c:data:`davidson_sze_max`
* :c:data:`disk_access_nuclear_repulsion` * :c:data:`disk_access_nuclear_repulsion`
@ -131,6 +133,7 @@ Providers
* :c:data:`pseudo_lmax` * :c:data:`pseudo_lmax`
* :c:data:`pseudo_n_k` * :c:data:`pseudo_n_k`
* :c:data:`pseudo_n_kl` * :c:data:`pseudo_n_kl`
* :c:data:`pseudo_sym`
* :c:data:`pseudo_v_k` * :c:data:`pseudo_v_k`
* :c:data:`pseudo_v_kl` * :c:data:`pseudo_v_kl`
* :c:data:`psi_coef` * :c:data:`psi_coef`
@ -146,6 +149,7 @@ Providers
* :c:data:`state_following` * :c:data:`state_following`
* :c:data:`target_energy` * :c:data:`target_energy`
* :c:data:`thresh_scf` * :c:data:`thresh_scf`
* :c:data:`thresh_sym`
* :c:data:`threshold_davidson` * :c:data:`threshold_davidson`
* :c:data:`threshold_diis` * :c:data:`threshold_diis`
* :c:data:`threshold_generators` * :c:data:`threshold_generators`
@ -219,7 +223,9 @@ Providers
* :c:data:`correlation_energy_ratio_max` * :c:data:`correlation_energy_ratio_max`
* :c:data:`data_energy_proj` * :c:data:`data_energy_proj`
* :c:data:`data_energy_var` * :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_alpha_mo`
* :c:data:`data_one_e_dm_beta_ao`
* :c:data:`data_one_e_dm_beta_mo` * :c:data:`data_one_e_dm_beta_mo`
* :c:data:`davidson_sze_max` * :c:data:`davidson_sze_max`
* :c:data:`disk_access_nuclear_repulsion` * :c:data:`disk_access_nuclear_repulsion`
@ -281,6 +287,7 @@ Providers
* :c:data:`pseudo_lmax` * :c:data:`pseudo_lmax`
* :c:data:`pseudo_n_k` * :c:data:`pseudo_n_k`
* :c:data:`pseudo_n_kl` * :c:data:`pseudo_n_kl`
* :c:data:`pseudo_sym`
* :c:data:`pseudo_v_k` * :c:data:`pseudo_v_k`
* :c:data:`pseudo_v_kl` * :c:data:`pseudo_v_kl`
* :c:data:`pt2_iterations` * :c:data:`pt2_iterations`
@ -292,6 +299,7 @@ Providers
* :c:data:`state_following` * :c:data:`state_following`
* :c:data:`target_energy` * :c:data:`target_energy`
* :c:data:`thresh_scf` * :c:data:`thresh_scf`
* :c:data:`thresh_sym`
* :c:data:`threshold_davidson` * :c:data:`threshold_davidson`
* :c:data:`threshold_diis` * :c:data:`threshold_diis`
* :c:data:`threshold_generators` * :c:data:`threshold_generators`
@ -330,7 +338,9 @@ Providers
* :c:data:`correlation_energy_ratio_max` * :c:data:`correlation_energy_ratio_max`
* :c:data:`data_energy_proj` * :c:data:`data_energy_proj`
* :c:data:`data_energy_var` * :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_alpha_mo`
* :c:data:`data_one_e_dm_beta_ao`
* :c:data:`data_one_e_dm_beta_mo` * :c:data:`data_one_e_dm_beta_mo`
* :c:data:`davidson_sze_max` * :c:data:`davidson_sze_max`
* :c:data:`disk_access_nuclear_repulsion` * :c:data:`disk_access_nuclear_repulsion`
@ -392,6 +402,7 @@ Providers
* :c:data:`pseudo_lmax` * :c:data:`pseudo_lmax`
* :c:data:`pseudo_n_k` * :c:data:`pseudo_n_k`
* :c:data:`pseudo_n_kl` * :c:data:`pseudo_n_kl`
* :c:data:`pseudo_sym`
* :c:data:`pseudo_v_k` * :c:data:`pseudo_v_k`
* :c:data:`pseudo_v_kl` * :c:data:`pseudo_v_kl`
* :c:data:`pt2_iterations` * :c:data:`pt2_iterations`
@ -403,6 +414,7 @@ Providers
* :c:data:`state_following` * :c:data:`state_following`
* :c:data:`target_energy` * :c:data:`target_energy`
* :c:data:`thresh_scf` * :c:data:`thresh_scf`
* :c:data:`thresh_sym`
* :c:data:`threshold_davidson` * :c:data:`threshold_davidson`
* :c:data:`threshold_diis` * :c:data:`threshold_diis`
* :c:data:`threshold_generators` * :c:data:`threshold_generators`
@ -673,7 +685,9 @@ Subroutines / functions
* :c:func:`damping_scf` * :c:func:`damping_scf`
* :c:data:`data_energy_proj` * :c:data:`data_energy_proj`
* :c:data:`data_energy_var` * :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_alpha_mo`
* :c:data:`data_one_e_dm_beta_ao`
* :c:data:`data_one_e_dm_beta_mo` * :c:data:`data_one_e_dm_beta_mo`
* :c:func:`davidson_diag_hjj_sjj` * :c:func:`davidson_diag_hjj_sjj`
* :c:data:`davidson_sze_max` * :c:data:`davidson_sze_max`
@ -740,6 +754,7 @@ Subroutines / functions
* :c:data:`pseudo_lmax` * :c:data:`pseudo_lmax`
* :c:data:`pseudo_n_k` * :c:data:`pseudo_n_k`
* :c:data:`pseudo_n_kl` * :c:data:`pseudo_n_kl`
* :c:data:`pseudo_sym`
* :c:data:`pseudo_v_k` * :c:data:`pseudo_v_k`
* :c:data:`pseudo_v_kl` * :c:data:`pseudo_v_kl`
* :c:data:`pt2_iterations` * :c:data:`pt2_iterations`
@ -752,6 +767,7 @@ Subroutines / functions
* :c:data:`state_following` * :c:data:`state_following`
* :c:data:`target_energy` * :c:data:`target_energy`
* :c:data:`thresh_scf` * :c:data:`thresh_scf`
* :c:data:`thresh_sym`
* :c:data:`threshold_davidson` * :c:data:`threshold_davidson`
* :c:data:`threshold_diis` * :c:data:`threshold_diis`
* :c:data:`threshold_generators` * :c:data:`threshold_generators`

View File

@ -51,6 +51,7 @@ Programs
-------- --------
* :ref:`scf` * :ref:`scf`
* :ref:`test`
Providers Providers
--------- ---------

View File

@ -80,9 +80,9 @@ Providers
Molecular orbital coefficients on |AO| basis set 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: Needs:
@ -286,7 +286,6 @@ Providers
* :c:data:`fps_spf_matrix_mo` * :c:data:`fps_spf_matrix_mo`
* :c:data:`full_ijkl_bitmask` * :c:data:`full_ijkl_bitmask`
* :c:data:`int_erf_3_index` * :c:data:`int_erf_3_index`
* :c:data:`list_core_inact_act`
* :c:data:`list_inact` * :c:data:`list_inact`
* :c:data:`mo_class` * :c:data:`mo_class`
* :c:data:`mo_coef` * :c:data:`mo_coef`
@ -762,8 +761,11 @@ Subroutines / functions
* :c:func:`hcore_guess` * :c:func:`hcore_guess`
* :c:func:`huckel_guess` * :c:func:`huckel_guess`
* :c:func:`roothaan_hall_scf` * :c:func:`roothaan_hall_scf`
* :c:func:`rotate_mos`
* :c:func:`save_natural_mos` * :c:func:`save_natural_mos`
* :c:func:`save_ortho_mos` * :c:func:`save_ortho_mos`
* :c:func:`sort_by_fock_energies`
* :c:func:`swap_mos`
Calls: Calls:

View File

@ -74,7 +74,9 @@ Providers
* :c:data:`correlation_energy_ratio_max` * :c:data:`correlation_energy_ratio_max`
* :c:data:`data_energy_proj` * :c:data:`data_energy_proj`
* :c:data:`data_energy_var` * :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_alpha_mo`
* :c:data:`data_one_e_dm_beta_ao`
* :c:data:`data_one_e_dm_beta_mo` * :c:data:`data_one_e_dm_beta_mo`
* :c:data:`davidson_sze_max` * :c:data:`davidson_sze_max`
* :c:data:`disk_access_nuclear_repulsion` * :c:data:`disk_access_nuclear_repulsion`
@ -152,6 +154,7 @@ Providers
* :c:data:`pseudo_lmax` * :c:data:`pseudo_lmax`
* :c:data:`pseudo_n_k` * :c:data:`pseudo_n_k`
* :c:data:`pseudo_n_kl` * :c:data:`pseudo_n_kl`
* :c:data:`pseudo_sym`
* :c:data:`pseudo_v_k` * :c:data:`pseudo_v_k`
* :c:data:`pseudo_v_kl` * :c:data:`pseudo_v_kl`
* :c:data:`psi_cas` * :c:data:`psi_cas`
@ -174,6 +177,7 @@ Providers
* :c:data:`state_following` * :c:data:`state_following`
* :c:data:`target_energy` * :c:data:`target_energy`
* :c:data:`thresh_scf` * :c:data:`thresh_scf`
* :c:data:`thresh_sym`
* :c:data:`threshold_davidson` * :c:data:`threshold_davidson`
* :c:data:`threshold_diis` * :c:data:`threshold_diis`
* :c:data:`threshold_generators` * :c:data:`threshold_generators`

View File

@ -526,7 +526,7 @@ Providers
.. code:: fortran .. 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 atomic radii in Angstrom defined in table I of JCP 41, 3199 (1964) Slater
@ -604,7 +604,7 @@ Providers
.. code:: fortran .. code:: fortran
double precision, allocatable :: slater_bragg_radii_ua (100) double precision, allocatable :: slater_bragg_radii_ua (0:100)

View File

@ -165,7 +165,7 @@ Providers
double precision, allocatable :: eigenvectors_fock_matrix_mo (ao_num,mo_num) 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: Needs:

View File

@ -22,9 +22,12 @@ Programs
* :ref:`print_ci_vectors` * :ref:`print_ci_vectors`
* :ref:`print_e_conv` * :ref:`print_e_conv`
* :ref:`print_wf` * :ref:`print_wf`
* :ref:`rotate_mos`
* :ref:`save_natorb` * :ref:`save_natorb`
* :ref:`save_one_e_dm` * :ref:`save_one_e_dm`
* :ref:`save_ortho_mos` * :ref:`save_ortho_mos`
* :ref:`sort_by_fock_energies`
* :ref:`swap_mos`
* :ref:`write_integrals_erf` * :ref:`write_integrals_erf`
Subroutines / functions Subroutines / functions
@ -115,6 +118,7 @@ Subroutines / functions
.. hlist:: .. hlist::
:columns: 3 :columns: 3
* :c:data:`one_e_dm_ao_alpha`
* :c:data:`one_e_dm_mo_alpha` * :c:data:`one_e_dm_mo_alpha`
Called by: Called by:
@ -129,6 +133,8 @@ Subroutines / functions
.. hlist:: .. hlist::
:columns: 3 :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_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` * :c:func:`ezfio_set_aux_quantities_data_one_e_dm_beta_mo`

View File

@ -997,6 +997,7 @@ Subroutines / functions
* :c:func:`make_selection_buffer_s2` * :c:func:`make_selection_buffer_s2`
* :c:data:`psi_det_sorted` * :c:data:`psi_det_sorted`
* :c:func:`reorder_core_orb` * :c:func:`reorder_core_orb`
* :c:func:`sort_by_fock_energies`
* :c:func:`sort_selection_buffer` * :c:func:`sort_selection_buffer`
Calls: Calls:

View File

@ -168,7 +168,9 @@ Index of Providers
* :c:data:`damping_for_rs_dft` * :c:data:`damping_for_rs_dft`
* :c:data:`data_energy_proj` * :c:data:`data_energy_proj`
* :c:data:`data_energy_var` * :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_alpha_mo`
* :c:data:`data_one_e_dm_beta_ao`
* :c:data:`data_one_e_dm_beta_mo` * :c:data:`data_one_e_dm_beta_mo`
* :c:data:`davidson_criterion` * :c:data:`davidson_criterion`
* :c:data:`davidson_sze_max` * :c:data:`davidson_sze_max`
@ -214,7 +216,9 @@ Index of Providers
* :c:data:`eigenvectors_fock_matrix_ao` * :c:data:`eigenvectors_fock_matrix_ao`
* :c:data:`eigenvectors_fock_matrix_mo` * :c:data:`eigenvectors_fock_matrix_mo`
* :c:data:`elec_alpha_num` * :c:data:`elec_alpha_num`
* :c:data:`elec_alpha_num_grid_becke`
* :c:data:`elec_beta_num` * :c:data:`elec_beta_num`
* :c:data:`elec_beta_num_grid_becke`
* :c:data:`elec_num` * :c:data:`elec_num`
* :c:data:`elec_num_tab` * :c:data:`elec_num_tab`
* :c:data:`element_mass` * :c:data:`element_mass`
@ -351,6 +355,7 @@ Index of Providers
* :c:data:`list_del` * :c:data:`list_del`
* :c:data:`list_del_reverse` * :c:data:`list_del_reverse`
* :c:data:`list_inact` * :c:data:`list_inact`
* :c:data:`list_inact_act`
* :c:data:`list_inact_reverse` * :c:data:`list_inact_reverse`
* :c:data:`list_virt` * :c:data:`list_virt`
* :c:data:`list_virt_reverse` * :c:data:`list_virt_reverse`
@ -441,6 +446,7 @@ Index of Providers
* :c:data:`n_double_selectors` * :c:data:`n_double_selectors`
* :c:data:`n_generators_bitmask` * :c:data:`n_generators_bitmask`
* :c:data:`n_generators_bitmask_restart` * :c:data:`n_generators_bitmask_restart`
* :c:data:`n_inact_act_orb`
* :c:data:`n_inact_orb` * :c:data:`n_inact_orb`
* :c:data:`n_inact_orb_allocate` * :c:data:`n_inact_orb_allocate`
* :c:data:`n_int` * :c:data:`n_int`
@ -463,6 +469,7 @@ Index of Providers
* :c:data:`no_ivvv_integrals` * :c:data:`no_ivvv_integrals`
* :c:data:`no_vvv_integrals` * :c:data:`no_vvv_integrals`
* :c:data:`no_vvvv_integrals` * :c:data:`no_vvvv_integrals`
* :c:data:`normalize_dm`
* :c:data:`nproc` * :c:data:`nproc`
* :c:data:`nthreads_davidson` * :c:data:`nthreads_davidson`
* :c:data:`nthreads_pt2` * :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_alpha_one_det`
* :c:data:`one_body_dm_mo_beta_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`
* :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_at_r`
* :c:data:`one_e_dm_alpha_in_r` * :c:data:`one_e_dm_alpha_in_r`
* :c:data:`one_e_dm_and_grad_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_ao_beta`
* :c:data:`one_e_dm_average_mo_for_dft` * :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`
* :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_at_r`
* :c:data:`one_e_dm_beta_in_r` * :c:data:`one_e_dm_beta_in_r`
* :c:data:`one_e_dm_dagger_mo_spin_index` * :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`
* :c:data:`one_e_dm_mo_alpha_average` * :c:data:`one_e_dm_mo_alpha_average`
* :c:data:`one_e_dm_mo_alpha_for_dft` * :c:data:`one_e_dm_mo_alpha_for_dft`
* :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`
* :c:data:`one_e_dm_mo_beta_average` * :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`
* :c:data:`one_e_dm_mo_beta_for_dft_no_core`
* :c:data:`one_e_dm_mo_diff` * :c:data:`one_e_dm_mo_diff`
* :c:data:`one_e_dm_mo_for_dft` * :c:data:`one_e_dm_mo_for_dft`
* :c:data:`one_e_dm_mo_spin_index` * :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_energy`
* :c:data:`one_e_grad_2_dm_alpha_at_r` * :c:data:`one_e_grad_2_dm_alpha_at_r`
* :c:data:`one_e_grad_2_dm_beta_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_lda`
* :c:data:`potential_c_beta_ao_sr_pbe` * :c:data:`potential_c_beta_ao_sr_pbe`
* :c:data:`potential_c_beta_mo` * :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`
* :c:data:`potential_x_alpha_ao_lda` * :c:data:`potential_x_alpha_ao_lda`
* :c:data:`potential_x_alpha_ao_none` * :c:data:`potential_x_alpha_ao_none`
@ -609,6 +610,7 @@ Index of Providers
* :c:data:`pseudo_n_k_transp` * :c:data:`pseudo_n_k_transp`
* :c:data:`pseudo_n_kl` * :c:data:`pseudo_n_kl`
* :c:data:`pseudo_n_kl_transp` * :c:data:`pseudo_n_kl_transp`
* :c:data:`pseudo_sym`
* :c:data:`pseudo_v_k` * :c:data:`pseudo_v_k`
* :c:data:`pseudo_v_k_transp` * :c:data:`pseudo_v_k_transp`
* :c:data:`pseudo_v_kl` * :c:data:`pseudo_v_kl`
@ -679,6 +681,7 @@ Index of Providers
* :c:data:`pt2_f` * :c:data:`pt2_f`
* :c:data:`pt2_iterations` * :c:data:`pt2_iterations`
* :c:data:`pt2_j` * :c:data:`pt2_j`
* :c:data:`pt2_match_weight`
* :c:data:`pt2_max` * :c:data:`pt2_max`
* :c:data:`pt2_mindetinfirstteeth` * :c:data:`pt2_mindetinfirstteeth`
* :c:data:`pt2_n_0` * :c:data:`pt2_n_0`
@ -773,6 +776,7 @@ Index of Providers
* :c:data:`target_energy` * :c:data:`target_energy`
* :c:data:`theta_angular_integration_lebedev` * :c:data:`theta_angular_integration_lebedev`
* :c:data:`thresh_scf` * :c:data:`thresh_scf`
* :c:data:`thresh_sym`
* :c:data:`threshold_davidson` * :c:data:`threshold_davidson`
* :c:data:`threshold_diis` * :c:data:`threshold_diis`
* :c:data:`threshold_diis_nonzero` * :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`
* :c:func:`compute_ao_two_e_integrals_erf` * :c:func:`compute_ao_two_e_integrals_erf`
* :c:func:`connect_to_taskserver` * :c:func:`connect_to_taskserver`
* :c:func:`connected_to_hf`
* :c:func:`connected_to_ref` * :c:func:`connected_to_ref`
* :c:func:`connected_to_ref_by_single` * :c:func:`connected_to_ref_by_single`
* :c:func:`copy_h_apply_buffer_to_wf` * :c:func:`copy_h_apply_buffer_to_wf`
@ -925,6 +930,7 @@ Index of Subroutines/Functions
* :c:func:`decode_exc` * :c:func:`decode_exc`
* :c:func:`decode_exc_spin` * :c:func:`decode_exc_spin`
* :c:func:`delete_selection_buffer` * :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:`density_and_grad_alpha_beta_and_all_aos_and_grad_aos_at_r`
* :c:func:`derivative_knowles_function` * :c:func:`derivative_knowles_function`
* :c:func:`det_inf` * :c:func:`det_inf`
@ -942,6 +948,7 @@ Index of Subroutines/Functions
* :c:func:`disconnect_from_taskserver_state` * :c:func:`disconnect_from_taskserver_state`
* :c:func:`dm_dft_alpha_beta_and_all_aos_at_r` * :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_at_r`
* :c:func:`dm_dft_alpha_beta_no_core_at_r`
* :c:func:`do_single_excitation` * :c:func:`do_single_excitation`
* :c:func:`dpol` * :c:func:`dpol`
* :c:func:`dpold` * :c:func:`dpold`
@ -1093,11 +1100,21 @@ Index of Subroutines/Functions
* :c:func:`h_apply_cis_diexcorg` * :c:func:`h_apply_cis_diexcorg`
* :c:func:`h_apply_cis_diexcp` * :c:func:`h_apply_cis_diexcp`
* :c:func:`h_apply_cis_monoexc` * :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`
* :c:func:`h_apply_cisd_diexc` * :c:func:`h_apply_cisd_diexc`
* :c:func:`h_apply_cisd_diexcorg` * :c:func:`h_apply_cisd_diexcorg`
* :c:func:`h_apply_cisd_diexcp` * :c:func:`h_apply_cisd_diexcp`
* :c:func:`h_apply_cisd_monoexc` * :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`
* :c:func:`h_s2_u_0_nstates_openmp_work` * :c:func:`h_s2_u_0_nstates_openmp_work`
* :c:func:`h_s2_u_0_nstates_openmp_work_1` * :c:func:`h_s2_u_0_nstates_openmp_work_1`
@ -1321,6 +1338,7 @@ Index of Subroutines/Functions
* :c:func:`rinteg` * :c:func:`rinteg`
* :c:func:`rintgauss` * :c:func:`rintgauss`
* :c:func:`roothaan_hall_scf` * :c:func:`roothaan_hall_scf`
* :c:func:`rotate_mos`
* :c:func:`routine` * :c:func:`routine`
* :c:func:`routine_e_conv` * :c:func:`routine_e_conv`
* :c:func:`routine_example_psi_det` * :c:func:`routine_example_psi_det`
@ -1369,6 +1387,7 @@ Index of Subroutines/Functions
* :c:func:`set_order_big` * :c:func:`set_order_big`
* :c:func:`single_excitation_wee` * :c:func:`single_excitation_wee`
* :c:func:`sort` * :c:func:`sort`
* :c:func:`sort_by_fock_energies`
* :c:func:`sort_dets_ab` * :c:func:`sort_dets_ab`
* :c:func:`sort_dets_ab_v` * :c:func:`sort_dets_ab_v`
* :c:func:`sort_dets_ba_v` * :c:func:`sort_dets_ba_v`
@ -1384,10 +1403,12 @@ Index of Subroutines/Functions
* :c:func:`spot_isinwf` * :c:func:`spot_isinwf`
* :c:func:`step_function_becke` * :c:func:`step_function_becke`
* :c:func:`svd` * :c:func:`svd`
* :c:func:`swap_mos`
* :c:func:`switch_qp_run_to_master` * :c:func:`switch_qp_run_to_master`
* :c:func:`tamiser` * :c:func:`tamiser`
* :c:func:`task_done_to_taskserver` * :c:func:`task_done_to_taskserver`
* :c:func:`tasks_done_to_taskserver` * :c:func:`tasks_done_to_taskserver`
* :c:func:`test`
* :c:func:`testteethbuilding` * :c:func:`testteethbuilding`
* :c:func:`total_memory` * :c:func:`total_memory`
* :c:func:`two_e_integrals_index` * :c:func:`two_e_integrals_index`

View File

@ -60,6 +60,7 @@ fci
:columns: 3 :columns: 3
* :c:func:`run_cipsi` * :c:func:`run_cipsi`
* :c:func:`run_slave_cipsi`
* :c:func:`run_stochastic_cipsi` * :c:func:`run_stochastic_cipsi`
Touches: Touches:
@ -75,6 +76,7 @@ fci
* :c:data:`n_iter` * :c:data:`n_iter`
* :c:data:`psi_occ_pattern` * :c:data:`psi_occ_pattern`
* :c:data:`c0_weight` * :c:data:`c0_weight`
* :c:data:`distributed_davidson`
* :c:data:`psi_coef` * :c:data:`psi_coef`
* :c:data:`psi_det_sorted_bit` * :c:data:`psi_det_sorted_bit`
* :c:data:`psi_det` * :c:data:`psi_det`
@ -83,6 +85,9 @@ fci
* :c:data:`psi_energy` * :c:data:`psi_energy`
* :c:data:`psi_occ_pattern` * :c:data:`psi_occ_pattern`
* :c:data:`psi_energy` * :c:data:`psi_energy`
* :c:data:`pt2_e0_denominator`
* :c:data:`pt2_match_weight`
* :c:data:`pt2_stoch_istate` * :c:data:`pt2_stoch_istate`
* :c:data:`read_wf`
* :c:data:`state_average_weight` * :c:data:`state_average_weight`
* :c:data:`threshold_generators` * :c:data:`threshold_generators`

View File

@ -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 for $\alpha$ and $\beta$ electrons from the wave function
stored in the |EZFIO| directory, and then saves it into the stored in the |EZFIO| directory, and then saves it into the
:ref:`module_aux_quantities`. :ref:`module_aux_quantities`.
Then, the global variable :option:`aux_quantities data_one_e_dm_alpha_mo` 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 and :option:`aux_quantities data_one_e_dm_beta_mo` (and the corresponding for |AO|)
read this density in the next calculation. This can be used to perform will automatically ! read this density in the next calculation.
damping on the density in |RSDFT| calculations (see This can be used to perform damping on the density in |RSDFT| calculations (see
:ref:`module_density_for_dft`). :ref:`module_density_for_dft`).
Needs: Needs:

View File

@ -1,14 +1,62 @@
%%% ARXIV TO BE UPDATED %%% %%% ARXIV TO BE UPDATED %%%
@misc{BibEntry2019Feb, @article{Dash2019May,
title = {{Quantum Package 2.0: An Open-Source Determinant-Driven Suite of author = {Dash, Monika and Feldt, Jonas and Moroni, Saverio and Scemama, Anthony and Filippi, Claudia},
Programs}}, title = {{Excited states with selected CI-QMC: chemically accurate excitation energies and geometries}},
journal = {arXiv}, journal = {arXiv},
year = {2019}, year = {2019},
month = {Feb}, month = {May},
note = {[Online; accessed 7. Mar. 2019]}, eprint = {1905.06737},
url = {https://arxiv.org/abs/1902.08154.pdf} 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})},
author = {Pierre-Francois Loos and Bartélé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 Ferte and Julien Paquier and Bartélémy Pradines and Roland Assaraf and Peter Reinhardt and Julien Toulouse and Pierrette Barbaresco and Nicolas Renon and Gregoire David and Jean-Paul Malrieu and Mickael Veril and Michel Caffarel and Pierre-Francois 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, @article{Applencourt2018Dec,
author = {Applencourt, Thomas and Gasperich, Kevin and Scemama, Anthony}, author = {Applencourt, Thomas and Gasperich, Kevin and Scemama, Anthony},
title = {{Spin adaptation with determinant-based selected configuration interaction}}, title = {{Spin adaptation with determinant-based selected configuration interaction}},
@ -19,9 +67,6 @@ Programs}},
url = {https://arxiv.org/abs/1812.06902} url = {https://arxiv.org/abs/1812.06902}
} }
%%%% PUBLISHED PAPERS
@article{Loos2019Mar, @article{Loos2019Mar,
author = {Loos, Pierre-Fran\c{c}ois and Boggio-Pasqua, Martial and Scemama, Anthony and Caffarel, Michel and Jacquemin, Denis}, 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}}, title = {{Reference Energies for Double Excitations}},

View File

@ -53,6 +53,10 @@ Usage
Uninstall the plugin ``plugin_name``. 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> .. option:: -n, --name=<plugin_name>
Create a new plugin named ``plugin_name`` (in local repository by default). Create a new plugin named ``plugin_name`` (in local repository by default).

View File

@ -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 :math:`n/2` first ones which are set as ``Core``. If pseudo-potentials
are used, all the |MOs| are set as ``Active``. 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` 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 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 be chosen. For example, a Carbon atom will have 2 core electrons, but a
@ -21,11 +44,19 @@ Usage
.. code:: bash .. 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. Prints in the standard output the number of core electrons.
.. option:: -s, --small
Use a small core.
.. option:: -l, --large
Use a large core.

View File

@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText. .\" 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 .SH NAME
cis \- | Quantum Package > cis \- | Quantum Package >
. .

View File

@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText. .\" 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 .SH NAME
cisd \- | Quantum Package > cisd \- | Quantum Package >
. .

View File

@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText. .\" 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 .SH NAME
configure \- | Quantum Package > configure \- | Quantum Package >
. .

View File

@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText. .\" 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 .SH NAME
diagonalize_h \- | Quantum Package > diagonalize_h \- | Quantum Package >
. .

View File

@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText. .\" 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 .SH NAME
excited_states \- | Quantum Package > excited_states \- | Quantum Package >
. .

View File

@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText. .\" 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 .SH NAME
fci \- | Quantum Package > fci \- | Quantum Package >
. .
@ -98,9 +98,11 @@ Calls:
.UNINDENT .UNINDENT
.INDENT 2.0 .INDENT 2.0
.IP \(bu 2 .IP \(bu 2
\fBrun_stochastic_cipsi()\fP \fBrun_slave_cipsi()\fP
.UNINDENT .UNINDENT
.INDENT 2.0 .INDENT 2.0
.IP \(bu 2
\fBrun_stochastic_cipsi()\fP
.UNINDENT .UNINDENT
.UNINDENT .UNINDENT
.sp .sp
@ -121,10 +123,12 @@ Touches:
\fBn_iter\fP \fBn_iter\fP
.IP \(bu 2 .IP \(bu 2
\fBpsi_occ_pattern\fP \fBpsi_occ_pattern\fP
.IP \(bu 2
\fBc0_weight\fP
.UNINDENT .UNINDENT
.INDENT 2.0 .INDENT 2.0
.IP \(bu 2 .IP \(bu 2
\fBc0_weight\fP \fBdistributed_davidson\fP
.IP \(bu 2 .IP \(bu 2
\fBpsi_coef\fP \fBpsi_coef\fP
.IP \(bu 2 .IP \(bu 2
@ -135,17 +139,23 @@ Touches:
\fBpsi_det_size\fP \fBpsi_det_size\fP
.IP \(bu 2 .IP \(bu 2
\fBpsi_det_sorted_bit\fP \fBpsi_det_sorted_bit\fP
.IP \(bu 2
\fBpsi_energy\fP
.IP \(bu 2
\fBpsi_occ_pattern\fP
.UNINDENT .UNINDENT
.INDENT 2.0 .INDENT 2.0
.IP \(bu 2 .IP \(bu 2
\fBpsi_energy\fP \fBpsi_energy\fP
.IP \(bu 2 .IP \(bu 2
\fBpsi_occ_pattern\fP \fBpt2_e0_denominator\fP
.IP \(bu 2 .IP \(bu 2
\fBpsi_energy\fP \fBpt2_match_weight\fP
.IP \(bu 2 .IP \(bu 2
\fBpt2_stoch_istate\fP \fBpt2_stoch_istate\fP
.IP \(bu 2 .IP \(bu 2
\fBread_wf\fP
.IP \(bu 2
\fBstate_average_weight\fP \fBstate_average_weight\fP
.IP \(bu 2 .IP \(bu 2
\fBthreshold_generators\fP \fBthreshold_generators\fP

View File

@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText. .\" 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 .SH NAME
fcidump \- | Quantum Package > fcidump \- | Quantum Package >
. .

View File

@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText. .\" 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 .SH NAME
four_idx_transform \- | Quantum Package > four_idx_transform \- | Quantum Package >
. .

View File

@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText. .\" 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 .SH NAME
interfaces \- | Quantum Package > interfaces \- | Quantum Package >
. .

View File

@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText. .\" 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 .SH NAME
ks_scf \- | Quantum Package > ks_scf \- | Quantum Package >
. .

View File

@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText. .\" 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 .SH NAME
molden \- | Quantum Package > molden \- | Quantum Package >
. .

View File

@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText. .\" 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 .SH NAME
natural_orbitals \- | Quantum Package > natural_orbitals \- | Quantum Package >
. .

View File

@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText. .\" 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 .SH NAME
plugins \- | Quantum Package > plugins \- | Quantum Package >
. .

87
man/print_ci_vectors.1 Normal file
View 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.
.

View File

@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText. .\" 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 .SH NAME
print_e_conv \- | Quantum Package > print_e_conv \- | Quantum Package >
. .

View File

@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText. .\" 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 .SH NAME
print_wf \- | Quantum Package > print_wf \- | Quantum Package >
. .

View File

@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText. .\" 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 .SH NAME
printing \- | Quantum Package > printing \- | Quantum Package >
. .

View File

@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText. .\" 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 .SH NAME
pt2 \- | Quantum Package > pt2 \- | Quantum Package >
. .

View File

@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText. .\" 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 .SH NAME
qp_convert_output_to_ezfio \- | Quantum Package > qp_convert_output_to_ezfio \- | Quantum Package >
. .

235
man/qp_create_ezfio.1 Normal file
View 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.
.

View File

@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText. .\" 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 .SH NAME
qp_edit \- | Quantum Package > qp_edit \- | Quantum Package >
. .

View File

@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText. .\" 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 .SH NAME
qp_export_as_tgz \- | Quantum Package > qp_export_as_tgz \- | Quantum Package >
. .

View File

@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText. .\" 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 .SH NAME
qp_plugins \- | Quantum Package > qp_plugins \- | Quantum Package >
. .
@ -93,6 +93,11 @@ Uninstall the plugin \fBplugin_name\fP\&.
.UNINDENT .UNINDENT
.INDENT 0.0 .INDENT 0.0
.TP .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> .B \-n, \-\-name=<plugin_name>
Create a new plugin named \fBplugin_name\fP (in local repository by default). Create a new plugin named \fBplugin_name\fP (in local repository by default).
.UNINDENT .UNINDENT

View File

@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText. .\" 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 .SH NAME
qp_reset \- | Quantum Package > qp_reset \- | Quantum Package >
. .

View File

@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText. .\" 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 .SH NAME
qp_run \- | Quantum Package > qp_run \- | Quantum Package >
. .

View File

@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText. .\" 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 .SH NAME
qp_set_frozen_core \- | Quantum Package > 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 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 n/2 first ones which are set as \fBCore\fP\&. If pseudo\-potentials
are used, all the MOs are set as \fBActive\fP\&. 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 .sp
For elements on the right of the periodic table, \fIqp_set_frozen_core\fP 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 will work as expected. But for elements on the left, a small core will
@ -46,16 +231,26 @@ Lithium atom will have zero.
.sp .sp
.nf .nf
.ft C .ft C
qp_set_frozen_core [\-q] EZFIO_DIR qp_set_frozen_core [\-q|\-\-query] [(\-l|\-s|\-\-large|\-\-small) EZFIO_DIR
.ft P .ft P
.fi .fi
.UNINDENT .UNINDENT
.UNINDENT .UNINDENT
.INDENT 0.0 .INDENT 0.0
.TP .TP
.B \-q .B \-q, \-\-query
Prints in the standard output the number of core electrons. Prints in the standard output the number of core electrons.
.UNINDENT .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 .SH AUTHOR
A. Scemama, E. Giner A. Scemama, E. Giner
.SH COPYRIGHT .SH COPYRIGHT

View File

@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText. .\" 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 .SH NAME
qp_set_mo_class \- | Quantum Package > qp_set_mo_class \- | Quantum Package >
. .

View File

@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText. .\" 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 .SH NAME
qp_stop \- | Quantum Package > qp_stop \- | Quantum Package >
. .

View File

@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText. .\" 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 .SH NAME
qp_update \- | Quantum Package > qp_update \- | Quantum Package >
. .

View File

@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText. .\" 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 .SH NAME
qpsh \- | Quantum Package > qpsh \- | Quantum Package >
. .

View File

@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText. .\" 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 .SH NAME
rs_ks_scf \- | Quantum Package > rs_ks_scf \- | Quantum Package >
. .

View File

@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText. .\" 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 .SH NAME
save_natorb \- | Quantum Package > save_natorb \- | Quantum Package >
. .

View File

@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText. .\" 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 .SH NAME
save_one_e_dm \- | Quantum Package > save_one_e_dm \- | Quantum Package >
. .
@ -32,15 +32,15 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.. ..
.INDENT 0.0 .INDENT 0.0
.INDENT 3.5 .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 for $alpha$ and $beta$ electrons from the wave function
stored in the \fI\%EZFIO\fP directory, and then saves it into the stored in the \fI\%EZFIO\fP directory, and then saves it into the
module_aux_quantities\&. module_aux_quantities\&.
.sp .sp
Then, the global variable \fBaux_quantities data_one_e_dm_alpha_mo\fP 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 and \fBaux_quantities data_one_e_dm_beta_mo\fP (and the corresponding for AO)
read this density in the next calculation. This can be used to perform will automatically ! read this density in the next calculation.
damping on the density in RSDFT calculations (see This can be used to perform damping on the density in RSDFT calculations (see
module_density_for_dft). module_density_for_dft).
.sp .sp
Needs: Needs:

View File

@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText. .\" 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 .SH NAME
save_ortho_mos \- | Quantum Package > save_ortho_mos \- | Quantum Package >
. .

View File

@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText. .\" 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 .SH NAME
scf \- | Quantum Package > scf \- | Quantum Package >
. .

View File

@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText. .\" 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 .SH NAME
write_integrals_erf \- | Quantum Package > write_integrals_erf \- | Quantum Package >
. .

View File

@ -3,14 +3,19 @@ open Qptypes
exception ElementError of string exception ElementError of string
type t = type t = X
|X
|H |He |H |He
|Li|Be |B |C |N |O |F |Ne |Li|Be |B |C |N |O |F |Ne
|Na|Mg |Al|Si|P |S |Cl|Ar |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 |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 |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] [@@deriving sexp]
let of_string x = let of_string x =
@ -70,7 +75,70 @@ let of_string x =
| "Te" | "Tellurium" -> Te | "Te" | "Tellurium" -> Te
| "I" | "Iodine" -> I | "I" | "Iodine" -> I
| "Xe" | "Xenon" -> Xe | "Xe" | "Xenon" -> Xe
| "Cs" | "Cesium" -> Cs
| "Ba" | "Barium" -> Ba
| "La" | "Lanthanum" -> La
| "Ce" | "Cerium" -> Ce
| "Pr" | "Praseodymium" -> Pr
| "Nd" | "Neodymium" -> Nd
| "Pm" | "Promethium" -> Pm
| "Sm" | "Samarium" -> Sm
| "Eu" | "Europium" -> Eu
| "Gd" | "Gadolinium" -> Gd
| "Tb" | "Terbium" -> Tb
| "Dy" | "Dysprosium" -> Dy
| "Ho" | "Holmium" -> Ho
| "Er" | "Erbium" -> Er
| "Tm" | "Thulium" -> Tm
| "Yb" | "Ytterbium" -> Yb
| "Lu" | "Lutetium" -> Lu
| "Hf" | "Hafnium" -> Hf
| "Ta" | "Tantalum" -> Ta
| "W" | "Tungsten" -> W
| "Re" | "Rhenium" -> Re
| "Os" | "Osmium" -> Os
| "Ir" | "Iridium" -> Ir
| "Pt" | "Platinum" -> Pt | "Pt" | "Platinum" -> Pt
| "Au" | "Gold" -> Au
| "Hg" | "Mercury" -> Hg
| "Tl" | "Thallium" -> Tl
| "Pb" | "Lead" -> Pb
| "Bi" | "Bismuth" -> Bi
| "Po" | "Polonium" -> Po
| "At" | "Astatine" -> At
| "Rn" | "Radon" -> Rn
| "Fr" | "Francium" -> Fr
| "Ra" | "Radium" -> Ra
| "Ac" | "Actinium" -> Ac
| "Th" | "Thorium" -> Th
| "Pa" | "Protactinium" -> Pa
| "U" | "Uranium" -> U
| "Np" | "Neptunium" -> Np
| "Pu" | "Plutonium" -> Pu
| "Am" | "Americium" -> Am
| "Cm" | "Curium" -> Cm
| "Bk" | "Berkelium" -> Bk
| "Cf" | "Californium" -> Cf
| "Es" | "Einsteinium" -> Es
| "Fm" | "Fermium" -> Fm
| "Md" | "Mendelevium" -> Md
| "No" | "Nobelium" -> No
| "Lr" | "Lawrencium" -> Lr
| "Rf" | "Rutherfordium"-> Rf
| "Db" | "Dubnium" -> Db
| "Sg" | "Seaborgium" -> Sg
| "Bh" | "Bohrium" -> Bh
| "Hs" | "Hassium" -> Hs
| "Mt" | "Meitnerium" -> Mt
| "Ds" | "Darmstadtium" -> Ds
| "Rg" | "Roentgenium" -> Rg
| "Cn" | "Copernicium" -> Cn
| "Nh" | "Nihonium" -> Nh
| "Fl" | "Flerovium" -> Fl
| "Mc" | "Moscovium" -> Mc
| "Lv" | "Livermorium" -> Lv
| "Ts" | "Tennessine" -> Ts
| "Og" | "Oganesson" -> Og
| x -> raise (ElementError ("Element "^x^" unknown")) | x -> raise (ElementError ("Element "^x^" unknown"))
@ -130,7 +198,70 @@ let to_string = function
| Te -> "Te" | Te -> "Te"
| I -> "I" | I -> "I"
| Xe -> "Xe" | Xe -> "Xe"
| Cs -> "Cs"
| Ba -> "Ba"
| La -> "La"
| Hf -> "Hf"
| Ta -> "Ta"
| W -> "W"
| Re -> "Re"
| Os -> "Os"
| Ir -> "Ir"
| Pt -> "Pt" | Pt -> "Pt"
| Au -> "Au"
| Hg -> "Hg"
| Tl -> "Tl"
| Pb -> "Pb"
| Bi -> "Bi"
| Po -> "Po"
| At -> "At"
| Rn -> "Rn"
| Fr -> "Fr"
| Ra -> "Ra"
| Ac -> "Ac"
| Rf -> "Rf"
| Db -> "Db"
| Sg -> "Sg"
| Bh -> "Bh"
| Hs -> "Hs"
| Mt -> "Mt"
| Ds -> "Ds"
| Rg -> "Rg"
| Cn -> "Cn"
| Nh -> "Nh"
| Fl -> "Fl"
| Mc -> "Mc"
| Lv -> "Lv"
| Ts -> "Ts"
| Og -> "Og"
| Ce -> "Ce"
| Pr -> "Pr"
| Nd -> "Nd"
| Pm -> "Pm"
| Sm -> "Sm"
| Eu -> "Eu"
| Gd -> "Gd"
| Tb -> "Tb"
| Dy -> "Dy"
| Ho -> "Ho"
| Er -> "Er"
| Tm -> "Tm"
| Yb -> "Yb"
| Lu -> "Lu"
| Th -> "Th"
| Pa -> "Pa"
| U -> "U"
| Np -> "Np"
| Pu -> "Pu"
| Am -> "Am"
| Cm -> "Cm"
| Bk -> "Bk"
| Cf -> "Cf"
| Es -> "Es"
| Fm -> "Fm"
| Md -> "Md"
| No -> "No"
| Lr -> "Lr"
let to_long_string = function let to_long_string = function
@ -189,8 +320,70 @@ let to_long_string = function
| Te -> "Tellurium" | Te -> "Tellurium"
| I -> "Iodine" | I -> "Iodine"
| Xe -> "Xenon" | Xe -> "Xenon"
| Cs -> "Cesium"
| Ba -> "Barium"
| La -> "Lanthanum"
| Ce -> "Cerium"
| Pr -> "Praseodymium"
| Nd -> "Neodymium"
| Pm -> "Promethium"
| Sm -> "Samarium"
| Eu -> "Europium"
| Gd -> "Gadolinium"
| Tb -> "Terbium"
| Dy -> "Dysprosium"
| Ho -> "Holmium"
| Er -> "Erbium"
| Tm -> "Thulium"
| Yb -> "Ytterbium"
| Lu -> "Lutetium"
| Hf -> "Hafnium"
| Ta -> "Tantalum"
| W -> "Tungsten"
| Re -> "Rhenium"
| Os -> "Osmium"
| Ir -> "Iridium"
| Pt -> "Platinum" | Pt -> "Platinum"
| Au -> "Gold"
| Hg -> "Mercury"
| Tl -> "Thallium"
| Pb -> "Lead"
| Bi -> "Bismuth"
| Po -> "Polonium"
| At -> "Astatine"
| Rn -> "Radon"
| Fr -> "Francium"
| Ra -> "Radium"
| Ac -> "Actinium"
| Th -> "Thorium"
| Pa -> "Protactinium"
| U -> "Uranium"
| Np -> "Neptunium"
| Pu -> "Plutonium"
| Am -> "Americium"
| Cm -> "Curium"
| Bk -> "Berkelium"
| Cf -> "Californium"
| Es -> "Einsteinium"
| Fm -> "Fermium"
| Md -> "Mendelevium"
| No -> "Nobelium"
| Lr -> "Lawrencium"
| Rf -> "Rutherfordium"
| Db -> "Dubnium"
| Sg -> "Seaborgium"
| Bh -> "Bohrium"
| Hs -> "Hassium"
| Mt -> "Meitnerium"
| Ds -> "Darmstadtium"
| Rg -> "Roentgenium"
| Cn -> "Copernicium"
| Nh -> "Nihonium"
| Fl -> "Flerovium"
| Mc -> "Moscovium"
| Lv -> "Livermorium"
| Ts -> "Tennessine"
| Og -> "Oganesson"
let to_charge c = let to_charge c =
let result = match c with let result = match c with
@ -249,7 +442,70 @@ let to_charge c =
| Te -> 52 | Te -> 52
| I -> 53 | I -> 53
| Xe -> 54 | Xe -> 54
| Cs -> 55
| Ba -> 56
| La -> 57
| Ce -> 58
| Pr -> 59
| Nd -> 60
| Pm -> 61
| Sm -> 62
| Eu -> 63
| Gd -> 64
| Tb -> 65
| Dy -> 66
| Ho -> 67
| Er -> 68
| Tm -> 69
| Yb -> 70
| Lu -> 71
| Hf -> 72
| Ta -> 73
| W -> 74
| Re -> 75
| Os -> 76
| Ir -> 77
| Pt -> 78 | Pt -> 78
| Au -> 79
| Hg -> 80
| Tl -> 81
| Pb -> 82
| Bi -> 83
| Po -> 84
| At -> 85
| Rn -> 86
| Fr -> 87
| Ra -> 88
| Ac -> 89
| Th -> 90
| Pa -> 91
| U -> 92
| Np -> 93
| Pu -> 94
| Am -> 95
| Cm -> 96
| Bk -> 97
| Cf -> 98
| Es -> 99
| Fm -> 100
| Md -> 101
| No -> 102
| Lr -> 103
| Rf -> 104
| Db -> 105
| Sg -> 106
| Bh -> 107
| Hs -> 108
| Mt -> 109
| Ds -> 110
| Rg -> 111
| Cn -> 112
| Nh -> 113
| Fl -> 114
| Mc -> 115
| Lv -> 116
| Ts -> 117
| Og -> 118
in Charge.of_int result in Charge.of_int result
@ -309,49 +565,112 @@ let of_charge c = match (Charge.to_int c) with
| 52 -> Te | 52 -> Te
| 53 -> I | 53 -> I
| 54 -> Xe | 54 -> Xe
| 55 -> Cs
| 56 -> Ba
| 57 -> La
| 58 -> Ce
| 59 -> Pr
| 60 -> Nd
| 61 -> Pm
| 62 -> Sm
| 63 -> Eu
| 64 -> Gd
| 65 -> Tb
| 66 -> Dy
| 67 -> Ho
| 68 -> Er
| 69 -> Tm
| 70 -> Yb
| 71 -> Lu
| 72 -> Hf
| 73 -> Ta
| 74 -> W
| 75 -> Re
| 76 -> Os
| 77 -> Ir
| 78 -> Pt | 78 -> Pt
| 79 -> Au
| 80 -> Hg
| 81 -> Tl
| 82 -> Pb
| 83 -> Bi
| 84 -> Po
| 85 -> At
| 86 -> Rn
| 87 -> Fr
| 88 -> Ra
| 89 -> Ac
| 90 -> Th
| 91 -> Pa
| 92 -> U
| 93 -> Np
| 94 -> Pu
| 95 -> Am
| 96 -> Cm
| 97 -> Bk
| 98 -> Cf
| 99 -> Es
| 100 -> Fm
| 101 -> Md
| 102 -> No
| 103 -> Lr
| 104 -> Rf
| 105 -> Db
| 106 -> Sg
| 107 -> Bh
| 108 -> Hs
| 109 -> Mt
| 110 -> Ds
| 111 -> Rg
| 112 -> Cn
| 113 -> Nh
| 114 -> Fl
| 115 -> Mc
| 116 -> Lv
| 117 -> Ts
| 118 -> Og
| x -> raise (ElementError ("Element of charge "^(string_of_int x)^" unknown")) | x -> raise (ElementError ("Element of charge "^(string_of_int x)^" unknown"))
let covalent_radius x = let covalent_radius x =
let result = function let result = function
| X -> 0. | X -> 0.
| H -> 0.37 | H -> 0.31
| He -> 0.70 | He -> 0.28
| Li -> 1.23 | Li -> 1.28
| Be -> 0.89 | Be -> 0.96
| B -> 0.90 | B -> 0.85
| C -> 0.85 | C -> 0.76
| N -> 0.74 | N -> 0.71
| O -> 0.74 | O -> 0.66
| F -> 0.72 | F -> 0.57
| Ne -> 0.70 | Ne -> 0.58
| Na -> 1.00 | Na -> 1.66
| Mg -> 1.36 | Mg -> 1.41
| Al -> 1.25 | Al -> 1.21
| Si -> 1.17 | Si -> 1.11
| P -> 1.10 | P -> 1.07
| S -> 1.10 | S -> 1.05
| Cl -> 0.99 | Cl -> 1.02
| Ar -> 0.70 | Ar -> 1.06
| K -> 2.03 | K -> 2.03
| Ca -> 1.74 | Ca -> 1.76
| Sc -> 1.44 | Sc -> 1.70
| Ti -> 1.32 | Ti -> 1.60
| V -> 1.22 | V -> 1.53
| Cr -> 0.00 | Cr -> 1.39
| Mn -> 1.16 | Mn -> 1.39
| Fe -> 0.00 | Fe -> 1.32
| Co -> 1.15 | Co -> 1.26
| Ni -> 1.17 | Ni -> 1.24
| Cu -> 1.25 | Cu -> 1.32
| Zn -> 1.25 | Zn -> 1.22
| Ga -> 1.20 | Ga -> 1.22
| Ge -> 1.21 | Ge -> 1.20
| As -> 1.16 | As -> 1.19
| Se -> 0.70 | Se -> 1.20
| Br -> 1.24 | Br -> 1.20
| Kr -> 1.91 | Kr -> 1.16
| Rb -> 2.20 | Rb -> 2.20
| Sr -> 1.95 | Sr -> 1.95
| Y -> 1.90 | Y -> 1.90
@ -370,112 +689,241 @@ let covalent_radius x =
| Te -> 1.38 | Te -> 1.38
| I -> 1.39 | I -> 1.39
| Xe -> 1.40 | Xe -> 1.40
| Pt -> 1.30 | Cs -> 2.44
| Ba -> 2.15
| La -> 2.07
| Ce -> 2.04
| Pr -> 2.03
| Nd -> 2.01
| Pm -> 1.99
| Sm -> 1.98
| Eu -> 1.98
| Gd -> 1.96
| Tb -> 1.94
| Dy -> 1.92
| Ho -> 1.92
| Er -> 1.89
| Tm -> 1.90
| Yb -> 1.87
| Lu -> 1.87
| Hf -> 1.75
| Ta -> 1.70
| W -> 1.62
| Re -> 1.51
| Os -> 1.44
| Ir -> 1.41
| Pt -> 1.36
| Au -> 1.36
| Hg -> 1.32
| Tl -> 1.45
| Pb -> 1.46
| Bi -> 1.48
| Po -> 1.40
| At -> 1.50
| Rn -> 1.50
| Fr -> 2.60
| Ra -> 2.21
| Ac -> 2.15
| Th -> 2.06
| Pa -> 2.00
| U -> 1.96
| Np -> 1.90
| Pu -> 1.87
| Am -> 1.80
| Cm -> 1.69
| Bk -> raise (ElementError "Covalent radius not defined for Bk")
| Cf -> raise (ElementError "Covalent radius not defined for Cf")
| Es -> raise (ElementError "Covalent radius not defined for Es")
| Fm -> raise (ElementError "Covalent radius not defined for Fm")
| Md -> raise (ElementError "Covalent radius not defined for Md")
| No -> raise (ElementError "Covalent radius not defined for No")
| Lr -> raise (ElementError "Covalent radius not defined for Lr")
| Rf -> raise (ElementError "Covalent radius not defined for Rf")
| Db -> raise (ElementError "Covalent radius not defined for Db")
| Sg -> raise (ElementError "Covalent radius not defined for Sg")
| Bh -> raise (ElementError "Covalent radius not defined for Bh")
| Hs -> raise (ElementError "Covalent radius not defined for Hs")
| Mt -> raise (ElementError "Covalent radius not defined for Mt")
| Ds -> raise (ElementError "Covalent radius not defined for Ds")
| Rg -> raise (ElementError "Covalent radius not defined for Rg")
| Cn -> raise (ElementError "Covalent radius not defined for Cn")
| Nh -> raise (ElementError "Covalent radius not defined for Nh")
| Fl -> raise (ElementError "Covalent radius not defined for Fl")
| Mc -> raise (ElementError "Covalent radius not defined for Mc")
| Lv -> raise (ElementError "Covalent radius not defined for Lv")
| Ts -> raise (ElementError "Covalent radius not defined for Ts")
| Og -> raise (ElementError "Covalent radius not defined for Og")
in in
Units.angstrom_to_bohr *. (result x) Units.angstrom_to_bohr *. (result x)
|> Positive_float.of_float |> Positive_float.of_float
let vdw_radius x = let vdw_radius x =
let result = function let result = function
| X -> 0. | X -> Some 0.
| H -> 1.20 | H -> Some 1.20
| He -> 1.70 | He -> Some 1.40
| Li -> 1.70 | Li -> Some 1.82
| Be -> 1.70 | Be -> None
| B -> 1.70 | B -> None
| C -> 1.70 | C -> Some 1.70
| N -> 1.55 | N -> Some 1.55
| O -> 1.52 | O -> Some 1.52
| F -> 1.47 | F -> Some 1.47
| Ne -> 1.70 | Ne -> Some 1.54
| Na -> 1.70 | Na -> Some 2.27
| Mg -> 1.70 | Mg -> Some 1.73
| Al -> 1.94 | Al -> Some 1.94
| Si -> 2.10 | Si -> Some 2.10
| P -> 1.80 | P -> Some 1.80
| S -> 1.80 | S -> Some 1.80
| Cl -> 1.75 | Cl -> Some 1.75
| Ar -> 1.70 | Ar -> Some 1.88
| K -> 1.70 | K -> Some 2.75
| Ca -> 1.70 | Ca -> None
| Sc -> 1.70 | Sc -> None
| Ti -> 1.70 | Ti -> None
| V -> 1.98 | V -> Some 1.98
| Cr -> 1.94 | Cr -> Some 1.94
| Mn -> 1.93 | Mn -> Some 1.93
| Fe -> 1.93 | Fe -> Some 1.93
| Co -> 1.92 | Co -> Some 1.92
| Ni -> 1.70 | Ni -> Some 1.63
| Cu -> 1.70 | Cu -> Some 1.40
| Zn -> 1.70 | Zn -> Some 1.39
| Ga -> 2.02 | Ga -> Some 1.87
| Ge -> 1.70 | Ge -> None
| As -> 1.96 | As -> Some 1.85
| Se -> 1.70 | Se -> Some 1.90
| Br -> 2.10 | Br -> Some 1.85
| Kr -> 1.70 | Kr -> Some 2.02
| Rb -> 3.03 | Rb -> Some 3.03
| Sr -> 2.49 | Sr -> Some 2.49
| Y -> 0. | Y -> None
| Zr -> 0. | Zr -> None
| Nb -> 0. | Nb -> None
| Mo -> 0. | Mo -> None
| Tc -> 0. | Tc -> None
| Ru -> 0. | Ru -> None
| Rh -> 0. | Rh -> None
| Pd -> 1.63 | Pd -> Some 1.63
| Ag -> 1.72 | Ag -> Some 1.72
| Cd -> 1.58 | Cd -> Some 1.58
| In -> 1.93 | In -> Some 1.93
| Sn -> 2.17 | Sn -> Some 2.17
| Sb -> 2.06 | Sb -> Some 2.06
| Te -> 2.06 | Te -> Some 2.06
| I -> 1.98 | I -> Some 1.98
| Xe -> 2.16 | Xe -> Some 2.16
| Pt -> 1.75 | Cs -> None
| Ba -> None
| La -> None
| Ce -> None
| Pr -> None
| Nd -> None
| Pm -> None
| Sm -> None
| Eu -> None
| Gd -> None
| Tb -> None
| Dy -> None
| Ho -> None
| Er -> None
| Tm -> None
| Yb -> None
| Lu -> None
| Hf -> None
| Ta -> None
| W -> None
| Re -> None
| Os -> None
| Ir -> None
| Pt -> Some 1.75
| Au -> Some 1.66
| Hg -> Some 1.55
| Tl -> Some 1.96
| Pb -> Some 2.02
| Bi -> None
| Po -> None
| At -> None
| Rn -> None
| Fr -> None
| Ra -> None
| Ac -> None
| Th -> None
| Pa -> None
| U -> Some 1.86
| Np -> None
| Pu -> None
| Am -> None
| Cm -> None
| Bk -> None
| Cf -> None
| Es -> None
| Fm -> None
| Md -> None
| No -> None
| Lr -> None
| Rf -> None
| Db -> None
| Sg -> None
| Bh -> None
| Hs -> None
| Mt -> None
| Ds -> None
| Rg -> None
| Cn -> None
| Nh -> None
| Fl -> None
| Mc -> None
| Lv -> None
| Ts -> None
| Og -> None
in in
Units.angstrom_to_bohr *. (result x) match result x with
|> Positive_float.of_float | Some y -> Some (Positive_float.of_float @@ Units.angstrom_to_bohr *. y )
| None -> None
let mass x = let mass x =
let result = function let result = function
| X -> 0. | X -> 0.
| H -> 1.0079 | H -> 1.0079
| He -> 4.00260 | He -> 4.002602
| Li -> 6.941 | Li -> 6.941
| Be -> 9.01218 | Be -> 9.0121831
| B -> 10.81 | B -> 10.81
| C -> 12.011 | C -> 12.011
| N -> 14.0067 | N -> 14.0067
| O -> 15.9994 | O -> 15.9994
| F -> 18.998403 | F -> 18.998403163
| Ne -> 20.179 | Ne -> 20.1797
| Na -> 22.98977 | Na -> 22.98976928
| Mg -> 24.305 | Mg -> 24.305
| Al -> 26.98154 | Al -> 26.9815385
| Si -> 28.0855 | Si -> 28.0855
| P -> 30.97376 | P -> 30.973761998
| S -> 32.06 | S -> 32.06
| Cl -> 35.453 | Cl -> 35.453
| Ar -> 39.948 | Ar -> 39.948
| K -> 39.0983 | K -> 39.0983
| Ca -> 40.08 | Ca -> 40.078
| Sc -> 44.9559 | Sc -> 44.955908
| Ti -> 47.90 | Ti -> 47.867
| V -> 50.9415 | V -> 50.9415
| Cr -> 51.996 | Cr -> 51.9961
| Mn -> 54.9380 | Mn -> 54.938044
| Fe -> 55.9332 | Fe -> 55.845
| Co -> 58.9332 | Co -> 58.933194
| Ni -> 58.70 | Ni -> 58.6934
| Cu -> 63.546 | Cu -> 63.546
| Zn -> 65.38 | Zn -> 65.38
| Ga -> 69.72 | Ga -> 69.723
| Ge -> 72.59 | Ge -> 72.630
| As -> 74.9216 | As -> 74.921595
| Se -> 78.96 | Se -> 78.971
| Br -> 79.904 | Br -> 79.904
| Kr -> 83.80 | Kr -> 83.798
| Rb -> 85.4678 | Rb -> 85.4678
| Sr -> 87.62 | Sr -> 87.62
| Y -> 88.90584 | Y -> 88.90584
@ -494,7 +942,70 @@ let mass x =
| Te -> 127.60 | Te -> 127.60
| I -> 126.90447 | I -> 126.90447
| Xe -> 131.293 | Xe -> 131.293
| Cs -> 132.90545196
| Ba -> 137.327
| La -> 138.90547
| Ce -> 140.116
| Pr -> 140.90766
| Nd -> 144.242
| Pm -> 145.
| Sm -> 150.36
| Eu -> 151.964
| Gd -> 157.25
| Tb -> 158.92535
| Dy -> 162.500
| Ho -> 164.93033
| Er -> 167.259
| Tm -> 168.93422
| Yb -> 173.045
| Lu -> 174.9668
| Hf -> 178.49
| Ta -> 180.94788
| W -> 183.84
| Re -> 186.207
| Os -> 190.23
| Ir -> 192.217
| Pt -> 195.084 | Pt -> 195.084
| Au -> 196.966569
| Hg -> 200.592
| Tl -> 204.38
| Pb -> 207.2
| Bi -> 208.98040
| Po -> 209.
| At -> 210.
| Rn -> 222.
| Fr -> 223.
| Ra -> 226.
| Ac -> 227.
| Th -> 232.0377
| Pa -> 231.03588
| U -> 238.02891
| Np -> 237.
| Pu -> 244.
| Am -> 243.
| Cm -> 247.
| Bk -> 247.
| Cf -> 251.
| Es -> 252.
| Fm -> 257.
| Md -> 258.
| No -> 259.
| Lr -> 262.
| Rf -> 267.
| Db -> 270.
| Sg -> 269.
| Bh -> 270.
| Hs -> 270.
| Mt -> 278.
| Ds -> 281.
| Rg -> 281.
| Cn -> 285.
| Nh -> 286.
| Fl -> 289.
| Mc -> 289.
| Lv -> 293.
| Ts -> 293.
| Og -> 294.
in in
result x result x
|> Positive_float.of_float |> Positive_float.of_float

View File

@ -1,13 +1,18 @@
exception ElementError of string exception ElementError of string
type t = type t = X
|X
|H |He |H |He
|Li|Be |B |C |N |O |F |Ne |Li|Be |B |C |N |O |F |Ne
|Na|Mg |Al|Si|P |S |Cl|Ar |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 |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 |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] [@@deriving sexp]
(** String conversion functions *) (** String conversion functions *)
@ -19,5 +24,5 @@ val to_long_string : t -> string
val to_charge : t -> Charge.t val to_charge : t -> Charge.t
val of_charge : Charge.t -> t val of_charge : Charge.t -> t
val covalent_radius : t -> Qptypes.Positive_float.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 val mass : t -> Qptypes.Positive_float.t

View File

@ -15,5 +15,10 @@ EXES=$(find -L ${QP_ROOT}/src -maxdepth 2 -depth -executable -type f | grep -e "
for EXE in $EXES for EXE in $EXES
do 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 done

View File

@ -135,7 +135,7 @@ subroutine ZMQ_pt2(E, pt2,relative_error, error, variance, norm, N_in)
PROVIDE psi_occ_pattern_hii det_to_occ_pattern PROVIDE psi_occ_pattern_hii det_to_occ_pattern
endif endif
if (N_det < max(10,N_states)) then if (N_det < max(1000,N_states)) then
pt2=0.d0 pt2=0.d0
variance=0.d0 variance=0.d0
norm=0.d0 norm=0.d0

View File

@ -38,7 +38,7 @@ default: 1
type: Threshold type: Threshold
doc: Thresholds on generators (fraction of the square of the norm) doc: Thresholds on generators (fraction of the square of the norm)
interface: ezfio,provider,ocaml interface: ezfio,provider,ocaml
default: 0.99 default: 0.999
[n_int] [n_int]
interface: ezfio interface: ezfio

View File

@ -48,18 +48,18 @@ function run_stoch() {
@test "DHNO" { # 11.4721s @test "DHNO" { # 11.4721s
qp set_file dhno.ezfio qp set_file dhno.ezfio
qp set_mo_class --core="[1-7]" --act="[8-64]" qp set_mo_class --core="[1-7]" --act="[8-64]"
run -130.458875747063 1.e-5 run -130.459020029816 1.e-5
} }
@test "HCO" { # 12.2868s @test "HCO" { # 12.2868s
qp set_file hco.ezfio qp set_file hco.ezfio
run -113.296794171915 2.e-05 run -113.297494345682 2.e-05
} }
@test "H2O2" { # 12.9214s @test "H2O2" { # 12.9214s
qp set_file h2o2.ezfio qp set_file h2o2.ezfio
qp set_mo_class --core="[1-2]" --act="[3-24]" --del="[25-38]" qp set_mo_class --core="[1-2]" --act="[3-24]" --del="[25-38]"
run -151.004888189874 4.e-5 run -151.00477 1.e-4
} }
@test "HBO" { # 13.3144s @test "HBO" { # 13.3144s
@ -83,7 +83,7 @@ function run_stoch() {
@test "SO" { # 13.4952s @test "SO" { # 13.4952s
[[ -n $TRAVIS ]] && skip [[ -n $TRAVIS ]] && skip
qp set_file so.ezfio qp set_file so.ezfio
run -26.0144622194831 1.e-5 run -26.0124797722154 1.e-5
} }
@test "H2S" { # 13.6745s @test "H2S" { # 13.6745s
@ -120,13 +120,13 @@ function run_stoch() {
[[ -n $TRAVIS ]] && skip [[ -n $TRAVIS ]] && skip
qp set_file ch4.ezfio qp set_file ch4.ezfio
qp set_mo_class --core="[1]" --act="[2-30]" --del="[31-59]" qp set_mo_class --core="[1]" --act="[2-30]" --del="[31-59]"
run -40.2409858175829 2.e-5 run -40.2409059687324 2.e-5
} }
@test "ClF" { # 16.8864s @test "ClF" { # 16.8864s
[[ -n $TRAVIS ]] && skip [[ -n $TRAVIS ]] && skip
qp set_file clf.ezfio qp set_file clf.ezfio
run -559.170116079903 1.e-5 run -559.170406471496 1.e-5
} }
@test "SO2" { # 17.5645s @test "SO2" { # 17.5645s
@ -140,14 +140,14 @@ function run_stoch() {
[[ -n $TRAVIS ]] && skip [[ -n $TRAVIS ]] && skip
qp set_file c2h2.ezfio qp set_file c2h2.ezfio
qp set_mo_class --act="[1-30]" --del="[31-36]" qp set_mo_class --act="[1-30]" --del="[31-36]"
run -12.3678973551285 2.e-5 run -12.3670840202635 2.e-5
} }
@test "N2" { # 18.0198s @test "N2" { # 18.0198s
[[ -n $TRAVIS ]] && skip [[ -n $TRAVIS ]] && skip
qp set_file n2.ezfio qp set_file n2.ezfio
qp set_mo_class --core="[1,2]" --act="[3-40]" --del="[41-60]" qp set_mo_class --core="[1,2]" --act="[3-40]" --del="[41-60]"
run -109.291310557766 1.e-4 run -109.291600196629 1.e-4
} }
@test "N2H4" { # 18.5006s @test "N2H4" { # 18.5006s
@ -161,7 +161,7 @@ function run_stoch() {
[[ -n $TRAVIS ]] && skip [[ -n $TRAVIS ]] && skip
qp set_file co2.ezfio qp set_file co2.ezfio
qp set_mo_class --core="[1,2]" --act="[3-30]" --del="[31-42]" qp set_mo_class --core="[1,2]" --act="[3-30]" --del="[31-42]"
run -187.969556614801 1.e-5 run -187.969676381867 1.e-5
} }
@ -176,6 +176,6 @@ function run_stoch() {
[[ -n $TRAVIS ]] && skip [[ -n $TRAVIS ]] && skip
qp set_file hcn.ezfio qp set_file hcn.ezfio
qp set_mo_class --core="[1,2]" --act="[3-40]" --del="[41-55]" qp set_mo_class --core="[1,2]" --act="[3-40]" --del="[41-55]"
run -93.0794109423741 2.e-5 run -93.0799328685679 2.e-5
} }

View File

@ -0,0 +1,23 @@
subroutine extract_cas
implicit none
BEGIN_DOC
! Replaces the total wave function by the normalized projection on the CAS.
END_DOC
integer :: i,j,k
do k=1,N_states
do j=1,N_det_generators
psi_coef(j,k) = psi_coef_generators(j,k)
enddo
enddo
do j=1,N_det_generators
do k=1,N_int
psi_det(k,1,j) = psi_det_generators(k,1,j)
psi_det(k,2,j) = psi_det_generators(k,2,j)
enddo
enddo
N_det = N_det_generators
SOFT_TOUCH N_det psi_det psi_coef
end