mirror of
https://github.com/QuantumPackage/qp2.git
synced 2024-12-03 10:28:25 +01:00
Update documentation and qp_set_frozne_core
This commit is contained in:
parent
2a2d1050b5
commit
b5111d0f62
@ -6,6 +6,7 @@ Usage:
|
||||
qp_plugins download <url> [-n <name>]
|
||||
qp_plugins install <name>...
|
||||
qp_plugins uninstall <name>
|
||||
qp_plugins update [-r <repo>]
|
||||
qp_plugins create -n <name> [-r <repo>] [<needed_modules>...]
|
||||
|
||||
Options:
|
||||
@ -23,6 +24,8 @@ Options:
|
||||
|
||||
uninstall Uninstall a plugin
|
||||
|
||||
update Update the repository
|
||||
|
||||
create
|
||||
-n --name=<name> Create a new plugin named <name>
|
||||
-r --repository=<repo> Name of the repository in which to create the plugin
|
||||
@ -89,16 +92,19 @@ def save_new_module(path, l_child):
|
||||
end
|
||||
""")
|
||||
|
||||
def get_repositories():
|
||||
l_result = [f for f in os.listdir(QP_PLUGINS) \
|
||||
if f not in [".gitignore", "local"] ]
|
||||
return sorted(l_result)
|
||||
|
||||
|
||||
def main(arguments):
|
||||
"""Main function"""
|
||||
arguments["<name>"] = [os.path.normpath(name) for name in arguments["<name>"]]
|
||||
|
||||
if arguments["list"]:
|
||||
if arguments["--repositories"]:
|
||||
l_result = [f for f in os.listdir(QP_PLUGINS) \
|
||||
if f not in [".gitignore", "local"] ]
|
||||
|
||||
for repo in sorted(l_result):
|
||||
for repo in get_repositories():
|
||||
print repo
|
||||
|
||||
else:
|
||||
@ -138,6 +144,7 @@ def main(arguments):
|
||||
for module in sorted(l_result):
|
||||
print "%-30s %-30s"%(module, repo_of_plugin[module])
|
||||
|
||||
|
||||
if arguments["create"]:
|
||||
m_instance = ModuleHandler([QP_SRC])
|
||||
|
||||
@ -306,6 +313,20 @@ def main(arguments):
|
||||
print "%s is a core module which can't be removed" % module
|
||||
|
||||
|
||||
elif arguments["update"]:
|
||||
|
||||
if arguments["--repository"]:
|
||||
l_repositories = [ arguments["--repository"] ]
|
||||
else:
|
||||
l_repositories = get_repositories()
|
||||
|
||||
for repo in l_repositories:
|
||||
print "Updating ", repo
|
||||
os.chdir(os.path.join(QP_PLUGINS,repo))
|
||||
git_cmd=["git", "pull"]
|
||||
subprocess.check_call(git_cmd)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
ARG = docopt(__doc__)
|
||||
main(ARG)
|
||||
|
@ -6,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.
|
||||
If pseudo-potentials are used, all the MOs are set as Active.
|
||||
|
||||
For elements on the right of the periodic table, qp_set_frozen_core will work
|
||||
as expected. But for elements on the left, a small core will be chosen. For
|
||||
example, a Carbon atom will have 2 core electrons, but a Lithium atom will have
|
||||
zero.
|
||||
|
||||
|
||||
Usage:
|
||||
qp_set_frozen_core [-q|--query] [-l|--large] EZFIO_DIR
|
||||
qp_set_frozen_core [-q|--query] [(-l|-s|--large|--small)] EZFIO_DIR
|
||||
|
||||
Options:
|
||||
-q --query Prints in the standard output the number of frozen MOs
|
||||
-l --large Use a 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:
|
||||
do_pseudo = False
|
||||
|
||||
large = 0
|
||||
small = 1
|
||||
|
||||
size = small
|
||||
if arguments["--large"]:
|
||||
size = large
|
||||
|
||||
if not do_pseudo:
|
||||
|
||||
if size == large:
|
||||
if arguments["--large"]:
|
||||
for charge in ezfio.nuclei_nucl_charge:
|
||||
if charge <= 2:
|
||||
pass
|
||||
elif charge <= 10:
|
||||
n_frozen += 1
|
||||
elif charge <= 18:
|
||||
n_frozen += 5
|
||||
elif charge <= 36:
|
||||
n_frozen += 9
|
||||
elif charge <= 54:
|
||||
n_frozen += 18
|
||||
elif charge <= 86:
|
||||
n_frozen += 27
|
||||
elif charge <= 118:
|
||||
n_frozen += 43
|
||||
if charge <= 2: pass
|
||||
elif charge <= 10: n_frozen += 1
|
||||
elif charge <= 18: n_frozen += 5
|
||||
elif charge <= 36: n_frozen += 9
|
||||
elif charge <= 54: n_frozen += 18
|
||||
elif charge <= 86: n_frozen += 27
|
||||
elif charge <= 118: n_frozen += 43
|
||||
|
||||
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:
|
||||
if charge < 5:
|
||||
pass
|
||||
elif charge < 13:
|
||||
n_frozen += 1
|
||||
elif charge < 31:
|
||||
n_frozen += 5
|
||||
elif charge < 49:
|
||||
n_frozen += 9
|
||||
elif charge < 81:
|
||||
n_frozen += 18
|
||||
elif charge < 113:
|
||||
n_frozen += 27
|
||||
if charge <= 4: pass
|
||||
elif charge <= 12: n_frozen += 1
|
||||
elif charge <= 30: n_frozen += 5
|
||||
elif charge <= 48: n_frozen += 9
|
||||
elif charge <= 80: n_frozen += 18
|
||||
elif charge <= 112: n_frozen += 27
|
||||
|
||||
|
||||
mo_num = ezfio.mo_basis_mo_num
|
||||
|
||||
|
@ -953,6 +953,7 @@ Subroutines / functions
|
||||
|
||||
Gets multiple AO bi-electronic integral from the AO map .
|
||||
All i are retrieved for j,k,l fixed.
|
||||
physicist convention : <ij|kl>
|
||||
|
||||
Needs:
|
||||
|
||||
@ -1224,6 +1225,8 @@ Subroutines / functions
|
||||
subroutine two_e_integrals_index(i,j,k,l,i1)
|
||||
|
||||
|
||||
Gives a unique index for i,j,k,l using permtuation symmetry.
|
||||
i <-> k, j <-> l, and (i,k) <-> (j,l)
|
||||
|
||||
Called by:
|
||||
|
||||
@ -1255,7 +1258,7 @@ Subroutines / functions
|
||||
* :c:data:`mo_integrals_erf_cache`
|
||||
* :c:data:`mo_integrals_erf_map`
|
||||
* :c:data:`mo_integrals_map`
|
||||
* :c:func:`two_e_integrals_index_reverse`
|
||||
* :c:func:`test`
|
||||
|
||||
|
||||
.. c:function:: two_e_integrals_index_reverse:
|
||||
@ -1268,6 +1271,15 @@ Subroutines / functions
|
||||
subroutine two_e_integrals_index_reverse(i,j,k,l,i1)
|
||||
|
||||
|
||||
Computes the 4 indices $i,j,k,l$ from a unique index $i_1$.
|
||||
For 2 indices $i,j$ and $i \le j$, we have
|
||||
$p = i(i-1)/2 + j$.
|
||||
The key point is that because $j < i$,
|
||||
$i(i-1)/2 < p \le i(i+1)/2$. So $i$ can be found by solving
|
||||
$i^2 - i - 2p=0$. One obtains $i=1 + \sqrt{1+8p}/2$
|
||||
and $j = p - i(i-1)/2$.
|
||||
This rule is applied 3 times. First for the symmetry of the
|
||||
pairs (i,k) and (j,l), and then for the symmetry within each pair.
|
||||
|
||||
Called by:
|
||||
|
||||
@ -1275,11 +1287,5 @@ Subroutines / functions
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_two_e_integral_alpha`
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`two_e_integrals_index`
|
||||
* :c:func:`test`
|
||||
|
||||
|
@ -51,3 +51,13 @@ EZFIO parameters
|
||||
|
||||
Beta one body density matrix on the |MO| basis computed with the wave function
|
||||
|
||||
|
||||
.. option:: data_one_e_dm_alpha_ao
|
||||
|
||||
Alpha one body density matrix on the |AO| basis computed with the wave function
|
||||
|
||||
|
||||
.. option:: data_one_e_dm_beta_ao
|
||||
|
||||
Beta one body density matrix on the |AO| basis computed with the wave function
|
||||
|
||||
|
@ -241,6 +241,7 @@ Providers
|
||||
* :c:data:`mos_in_r_array`
|
||||
* :c:data:`one_e_dm_alpha_at_r`
|
||||
* :c:data:`one_e_dm_and_grad_alpha_in_r`
|
||||
* :c:data:`one_e_dm_no_core_and_grad_alpha_in_r`
|
||||
|
||||
|
||||
.. c:var:: final_weight_at_r
|
||||
@ -339,6 +340,7 @@ Providers
|
||||
* :c:data:`mos_in_r_array`
|
||||
* :c:data:`one_e_dm_alpha_at_r`
|
||||
* :c:data:`one_e_dm_and_grad_alpha_in_r`
|
||||
* :c:data:`one_e_dm_no_core_and_grad_alpha_in_r`
|
||||
|
||||
|
||||
.. c:var:: grid_points_per_atom
|
||||
@ -468,6 +470,7 @@ Providers
|
||||
* :c:data:`mos_in_r_array`
|
||||
* :c:data:`one_e_dm_alpha_at_r`
|
||||
* :c:data:`one_e_dm_and_grad_alpha_in_r`
|
||||
* :c:data:`one_e_dm_no_core_and_grad_alpha_in_r`
|
||||
|
||||
|
||||
.. c:var:: index_final_points_reverse
|
||||
@ -532,6 +535,7 @@ Providers
|
||||
* :c:data:`mos_in_r_array`
|
||||
* :c:data:`one_e_dm_alpha_at_r`
|
||||
* :c:data:`one_e_dm_and_grad_alpha_in_r`
|
||||
* :c:data:`one_e_dm_no_core_and_grad_alpha_in_r`
|
||||
|
||||
|
||||
.. c:var:: m_knowles
|
||||
@ -608,6 +612,7 @@ Providers
|
||||
* :c:data:`mos_lapl_in_r_array`
|
||||
* :c:data:`one_e_dm_alpha_at_r`
|
||||
* :c:data:`one_e_dm_and_grad_alpha_in_r`
|
||||
* :c:data:`one_e_dm_no_core_and_grad_alpha_in_r`
|
||||
* :c:data:`pot_grad_x_alpha_ao_pbe`
|
||||
* :c:data:`pot_grad_xc_alpha_ao_pbe`
|
||||
* :c:data:`pot_scal_x_alpha_ao_pbe`
|
||||
@ -749,6 +754,7 @@ Providers
|
||||
|
||||
* :c:data:`grid_points_per_atom`
|
||||
* :c:data:`n_points_radial_grid`
|
||||
* :c:data:`nucl_charge`
|
||||
* :c:data:`nucl_coord_transp`
|
||||
* :c:data:`nucl_dist_inv`
|
||||
* :c:data:`nucl_num`
|
||||
@ -818,6 +824,7 @@ Subroutines / functions
|
||||
* :c:data:`nucl_dist_inv`
|
||||
* :c:data:`slater_bragg_type_inter_distance_ua`
|
||||
* :c:data:`nucl_coord_transp`
|
||||
* :c:data:`nucl_charge`
|
||||
* :c:data:`nucl_num`
|
||||
|
||||
|
||||
|
@ -108,10 +108,12 @@ Providers
|
||||
* :c:data:`fock_matrix_mo`
|
||||
* :c:data:`inact_virt_bitmask`
|
||||
* :c:data:`list_core_inact_act`
|
||||
* :c:data:`list_inact_act`
|
||||
* :c:data:`mo_two_e_integrals_in_map`
|
||||
* :c:data:`mo_two_e_integrals_vv_from_ao`
|
||||
* :c:data:`reunion_of_bitmask`
|
||||
* :c:data:`reunion_of_cas_inact_bitmask`
|
||||
* :c:data:`reunion_of_core_inact_act_bitmask`
|
||||
* :c:data:`reunion_of_core_inact_bitmask`
|
||||
* :c:data:`virt_bitmask_4`
|
||||
|
||||
@ -150,8 +152,6 @@ Providers
|
||||
* :c:data:`closed_shell_ref_bitmask`
|
||||
* :c:data:`psi_cas`
|
||||
* :c:data:`reunion_of_bitmask`
|
||||
* :c:data:`reunion_of_cas_inact_bitmask`
|
||||
* :c:data:`reunion_of_core_inact_act_bitmask`
|
||||
|
||||
|
||||
.. c:var:: closed_shell_ref_bitmask
|
||||
@ -246,10 +246,12 @@ Providers
|
||||
* :c:data:`fock_matrix_mo`
|
||||
* :c:data:`inact_virt_bitmask`
|
||||
* :c:data:`list_core_inact_act`
|
||||
* :c:data:`list_inact_act`
|
||||
* :c:data:`mo_two_e_integrals_in_map`
|
||||
* :c:data:`mo_two_e_integrals_vv_from_ao`
|
||||
* :c:data:`reunion_of_bitmask`
|
||||
* :c:data:`reunion_of_cas_inact_bitmask`
|
||||
* :c:data:`reunion_of_core_inact_act_bitmask`
|
||||
* :c:data:`reunion_of_core_inact_bitmask`
|
||||
* :c:data:`virt_bitmask_4`
|
||||
|
||||
@ -374,10 +376,12 @@ Providers
|
||||
* :c:data:`fock_matrix_mo`
|
||||
* :c:data:`inact_virt_bitmask`
|
||||
* :c:data:`list_core_inact_act`
|
||||
* :c:data:`list_inact_act`
|
||||
* :c:data:`mo_two_e_integrals_in_map`
|
||||
* :c:data:`mo_two_e_integrals_vv_from_ao`
|
||||
* :c:data:`reunion_of_bitmask`
|
||||
* :c:data:`reunion_of_cas_inact_bitmask`
|
||||
* :c:data:`reunion_of_core_inact_act_bitmask`
|
||||
* :c:data:`reunion_of_core_inact_bitmask`
|
||||
* :c:data:`virt_bitmask_4`
|
||||
|
||||
@ -814,10 +818,12 @@ Providers
|
||||
* :c:data:`fock_matrix_mo`
|
||||
* :c:data:`inact_virt_bitmask`
|
||||
* :c:data:`list_core_inact_act`
|
||||
* :c:data:`list_inact_act`
|
||||
* :c:data:`mo_two_e_integrals_in_map`
|
||||
* :c:data:`mo_two_e_integrals_vv_from_ao`
|
||||
* :c:data:`reunion_of_bitmask`
|
||||
* :c:data:`reunion_of_cas_inact_bitmask`
|
||||
* :c:data:`reunion_of_core_inact_act_bitmask`
|
||||
* :c:data:`reunion_of_core_inact_bitmask`
|
||||
* :c:data:`virt_bitmask_4`
|
||||
|
||||
@ -943,10 +949,12 @@ Providers
|
||||
* :c:data:`fock_matrix_mo`
|
||||
* :c:data:`inact_virt_bitmask`
|
||||
* :c:data:`list_core_inact_act`
|
||||
* :c:data:`list_inact_act`
|
||||
* :c:data:`mo_two_e_integrals_in_map`
|
||||
* :c:data:`mo_two_e_integrals_vv_from_ao`
|
||||
* :c:data:`reunion_of_bitmask`
|
||||
* :c:data:`reunion_of_cas_inact_bitmask`
|
||||
* :c:data:`reunion_of_core_inact_act_bitmask`
|
||||
* :c:data:`reunion_of_core_inact_bitmask`
|
||||
* :c:data:`virt_bitmask_4`
|
||||
|
||||
@ -1021,10 +1029,12 @@ Providers
|
||||
* :c:data:`fock_matrix_mo`
|
||||
* :c:data:`inact_virt_bitmask`
|
||||
* :c:data:`list_core_inact_act`
|
||||
* :c:data:`list_inact_act`
|
||||
* :c:data:`mo_two_e_integrals_in_map`
|
||||
* :c:data:`mo_two_e_integrals_vv_from_ao`
|
||||
* :c:data:`reunion_of_bitmask`
|
||||
* :c:data:`reunion_of_cas_inact_bitmask`
|
||||
* :c:data:`reunion_of_core_inact_act_bitmask`
|
||||
* :c:data:`reunion_of_core_inact_bitmask`
|
||||
* :c:data:`virt_bitmask_4`
|
||||
|
||||
@ -1099,10 +1109,12 @@ Providers
|
||||
* :c:data:`fock_matrix_mo`
|
||||
* :c:data:`inact_virt_bitmask`
|
||||
* :c:data:`list_core_inact_act`
|
||||
* :c:data:`list_inact_act`
|
||||
* :c:data:`mo_two_e_integrals_in_map`
|
||||
* :c:data:`mo_two_e_integrals_vv_from_ao`
|
||||
* :c:data:`reunion_of_bitmask`
|
||||
* :c:data:`reunion_of_cas_inact_bitmask`
|
||||
* :c:data:`reunion_of_core_inact_act_bitmask`
|
||||
* :c:data:`reunion_of_core_inact_bitmask`
|
||||
* :c:data:`virt_bitmask_4`
|
||||
|
||||
@ -1110,12 +1122,12 @@ Providers
|
||||
.. c:var:: list_core_inact_act
|
||||
|
||||
|
||||
File : :file:`bitmask/bitmasks.irp.f`
|
||||
File : :file:`bitmask/core_inact_act_virt.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
integer, allocatable :: list_core_inact_act (n_core_inact_act_orb)
|
||||
integer, allocatable :: list_core_inact_act_reverse (mo_num)
|
||||
integer, allocatable :: list_core_inact_act_reverse (n_core_inact_act_orb)
|
||||
|
||||
|
||||
|
||||
@ -1125,7 +1137,8 @@ Providers
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`list_inact`
|
||||
* :c:data:`mo_num`
|
||||
* :c:data:`n_core_inact_act_orb`
|
||||
* :c:data:`n_core_orb`
|
||||
* :c:data:`n_int`
|
||||
* :c:data:`reunion_of_core_inact_act_bitmask`
|
||||
|
||||
@ -1134,12 +1147,12 @@ Providers
|
||||
.. c:var:: list_core_inact_act_reverse
|
||||
|
||||
|
||||
File : :file:`bitmask/bitmasks.irp.f`
|
||||
File : :file:`bitmask/core_inact_act_virt.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
integer, allocatable :: list_core_inact_act (n_core_inact_act_orb)
|
||||
integer, allocatable :: list_core_inact_act_reverse (mo_num)
|
||||
integer, allocatable :: list_core_inact_act_reverse (n_core_inact_act_orb)
|
||||
|
||||
|
||||
|
||||
@ -1149,7 +1162,8 @@ Providers
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`list_inact`
|
||||
* :c:data:`mo_num`
|
||||
* :c:data:`n_core_inact_act_orb`
|
||||
* :c:data:`n_core_orb`
|
||||
* :c:data:`n_int`
|
||||
* :c:data:`reunion_of_core_inact_act_bitmask`
|
||||
|
||||
@ -1225,10 +1239,12 @@ Providers
|
||||
* :c:data:`fock_matrix_mo`
|
||||
* :c:data:`inact_virt_bitmask`
|
||||
* :c:data:`list_core_inact_act`
|
||||
* :c:data:`list_inact_act`
|
||||
* :c:data:`mo_two_e_integrals_in_map`
|
||||
* :c:data:`mo_two_e_integrals_vv_from_ao`
|
||||
* :c:data:`reunion_of_bitmask`
|
||||
* :c:data:`reunion_of_cas_inact_bitmask`
|
||||
* :c:data:`reunion_of_core_inact_act_bitmask`
|
||||
* :c:data:`reunion_of_core_inact_bitmask`
|
||||
* :c:data:`virt_bitmask_4`
|
||||
|
||||
@ -1303,10 +1319,12 @@ Providers
|
||||
* :c:data:`fock_matrix_mo`
|
||||
* :c:data:`inact_virt_bitmask`
|
||||
* :c:data:`list_core_inact_act`
|
||||
* :c:data:`list_inact_act`
|
||||
* :c:data:`mo_two_e_integrals_in_map`
|
||||
* :c:data:`mo_two_e_integrals_vv_from_ao`
|
||||
* :c:data:`reunion_of_bitmask`
|
||||
* :c:data:`reunion_of_cas_inact_bitmask`
|
||||
* :c:data:`reunion_of_core_inact_act_bitmask`
|
||||
* :c:data:`reunion_of_core_inact_bitmask`
|
||||
* :c:data:`virt_bitmask_4`
|
||||
|
||||
@ -1381,10 +1399,12 @@ Providers
|
||||
* :c:data:`fock_matrix_mo`
|
||||
* :c:data:`inact_virt_bitmask`
|
||||
* :c:data:`list_core_inact_act`
|
||||
* :c:data:`list_inact_act`
|
||||
* :c:data:`mo_two_e_integrals_in_map`
|
||||
* :c:data:`mo_two_e_integrals_vv_from_ao`
|
||||
* :c:data:`reunion_of_bitmask`
|
||||
* :c:data:`reunion_of_cas_inact_bitmask`
|
||||
* :c:data:`reunion_of_core_inact_act_bitmask`
|
||||
* :c:data:`reunion_of_core_inact_bitmask`
|
||||
* :c:data:`virt_bitmask_4`
|
||||
|
||||
@ -1459,14 +1479,38 @@ Providers
|
||||
* :c:data:`fock_matrix_mo`
|
||||
* :c:data:`inact_virt_bitmask`
|
||||
* :c:data:`list_core_inact_act`
|
||||
* :c:data:`list_inact_act`
|
||||
* :c:data:`mo_two_e_integrals_in_map`
|
||||
* :c:data:`mo_two_e_integrals_vv_from_ao`
|
||||
* :c:data:`reunion_of_bitmask`
|
||||
* :c:data:`reunion_of_cas_inact_bitmask`
|
||||
* :c:data:`reunion_of_core_inact_act_bitmask`
|
||||
* :c:data:`reunion_of_core_inact_bitmask`
|
||||
* :c:data:`virt_bitmask_4`
|
||||
|
||||
|
||||
.. c:var:: list_inact_act
|
||||
|
||||
|
||||
File : :file:`bitmask/core_inact_act_virt.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
integer, allocatable :: list_inact_act (n_inact_act_orb)
|
||||
|
||||
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`list_inact`
|
||||
* :c:data:`n_core_orb`
|
||||
* :c:data:`n_inact_act_orb`
|
||||
|
||||
|
||||
|
||||
.. c:var:: list_inact_reverse
|
||||
|
||||
|
||||
@ -1537,10 +1581,12 @@ Providers
|
||||
* :c:data:`fock_matrix_mo`
|
||||
* :c:data:`inact_virt_bitmask`
|
||||
* :c:data:`list_core_inact_act`
|
||||
* :c:data:`list_inact_act`
|
||||
* :c:data:`mo_two_e_integrals_in_map`
|
||||
* :c:data:`mo_two_e_integrals_vv_from_ao`
|
||||
* :c:data:`reunion_of_bitmask`
|
||||
* :c:data:`reunion_of_cas_inact_bitmask`
|
||||
* :c:data:`reunion_of_core_inact_act_bitmask`
|
||||
* :c:data:`reunion_of_core_inact_bitmask`
|
||||
* :c:data:`virt_bitmask_4`
|
||||
|
||||
@ -1615,10 +1661,12 @@ Providers
|
||||
* :c:data:`fock_matrix_mo`
|
||||
* :c:data:`inact_virt_bitmask`
|
||||
* :c:data:`list_core_inact_act`
|
||||
* :c:data:`list_inact_act`
|
||||
* :c:data:`mo_two_e_integrals_in_map`
|
||||
* :c:data:`mo_two_e_integrals_vv_from_ao`
|
||||
* :c:data:`reunion_of_bitmask`
|
||||
* :c:data:`reunion_of_cas_inact_bitmask`
|
||||
* :c:data:`reunion_of_core_inact_act_bitmask`
|
||||
* :c:data:`reunion_of_core_inact_bitmask`
|
||||
* :c:data:`virt_bitmask_4`
|
||||
|
||||
@ -1693,10 +1741,12 @@ Providers
|
||||
* :c:data:`fock_matrix_mo`
|
||||
* :c:data:`inact_virt_bitmask`
|
||||
* :c:data:`list_core_inact_act`
|
||||
* :c:data:`list_inact_act`
|
||||
* :c:data:`mo_two_e_integrals_in_map`
|
||||
* :c:data:`mo_two_e_integrals_vv_from_ao`
|
||||
* :c:data:`reunion_of_bitmask`
|
||||
* :c:data:`reunion_of_cas_inact_bitmask`
|
||||
* :c:data:`reunion_of_core_inact_act_bitmask`
|
||||
* :c:data:`reunion_of_core_inact_bitmask`
|
||||
* :c:data:`virt_bitmask_4`
|
||||
|
||||
@ -1772,9 +1822,13 @@ Providers
|
||||
* :c:data:`dim_list_core_orb`
|
||||
* :c:data:`eigenvectors_fock_matrix_mo`
|
||||
* :c:data:`fock_matrix_mo`
|
||||
* :c:data:`list_core_inact_act`
|
||||
* :c:data:`list_inact`
|
||||
* :c:data:`list_inact_act`
|
||||
* :c:data:`mo_two_e_integrals_vv_from_ao`
|
||||
* :c:data:`n_core_inact_act_orb`
|
||||
* :c:data:`n_core_orb_allocate`
|
||||
* :c:data:`n_inact_act_orb`
|
||||
* :c:data:`n_inact_orb_allocate`
|
||||
* :c:data:`n_virt_orb_allocate`
|
||||
* :c:data:`pt2_f`
|
||||
@ -1813,31 +1867,26 @@ Providers
|
||||
.. c:var:: n_core_inact_act_orb
|
||||
|
||||
|
||||
File : :file:`bitmask/bitmasks.irp.f`
|
||||
File : :file:`bitmask/core_inact_act_virt.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
integer(bit_kind), allocatable :: reunion_of_core_inact_act_bitmask (N_int,2)
|
||||
integer :: n_core_inact_act_orb
|
||||
|
||||
|
||||
Reunion of the core, inactive and active bitmasks
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`cas_bitmask`
|
||||
* :c:data:`n_int`
|
||||
* :c:data:`reunion_of_core_inact_bitmask`
|
||||
* :c:data:`n_core_orb`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`core_inact_act_bitmask_4`
|
||||
* :c:data:`list_core_inact_act`
|
||||
|
||||
|
||||
@ -1919,9 +1968,13 @@ Providers
|
||||
* :c:data:`dim_list_core_orb`
|
||||
* :c:data:`eigenvectors_fock_matrix_mo`
|
||||
* :c:data:`fock_matrix_mo`
|
||||
* :c:data:`list_core_inact_act`
|
||||
* :c:data:`list_inact`
|
||||
* :c:data:`list_inact_act`
|
||||
* :c:data:`mo_two_e_integrals_vv_from_ao`
|
||||
* :c:data:`n_core_inact_act_orb`
|
||||
* :c:data:`n_core_orb_allocate`
|
||||
* :c:data:`n_inact_act_orb`
|
||||
* :c:data:`n_inact_orb_allocate`
|
||||
* :c:data:`n_virt_orb_allocate`
|
||||
* :c:data:`pt2_f`
|
||||
@ -2004,9 +2057,13 @@ Providers
|
||||
* :c:data:`dim_list_core_orb`
|
||||
* :c:data:`eigenvectors_fock_matrix_mo`
|
||||
* :c:data:`fock_matrix_mo`
|
||||
* :c:data:`list_core_inact_act`
|
||||
* :c:data:`list_inact`
|
||||
* :c:data:`list_inact_act`
|
||||
* :c:data:`mo_two_e_integrals_vv_from_ao`
|
||||
* :c:data:`n_core_inact_act_orb`
|
||||
* :c:data:`n_core_orb_allocate`
|
||||
* :c:data:`n_inact_act_orb`
|
||||
* :c:data:`n_inact_orb_allocate`
|
||||
* :c:data:`n_virt_orb_allocate`
|
||||
* :c:data:`pt2_f`
|
||||
@ -2072,6 +2129,32 @@ Providers
|
||||
* :c:data:`generators_bitmask_restart`
|
||||
|
||||
|
||||
.. c:var:: n_inact_act_orb
|
||||
|
||||
|
||||
File : :file:`bitmask/core_inact_act_virt.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
integer :: n_inact_act_orb
|
||||
|
||||
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`n_core_orb`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`list_inact_act`
|
||||
|
||||
|
||||
.. c:var:: n_inact_orb
|
||||
|
||||
|
||||
@ -2129,9 +2212,13 @@ Providers
|
||||
* :c:data:`dim_list_core_orb`
|
||||
* :c:data:`eigenvectors_fock_matrix_mo`
|
||||
* :c:data:`fock_matrix_mo`
|
||||
* :c:data:`list_core_inact_act`
|
||||
* :c:data:`list_inact`
|
||||
* :c:data:`list_inact_act`
|
||||
* :c:data:`mo_two_e_integrals_vv_from_ao`
|
||||
* :c:data:`n_core_inact_act_orb`
|
||||
* :c:data:`n_core_orb_allocate`
|
||||
* :c:data:`n_inact_act_orb`
|
||||
* :c:data:`n_inact_orb_allocate`
|
||||
* :c:data:`n_virt_orb_allocate`
|
||||
* :c:data:`pt2_f`
|
||||
@ -2309,9 +2396,13 @@ Providers
|
||||
* :c:data:`dim_list_core_orb`
|
||||
* :c:data:`eigenvectors_fock_matrix_mo`
|
||||
* :c:data:`fock_matrix_mo`
|
||||
* :c:data:`list_core_inact_act`
|
||||
* :c:data:`list_inact`
|
||||
* :c:data:`list_inact_act`
|
||||
* :c:data:`mo_two_e_integrals_vv_from_ao`
|
||||
* :c:data:`n_core_inact_act_orb`
|
||||
* :c:data:`n_core_orb_allocate`
|
||||
* :c:data:`n_inact_act_orb`
|
||||
* :c:data:`n_inact_orb_allocate`
|
||||
* :c:data:`n_virt_orb_allocate`
|
||||
* :c:data:`pt2_f`
|
||||
@ -2412,7 +2503,6 @@ Providers
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`cas_bitmask`
|
||||
* :c:data:`list_inact`
|
||||
* :c:data:`n_int`
|
||||
|
||||
@ -2426,7 +2516,6 @@ Providers
|
||||
.. code:: fortran
|
||||
|
||||
integer(bit_kind), allocatable :: reunion_of_core_inact_act_bitmask (N_int,2)
|
||||
integer :: n_core_inact_act_orb
|
||||
|
||||
|
||||
Reunion of the core, inactive and active bitmasks
|
||||
@ -2436,7 +2525,7 @@ Providers
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`cas_bitmask`
|
||||
* :c:data:`list_inact`
|
||||
* :c:data:`n_int`
|
||||
* :c:data:`reunion_of_core_inact_bitmask`
|
||||
|
||||
@ -2570,10 +2659,12 @@ Providers
|
||||
* :c:data:`fock_matrix_mo`
|
||||
* :c:data:`inact_virt_bitmask`
|
||||
* :c:data:`list_core_inact_act`
|
||||
* :c:data:`list_inact_act`
|
||||
* :c:data:`mo_two_e_integrals_in_map`
|
||||
* :c:data:`mo_two_e_integrals_vv_from_ao`
|
||||
* :c:data:`reunion_of_bitmask`
|
||||
* :c:data:`reunion_of_cas_inact_bitmask`
|
||||
* :c:data:`reunion_of_core_inact_act_bitmask`
|
||||
* :c:data:`reunion_of_core_inact_bitmask`
|
||||
* :c:data:`virt_bitmask_4`
|
||||
|
||||
|
@ -344,6 +344,34 @@ Providers
|
||||
|
||||
|
||||
|
||||
.. c:var:: pt2_match_weight
|
||||
|
||||
|
||||
File : :file:`cipsi/selection.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: pt2_match_weight (N_states)
|
||||
|
||||
|
||||
Weights adjusted along the selection to make the PT2 contributions
|
||||
of each state coincide.
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`n_states`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`selection_weight`
|
||||
|
||||
|
||||
.. c:var:: pt2_mindetinfirstteeth
|
||||
|
||||
|
||||
@ -698,6 +726,7 @@ Providers
|
||||
|
||||
* :c:data:`c0_weight`
|
||||
* :c:data:`n_states`
|
||||
* :c:data:`pt2_match_weight`
|
||||
|
||||
|
||||
|
||||
@ -854,6 +883,8 @@ Subroutines / functions
|
||||
* :c:data:`psi_det_hii`
|
||||
* :c:data:`do_only_1h1p`
|
||||
* :c:data:`h0_type`
|
||||
* :c:data:`thresh_sym`
|
||||
* :c:data:`pseudo_sym`
|
||||
* :c:data:`psi_det_generators`
|
||||
|
||||
Called by:
|
||||
@ -1584,6 +1615,7 @@ Subroutines / functions
|
||||
* :c:data:`psi_energy`
|
||||
* :c:data:`psi_occ_pattern`
|
||||
* :c:data:`psi_energy`
|
||||
* :c:data:`pt2_match_weight`
|
||||
* :c:data:`pt2_stoch_istate`
|
||||
* :c:data:`state_average_weight`
|
||||
* :c:data:`threshold_generators`
|
||||
@ -1805,6 +1837,7 @@ Subroutines / functions
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`fci`
|
||||
* :c:func:`pt2`
|
||||
|
||||
Calls:
|
||||
@ -1991,6 +2024,7 @@ Subroutines / functions
|
||||
* :c:data:`psi_energy`
|
||||
* :c:data:`psi_occ_pattern`
|
||||
* :c:data:`psi_energy`
|
||||
* :c:data:`pt2_match_weight`
|
||||
* :c:data:`pt2_stoch_istate`
|
||||
* :c:data:`state_average_weight`
|
||||
* :c:data:`threshold_generators`
|
||||
@ -2344,6 +2378,7 @@ Subroutines / functions
|
||||
* :c:data:`state_average_weight`
|
||||
* :c:data:`n_det`
|
||||
* :c:data:`s2_eig`
|
||||
* :c:data:`pt2_match_weight`
|
||||
* :c:data:`pt2_j`
|
||||
* :c:data:`mo_two_e_integrals_in_map`
|
||||
* :c:data:`psi_bilinear_matrix_transp_values`
|
||||
@ -2415,6 +2450,7 @@ Subroutines / functions
|
||||
* :c:data:`psi_det`
|
||||
* :c:data:`psi_det_size`
|
||||
* :c:data:`psi_det_sorted_bit`
|
||||
* :c:data:`pt2_match_weight`
|
||||
* :c:data:`pt2_stoch_istate`
|
||||
* :c:data:`state_average_weight`
|
||||
|
||||
@ -2441,6 +2477,7 @@ Subroutines / functions
|
||||
* :c:data:`n_det`
|
||||
* :c:data:`psi_bilinear_matrix_columns_loc`
|
||||
* :c:data:`n_det_selectors`
|
||||
* :c:data:`psi_bilinear_matrix_transp_values`
|
||||
* :c:data:`psi_det_alpha_unique`
|
||||
* :c:data:`psi_bilinear_matrix_transp_values`
|
||||
* :c:data:`state_average_weight`
|
||||
@ -2456,7 +2493,7 @@ Subroutines / functions
|
||||
* :c:data:`n_states`
|
||||
* :c:data:`pt2_f`
|
||||
* :c:data:`n_det_generators`
|
||||
* :c:data:`psi_bilinear_matrix_transp_values`
|
||||
* :c:data:`pt2_match_weight`
|
||||
* :c:data:`n_int`
|
||||
|
||||
Called by:
|
||||
@ -2496,4 +2533,5 @@ Subroutines / functions
|
||||
* :c:data:`psi_det`
|
||||
* :c:data:`psi_det_size`
|
||||
* :c:data:`psi_det_sorted_bit`
|
||||
* :c:data:`pt2_match_weight`
|
||||
|
||||
|
@ -72,7 +72,7 @@ Subroutines / functions
|
||||
.. c:function:: h_apply_cis:
|
||||
|
||||
|
||||
File : :file:`h_apply.irp.f_shell_8`
|
||||
File : :file:`h_apply.irp.f_shell_13`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
@ -134,7 +134,7 @@ Subroutines / functions
|
||||
.. c:function:: h_apply_cis_diexc:
|
||||
|
||||
|
||||
File : :file:`h_apply.irp.f_shell_8`
|
||||
File : :file:`h_apply.irp.f_shell_13`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
@ -169,7 +169,7 @@ Subroutines / functions
|
||||
.. c:function:: h_apply_cis_diexcorg:
|
||||
|
||||
|
||||
File : :file:`h_apply.irp.f_shell_8`
|
||||
File : :file:`h_apply.irp.f_shell_13`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
@ -208,7 +208,7 @@ Subroutines / functions
|
||||
.. c:function:: h_apply_cis_diexcp:
|
||||
|
||||
|
||||
File : :file:`h_apply.irp.f_shell_8`
|
||||
File : :file:`h_apply.irp.f_shell_13`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
@ -243,7 +243,7 @@ Subroutines / functions
|
||||
.. c:function:: h_apply_cis_monoexc:
|
||||
|
||||
|
||||
File : :file:`h_apply.irp.f_shell_8`
|
||||
File : :file:`h_apply.irp.f_shell_13`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
@ -278,3 +278,215 @@ Subroutines / functions
|
||||
* :c:func:`bitstring_to_list_ab`
|
||||
* :c:func:`fill_h_apply_buffer_no_selection`
|
||||
|
||||
|
||||
.. c:function:: h_apply_cis_sym:
|
||||
|
||||
|
||||
File : :file:`h_apply.irp.f_shell_13`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
subroutine H_apply_cis_sym()
|
||||
|
||||
|
||||
Calls H_apply on the |HF| determinant and selects all connected single and double
|
||||
excitations (of the same symmetry). Auto-generated by the ``generate_h_apply`` script.
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`psi_coef`
|
||||
* :c:data:`n_states`
|
||||
* :c:data:`generators_bitmask`
|
||||
* :c:data:`mo_num`
|
||||
* :c:data:`mo_two_e_integrals_in_map`
|
||||
* :c:data:`h_apply_buffer_allocated`
|
||||
* :c:data:`n_det`
|
||||
* :c:data:`s2_eig`
|
||||
* :c:data:`n_det_generators`
|
||||
* :c:data:`i_bitmask_gen`
|
||||
* :c:data:`n_int`
|
||||
* :c:data:`psi_det`
|
||||
* :c:data:`psi_det_generators`
|
||||
* :c:data:`psi_det_generators`
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`build_fock_tmp`
|
||||
* :c:func:`copy_h_apply_buffer_to_wf`
|
||||
* :c:func:`dsort`
|
||||
* :c:func:`h_apply_cis_sym_diexc`
|
||||
* :c:func:`h_apply_cis_sym_monoexc`
|
||||
* :c:func:`make_s2_eigenfunction`
|
||||
* :c:func:`wall_time`
|
||||
|
||||
Touches:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`n_det`
|
||||
* :c:data:`psi_occ_pattern`
|
||||
* :c:data:`c0_weight`
|
||||
* :c:data:`psi_coef`
|
||||
* :c:data:`psi_det_sorted_bit`
|
||||
* :c:data:`psi_det`
|
||||
* :c:data:`psi_det_size`
|
||||
* :c:data:`psi_det_sorted_bit`
|
||||
* :c:data:`psi_occ_pattern`
|
||||
|
||||
|
||||
.. c:function:: h_apply_cis_sym_diexc:
|
||||
|
||||
|
||||
File : :file:`h_apply.irp.f_shell_13`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
subroutine H_apply_cis_sym_diexc(key_in, key_prev, hole_1,particl_1, hole_2, particl_2, fock_diag_tmp, i_generator, iproc_in )
|
||||
|
||||
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`n_int`
|
||||
* :c:data:`n_det`
|
||||
* :c:data:`mo_num`
|
||||
|
||||
Called by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`h_apply_cis_sym`
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`h_apply_cis_sym_diexcp`
|
||||
|
||||
|
||||
.. c:function:: h_apply_cis_sym_diexcorg:
|
||||
|
||||
|
||||
File : :file:`h_apply.irp.f_shell_13`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
subroutine H_apply_cis_sym_diexcOrg(key_in,key_mask,hole_1,particl_1,hole_2, particl_2, fock_diag_tmp, i_generator, iproc_in )
|
||||
|
||||
|
||||
Generate all double excitations of key_in using the bit masks of holes and
|
||||
particles.
|
||||
Assume N_int is already provided.
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`n_int`
|
||||
* :c:data:`elec_alpha_num`
|
||||
* :c:data:`mo_num`
|
||||
|
||||
Called by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`h_apply_cis_sym_diexcp`
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`bitstring_to_list_ab`
|
||||
* :c:func:`connected_to_hf`
|
||||
* :c:func:`fill_h_apply_buffer_no_selection`
|
||||
|
||||
|
||||
.. c:function:: h_apply_cis_sym_diexcp:
|
||||
|
||||
|
||||
File : :file:`h_apply.irp.f_shell_13`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
subroutine H_apply_cis_sym_diexcP(key_in, fs1, fh1, particl_1, fs2, fh2, particl_2, fock_diag_tmp, i_generator, iproc_in )
|
||||
|
||||
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`n_int`
|
||||
* :c:data:`n_det`
|
||||
* :c:data:`mo_num`
|
||||
|
||||
Called by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`h_apply_cis_sym_diexc`
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`h_apply_cis_sym_diexcorg`
|
||||
|
||||
|
||||
.. c:function:: h_apply_cis_sym_monoexc:
|
||||
|
||||
|
||||
File : :file:`h_apply.irp.f_shell_13`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
subroutine H_apply_cis_sym_monoexc(key_in, hole_1,particl_1,fock_diag_tmp,i_generator,iproc_in )
|
||||
|
||||
|
||||
Generate all single excitations of key_in using the bit masks of holes and
|
||||
particles.
|
||||
Assume N_int is already provided.
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`n_int`
|
||||
* :c:data:`elec_alpha_num`
|
||||
* :c:data:`mo_num`
|
||||
|
||||
Called by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`h_apply_cis_sym`
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`bitstring_to_list_ab`
|
||||
* :c:func:`connected_to_hf`
|
||||
* :c:func:`fill_h_apply_buffer_no_selection`
|
||||
|
||||
|
@ -65,7 +65,7 @@ Subroutines / functions
|
||||
.. c:function:: h_apply_cisd:
|
||||
|
||||
|
||||
File : :file:`h_apply.irp.f_shell_8`
|
||||
File : :file:`h_apply.irp.f_shell_12`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
@ -127,7 +127,7 @@ Subroutines / functions
|
||||
.. c:function:: h_apply_cisd_diexc:
|
||||
|
||||
|
||||
File : :file:`h_apply.irp.f_shell_8`
|
||||
File : :file:`h_apply.irp.f_shell_12`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
@ -162,7 +162,7 @@ Subroutines / functions
|
||||
.. c:function:: h_apply_cisd_diexcorg:
|
||||
|
||||
|
||||
File : :file:`h_apply.irp.f_shell_8`
|
||||
File : :file:`h_apply.irp.f_shell_12`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
@ -201,7 +201,7 @@ Subroutines / functions
|
||||
.. c:function:: h_apply_cisd_diexcp:
|
||||
|
||||
|
||||
File : :file:`h_apply.irp.f_shell_8`
|
||||
File : :file:`h_apply.irp.f_shell_12`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
@ -236,7 +236,7 @@ Subroutines / functions
|
||||
.. c:function:: h_apply_cisd_monoexc:
|
||||
|
||||
|
||||
File : :file:`h_apply.irp.f_shell_8`
|
||||
File : :file:`h_apply.irp.f_shell_12`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
@ -271,3 +271,215 @@ Subroutines / functions
|
||||
* :c:func:`bitstring_to_list_ab`
|
||||
* :c:func:`fill_h_apply_buffer_no_selection`
|
||||
|
||||
|
||||
.. c:function:: h_apply_cisd_sym:
|
||||
|
||||
|
||||
File : :file:`h_apply.irp.f_shell_12`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
subroutine H_apply_cisd_sym()
|
||||
|
||||
|
||||
Calls H_apply on the |HF| determinant and selects all connected single and double
|
||||
excitations (of the same symmetry). Auto-generated by the ``generate_h_apply`` script.
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`psi_coef`
|
||||
* :c:data:`n_states`
|
||||
* :c:data:`generators_bitmask`
|
||||
* :c:data:`mo_num`
|
||||
* :c:data:`mo_two_e_integrals_in_map`
|
||||
* :c:data:`h_apply_buffer_allocated`
|
||||
* :c:data:`n_det`
|
||||
* :c:data:`s2_eig`
|
||||
* :c:data:`n_det_generators`
|
||||
* :c:data:`i_bitmask_gen`
|
||||
* :c:data:`n_int`
|
||||
* :c:data:`psi_det`
|
||||
* :c:data:`psi_det_generators`
|
||||
* :c:data:`psi_det_generators`
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`build_fock_tmp`
|
||||
* :c:func:`copy_h_apply_buffer_to_wf`
|
||||
* :c:func:`dsort`
|
||||
* :c:func:`h_apply_cisd_sym_diexc`
|
||||
* :c:func:`h_apply_cisd_sym_monoexc`
|
||||
* :c:func:`make_s2_eigenfunction`
|
||||
* :c:func:`wall_time`
|
||||
|
||||
Touches:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`n_det`
|
||||
* :c:data:`psi_occ_pattern`
|
||||
* :c:data:`c0_weight`
|
||||
* :c:data:`psi_coef`
|
||||
* :c:data:`psi_det_sorted_bit`
|
||||
* :c:data:`psi_det`
|
||||
* :c:data:`psi_det_size`
|
||||
* :c:data:`psi_det_sorted_bit`
|
||||
* :c:data:`psi_occ_pattern`
|
||||
|
||||
|
||||
.. c:function:: h_apply_cisd_sym_diexc:
|
||||
|
||||
|
||||
File : :file:`h_apply.irp.f_shell_12`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
subroutine H_apply_cisd_sym_diexc(key_in, key_prev, hole_1,particl_1, hole_2, particl_2, fock_diag_tmp, i_generator, iproc_in )
|
||||
|
||||
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`n_int`
|
||||
* :c:data:`n_det`
|
||||
* :c:data:`mo_num`
|
||||
|
||||
Called by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`h_apply_cisd_sym`
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`h_apply_cisd_sym_diexcp`
|
||||
|
||||
|
||||
.. c:function:: h_apply_cisd_sym_diexcorg:
|
||||
|
||||
|
||||
File : :file:`h_apply.irp.f_shell_12`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
subroutine H_apply_cisd_sym_diexcOrg(key_in,key_mask,hole_1,particl_1,hole_2, particl_2, fock_diag_tmp, i_generator, iproc_in )
|
||||
|
||||
|
||||
Generate all double excitations of key_in using the bit masks of holes and
|
||||
particles.
|
||||
Assume N_int is already provided.
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`n_int`
|
||||
* :c:data:`elec_alpha_num`
|
||||
* :c:data:`mo_num`
|
||||
|
||||
Called by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`h_apply_cisd_sym_diexcp`
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`bitstring_to_list_ab`
|
||||
* :c:func:`connected_to_hf`
|
||||
* :c:func:`fill_h_apply_buffer_no_selection`
|
||||
|
||||
|
||||
.. c:function:: h_apply_cisd_sym_diexcp:
|
||||
|
||||
|
||||
File : :file:`h_apply.irp.f_shell_12`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
subroutine H_apply_cisd_sym_diexcP(key_in, fs1, fh1, particl_1, fs2, fh2, particl_2, fock_diag_tmp, i_generator, iproc_in )
|
||||
|
||||
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`n_int`
|
||||
* :c:data:`n_det`
|
||||
* :c:data:`mo_num`
|
||||
|
||||
Called by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`h_apply_cisd_sym_diexc`
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`h_apply_cisd_sym_diexcorg`
|
||||
|
||||
|
||||
.. c:function:: h_apply_cisd_sym_monoexc:
|
||||
|
||||
|
||||
File : :file:`h_apply.irp.f_shell_12`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
subroutine H_apply_cisd_sym_monoexc(key_in, hole_1,particl_1,fock_diag_tmp,i_generator,iproc_in )
|
||||
|
||||
|
||||
Generate all single excitations of key_in using the bit masks of holes and
|
||||
particles.
|
||||
Assume N_int is already provided.
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`n_int`
|
||||
* :c:data:`elec_alpha_num`
|
||||
* :c:data:`mo_num`
|
||||
|
||||
Called by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`h_apply_cisd_sym`
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`bitstring_to_list_ab`
|
||||
* :c:func:`connected_to_hf`
|
||||
* :c:func:`fill_h_apply_buffer_no_selection`
|
||||
|
||||
|
@ -44,6 +44,12 @@ EZFIO parameters
|
||||
|
||||
Default: full_density
|
||||
|
||||
.. option:: normalize_dm
|
||||
|
||||
if .True., then you normalize the no_core_dm to elec_alpha_num - n_core_orb and elec_beta_num - n_core_orb
|
||||
|
||||
Default: True
|
||||
|
||||
|
||||
Providers
|
||||
---------
|
||||
@ -131,6 +137,9 @@ Providers
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`data_one_e_dm_alpha_ao`
|
||||
* :c:data:`data_one_e_dm_beta_ao`
|
||||
* :c:data:`density_for_dft`
|
||||
* :c:data:`mo_coef`
|
||||
* :c:data:`mo_num`
|
||||
* :c:data:`n_states`
|
||||
@ -147,6 +156,39 @@ Providers
|
||||
* :c:data:`one_e_dm_and_grad_alpha_in_r`
|
||||
|
||||
|
||||
.. c:var:: one_e_dm_alpha_ao_for_dft_no_core
|
||||
|
||||
|
||||
File : :file:`density_for_dft/density_for_dft.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: one_e_dm_alpha_ao_for_dft_no_core (ao_num,ao_num,N_states)
|
||||
double precision, allocatable :: one_e_dm_beta_ao_for_dft_no_core (ao_num,ao_num,N_states)
|
||||
|
||||
|
||||
one body density matrix on the AO basis based on one_e_dm_mo_alpha_for_dft_no_core
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`mo_coef`
|
||||
* :c:data:`mo_num`
|
||||
* :c:data:`n_states`
|
||||
* :c:data:`one_e_dm_mo_alpha_for_dft_no_core`
|
||||
* :c:data:`one_e_dm_mo_beta_for_dft_no_core`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`one_e_dm_no_core_and_grad_alpha_in_r`
|
||||
|
||||
|
||||
.. c:var:: one_e_dm_average_mo_for_dft
|
||||
|
||||
|
||||
@ -195,6 +237,9 @@ Providers
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`data_one_e_dm_alpha_ao`
|
||||