From 714d53363e13155cc0f284eb0e34b2592b29e39e Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Tue, 28 May 2019 10:23:50 +0200 Subject: [PATCH] Update documentation and qp_set_frozne_core --- bin/qp_plugins | 29 +- bin/qp_set_frozen_core | 94 +++--- docs/source/modules/ao_two_e_ints.rst | 22 +- docs/source/modules/aux_quantities.rst | 10 + docs/source/modules/becke_numerical_grid.rst | 7 + docs/source/modules/bitmask.rst | 127 ++++++- docs/source/modules/cipsi.rst | 40 ++- docs/source/modules/cis.rst | 222 ++++++++++++- docs/source/modules/cisd.rst | 222 ++++++++++++- docs/source/modules/density_for_dft.rst | 150 +++++++++ docs/source/modules/determinants.rst | 48 ++- docs/source/modules/dft_utils_in_r.rst | 233 +++++++++++++ docs/source/modules/dft_utils_one_e.rst | 314 ------------------ docs/source/modules/ezfio_files.rst | 16 + docs/source/modules/hartree_fock.rst | 1 + docs/source/modules/mo_basis.rst | 8 +- docs/source/modules/mpi.rst | 4 + docs/source/modules/nuclei.rst | 4 +- docs/source/modules/scf_utils.rst | 2 +- docs/source/modules/tools.rst | 6 + docs/source/modules/utils.rst | 1 + .../programmers_guide/index_providers.rst | 45 ++- docs/source/programs/fci.rst | 5 + docs/source/programs/save_one_e_dm.rst | 8 +- docs/source/users_guide/qp_plugins.rst | 4 + .../source/users_guide/qp_set_frozen_core.rst | 35 +- man/cis.1 | 2 +- man/cisd.1 | 2 +- man/configure.1 | 2 +- man/diagonalize_h.1 | 2 +- man/excited_states.1 | 2 +- man/fci.1 | 20 +- man/fcidump.1 | 2 +- man/four_idx_transform.1 | 2 +- man/interfaces.1 | 2 +- man/ks_scf.1 | 2 +- man/molden.1 | 2 +- man/natural_orbitals.1 | 2 +- man/plugins.1 | 2 +- man/print_ci_vectors.1 | 87 +++++ man/print_e_conv.1 | 2 +- man/print_wf.1 | 2 +- man/printing.1 | 2 +- man/pt2.1 | 2 +- man/qp_convert_output_to_ezfio.1 | 2 +- man/qp_create_ezfio.1 | 235 +++++++++++++ man/qp_edit.1 | 2 +- man/qp_export_as_tgz.1 | 2 +- man/qp_plugins.1 | 7 +- man/qp_reset.1 | 2 +- man/qp_run.1 | 2 +- man/qp_set_frozen_core.1 | 201 ++++++++++- man/qp_set_mo_class.1 | 2 +- man/qp_stop.1 | 2 +- man/qp_update.1 | 2 +- man/qpsh.1 | 2 +- man/rs_ks_scf.1 | 2 +- man/save_natorb.1 | 2 +- man/save_one_e_dm.1 | 10 +- man/save_ortho_mos.1 | 2 +- man/scf.1 | 2 +- man/write_integrals_erf.1 | 2 +- src/generators_cas/extract_cas.irp.f | 23 ++ 63 files changed, 1834 insertions(+), 466 deletions(-) create mode 100644 man/print_ci_vectors.1 create mode 100644 man/qp_create_ezfio.1 create mode 100644 src/generators_cas/extract_cas.irp.f diff --git a/bin/qp_plugins b/bin/qp_plugins index dc14b8ea..b32f907f 100755 --- a/bin/qp_plugins +++ b/bin/qp_plugins @@ -6,6 +6,7 @@ Usage: qp_plugins download [-n ] qp_plugins install ... qp_plugins uninstall + qp_plugins update [-r ] qp_plugins create -n [-r ] [...] Options: @@ -23,6 +24,8 @@ Options: uninstall Uninstall a plugin + update Update the repository + create -n --name= Create a new plugin named -r --repository= 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[""] = [os.path.normpath(name) for name in arguments[""]] 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) diff --git a/bin/qp_set_frozen_core b/bin/qp_set_frozen_core index 3a7795cd..25b450dd 100755 --- a/bin/qp_set_frozen_core +++ b/bin/qp_set_frozen_core @@ -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 diff --git a/docs/source/modules/ao_two_e_ints.rst b/docs/source/modules/ao_two_e_ints.rst index 3c833a90..64a942f4 100644 --- a/docs/source/modules/ao_two_e_ints.rst +++ b/docs/source/modules/ao_two_e_ints.rst @@ -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 : 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` diff --git a/docs/source/modules/aux_quantities.rst b/docs/source/modules/aux_quantities.rst index e71dc325..c305c1fa 100644 --- a/docs/source/modules/aux_quantities.rst +++ b/docs/source/modules/aux_quantities.rst @@ -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 + diff --git a/docs/source/modules/becke_numerical_grid.rst b/docs/source/modules/becke_numerical_grid.rst index 7868a547..d0ea3351 100644 --- a/docs/source/modules/becke_numerical_grid.rst +++ b/docs/source/modules/becke_numerical_grid.rst @@ -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` diff --git a/docs/source/modules/bitmask.rst b/docs/source/modules/bitmask.rst index 3e7f9077..f07d5dd9 100644 --- a/docs/source/modules/bitmask.rst +++ b/docs/source/modules/bitmask.rst @@ -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` diff --git a/docs/source/modules/cipsi.rst b/docs/source/modules/cipsi.rst index af9f600d..a03b2e3c 100644 --- a/docs/source/modules/cipsi.rst +++ b/docs/source/modules/cipsi.rst @@ -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` diff --git a/docs/source/modules/cis.rst b/docs/source/modules/cis.rst index 7943d7ce..151e3bda 100644 --- a/docs/source/modules/cis.rst +++ b/docs/source/modules/cis.rst @@ -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` + diff --git a/docs/source/modules/cisd.rst b/docs/source/modules/cisd.rst index 7816de30..94c6408f 100644 --- a/docs/source/modules/cisd.rst +++ b/docs/source/modules/cisd.rst @@ -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` + diff --git a/docs/source/modules/density_for_dft.rst b/docs/source/modules/density_for_dft.rst index fb48eb83..bf293eba 100644 --- a/docs/source/modules/density_for_dft.rst +++ b/docs/source/modules/density_for_dft.rst @@ -44,6 +44,12 @@ EZFIO parameters Default: full_density +.. option:: normalize_dm + + if .True., then you normalize the no_core_dm to elec_alpha_num - n_core_orb and elec_beta_num - n_core_orb + + Default: True + Providers --------- @@ -131,6 +137,9 @@ Providers :columns: 3 * :c:data:`ao_num` + * :c:data:`data_one_e_dm_alpha_ao` + * :c:data:`data_one_e_dm_beta_ao` + * :c:data:`density_for_dft` * :c:data:`mo_coef` * :c:data:`mo_num` * :c:data:`n_states` @@ -147,6 +156,39 @@ Providers * :c:data:`one_e_dm_and_grad_alpha_in_r` +.. c:var:: one_e_dm_alpha_ao_for_dft_no_core + + + File : :file:`density_for_dft/density_for_dft.irp.f` + + .. code:: fortran + + double precision, allocatable :: one_e_dm_alpha_ao_for_dft_no_core (ao_num,ao_num,N_states) + double precision, allocatable :: one_e_dm_beta_ao_for_dft_no_core (ao_num,ao_num,N_states) + + + one body density matrix on the AO basis based on one_e_dm_mo_alpha_for_dft_no_core + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`mo_coef` + * :c:data:`mo_num` + * :c:data:`n_states` + * :c:data:`one_e_dm_mo_alpha_for_dft_no_core` + * :c:data:`one_e_dm_mo_beta_for_dft_no_core` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`one_e_dm_no_core_and_grad_alpha_in_r` + + .. c:var:: one_e_dm_average_mo_for_dft @@ -195,6 +237,9 @@ Providers :columns: 3 * :c:data:`ao_num` + * :c:data:`data_one_e_dm_alpha_ao` + * :c:data:`data_one_e_dm_beta_ao` + * :c:data:`density_for_dft` * :c:data:`mo_coef` * :c:data:`mo_num` * :c:data:`n_states` @@ -211,6 +256,39 @@ Providers * :c:data:`one_e_dm_and_grad_alpha_in_r` +.. c:var:: one_e_dm_beta_ao_for_dft_no_core + + + File : :file:`density_for_dft/density_for_dft.irp.f` + + .. code:: fortran + + double precision, allocatable :: one_e_dm_alpha_ao_for_dft_no_core (ao_num,ao_num,N_states) + double precision, allocatable :: one_e_dm_beta_ao_for_dft_no_core (ao_num,ao_num,N_states) + + + one body density matrix on the AO basis based on one_e_dm_mo_alpha_for_dft_no_core + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`mo_coef` + * :c:data:`mo_num` + * :c:data:`n_states` + * :c:data:`one_e_dm_mo_alpha_for_dft_no_core` + * :c:data:`one_e_dm_mo_beta_for_dft_no_core` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`one_e_dm_no_core_and_grad_alpha_in_r` + + .. c:var:: one_e_dm_mo_alpha_for_dft @@ -228,14 +306,18 @@ Providers .. hlist:: :columns: 3 + * :c:data:`ao_num` * :c:data:`damping_for_rs_dft` * :c:data:`data_one_e_dm_alpha_mo` * :c:data:`density_for_dft` + * :c:data:`elec_alpha_num` + * :c:data:`list_inact` * :c:data:`mo_coef` * :c:data:`mo_num` * :c:data:`n_core_orb` * :c:data:`n_states` * :c:data:`no_core_density` + * :c:data:`normalize_dm` * :c:data:`one_body_dm_mo_alpha_one_det` * :c:data:`one_e_dm_mo_alpha` * :c:data:`one_e_dm_mo_alpha_average` @@ -246,12 +328,44 @@ Providers :columns: 3 * :c:data:`one_e_dm_alpha_ao_for_dft` + * :c:data:`one_e_dm_mo_alpha_for_dft_no_core` * :c:data:`one_e_dm_mo_for_dft` * :c:data:`psi_dft_energy_kinetic` * :c:data:`trace_v_xc` * :c:data:`trace_v_xc_new` +.. c:var:: one_e_dm_mo_alpha_for_dft_no_core + + + File : :file:`density_for_dft/density_for_dft.irp.f` + + .. code:: fortran + + double precision, allocatable :: one_e_dm_mo_alpha_for_dft_no_core (mo_num,mo_num,N_states) + + + density matrix for alpha electrons in the MO basis without the core orbitals + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`list_inact` + * :c:data:`mo_num` + * :c:data:`n_core_orb` + * :c:data:`n_states` + * :c:data:`one_e_dm_mo_alpha_for_dft` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`one_e_dm_alpha_ao_for_dft_no_core` + + .. c:var:: one_e_dm_mo_beta_for_dft @@ -269,14 +383,18 @@ Providers .. hlist:: :columns: 3 + * :c:data:`ao_num` * :c:data:`damping_for_rs_dft` * :c:data:`data_one_e_dm_beta_mo` * :c:data:`density_for_dft` + * :c:data:`elec_beta_num` + * :c:data:`list_inact` * :c:data:`mo_coef` * :c:data:`mo_num` * :c:data:`n_core_orb` * :c:data:`n_states` * :c:data:`no_core_density` + * :c:data:`normalize_dm` * :c:data:`one_body_dm_mo_alpha_one_det` * :c:data:`one_e_dm_mo_alpha` * :c:data:`one_e_dm_mo_alpha_average` @@ -287,12 +405,44 @@ Providers :columns: 3 * :c:data:`one_e_dm_alpha_ao_for_dft` + * :c:data:`one_e_dm_mo_beta_for_dft_no_core` * :c:data:`one_e_dm_mo_for_dft` * :c:data:`psi_dft_energy_kinetic` * :c:data:`trace_v_xc` * :c:data:`trace_v_xc_new` +.. c:var:: one_e_dm_mo_beta_for_dft_no_core + + + File : :file:`density_for_dft/density_for_dft.irp.f` + + .. code:: fortran + + double precision, allocatable :: one_e_dm_mo_beta_for_dft_no_core (mo_num,mo_num,N_states) + + + density matrix for beta electrons in the MO basis without the core orbitals + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`list_inact` + * :c:data:`mo_num` + * :c:data:`n_core_orb` + * :c:data:`n_states` + * :c:data:`one_e_dm_mo_beta_for_dft` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`one_e_dm_alpha_ao_for_dft_no_core` + + .. c:var:: one_e_dm_mo_for_dft diff --git a/docs/source/modules/determinants.rst b/docs/source/modules/determinants.rst index 0f2b7348..9b0fab33 100644 --- a/docs/source/modules/determinants.rst +++ b/docs/source/modules/determinants.rst @@ -71,7 +71,7 @@ EZFIO parameters Thresholds on generators (fraction of the square of the norm) - Default: 0.99 + Default: 0.999 .. option:: n_int @@ -119,6 +119,18 @@ EZFIO parameters Weight of the states in state-average calculations. +.. option:: thresh_sym + + Thresholds to check if a determinant is connected with HF + + Default: 1.e-15 + +.. option:: pseudo_sym + + If |true|, discard any Slater determinants with an interaction smaller than thresh_sym with HF. + + Default: False + Providers --------- @@ -3971,6 +3983,37 @@ Subroutines / functions * :c:func:`debug_det` +.. c:function:: connected_to_hf: + + + File : :file:`determinants/slater_rules.irp.f` + + .. code:: fortran + + subroutine connected_to_hf(key_i,yes_no) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`thresh_sym` + * :c:data:`ref_bitmask` + * :c:data:`mo_one_e_integrals` + * :c:data:`n_int` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`get_excitation_degree` + * :c:func:`get_single_excitation` + * :c:func:`i_h_j` + + .. c:function:: connected_to_ref: @@ -5367,6 +5410,7 @@ Subroutines / functions .. hlist:: :columns: 3 + * :c:func:`connected_to_hf` * :c:data:`degree_max_generators` * :c:func:`diag_h_mat_elem_fock` * :c:func:`example_determinants` @@ -5699,6 +5743,7 @@ Subroutines / functions .. hlist:: :columns: 3 + * :c:func:`connected_to_hf` * :c:func:`diag_h_mat_elem_fock` * :c:func:`get_excitation` * :c:func:`i_h_j` @@ -5866,6 +5911,7 @@ Subroutines / functions :columns: 3 * :c:data:`coef_hf_selector` + * :c:func:`connected_to_hf` * :c:func:`example_determinants` * :c:func:`get_d0` * :c:func:`get_d1` diff --git a/docs/source/modules/dft_utils_in_r.rst b/docs/source/modules/dft_utils_in_r.rst index a5164ee5..0cfa30d6 100644 --- a/docs/source/modules/dft_utils_in_r.rst +++ b/docs/source/modules/dft_utils_in_r.rst @@ -344,6 +344,94 @@ Providers * :c:data:`mos_lapl_in_r_array` +.. c:var:: elec_alpha_num_grid_becke + + + File : :file:`dft_utils_in_r/dm_in_r.irp.f` + + .. code:: fortran + + double precision, allocatable :: one_e_dm_alpha_at_r (n_points_final_grid,N_states) + double precision, allocatable :: one_e_dm_beta_at_r (n_points_final_grid,N_states) + double precision, allocatable :: elec_beta_num_grid_becke (N_states) + double precision, allocatable :: elec_alpha_num_grid_becke (N_states) + + + one_e_dm_alpha_at_r(i,istate) = n_alpha(r_i,istate) + one_e_dm_beta_at_r(i,istate) = n_beta(r_i,istate) + where r_i is the ith point of the grid and istate is the state number + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`final_grid_points` + * :c:data:`n_points_final_grid` + * :c:data:`n_states` + * :c:data:`one_e_dm_alpha_ao_for_dft` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`aos_sr_vc_alpha_lda_w` + * :c:data:`aos_sr_vxc_alpha_lda_w` + * :c:data:`aos_vc_alpha_lda_w` + * :c:data:`aos_vxc_alpha_lda_w` + * :c:data:`energy_c_lda` + * :c:data:`energy_c_sr_lda` + * :c:data:`energy_sr_x_lda` + * :c:data:`energy_x_lda` + * :c:data:`energy_x_sr_lda` + + +.. c:var:: elec_beta_num_grid_becke + + + File : :file:`dft_utils_in_r/dm_in_r.irp.f` + + .. code:: fortran + + double precision, allocatable :: one_e_dm_alpha_at_r (n_points_final_grid,N_states) + double precision, allocatable :: one_e_dm_beta_at_r (n_points_final_grid,N_states) + double precision, allocatable :: elec_beta_num_grid_becke (N_states) + double precision, allocatable :: elec_alpha_num_grid_becke (N_states) + + + one_e_dm_alpha_at_r(i,istate) = n_alpha(r_i,istate) + one_e_dm_beta_at_r(i,istate) = n_beta(r_i,istate) + where r_i is the ith point of the grid and istate is the state number + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`final_grid_points` + * :c:data:`n_points_final_grid` + * :c:data:`n_states` + * :c:data:`one_e_dm_alpha_ao_for_dft` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`aos_sr_vc_alpha_lda_w` + * :c:data:`aos_sr_vxc_alpha_lda_w` + * :c:data:`aos_vc_alpha_lda_w` + * :c:data:`aos_vxc_alpha_lda_w` + * :c:data:`energy_c_lda` + * :c:data:`energy_c_sr_lda` + * :c:data:`energy_sr_x_lda` + * :c:data:`energy_x_lda` + * :c:data:`energy_x_sr_lda` + + .. c:var:: mos_grad_in_r_array @@ -467,6 +555,8 @@ Providers double precision, allocatable :: one_e_dm_alpha_at_r (n_points_final_grid,N_states) double precision, allocatable :: one_e_dm_beta_at_r (n_points_final_grid,N_states) + double precision, allocatable :: elec_beta_num_grid_becke (N_states) + double precision, allocatable :: elec_alpha_num_grid_becke (N_states) one_e_dm_alpha_at_r(i,istate) = n_alpha(r_i,istate) @@ -628,6 +718,8 @@ Providers double precision, allocatable :: one_e_dm_alpha_at_r (n_points_final_grid,N_states) double precision, allocatable :: one_e_dm_beta_at_r (n_points_final_grid,N_states) + double precision, allocatable :: elec_beta_num_grid_becke (N_states) + double precision, allocatable :: elec_alpha_num_grid_becke (N_states) one_e_dm_alpha_at_r(i,istate) = n_alpha(r_i,istate) @@ -688,6 +780,66 @@ Providers +.. c:var:: one_e_dm_no_core_and_grad_alpha_in_r + + + File : :file:`dft_utils_in_r/dm_in_r.irp.f` + + .. code:: fortran + + double precision, allocatable :: one_e_dm_no_core_and_grad_alpha_in_r (4,n_points_final_grid,N_states) + double precision, allocatable :: one_e_dm_no_core_and_grad_beta_in_r (4,n_points_final_grid,N_states) + + + one_e_dm_no_core_and_grad_alpha_in_r(1,i,i_state) = d\dx n_alpha(r_i,istate) without core orbitals + one_e_dm_no_core_and_grad_alpha_in_r(2,i,i_state) = d\dy n_alpha(r_i,istate) without core orbitals + one_e_dm_no_core_and_grad_alpha_in_r(3,i,i_state) = d\dz n_alpha(r_i,istate) without core orbitals + one_e_dm_no_core_and_grad_alpha_in_r(4,i,i_state) = n_alpha(r_i,istate) without core orbitals + where r_i is the ith point of the grid and istate is the state number + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`final_grid_points` + * :c:data:`n_points_final_grid` + * :c:data:`n_states` + * :c:data:`one_e_dm_alpha_ao_for_dft_no_core` + + + +.. c:var:: one_e_dm_no_core_and_grad_beta_in_r + + + File : :file:`dft_utils_in_r/dm_in_r.irp.f` + + .. code:: fortran + + double precision, allocatable :: one_e_dm_no_core_and_grad_alpha_in_r (4,n_points_final_grid,N_states) + double precision, allocatable :: one_e_dm_no_core_and_grad_beta_in_r (4,n_points_final_grid,N_states) + + + one_e_dm_no_core_and_grad_alpha_in_r(1,i,i_state) = d\dx n_alpha(r_i,istate) without core orbitals + one_e_dm_no_core_and_grad_alpha_in_r(2,i,i_state) = d\dy n_alpha(r_i,istate) without core orbitals + one_e_dm_no_core_and_grad_alpha_in_r(3,i,i_state) = d\dz n_alpha(r_i,istate) without core orbitals + one_e_dm_no_core_and_grad_alpha_in_r(4,i,i_state) = n_alpha(r_i,istate) without core orbitals + where r_i is the ith point of the grid and istate is the state number + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`final_grid_points` + * :c:data:`n_points_final_grid` + * :c:data:`n_states` + * :c:data:`one_e_dm_alpha_ao_for_dft_no_core` + + + .. c:var:: one_e_grad_2_dm_alpha_at_r @@ -784,6 +936,55 @@ Providers Subroutines / functions ----------------------- +.. c:function:: dens_grad_a_b_no_core_and_aos_grad_aos_at_r: + + + File : :file:`dft_utils_in_r/dm_in_r.irp.f` + + .. code:: fortran + + subroutine dens_grad_a_b_no_core_and_aos_grad_aos_at_r(r,dm_a,dm_b, grad_dm_a, grad_dm_b, aos_array, grad_aos_array) + + + input: + + * r(1) ==> r(1) = x, r(2) = y, r(3) = z + + output: + + * dm_a = alpha density evaluated at r without the core orbitals + * dm_b = beta density evaluated at r without the core orbitals + * aos_array(i) = ao(i) evaluated at r without the core orbitals + * grad_dm_a(1) = X gradient of the alpha density evaluated in r without the core orbitals + * grad_dm_a(1) = X gradient of the beta density evaluated in r without the core orbitals + * grad_aos_array(1) = X gradient of the aos(i) evaluated at r + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`one_e_dm_alpha_ao_for_dft_no_core` + * :c:data:`n_states` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:data:`one_e_dm_no_core_and_grad_alpha_in_r` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`dsymv` + * :c:func:`give_all_aos_and_grad_at_r` + + .. c:function:: density_and_grad_alpha_beta_and_all_aos_and_grad_aos_at_r: @@ -905,3 +1106,35 @@ Subroutines / functions * :c:func:`dgemv` * :c:func:`give_all_aos_at_r` + +.. c:function:: dm_dft_alpha_beta_no_core_at_r: + + + File : :file:`dft_utils_in_r/dm_in_r.irp.f` + + .. code:: fortran + + subroutine dm_dft_alpha_beta_no_core_at_r(r,dm_a,dm_b) + + + input: r(1) ==> r(1) = x, r(2) = y, r(3) = z + output : dm_a = alpha density evaluated at r(3) without the core orbitals + output : dm_b = beta density evaluated at r(3) without the core orbitals + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`one_e_dm_alpha_ao_for_dft_no_core` + * :c:data:`n_states` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`dgemv` + * :c:func:`give_all_aos_at_r` + diff --git a/docs/source/modules/dft_utils_one_e.rst b/docs/source/modules/dft_utils_one_e.rst index 1e78a3f4..05a75570 100644 --- a/docs/source/modules/dft_utils_one_e.rst +++ b/docs/source/modules/dft_utils_one_e.rst @@ -387,320 +387,6 @@ Providers * :c:data:`energy_x_sr_pbe` -.. c:var:: potential_sr_c_alpha_ao_lda - - - File : :file:`dft_utils_one_e/sr_pot_ao_lda.irp.f` - - .. code:: fortran - - double precision, allocatable :: potential_sr_c_alpha_ao_lda (ao_num,ao_num,N_states) - double precision, allocatable :: potential_sr_c_beta_ao_lda (ao_num,ao_num,N_states) - - - short range correlation alpha/beta potentials with LDA functional on the |AO| basis - - Needs: - - .. hlist:: - :columns: 3 - - * :c:data:`ao_num` - * :c:data:`aos_in_r_array` - * :c:data:`aos_sr_vc_alpha_lda_w` - * :c:data:`n_points_final_grid` - * :c:data:`n_states` - - - -.. c:var:: potential_sr_c_alpha_ao_pbe - - - File : :file:`dft_utils_one_e/sr_pot_ao_pbe.irp.f` - - .. code:: fortran - - double precision, allocatable :: potential_sr_x_alpha_ao_pbe (ao_num,ao_num,N_states) - double precision, allocatable :: potential_sr_x_beta_ao_pbe (ao_num,ao_num,N_states) - double precision, allocatable :: potential_sr_c_alpha_ao_pbe (ao_num,ao_num,N_states) - double precision, allocatable :: potential_sr_c_beta_ao_pbe (ao_num,ao_num,N_states) - - - exchange / correlation potential for alpha / beta electrons with the Perdew-Burke-Ernzerhof GGA functional - - Needs: - - .. hlist:: - :columns: 3 - - * :c:data:`ao_num` - * :c:data:`n_states` - * :c:data:`pot_sr_grad_x_alpha_ao_pbe` - * :c:data:`pot_sr_scal_x_alpha_ao_pbe` - - - -.. c:var:: potential_sr_c_beta_ao_lda - - - File : :file:`dft_utils_one_e/sr_pot_ao_lda.irp.f` - - .. code:: fortran - - double precision, allocatable :: potential_sr_c_alpha_ao_lda (ao_num,ao_num,N_states) - double precision, allocatable :: potential_sr_c_beta_ao_lda (ao_num,ao_num,N_states) - - - short range correlation alpha/beta potentials with LDA functional on the |AO| basis - - Needs: - - .. hlist:: - :columns: 3 - - * :c:data:`ao_num` - * :c:data:`aos_in_r_array` - * :c:data:`aos_sr_vc_alpha_lda_w` - * :c:data:`n_points_final_grid` - * :c:data:`n_states` - - - -.. c:var:: potential_sr_c_beta_ao_pbe - - - File : :file:`dft_utils_one_e/sr_pot_ao_pbe.irp.f` - - .. code:: fortran - - double precision, allocatable :: potential_sr_x_alpha_ao_pbe (ao_num,ao_num,N_states) - double precision, allocatable :: potential_sr_x_beta_ao_pbe (ao_num,ao_num,N_states) - double precision, allocatable :: potential_sr_c_alpha_ao_pbe (ao_num,ao_num,N_states) - double precision, allocatable :: potential_sr_c_beta_ao_pbe (ao_num,ao_num,N_states) - - - exchange / correlation potential for alpha / beta electrons with the Perdew-Burke-Ernzerhof GGA functional - - Needs: - - .. hlist:: - :columns: 3 - - * :c:data:`ao_num` - * :c:data:`n_states` - * :c:data:`pot_sr_grad_x_alpha_ao_pbe` - * :c:data:`pot_sr_scal_x_alpha_ao_pbe` - - - -.. c:var:: potential_sr_x_alpha_ao_lda - - - File : :file:`dft_utils_one_e/sr_pot_ao_lda.irp.f` - - .. code:: fortran - - double precision, allocatable :: potential_sr_x_alpha_ao_lda (ao_num,ao_num,N_states) - double precision, allocatable :: potential_sr_x_beta_ao_lda (ao_num,ao_num,N_states) - - - short range exchange alpha/beta potentials with LDA functional on the |AO| basis - - Needs: - - .. hlist:: - :columns: 3 - - * :c:data:`ao_num` - * :c:data:`aos_in_r_array` - * :c:data:`aos_sr_vc_alpha_lda_w` - * :c:data:`n_points_final_grid` - * :c:data:`n_states` - - - -.. c:var:: potential_sr_x_alpha_ao_pbe - - - File : :file:`dft_utils_one_e/sr_pot_ao_pbe.irp.f` - - .. code:: fortran - - double precision, allocatable :: potential_sr_x_alpha_ao_pbe (ao_num,ao_num,N_states) - double precision, allocatable :: potential_sr_x_beta_ao_pbe (ao_num,ao_num,N_states) - double precision, allocatable :: potential_sr_c_alpha_ao_pbe (ao_num,ao_num,N_states) - double precision, allocatable :: potential_sr_c_beta_ao_pbe (ao_num,ao_num,N_states) - - - exchange / correlation potential for alpha / beta electrons with the Perdew-Burke-Ernzerhof GGA functional - - Needs: - - .. hlist:: - :columns: 3 - - * :c:data:`ao_num` - * :c:data:`n_states` - * :c:data:`pot_sr_grad_x_alpha_ao_pbe` - * :c:data:`pot_sr_scal_x_alpha_ao_pbe` - - - -.. c:var:: potential_sr_x_beta_ao_lda - - - File : :file:`dft_utils_one_e/sr_pot_ao_lda.irp.f` - - .. code:: fortran - - double precision, allocatable :: potential_sr_x_alpha_ao_lda (ao_num,ao_num,N_states) - double precision, allocatable :: potential_sr_x_beta_ao_lda (ao_num,ao_num,N_states) - - - short range exchange alpha/beta potentials with LDA functional on the |AO| basis - - Needs: - - .. hlist:: - :columns: 3 - - * :c:data:`ao_num` - * :c:data:`aos_in_r_array` - * :c:data:`aos_sr_vc_alpha_lda_w` - * :c:data:`n_points_final_grid` - * :c:data:`n_states` - - - -.. c:var:: potential_sr_x_beta_ao_pbe - - - File : :file:`dft_utils_one_e/sr_pot_ao_pbe.irp.f` - - .. code:: fortran - - double precision, allocatable :: potential_sr_x_alpha_ao_pbe (ao_num,ao_num,N_states) - double precision, allocatable :: potential_sr_x_beta_ao_pbe (ao_num,ao_num,N_states) - double precision, allocatable :: potential_sr_c_alpha_ao_pbe (ao_num,ao_num,N_states) - double precision, allocatable :: potential_sr_c_beta_ao_pbe (ao_num,ao_num,N_states) - - - exchange / correlation potential for alpha / beta electrons with the Perdew-Burke-Ernzerhof GGA functional - - Needs: - - .. hlist:: - :columns: 3 - - * :c:data:`ao_num` - * :c:data:`n_states` - * :c:data:`pot_sr_grad_x_alpha_ao_pbe` - * :c:data:`pot_sr_scal_x_alpha_ao_pbe` - - - -.. c:var:: potential_sr_xc_alpha_ao_lda - - - File : :file:`dft_utils_one_e/sr_pot_ao_lda_smashed.irp.f` - - .. code:: fortran - - double precision, allocatable :: potential_sr_xc_alpha_ao_lda (ao_num,ao_num,N_states) - double precision, allocatable :: potential_sr_xc_beta_ao_lda (ao_num,ao_num,N_states) - - - short range exchange/correlation alpha/beta potentials with LDA functional on the AO basis - - Needs: - - .. hlist:: - :columns: 3 - - * :c:data:`ao_num` - * :c:data:`aos_in_r_array` - * :c:data:`aos_sr_vxc_alpha_lda_w` - * :c:data:`n_points_final_grid` - * :c:data:`n_states` - - - -.. c:var:: potential_sr_xc_alpha_ao_pbe - - - File : :file:`dft_utils_one_e/sr_pot_ao_pbe_smashed.irp.f` - - .. code:: fortran - - double precision, allocatable :: potential_sr_xc_alpha_ao_pbe (ao_num,ao_num,N_states) - double precision, allocatable :: potential_sr_xc_beta_ao_pbe (ao_num,ao_num,N_states) - - - exchange / correlation potential for alpha / beta electrons with the Perdew-Burke-Ernzerhof GGA functional - - Needs: - - .. hlist:: - :columns: 3 - - * :c:data:`ao_num` - * :c:data:`n_states` - * :c:data:`pot_sr_grad_xc_alpha_ao_pbe` - * :c:data:`pot_sr_scal_xc_alpha_ao_pbe` - - - -.. c:var:: potential_sr_xc_beta_ao_lda - - - File : :file:`dft_utils_one_e/sr_pot_ao_lda_smashed.irp.f` - - .. code:: fortran - - double precision, allocatable :: potential_sr_xc_alpha_ao_lda (ao_num,ao_num,N_states) - double precision, allocatable :: potential_sr_xc_beta_ao_lda (ao_num,ao_num,N_states) - - - short range exchange/correlation alpha/beta potentials with LDA functional on the AO basis - - Needs: - - .. hlist:: - :columns: 3 - - * :c:data:`ao_num` - * :c:data:`aos_in_r_array` - * :c:data:`aos_sr_vxc_alpha_lda_w` - * :c:data:`n_points_final_grid` - * :c:data:`n_states` - - - -.. c:var:: potential_sr_xc_beta_ao_pbe - - - File : :file:`dft_utils_one_e/sr_pot_ao_pbe_smashed.irp.f` - - .. code:: fortran - - double precision, allocatable :: potential_sr_xc_alpha_ao_pbe (ao_num,ao_num,N_states) - double precision, allocatable :: potential_sr_xc_beta_ao_pbe (ao_num,ao_num,N_states) - - - exchange / correlation potential for alpha / beta electrons with the Perdew-Burke-Ernzerhof GGA functional - - Needs: - - .. hlist:: - :columns: 3 - - * :c:data:`ao_num` - * :c:data:`n_states` - * :c:data:`pot_sr_grad_xc_alpha_ao_pbe` - * :c:data:`pot_sr_scal_xc_alpha_ao_pbe` - - - .. c:var:: psi_dft_energy_h_core diff --git a/docs/source/modules/ezfio_files.rst b/docs/source/modules/ezfio_files.rst index f9cb0ade..22329d4f 100644 --- a/docs/source/modules/ezfio_files.rst +++ b/docs/source/modules/ezfio_files.rst @@ -58,7 +58,9 @@ Providers * :c:data:`correlation_energy_ratio_max` * :c:data:`data_energy_proj` * :c:data:`data_energy_var` + * :c:data:`data_one_e_dm_alpha_ao` * :c:data:`data_one_e_dm_alpha_mo` + * :c:data:`data_one_e_dm_beta_ao` * :c:data:`data_one_e_dm_beta_mo` * :c:data:`davidson_sze_max` * :c:data:`disk_access_nuclear_repulsion` @@ -131,6 +133,7 @@ Providers * :c:data:`pseudo_lmax` * :c:data:`pseudo_n_k` * :c:data:`pseudo_n_kl` + * :c:data:`pseudo_sym` * :c:data:`pseudo_v_k` * :c:data:`pseudo_v_kl` * :c:data:`psi_coef` @@ -146,6 +149,7 @@ Providers * :c:data:`state_following` * :c:data:`target_energy` * :c:data:`thresh_scf` + * :c:data:`thresh_sym` * :c:data:`threshold_davidson` * :c:data:`threshold_diis` * :c:data:`threshold_generators` @@ -219,7 +223,9 @@ Providers * :c:data:`correlation_energy_ratio_max` * :c:data:`data_energy_proj` * :c:data:`data_energy_var` + * :c:data:`data_one_e_dm_alpha_ao` * :c:data:`data_one_e_dm_alpha_mo` + * :c:data:`data_one_e_dm_beta_ao` * :c:data:`data_one_e_dm_beta_mo` * :c:data:`davidson_sze_max` * :c:data:`disk_access_nuclear_repulsion` @@ -281,6 +287,7 @@ Providers * :c:data:`pseudo_lmax` * :c:data:`pseudo_n_k` * :c:data:`pseudo_n_kl` + * :c:data:`pseudo_sym` * :c:data:`pseudo_v_k` * :c:data:`pseudo_v_kl` * :c:data:`pt2_iterations` @@ -292,6 +299,7 @@ Providers * :c:data:`state_following` * :c:data:`target_energy` * :c:data:`thresh_scf` + * :c:data:`thresh_sym` * :c:data:`threshold_davidson` * :c:data:`threshold_diis` * :c:data:`threshold_generators` @@ -330,7 +338,9 @@ Providers * :c:data:`correlation_energy_ratio_max` * :c:data:`data_energy_proj` * :c:data:`data_energy_var` + * :c:data:`data_one_e_dm_alpha_ao` * :c:data:`data_one_e_dm_alpha_mo` + * :c:data:`data_one_e_dm_beta_ao` * :c:data:`data_one_e_dm_beta_mo` * :c:data:`davidson_sze_max` * :c:data:`disk_access_nuclear_repulsion` @@ -392,6 +402,7 @@ Providers * :c:data:`pseudo_lmax` * :c:data:`pseudo_n_k` * :c:data:`pseudo_n_kl` + * :c:data:`pseudo_sym` * :c:data:`pseudo_v_k` * :c:data:`pseudo_v_kl` * :c:data:`pt2_iterations` @@ -403,6 +414,7 @@ Providers * :c:data:`state_following` * :c:data:`target_energy` * :c:data:`thresh_scf` + * :c:data:`thresh_sym` * :c:data:`threshold_davidson` * :c:data:`threshold_diis` * :c:data:`threshold_generators` @@ -673,7 +685,9 @@ Subroutines / functions * :c:func:`damping_scf` * :c:data:`data_energy_proj` * :c:data:`data_energy_var` + * :c:data:`data_one_e_dm_alpha_ao` * :c:data:`data_one_e_dm_alpha_mo` + * :c:data:`data_one_e_dm_beta_ao` * :c:data:`data_one_e_dm_beta_mo` * :c:func:`davidson_diag_hjj_sjj` * :c:data:`davidson_sze_max` @@ -740,6 +754,7 @@ Subroutines / functions * :c:data:`pseudo_lmax` * :c:data:`pseudo_n_k` * :c:data:`pseudo_n_kl` + * :c:data:`pseudo_sym` * :c:data:`pseudo_v_k` * :c:data:`pseudo_v_kl` * :c:data:`pt2_iterations` @@ -752,6 +767,7 @@ Subroutines / functions * :c:data:`state_following` * :c:data:`target_energy` * :c:data:`thresh_scf` + * :c:data:`thresh_sym` * :c:data:`threshold_davidson` * :c:data:`threshold_diis` * :c:data:`threshold_generators` diff --git a/docs/source/modules/hartree_fock.rst b/docs/source/modules/hartree_fock.rst index 90857d0b..415c8973 100644 --- a/docs/source/modules/hartree_fock.rst +++ b/docs/source/modules/hartree_fock.rst @@ -51,6 +51,7 @@ Programs -------- * :ref:`scf` + * :ref:`test` Providers --------- diff --git a/docs/source/modules/mo_basis.rst b/docs/source/modules/mo_basis.rst index aae2e481..1c6e3c66 100644 --- a/docs/source/modules/mo_basis.rst +++ b/docs/source/modules/mo_basis.rst @@ -80,9 +80,9 @@ Providers Molecular orbital coefficients on |AO| basis set - mo_coef(i,j) = coefficient of the i-th |AO| on the jth mo + mo_coef(i,j) = coefficient of the i-th |AO| on the jth |MO| - mo_label : Label characterizing the MOS (local, canonical, natural, etc) + mo_label : Label characterizing the |MOs| (local, canonical, natural, etc) Needs: @@ -286,7 +286,6 @@ Providers * :c:data:`fps_spf_matrix_mo` * :c:data:`full_ijkl_bitmask` * :c:data:`int_erf_3_index` - * :c:data:`list_core_inact_act` * :c:data:`list_inact` * :c:data:`mo_class` * :c:data:`mo_coef` @@ -762,8 +761,11 @@ Subroutines / functions * :c:func:`hcore_guess` * :c:func:`huckel_guess` * :c:func:`roothaan_hall_scf` + * :c:func:`rotate_mos` * :c:func:`save_natural_mos` * :c:func:`save_ortho_mos` + * :c:func:`sort_by_fock_energies` + * :c:func:`swap_mos` Calls: diff --git a/docs/source/modules/mpi.rst b/docs/source/modules/mpi.rst index 5dde771a..3711b26c 100644 --- a/docs/source/modules/mpi.rst +++ b/docs/source/modules/mpi.rst @@ -74,7 +74,9 @@ Providers * :c:data:`correlation_energy_ratio_max` * :c:data:`data_energy_proj` * :c:data:`data_energy_var` + * :c:data:`data_one_e_dm_alpha_ao` * :c:data:`data_one_e_dm_alpha_mo` + * :c:data:`data_one_e_dm_beta_ao` * :c:data:`data_one_e_dm_beta_mo` * :c:data:`davidson_sze_max` * :c:data:`disk_access_nuclear_repulsion` @@ -152,6 +154,7 @@ Providers * :c:data:`pseudo_lmax` * :c:data:`pseudo_n_k` * :c:data:`pseudo_n_kl` + * :c:data:`pseudo_sym` * :c:data:`pseudo_v_k` * :c:data:`pseudo_v_kl` * :c:data:`psi_cas` @@ -174,6 +177,7 @@ Providers * :c:data:`state_following` * :c:data:`target_energy` * :c:data:`thresh_scf` + * :c:data:`thresh_sym` * :c:data:`threshold_davidson` * :c:data:`threshold_diis` * :c:data:`threshold_generators` diff --git a/docs/source/modules/nuclei.rst b/docs/source/modules/nuclei.rst index 0bd4b325..04ff1f5b 100644 --- a/docs/source/modules/nuclei.rst +++ b/docs/source/modules/nuclei.rst @@ -526,7 +526,7 @@ Providers .. code:: fortran - double precision, allocatable :: slater_bragg_radii (100) + double precision, allocatable :: slater_bragg_radii (0:100) atomic radii in Angstrom defined in table I of JCP 41, 3199 (1964) Slater @@ -604,7 +604,7 @@ Providers .. code:: fortran - double precision, allocatable :: slater_bragg_radii_ua (100) + double precision, allocatable :: slater_bragg_radii_ua (0:100) diff --git a/docs/source/modules/scf_utils.rst b/docs/source/modules/scf_utils.rst index 4bf431b9..d32daf5f 100644 --- a/docs/source/modules/scf_utils.rst +++ b/docs/source/modules/scf_utils.rst @@ -165,7 +165,7 @@ Providers double precision, allocatable :: eigenvectors_fock_matrix_mo (ao_num,mo_num) - Eigenvectors of the Fock matrix in the MO basis obtained with level shift. + Eigenvectors of the Fock matrix in the |MO| basis obtained with level shift. Needs: diff --git a/docs/source/modules/tools.rst b/docs/source/modules/tools.rst index d8e2aa46..2ad351c7 100644 --- a/docs/source/modules/tools.rst +++ b/docs/source/modules/tools.rst @@ -22,9 +22,12 @@ Programs * :ref:`print_ci_vectors` * :ref:`print_e_conv` * :ref:`print_wf` + * :ref:`rotate_mos` * :ref:`save_natorb` * :ref:`save_one_e_dm` * :ref:`save_ortho_mos` + * :ref:`sort_by_fock_energies` + * :ref:`swap_mos` * :ref:`write_integrals_erf` Subroutines / functions @@ -115,6 +118,7 @@ Subroutines / functions .. hlist:: :columns: 3 + * :c:data:`one_e_dm_ao_alpha` * :c:data:`one_e_dm_mo_alpha` Called by: @@ -129,6 +133,8 @@ Subroutines / functions .. hlist:: :columns: 3 + * :c:func:`ezfio_set_aux_quantities_data_one_e_dm_alpha_ao` * :c:func:`ezfio_set_aux_quantities_data_one_e_dm_alpha_mo` + * :c:func:`ezfio_set_aux_quantities_data_one_e_dm_beta_ao` * :c:func:`ezfio_set_aux_quantities_data_one_e_dm_beta_mo` diff --git a/docs/source/modules/utils.rst b/docs/source/modules/utils.rst index f11ee43e..d7d078ca 100644 --- a/docs/source/modules/utils.rst +++ b/docs/source/modules/utils.rst @@ -997,6 +997,7 @@ Subroutines / functions * :c:func:`make_selection_buffer_s2` * :c:data:`psi_det_sorted` * :c:func:`reorder_core_orb` + * :c:func:`sort_by_fock_energies` * :c:func:`sort_selection_buffer` Calls: diff --git a/docs/source/programmers_guide/index_providers.rst b/docs/source/programmers_guide/index_providers.rst index 179d90c4..a491f509 100644 --- a/docs/source/programmers_guide/index_providers.rst +++ b/docs/source/programmers_guide/index_providers.rst @@ -168,7 +168,9 @@ Index of Providers * :c:data:`damping_for_rs_dft` * :c:data:`data_energy_proj` * :c:data:`data_energy_var` + * :c:data:`data_one_e_dm_alpha_ao` * :c:data:`data_one_e_dm_alpha_mo` + * :c:data:`data_one_e_dm_beta_ao` * :c:data:`data_one_e_dm_beta_mo` * :c:data:`davidson_criterion` * :c:data:`davidson_sze_max` @@ -214,7 +216,9 @@ Index of Providers * :c:data:`eigenvectors_fock_matrix_ao` * :c:data:`eigenvectors_fock_matrix_mo` * :c:data:`elec_alpha_num` + * :c:data:`elec_alpha_num_grid_becke` * :c:data:`elec_beta_num` + * :c:data:`elec_beta_num_grid_becke` * :c:data:`elec_num` * :c:data:`elec_num_tab` * :c:data:`element_mass` @@ -351,6 +355,7 @@ Index of Providers * :c:data:`list_del` * :c:data:`list_del_reverse` * :c:data:`list_inact` + * :c:data:`list_inact_act` * :c:data:`list_inact_reverse` * :c:data:`list_virt` * :c:data:`list_virt_reverse` @@ -441,6 +446,7 @@ Index of Providers * :c:data:`n_double_selectors` * :c:data:`n_generators_bitmask` * :c:data:`n_generators_bitmask_restart` + * :c:data:`n_inact_act_orb` * :c:data:`n_inact_orb` * :c:data:`n_inact_orb_allocate` * :c:data:`n_int` @@ -463,6 +469,7 @@ Index of Providers * :c:data:`no_ivvv_integrals` * :c:data:`no_vvv_integrals` * :c:data:`no_vvvv_integrals` + * :c:data:`normalize_dm` * :c:data:`nproc` * :c:data:`nthreads_davidson` * :c:data:`nthreads_pt2` @@ -487,6 +494,7 @@ Index of Providers * :c:data:`one_body_dm_mo_alpha_one_det` * :c:data:`one_body_dm_mo_beta_one_det` * :c:data:`one_e_dm_alpha_ao_for_dft` + * :c:data:`one_e_dm_alpha_ao_for_dft_no_core` * :c:data:`one_e_dm_alpha_at_r` * :c:data:`one_e_dm_alpha_in_r` * :c:data:`one_e_dm_and_grad_alpha_in_r` @@ -495,6 +503,7 @@ Index of Providers * :c:data:`one_e_dm_ao_beta` * :c:data:`one_e_dm_average_mo_for_dft` * :c:data:`one_e_dm_beta_ao_for_dft` + * :c:data:`one_e_dm_beta_ao_for_dft_no_core` * :c:data:`one_e_dm_beta_at_r` * :c:data:`one_e_dm_beta_in_r` * :c:data:`one_e_dm_dagger_mo_spin_index` @@ -502,12 +511,16 @@ Index of Providers * :c:data:`one_e_dm_mo_alpha` * :c:data:`one_e_dm_mo_alpha_average` * :c:data:`one_e_dm_mo_alpha_for_dft` + * :c:data:`one_e_dm_mo_alpha_for_dft_no_core` * :c:data:`one_e_dm_mo_beta` * :c:data:`one_e_dm_mo_beta_average` * :c:data:`one_e_dm_mo_beta_for_dft` + * :c:data:`one_e_dm_mo_beta_for_dft_no_core` * :c:data:`one_e_dm_mo_diff` * :c:data:`one_e_dm_mo_for_dft` * :c:data:`one_e_dm_mo_spin_index` + * :c:data:`one_e_dm_no_core_and_grad_alpha_in_r` + * :c:data:`one_e_dm_no_core_and_grad_beta_in_r` * :c:data:`one_e_energy` * :c:data:`one_e_grad_2_dm_alpha_at_r` * :c:data:`one_e_grad_2_dm_beta_at_r` @@ -556,18 +569,6 @@ Index of Providers * :c:data:`potential_c_beta_ao_sr_lda` * :c:data:`potential_c_beta_ao_sr_pbe` * :c:data:`potential_c_beta_mo` - * :c:data:`potential_sr_c_alpha_ao_lda` - * :c:data:`potential_sr_c_alpha_ao_pbe` - * :c:data:`potential_sr_c_beta_ao_lda` - * :c:data:`potential_sr_c_beta_ao_pbe` - * :c:data:`potential_sr_x_alpha_ao_lda` - * :c:data:`potential_sr_x_alpha_ao_pbe` - * :c:data:`potential_sr_x_beta_ao_lda` - * :c:data:`potential_sr_x_beta_ao_pbe` - * :c:data:`potential_sr_xc_alpha_ao_lda` - * :c:data:`potential_sr_xc_alpha_ao_pbe` - * :c:data:`potential_sr_xc_beta_ao_lda` - * :c:data:`potential_sr_xc_beta_ao_pbe` * :c:data:`potential_x_alpha_ao` * :c:data:`potential_x_alpha_ao_lda` * :c:data:`potential_x_alpha_ao_none` @@ -609,6 +610,7 @@ Index of Providers * :c:data:`pseudo_n_k_transp` * :c:data:`pseudo_n_kl` * :c:data:`pseudo_n_kl_transp` + * :c:data:`pseudo_sym` * :c:data:`pseudo_v_k` * :c:data:`pseudo_v_k_transp` * :c:data:`pseudo_v_kl` @@ -679,6 +681,7 @@ Index of Providers * :c:data:`pt2_f` * :c:data:`pt2_iterations` * :c:data:`pt2_j` + * :c:data:`pt2_match_weight` * :c:data:`pt2_max` * :c:data:`pt2_mindetinfirstteeth` * :c:data:`pt2_n_0` @@ -773,6 +776,7 @@ Index of Providers * :c:data:`target_energy` * :c:data:`theta_angular_integration_lebedev` * :c:data:`thresh_scf` + * :c:data:`thresh_sym` * :c:data:`threshold_davidson` * :c:data:`threshold_diis` * :c:data:`threshold_diis_nonzero` @@ -891,6 +895,7 @@ Index of Subroutines/Functions * :c:func:`compute_ao_two_e_integrals` * :c:func:`compute_ao_two_e_integrals_erf` * :c:func:`connect_to_taskserver` + * :c:func:`connected_to_hf` * :c:func:`connected_to_ref` * :c:func:`connected_to_ref_by_single` * :c:func:`copy_h_apply_buffer_to_wf` @@ -925,6 +930,7 @@ Index of Subroutines/Functions * :c:func:`decode_exc` * :c:func:`decode_exc_spin` * :c:func:`delete_selection_buffer` + * :c:func:`dens_grad_a_b_no_core_and_aos_grad_aos_at_r` * :c:func:`density_and_grad_alpha_beta_and_all_aos_and_grad_aos_at_r` * :c:func:`derivative_knowles_function` * :c:func:`det_inf` @@ -942,6 +948,7 @@ Index of Subroutines/Functions * :c:func:`disconnect_from_taskserver_state` * :c:func:`dm_dft_alpha_beta_and_all_aos_at_r` * :c:func:`dm_dft_alpha_beta_at_r` + * :c:func:`dm_dft_alpha_beta_no_core_at_r` * :c:func:`do_single_excitation` * :c:func:`dpol` * :c:func:`dpold` @@ -1093,11 +1100,21 @@ Index of Subroutines/Functions * :c:func:`h_apply_cis_diexcorg` * :c:func:`h_apply_cis_diexcp` * :c:func:`h_apply_cis_monoexc` + * :c:func:`h_apply_cis_sym` + * :c:func:`h_apply_cis_sym_diexc` + * :c:func:`h_apply_cis_sym_diexcorg` + * :c:func:`h_apply_cis_sym_diexcp` + * :c:func:`h_apply_cis_sym_monoexc` * :c:func:`h_apply_cisd` * :c:func:`h_apply_cisd_diexc` * :c:func:`h_apply_cisd_diexcorg` * :c:func:`h_apply_cisd_diexcp` * :c:func:`h_apply_cisd_monoexc` + * :c:func:`h_apply_cisd_sym` + * :c:func:`h_apply_cisd_sym_diexc` + * :c:func:`h_apply_cisd_sym_diexcorg` + * :c:func:`h_apply_cisd_sym_diexcp` + * :c:func:`h_apply_cisd_sym_monoexc` * :c:func:`h_s2_u_0_nstates_openmp` * :c:func:`h_s2_u_0_nstates_openmp_work` * :c:func:`h_s2_u_0_nstates_openmp_work_1` @@ -1321,6 +1338,7 @@ Index of Subroutines/Functions * :c:func:`rinteg` * :c:func:`rintgauss` * :c:func:`roothaan_hall_scf` + * :c:func:`rotate_mos` * :c:func:`routine` * :c:func:`routine_e_conv` * :c:func:`routine_example_psi_det` @@ -1369,6 +1387,7 @@ Index of Subroutines/Functions * :c:func:`set_order_big` * :c:func:`single_excitation_wee` * :c:func:`sort` + * :c:func:`sort_by_fock_energies` * :c:func:`sort_dets_ab` * :c:func:`sort_dets_ab_v` * :c:func:`sort_dets_ba_v` @@ -1384,10 +1403,12 @@ Index of Subroutines/Functions * :c:func:`spot_isinwf` * :c:func:`step_function_becke` * :c:func:`svd` + * :c:func:`swap_mos` * :c:func:`switch_qp_run_to_master` * :c:func:`tamiser` * :c:func:`task_done_to_taskserver` * :c:func:`tasks_done_to_taskserver` + * :c:func:`test` * :c:func:`testteethbuilding` * :c:func:`total_memory` * :c:func:`two_e_integrals_index` diff --git a/docs/source/programs/fci.rst b/docs/source/programs/fci.rst index c5717b1a..e037c974 100644 --- a/docs/source/programs/fci.rst +++ b/docs/source/programs/fci.rst @@ -60,6 +60,7 @@ fci :columns: 3 * :c:func:`run_cipsi` + * :c:func:`run_slave_cipsi` * :c:func:`run_stochastic_cipsi` Touches: @@ -75,6 +76,7 @@ fci * :c:data:`n_iter` * :c:data:`psi_occ_pattern` * :c:data:`c0_weight` + * :c:data:`distributed_davidson` * :c:data:`psi_coef` * :c:data:`psi_det_sorted_bit` * :c:data:`psi_det` @@ -83,6 +85,9 @@ fci * :c:data:`psi_energy` * :c:data:`psi_occ_pattern` * :c:data:`psi_energy` + * :c:data:`pt2_e0_denominator` + * :c:data:`pt2_match_weight` * :c:data:`pt2_stoch_istate` + * :c:data:`read_wf` * :c:data:`state_average_weight` * :c:data:`threshold_generators` diff --git a/docs/source/programs/save_one_e_dm.rst b/docs/source/programs/save_one_e_dm.rst index 5758aad6..a47a0af8 100644 --- a/docs/source/programs/save_one_e_dm.rst +++ b/docs/source/programs/save_one_e_dm.rst @@ -9,15 +9,15 @@ save_one_e_dm - Program that computes the one body density on the |MO| basis + Program that computes the one body density on the |MO| and |AO| basis for $\alpha$ and $\beta$ electrons from the wave function stored in the |EZFIO| directory, and then saves it into the :ref:`module_aux_quantities`. Then, the global variable :option:`aux_quantities data_one_e_dm_alpha_mo` - and :option:`aux_quantities data_one_e_dm_beta_mo` will automatically - read this density in the next calculation. This can be used to perform - damping on the density in |RSDFT| calculations (see + and :option:`aux_quantities data_one_e_dm_beta_mo` (and the corresponding for |AO|) + will automatically ! read this density in the next calculation. + This can be used to perform damping on the density in |RSDFT| calculations (see :ref:`module_density_for_dft`). Needs: diff --git a/docs/source/users_guide/qp_plugins.rst b/docs/source/users_guide/qp_plugins.rst index 18a41ba8..bea6fd9f 100644 --- a/docs/source/users_guide/qp_plugins.rst +++ b/docs/source/users_guide/qp_plugins.rst @@ -53,6 +53,10 @@ Usage Uninstall the plugin ``plugin_name``. +.. option:: update + + Update the repositories of the plugins. Should be followed by a re-compilation. + .. option:: -n, --name= Create a new plugin named ``plugin_name`` (in local repository by default). diff --git a/docs/source/users_guide/qp_set_frozen_core.rst b/docs/source/users_guide/qp_set_frozen_core.rst index 09231c32..d404ff59 100644 --- a/docs/source/users_guide/qp_set_frozen_core.rst +++ b/docs/source/users_guide/qp_set_frozen_core.rst @@ -11,6 +11,29 @@ Automatically finds *n*, the number of core electrons. Calls :math:`n/2` first ones which are set as ``Core``. If pseudo-potentials are used, all the |MOs| are set as ``Active``. + +========== ========= ======= ======= + Range Default Small Large +========== ========= ======= ======= + H -> He 0 0 0 + Li -> Be 0 0 2 + B -> Ne 2 2 2 + Na -> Mg 2 2 10 + Al -> Ar 10 2 10 + K -> Ca 10 10 18 + Sc -> Zn 10 10 18 + Ga -> Kr 18 10 18 + Rb -> Sr 18 18 36 + Y -> Cd 18 18 36 + In -> Xe 36 18 36 + Cs -> Ba 36 36 54 + La -> Hg 36 36 54 + Tl -> Rn 54 36 54 + Fr -> Ra 54 54 86 + Ac -> Cn 54 54 86 + Nh -> Og 86 54 86 +========== ========= ======= ======= + For elements on the right of the periodic table, `qp_set_frozen_core` will work as expected. But for elements on the left, a small core will be chosen. For example, a Carbon atom will have 2 core electrons, but a @@ -21,11 +44,19 @@ Usage .. code:: bash - qp_set_frozen_core [-q] EZFIO_DIR + qp_set_frozen_core [-q|--query] [(-l|-s|--large|--small) EZFIO_DIR -.. option:: -q +.. option:: -q, --query Prints in the standard output the number of core electrons. +.. option:: -s, --small + + Use a small core. + +.. option:: -l, --large + + Use a large core. + diff --git a/man/cis.1 b/man/cis.1 index 5bfa5045..d533b377 100644 --- a/man/cis.1 +++ b/man/cis.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "CIS" "1" "Mar 07, 2019" "2.0" "Quantum Package" +.TH "CIS" "1" "May 28, 2019" "2.0" "Quantum Package" .SH NAME cis \- | Quantum Package > . diff --git a/man/cisd.1 b/man/cisd.1 index e123534f..33d6212e 100644 --- a/man/cisd.1 +++ b/man/cisd.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "CISD" "1" "Mar 07, 2019" "2.0" "Quantum Package" +.TH "CISD" "1" "May 28, 2019" "2.0" "Quantum Package" .SH NAME cisd \- | Quantum Package > . diff --git a/man/configure.1 b/man/configure.1 index 97b74e0d..c3ec2bd8 100644 --- a/man/configure.1 +++ b/man/configure.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "CONFIGURE" "1" "Mar 07, 2019" "2.0" "Quantum Package" +.TH "CONFIGURE" "1" "May 28, 2019" "2.0" "Quantum Package" .SH NAME configure \- | Quantum Package > . diff --git a/man/diagonalize_h.1 b/man/diagonalize_h.1 index ba943f6c..3f4a3a30 100644 --- a/man/diagonalize_h.1 +++ b/man/diagonalize_h.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "DIAGONALIZE_H" "1" "Mar 07, 2019" "2.0" "Quantum Package" +.TH "DIAGONALIZE_H" "1" "May 28, 2019" "2.0" "Quantum Package" .SH NAME diagonalize_h \- | Quantum Package > . diff --git a/man/excited_states.1 b/man/excited_states.1 index f140561f..37d343d2 100644 --- a/man/excited_states.1 +++ b/man/excited_states.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "EXCITED_STATES" "1" "Mar 07, 2019" "2.0" "Quantum Package" +.TH "EXCITED_STATES" "1" "May 28, 2019" "2.0" "Quantum Package" .SH NAME excited_states \- | Quantum Package > . diff --git a/man/fci.1 b/man/fci.1 index 389f6453..5312866e 100644 --- a/man/fci.1 +++ b/man/fci.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "FCI" "1" "Mar 07, 2019" "2.0" "Quantum Package" +.TH "FCI" "1" "May 28, 2019" "2.0" "Quantum Package" .SH NAME fci \- | Quantum Package > . @@ -98,9 +98,11 @@ Calls: .UNINDENT .INDENT 2.0 .IP \(bu 2 -\fBrun_stochastic_cipsi()\fP +\fBrun_slave_cipsi()\fP .UNINDENT .INDENT 2.0 +.IP \(bu 2 +\fBrun_stochastic_cipsi()\fP .UNINDENT .UNINDENT .sp @@ -121,10 +123,12 @@ Touches: \fBn_iter\fP .IP \(bu 2 \fBpsi_occ_pattern\fP +.IP \(bu 2 +\fBc0_weight\fP .UNINDENT .INDENT 2.0 .IP \(bu 2 -\fBc0_weight\fP +\fBdistributed_davidson\fP .IP \(bu 2 \fBpsi_coef\fP .IP \(bu 2 @@ -135,17 +139,23 @@ Touches: \fBpsi_det_size\fP .IP \(bu 2 \fBpsi_det_sorted_bit\fP +.IP \(bu 2 +\fBpsi_energy\fP +.IP \(bu 2 +\fBpsi_occ_pattern\fP .UNINDENT .INDENT 2.0 .IP \(bu 2 \fBpsi_energy\fP .IP \(bu 2 -\fBpsi_occ_pattern\fP +\fBpt2_e0_denominator\fP .IP \(bu 2 -\fBpsi_energy\fP +\fBpt2_match_weight\fP .IP \(bu 2 \fBpt2_stoch_istate\fP .IP \(bu 2 +\fBread_wf\fP +.IP \(bu 2 \fBstate_average_weight\fP .IP \(bu 2 \fBthreshold_generators\fP diff --git a/man/fcidump.1 b/man/fcidump.1 index 93d87ddd..e3ad0d11 100644 --- a/man/fcidump.1 +++ b/man/fcidump.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "FCIDUMP" "1" "Mar 07, 2019" "2.0" "Quantum Package" +.TH "FCIDUMP" "1" "May 28, 2019" "2.0" "Quantum Package" .SH NAME fcidump \- | Quantum Package > . diff --git a/man/four_idx_transform.1 b/man/four_idx_transform.1 index a909c524..9188fe72 100644 --- a/man/four_idx_transform.1 +++ b/man/four_idx_transform.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "FOUR_IDX_TRANSFORM" "1" "Mar 07, 2019" "2.0" "Quantum Package" +.TH "FOUR_IDX_TRANSFORM" "1" "May 28, 2019" "2.0" "Quantum Package" .SH NAME four_idx_transform \- | Quantum Package > . diff --git a/man/interfaces.1 b/man/interfaces.1 index c3f6625c..9cd6a115 100644 --- a/man/interfaces.1 +++ b/man/interfaces.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "INTERFACES" "1" "Mar 07, 2019" "2.0" "Quantum Package" +.TH "INTERFACES" "1" "May 28, 2019" "2.0" "Quantum Package" .SH NAME interfaces \- | Quantum Package > . diff --git a/man/ks_scf.1 b/man/ks_scf.1 index 1b2651ca..b57a3342 100644 --- a/man/ks_scf.1 +++ b/man/ks_scf.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "KS_SCF" "1" "Mar 07, 2019" "2.0" "Quantum Package" +.TH "KS_SCF" "1" "May 28, 2019" "2.0" "Quantum Package" .SH NAME ks_scf \- | Quantum Package > . diff --git a/man/molden.1 b/man/molden.1 index 5cc2824e..d92a75e3 100644 --- a/man/molden.1 +++ b/man/molden.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "MOLDEN" "1" "Mar 07, 2019" "2.0" "Quantum Package" +.TH "MOLDEN" "1" "May 28, 2019" "2.0" "Quantum Package" .SH NAME molden \- | Quantum Package > . diff --git a/man/natural_orbitals.1 b/man/natural_orbitals.1 index 56185c52..5aa70b42 100644 --- a/man/natural_orbitals.1 +++ b/man/natural_orbitals.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "NATURAL_ORBITALS" "1" "Mar 07, 2019" "2.0" "Quantum Package" +.TH "NATURAL_ORBITALS" "1" "May 28, 2019" "2.0" "Quantum Package" .SH NAME natural_orbitals \- | Quantum Package > . diff --git a/man/plugins.1 b/man/plugins.1 index d1c319a2..4a680ec6 100644 --- a/man/plugins.1 +++ b/man/plugins.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "PLUGINS" "1" "Mar 07, 2019" "2.0" "Quantum Package" +.TH "PLUGINS" "1" "May 28, 2019" "2.0" "Quantum Package" .SH NAME plugins \- | Quantum Package > . diff --git a/man/print_ci_vectors.1 b/man/print_ci_vectors.1 new file mode 100644 index 00000000..3905e63e --- /dev/null +++ b/man/print_ci_vectors.1 @@ -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. +. diff --git a/man/print_e_conv.1 b/man/print_e_conv.1 index fb65e355..4fc03a3d 100644 --- a/man/print_e_conv.1 +++ b/man/print_e_conv.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "PRINT_E_CONV" "1" "Mar 07, 2019" "2.0" "Quantum Package" +.TH "PRINT_E_CONV" "1" "May 28, 2019" "2.0" "Quantum Package" .SH NAME print_e_conv \- | Quantum Package > . diff --git a/man/print_wf.1 b/man/print_wf.1 index bc2fa570..a1ae9233 100644 --- a/man/print_wf.1 +++ b/man/print_wf.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "PRINT_WF" "1" "Mar 07, 2019" "2.0" "Quantum Package" +.TH "PRINT_WF" "1" "May 28, 2019" "2.0" "Quantum Package" .SH NAME print_wf \- | Quantum Package > . diff --git a/man/printing.1 b/man/printing.1 index 4fd17a27..7b0e2514 100644 --- a/man/printing.1 +++ b/man/printing.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "PRINTING" "1" "Mar 07, 2019" "2.0" "Quantum Package" +.TH "PRINTING" "1" "May 28, 2019" "2.0" "Quantum Package" .SH NAME printing \- | Quantum Package > . diff --git a/man/pt2.1 b/man/pt2.1 index e54469fe..de04c26d 100644 --- a/man/pt2.1 +++ b/man/pt2.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "PT2" "1" "Mar 07, 2019" "2.0" "Quantum Package" +.TH "PT2" "1" "May 28, 2019" "2.0" "Quantum Package" .SH NAME pt2 \- | Quantum Package > . diff --git a/man/qp_convert_output_to_ezfio.1 b/man/qp_convert_output_to_ezfio.1 index d5f6f147..7378da9f 100644 --- a/man/qp_convert_output_to_ezfio.1 +++ b/man/qp_convert_output_to_ezfio.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "QP_CONVERT_OUTPUT_TO_EZFIO" "1" "Mar 07, 2019" "2.0" "Quantum Package" +.TH "QP_CONVERT_OUTPUT_TO_EZFIO" "1" "May 28, 2019" "2.0" "Quantum Package" .SH NAME qp_convert_output_to_ezfio \- | Quantum Package > . diff --git a/man/qp_create_ezfio.1 b/man/qp_create_ezfio.1 new file mode 100644 index 00000000..0fe7ffaf --- /dev/null +++ b/man/qp_create_ezfio.1 @@ -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 [\-c ] [\-d ] + [\-h] [\-m ] [\-o EZFIO_DIR] [\-p ] [\-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= +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\fP is set to \fBshow\fP, the list of all available basis +sets is displayed. +.UNINDENT +.INDENT 0.0 +.TP +.B \-c, \-\-charge= +Total charge of the molecule. Default is 0. +.UNINDENT +.INDENT 0.0 +.TP +.B \-d, \-\-dummy= +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= +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 , \-\-pseudo= +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. +. diff --git a/man/qp_edit.1 b/man/qp_edit.1 index 94b8cb7a..20167ac3 100644 --- a/man/qp_edit.1 +++ b/man/qp_edit.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "QP_EDIT" "1" "Mar 07, 2019" "2.0" "Quantum Package" +.TH "QP_EDIT" "1" "May 28, 2019" "2.0" "Quantum Package" .SH NAME qp_edit \- | Quantum Package > . diff --git a/man/qp_export_as_tgz.1 b/man/qp_export_as_tgz.1 index f5d93a01..d0b5a58b 100644 --- a/man/qp_export_as_tgz.1 +++ b/man/qp_export_as_tgz.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "QP_EXPORT_AS_TGZ" "1" "Mar 07, 2019" "2.0" "Quantum Package" +.TH "QP_EXPORT_AS_TGZ" "1" "May 28, 2019" "2.0" "Quantum Package" .SH NAME qp_export_as_tgz \- | Quantum Package > . diff --git a/man/qp_plugins.1 b/man/qp_plugins.1 index 890f7254..cf1f94a9 100644 --- a/man/qp_plugins.1 +++ b/man/qp_plugins.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "QP_PLUGINS" "1" "Mar 07, 2019" "2.0" "Quantum Package" +.TH "QP_PLUGINS" "1" "May 28, 2019" "2.0" "Quantum Package" .SH NAME qp_plugins \- | Quantum Package > . @@ -93,6 +93,11 @@ Uninstall the plugin \fBplugin_name\fP\&. .UNINDENT .INDENT 0.0 .TP +.B update +Update the repositories of the plugins. Should be followed by a re\-compilation. +.UNINDENT +.INDENT 0.0 +.TP .B \-n, \-\-name= Create a new plugin named \fBplugin_name\fP (in local repository by default). .UNINDENT diff --git a/man/qp_reset.1 b/man/qp_reset.1 index c9481bda..bfa38f6f 100644 --- a/man/qp_reset.1 +++ b/man/qp_reset.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "QP_RESET" "1" "Mar 07, 2019" "2.0" "Quantum Package" +.TH "QP_RESET" "1" "May 28, 2019" "2.0" "Quantum Package" .SH NAME qp_reset \- | Quantum Package > . diff --git a/man/qp_run.1 b/man/qp_run.1 index 583bce63..7f1f106e 100644 --- a/man/qp_run.1 +++ b/man/qp_run.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "QP_RUN" "1" "Mar 07, 2019" "2.0" "Quantum Package" +.TH "QP_RUN" "1" "May 28, 2019" "2.0" "Quantum Package" .SH NAME qp_run \- | Quantum Package > . diff --git a/man/qp_set_frozen_core.1 b/man/qp_set_frozen_core.1 index 2e8ab3f4..9f40b0b2 100644 --- a/man/qp_set_frozen_core.1 +++ b/man/qp_set_frozen_core.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "QP_SET_FROZEN_CORE" "1" "Mar 07, 2019" "2.0" "Quantum Package" +.TH "QP_SET_FROZEN_CORE" "1" "May 28, 2019" "2.0" "Quantum Package" .SH NAME qp_set_frozen_core \- | Quantum Package > . @@ -35,6 +35,191 @@ Automatically finds \fIn\fP, the number of core electrons. Calls qp_set_mo_class setting all MOs as \fBActive\fP, except the n/2 first ones which are set as \fBCore\fP\&. If pseudo\-potentials are used, all the MOs are set as \fBActive\fP\&. +.TS +center; +|l|l|l|l|. +_ +T{ +Range +T} T{ +Default +T} T{ +Small +T} T{ +Large +T} +_ +T{ +H \-> He +T} T{ +0 +T} T{ +0 +T} T{ +0 +T} +_ +T{ +Li \-> Be +T} T{ +0 +T} T{ +0 +T} T{ +2 +T} +_ +T{ +B \-> Ne +T} T{ +2 +T} T{ +2 +T} T{ +2 +T} +_ +T{ +Na \-> Mg +T} T{ +2 +T} T{ +2 +T} T{ +10 +T} +_ +T{ +Al \-> Ar +T} T{ +10 +T} T{ +2 +T} T{ +10 +T} +_ +T{ +K \-> Ca +T} T{ +10 +T} T{ +10 +T} T{ +18 +T} +_ +T{ +Sc \-> Zn +T} T{ +10 +T} T{ +10 +T} T{ +18 +T} +_ +T{ +Ga \-> Kr +T} T{ +18 +T} T{ +10 +T} T{ +18 +T} +_ +T{ +Rb \-> Sr +T} T{ +18 +T} T{ +18 +T} T{ +36 +T} +_ +T{ +Y \-> Cd +T} T{ +18 +T} T{ +18 +T} T{ +36 +T} +_ +T{ +In \-> Xe +T} T{ +36 +T} T{ +18 +T} T{ +36 +T} +_ +T{ +Cs \-> Ba +T} T{ +36 +T} T{ +36 +T} T{ +54 +T} +_ +T{ +La \-> Hg +T} T{ +36 +T} T{ +36 +T} T{ +54 +T} +_ +T{ +Tl \-> Rn +T} T{ +54 +T} T{ +36 +T} T{ +54 +T} +_ +T{ +Fr \-> Ra +T} T{ +54 +T} T{ +54 +T} T{ +86 +T} +_ +T{ +Ac \-> Cn +T} T{ +54 +T} T{ +54 +T} T{ +86 +T} +_ +T{ +Nh \-> Og +T} T{ +86 +T} T{ +54 +T} T{ +86 +T} +_ +.TE .sp For elements on the right of the periodic table, \fIqp_set_frozen_core\fP will work as expected. But for elements on the left, a small core will @@ -46,16 +231,26 @@ Lithium atom will have zero. .sp .nf .ft C -qp_set_frozen_core [\-q] EZFIO_DIR +qp_set_frozen_core [\-q|\-\-query] [(\-l|\-s|\-\-large|\-\-small) EZFIO_DIR .ft P .fi .UNINDENT .UNINDENT .INDENT 0.0 .TP -.B \-q +.B \-q, \-\-query Prints in the standard output the number of core electrons. .UNINDENT +.INDENT 0.0 +.TP +.B \-s, \-\-small +Use a small core. +.UNINDENT +.INDENT 0.0 +.TP +.B \-l, \-\-large +Use a large core. +.UNINDENT .SH AUTHOR A. Scemama, E. Giner .SH COPYRIGHT diff --git a/man/qp_set_mo_class.1 b/man/qp_set_mo_class.1 index 3dc3cb76..7cc5b84d 100644 --- a/man/qp_set_mo_class.1 +++ b/man/qp_set_mo_class.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "QP_SET_MO_CLASS" "1" "Mar 07, 2019" "2.0" "Quantum Package" +.TH "QP_SET_MO_CLASS" "1" "May 28, 2019" "2.0" "Quantum Package" .SH NAME qp_set_mo_class \- | Quantum Package > . diff --git a/man/qp_stop.1 b/man/qp_stop.1 index f183cd2a..6ee8be22 100644 --- a/man/qp_stop.1 +++ b/man/qp_stop.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "QP_STOP" "1" "Mar 07, 2019" "2.0" "Quantum Package" +.TH "QP_STOP" "1" "May 28, 2019" "2.0" "Quantum Package" .SH NAME qp_stop \- | Quantum Package > . diff --git a/man/qp_update.1 b/man/qp_update.1 index 2270b0d0..89808d41 100644 --- a/man/qp_update.1 +++ b/man/qp_update.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "QP_UPDATE" "1" "Mar 07, 2019" "2.0" "Quantum Package" +.TH "QP_UPDATE" "1" "May 28, 2019" "2.0" "Quantum Package" .SH NAME qp_update \- | Quantum Package > . diff --git a/man/qpsh.1 b/man/qpsh.1 index 6ece5c35..b8f777e8 100644 --- a/man/qpsh.1 +++ b/man/qpsh.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "QPSH" "1" "Mar 07, 2019" "2.0" "Quantum Package" +.TH "QPSH" "1" "May 28, 2019" "2.0" "Quantum Package" .SH NAME qpsh \- | Quantum Package > . diff --git a/man/rs_ks_scf.1 b/man/rs_ks_scf.1 index 2c54c2ef..d09e993a 100644 --- a/man/rs_ks_scf.1 +++ b/man/rs_ks_scf.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "RS_KS_SCF" "1" "Mar 07, 2019" "2.0" "Quantum Package" +.TH "RS_KS_SCF" "1" "May 28, 2019" "2.0" "Quantum Package" .SH NAME rs_ks_scf \- | Quantum Package > . diff --git a/man/save_natorb.1 b/man/save_natorb.1 index 3f14b228..930bc613 100644 --- a/man/save_natorb.1 +++ b/man/save_natorb.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "SAVE_NATORB" "1" "Mar 07, 2019" "2.0" "Quantum Package" +.TH "SAVE_NATORB" "1" "May 28, 2019" "2.0" "Quantum Package" .SH NAME save_natorb \- | Quantum Package > . diff --git a/man/save_one_e_dm.1 b/man/save_one_e_dm.1 index f49acb7a..cd8b665d 100644 --- a/man/save_one_e_dm.1 +++ b/man/save_one_e_dm.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "SAVE_ONE_E_DM" "1" "Mar 07, 2019" "2.0" "Quantum Package" +.TH "SAVE_ONE_E_DM" "1" "May 28, 2019" "2.0" "Quantum Package" .SH NAME save_one_e_dm \- | Quantum Package > . @@ -32,15 +32,15 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .. .INDENT 0.0 .INDENT 3.5 -Program that computes the one body density on the MO basis +Program that computes the one body density on the MO and AO basis for $alpha$ and $beta$ electrons from the wave function stored in the \fI\%EZFIO\fP directory, and then saves it into the module_aux_quantities\&. .sp Then, the global variable \fBaux_quantities data_one_e_dm_alpha_mo\fP -and \fBaux_quantities data_one_e_dm_beta_mo\fP will automatically -read this density in the next calculation. This can be used to perform -damping on the density in RSDFT calculations (see +and \fBaux_quantities data_one_e_dm_beta_mo\fP (and the corresponding for AO) +will automatically ! read this density in the next calculation. +This can be used to perform damping on the density in RSDFT calculations (see module_density_for_dft). .sp Needs: diff --git a/man/save_ortho_mos.1 b/man/save_ortho_mos.1 index 0874c79a..1f168802 100644 --- a/man/save_ortho_mos.1 +++ b/man/save_ortho_mos.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "SAVE_ORTHO_MOS" "1" "Mar 07, 2019" "2.0" "Quantum Package" +.TH "SAVE_ORTHO_MOS" "1" "May 28, 2019" "2.0" "Quantum Package" .SH NAME save_ortho_mos \- | Quantum Package > . diff --git a/man/scf.1 b/man/scf.1 index 1817bebc..4274f341 100644 --- a/man/scf.1 +++ b/man/scf.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "SCF" "1" "Mar 07, 2019" "2.0" "Quantum Package" +.TH "SCF" "1" "May 28, 2019" "2.0" "Quantum Package" .SH NAME scf \- | Quantum Package > . diff --git a/man/write_integrals_erf.1 b/man/write_integrals_erf.1 index e863c478..26f7b984 100644 --- a/man/write_integrals_erf.1 +++ b/man/write_integrals_erf.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "WRITE_INTEGRALS_ERF" "1" "Mar 07, 2019" "2.0" "Quantum Package" +.TH "WRITE_INTEGRALS_ERF" "1" "May 28, 2019" "2.0" "Quantum Package" .SH NAME write_integrals_erf \- | Quantum Package > . diff --git a/src/generators_cas/extract_cas.irp.f b/src/generators_cas/extract_cas.irp.f new file mode 100644 index 00000000..9cdaf27f --- /dev/null +++ b/src/generators_cas/extract_cas.irp.f @@ -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