From b7c7fd7e6f0e0d58e4bceac8d4526438b8e458b8 Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Fri, 25 Jan 2019 14:17:34 +0100 Subject: [PATCH] Introduced doc --- 404.html | 2 +- categories/index.html | 2 +- doc/_images/cn3_energy.png | Bin 0 -> 9347 bytes doc/_images/qp2.png | Bin 0 -> 41316 bytes doc/_images/speedup_davidson.png | Bin 0 -> 8725 bytes doc/_images/speedup_pt2.png | Bin 0 -> 8944 bytes doc/_sources/appendix/benchmarks.rst.txt | 158 + doc/_sources/appendix/contributors.rst.txt | 48 + doc/_sources/appendix/license.rst.txt | 9 + doc/_sources/appendix/research.rst.txt | 8 + doc/_sources/index.rst.txt | 57 + doc/_sources/intro/install.rst.txt | 2 + doc/_sources/intro/intro.rst.txt | 84 + doc/_sources/intro/selected_ci.rst.txt | 175 + doc/_sources/modules/ao_basis.rst.txt | 1245 ++ doc/_sources/modules/ao_one_e_ints.rst.txt | 2015 +++ .../modules/ao_two_e_erf_ints.rst.txt | 901 ++ doc/_sources/modules/ao_two_e_ints.rst.txt | 1282 ++ doc/_sources/modules/aux_quantities.rst.txt | 52 + .../modules/becke_numerical_grid.rst.txt | 833 ++ doc/_sources/modules/bitmask.rst.txt | 3489 ++++++ doc/_sources/modules/cipsi.rst.txt | 2259 ++++ doc/_sources/modules/cis.rst.txt | 275 + doc/_sources/modules/cisd.rst.txt | 273 + doc/_sources/modules/davidson.rst.txt | 1799 +++ doc/_sources/modules/davidson_dressed.rst.txt | 13 + .../modules/davidson_undressed.rst.txt | 75 + doc/_sources/modules/density_for_dft.rst.txt | 306 + doc/_sources/modules/determinants.rst.txt | 7922 ++++++++++++ doc/_sources/modules/dft_keywords.rst.txt | 68 + doc/_sources/modules/dft_utils_in_r.rst.txt | 876 ++ doc/_sources/modules/dft_utils_one_e.rst.txt | 3765 ++++++ doc/_sources/modules/dressing.rst.txt | 36 + doc/_sources/modules/electrons.rst.txt | 114 + doc/_sources/modules/ezfio_files.rst.txt | 760 ++ doc/_sources/modules/fci.rst.txt | 151 + doc/_sources/modules/generators_cas.rst.txt | 19 + doc/_sources/modules/generators_full.rst.txt | 295 + doc/_sources/modules/hartree_fock.rst.txt | 406 + doc/_sources/modules/iterations.rst.txt | 204 + doc/_sources/modules/kohn_sham.rst.txt | 101 + doc/_sources/modules/kohn_sham_rs.rst.txt | 468 + doc/_sources/modules/mo_basis.rst.txt | 815 ++ doc/_sources/modules/mo_guess.rst.txt | 160 + doc/_sources/modules/mo_one_e_ints.rst.txt | 571 + .../modules/mo_two_e_erf_ints.rst.txt | 1000 ++ doc/_sources/modules/mo_two_e_ints.rst.txt | 1312 ++ doc/_sources/modules/mpi.rst.txt | 291 + doc/_sources/modules/nuclei.rst.txt | 666 + doc/_sources/modules/perturbation.rst.txt | 999 ++ doc/_sources/modules/pseudo.rst.txt | 94 + doc/_sources/modules/psiref_cas.rst.txt | 14 + doc/_sources/modules/psiref_utils.rst.txt | 16 + doc/_sources/modules/scf_utils.rst.txt | 795 ++ doc/_sources/modules/selectors_cassd.rst.txt | 13 + doc/_sources/modules/selectors_full.rst.txt | 153 + doc/_sources/modules/selectors_utils.rst.txt | 649 + .../modules/single_ref_method.rst.txt | 14 + doc/_sources/modules/tools.rst.txt | 246 + doc/_sources/modules/utils.rst.txt | 3024 +++++ doc/_sources/modules/zmq.rst.txt | 1513 +++ .../programmers_guide/conventions.rst.txt | 115 + doc/_sources/programmers_guide/ezfio.rst.txt | 112 + doc/_sources/programmers_guide/index.rst.txt | 22 + .../programmers_guide/index_providers.rst.txt | 1404 +++ .../programmers_guide/plugins.rst.txt | 30 + .../programmers_guide/programming.rst.txt | 82 + .../programmers_guide/qp_name.rst.txt | 35 + .../programmers_guide/qp_test.rst.txt | 35 + doc/_sources/programs/cis.rst.txt | 86 + doc/_sources/programs/cisd.rst.txt | 78 + doc/_sources/programs/diagonalize_h.rst.txt | 37 + doc/_sources/programs/fci.rst.txt | 89 + doc/_sources/programs/fcidump.rst.txt | 40 + .../programs/four_idx_transform.rst.txt | 31 + doc/_sources/programs/ks_scf.rst.txt | 52 + doc/_sources/programs/molden.rst.txt | 29 + doc/_sources/programs/print_e_conv.rst.txt | 32 + doc/_sources/programs/print_wf.rst.txt | 39 + doc/_sources/programs/pt2.rst.txt | 54 + doc/_sources/programs/rs_ks_scf.rst.txt | 53 + doc/_sources/programs/save_natorb.rst.txt | 48 + doc/_sources/programs/save_one_e_dm.rst.txt | 38 + doc/_sources/programs/save_ortho_mos.rst.txt | 34 + doc/_sources/programs/scf.rst.txt | 66 + .../programs/write_integrals_erf.rst.txt | 35 + doc/_sources/users_guide/configure.rst.txt | 37 + .../users_guide/excited_states.rst.txt | 39 + doc/_sources/users_guide/index.rst.txt | 21 + doc/_sources/users_guide/interfaces.rst.txt | 30 + .../users_guide/natural_orbitals.rst.txt | 64 + doc/_sources/users_guide/plugins.rst.txt | 54 + doc/_sources/users_guide/printing.rst.txt | 42 + .../qp_convert_output_to_ezfio.rst.txt | 44 + .../qp_create_ezfio_from_xyz.rst.txt | 169 + doc/_sources/users_guide/qp_edit.rst.txt | 68 + .../users_guide/qp_export_as_tgz.rst.txt | 30 + doc/_sources/users_guide/qp_plugins.rst.txt | 115 + doc/_sources/users_guide/qp_run.rst.txt | 62 + .../users_guide/qp_set_frozen_core.rst.txt | 31 + .../users_guide/qp_set_mo_class.rst.txt | 69 + doc/_sources/users_guide/qp_stop.rst.txt | 30 + doc/_sources/users_guide/qp_update.rst.txt | 17 + doc/_sources/users_guide/qpsh.rst.txt | 153 + doc/_sources/users_guide/quickstart.rst.txt | 156 + doc/_sources/work.rst.txt | 3 + doc/_static/ajax-loader.gif | Bin 0 -> 673 bytes doc/_static/basic.css | 676 + doc/_static/cn3_energy.png | Bin 0 -> 9347 bytes doc/_static/comment-bright.png | Bin 0 -> 756 bytes doc/_static/comment-close.png | Bin 0 -> 829 bytes doc/_static/comment.png | Bin 0 -> 641 bytes doc/_static/css/badge_only.css | 1 + doc/_static/css/theme.css | 6 + doc/_static/doctools.js | 315 + doc/_static/documentation_options.js | 296 + doc/_static/down-pressed.png | Bin 0 -> 222 bytes doc/_static/down.png | Bin 0 -> 202 bytes doc/_static/file.png | Bin 0 -> 286 bytes doc/_static/fonts/Inconsolata-Bold.ttf | Bin 0 -> 109948 bytes doc/_static/fonts/Inconsolata-Regular.ttf | Bin 0 -> 96964 bytes doc/_static/fonts/Inconsolata.ttf | Bin 0 -> 63184 bytes doc/_static/fonts/Lato-Bold.ttf | Bin 0 -> 656544 bytes doc/_static/fonts/Lato-Regular.ttf | Bin 0 -> 656568 bytes doc/_static/fonts/Lato/lato-bold.eot | Bin 0 -> 256056 bytes doc/_static/fonts/Lato/lato-bold.ttf | Bin 0 -> 600856 bytes doc/_static/fonts/Lato/lato-bold.woff | Bin 0 -> 309728 bytes doc/_static/fonts/Lato/lato-bold.woff2 | Bin 0 -> 184912 bytes doc/_static/fonts/Lato/lato-bolditalic.eot | Bin 0 -> 266158 bytes doc/_static/fonts/Lato/lato-bolditalic.ttf | Bin 0 -> 622572 bytes doc/_static/fonts/Lato/lato-bolditalic.woff | Bin 0 -> 323344 bytes doc/_static/fonts/Lato/lato-bolditalic.woff2 | Bin 0 -> 193308 bytes doc/_static/fonts/Lato/lato-italic.eot | Bin 0 -> 268604 bytes doc/_static/fonts/Lato/lato-italic.ttf | Bin 0 -> 639388 bytes doc/_static/fonts/Lato/lato-italic.woff | Bin 0 -> 328412 bytes doc/_static/fonts/Lato/lato-italic.woff2 | Bin 0 -> 195704 bytes doc/_static/fonts/Lato/lato-regular.eot | Bin 0 -> 253461 bytes doc/_static/fonts/Lato/lato-regular.ttf | Bin 0 -> 607720 bytes doc/_static/fonts/Lato/lato-regular.woff | Bin 0 -> 309192 bytes doc/_static/fonts/Lato/lato-regular.woff2 | Bin 0 -> 182708 bytes doc/_static/fonts/RobotoSlab-Bold.ttf | Bin 0 -> 170616 bytes doc/_static/fonts/RobotoSlab-Regular.ttf | Bin 0 -> 169064 bytes .../fonts/RobotoSlab/roboto-slab-v7-bold.eot | Bin 0 -> 79520 bytes .../fonts/RobotoSlab/roboto-slab-v7-bold.ttf | Bin 0 -> 170616 bytes .../fonts/RobotoSlab/roboto-slab-v7-bold.woff | Bin 0 -> 87624 bytes .../RobotoSlab/roboto-slab-v7-bold.woff2 | Bin 0 -> 67312 bytes .../RobotoSlab/roboto-slab-v7-regular.eot | Bin 0 -> 78331 bytes .../RobotoSlab/roboto-slab-v7-regular.ttf | Bin 0 -> 169064 bytes .../RobotoSlab/roboto-slab-v7-regular.woff | Bin 0 -> 86288 bytes .../RobotoSlab/roboto-slab-v7-regular.woff2 | Bin 0 -> 66444 bytes doc/_static/fonts/fontawesome-webfont.eot | Bin 0 -> 165742 bytes doc/_static/fonts/fontawesome-webfont.svg | 2671 ++++ doc/_static/fonts/fontawesome-webfont.ttf | Bin 0 -> 165548 bytes doc/_static/fonts/fontawesome-webfont.woff | Bin 0 -> 98024 bytes doc/_static/fonts/fontawesome-webfont.woff2 | Bin 0 -> 77160 bytes doc/_static/jquery-3.2.1.js | 10253 ++++++++++++++++ doc/_static/jquery.js | 4 + doc/_static/js/modernizr.min.js | 4 + doc/_static/js/theme.js | 3 + doc/_static/links.rst | 88 + doc/_static/minus.png | Bin 0 -> 90 bytes doc/_static/plus.png | Bin 0 -> 90 bytes doc/_static/pygments.css | 69 + doc/_static/qp.png | Bin 0 -> 42781 bytes doc/_static/qp2.png | Bin 0 -> 41316 bytes doc/_static/searchtools.js | 482 + doc/_static/speedup_davidson.png | Bin 0 -> 8725 bytes doc/_static/speedup_pt2.png | Bin 0 -> 8944 bytes doc/_static/underscore-1.3.1.js | 999 ++ doc/_static/underscore.js | 31 + doc/_static/up-pressed.png | Bin 0 -> 214 bytes doc/_static/up.png | Bin 0 -> 203 bytes doc/_static/websupport.js | 808 ++ doc/appendix/benchmarks.html | 652 + doc/appendix/contributors.html | 285 + doc/appendix/license.html | 584 + doc/appendix/research.html | 394 + doc/genindex.html | 4876 ++++++++ doc/index.html | 308 + doc/intro/install.html | 485 + doc/intro/intro.html | 292 + doc/intro/selected_ci.html | 424 + doc/modules/ao_basis.html | 1522 +++ doc/modules/ao_one_e_ints.html | 2299 ++++ doc/modules/ao_two_e_erf_ints.html | 1233 ++ doc/modules/ao_two_e_ints.html | 1612 +++ doc/modules/aux_quantities.html | 346 + doc/modules/becke_numerical_grid.html | 1107 ++ doc/modules/bitmask.html | 3723 ++++++ doc/modules/cipsi.html | 2613 ++++ doc/modules/cis.html | 580 + doc/modules/cisd.html | 580 + doc/modules/davidson.html | 2177 ++++ doc/modules/davidson_dressed.html | 303 + doc/modules/davidson_undressed.html | 369 + doc/modules/density_for_dft.html | 608 + doc/modules/determinants.html | 8110 ++++++++++++ doc/modules/dft_keywords.html | 361 + doc/modules/dft_utils_in_r.html | 1158 ++ doc/modules/dft_utils_one_e.html | 4038 ++++++ doc/modules/dressing.html | 331 + doc/modules/electrons.html | 409 + doc/modules/ezfio_files.html | 1043 ++ doc/modules/fci.html | 441 + doc/modules/generators_cas.html | 307 + doc/modules/generators_full.html | 588 + doc/modules/hartree_fock.html | 703 ++ doc/modules/iterations.html | 505 + doc/modules/kohn_sham.html | 386 + doc/modules/kohn_sham_rs.html | 765 ++ doc/modules/mo_basis.html | 1114 ++ doc/modules/mo_guess.html | 450 + doc/modules/mo_one_e_ints.html | 868 ++ doc/modules/mo_two_e_erf_ints.html | 1291 ++ doc/modules/mo_two_e_ints.html | 1624 +++ doc/modules/mpi.html | 574 + doc/modules/nuclei.html | 965 ++ doc/modules/perturbation.html | 1310 ++ doc/modules/pseudo.html | 402 + doc/modules/psiref_cas.html | 304 + doc/modules/psiref_utils.html | 304 + doc/modules/scf_utils.html | 1095 ++ doc/modules/selectors_cassd.html | 304 + doc/modules/selectors_full.html | 450 + doc/modules/selectors_utils.html | 891 ++ doc/modules/single_ref_method.html | 304 + doc/modules/tools.html | 552 + doc/modules/utils.html | 3138 +++++ doc/modules/zmq.html | 1788 +++ doc/objects.inv | Bin 0 -> 13735 bytes doc/programmers_guide/conventions.html | 390 + doc/programmers_guide/ezfio.html | 359 + doc/programmers_guide/index.html | 1764 +++ doc/programmers_guide/index_providers.html | 1636 +++ doc/programmers_guide/plugins.html | 270 + doc/programmers_guide/programming.html | 303 + doc/programmers_guide/qp_name.html | 331 + doc/programmers_guide/qp_test.html | 331 + doc/programs/cis.html | 330 + doc/programs/cisd.html | 332 + doc/programs/diagonalize_h.html | 296 + doc/programs/fci.html | 347 + doc/programs/fcidump.html | 294 + doc/programs/four_idx_transform.html | 288 + doc/programs/ks_scf.html | 313 + doc/programs/molden.html | 288 + doc/programs/print_e_conv.html | 290 + doc/programs/print_wf.html | 297 + doc/programs/pt2.html | 312 + doc/programs/rs_ks_scf.html | 314 + doc/programs/save_natorb.html | 305 + doc/programs/save_one_e_dm.html | 297 + doc/programs/save_ortho_mos.html | 290 + doc/programs/scf.html | 316 + doc/programs/write_integrals_erf.html | 296 + doc/search.html | 247 + doc/searchindex.js | 1 + doc/users_guide/configure.html | 296 + doc/users_guide/excited_states.html | 270 + doc/users_guide/index.html | 316 + doc/users_guide/interfaces.html | 270 + doc/users_guide/natural_orbitals.html | 299 + doc/users_guide/plugins.html | 275 + doc/users_guide/printing.html | 274 + .../qp_convert_output_to_ezfio.html | 297 + doc/users_guide/qp_create_ezfio_from_xyz.html | 427 + doc/users_guide/qp_edit.html | 328 + doc/users_guide/qp_export_as_tgz.html | 285 + doc/users_guide/qp_plugins.html | 374 + doc/users_guide/qp_run.html | 311 + doc/users_guide/qp_set_frozen_core.html | 282 + doc/users_guide/qp_set_mo_class.html | 326 + doc/users_guide/qp_stop.html | 284 + doc/users_guide/qp_update.html | 269 + doc/users_guide/qpsh.html | 415 + doc/users_guide/quickstart.html | 371 + doc/work.html | 230 + index.html | 4 +- page/index.html | 2 +- page/try/index.html | 2 +- page/tutorials/index.html | 2 +- src/config.toml | 2 +- src/content/_index.md | 2 +- tags/index.html | 2 +- 284 files changed, 144795 insertions(+), 10 deletions(-) create mode 100644 doc/_images/cn3_energy.png create mode 100644 doc/_images/qp2.png create mode 100644 doc/_images/speedup_davidson.png create mode 100644 doc/_images/speedup_pt2.png create mode 100644 doc/_sources/appendix/benchmarks.rst.txt create mode 100644 doc/_sources/appendix/contributors.rst.txt create mode 100644 doc/_sources/appendix/license.rst.txt create mode 100644 doc/_sources/appendix/research.rst.txt create mode 100644 doc/_sources/index.rst.txt create mode 100644 doc/_sources/intro/install.rst.txt create mode 100644 doc/_sources/intro/intro.rst.txt create mode 100644 doc/_sources/intro/selected_ci.rst.txt create mode 100644 doc/_sources/modules/ao_basis.rst.txt create mode 100644 doc/_sources/modules/ao_one_e_ints.rst.txt create mode 100644 doc/_sources/modules/ao_two_e_erf_ints.rst.txt create mode 100644 doc/_sources/modules/ao_two_e_ints.rst.txt create mode 100644 doc/_sources/modules/aux_quantities.rst.txt create mode 100644 doc/_sources/modules/becke_numerical_grid.rst.txt create mode 100644 doc/_sources/modules/bitmask.rst.txt create mode 100644 doc/_sources/modules/cipsi.rst.txt create mode 100644 doc/_sources/modules/cis.rst.txt create mode 100644 doc/_sources/modules/cisd.rst.txt create mode 100644 doc/_sources/modules/davidson.rst.txt create mode 100644 doc/_sources/modules/davidson_dressed.rst.txt create mode 100644 doc/_sources/modules/davidson_undressed.rst.txt create mode 100644 doc/_sources/modules/density_for_dft.rst.txt create mode 100644 doc/_sources/modules/determinants.rst.txt create mode 100644 doc/_sources/modules/dft_keywords.rst.txt create mode 100644 doc/_sources/modules/dft_utils_in_r.rst.txt create mode 100644 doc/_sources/modules/dft_utils_one_e.rst.txt create mode 100644 doc/_sources/modules/dressing.rst.txt create mode 100644 doc/_sources/modules/electrons.rst.txt create mode 100644 doc/_sources/modules/ezfio_files.rst.txt create mode 100644 doc/_sources/modules/fci.rst.txt create mode 100644 doc/_sources/modules/generators_cas.rst.txt create mode 100644 doc/_sources/modules/generators_full.rst.txt create mode 100644 doc/_sources/modules/hartree_fock.rst.txt create mode 100644 doc/_sources/modules/iterations.rst.txt create mode 100644 doc/_sources/modules/kohn_sham.rst.txt create mode 100644 doc/_sources/modules/kohn_sham_rs.rst.txt create mode 100644 doc/_sources/modules/mo_basis.rst.txt create mode 100644 doc/_sources/modules/mo_guess.rst.txt create mode 100644 doc/_sources/modules/mo_one_e_ints.rst.txt create mode 100644 doc/_sources/modules/mo_two_e_erf_ints.rst.txt create mode 100644 doc/_sources/modules/mo_two_e_ints.rst.txt create mode 100644 doc/_sources/modules/mpi.rst.txt create mode 100644 doc/_sources/modules/nuclei.rst.txt create mode 100644 doc/_sources/modules/perturbation.rst.txt create mode 100644 doc/_sources/modules/pseudo.rst.txt create mode 100644 doc/_sources/modules/psiref_cas.rst.txt create mode 100644 doc/_sources/modules/psiref_utils.rst.txt create mode 100644 doc/_sources/modules/scf_utils.rst.txt create mode 100644 doc/_sources/modules/selectors_cassd.rst.txt create mode 100644 doc/_sources/modules/selectors_full.rst.txt create mode 100644 doc/_sources/modules/selectors_utils.rst.txt create mode 100644 doc/_sources/modules/single_ref_method.rst.txt create mode 100644 doc/_sources/modules/tools.rst.txt create mode 100644 doc/_sources/modules/utils.rst.txt create mode 100644 doc/_sources/modules/zmq.rst.txt create mode 100644 doc/_sources/programmers_guide/conventions.rst.txt create mode 100644 doc/_sources/programmers_guide/ezfio.rst.txt create mode 100644 doc/_sources/programmers_guide/index.rst.txt create mode 100644 doc/_sources/programmers_guide/index_providers.rst.txt create mode 100644 doc/_sources/programmers_guide/plugins.rst.txt create mode 100644 doc/_sources/programmers_guide/programming.rst.txt create mode 100644 doc/_sources/programmers_guide/qp_name.rst.txt create mode 100644 doc/_sources/programmers_guide/qp_test.rst.txt create mode 100644 doc/_sources/programs/cis.rst.txt create mode 100644 doc/_sources/programs/cisd.rst.txt create mode 100644 doc/_sources/programs/diagonalize_h.rst.txt create mode 100644 doc/_sources/programs/fci.rst.txt create mode 100644 doc/_sources/programs/fcidump.rst.txt create mode 100644 doc/_sources/programs/four_idx_transform.rst.txt create mode 100644 doc/_sources/programs/ks_scf.rst.txt create mode 100644 doc/_sources/programs/molden.rst.txt create mode 100644 doc/_sources/programs/print_e_conv.rst.txt create mode 100644 doc/_sources/programs/print_wf.rst.txt create mode 100644 doc/_sources/programs/pt2.rst.txt create mode 100644 doc/_sources/programs/rs_ks_scf.rst.txt create mode 100644 doc/_sources/programs/save_natorb.rst.txt create mode 100644 doc/_sources/programs/save_one_e_dm.rst.txt create mode 100644 doc/_sources/programs/save_ortho_mos.rst.txt create mode 100644 doc/_sources/programs/scf.rst.txt create mode 100644 doc/_sources/programs/write_integrals_erf.rst.txt create mode 100644 doc/_sources/users_guide/configure.rst.txt create mode 100644 doc/_sources/users_guide/excited_states.rst.txt create mode 100644 doc/_sources/users_guide/index.rst.txt create mode 100644 doc/_sources/users_guide/interfaces.rst.txt create mode 100644 doc/_sources/users_guide/natural_orbitals.rst.txt create mode 100644 doc/_sources/users_guide/plugins.rst.txt create mode 100644 doc/_sources/users_guide/printing.rst.txt create mode 100644 doc/_sources/users_guide/qp_convert_output_to_ezfio.rst.txt create mode 100644 doc/_sources/users_guide/qp_create_ezfio_from_xyz.rst.txt create mode 100644 doc/_sources/users_guide/qp_edit.rst.txt create mode 100644 doc/_sources/users_guide/qp_export_as_tgz.rst.txt create mode 100644 doc/_sources/users_guide/qp_plugins.rst.txt create mode 100644 doc/_sources/users_guide/qp_run.rst.txt create mode 100644 doc/_sources/users_guide/qp_set_frozen_core.rst.txt create mode 100644 doc/_sources/users_guide/qp_set_mo_class.rst.txt create mode 100644 doc/_sources/users_guide/qp_stop.rst.txt create mode 100644 doc/_sources/users_guide/qp_update.rst.txt create mode 100644 doc/_sources/users_guide/qpsh.rst.txt create mode 100644 doc/_sources/users_guide/quickstart.rst.txt create mode 100644 doc/_sources/work.rst.txt create mode 100644 doc/_static/ajax-loader.gif create mode 100644 doc/_static/basic.css create mode 100644 doc/_static/cn3_energy.png create mode 100644 doc/_static/comment-bright.png create mode 100644 doc/_static/comment-close.png create mode 100644 doc/_static/comment.png create mode 100644 doc/_static/css/badge_only.css create mode 100644 doc/_static/css/theme.css create mode 100644 doc/_static/doctools.js create mode 100644 doc/_static/documentation_options.js create mode 100644 doc/_static/down-pressed.png create mode 100644 doc/_static/down.png create mode 100644 doc/_static/file.png create mode 100644 doc/_static/fonts/Inconsolata-Bold.ttf create mode 100644 doc/_static/fonts/Inconsolata-Regular.ttf create mode 100644 doc/_static/fonts/Inconsolata.ttf create mode 100644 doc/_static/fonts/Lato-Bold.ttf create mode 100644 doc/_static/fonts/Lato-Regular.ttf create mode 100644 doc/_static/fonts/Lato/lato-bold.eot create mode 100644 doc/_static/fonts/Lato/lato-bold.ttf create mode 100644 doc/_static/fonts/Lato/lato-bold.woff create mode 100644 doc/_static/fonts/Lato/lato-bold.woff2 create mode 100644 doc/_static/fonts/Lato/lato-bolditalic.eot create mode 100644 doc/_static/fonts/Lato/lato-bolditalic.ttf create mode 100644 doc/_static/fonts/Lato/lato-bolditalic.woff create mode 100644 doc/_static/fonts/Lato/lato-bolditalic.woff2 create mode 100644 doc/_static/fonts/Lato/lato-italic.eot create mode 100644 doc/_static/fonts/Lato/lato-italic.ttf create mode 100644 doc/_static/fonts/Lato/lato-italic.woff create mode 100644 doc/_static/fonts/Lato/lato-italic.woff2 create mode 100644 doc/_static/fonts/Lato/lato-regular.eot create mode 100644 doc/_static/fonts/Lato/lato-regular.ttf create mode 100644 doc/_static/fonts/Lato/lato-regular.woff create mode 100644 doc/_static/fonts/Lato/lato-regular.woff2 create mode 100644 doc/_static/fonts/RobotoSlab-Bold.ttf create mode 100644 doc/_static/fonts/RobotoSlab-Regular.ttf create mode 100644 doc/_static/fonts/RobotoSlab/roboto-slab-v7-bold.eot create mode 100644 doc/_static/fonts/RobotoSlab/roboto-slab-v7-bold.ttf create mode 100644 doc/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff create mode 100644 doc/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff2 create mode 100644 doc/_static/fonts/RobotoSlab/roboto-slab-v7-regular.eot create mode 100644 doc/_static/fonts/RobotoSlab/roboto-slab-v7-regular.ttf create mode 100644 doc/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff create mode 100644 doc/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff2 create mode 100644 doc/_static/fonts/fontawesome-webfont.eot create mode 100644 doc/_static/fonts/fontawesome-webfont.svg create mode 100644 doc/_static/fonts/fontawesome-webfont.ttf create mode 100644 doc/_static/fonts/fontawesome-webfont.woff create mode 100644 doc/_static/fonts/fontawesome-webfont.woff2 create mode 100644 doc/_static/jquery-3.2.1.js create mode 100644 doc/_static/jquery.js create mode 100644 doc/_static/js/modernizr.min.js create mode 100644 doc/_static/js/theme.js create mode 100644 doc/_static/links.rst create mode 100644 doc/_static/minus.png create mode 100644 doc/_static/plus.png create mode 100644 doc/_static/pygments.css create mode 100644 doc/_static/qp.png create mode 100644 doc/_static/qp2.png create mode 100644 doc/_static/searchtools.js create mode 100644 doc/_static/speedup_davidson.png create mode 100644 doc/_static/speedup_pt2.png create mode 100644 doc/_static/underscore-1.3.1.js create mode 100644 doc/_static/underscore.js create mode 100644 doc/_static/up-pressed.png create mode 100644 doc/_static/up.png create mode 100644 doc/_static/websupport.js create mode 100644 doc/appendix/benchmarks.html create mode 100644 doc/appendix/contributors.html create mode 100644 doc/appendix/license.html create mode 100644 doc/appendix/research.html create mode 100644 doc/genindex.html create mode 100644 doc/index.html create mode 100644 doc/intro/install.html create mode 100644 doc/intro/intro.html create mode 100644 doc/intro/selected_ci.html create mode 100644 doc/modules/ao_basis.html create mode 100644 doc/modules/ao_one_e_ints.html create mode 100644 doc/modules/ao_two_e_erf_ints.html create mode 100644 doc/modules/ao_two_e_ints.html create mode 100644 doc/modules/aux_quantities.html create mode 100644 doc/modules/becke_numerical_grid.html create mode 100644 doc/modules/bitmask.html create mode 100644 doc/modules/cipsi.html create mode 100644 doc/modules/cis.html create mode 100644 doc/modules/cisd.html create mode 100644 doc/modules/davidson.html create mode 100644 doc/modules/davidson_dressed.html create mode 100644 doc/modules/davidson_undressed.html create mode 100644 doc/modules/density_for_dft.html create mode 100644 doc/modules/determinants.html create mode 100644 doc/modules/dft_keywords.html create mode 100644 doc/modules/dft_utils_in_r.html create mode 100644 doc/modules/dft_utils_one_e.html create mode 100644 doc/modules/dressing.html create mode 100644 doc/modules/electrons.html create mode 100644 doc/modules/ezfio_files.html create mode 100644 doc/modules/fci.html create mode 100644 doc/modules/generators_cas.html create mode 100644 doc/modules/generators_full.html create mode 100644 doc/modules/hartree_fock.html create mode 100644 doc/modules/iterations.html create mode 100644 doc/modules/kohn_sham.html create mode 100644 doc/modules/kohn_sham_rs.html create mode 100644 doc/modules/mo_basis.html create mode 100644 doc/modules/mo_guess.html create mode 100644 doc/modules/mo_one_e_ints.html create mode 100644 doc/modules/mo_two_e_erf_ints.html create mode 100644 doc/modules/mo_two_e_ints.html create mode 100644 doc/modules/mpi.html create mode 100644 doc/modules/nuclei.html create mode 100644 doc/modules/perturbation.html create mode 100644 doc/modules/pseudo.html create mode 100644 doc/modules/psiref_cas.html create mode 100644 doc/modules/psiref_utils.html create mode 100644 doc/modules/scf_utils.html create mode 100644 doc/modules/selectors_cassd.html create mode 100644 doc/modules/selectors_full.html create mode 100644 doc/modules/selectors_utils.html create mode 100644 doc/modules/single_ref_method.html create mode 100644 doc/modules/tools.html create mode 100644 doc/modules/utils.html create mode 100644 doc/modules/zmq.html create mode 100644 doc/objects.inv create mode 100644 doc/programmers_guide/conventions.html create mode 100644 doc/programmers_guide/ezfio.html create mode 100644 doc/programmers_guide/index.html create mode 100644 doc/programmers_guide/index_providers.html create mode 100644 doc/programmers_guide/plugins.html create mode 100644 doc/programmers_guide/programming.html create mode 100644 doc/programmers_guide/qp_name.html create mode 100644 doc/programmers_guide/qp_test.html create mode 100644 doc/programs/cis.html create mode 100644 doc/programs/cisd.html create mode 100644 doc/programs/diagonalize_h.html create mode 100644 doc/programs/fci.html create mode 100644 doc/programs/fcidump.html create mode 100644 doc/programs/four_idx_transform.html create mode 100644 doc/programs/ks_scf.html create mode 100644 doc/programs/molden.html create mode 100644 doc/programs/print_e_conv.html create mode 100644 doc/programs/print_wf.html create mode 100644 doc/programs/pt2.html create mode 100644 doc/programs/rs_ks_scf.html create mode 100644 doc/programs/save_natorb.html create mode 100644 doc/programs/save_one_e_dm.html create mode 100644 doc/programs/save_ortho_mos.html create mode 100644 doc/programs/scf.html create mode 100644 doc/programs/write_integrals_erf.html create mode 100644 doc/search.html create mode 100644 doc/searchindex.js create mode 100644 doc/users_guide/configure.html create mode 100644 doc/users_guide/excited_states.html create mode 100644 doc/users_guide/index.html create mode 100644 doc/users_guide/interfaces.html create mode 100644 doc/users_guide/natural_orbitals.html create mode 100644 doc/users_guide/plugins.html create mode 100644 doc/users_guide/printing.html create mode 100644 doc/users_guide/qp_convert_output_to_ezfio.html create mode 100644 doc/users_guide/qp_create_ezfio_from_xyz.html create mode 100644 doc/users_guide/qp_edit.html create mode 100644 doc/users_guide/qp_export_as_tgz.html create mode 100644 doc/users_guide/qp_plugins.html create mode 100644 doc/users_guide/qp_run.html create mode 100644 doc/users_guide/qp_set_frozen_core.html create mode 100644 doc/users_guide/qp_set_mo_class.html create mode 100644 doc/users_guide/qp_stop.html create mode 100644 doc/users_guide/qp_update.html create mode 100644 doc/users_guide/qpsh.html create mode 100644 doc/users_guide/quickstart.html create mode 100644 doc/work.html diff --git a/404.html b/404.html index 81f2ff0f..88b94736 100644 --- a/404.html +++ b/404.html @@ -57,7 +57,7 @@
  • - Documentation + Documentation
  • diff --git a/categories/index.html b/categories/index.html index bb6f6e00..356feca1 100644 --- a/categories/index.html +++ b/categories/index.html @@ -57,7 +57,7 @@
  • - Documentation + Documentation
  • diff --git a/doc/_images/cn3_energy.png b/doc/_images/cn3_energy.png new file mode 100644 index 0000000000000000000000000000000000000000..5f5953209392bd505ac711b91ec921156c6d335f GIT binary patch literal 9347 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

    8z(;FLidoc1wZ(nUI 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 literal 0 HcmV?d00001 diff --git a/doc/_images/speedup_davidson.png b/doc/_images/speedup_davidson.png new file mode 100644 index 0000000000000000000000000000000000000000..70e60f54d061d98125e6a7b1935f2b73cbe913d8 GIT binary patch literal 8725 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 literal 0 HcmV?d00001 diff --git a/doc/_sources/appendix/benchmarks.rst.txt b/doc/_sources/appendix/benchmarks.rst.txt new file mode 100644 index 00000000..9369f884 --- /dev/null +++ b/doc/_sources/appendix/benchmarks.rst.txt @@ -0,0 +1,158 @@ +Benchmarks +========== + +The determinant selection, MR-PT2 and diagonalization are parallelized with +distributed parallelism. Benchmarks for the [NH2-CH-NH2]+ molecule in the +aug-cc-pVDZ basis set are presented with up to 50 nodes (1800 cores) on +CALMIP's `Olympe`_ supercomputer, and 200 nodes (9600 cores) on GENCI's +`Irene`_ supercomputer. This represents an active space of 18 electrons +in 111 MOs. + +- Nodes of Olympe have two Skylake sockets, 2x18 cores @ 2.3GHz. +- Nodes of Irene have two Skylake sockets, 2x24 cores @ 2.7GHz. + +Convergence of the energy +------------------------- + +.. figure:: /_static/cn3_energy.png + :alt: Convergence of the energy. + + Convergence of the variational energy, with and without the PT2 correction. + Both energies converge to the (frozen core) FCI energy. + The plot is displayed for the ground state and for the 1st excited state. + + +Variational energy +^^^^^^^^^^^^^^^^^^ + +================ ================ ================ =============== + Number of dets Ground state Excited state Excitation (eV) +================ ================ ================ =============== + 7 -149.489 186 -149.207 354 7.67 + 123 -149.536 265 -149.261 860 7.47 + 3 083 -149.685 606 -149.404 450 7.65 + 29 409 -149.826 151 -149.547 275 7.59 + 168 595 -149.900 352 -149.626 058 7.46 + 1 322 537 -149.946 655 -149.675 032 7.39 + 8 495 334 -149.972 032 -149.704 145 7.29 + 9 356 952 -149.973 375 -149.706 822 7.25 + 42 779 636 -149.987 370 -149.721 470 7.24 + 186 978 487 -149.998 582 -149.733 039 7.23 +================ ================ ================ =============== + + +Variational energy + PT2 correction +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +================ ================ ================ =============== + Number of dets Ground state Excited state Excitation (eV) +================ ================ ================ =============== + 7 -150.161 107 -149.904 883 6.97 + 123 -150.116 958 -149.849 465 7.28 + 3 083 -150.043 5(2) -149.780 8(2) 7.15 + 29 409 -150.022 2(2) -149.758 3(2) 7.18 + 168 595 -150.019 9(1) -149.754 5(1) 7.22 + 1 322 537 -150.017 89(7) -149.752 55(7) 7.22 + 8 495 334 -150.015 97(4) -149.750 87(5) 7.21 + 9 356 952 -150.015 89(3) -149.750 66(3) 7.22 + 42 959 496 -150.016 75(2) -149.751 88(2) 7.21 + 186 978 487 -150.017 51(2) -149.752 90(2) 7.20 +================ ================ ================ =============== + + +Davidson's diagonalization +-------------------------- + +We present the parallel speedup curve, and the wall-clock time in seconds +required to compute one iteration for two wave functions measured on Olympe +and Irene. + +.. figure:: /_static/speedup_davidson.png + :alt: Parallel speedup of Davidson's diagonalization. + + Parallel speedup of Davidson's diagonalization measured on Olympe and Irene. + +Olympe +^^^^^^ + +======================= ====================== ======================= +Number of 36-core Nodes 9 356 952 determinants 42 959 496 determinants +======================= ====================== ======================= + 1 775.55 11 198.70 + 5 169.88 2 288.58 + 10 93.22 1 213.95 + 20 56.86 626.41 + 30 43.76 445.65 + 40 36.18 350.25 + 50 33.67 295.25 +======================= ====================== ======================= + + +Irene +^^^^^ + +======================= ====================== ======================= +Number of 48-core Nodes 9 356 952 determinants 42 959 496 determinants +======================= ====================== ======================= + 1 572.98 9 154.30 * + 10 72.55 922.07 + 25 38.88 412.34 + 50 27.95 241.35 + 75 27.54 183.63 + 100 27.86 165.68 + 150 28.14 134.05 + 200 27.77 134.64 +======================= ====================== ======================= + + +PT2 correction +-------------- + +We present the parallel speedup curve, and the wall-clock time in seconds +required to compute the PT2 correction for two wave functions measured on +Olympe and Irene. + + +.. figure:: /_static/speedup_pt2.png + :alt: Parallel speedup of the PT2 computation of the ground state. + + Parallel speedup of the PT2 computation of the ground state measured + on Olympe and Irene. + + +Olympe +^^^^^^ + +======================= ====================== ======================= +Number of 36-core Nodes Ground state (9.3M) Excited state (9.3M) +======================= ====================== ======================= + 1 7 883.74 9 829.19 + 5 1 629.06 2 022.36 + 10 832.89 1 029.91 + 20 440.76 537.37 + 30 303.31 378.69 + 40 246.12 296.31 + 50 201.84 241.55 +======================= ====================== ======================= + + +Irene +^^^^^ + +======================= ====================== ======================= ====================== ======================= +Number of 48-core Nodes Ground state (9.3M) Excited state (9.3M) Ground state (42.9M) Excited state (42.9M) +======================= ====================== ======================= ====================== ======================= + 1 4 935.81 6 152.29 24 586.62 37 440.59 + 10 525.95 652.23 2 458.66 3 086.19 + 25 237.47 286.06 1 041.69 1 295.43 + 50 144.39 174.12 588.35 724.25 + 75 109.13 129.17 446.74 537.59 + 100 100.75 103.43 367.21 450.32 + 150 82.04 91.77 298.63 358.25 + 200 75.62 85.25 268.96 312.23 +======================= ====================== ======================= ====================== ======================= + + + + + diff --git a/doc/_sources/appendix/contributors.rst.txt b/doc/_sources/appendix/contributors.rst.txt new file mode 100644 index 00000000..453560aa --- /dev/null +++ b/doc/_sources/appendix/contributors.rst.txt @@ -0,0 +1,48 @@ +============ +Contributors +============ + +The |qp| is maintained by + +Anthony Scemama + | `Laboratoire de Chimie et Physique Quantiques `_, + | CNRS - Université Paul Sabatier + | Toulouse, France + | scemama@irsamc.ups-tlse.fr + + +Emmanuel Giner + | `Laboratoire de Chimie Theorique `_ + | CNRS - Sorbonne Université + | Paris, France + | emmanuel.giner@lct.jussieu.fr + + +Thomas Applencourt + | `Argonne Leadership Computing Facility `_ + | Argonne, USA + | tapplencourt@anl.gov + + + +The following people have contributed (by alphabetical order): + +* Anouar Benali +* Chandler Bennet +* Michel Caffarel +* Grégoire David +* Madeline Galbraith +* Yann Garniron +* Kevin Gasperich +* Pierre-François Loos +* Barry Moore +* Julien Paquier +* Barthélémy Pradines +* Lorenzo Tenti +* Julien Toulouse +* Mikaël Véril + + +If you have contributed and don't appear in this list, please modify this file +and submit a pull request. + diff --git a/doc/_sources/appendix/license.rst.txt b/doc/_sources/appendix/license.rst.txt new file mode 100644 index 00000000..def8f1f7 --- /dev/null +++ b/doc/_sources/appendix/license.rst.txt @@ -0,0 +1,9 @@ +License +======= + +.. include:: LICENSE + :literal: + + + + diff --git a/doc/_sources/appendix/research.rst.txt b/doc/_sources/appendix/research.rst.txt new file mode 100644 index 00000000..992cc1eb --- /dev/null +++ b/doc/_sources/appendix/research.rst.txt @@ -0,0 +1,8 @@ +Some research made with the |qp| +================================ + +.. bibliography:: /research.bib + :style: unsrt + :all: + + diff --git a/doc/_sources/index.rst.txt b/doc/_sources/index.rst.txt new file mode 100644 index 00000000..3f0ea0bd --- /dev/null +++ b/doc/_sources/index.rst.txt @@ -0,0 +1,57 @@ +.. Quantum Package documentation master file, created by + sphinx-quickstart on Thu Oct 18 11:53:23 2018. + You can adapt this file completely to your liking, but it should at least + contain the root `toctree` directive. + +.. include:: intro/intro.rst + + + +.. toctree:: + :maxdepth: 1 + :caption: Introduction + :hidden: + + intro/install + intro/selected_ci + +.. toctree:: + :maxdepth: 1 + :caption: User's guide + :glob: + :hidden: + + users_guide/quickstart + users_guide/interfaces + users_guide/excited_states + users_guide/natural_orbitals + users_guide/printing + users_guide/plugins + users_guide/qp_plugins + users_guide/index + + + +.. toctree:: + :maxdepth: 1 + :caption: Programmer's guide + :hidden: + + programmers_guide/programming + programmers_guide/ezfio + /programmers_guide/plugins + programmers_guide/index + programmers_guide/plugins + + +.. toctree:: + :maxdepth: 1 + :caption: Appendix + :hidden: + + appendix/benchmarks + appendix/research + appendix/license + appendix/contributors + + diff --git a/doc/_sources/intro/install.rst.txt b/doc/_sources/intro/install.rst.txt new file mode 100644 index 00000000..058fcd14 --- /dev/null +++ b/doc/_sources/intro/install.rst.txt @@ -0,0 +1,2 @@ +.. include:: ../../../INSTALL.rst + diff --git a/doc/_sources/intro/intro.rst.txt b/doc/_sources/intro/intro.rst.txt new file mode 100644 index 00000000..aecd072d --- /dev/null +++ b/doc/_sources/intro/intro.rst.txt @@ -0,0 +1,84 @@ +======== +The |qp| +======== + +.. image:: /_static/qp2.png + :align: center + :width: 200px + :alt: Quantum Package + + +What it is +========== + +The |qp| is an open-source **programming environment** for quantum chemistry. +It has been built from the **developper** point of view in order to help +the design of new quantum chemistry methods, +especially for `wave function theory `_ (|WFT|). + +From the **user** point of view, the |qp| proposes a stand-alone path +to use optimized selected configuration interaction |sCI| based on the +|CIPSI| algorithm that can efficiently reach near-full configuration interaction +|FCI| quality for relatively large systems (see for instance :cite:`Caffarel_2016,Caffarel_2016.2,Loos_2018,Scemama_2018,Dash_2018,Garniron_2017.2,Loos_2018,Garniron_2018,Giner2018Oct`). +To have a simple example of how to use the |CIPSI| program, go to the `users_guide/quickstart`. + + +The main goal is the development of selected configuration interaction |sCI| +methods and multi-reference perturbation theory |MRPT| in the +determinant-driven paradigm. It also contains the very basics of Kohn-Sham `density functional theory `_ |KS-DFT| and `range-separated hybrids `_ |RSH|. + +The determinant-driven framework allows the programmer to include any arbitrary set of +determinants in the variational space, and thus gives a complete freedom in the methodological +development. The basic ingredients of |RSH| together with those of the |WFT| framework available in the |qp| library allows one to easily develop range-separated DFT (|RSDFT|) approaches (see for instance the plugins at ``_). + +All the programs are developed with the `IRPF90`_ code generator, which considerably simplifies +the collaborative development, and the development of new features. + + + +What it is not +============== + +The |qp| is *not* a general purpose quantum chemistry program. +First of all, it is a *library* to develop new theories and algorithms in quantum chemistry. +Therefore, beside the use of the programs of the core modules, the users of the |qp| should develop their own programs. + +The |qp| has been designed specifically for |sCI|, so all the +algorithms which are programmed are not adapted to run SCF or DFT calculations +on thousands of atoms. Currently, the systems targeted have less than 600 +molecular orbitals. This limit is due to the memory bottleneck induced by the storring of the two-electron integrals (see ``mo_two_e_integrals`` and ``ao_two_e_integrals``). + +The |qp| is *not* a massive production code. For conventional +methods such as Hartree-Fock, CISD or MP2, the users are recommended to use the +existing standard production codes which are designed to make these methods run +fast. Again, the role of the |qp| is to make life simple for the +developer. Once a new method is developed and tested, the developer is encouraged +to consider re-expressing it with an integral-driven formulation, and to +implement the new method in open-source production codes, such as `NWChem`_ +or |GAMESS|. + + +A few examples of applications +============================== + +Multiple programs were developed with the |qp|, such as: + +- Selected Full-CI + Epstein-Nesbet PT2 (CIPSI) :cite:`Caffarel_2016,Caffarel_2016.2,Loos_2018,Scemama_2018,Dash_2018` +- Hybrid stochastic/deterministic MR-PT2 :cite:`Garniron_2017.2,Loos_2018` +- Orbital optimization for open-shell systems :cite:`Giner2016Mar,Giner_2017.3` +- CIS, CISD, MP2 +- Selected CISD +- Jeziorsky-Monkhorst MR-PT2 :cite:`Giner_2017` +- Effective Hamiltonian for variational MR wave functions :cite:`Giner_2017.2` +- Selected CAS+SD +- Selected difference-dedicated CI (DD-CI) +- Multi-Reference Coupled Cluster (MR-CCSD) :cite:`Giner_2016,Garniron_2017` +- Shifted-Bk with CIPSI :cite:`Garniron_2018` +- CIPSI with range-separated DFT (plugins at ``_) +- DFT for basis set corrections :cite:`Giner_2018` + +All these programs can generate ground and excited states, and spin pure wave +functions (eigenstates of |S^2|). + + + diff --git a/doc/_sources/intro/selected_ci.rst.txt b/doc/_sources/intro/selected_ci.rst.txt new file mode 100644 index 00000000..443a678f --- /dev/null +++ b/doc/_sources/intro/selected_ci.rst.txt @@ -0,0 +1,175 @@ +Selected Configuration Interaction +================================== + +.. default-role:: cite + +These methods rely on the same principle as the usual |CI| approaches, except +that determinants aren't chosen *a priori* based on an occupation or +excitation criterion, but selected *on the fly* among the entire set of +determinants based on their estimated contribution to the |FCI| wave function. +It has been noticed long ago that, even inside a predefined subspace of +determinants, only a small number significantly contributes to the wave +function. `Bytautas_2009,Anderson_2018` Therefore, an *on the fly* +selection of determinants is a rather natural idea that has been proposed +in the late 60's by Bender and Davidson `Bender_1969` as well as Whitten +and Hackmeyer. `Whitten_1969` + +The approach we are using in the |qp| is based on |CIPSI| developed by Huron, +Rancurel and Malrieu, `Huron_1973` that iteratively selects *external* +determinants (determinants which are not present in the variational space) +using a perturbative criterion. + +There is however a computational downside. In *a priori* selected +methods, the rule by which determinants are selected is known *a +priori*, and therefore, one can map a particular determinant to some row or +column index. `Knowles_1984` As a consequence, it can be systematically +determined to which matrix element of :math:`\hat H` a two-electron integral +contributes. This allows for the implementation of so-called +*integral-driven* methods, that work essentially by iterating over +integrals and are very fast. + +On the contrary, in selected methods an explicit list of determinants has to be +kept, and there is no immediate way to know whether a determinant has been +selected, or what its index is in the list. Consequently, a +*determinant-driven* approach will be used, in which the loops run over +determinants rather than integrals. This can be a lot more computationally +expensive since the number of determinants is typically much larger than the +number of integrals. + +What makes *determinant-driven* approaches possible here is: + +- the fact that selected |CI| methods will keep the number of determinants small + enough, orders of magnitude smaller than in *a priori* selected methods for + wave functions with equal energies, +- an efficient way to compare determinants in order to extract the + corresponding excitation operators `Scemama_2013`, +- an intense filtering of the internal space to avoid as much as possible + determinant comparisons of disconnected determinants, +- a fast retrieval of the corresponding two-electron integrals in memory. + + +Simple Algorithm +---------------- + +.. default-role:: math + +.. |SetDI| replace:: `\{|D_I\rangle\}^{(n)}` +.. |Psi_n| replace:: `|\Psi^{(n)}\rangle` +.. |H| replace:: `\hat H` +.. |kalpha| replace:: `|\alpha\rangle` +.. |kalpha_star| replace:: `\{ |\alpha \rangle \}_\star ^{(n)}` +.. |ealpha| replace:: `e_\alpha` +.. |EPT| replace:: `E_\text{PT2}` + +The variational wave function |Psi_n| is defined over a set of determinants +|SetDI| in which we diagonalize |H|. + +.. math:: + + |\Psi^{(n)}\rangle = \sum_{I} c_I^{(n)} |D_I\rangle + + +The determinants in |SetDI| will be characterized as **internal**. + +#. For all **external** determinants |kalpha| `\notin` |SetDI|, compute the + Epstein-Nesbet second-order perturbative contribution to the energy + + .. math:: + + e_\alpha = \frac{ \langle \Psi^{(n)}| {\hat H} | \alpha \rangle^2 }{E^{(n)} - \langle \alpha | {\hat H} | \alpha \rangle }. + + `E^{(n)}` is the variational energy of the wave function at the current + iteration. Note that another perturbation theory could be used to estimate + |ealpha|. + +#. An estimate of the total missing correlation energy can be computed + by summing all the |ealpha| contributions + + .. math:: + + E_\text{PT2} & = \sum_{\alpha} e_\alpha \\ + E_\text{FCI} & \approx E + E_\text{PT2} + +#. |kalpha_star|, the subset of determinants |kalpha| with the largest + contributions |ealpha|, is added to the variational space + + .. math:: + + \{ |D_I \rangle \}^{(n+1)} = \{|D_I\rangle\}^{(n)} \cup \{ |\alpha\rangle \}_\star^{(n)} + + +#. Go to iteration n+1, or exit on some criterion (number of determinants in + the wave function, low |EPT|, ...). + + +Of course, such a procedure can be applied on any state and therefore can allow to treat both ground and excited states. + + +Stochastic approximations for the selection and the computation of |EPT| +------------------------------------------------------------------------ + +The simple algorithm would be too slow to make calculations possible. Instead, +the |QP| uses a stochastic algorithm :cite:`Garniron_2017.2` in order to compute +efficiently the |EPT| and to select on-the-fly the best Slater determinants. + +In such a way, the selection step introduces no extra cost with respect to the |EPT| calculation and the |EPT| +itself is unbiased but associated with a statistical error bar rapidly converging. + + +Deterministic approximations for the selection +---------------------------------------------- + +The following description was used in a previous version of the |CIPSI| algorithm +which was less efficient. Nonetheless, it introduces the notions of **generator** and **selector** determinants +which are much more general than the |CIPSI| algorithm that targets the |FCI| and can be used to realize virtually +**any kind of CI in a selected way**. + + +We define **generator** determinants, as determinants of the internal space +from which the |kalpha| are generated. +We then define **selector** determinants, a truncated wave function +used in the computation of |ealpha|. + +For calculations in the |FCI| space, the determinants are sorted by decreasing +`|c_I|^2`, and thresholds are used on the squared norm of the wave function. +The default is to use :option:`determinants threshold_generators` = 0.99 for +the generators, and :option:`determinants threshold_selectors` = 0.999 for the +selectors. + +This is nothing but the 3-class |CIPSI| approximation to accelerate the selection, +:cite:`Evangelisti_1983` where instead of generating all possible |kalpha|, +we only generate a subset which are likely to be selected. + + +The computation of |EPT| using a truncated wave function is biased, +so if an accurate estimate of the |FCI| energy is desired, it is preferable +to recompute |EPT| with the hybrid deterministic/stochastic algorithm +:cite:`Garniron_2017b` which is unbiased (this is the default). + + +Modifying the selection space +----------------------------- + +By changing the definition of generators, and the rules for the generation of +the |kalpha|, it is easy to define selected variants of traditional |CI| methods. + +For example, if one defines the |HF| determinant as the only generator, +one will produce a selected |CISD|. If one also changes the rules for the generation +to generate only the double excitations, one will have a selected |CID|. + +The generators can also be chosen as determinants belonging to a |CAS|. If the +rules allow only for excitations inside the |CAS|, we obtain a selected +|CAS| |CI|. If the rules allow for excitations in the |FCI| space, we obtain +a selected |CAS-SD|. And if one add the rule to prevent for doing double +excitations with two holes and two particles outside of the active space, one +obtains a selected |DDCI| method. + +All such things can be done very easily when programming the |qp|. + +----------------------------------- + +.. bibliography:: selected.bib + :style: unsrt + :labelprefix: A + + diff --git a/doc/_sources/modules/ao_basis.rst.txt b/doc/_sources/modules/ao_basis.rst.txt new file mode 100644 index 00000000..f61e99e8 --- /dev/null +++ b/doc/_sources/modules/ao_basis.rst.txt @@ -0,0 +1,1245 @@ +.. _module_ao_basis: + +.. program:: ao_basis + +.. default-role:: option + +======== +ao_basis +======== + +This module describes the atomic orbitals basis set. + +An |AO| :math:`\chi` centered on nucleus A is represented as: + +.. math:: + + \chi_i({\bf r}) = (x-X_A)^a (y-Y_A)^b (z-Z_A)^c \sum_k c_{ki} e^{-\gamma_{ki} |{\bf r} - {\bf R}_A|^2} + + +The |AO| coefficients are normalized as: + +.. math:: + + {\tilde c}_{ki} = \frac{c_{ki}}{ \int \left( (x-X_A)^a (y-Y_A)^b (z-Z_A)^c e^{-\gamma_{ki} |{\bf r} - {\bf R}_A|^2} \right)^2 dr} + +Warning: `ao_coef` contains the |AO| coefficients given in input. These do not +include the normalization constant of the |AO|. The `ao_coef_normalized` provider includes +this normalization factor. + +The |AOs| are also sorted by increasing exponent to accelerate the calculation of +the two electron integrals. + + + + + + +EZFIO parameters +---------------- + +.. option:: ao_basis + + Name of the |AO| basis set + + +.. option:: ao_num + + Number of |AOs| + + +.. option:: ao_prim_num + + Number of primitives per |AO| + + +.. option:: ao_prim_num_max + + Maximum number of primitives + + Default: =maxval(ao_basis.ao_prim_num) + +.. option:: ao_nucl + + Index of the nucleus on which the |AO| is centered + + +.. option:: ao_power + + Powers of x, y and z for each |AO| + + +.. option:: ao_coef + + Primitive coefficients, read from input. Those should not be used directly, as the MOs are expressed on the basis of **normalized** AOs. + + +.. option:: ao_expo + + Exponents for each primitive of each |AO| + + +.. option:: ao_md5 + + MD5 key, specific of the |AO| basis + + +.. option:: ao_cartesian + + If |true|, use |AOs| in Cartesian coordinates (6d,10f,...) + + Default: false + + +Providers +--------- + +.. c:var:: ao_coef_normalization_factor + + + File : :file:`ao_basis/aos.irp.f` + + .. code:: fortran + + double precision, allocatable :: ao_coef_normalized (ao_num,ao_prim_num_max) + double precision, allocatable :: ao_coef_normalization_factor (ao_num) + + + Coefficients including the |AO| normalization + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_coef` + * :c:data:`ao_expo` + * :c:data:`ao_num` + * :c:data:`ao_power` + * :c:data:`ao_prim_num` + * :c:data:`ao_prim_num_max` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_coef_normalization_libint_factor` + * :c:data:`ao_coef_normalized_ordered` + + +.. c:var:: ao_coef_normalization_libint_factor + + + File : :file:`ao_basis/aos.irp.f` + + .. code:: fortran + + double precision, allocatable :: ao_coef_normalization_libint_factor (ao_num) + + + |AO| normalization for interfacing with libint + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_coef_normalized` + * :c:data:`ao_expo` + * :c:data:`ao_l` + * :c:data:`ao_num` + * :c:data:`ao_prim_num` + + + +.. c:var:: ao_coef_normalized + + + File : :file:`ao_basis/aos.irp.f` + + .. code:: fortran + + double precision, allocatable :: ao_coef_normalized (ao_num,ao_prim_num_max) + double precision, allocatable :: ao_coef_normalization_factor (ao_num) + + + Coefficients including the |AO| normalization + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_coef` + * :c:data:`ao_expo` + * :c:data:`ao_num` + * :c:data:`ao_power` + * :c:data:`ao_prim_num` + * :c:data:`ao_prim_num_max` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_coef_normalization_libint_factor` + * :c:data:`ao_coef_normalized_ordered` + + +.. c:var:: ao_coef_normalized_ordered + + + File : :file:`ao_basis/aos.irp.f` + + .. code:: fortran + + double precision, allocatable :: ao_coef_normalized_ordered (ao_num,ao_prim_num_max) + double precision, allocatable :: ao_expo_ordered (ao_num,ao_prim_num_max) + + + Sorted primitives to accelerate 4 index |MO| transformation + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_coef_normalized` + * :c:data:`ao_expo` + * :c:data:`ao_num` + * :c:data:`ao_prim_num` + * :c:data:`ao_prim_num_max` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_coef_normalized_ordered_transp` + * :c:data:`ao_expo_ordered_transp` + + +.. c:var:: ao_coef_normalized_ordered_transp + + + File : :file:`ao_basis/aos.irp.f` + + .. code:: fortran + + double precision, allocatable :: ao_coef_normalized_ordered_transp (ao_prim_num_max,ao_num) + + + Transposed :c:data:`ao_coef_normalized_ordered` + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_coef_normalized_ordered` + * :c:data:`ao_num` + * :c:data:`ao_prim_num_max` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_coef_normalized_ordered_transp_per_nucl` + * :c:data:`ao_deriv2_x` + * :c:data:`ao_deriv_1_x` + * :c:data:`ao_dipole_x` + * :c:data:`ao_integrals_n_e` + * :c:data:`ao_integrals_n_e_per_atom` + * :c:data:`ao_overlap` + * :c:data:`ao_overlap_abs` + * :c:data:`ao_pseudo_integrals_local` + * :c:data:`ao_pseudo_integrals_non_local` + * :c:data:`ao_spread_x` + * :c:data:`ao_two_e_integral_alpha` + * :c:data:`ao_two_e_integral_erf_schwartz` + * :c:data:`ao_two_e_integral_schwartz` + * :c:data:`ao_two_e_integrals_erf_in_map` + * :c:data:`ao_two_e_integrals_in_map` + + +.. c:var:: ao_coef_normalized_ordered_transp_per_nucl + + + File : :file:`ao_basis/aos_transp.irp.f` + + .. code:: fortran + + double precision, allocatable :: ao_coef_normalized_ordered_transp_per_nucl (ao_prim_num_max,N_AOs_max,nucl_num) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_coef_normalized_ordered_transp` + * :c:data:`ao_prim_num` + * :c:data:`ao_prim_num_max` + * :c:data:`nucl_aos_transposed` + * :c:data:`nucl_n_aos` + * :c:data:`nucl_num` + + + +.. c:var:: ao_expo_ordered + + + File : :file:`ao_basis/aos.irp.f` + + .. code:: fortran + + double precision, allocatable :: ao_coef_normalized_ordered (ao_num,ao_prim_num_max) + double precision, allocatable :: ao_expo_ordered (ao_num,ao_prim_num_max) + + + Sorted primitives to accelerate 4 index |MO| transformation + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_coef_normalized` + * :c:data:`ao_expo` + * :c:data:`ao_num` + * :c:data:`ao_prim_num` + * :c:data:`ao_prim_num_max` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_coef_normalized_ordered_transp` + * :c:data:`ao_expo_ordered_transp` + + +.. c:var:: ao_expo_ordered_transp + + + File : :file:`ao_basis/aos.irp.f` + + .. code:: fortran + + double precision, allocatable :: ao_expo_ordered_transp (ao_prim_num_max,ao_num) + + + Transposed :c:data:`ao_expo_ordered` + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_coef_normalized_ordered` + * :c:data:`ao_num` + * :c:data:`ao_prim_num_max` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_deriv2_x` + * :c:data:`ao_deriv_1_x` + * :c:data:`ao_dipole_x` + * :c:data:`ao_expo_ordered_transp_per_nucl` + * :c:data:`ao_integrals_n_e` + * :c:data:`ao_integrals_n_e_per_atom` + * :c:data:`ao_overlap` + * :c:data:`ao_overlap_abs` + * :c:data:`ao_pseudo_integrals_local` + * :c:data:`ao_pseudo_integrals_non_local` + * :c:data:`ao_spread_x` + * :c:data:`ao_two_e_integral_alpha` + * :c:data:`ao_two_e_integral_erf_schwartz` + * :c:data:`ao_two_e_integral_schwartz` + * :c:data:`ao_two_e_integrals_erf_in_map` + * :c:data:`ao_two_e_integrals_in_map` + + +.. c:var:: ao_expo_ordered_transp_per_nucl + + + File : :file:`ao_basis/aos_transp.irp.f` + + .. code:: fortran + + double precision, allocatable :: ao_expo_ordered_transp_per_nucl (ao_prim_num_max,N_AOs_max,nucl_num) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_expo_ordered_transp` + * :c:data:`ao_prim_num` + * :c:data:`ao_prim_num_max` + * :c:data:`nucl_aos_transposed` + * :c:data:`nucl_n_aos` + * :c:data:`nucl_num` + + + +.. c:var:: ao_l + + + File : :file:`ao_basis/aos.irp.f` + + .. code:: fortran + + integer, allocatable :: ao_l (ao_num) + integer :: ao_l_max + character*(128), allocatable :: ao_l_char (ao_num) + + + :math:`l` value of the |AO|: :math`a+b+c` in :math:`x^a y^b z^c` + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`ao_power` + * :c:data:`l_to_charater` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_cart_to_sphe_coef` + * :c:data:`ao_coef_normalization_libint_factor` + * :c:data:`ao_l_char_space` + * :c:data:`nucl_list_shell_aos` + + +.. c:var:: ao_l_char + + + File : :file:`ao_basis/aos.irp.f` + + .. code:: fortran + + integer, allocatable :: ao_l (ao_num) + integer :: ao_l_max + character*(128), allocatable :: ao_l_char (ao_num) + + + :math:`l` value of the |AO|: :math`a+b+c` in :math:`x^a y^b z^c` + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`ao_power` + * :c:data:`l_to_charater` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_cart_to_sphe_coef` + * :c:data:`ao_coef_normalization_libint_factor` + * :c:data:`ao_l_char_space` + * :c:data:`nucl_list_shell_aos` + + +.. c:var:: ao_l_char_space + + + File : :file:`ao_basis/aos.irp.f` + + .. code:: fortran + + character*(4), allocatable :: ao_l_char_space (ao_num) + + + Converts an l value to a string + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_l` + * :c:data:`ao_num` + * :c:data:`ao_power` + + + +.. c:var:: ao_l_max + + + File : :file:`ao_basis/aos.irp.f` + + .. code:: fortran + + integer, allocatable :: ao_l (ao_num) + integer :: ao_l_max + character*(128), allocatable :: ao_l_char (ao_num) + + + :math:`l` value of the |AO|: :math`a+b+c` in :math:`x^a y^b z^c` + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`ao_power` + * :c:data:`l_to_charater` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_cart_to_sphe_coef` + * :c:data:`ao_coef_normalization_libint_factor` + * :c:data:`ao_l_char_space` + * :c:data:`nucl_list_shell_aos` + + +.. c:var:: ao_power_ordered_transp_per_nucl + + + File : :file:`ao_basis/aos_transp.irp.f` + + .. code:: fortran + + integer, allocatable :: ao_power_ordered_transp_per_nucl (3,N_AOs_max,nucl_num) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_power` + * :c:data:`nucl_aos_transposed` + * :c:data:`nucl_n_aos` + * :c:data:`nucl_num` + + + +.. c:var:: ao_prim_num_max + + + File : :file:`ao_basis/aos.irp.f` + + .. code:: fortran + + integer :: ao_prim_num_max + + + Max number of primitives. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_prim_num` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_coef` + * :c:data:`ao_coef_normalized` + * :c:data:`ao_coef_normalized_ordered` + * :c:data:`ao_coef_normalized_ordered_transp` + * :c:data:`ao_coef_normalized_ordered_transp_per_nucl` + * :c:data:`ao_expo` + * :c:data:`ao_expo_ordered_transp` + * :c:data:`ao_expo_ordered_transp_per_nucl` + + +.. c:var:: cart_to_sphe_0 + + + File : :file:`ao_basis/spherical_to_cartesian.irp.f` + + .. code:: fortran + + double precision, allocatable :: cart_to_sphe_0 (1,1) + + + Spherical -> Cartesian Transformation matrix for l=0 + + + +.. c:var:: cart_to_sphe_1 + + + File : :file:`ao_basis/spherical_to_cartesian.irp.f` + + .. code:: fortran + + double precision, allocatable :: cart_to_sphe_1 (3,3) + + + Spherical -> Cartesian Transformation matrix for l=1 + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_cart_to_sphe_coef` + + +.. c:var:: cart_to_sphe_2 + + + File : :file:`ao_basis/spherical_to_cartesian.irp.f` + + .. code:: fortran + + double precision, allocatable :: cart_to_sphe_2 (6,5) + + + Spherical -> Cartesian Transformation matrix for l=2 + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_cart_to_sphe_coef` + + +.. c:var:: cart_to_sphe_3 + + + File : :file:`ao_basis/spherical_to_cartesian.irp.f` + + .. code:: fortran + + double precision, allocatable :: cart_to_sphe_3 (10,7) + + + Spherical -> Cartesian Transformation matrix for l=3 + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_cart_to_sphe_coef` + + +.. c:var:: cart_to_sphe_4 + + + File : :file:`ao_basis/spherical_to_cartesian.irp.f` + + .. code:: fortran + + double precision, allocatable :: cart_to_sphe_4 (15,9) + + + Spherical -> Cartesian Transformation matrix for l=4 + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_cart_to_sphe_coef` + + +.. c:var:: cart_to_sphe_5 + + + File : :file:`ao_basis/spherical_to_cartesian.irp.f` + + .. code:: fortran + + double precision, allocatable :: cart_to_sphe_5 (21,11) + + + Spherical -> Cartesian Transformation matrix for l=5 + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_cart_to_sphe_coef` + + +.. c:var:: cart_to_sphe_6 + + + File : :file:`ao_basis/spherical_to_cartesian.irp.f` + + .. code:: fortran + + double precision, allocatable :: cart_to_sphe_6 (28,13) + + + Spherical -> Cartesian Transformation matrix for l=6 + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_cart_to_sphe_coef` + + +.. c:var:: cart_to_sphe_7 + + + File : :file:`ao_basis/spherical_to_cartesian.irp.f` + + .. code:: fortran + + double precision, allocatable :: cart_to_sphe_7 (36,15) + + + Spherical -> Cartesian Transformation matrix for l=7 + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_cart_to_sphe_coef` + + +.. c:var:: cart_to_sphe_8 + + + File : :file:`ao_basis/spherical_to_cartesian.irp.f` + + .. code:: fortran + + double precision, allocatable :: cart_to_sphe_8 (45,17) + + + Spherical -> Cartesian Transformation matrix for l=8 + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_cart_to_sphe_coef` + + +.. c:var:: cart_to_sphe_9 + + + File : :file:`ao_basis/spherical_to_cartesian.irp.f` + + .. code:: fortran + + double precision, allocatable :: cart_to_sphe_9 (55,19) + + + Spherical -> Cartesian Transformation matrix for l=9 + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_cart_to_sphe_coef` + + +.. c:var:: l_to_charater + + + File : :file:`ao_basis/aos.irp.f` + + .. code:: fortran + + character*(128), allocatable :: l_to_charater (0:7) + + + Character corresponding to the "l" value of an |AO| + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_l` + + +.. c:var:: n_aos_max + + + File : :file:`ao_basis/aos.irp.f` + + .. code:: fortran + + integer, allocatable :: nucl_n_aos (nucl_num) + integer :: n_aos_max + + + Number of |AOs| per atom + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_nucl` + * :c:data:`ao_num` + * :c:data:`nucl_num` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_coef_normalized_ordered_transp_per_nucl` + * :c:data:`ao_expo_ordered_transp_per_nucl` + * :c:data:`ao_power_ordered_transp_per_nucl` + * :c:data:`nucl_aos` + * :c:data:`nucl_aos_transposed` + * :c:data:`nucl_list_shell_aos` + + +.. c:var:: n_pt_max_i_x + + + File : :file:`ao_basis/dimensions_integrals.irp.f` + + .. code:: fortran + + integer :: n_pt_max_integrals + integer :: n_pt_max_i_x + + + Number of points used in the numerical integrations. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_power` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_integrals_n_e` + * :c:data:`ao_integrals_n_e_per_atom` + * :c:data:`ao_two_e_integral_alpha` + * :c:data:`ao_two_e_integral_erf_schwartz` + * :c:data:`ao_two_e_integral_schwartz` + * :c:data:`ao_two_e_integrals_erf_in_map` + * :c:data:`ao_two_e_integrals_in_map` + * :c:data:`gauleg_t2` + + +.. c:var:: n_pt_max_integrals + + + File : :file:`ao_basis/dimensions_integrals.irp.f` + + .. code:: fortran + + integer :: n_pt_max_integrals + integer :: n_pt_max_i_x + + + Number of points used in the numerical integrations. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_power` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_integrals_n_e` + * :c:data:`ao_integrals_n_e_per_atom` + * :c:data:`ao_two_e_integral_alpha` + * :c:data:`ao_two_e_integral_erf_schwartz` + * :c:data:`ao_two_e_integral_schwartz` + * :c:data:`ao_two_e_integrals_erf_in_map` + * :c:data:`ao_two_e_integrals_in_map` + * :c:data:`gauleg_t2` + + +.. c:var:: nucl_aos + + + File : :file:`ao_basis/aos.irp.f` + + .. code:: fortran + + integer, allocatable :: nucl_aos (nucl_num,N_AOs_max) + + + List of |AOs| centered on each atom + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_nucl` + * :c:data:`ao_num` + * :c:data:`nucl_n_aos` + * :c:data:`nucl_num` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`nucl_aos_transposed` + * :c:data:`nucl_list_shell_aos` + + +.. c:var:: nucl_aos_transposed + + + File : :file:`ao_basis/aos_transp.irp.f` + + .. code:: fortran + + integer, allocatable :: nucl_aos_transposed (N_AOs_max,nucl_num) + + + List of AOs attached on each atom + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_nucl` + * :c:data:`ao_num` + * :c:data:`nucl_aos` + * :c:data:`nucl_n_aos` + * :c:data:`nucl_num` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_coef_normalized_ordered_transp_per_nucl` + * :c:data:`ao_expo_ordered_transp_per_nucl` + * :c:data:`ao_power_ordered_transp_per_nucl` + + +.. c:var:: nucl_list_shell_aos + + + File : :file:`ao_basis/aos.irp.f` + + .. code:: fortran + + integer, allocatable :: nucl_list_shell_aos (nucl_num,N_AOs_max) + integer, allocatable :: nucl_num_shell_aos (nucl_num) + + + Index of the shell type |AOs| and of the corresponding |AOs| + By convention, for p,d,f and g |AOs|, we take the index + of the |AO| with the the corresponding power in the x axis + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_l` + * :c:data:`ao_power` + * :c:data:`nucl_aos` + * :c:data:`nucl_n_aos` + * :c:data:`nucl_num` + + + +.. c:var:: nucl_n_aos + + + File : :file:`ao_basis/aos.irp.f` + + .. code:: fortran + + integer, allocatable :: nucl_n_aos (nucl_num) + integer :: n_aos_max + + + Number of |AOs| per atom + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_nucl` + * :c:data:`ao_num` + * :c:data:`nucl_num` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_coef_normalized_ordered_transp_per_nucl` + * :c:data:`ao_expo_ordered_transp_per_nucl` + * :c:data:`ao_power_ordered_transp_per_nucl` + * :c:data:`nucl_aos` + * :c:data:`nucl_aos_transposed` + * :c:data:`nucl_list_shell_aos` + + +.. c:var:: nucl_num_shell_aos + + + File : :file:`ao_basis/aos.irp.f` + + .. code:: fortran + + integer, allocatable :: nucl_list_shell_aos (nucl_num,N_AOs_max) + integer, allocatable :: nucl_num_shell_aos (nucl_num) + + + Index of the shell type |AOs| and of the corresponding |AOs| + By convention, for p,d,f and g |AOs|, we take the index + of the |AO| with the the corresponding power in the x axis + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_l` + * :c:data:`ao_power` + * :c:data:`nucl_aos` + * :c:data:`nucl_n_aos` + * :c:data:`nucl_num` + + + + +Subroutines / functions +----------------------- + +.. c:function:: ao_power_index: + + + File : :file:`ao_basis/aos.irp.f` + + .. code:: fortran + + integer function ao_power_index(nx,ny,nz) + + + Unique index given to a triplet of powers: + + :math:`\frac{1}{2} (l-n_x) (l-n_x+1) + n_z + 1` + + +.. c:function:: ao_value: + + + File : :file:`ao_basis/aos_value.irp.f` + + .. code:: fortran + + double precision function ao_value(i,r) + + + return the value of the ith ao at point r + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_coef_normalized_ordered_transp` + * :c:data:`ao_power` + * :c:data:`ao_expo_ordered_transp` + * :c:data:`ao_prim_num` + * :c:data:`ao_nucl` + * :c:data:`nucl_coord` + + +.. c:function:: give_all_aos_and_grad_and_lapl_at_r: + + + File : :file:`ao_basis/aos_value.irp.f` + + .. code:: fortran + + subroutine give_all_aos_and_grad_and_lapl_at_r(r,aos_array,aos_grad_array,aos_lapl_array) + + + input : r(1) ==> r(1) = x, r(2) = y, r(3) = z + output : aos_array(i) = ao(i) evaluated at r + : aos_grad_array(1,i) = gradient X of the ao(i) evaluated at r + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_expo_ordered_transp_per_nucl` + * :c:data:`ao_power_ordered_transp_per_nucl` + * :c:data:`nucl_n_aos` + * :c:data:`ao_num` + * :c:data:`ao_prim_num` + * :c:data:`ao_coef_normalized_ordered_transp_per_nucl` + * :c:data:`nucl_aos_transposed` + * :c:data:`nucl_coord` + * :c:data:`nucl_num` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`give_all_mos_and_grad_and_lapl_at_r` + + +.. c:function:: give_all_aos_and_grad_at_r: + + + File : :file:`ao_basis/aos_value.irp.f` + + .. code:: fortran + + subroutine give_all_aos_and_grad_at_r(r,aos_array,aos_grad_array) + + + input : r(1) ==> r(1) = x, r(2) = y, r(3) = z + output : aos_array(i) = ao(i) evaluated at r + : aos_grad_array(1,i) = gradient X of the ao(i) evaluated at r + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_expo_ordered_transp_per_nucl` + * :c:data:`ao_power_ordered_transp_per_nucl` + * :c:data:`nucl_n_aos` + * :c:data:`ao_num` + * :c:data:`ao_prim_num` + * :c:data:`ao_coef_normalized_ordered_transp_per_nucl` + * :c:data:`nucl_aos_transposed` + * :c:data:`nucl_coord` + * :c:data:`nucl_num` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`give_all_mos_and_grad_at_r` + + +.. c:function:: give_all_aos_at_r: + + + File : :file:`ao_basis/aos_value.irp.f` + + .. code:: fortran + + subroutine give_all_aos_at_r(r,aos_array) + + + input : r == r(1) = x and so on + aos_array(i) = aos(i) evaluated in r + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_expo_ordered_transp_per_nucl` + * :c:data:`ao_power_ordered_transp_per_nucl` + * :c:data:`nucl_n_aos` + * :c:data:`ao_num` + * :c:data:`ao_prim_num` + * :c:data:`ao_coef_normalized_ordered_transp_per_nucl` + * :c:data:`nucl_aos_transposed` + * :c:data:`nucl_coord` + * :c:data:`nucl_num` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`give_all_mos_at_r` + + +.. c:function:: give_all_aos_at_r_old: + + + File : :file:`ao_basis/aos_value.irp.f` + + .. code:: fortran + + subroutine give_all_aos_at_r_old(r,aos_array) + + + gives the values of aos at a given point r + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + + +.. c:function:: primitive_value: + + + File : :file:`ao_basis/aos_value.irp.f` + + .. code:: fortran + + double precision function primitive_value(i,j,r) + + + return the value of the jth primitive of ith ao at point r WITHOUT THE COEF + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_expo_ordered_transp` + * :c:data:`ao_nucl` + * :c:data:`nucl_coord` + * :c:data:`ao_power` + diff --git a/doc/_sources/modules/ao_one_e_ints.rst.txt b/doc/_sources/modules/ao_one_e_ints.rst.txt new file mode 100644 index 00000000..53f5844c --- /dev/null +++ b/doc/_sources/modules/ao_one_e_ints.rst.txt @@ -0,0 +1,2015 @@ +.. _module_ao_one_e_ints: + +.. program:: ao_one_e_ints + +.. default-role:: option + +================== +ao_one_e_integrals +================== + +All the one-electron integrals in the |AO| basis are here. + +The most important providers for usual quantum-chemistry calculation are: + +* `ao_kinetic_integral` which are the kinetic operator integrals on the |AO| basis (see :file:`kin_ao_ints.irp.f`) +* `ao_nucl_elec_integral` which are the nuclear-elctron operator integrals on the |AO| basis (see :file:`pot_ao_ints.irp.f`) +* `ao_one_e_integrals` which are the the h_core operator integrals on the |AO| basis (see :file:`ao_mono_ints.irp.f`) + + +Note that you can find other interesting integrals related to the position operator in :file:`spread_dipole_ao.irp.f`. + + + +EZFIO parameters +---------------- + +.. option:: ao_integrals_e_n + + Nucleus-electron integrals in |AO| basis set + + +.. option:: io_ao_integrals_e_n + + Read/Write |AO| nucleus-electron attraction integrals from/to disk [ Write | Read | None ] + + Default: None + +.. option:: ao_integrals_kinetic + + Kinetic energy integrals in |AO| basis set + + +.. option:: io_ao_integrals_kinetic + + Read/Write |AO| kinetic integrals from/to disk [ Write | Read | None ] + + Default: None + +.. option:: ao_integrals_pseudo + + Pseudopotential integrals in |AO| basis set + + +.. option:: io_ao_integrals_pseudo + + Read/Write |AO| pseudopotential integrals from/to disk [ Write | Read | None ] + + Default: None + +.. option:: ao_integrals_overlap + + Overlap integrals in |AO| basis set + + +.. option:: io_ao_integrals_overlap + + Read/Write |AO| overlap integrals from/to disk [ Write | Read | None ] + + Default: None + +.. option:: ao_one_e_integrals + + Combined integrals in |AO| basis set + + +.. option:: io_ao_one_e_integrals + + Read/Write |AO| one-electron integrals from/to disk [ Write | Read | None ] + + Default: None + + +Providers +--------- + +.. c:var:: ao_cart_to_sphe_coef + + + File : :file:`ao_one_e_ints/ao_ortho_canonical.irp.f` + + .. code:: fortran + + double precision, allocatable :: ao_cart_to_sphe_coef (ao_num,ao_num) + integer :: ao_cart_to_sphe_num + + + Coefficients to go from cartesian to spherical coordinates in the current + basis set + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_l` + * :c:data:`ao_num` + * :c:data:`ao_power` + * :c:data:`cart_to_sphe_1` + * :c:data:`cart_to_sphe_2` + * :c:data:`cart_to_sphe_3` + * :c:data:`cart_to_sphe_4` + * :c:data:`cart_to_sphe_5` + * :c:data:`cart_to_sphe_6` + * :c:data:`cart_to_sphe_7` + * :c:data:`cart_to_sphe_8` + * :c:data:`cart_to_sphe_9` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_cart_to_sphe_inv` + * :c:data:`ao_cart_to_sphe_overlap` + * :c:data:`ao_ortho_canonical_coef` + + +.. c:var:: ao_cart_to_sphe_inv + + + File : :file:`ao_one_e_ints/ao_ortho_canonical.irp.f` + + .. code:: fortran + + double precision, allocatable :: ao_cart_to_sphe_inv (ao_cart_to_sphe_num,ao_num) + + + Inverse of :c:data:`ao_cart_to_sphe_coef` + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_cart_to_sphe_coef` + * :c:data:`ao_num` + + + +.. c:var:: ao_cart_to_sphe_num + + + File : :file:`ao_one_e_ints/ao_ortho_canonical.irp.f` + + .. code:: fortran + + double precision, allocatable :: ao_cart_to_sphe_coef (ao_num,ao_num) + integer :: ao_cart_to_sphe_num + + + Coefficients to go from cartesian to spherical coordinates in the current + basis set + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_l` + * :c:data:`ao_num` + * :c:data:`ao_power` + * :c:data:`cart_to_sphe_1` + * :c:data:`cart_to_sphe_2` + * :c:data:`cart_to_sphe_3` + * :c:data:`cart_to_sphe_4` + * :c:data:`cart_to_sphe_5` + * :c:data:`cart_to_sphe_6` + * :c:data:`cart_to_sphe_7` + * :c:data:`cart_to_sphe_8` + * :c:data:`cart_to_sphe_9` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_cart_to_sphe_inv` + * :c:data:`ao_cart_to_sphe_overlap` + * :c:data:`ao_ortho_canonical_coef` + + +.. c:var:: ao_cart_to_sphe_overlap + + + File : :file:`ao_one_e_ints/ao_ortho_canonical.irp.f` + + .. code:: fortran + + double precision, allocatable :: ao_cart_to_sphe_overlap (ao_cart_to_sphe_num,ao_cart_to_sphe_num) + + + |AO| overlap matrix in the spherical basis set + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_cart_to_sphe_coef` + * :c:data:`ao_num` + * :c:data:`ao_overlap` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_ortho_canonical_coef` + + +.. c:var:: ao_deriv2_x + + + File : :file:`ao_one_e_ints/kin_ao_ints.irp.f` + + .. code:: fortran + + double precision, allocatable :: ao_deriv2_x (ao_num,ao_num) + double precision, allocatable :: ao_deriv2_y (ao_num,ao_num) + double precision, allocatable :: ao_deriv2_z (ao_num,ao_num) + + + Second derivative matrix elements in the |AO| basis. + + :math:`{\tt ao\_deriv2\_x} = + \langle \chi_i(x,y,z) | \frac{\partial^2}{\partial x^2} |\chi_j (x,y,z) \rangle` + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_coef_normalized_ordered_transp` + * :c:data:`ao_expo_ordered_transp` + * :c:data:`ao_nucl` + * :c:data:`ao_num` + * :c:data:`ao_power` + * :c:data:`ao_prim_num` + * :c:data:`nucl_coord` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_kinetic_integrals` + + +.. c:var:: ao_deriv2_y + + + File : :file:`ao_one_e_ints/kin_ao_ints.irp.f` + + .. code:: fortran + + double precision, allocatable :: ao_deriv2_x (ao_num,ao_num) + double precision, allocatable :: ao_deriv2_y (ao_num,ao_num) + double precision, allocatable :: ao_deriv2_z (ao_num,ao_num) + + + Second derivative matrix elements in the |AO| basis. + + :math:`{\tt ao\_deriv2\_x} = + \langle \chi_i(x,y,z) | \frac{\partial^2}{\partial x^2} |\chi_j (x,y,z) \rangle` + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_coef_normalized_ordered_transp` + * :c:data:`ao_expo_ordered_transp` + * :c:data:`ao_nucl` + * :c:data:`ao_num` + * :c:data:`ao_power` + * :c:data:`ao_prim_num` + * :c:data:`nucl_coord` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_kinetic_integrals` + + +.. c:var:: ao_deriv2_z + + + File : :file:`ao_one_e_ints/kin_ao_ints.irp.f` + + .. code:: fortran + + double precision, allocatable :: ao_deriv2_x (ao_num,ao_num) + double precision, allocatable :: ao_deriv2_y (ao_num,ao_num) + double precision, allocatable :: ao_deriv2_z (ao_num,ao_num) + + + Second derivative matrix elements in the |AO| basis. + + :math:`{\tt ao\_deriv2\_x} = + \langle \chi_i(x,y,z) | \frac{\partial^2}{\partial x^2} |\chi_j (x,y,z) \rangle` + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_coef_normalized_ordered_transp` + * :c:data:`ao_expo_ordered_transp` + * :c:data:`ao_nucl` + * :c:data:`ao_num` + * :c:data:`ao_power` + * :c:data:`ao_prim_num` + * :c:data:`nucl_coord` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_kinetic_integrals` + + +.. c:var:: ao_deriv_1_x + + + File : :file:`ao_one_e_ints/spread_dipole_ao.irp.f` + + .. code:: fortran + + double precision, allocatable :: ao_deriv_1_x (ao_num,ao_num) + double precision, allocatable :: ao_deriv_1_y (ao_num,ao_num) + double precision, allocatable :: ao_deriv_1_z (ao_num,ao_num) + + + * array of the integrals of AO_i * d/dx AO_j + + * array of the integrals of AO_i * d/dy AO_j + + * array of the integrals of AO_i * d/dz AO_j + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_coef_normalized_ordered_transp` + * :c:data:`ao_expo_ordered_transp` + * :c:data:`ao_nucl` + * :c:data:`ao_num` + * :c:data:`ao_power` + * :c:data:`ao_prim_num` + * :c:data:`nucl_coord` + + + +.. c:var:: ao_deriv_1_y + + + File : :file:`ao_one_e_ints/spread_dipole_ao.irp.f` + + .. code:: fortran + + double precision, allocatable :: ao_deriv_1_x (ao_num,ao_num) + double precision, allocatable :: ao_deriv_1_y (ao_num,ao_num) + double precision, allocatable :: ao_deriv_1_z (ao_num,ao_num) + + + * array of the integrals of AO_i * d/dx AO_j + + * array of the integrals of AO_i * d/dy AO_j + + * array of the integrals of AO_i * d/dz AO_j + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_coef_normalized_ordered_transp` + * :c:data:`ao_expo_ordered_transp` + * :c:data:`ao_nucl` + * :c:data:`ao_num` + * :c:data:`ao_power` + * :c:data:`ao_prim_num` + * :c:data:`nucl_coord` + + + +.. c:var:: ao_deriv_1_z + + + File : :file:`ao_one_e_ints/spread_dipole_ao.irp.f` + + .. code:: fortran + + double precision, allocatable :: ao_deriv_1_x (ao_num,ao_num) + double precision, allocatable :: ao_deriv_1_y (ao_num,ao_num) + double precision, allocatable :: ao_deriv_1_z (ao_num,ao_num) + + + * array of the integrals of AO_i * d/dx AO_j + + * array of the integrals of AO_i * d/dy AO_j + + * array of the integrals of AO_i * d/dz AO_j + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_coef_normalized_ordered_transp` + * :c:data:`ao_expo_ordered_transp` + * :c:data:`ao_nucl` + * :c:data:`ao_num` + * :c:data:`ao_power` + * :c:data:`ao_prim_num` + * :c:data:`nucl_coord` + + + +.. c:var:: ao_dipole_x + + + File : :file:`ao_one_e_ints/spread_dipole_ao.irp.f` + + .. code:: fortran + + double precision, allocatable :: ao_dipole_x (ao_num,ao_num) + double precision, allocatable :: ao_dipole_y (ao_num,ao_num) + double precision, allocatable :: ao_dipole_z (ao_num,ao_num) + + + * array of the integrals of AO_i * x AO_j + + * array of the integrals of AO_i * y AO_j + + * array of the integrals of AO_i * z AO_j + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_coef_normalized_ordered_transp` + * :c:data:`ao_expo_ordered_transp` + * :c:data:`ao_nucl` + * :c:data:`ao_num` + * :c:data:`ao_power` + * :c:data:`ao_prim_num` + * :c:data:`nucl_coord` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_dipole_x` + + +.. c:var:: ao_dipole_y + + + File : :file:`ao_one_e_ints/spread_dipole_ao.irp.f` + + .. code:: fortran + + double precision, allocatable :: ao_dipole_x (ao_num,ao_num) + double precision, allocatable :: ao_dipole_y (ao_num,ao_num) + double precision, allocatable :: ao_dipole_z (ao_num,ao_num) + + + * array of the integrals of AO_i * x AO_j + + * array of the integrals of AO_i * y AO_j + + * array of the integrals of AO_i * z AO_j + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_coef_normalized_ordered_transp` + * :c:data:`ao_expo_ordered_transp` + * :c:data:`ao_nucl` + * :c:data:`ao_num` + * :c:data:`ao_power` + * :c:data:`ao_prim_num` + * :c:data:`nucl_coord` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_dipole_x` + + +.. c:var:: ao_dipole_z + + + File : :file:`ao_one_e_ints/spread_dipole_ao.irp.f` + + .. code:: fortran + + double precision, allocatable :: ao_dipole_x (ao_num,ao_num) + double precision, allocatable :: ao_dipole_y (ao_num,ao_num) + double precision, allocatable :: ao_dipole_z (ao_num,ao_num) + + + * array of the integrals of AO_i * x AO_j + + * array of the integrals of AO_i * y AO_j + + * array of the integrals of AO_i * z AO_j + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_coef_normalized_ordered_transp` + * :c:data:`ao_expo_ordered_transp` + * :c:data:`ao_nucl` + * :c:data:`ao_num` + * :c:data:`ao_power` + * :c:data:`ao_prim_num` + * :c:data:`nucl_coord` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_dipole_x` + + +.. c:var:: ao_integrals_n_e + + + File : :file:`ao_one_e_ints/pot_ao_ints.irp.f` + + .. code:: fortran + + double precision, allocatable :: ao_integrals_n_e (ao_num,ao_num) + + + Nucleus-electron interaction, in the |AO| basis set. + + :math:`\langle \chi_i | -\sum_A \frac{1}{|r-R_A|} | \chi_j \rangle` + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_coef_normalized_ordered_transp` + * :c:data:`ao_expo_ordered_transp` + * :c:data:`ao_nucl` + * :c:data:`ao_num` + * :c:data:`ao_power` + * :c:data:`ao_prim_num` + * :c:data:`n_pt_max_integrals` + * :c:data:`nucl_charge` + * :c:data:`nucl_coord` + * :c:data:`nucl_num` + * :c:data:`read_ao_integrals_e_n` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_one_e_integrals` + * :c:data:`ao_ortho_canonical_nucl_elec_integrals` + * :c:data:`ao_ortho_lowdin_nucl_elec_integrals` + * :c:data:`mo_integrals_n_e` + + +.. c:var:: ao_integrals_n_e_per_atom + + + File : :file:`ao_one_e_ints/pot_ao_ints.irp.f` + + .. code:: fortran + + double precision, allocatable :: ao_integrals_n_e_per_atom (ao_num,ao_num,nucl_num) + + + Nucleus-electron interaction in the |AO| basis set, per atom A. + + :math:`\langle \chi_i | -\frac{1}{|r-R_A|} | \chi_j \rangle` + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_coef_normalized_ordered_transp` + * :c:data:`ao_expo_ordered_transp` + * :c:data:`ao_nucl` + * :c:data:`ao_num` + * :c:data:`ao_power` + * :c:data:`ao_prim_num` + * :c:data:`n_pt_max_integrals` + * :c:data:`nucl_coord` + * :c:data:`nucl_num` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_integrals_n_e_per_atom` + + +.. c:var:: ao_kinetic_integrals + + + File : :file:`ao_one_e_ints/kin_ao_ints.irp.f` + + .. code:: fortran + + double precision, allocatable :: ao_kinetic_integrals (ao_num,ao_num) + + + Kinetic energy integrals in the |AO| basis. + + :math:`\langle \chi_i |\hat{T}| \chi_j \rangle` + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_deriv2_x` + * :c:data:`ao_num` + * :c:data:`read_ao_integrals_kinetic` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_one_e_integrals` + * :c:data:`mo_kinetic_integrals` + + +.. c:var:: ao_one_e_integrals + + + File : :file:`ao_one_e_ints/ao_one_e_ints.irp.f` + + .. code:: fortran + + double precision, allocatable :: ao_one_e_integrals (ao_num,ao_num) + double precision, allocatable :: ao_one_e_integrals_diag (ao_num) + + + One-electron Hamiltonian in the |AO| basis. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_integrals_n_e` + * :c:data:`ao_kinetic_integrals` + * :c:data:`ao_num` + * :c:data:`ao_pseudo_integrals` + * :c:data:`do_pseudo` + * :c:data:`read_ao_one_e_integrals` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`fock_matrix_ao_alpha` + * :c:data:`hf_energy` + * :c:data:`scf_energy` + + +.. c:var:: ao_one_e_integrals_diag + + + File : :file:`ao_one_e_ints/ao_one_e_ints.irp.f` + + .. code:: fortran + + double precision, allocatable :: ao_one_e_integrals (ao_num,ao_num) + double precision, allocatable :: ao_one_e_integrals_diag (ao_num) + + + One-electron Hamiltonian in the |AO| basis. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_integrals_n_e` + * :c:data:`ao_kinetic_integrals` + * :c:data:`ao_num` + * :c:data:`ao_pseudo_integrals` + * :c:data:`do_pseudo` + * :c:data:`read_ao_one_e_integrals` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`fock_matrix_ao_alpha` + * :c:data:`hf_energy` + * :c:data:`scf_energy` + + +.. c:var:: ao_ortho_canonical_coef + + + File : :file:`ao_one_e_ints/ao_ortho_canonical.irp.f` + + .. code:: fortran + + double precision, allocatable :: ao_ortho_canonical_coef (ao_num,ao_num) + integer :: ao_ortho_canonical_num + + + matrix of the coefficients of the mos generated by the + orthonormalization by the S^{-1/2} canonical transformation of the aos + ao_ortho_canonical_coef(i,j) = coefficient of the ith ao on the jth ao_ortho_canonical orbital + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_cart_to_sphe_coef` + * :c:data:`ao_cart_to_sphe_overlap` + * :c:data:`ao_cartesian` + * :c:data:`ao_num` + * :c:data:`ao_overlap` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_ortho_canonical_coef_inv` + * :c:data:`ao_ortho_canonical_nucl_elec_integrals` + * :c:data:`ao_ortho_canonical_overlap` + * :c:data:`mo_coef` + * :c:data:`mo_num` + + +.. c:var:: ao_ortho_canonical_coef_inv + + + File : :file:`ao_one_e_ints/ao_ortho_canonical.irp.f` + + .. code:: fortran + + double precision, allocatable :: ao_ortho_canonical_coef_inv (ao_num,ao_num) + + + ao_ortho_canonical_coef^(-1) + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`ao_ortho_canonical_coef` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_coef_in_ao_ortho_basis` + + +.. c:var:: ao_ortho_canonical_num + + + File : :file:`ao_one_e_ints/ao_ortho_canonical.irp.f` + + .. code:: fortran + + double precision, allocatable :: ao_ortho_canonical_coef (ao_num,ao_num) + integer :: ao_ortho_canonical_num + + + matrix of the coefficients of the mos generated by the + orthonormalization by the S^{-1/2} canonical transformation of the aos + ao_ortho_canonical_coef(i,j) = coefficient of the ith ao on the jth ao_ortho_canonical orbital + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_cart_to_sphe_coef` + * :c:data:`ao_cart_to_sphe_overlap` + * :c:data:`ao_cartesian` + * :c:data:`ao_num` + * :c:data:`ao_overlap` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_ortho_canonical_coef_inv` + * :c:data:`ao_ortho_canonical_nucl_elec_integrals` + * :c:data:`ao_ortho_canonical_overlap` + * :c:data:`mo_coef` + * :c:data:`mo_num` + + +.. c:var:: ao_ortho_canonical_overlap + + + File : :file:`ao_one_e_ints/ao_ortho_canonical.irp.f` + + .. code:: fortran + + double precision, allocatable :: ao_ortho_canonical_overlap (ao_ortho_canonical_num,ao_ortho_canonical_num) + + + overlap matrix of the ao_ortho_canonical. + Expected to be the Identity + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`ao_ortho_canonical_coef` + * :c:data:`ao_overlap` + + + +.. c:var:: ao_overlap + + + File : :file:`ao_one_e_ints/ao_overlap.irp.f` + + .. code:: fortran + + double precision, allocatable :: ao_overlap (ao_num,ao_num) + double precision, allocatable :: ao_overlap_x (ao_num,ao_num) + double precision, allocatable :: ao_overlap_y (ao_num,ao_num) + double precision, allocatable :: ao_overlap_z (ao_num,ao_num) + + + Overlap between atomic basis functions: + + :math:`\int \chi_i(r) \chi_j(r) dr` + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_coef_normalized_ordered_transp` + * :c:data:`ao_expo_ordered_transp` + * :c:data:`ao_nucl` + * :c:data:`ao_num` + * :c:data:`ao_power` + * :c:data:`ao_prim_num` + * :c:data:`nucl_coord` + * :c:data:`read_ao_integrals_overlap` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_cart_to_sphe_overlap` + * :c:data:`ao_ortho_canonical_coef` + * :c:data:`ao_ortho_canonical_overlap` + * :c:data:`ao_ortho_lowdin_coef` + * :c:data:`ao_ortho_lowdin_overlap` + * :c:data:`fps_spf_matrix_ao` + * :c:data:`mo_overlap` + * :c:data:`s_half` + * :c:data:`s_half_inv` + * :c:data:`s_inv` + * :c:data:`s_mo_coef` + + +.. c:var:: ao_overlap_abs + + + File : :file:`ao_one_e_ints/ao_overlap.irp.f` + + .. code:: fortran + + double precision, allocatable :: ao_overlap_abs (ao_num,ao_num) + + + Overlap between absolute values of atomic basis functions: + + :math:`\int |\chi_i(r)| |\chi_j(r)| dr` + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_coef_normalized_ordered_transp` + * :c:data:`ao_expo_ordered_transp` + * :c:data:`ao_nucl` + * :c:data:`ao_num` + * :c:data:`ao_power` + * :c:data:`ao_prim_num` + * :c:data:`nucl_coord` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_two_e_integral_alpha` + * :c:data:`mo_two_e_int_erf_jj_from_ao` + * :c:data:`mo_two_e_integral_jj_from_ao` + * :c:data:`mo_two_e_integrals_vv_from_ao` + + +.. c:var:: ao_overlap_x + + + File : :file:`ao_one_e_ints/ao_overlap.irp.f` + + .. code:: fortran + + double precision, allocatable :: ao_overlap (ao_num,ao_num) + double precision, allocatable :: ao_overlap_x (ao_num,ao_num) + double precision, allocatable :: ao_overlap_y (ao_num,ao_num) + double precision, allocatable :: ao_overlap_z (ao_num,ao_num) + + + Overlap between atomic basis functions: + + :math:`\int \chi_i(r) \chi_j(r) dr` + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_coef_normalized_ordered_transp` + * :c:data:`ao_expo_ordered_transp` + * :c:data:`ao_nucl` + * :c:data:`ao_num` + * :c:data:`ao_power` + * :c:data:`ao_prim_num` + * :c:data:`nucl_coord` + * :c:data:`read_ao_integrals_overlap` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_cart_to_sphe_overlap` + * :c:data:`ao_ortho_canonical_coef` + * :c:data:`ao_ortho_canonical_overlap` + * :c:data:`ao_ortho_lowdin_coef` + * :c:data:`ao_ortho_lowdin_overlap` + * :c:data:`fps_spf_matrix_ao` + * :c:data:`mo_overlap` + * :c:data:`s_half` + * :c:data:`s_half_inv` + * :c:data:`s_inv` + * :c:data:`s_mo_coef` + + +.. c:var:: ao_overlap_y + + + File : :file:`ao_one_e_ints/ao_overlap.irp.f` + + .. code:: fortran + + double precision, allocatable :: ao_overlap (ao_num,ao_num) + double precision, allocatable :: ao_overlap_x (ao_num,ao_num) + double precision, allocatable :: ao_overlap_y (ao_num,ao_num) + double precision, allocatable :: ao_overlap_z (ao_num,ao_num) + + + Overlap between atomic basis functions: + + :math:`\int \chi_i(r) \chi_j(r) dr` + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_coef_normalized_ordered_transp` + * :c:data:`ao_expo_ordered_transp` + * :c:data:`ao_nucl` + * :c:data:`ao_num` + * :c:data:`ao_power` + * :c:data:`ao_prim_num` + * :c:data:`nucl_coord` + * :c:data:`read_ao_integrals_overlap` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_cart_to_sphe_overlap` + * :c:data:`ao_ortho_canonical_coef` + * :c:data:`ao_ortho_canonical_overlap` + * :c:data:`ao_ortho_lowdin_coef` + * :c:data:`ao_ortho_lowdin_overlap` + * :c:data:`fps_spf_matrix_ao` + * :c:data:`mo_overlap` + * :c:data:`s_half` + * :c:data:`s_half_inv` + * :c:data:`s_inv` + * :c:data:`s_mo_coef` + + +.. c:var:: ao_overlap_z + + + File : :file:`ao_one_e_ints/ao_overlap.irp.f` + + .. code:: fortran + + double precision, allocatable :: ao_overlap (ao_num,ao_num) + double precision, allocatable :: ao_overlap_x (ao_num,ao_num) + double precision, allocatable :: ao_overlap_y (ao_num,ao_num) + double precision, allocatable :: ao_overlap_z (ao_num,ao_num) + + + Overlap between atomic basis functions: + + :math:`\int \chi_i(r) \chi_j(r) dr` + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_coef_normalized_ordered_transp` + * :c:data:`ao_expo_ordered_transp` + * :c:data:`ao_nucl` + * :c:data:`ao_num` + * :c:data:`ao_power` + * :c:data:`ao_prim_num` + * :c:data:`nucl_coord` + * :c:data:`read_ao_integrals_overlap` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_cart_to_sphe_overlap` + * :c:data:`ao_ortho_canonical_coef` + * :c:data:`ao_ortho_canonical_overlap` + * :c:data:`ao_ortho_lowdin_coef` + * :c:data:`ao_ortho_lowdin_overlap` + * :c:data:`fps_spf_matrix_ao` + * :c:data:`mo_overlap` + * :c:data:`s_half` + * :c:data:`s_half_inv` + * :c:data:`s_inv` + * :c:data:`s_mo_coef` + + +.. c:var:: ao_pseudo_integrals + + + File : :file:`ao_one_e_ints/pot_ao_pseudo_ints.irp.f` + + .. code:: fortran + + double precision, allocatable :: ao_pseudo_integrals (ao_num,ao_num) + + + Pseudo-potential integrals in the |AO| basis set. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`ao_pseudo_integrals_local` + * :c:data:`ao_pseudo_integrals_non_local` + * :c:data:`do_pseudo` + * :c:data:`pseudo_klocmax` + * :c:data:`pseudo_kmax` + * :c:data:`read_ao_integrals_pseudo` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_one_e_integrals` + * :c:data:`mo_pseudo_integrals` + + +.. c:var:: ao_pseudo_integrals_local + + + File : :file:`ao_one_e_ints/pot_ao_pseudo_ints.irp.f` + + .. code:: fortran + + double precision, allocatable :: ao_pseudo_integrals_local (ao_num,ao_num) + + + Local pseudo-potential + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_coef_normalized_ordered_transp` + * :c:data:`ao_expo_ordered_transp` + * :c:data:`ao_nucl` + * :c:data:`ao_num` + * :c:data:`ao_power` + * :c:data:`ao_prim_num` + * :c:data:`nucl_charge` + * :c:data:`nucl_coord` + * :c:data:`nucl_num` + * :c:data:`pseudo_klocmax` + * :c:data:`pseudo_v_k_transp` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_pseudo_integrals` + + +.. c:var:: ao_pseudo_integrals_non_local + + + File : :file:`ao_one_e_ints/pot_ao_pseudo_ints.irp.f` + + .. code:: fortran + + double precision, allocatable :: ao_pseudo_integrals_non_local (ao_num,ao_num) + + + Non-local pseudo-potential + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_coef_normalized_ordered_transp` + * :c:data:`ao_expo_ordered_transp` + * :c:data:`ao_nucl` + * :c:data:`ao_num` + * :c:data:`ao_power` + * :c:data:`ao_prim_num` + * :c:data:`nucl_charge` + * :c:data:`nucl_coord` + * :c:data:`nucl_num` + * :c:data:`pseudo_kmax` + * :c:data:`pseudo_lmax` + * :c:data:`pseudo_v_kl_transp` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_pseudo_integrals` + + +.. c:var:: ao_spread_x + + + File : :file:`ao_one_e_ints/spread_dipole_ao.irp.f` + + .. code:: fortran + + double precision, allocatable :: ao_spread_x (ao_num,ao_num) + double precision, allocatable :: ao_spread_y (ao_num,ao_num) + double precision, allocatable :: ao_spread_z (ao_num,ao_num) + + + * array of the integrals of AO_i * x^2 AO_j + + * array of the integrals of AO_i * y^2 AO_j + + * array of the integrals of AO_i * z^2 AO_j + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_coef_normalized_ordered_transp` + * :c:data:`ao_expo_ordered_transp` + * :c:data:`ao_nucl` + * :c:data:`ao_num` + * :c:data:`ao_power` + * :c:data:`ao_prim_num` + * :c:data:`nucl_coord` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_spread_x` + + +.. c:var:: ao_spread_y + + + File : :file:`ao_one_e_ints/spread_dipole_ao.irp.f` + + .. code:: fortran + + double precision, allocatable :: ao_spread_x (ao_num,ao_num) + double precision, allocatable :: ao_spread_y (ao_num,ao_num) + double precision, allocatable :: ao_spread_z (ao_num,ao_num) + + + * array of the integrals of AO_i * x^2 AO_j + + * array of the integrals of AO_i * y^2 AO_j + + * array of the integrals of AO_i * z^2 AO_j + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_coef_normalized_ordered_transp` + * :c:data:`ao_expo_ordered_transp` + * :c:data:`ao_nucl` + * :c:data:`ao_num` + * :c:data:`ao_power` + * :c:data:`ao_prim_num` + * :c:data:`nucl_coord` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_spread_x` + + +.. c:var:: ao_spread_z + + + File : :file:`ao_one_e_ints/spread_dipole_ao.irp.f` + + .. code:: fortran + + double precision, allocatable :: ao_spread_x (ao_num,ao_num) + double precision, allocatable :: ao_spread_y (ao_num,ao_num) + double precision, allocatable :: ao_spread_z (ao_num,ao_num) + + + * array of the integrals of AO_i * x^2 AO_j + + * array of the integrals of AO_i * y^2 AO_j + + * array of the integrals of AO_i * z^2 AO_j + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_coef_normalized_ordered_transp` + * :c:data:`ao_expo_ordered_transp` + * :c:data:`ao_nucl` + * :c:data:`ao_num` + * :c:data:`ao_power` + * :c:data:`ao_prim_num` + * :c:data:`nucl_coord` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_spread_x` + + +.. c:function:: give_polynomial_mult_center_one_e_erf: + + + File : :file:`ao_one_e_ints/pot_ao_erf_ints.irp.f` + + .. code:: fortran + + subroutine give_polynomial_mult_center_one_e_erf(A_center,B_center,alpha,beta,& + power_A,power_B,C_center,n_pt_in,d,n_pt_out,mu_in) + + + Returns the explicit polynomial in terms of the $t$ variable of the following polynomial: + + $I_{x1}(a_x, d_x,p,q) \times I_{x1}(a_y, d_y,p,q) \times I_{x1}(a_z, d_z,p,q)$. + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`i_x1_pol_mult_one_e` + * :c:func:`multiply_poly` + + +.. c:function:: give_polynomial_mult_center_one_e_erf_opt: + + + File : :file:`ao_one_e_ints/pot_ao_erf_ints.irp.f` + + .. code:: fortran + + subroutine give_polynomial_mult_center_one_e_erf_opt(A_center,B_center,alpha,beta,& + power_A,power_B,C_center,n_pt_in,d,n_pt_out,mu_in,p,p_inv,p_inv_2,p_new,P_center) + + + Returns the explicit polynomial in terms of the $t$ variable of the following polynomial: + + $I_{x1}(a_x, d_x,p,q) \times I_{x1}(a_y, d_y,p,q) \times I_{x1}(a_z, d_z,p,q)$. + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`nai_pol_mult_erf` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`i_x1_pol_mult_one_e` + * :c:func:`multiply_poly` + + +.. c:function:: i_x1_pol_mult_one_e: + + + File : :file:`ao_one_e_ints/pot_ao_ints.irp.f` + + .. code:: fortran + + recursive subroutine I_x1_pol_mult_one_e(a,c,R1x,R1xp,R2x,d,nd,n_pt_in) + + + Recursive routine involved in the electron-nucleus potential + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`give_polynomial_mult_center_one_e` + * :c:func:`give_polynomial_mult_center_one_e_erf` + * :c:func:`give_polynomial_mult_center_one_e_erf_opt` + * :c:func:`i_x1_pol_mult_one_e` + * :c:func:`i_x2_pol_mult_one_e` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`i_x1_pol_mult_one_e` + * :c:func:`i_x2_pol_mult_one_e` + * :c:func:`multiply_poly` + + +.. c:function:: i_x2_pol_mult_one_e: + + + File : :file:`ao_one_e_ints/pot_ao_ints.irp.f` + + .. code:: fortran + + recursive subroutine I_x2_pol_mult_one_e(c,R1x,R1xp,R2x,d,nd,dim) + + + Recursive routine involved in the electron-nucleus potential + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`i_x1_pol_mult_one_e` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`i_x1_pol_mult_one_e` + * :c:func:`multiply_poly` + + +.. c:var:: pseudo_dz_k_transp + + + File : :file:`ao_one_e_ints/pot_ao_pseudo_ints.irp.f` + + .. code:: fortran + + double precision, allocatable :: pseudo_v_k_transp (pseudo_klocmax,nucl_num) + integer, allocatable :: pseudo_n_k_transp (pseudo_klocmax,nucl_num) + double precision, allocatable :: pseudo_dz_k_transp (pseudo_klocmax,nucl_num) + + + Transposed arrays for pseudopotentials + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`nucl_num` + * :c:data:`pseudo_dz_k` + * :c:data:`pseudo_klocmax` + * :c:data:`pseudo_n_k` + * :c:data:`pseudo_v_k` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_pseudo_integrals_local` + + +.. c:var:: pseudo_dz_kl_transp + + + File : :file:`ao_one_e_ints/pot_ao_pseudo_ints.irp.f` + + .. code:: fortran + + double precision, allocatable :: pseudo_v_kl_transp (pseudo_kmax,0:pseudo_lmax,nucl_num) + integer, allocatable :: pseudo_n_kl_transp (pseudo_kmax,0:pseudo_lmax,nucl_num) + double precision, allocatable :: pseudo_dz_kl_transp (pseudo_kmax,0:pseudo_lmax,nucl_num) + + + Transposed arrays for pseudopotentials + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`nucl_num` + * :c:data:`pseudo_dz_kl` + * :c:data:`pseudo_kmax` + * :c:data:`pseudo_lmax` + * :c:data:`pseudo_n_kl` + * :c:data:`pseudo_v_kl` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_pseudo_integrals_non_local` + + +.. c:var:: pseudo_n_k_transp + + + File : :file:`ao_one_e_ints/pot_ao_pseudo_ints.irp.f` + + .. code:: fortran + + double precision, allocatable :: pseudo_v_k_transp (pseudo_klocmax,nucl_num) + integer, allocatable :: pseudo_n_k_transp (pseudo_klocmax,nucl_num) + double precision, allocatable :: pseudo_dz_k_transp (pseudo_klocmax,nucl_num) + + + Transposed arrays for pseudopotentials + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`nucl_num` + * :c:data:`pseudo_dz_k` + * :c:data:`pseudo_klocmax` + * :c:data:`pseudo_n_k` + * :c:data:`pseudo_v_k` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_pseudo_integrals_local` + + +.. c:var:: pseudo_n_kl_transp + + + File : :file:`ao_one_e_ints/pot_ao_pseudo_ints.irp.f` + + .. code:: fortran + + double precision, allocatable :: pseudo_v_kl_transp (pseudo_kmax,0:pseudo_lmax,nucl_num) + integer, allocatable :: pseudo_n_kl_transp (pseudo_kmax,0:pseudo_lmax,nucl_num) + double precision, allocatable :: pseudo_dz_kl_transp (pseudo_kmax,0:pseudo_lmax,nucl_num) + + + Transposed arrays for pseudopotentials + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`nucl_num` + * :c:data:`pseudo_dz_kl` + * :c:data:`pseudo_kmax` + * :c:data:`pseudo_lmax` + * :c:data:`pseudo_n_kl` + * :c:data:`pseudo_v_kl` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_pseudo_integrals_non_local` + + +.. c:var:: pseudo_v_k_transp + + + File : :file:`ao_one_e_ints/pot_ao_pseudo_ints.irp.f` + + .. code:: fortran + + double precision, allocatable :: pseudo_v_k_transp (pseudo_klocmax,nucl_num) + integer, allocatable :: pseudo_n_k_transp (pseudo_klocmax,nucl_num) + double precision, allocatable :: pseudo_dz_k_transp (pseudo_klocmax,nucl_num) + + + Transposed arrays for pseudopotentials + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`nucl_num` + * :c:data:`pseudo_dz_k` + * :c:data:`pseudo_klocmax` + * :c:data:`pseudo_n_k` + * :c:data:`pseudo_v_k` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_pseudo_integrals_local` + + +.. c:var:: pseudo_v_kl_transp + + + File : :file:`ao_one_e_ints/pot_ao_pseudo_ints.irp.f` + + .. code:: fortran + + double precision, allocatable :: pseudo_v_kl_transp (pseudo_kmax,0:pseudo_lmax,nucl_num) + integer, allocatable :: pseudo_n_kl_transp (pseudo_kmax,0:pseudo_lmax,nucl_num) + double precision, allocatable :: pseudo_dz_kl_transp (pseudo_kmax,0:pseudo_lmax,nucl_num) + + + Transposed arrays for pseudopotentials + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`nucl_num` + * :c:data:`pseudo_dz_kl` + * :c:data:`pseudo_kmax` + * :c:data:`pseudo_lmax` + * :c:data:`pseudo_n_kl` + * :c:data:`pseudo_v_kl` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_pseudo_integrals_non_local` + + +.. c:var:: s_half + + + File : :file:`ao_one_e_ints/ao_overlap.irp.f` + + .. code:: fortran + + double precision, allocatable :: s_half (ao_num,ao_num) + + + :math:`S^{1/2}` + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`ao_overlap` + + + +.. c:var:: s_half_inv + + + File : :file:`ao_one_e_ints/ao_overlap.irp.f` + + .. code:: fortran + + double precision, allocatable :: s_half_inv (AO_num,AO_num) + + + :math:`X = S^{-1/2}` obtained by SVD + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`ao_overlap` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`eigenvalues_fock_matrix_ao` + + +.. c:var:: s_inv + + + File : :file:`ao_one_e_ints/ao_overlap.irp.f` + + .. code:: fortran + + double precision, allocatable :: s_inv (ao_num,ao_num) + + + Inverse of the overlap matrix + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`ao_overlap` + + + + +Subroutines / functions +----------------------- + +.. c:function:: give_all_erf_kl_ao: + + + File : :file:`ao_one_e_ints/pot_ao_erf_ints.irp.f` + + .. code:: fortran + + subroutine give_all_erf_kl_ao(integrals_ao,mu_in,C_center) + + + Subroutine that returns all integrals over $r$ of type + $\frac{ \erf(\mu * |r-R_C|) }{ |r-R_C| }$ + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + + +.. c:function:: give_polynomial_mult_center_one_e: + + + File : :file:`ao_one_e_ints/pot_ao_ints.irp.f` + + .. code:: fortran + + subroutine give_polynomial_mult_center_one_e(A_center,B_center,alpha,beta,power_A,power_B,C_center,n_pt_in,d,n_pt_out) + + + Returns the explicit polynomial in terms of the "t" variable of the following + + $I_{x1}(a_x, d_x,p,q) \times I_{x1}(a_y, d_y,p,q) \times I_{x1}(a_z, d_z,p,q)$. + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`nai_pol_mult` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`i_x1_pol_mult_one_e` + * :c:func:`multiply_poly` + + +.. c:function:: int_gaus_pol: + + + File : :file:`ao_one_e_ints/pot_ao_ints.irp.f` + + .. code:: fortran + + double precision function int_gaus_pol(alpha,n) + + + Computes the integral: + + $\int_{-\infty}^{\infty} x^n \exp(-\alpha x^2) dx$. + + +.. c:function:: nai_pol_mult: + + + File : :file:`ao_one_e_ints/pot_ao_ints.irp.f` + + .. code:: fortran + + double precision function NAI_pol_mult(A_center,B_center,power_A,power_B,alpha,beta,C_center,n_pt_in) + + + Computes the electron-nucleus attraction with two primitves. + + :math:`\langle g_i | \frac{1}{|r-R_c|} | g_j \rangle` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`give_polynomial_mult_center_one_e` + + +.. c:function:: nai_pol_mult_erf: + + + File : :file:`ao_one_e_ints/pot_ao_erf_ints.irp.f` + + .. code:: fortran + + double precision function NAI_pol_mult_erf(A_center,B_center,power_A,power_B,alpha,beta,C_center,n_pt_in,mu_in) + + + Computes the following integral : + $\int dr (x-A_x)^a (x-B_x)^b \exp(-\alpha (x-A_x)^2 - \beta (x-B_x)^2 ) + \frac{\erf(\mu |r-R_C|)}{|r-R_c|}$. + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`give_polynomial_mult_center_one_e_erf_opt` + + +.. c:function:: nai_pol_mult_erf_ao: + + + File : :file:`ao_one_e_ints/pot_ao_erf_ints.irp.f` + + .. code:: fortran + + double precision function NAI_pol_mult_erf_ao(i_ao,j_ao,mu_in,C_center) + + + Computes the following integral : + $\int_{-\infty}^{infty} dr \chi_i(r) \chi_j(r) \frac{\erf(\mu |r-R_C|)}{|r-R_C|}$. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_pt_max_integrals` + * :c:data:`ao_coef_normalized_ordered_transp` + * :c:data:`ao_power` + * :c:data:`ao_expo_ordered_transp` + * :c:data:`ao_prim_num` + * :c:data:`ao_nucl` + * :c:data:`nucl_coord` + + +.. c:function:: overlap_bourrin_deriv_x: + + + File : :file:`ao_one_e_ints/spread_dipole_ao.irp.f` + + .. code:: fortran + + subroutine overlap_bourrin_deriv_x(i_component,A_center,B_center,alpha,beta,power_A,power_B,dx,lower_exp_val,overlap_x,nx) + + + + Called by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_deriv_1_x` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`overlap_bourrin_x` + + +.. c:function:: overlap_bourrin_dipole: + + + File : :file:`ao_one_e_ints/spread_dipole_ao.irp.f` + + .. code:: fortran + + subroutine overlap_bourrin_dipole(A_center,B_center,alpha,beta,power_A,power_B,overlap_x,lower_exp_val,dx,nx) + + + + Called by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_dipole_x` + + +.. c:function:: overlap_bourrin_spread: + + + File : :file:`ao_one_e_ints/spread_dipole_ao.irp.f` + + .. code:: fortran + + subroutine overlap_bourrin_spread(A_center,B_center,alpha,beta,power_A,power_B,overlap_x,lower_exp_val,dx,nx) + + + Computes the following integral : + int [-infty ; +infty] of [(x-A_center)^(power_A) * (x-B_center)^power_B * exp(-alpha(x-A_center)^2) * exp(-beta(x-B_center)^2) * x ] + needed for the dipole and those things + + Called by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_spread_x` + + +.. c:function:: overlap_bourrin_x: + + + File : :file:`ao_one_e_ints/spread_dipole_ao.irp.f` + + .. code:: fortran + + subroutine overlap_bourrin_x(A_center,B_center,alpha,beta,power_A,power_B,overlap_x,lower_exp_val,dx,nx) + + + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`overlap_bourrin_deriv_x` + + +.. c:function:: v_e_n: + + + File : :file:`ao_one_e_ints/pot_ao_ints.irp.f` + + .. code:: fortran + + double precision function V_e_n(a_x,a_y,a_z,b_x,b_y,b_z,alpha,beta) + + + Primitve nuclear attraction between the two primitves centered on the same atom. + + $p_1 = x^{a_x} y^{a_y} z^{a_z} \exp(-\alpha r^2)$ + + $p_2 = x^{b_x} y^{b_y} z^{b_z} \exp(-\beta r^2)$ + + +.. c:function:: v_phi: + + + File : :file:`ao_one_e_ints/pot_ao_ints.irp.f` + + .. code:: fortran + + double precision function V_phi(n,m) + + + Computes the angular $\phi$ part of the nuclear attraction integral: + + $\int_{0}^{2 \pi} \cos(\phi)^n \sin(\phi)^m d\phi$. + + +.. c:function:: v_r: + + + File : :file:`ao_one_e_ints/pot_ao_ints.irp.f` + + .. code:: fortran + + double precision function V_r(n,alpha) + + + Computes the radial part of the nuclear attraction integral: + + $\int_{0}^{\infty} r^n \exp(-\alpha r^2) dr$ + + + +.. c:function:: v_theta: + + + File : :file:`ao_one_e_ints/pot_ao_ints.irp.f` + + .. code:: fortran + + double precision function V_theta(n,m) + + + Computes the angular $\theta$ part of the nuclear attraction integral: + + $\int_{0}^{\pi} \cos(\theta)^n \sin(\theta)^m d\theta$ + + +.. c:function:: wallis: + + + File : :file:`ao_one_e_ints/pot_ao_ints.irp.f` + + .. code:: fortran + + double precision function Wallis(n) + + + Wallis integral: + + $\int_{0}^{\pi} \cos(\theta)^n d\theta$. + diff --git a/doc/_sources/modules/ao_two_e_erf_ints.rst.txt b/doc/_sources/modules/ao_two_e_erf_ints.rst.txt new file mode 100644 index 00000000..4e35de17 --- /dev/null +++ b/doc/_sources/modules/ao_two_e_erf_ints.rst.txt @@ -0,0 +1,901 @@ +.. _module_ao_two_e_erf_ints: + +.. program:: ao_two_e_erf_ints + +.. default-role:: option + +====================== +ao_two_e_erf_ints +====================== + +Here, all two-electron integrals (:math:`erf(\mu r_{12})/r_{12}`) are computed. +As they have 4 indices and many are zero, they are stored in a map, as defined +in :file:`utils/map_module.f90`. + +The main parameter of this module is :option:`ao_two_e_erf_ints mu_erf` which is the range-separation parameter. + +To fetch an |AO| integral, use the +`get_ao_two_e_integral_erf(i,j,k,l,ao_integrals_erf_map)` function. + + +The conventions are: +* For |AO| integrals : (ij|kl) = (11|22) = = <12|12> + + + + + + +EZFIO parameters +---------------- + +.. option:: io_ao_two_e_integrals_erf + + Read/Write |AO| integrals with the long range interaction from/to disk [ Write | Read | None ] + + Default: None + +.. option:: mu_erf + + cutting of the interaction in the range separated model + + Default: 0.5 + + +Providers +--------- + +.. c:var:: ao_integrals_erf_cache + + + File : :file:`ao_two_e_erf_ints/map_integrals_erf.irp.f` + + .. code:: fortran + + double precision, allocatable :: ao_integrals_erf_cache (0:64*64*64*64) + + + Cache of |AO| integrals for fast access + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_integrals_erf_cache_min` + * :c:data:`ao_integrals_erf_map` + * :c:data:`ao_two_e_integrals_erf_in_map` + + + +.. c:var:: ao_integrals_erf_cache_max + + + File : :file:`ao_two_e_erf_ints/map_integrals_erf.irp.f` + + .. code:: fortran + + integer :: ao_integrals_erf_cache_min + integer :: ao_integrals_erf_cache_max + + + Min and max values of the AOs for which the integrals are in the cache + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_integrals_erf_cache` + + +.. c:var:: ao_integrals_erf_cache_min + + + File : :file:`ao_two_e_erf_ints/map_integrals_erf.irp.f` + + .. code:: fortran + + integer :: ao_integrals_erf_cache_min + integer :: ao_integrals_erf_cache_max + + + Min and max values of the AOs for which the integrals are in the cache + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_integrals_erf_cache` + + +.. c:var:: ao_integrals_erf_map + + + File : :file:`ao_two_e_erf_ints/map_integrals_erf.irp.f` + + .. code:: fortran + + type(map_type) :: ao_integrals_erf_map + + + |AO| integrals + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_integrals_erf_cache` + * :c:data:`ao_two_e_integrals_erf_in_map` + * :c:data:`mo_two_e_int_erf_jj_from_ao` + + +.. c:var:: ao_two_e_integral_erf_schwartz + + + File : :file:`ao_two_e_erf_ints/providers_ao_erf.irp.f` + + .. code:: fortran + + double precision, allocatable :: ao_two_e_integral_erf_schwartz (ao_num,ao_num) + + + Needed to compute Schwartz inequalities + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_coef_normalized_ordered_transp` + * :c:data:`ao_expo_ordered_transp` + * :c:data:`ao_nucl` + * :c:data:`ao_num` + * :c:data:`ao_power` + * :c:data:`ao_prim_num` + * :c:data:`n_pt_max_integrals` + * :c:data:`nucl_coord` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_two_e_int_erf_jj_from_ao` + + +.. c:var:: ao_two_e_integrals_erf_in_map + + + File : :file:`ao_two_e_erf_ints/providers_ao_erf.irp.f` + + .. code:: fortran + + logical :: ao_two_e_integrals_erf_in_map + + + Map of Atomic integrals + i(r1) j(r2) 1/r12 k(r1) l(r2) + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_coef_normalized_ordered_transp` + * :c:data:`ao_expo_ordered_transp` + * :c:data:`ao_integrals_erf_map` + * :c:data:`ao_nucl` + * :c:data:`ao_num` + * :c:data:`ao_power` + * :c:data:`ao_prim_num` + * :c:data:`ezfio_filename` + * :c:data:`io_ao_two_e_integrals_erf` + * :c:data:`n_pt_max_integrals` + * :c:data:`nproc` + * :c:data:`nucl_coord` + * :c:data:`read_ao_two_e_integrals_erf` + * :c:data:`zmq_context` + * :c:data:`zmq_socket_pull_tcp_address` + * :c:data:`zmq_state` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_integrals_erf_cache` + * :c:data:`mo_two_e_int_erf_jj_from_ao` + * :c:data:`mo_two_e_integrals_erf_in_map` + + +.. c:function:: general_primitive_integral_erf: + + + File : :file:`ao_two_e_erf_ints/two_e_integrals_erf.irp.f` + + .. code:: fortran + + double precision function general_primitive_integral_erf(dim, & + P_new,P_center,fact_p,p,p_inv,iorder_p, & + Q_new,Q_center,fact_q,q,q_inv,iorder_q) + + + Computes the integral where p,q,r,s are Gaussian primitives + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mu_erf` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`add_poly_multiply` + * :c:func:`give_polynom_mult_center_x` + * :c:func:`multiply_poly` + + + +Subroutines / functions +----------------------- + +.. c:function:: ao_two_e_integral_erf: + + + File : :file:`ao_two_e_erf_ints/two_e_integrals_erf.irp.f` + + .. code:: fortran + + double precision function ao_two_e_integral_erf(i,j,k,l) + + + integral of the AO basis or (ij|kl) + i(r1) j(r1) 1/r12 k(r2) l(r2) + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_pt_max_integrals` + * :c:data:`ao_coef_normalized_ordered_transp` + * :c:data:`ao_power` + * :c:data:`ao_expo_ordered_transp` + * :c:data:`ao_prim_num` + * :c:data:`ao_nucl` + * :c:data:`nucl_coord` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`give_explicit_poly_and_gaussian` + + +.. c:function:: ao_two_e_integral_schwartz_accel_erf: + + + File : :file:`ao_two_e_erf_ints/two_e_integrals_erf.irp.f` + + .. code:: fortran + + double precision function ao_two_e_integral_schwartz_accel_erf(i,j,k,l) + + + integral of the AO basis or (ij|kl) + i(r1) j(r1) 1/r12 k(r2) l(r2) + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_pt_max_integrals` + * :c:data:`ao_integrals_threshold` + * :c:data:`ao_coef_normalized_ordered_transp` + * :c:data:`ao_power` + * :c:data:`ao_expo_ordered_transp` + * :c:data:`ao_prim_num` + * :c:data:`ao_nucl` + * :c:data:`nucl_coord` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`give_explicit_poly_and_gaussian` + + +.. c:function:: ao_two_e_integrals_erf_in_map_collector: + + + File : :file:`ao_two_e_erf_ints/integrals_erf_in_map_slave.irp.f` + + .. code:: fortran + + subroutine ao_two_e_integrals_erf_in_map_collector(zmq_socket_pull) + + + Collects results from the AO integral calculation + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_integrals_erf_map` + * :c:data:`ao_num` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_two_e_integrals_erf_in_map` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`end_zmq_to_qp_run_socket` + * :c:func:`insert_into_ao_integrals_erf_map` + + +.. c:function:: ao_two_e_integrals_erf_in_map_slave: + + + File : :file:`ao_two_e_erf_ints/integrals_erf_in_map_slave.irp.f` + + .. code:: fortran + + subroutine ao_two_e_integrals_erf_in_map_slave(thread,iproc) + + + Computes a buffer of integrals + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`ao_two_e_integrals_erf_in_map_slave_inproc` + * :c:func:`ao_two_e_integrals_erf_in_map_slave_tcp` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`compute_ao_integrals_erf_jl` + * :c:func:`end_zmq_push_socket` + * :c:func:`end_zmq_to_qp_run_socket` + * :c:func:`push_integrals` + + +.. c:function:: ao_two_e_integrals_erf_in_map_slave_inproc: + + + File : :file:`ao_two_e_erf_ints/integrals_erf_in_map_slave.irp.f` + + .. code:: fortran + + subroutine ao_two_e_integrals_erf_in_map_slave_inproc(i) + + + Computes a buffer of integrals. i is the ID of the current thread. + + Called by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_two_e_integrals_erf_in_map` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`ao_two_e_integrals_erf_in_map_slave` + + +.. c:function:: ao_two_e_integrals_erf_in_map_slave_tcp: + + + File : :file:`ao_two_e_erf_ints/integrals_erf_in_map_slave.irp.f` + + .. code:: fortran + + subroutine ao_two_e_integrals_erf_in_map_slave_tcp(i) + + + Computes a buffer of integrals. i is the ID of the current thread. + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`ao_two_e_integrals_erf_in_map_slave` + + +.. c:function:: clear_ao_erf_map: + + + File : :file:`ao_two_e_erf_ints/map_integrals_erf.irp.f` + + .. code:: fortran + + subroutine clear_ao_erf_map + + + Frees the memory of the |AO| map + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_integrals_erf_map` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`map_deinit` + + +.. c:function:: compute_ao_integrals_erf_jl: + + + File : :file:`ao_two_e_erf_ints/two_e_integrals_erf.irp.f` + + .. code:: fortran + + subroutine compute_ao_integrals_erf_jl(j,l,n_integrals,buffer_i,buffer_value) + + + Parallel client for AO integrals + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_overlap_abs` + * :c:data:`ao_num` + * :c:data:`ao_integrals_threshold` + * :c:data:`ao_two_e_integral_erf_schwartz` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`ao_two_e_integrals_erf_in_map_slave` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`two_e_integrals_index` + + +.. c:function:: compute_ao_two_e_integrals_erf: + + + File : :file:`ao_two_e_erf_ints/two_e_integrals_erf.irp.f` + + .. code:: fortran + + subroutine compute_ao_two_e_integrals_erf(j,k,l,sze,buffer_value) + + + Compute AO 1/r12 integrals for all i and fixed j,k,l + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_overlap_abs` + * :c:data:`ao_num` + * :c:data:`ao_two_e_integral_erf_schwartz` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_two_e_int_erf_jj_from_ao` + + +.. c:function:: dump_ao_integrals_erf: + + + File : :file:`ao_two_e_erf_ints/map_integrals_erf.irp.f` + + .. code:: fortran + + subroutine dump_ao_integrals_erf(filename) + + + Save to disk the |AO| erf integrals + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_integrals_erf_map` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`ezfio_set_work_empty` + + +.. c:function:: eri_erf: + + + File : :file:`ao_two_e_erf_ints/two_e_integrals_erf.irp.f` + + .. code:: fortran + + double precision function ERI_erf(alpha,beta,delta,gama,a_x,b_x,c_x,d_x,a_y,b_y,c_y,d_y,a_z,b_z,c_z,d_z) + + + ATOMIC PRIMTIVE two-electron integral between the 4 primitives :: + primitive_1 = x1**(a_x) y1**(a_y) z1**(a_z) exp(-alpha * r1**2) + primitive_2 = x1**(b_x) y1**(b_y) z1**(b_z) exp(- beta * r1**2) + primitive_3 = x2**(c_x) y2**(c_y) z2**(c_z) exp(-delta * r2**2) + primitive_4 = x2**(d_x) y2**(d_y) z2**(d_z) exp(- gama * r2**2) + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mu_erf` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`integrale_new_erf` + + +.. c:function:: get_ao_erf_map_size: + + + File : :file:`ao_two_e_erf_ints/map_integrals_erf.irp.f` + + .. code:: fortran + + function get_ao_erf_map_size() + + + Returns the number of elements in the |AO| map + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_integrals_erf_map` + + +.. c:function:: get_ao_two_e_integral_erf: + + + File : :file:`ao_two_e_erf_ints/map_integrals_erf.irp.f` + + .. code:: fortran + + double precision function get_ao_two_e_integral_erf(i,j,k,l,map) result(result) + + + Gets one |AO| two-electron integral from the |AO| map + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_integrals_erf_cache_min` + * :c:data:`ao_overlap_abs` + * :c:data:`ao_integrals_threshold` + * :c:data:`ao_integrals_erf_cache` + * :c:data:`ao_two_e_integral_erf_schwartz` + * :c:data:`ao_two_e_integrals_erf_in_map` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`map_get` + * :c:func:`two_e_integrals_index` + + +.. c:function:: get_ao_two_e_integrals_erf: + + + File : :file:`ao_two_e_erf_ints/map_integrals_erf.irp.f` + + .. code:: fortran + + subroutine get_ao_two_e_integrals_erf(j,k,l,sze,out_val) + + + Gets multiple |AO| two-electron integral from the |AO| map . + All i are retrieved for j,k,l fixed. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_integrals_erf_map` + * :c:data:`ao_overlap_abs` + * :c:data:`ao_integrals_threshold` + * :c:data:`ao_two_e_integrals_erf_in_map` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`add_integrals_to_map_erf` + + +.. c:function:: get_ao_two_e_integrals_erf_non_zero: + + + File : :file:`ao_two_e_erf_ints/map_integrals_erf.irp.f` + + .. code:: fortran + + subroutine get_ao_two_e_integrals_erf_non_zero(j,k,l,sze,out_val,out_val_index,non_zero_int) + + + Gets multiple |AO| two-electron integrals from the |AO| map . + All non-zero i are retrieved for j,k,l fixed. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_integrals_erf_map` + * :c:data:`ao_overlap_abs` + * :c:data:`ao_integrals_threshold` + * :c:data:`ao_two_e_integral_erf_schwartz` + * :c:data:`ao_two_e_integrals_erf_in_map` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_two_e_int_erf_jj_from_ao` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`map_get` + * :c:func:`two_e_integrals_index` + + +.. c:function:: insert_into_ao_integrals_erf_map: + + + File : :file:`ao_two_e_erf_ints/map_integrals_erf.irp.f` + + .. code:: fortran + + subroutine insert_into_ao_integrals_erf_map(n_integrals,buffer_i, buffer_values) + + + Create new entry into |AO| map + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_integrals_erf_map` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`ao_two_e_integrals_erf_in_map_collector` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`map_append` + + +.. c:function:: integrale_new_erf: + + + File : :file:`ao_two_e_erf_ints/two_e_integrals_erf.irp.f` + + .. code:: fortran + + subroutine integrale_new_erf(I_f,a_x,b_x,c_x,d_x,a_y,b_y,c_y,d_y,a_z,b_z,c_z,d_z,p,q,n_pt) + + + calculate the integral of the polynom :: + I_x1(a_x+b_x, c_x+d_x,p,q) * I_x1(a_y+b_y, c_y+d_y,p,q) * I_x1(a_z+b_z, c_z+d_z,p,q) + between ( 0 ; 1) + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mu_erf` + * :c:data:`n_pt_max_integrals` + * :c:data:`gauleg_t2` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`eri_erf` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`i_x1_new` + + +.. c:function:: load_ao_integrals_erf: + + + File : :file:`ao_two_e_erf_ints/map_integrals_erf.irp.f` + + .. code:: fortran + + integer function load_ao_integrals_erf(filename) + + + Read from disk the |AO| erf integrals + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_integrals_erf_map` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`cache_map_reallocate` + * :c:func:`map_deinit` + * :c:func:`map_sort` + + +.. c:function:: save_erf_two_e_integrals_ao: + + + File : :file:`ao_two_e_erf_ints/routines_save_integrals_erf.irp.f` + + .. code:: fortran + + subroutine save_erf_two_e_integrals_ao + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_integrals_erf_map` + * :c:data:`ezfio_filename` + * :c:data:`ao_two_e_integrals_erf_in_map` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`routine` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`ezfio_set_ao_two_e_erf_ints_io_ao_two_e_integrals_erf` + * :c:func:`ezfio_set_work_empty` + * :c:func:`map_save_to_disk` + + +.. c:function:: save_erf_two_e_ints_ao_into_ints_ao: + + + File : :file:`ao_two_e_erf_ints/routines_save_integrals_erf.irp.f` + + .. code:: fortran + + subroutine save_erf_two_e_ints_ao_into_ints_ao + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_integrals_erf_map` + * :c:data:`ezfio_filename` + * :c:data:`ao_two_e_integrals_erf_in_map` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`ezfio_set_ao_two_e_ints_io_ao_two_e_integrals` + * :c:func:`ezfio_set_work_empty` + * :c:func:`map_save_to_disk` + diff --git a/doc/_sources/modules/ao_two_e_ints.rst.txt b/doc/_sources/modules/ao_two_e_ints.rst.txt new file mode 100644 index 00000000..9121ed30 --- /dev/null +++ b/doc/_sources/modules/ao_two_e_ints.rst.txt @@ -0,0 +1,1282 @@ +.. _module_ao_two_e_ints: + +.. program:: ao_two_e_ints + +.. default-role:: option + +================== +ao_two_e_ints +================== + +Here, all two-electron integrals (:math:`1/r_{12}`) are computed. +As they have 4 indices and many are zero, they are stored in a map, as defined +in :file:`utils/map_module.f90`. + +To fetch an |AO| integral, use the +`get_ao_two_e_integral(i,j,k,l,ao_integrals_map)` function. + + +The conventions are: +* For |AO| integrals : (ij|kl) = (11|22) = = <12|12> + + + + + + +EZFIO parameters +---------------- + +.. option:: io_ao_two_e_integrals + + Read/Write |AO| integrals from/to disk [ Write | Read | None ] + + Default: None + +.. option:: ao_integrals_threshold + + If | (pq|rs) | < `ao_integrals_threshold` then (pq|rs) is zero + + Default: 1.e-15 + +.. option:: do_direct_integrals + + Compute integrals on the fly (very slow, only for debugging) + + Default: False + + +Providers +--------- + +.. c:var:: ao_integrals_cache + + + File : :file:`ao_two_e_ints/map_integrals.irp.f` + + .. code:: fortran + + double precision, allocatable :: ao_integrals_cache (0:64*64*64*64) + + + Cache of AO integrals for fast access + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_integrals_cache_min` + * :c:data:`ao_integrals_map` + * :c:data:`ao_two_e_integrals_in_map` + + + +.. c:var:: ao_integrals_cache_max + + + File : :file:`ao_two_e_ints/map_integrals.irp.f` + + .. code:: fortran + + integer :: ao_integrals_cache_min + integer :: ao_integrals_cache_max + + + Min and max values of the AOs for which the integrals are in the cache + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_integrals_cache` + + +.. c:var:: ao_integrals_cache_min + + + File : :file:`ao_two_e_ints/map_integrals.irp.f` + + .. code:: fortran + + integer :: ao_integrals_cache_min + integer :: ao_integrals_cache_max + + + Min and max values of the AOs for which the integrals are in the cache + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_integrals_cache` + + +.. c:var:: ao_integrals_map + + + File : :file:`ao_two_e_ints/map_integrals.irp.f` + + .. code:: fortran + + type(map_type) :: ao_integrals_map + + + AO integrals + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_integrals_cache` + * :c:data:`ao_two_e_integral_alpha` + * :c:data:`ao_two_e_integrals_in_map` + * :c:data:`mo_two_e_integral_jj_from_ao` + * :c:data:`mo_two_e_integrals_vv_from_ao` + + +.. c:var:: ao_two_e_integral_schwartz + + + File : :file:`ao_two_e_ints/two_e_integrals.irp.f` + + .. code:: fortran + + double precision, allocatable :: ao_two_e_integral_schwartz (ao_num,ao_num) + + + Needed to compute Schwartz inequalities + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_coef_normalized_ordered_transp` + * :c:data:`ao_expo_ordered_transp` + * :c:data:`ao_nucl` + * :c:data:`ao_num` + * :c:data:`ao_power` + * :c:data:`ao_prim_num` + * :c:data:`n_pt_max_integrals` + * :c:data:`nucl_coord` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_two_e_integral_alpha` + * :c:data:`mo_two_e_integral_jj_from_ao` + * :c:data:`mo_two_e_integrals_vv_from_ao` + + +.. c:var:: ao_two_e_integrals_in_map + + + File : :file:`ao_two_e_ints/two_e_integrals.irp.f` + + .. code:: fortran + + logical :: ao_two_e_integrals_in_map + + + Map of Atomic integrals + i(r1) j(r2) 1/r12 k(r1) l(r2) + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_coef_normalized_ordered_transp` + * :c:data:`ao_expo_ordered_transp` + * :c:data:`ao_integrals_map` + * :c:data:`ao_nucl` + * :c:data:`ao_num` + * :c:data:`ao_power` + * :c:data:`ao_prim_num` + * :c:data:`ezfio_filename` + * :c:data:`io_ao_two_e_integrals` + * :c:data:`mpi_master` + * :c:data:`n_pt_max_integrals` + * :c:data:`nproc` + * :c:data:`nucl_coord` + * :c:data:`read_ao_two_e_integrals` + * :c:data:`zmq_context` + * :c:data:`zmq_socket_pull_tcp_address` + * :c:data:`zmq_state` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_integrals_cache` + * :c:data:`ao_two_e_integral_alpha` + * :c:data:`mo_two_e_integral_jj_from_ao` + * :c:data:`mo_two_e_integrals_erf_in_map` + * :c:data:`mo_two_e_integrals_in_map` + * :c:data:`mo_two_e_integrals_vv_from_ao` + + +.. c:var:: gauleg_t2 + + + File : :file:`ao_two_e_ints/gauss_legendre.irp.f` + + .. code:: fortran + + double precision, allocatable :: gauleg_t2 (n_pt_max_integrals,n_pt_max_integrals/2) + double precision, allocatable :: gauleg_w (n_pt_max_integrals,n_pt_max_integrals/2) + + + t_w(i,1,k) = w(i) + t_w(i,2,k) = t(i) + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_pt_max_integrals` + + + +.. c:var:: gauleg_w + + + File : :file:`ao_two_e_ints/gauss_legendre.irp.f` + + .. code:: fortran + + double precision, allocatable :: gauleg_t2 (n_pt_max_integrals,n_pt_max_integrals/2) + double precision, allocatable :: gauleg_w (n_pt_max_integrals,n_pt_max_integrals/2) + + + t_w(i,1,k) = w(i) + t_w(i,2,k) = t(i) + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_pt_max_integrals` + + + +.. c:function:: general_primitive_integral: + + + File : :file:`ao_two_e_ints/two_e_integrals.irp.f` + + .. code:: fortran + + double precision function general_primitive_integral(dim, & + P_new,P_center,fact_p,p,p_inv,iorder_p, & + Q_new,Q_center,fact_q,q,q_inv,iorder_q) + + + Computes the integral where p,q,r,s are Gaussian primitives + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`add_poly_multiply` + * :c:func:`give_polynom_mult_center_x` + * :c:func:`multiply_poly` + + +.. c:function:: i_x1_new: + + + File : :file:`ao_two_e_ints/two_e_integrals.irp.f` + + .. code:: fortran + + recursive subroutine I_x1_new(a,c,B_10,B_01,B_00,res,n_pt) + + + recursive function involved in the two-electron integral + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_pt_max_integrals` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`i_x1_new` + * :c:func:`i_x2_new` + * :c:func:`integrale_new` + * :c:func:`integrale_new_erf` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`i_x1_new` + * :c:func:`i_x2_new` + + +.. c:function:: i_x1_pol_mult_a1: + + + File : :file:`ao_two_e_ints/two_e_integrals.irp.f` + + .. code:: fortran + + recursive subroutine I_x1_pol_mult_a1(c,B_10,B_01,B_00,C_00,D_00,d,nd,n_pt_in) + + + recursive function involved in the two-electron integral + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`i_x1_pol_mult` + * :c:func:`i_x1_pol_mult_a2` + * :c:func:`i_x1_pol_mult_recurs` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`i_x2_pol_mult` + * :c:func:`multiply_poly` + + +.. c:function:: i_x1_pol_mult_a2: + + + File : :file:`ao_two_e_ints/two_e_integrals.irp.f` + + .. code:: fortran + + recursive subroutine I_x1_pol_mult_a2(c,B_10,B_01,B_00,C_00,D_00,d,nd,n_pt_in) + + + recursive function involved in the two-electron integral + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`i_x1_pol_mult` + * :c:func:`i_x1_pol_mult_recurs` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`i_x1_pol_mult_a1` + * :c:func:`i_x2_pol_mult` + * :c:func:`multiply_poly` + + +.. c:function:: i_x1_pol_mult_recurs: + + + File : :file:`ao_two_e_ints/two_e_integrals.irp.f` + + .. code:: fortran + + recursive subroutine I_x1_pol_mult_recurs(a,c,B_10,B_01,B_00,C_00,D_00,d,nd,n_pt_in) + + + recursive function involved in the two-electron integral + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`i_x1_pol_mult` + * :c:func:`i_x1_pol_mult_recurs` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`i_x1_pol_mult_a1` + * :c:func:`i_x1_pol_mult_a2` + * :c:func:`i_x1_pol_mult_recurs` + * :c:func:`multiply_poly` + + +.. c:function:: i_x2_new: + + + File : :file:`ao_two_e_ints/two_e_integrals.irp.f` + + .. code:: fortran + + recursive subroutine I_x2_new(c,B_10,B_01,B_00,res,n_pt) + + + recursive function involved in the two-electron integral + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_pt_max_integrals` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`i_x1_new` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`i_x1_new` + + +.. c:function:: i_x2_pol_mult: + + + File : :file:`ao_two_e_ints/two_e_integrals.irp.f` + + .. code:: fortran + + recursive subroutine I_x2_pol_mult(c,B_10,B_01,B_00,C_00,D_00,d,nd,dim) + + + recursive function involved in the two-electron integral + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`i_x1_pol_mult` + * :c:func:`i_x1_pol_mult_a1` + * :c:func:`i_x1_pol_mult_a2` + * :c:func:`i_x2_pol_mult` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`i_x2_pol_mult` + * :c:func:`multiply_poly` + + + +Subroutines / functions +----------------------- + +.. c:function:: ao_l4: + + + File : :file:`ao_two_e_ints/two_e_integrals.irp.f` + + .. code:: fortran + + integer function ao_l4(i,j,k,l) + + + Computes the product of l values of i,j,k,and l + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_l` + + +.. c:function:: ao_two_e_integral: + + + File : :file:`ao_two_e_ints/two_e_integrals.irp.f` + + .. code:: fortran + + double precision function ao_two_e_integral(i,j,k,l) + + + integral of the AO basis or (ij|kl) + i(r1) j(r1) 1/r12 k(r2) l(r2) + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_pt_max_integrals` + * :c:data:`ao_coef_normalized_ordered_transp` + * :c:data:`ao_power` + * :c:data:`ao_expo_ordered_transp` + * :c:data:`ao_prim_num` + * :c:data:`ao_nucl` + * :c:data:`nucl_coord` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`give_explicit_poly_and_gaussian` + + +.. c:function:: ao_two_e_integral_schwartz_accel: + + + File : :file:`ao_two_e_ints/two_e_integrals.irp.f` + + .. code:: fortran + + double precision function ao_two_e_integral_schwartz_accel(i,j,k,l) + + + integral of the AO basis or (ij|kl) + i(r1) j(r1) 1/r12 k(r2) l(r2) + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_pt_max_integrals` + * :c:data:`ao_integrals_threshold` + * :c:data:`ao_coef_normalized_ordered_transp` + * :c:data:`ao_power` + * :c:data:`ao_expo_ordered_transp` + * :c:data:`ao_prim_num` + * :c:data:`ao_nucl` + * :c:data:`nucl_coord` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`give_explicit_poly_and_gaussian` + + +.. c:function:: ao_two_e_integrals_in_map_collector: + + + File : :file:`ao_two_e_ints/integrals_in_map_slave.irp.f` + + .. code:: fortran + + subroutine ao_two_e_integrals_in_map_collector(zmq_socket_pull) + + + Collects results from the AO integral calculation + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_integrals_map` + * :c:data:`ao_num` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_two_e_integrals_in_map` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`end_zmq_to_qp_run_socket` + * :c:func:`insert_into_ao_integrals_map` + + +.. c:function:: ao_two_e_integrals_in_map_slave: + + + File : :file:`ao_two_e_ints/integrals_in_map_slave.irp.f` + + .. code:: fortran + + subroutine ao_two_e_integrals_in_map_slave(thread,iproc) + + + Computes a buffer of integrals + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`ao_two_e_integrals_in_map_slave_inproc` + * :c:func:`ao_two_e_integrals_in_map_slave_tcp` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`compute_ao_integrals_jl` + * :c:func:`end_zmq_push_socket` + * :c:func:`end_zmq_to_qp_run_socket` + * :c:func:`push_integrals` + + +.. c:function:: ao_two_e_integrals_in_map_slave_inproc: + + + File : :file:`ao_two_e_ints/integrals_in_map_slave.irp.f` + + .. code:: fortran + + subroutine ao_two_e_integrals_in_map_slave_inproc(i) + + + Computes a buffer of integrals. i is the ID of the current thread. + + Called by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_two_e_integrals_in_map` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`ao_two_e_integrals_in_map_slave` + + +.. c:function:: ao_two_e_integrals_in_map_slave_tcp: + + + File : :file:`ao_two_e_ints/integrals_in_map_slave.irp.f` + + .. code:: fortran + + subroutine ao_two_e_integrals_in_map_slave_tcp(i) + + + Computes a buffer of integrals. i is the ID of the current thread. + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`ao_two_e_integrals_in_map_slave` + + +.. c:function:: clear_ao_map: + + + File : :file:`ao_two_e_ints/map_integrals.irp.f` + + .. code:: fortran + + subroutine clear_ao_map + + + Frees the memory of the AO map + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_integrals_map` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`map_deinit` + + +.. c:function:: compute_ao_integrals_jl: + + + File : :file:`ao_two_e_ints/two_e_integrals.irp.f` + + .. code:: fortran + + subroutine compute_ao_integrals_jl(j,l,n_integrals,buffer_i,buffer_value) + + + Parallel client for AO integrals + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_overlap_abs` + * :c:data:`ao_num` + * :c:data:`ao_integrals_threshold` + * :c:data:`ao_two_e_integral_schwartz` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`ao_two_e_integrals_in_map_slave` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`two_e_integrals_index` + + +.. c:function:: compute_ao_two_e_integrals: + + + File : :file:`ao_two_e_ints/two_e_integrals.irp.f` + + .. code:: fortran + + subroutine compute_ao_two_e_integrals(j,k,l,sze,buffer_value) + + + Compute AO 1/r12 integrals for all i and fixed j,k,l + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_overlap_abs` + * :c:data:`ao_num` + * :c:data:`ao_two_e_integral_schwartz` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_two_e_integral_jj_from_ao` + * :c:data:`mo_two_e_integrals_vv_from_ao` + + +.. c:function:: dump_ao_integrals: + + + File : :file:`ao_two_e_ints/map_integrals.irp.f` + + .. code:: fortran + + subroutine dump_ao_integrals(filename) + + + Save to disk the |AO| integrals + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_integrals_map` + * :c:data:`mpi_master` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`ezfio_set_work_empty` + + +.. c:function:: eri: + + + File : :file:`ao_two_e_ints/two_e_integrals.irp.f` + + .. code:: fortran + + double precision function ERI(alpha,beta,delta,gama,a_x,b_x,c_x,d_x,a_y,b_y,c_y,d_y,a_z,b_z,c_z,d_z) + + + ATOMIC PRIMTIVE two-electron integral between the 4 primitives :: + primitive_1 = x1**(a_x) y1**(a_y) z1**(a_z) exp(-alpha * r1**2) + primitive_2 = x1**(b_x) y1**(b_y) z1**(b_z) exp(- beta * r1**2) + primitive_3 = x2**(c_x) y2**(c_y) z2**(c_z) exp(-delta * r2**2) + primitive_4 = x2**(d_x) y2**(d_y) z2**(d_z) exp(- gama * r2**2) + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`integrale_new` + + +.. c:function:: gauleg: + + + File : :file:`ao_two_e_ints/gauss_legendre.irp.f` + + .. code:: fortran + + subroutine gauleg(x1,x2,x,w,n) + + + Gauss-Legendre + + Called by: + + .. hlist:: + :columns: 3 + + * :c:data:`gauleg_t2` + + +.. c:function:: get_ao_map_size: + + + File : :file:`ao_two_e_ints/map_integrals.irp.f` + + .. code:: fortran + + function get_ao_map_size() + + + Returns the number of elements in the AO map + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_integrals_map` + + +.. c:function:: get_ao_two_e_integral: + + + File : :file:`ao_two_e_ints/map_integrals.irp.f` + + .. code:: fortran + + double precision function get_ao_two_e_integral(i,j,k,l,map) result(result) + + + Gets one AO bi-electronic integral from the AO map + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_overlap_abs` + * :c:data:`ao_integrals_threshold` + * :c:data:`ao_two_e_integral_schwartz` + * :c:data:`ao_integrals_cache` + * :c:data:`ao_integrals_cache_min` + * :c:data:`ao_two_e_integrals_in_map` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`map_get` + * :c:func:`two_e_integrals_index` + + +.. c:function:: get_ao_two_e_integrals: + + + File : :file:`ao_two_e_ints/map_integrals.irp.f` + + .. code:: fortran + + subroutine get_ao_two_e_integrals(j,k,l,sze,out_val) + + + Gets multiple AO bi-electronic integral from the AO map . + All i are retrieved for j,k,l fixed. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_integrals_map` + * :c:data:`ao_overlap_abs` + * :c:data:`ao_integrals_threshold` + * :c:data:`ao_two_e_integrals_in_map` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`add_integrals_to_map` + * :c:func:`add_integrals_to_map_no_exit_34` + * :c:func:`add_integrals_to_map_three_indices` + + +.. c:function:: get_ao_two_e_integrals_non_zero: + + + File : :file:`ao_two_e_ints/map_integrals.irp.f` + + .. code:: fortran + + subroutine get_ao_two_e_integrals_non_zero(j,k,l,sze,out_val,out_val_index,non_zero_int) + + + Gets multiple AO bi-electronic integral from the AO map . + All non-zero i are retrieved for j,k,l fixed. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_integrals_map` + * :c:data:`ao_overlap_abs` + * :c:data:`ao_integrals_threshold` + * :c:data:`ao_two_e_integral_schwartz` + * :c:data:`ao_two_e_integrals_in_map` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_two_e_integral_jj_from_ao` + * :c:data:`mo_two_e_integrals_vv_from_ao` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`map_get` + * :c:func:`two_e_integrals_index` + + +.. c:function:: give_polynom_mult_center_x: + + + File : :file:`ao_two_e_ints/two_e_integrals.irp.f` + + .. code:: fortran + + subroutine give_polynom_mult_center_x(P_center,Q_center,a_x,d_x,p,q,n_pt_in,pq_inv,pq_inv_2,p10_1,p01_1,p10_2,p01_2,d,n_pt_out) + + + subroutine that returns the explicit polynom in term of the "t" + variable of the following polynomw : + I_x1(a_x, d_x,p,q) * I_x1(a_y, d_y,p,q) * I_x1(a_z, d_z,p,q) + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`general_primitive_integral` + * :c:func:`general_primitive_integral_erf` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`i_x1_pol_mult` + + +.. c:function:: i_x1_pol_mult: + + + File : :file:`ao_two_e_ints/two_e_integrals.irp.f` + + .. code:: fortran + + subroutine I_x1_pol_mult(a,c,B_10,B_01,B_00,C_00,D_00,d,nd,n_pt_in) + + + recursive function involved in the two-electron integral + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`give_polynom_mult_center_x` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`i_x1_pol_mult_a1` + * :c:func:`i_x1_pol_mult_a2` + * :c:func:`i_x1_pol_mult_recurs` + * :c:func:`i_x2_pol_mult` + + +.. c:function:: insert_into_ao_integrals_map: + + + File : :file:`ao_two_e_ints/map_integrals.irp.f` + + .. code:: fortran + + subroutine insert_into_ao_integrals_map(n_integrals,buffer_i, buffer_values) + + + Create new entry into AO map + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_integrals_map` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`ao_two_e_integrals_in_map_collector` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`map_append` + + +.. c:function:: integrale_new: + + + File : :file:`ao_two_e_ints/two_e_integrals.irp.f` + + .. code:: fortran + + subroutine integrale_new(I_f,a_x,b_x,c_x,d_x,a_y,b_y,c_y,d_y,a_z,b_z,c_z,d_z,p,q,n_pt) + + + calculate the integral of the polynom :: + I_x1(a_x+b_x, c_x+d_x,p,q) * I_x1(a_y+b_y, c_y+d_y,p,q) * I_x1(a_z+b_z, c_z+d_z,p,q) + between ( 0 ; 1) + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_pt_max_integrals` + * :c:data:`gauleg_t2` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`eri` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`i_x1_new` + + +.. c:function:: load_ao_integrals: + + + File : :file:`ao_two_e_ints/map_integrals.irp.f` + + .. code:: fortran + + integer function load_ao_integrals(filename) + + + Read from disk the |AO| integrals + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_integrals_map` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`cache_map_reallocate` + * :c:func:`map_deinit` + * :c:func:`map_sort` + + +.. c:function:: n_pt_sup: + + + File : :file:`ao_two_e_ints/two_e_integrals.irp.f` + + .. code:: fortran + + integer function n_pt_sup(a_x,b_x,c_x,d_x,a_y,b_y,c_y,d_y,a_z,b_z,c_z,d_z) + + + Returns the upper boundary of the degree of the polynomial involved in the + bielctronic integral : + Ix(a_x,b_x,c_x,d_x) * Iy(a_y,b_y,c_y,d_y) * Iz(a_z,b_z,c_z,d_z) + + +.. c:function:: push_integrals: + + + File : :file:`ao_two_e_ints/integrals_in_map_slave.irp.f` + + .. code:: fortran + + subroutine push_integrals(zmq_socket_push, n_integrals, buffer_i, buffer_value, task_id) + + + Push integrals in the push socket + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`ao_two_e_integrals_erf_in_map_slave` + * :c:func:`ao_two_e_integrals_in_map_slave` + + +.. c:function:: two_e_integrals_index: + + + File : :file:`ao_two_e_ints/map_integrals.irp.f` + + .. code:: fortran + + subroutine two_e_integrals_index(i,j,k,l,i1) + + + + Called by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_integrals_cache` + * :c:data:`ao_integrals_erf_cache` + * :c:data:`ao_integrals_erf_map` + * :c:data:`ao_integrals_map` + * :c:func:`compute_ao_integrals_erf_jl` + * :c:func:`compute_ao_integrals_jl` + * :c:func:`get_ao_two_e_integral` + * :c:func:`get_ao_two_e_integral_erf` + * :c:func:`get_ao_two_e_integrals_erf_non_zero` + * :c:func:`get_ao_two_e_integrals_non_zero` + * :c:func:`get_mo_two_e_integral_erf` + * :c:func:`get_mo_two_e_integrals_coulomb_ii` + * :c:func:`get_mo_two_e_integrals_erf` + * :c:func:`get_mo_two_e_integrals_erf_coulomb_ii` + * :c:func:`get_mo_two_e_integrals_erf_exch_ii` + * :c:func:`get_mo_two_e_integrals_erf_i1j1` + * :c:func:`get_mo_two_e_integrals_erf_ij` + * :c:func:`get_mo_two_e_integrals_exch_ii` + * :c:func:`get_mo_two_e_integrals_i1j1` + * :c:func:`get_mo_two_e_integrals_ij` + * :c:func:`get_two_e_integral` + * :c:data:`mo_integrals_cache` + * :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:function:: two_e_integrals_index_reverse: + + + File : :file:`ao_two_e_ints/map_integrals.irp.f` + + .. code:: fortran + + subroutine two_e_integrals_index_reverse(i,j,k,l,i1) + + + + Called by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_two_e_integral_alpha` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`two_e_integrals_index` + diff --git a/doc/_sources/modules/aux_quantities.rst.txt b/doc/_sources/modules/aux_quantities.rst.txt new file mode 100644 index 00000000..3ded29f8 --- /dev/null +++ b/doc/_sources/modules/aux_quantities.rst.txt @@ -0,0 +1,52 @@ +.. _module_aux_quantities: + +.. program:: aux_quantities + +.. default-role:: option + +============== +aux_quantities +============== + + +This module contains some global variables (such as densities and energies) +which are stored in the EZFIO folder in a different place than determinants. +This is used in practice to store density matrices which can be obtained from +any methods, as long as they are stored in the same MO basis which is used for +the calculations. In |RSDFT| calculations, this can be done to perform damping +on the density in order to speed up convergence. + +The main providers of that module are: + +* `data_one_e_dm_alpha_mo` and `data_one_e_dm_beta_mo` which are the + one-body alpha and beta densities which are necessary read from the EZFIO + folder. + + +Thanks to these providers you can use any density matrix that does not +necessary corresponds to that of the current wave function. + + + +EZFIO parameters +---------------- + +.. option:: data_energy_var + + Variational energy computed with the wave function + + +.. option:: data_energy_proj + + Projected energy computed with the wave function + + +.. option:: data_one_e_dm_alpha_mo + + Alpha one body density matrix on the |MO| basis computed with the wave function + + +.. option:: data_one_e_dm_beta_mo + + Beta one body density matrix on the |MO| basis computed with the wave function + diff --git a/doc/_sources/modules/becke_numerical_grid.rst.txt b/doc/_sources/modules/becke_numerical_grid.rst.txt new file mode 100644 index 00000000..5f97851d --- /dev/null +++ b/doc/_sources/modules/becke_numerical_grid.rst.txt @@ -0,0 +1,833 @@ +.. _module_becke_numerical_grid: + +.. program:: becke_numerical_grid + +.. default-role:: option + +==================== +becke_numerical_grid +==================== + +This module contains all quantities needed to build Becke's grid used in general for DFT integration. Note that it can be used for whatever integration in R^3 as long as the functions to be integrated are mostly concentrated near the atomic regions. + +This grid is built as the reunion of a spherical grid around each atom. Each spherical grid contains +a certain number of radial and angular points. No pruning is done on the angular part of the grid. + +The main keyword for that module is: + +* :option:`becke_numerical_grid grid_type_sgn` which controls the precision of the grid according the standard **SG-n** grids. This keyword controls the two providers `n_points_integration_angular` `n_points_radial_grid`. + +The main providers of that module are: + +* `n_points_integration_angular` which is the number of angular integration points. WARNING: it obeys to specific rules so it cannot be any integer number. Some of the possible values are [ 50 | 74 | 170 | 194 | 266 | 302 | 590 | 1202 | 2030 | 5810 ] for instance. See :file:`angular.f` for more details. +* `n_points_radial_grid` which is the number of radial angular points. This can be any strictly positive integer. Nevertheless, a minimum of 50 is in general necessary. +* `final_grid_points` which are the (x,y,z) coordinates of the grid points. +* `final_weight_at_r_vector` which are the weights at each grid point + + +For a simple example of how to use the grid, see :file:`example.irp.f`. + +The spherical integration uses Lebedev-Laikov grids, which was used from the code distributed through CCL (http://www.ccl.net/). +See next section for explanations and citation policies. + +.. code-block:: text + + This subroutine is part of a set of subroutines that generate + Lebedev grids [1-6] for integration on a sphere. The original + C-code [1] was kindly provided by Dr. Dmitri N. Laikov and + translated into fortran by Dr. Christoph van Wuellen. + This subroutine was translated using a C to fortran77 conversion + tool written by Dr. Christoph van Wuellen. + + Users of this code are asked to include reference [1] in their + publications, and in the user- and programmers-manuals + describing their codes. + + This code was distributed through CCL (http://www.ccl.net/). + + [1] V.I. Lebedev, and D.N. Laikov + "A quadrature formula for the sphere of the 131st + algebraic order of accuracy" + Doklady Mathematics, Vol. 59, No. 3, 1999, pp. 477-481. + + [2] V.I. Lebedev + "A quadrature formula for the sphere of 59th algebraic + order of accuracy" + Russian Acad. Sci. Dokl. Math., Vol. 50, 1995, pp. 283-286. + + [3] V.I. Lebedev, and A.L. Skorokhodov + "Quadrature formulas of orders 41, 47, and 53 for the sphere" + Russian Acad. Sci. Dokl. Math., Vol. 45, 1992, pp. 587-592. + + [4] V.I. Lebedev + "Spherical quadrature formulas exact to orders 25-29" + Siberian Mathematical Journal, Vol. 18, 1977, pp. 99-107. + + [5] V.I. Lebedev + "Quadratures on a sphere" + Computational Mathematics and Mathematical Physics, Vol. 16, + 1976, pp. 10-24. + + [6] V.I. Lebedev + "Values of the nodes and weights of ninth to seventeenth + order Gauss-Markov quadrature formulae invariant under the + octahedron group with inversion" + Computational Mathematics and Mathematical Physics, Vol. 15, + 1975, pp. 44-51. + + + + + +EZFIO parameters +---------------- + +.. option:: grid_type_sgn + + Type of grid used for the Becke's numerical grid. Can be, by increasing accuracy: [ 0 | 1 | 2 | 3 ] + + Default: 2 + + +Providers +--------- + +.. c:var:: alpha_knowles + + + File : :file:`becke_numerical_grid/integration_radial.irp.f` + + .. code:: fortran + + double precision, allocatable :: alpha_knowles (100) + + + Recommended values for the alpha parameters according to the paper of Knowles (JCP, 104, 1996) + as a function of the nuclear charge + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`final_weight_at_r` + * :c:data:`grid_points_per_atom` + + +.. c:var:: angular_quadrature_points + + + File : :file:`becke_numerical_grid/grid_becke.irp.f` + + .. code:: fortran + + double precision, allocatable :: angular_quadrature_points (n_points_integration_angular,3) + double precision, allocatable :: weights_angular_points (n_points_integration_angular) + + + weights and grid points for the integration on the angular variables on + the unit sphere centered on (0,0,0) + According to the LEBEDEV scheme + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_points_radial_grid` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`final_weight_at_r` + * :c:data:`grid_points_per_atom` + + +.. c:var:: dr_radial_integral + + + File : :file:`becke_numerical_grid/grid_becke.irp.f` + + .. code:: fortran + + double precision, allocatable :: grid_points_radial (n_points_radial_grid) + double precision :: dr_radial_integral + + + points in [0,1] to map the radial integral [0,\infty] + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_points_radial_grid` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`final_weight_at_r` + * :c:data:`grid_points_per_atom` + + +.. c:var:: final_grid_points + + + File : :file:`becke_numerical_grid/grid_becke_vector.irp.f` + + .. code:: fortran + + double precision, allocatable :: final_grid_points (3,n_points_final_grid) + double precision, allocatable :: final_weight_at_r_vector (n_points_final_grid) + integer, allocatable :: index_final_points (3,n_points_final_grid) + integer, allocatable :: index_final_points_reverse (n_points_integration_angular,n_points_radial_grid,nucl_num) + + + final_grid_points(1:3,j) = (/ x, y, z /) of the jth grid point + + final_weight_at_r_vector(i) = Total weight function of the ith grid point which contains the Lebedev, Voronoi and radial weights contributions + + index_final_points(1:3,i) = gives the angular, radial and atomic indices associated to the ith grid point + + index_final_points_reverse(i,j,k) = index of the grid point having i as angular, j as radial and l as atomic indices + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`final_weight_at_r` + * :c:data:`grid_points_per_atom` + * :c:data:`n_points_final_grid` + * :c:data:`n_points_radial_grid` + * :c:data:`nucl_num` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`aos_grad_in_r_array` + * :c:data:`aos_in_r_array` + * :c:data:`aos_lapl_in_r_array` + * :c:data:`aos_sr_vc_alpha_lda_w` + * :c:data:`aos_sr_vc_alpha_pbe_w` + * :c:data:`aos_vc_alpha_lda_w` + * :c:data:`aos_vc_alpha_pbe_w` + * :c:data:`energy_sr_x_lda` + * :c:data:`energy_sr_x_pbe` + * :c:data:`energy_x_lda` + * :c:data:`energy_x_pbe` + * :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:var:: final_weight_at_r + + + File : :file:`becke_numerical_grid/grid_becke.irp.f` + + .. code:: fortran + + double precision, allocatable :: final_weight_at_r (n_points_integration_angular,n_points_radial_grid,nucl_num) + + + Total weight on each grid point which takes into account all Lebedev, Voronoi and radial weights. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`alpha_knowles` + * :c:data:`angular_quadrature_points` + * :c:data:`grid_points_radial` + * :c:data:`m_knowles` + * :c:data:`n_points_radial_grid` + * :c:data:`nucl_charge` + * :c:data:`nucl_num` + * :c:data:`weight_at_r` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`final_grid_points` + * :c:data:`n_points_final_grid` + + +.. c:var:: final_weight_at_r_vector + + + File : :file:`becke_numerical_grid/grid_becke_vector.irp.f` + + .. code:: fortran + + double precision, allocatable :: final_grid_points (3,n_points_final_grid) + double precision, allocatable :: final_weight_at_r_vector (n_points_final_grid) + integer, allocatable :: index_final_points (3,n_points_final_grid) + integer, allocatable :: index_final_points_reverse (n_points_integration_angular,n_points_radial_grid,nucl_num) + + + final_grid_points(1:3,j) = (/ x, y, z /) of the jth grid point + + final_weight_at_r_vector(i) = Total weight function of the ith grid point which contains the Lebedev, Voronoi and radial weights contributions + + index_final_points(1:3,i) = gives the angular, radial and atomic indices associated to the ith grid point + + index_final_points_reverse(i,j,k) = index of the grid point having i as angular, j as radial and l as atomic indices + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`final_weight_at_r` + * :c:data:`grid_points_per_atom` + * :c:data:`n_points_final_grid` + * :c:data:`n_points_radial_grid` + * :c:data:`nucl_num` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`aos_grad_in_r_array` + * :c:data:`aos_in_r_array` + * :c:data:`aos_lapl_in_r_array` + * :c:data:`aos_sr_vc_alpha_lda_w` + * :c:data:`aos_sr_vc_alpha_pbe_w` + * :c:data:`aos_vc_alpha_lda_w` + * :c:data:`aos_vc_alpha_pbe_w` + * :c:data:`energy_sr_x_lda` + * :c:data:`energy_sr_x_pbe` + * :c:data:`energy_x_lda` + * :c:data:`energy_x_pbe` + * :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:var:: grid_points_per_atom + + + File : :file:`becke_numerical_grid/grid_becke.irp.f` + + .. code:: fortran + + double precision, allocatable :: grid_points_per_atom (3,n_points_integration_angular,n_points_radial_grid,nucl_num) + + + x,y,z coordinates of grid points used for integration in 3d space + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`alpha_knowles` + * :c:data:`angular_quadrature_points` + * :c:data:`grid_points_radial` + * :c:data:`m_knowles` + * :c:data:`n_points_radial_grid` + * :c:data:`nucl_charge` + * :c:data:`nucl_coord` + * :c:data:`nucl_num` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`final_grid_points` + * :c:data:`one_e_dm_alpha_in_r` + * :c:data:`weight_at_r` + + +.. c:var:: grid_points_radial + + + File : :file:`becke_numerical_grid/grid_becke.irp.f` + + .. code:: fortran + + double precision, allocatable :: grid_points_radial (n_points_radial_grid) + double precision :: dr_radial_integral + + + points in [0,1] to map the radial integral [0,\infty] + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_points_radial_grid` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`final_weight_at_r` + * :c:data:`grid_points_per_atom` + + +.. c:var:: index_final_points + + + File : :file:`becke_numerical_grid/grid_becke_vector.irp.f` + + .. code:: fortran + + double precision, allocatable :: final_grid_points (3,n_points_final_grid) + double precision, allocatable :: final_weight_at_r_vector (n_points_final_grid) + integer, allocatable :: index_final_points (3,n_points_final_grid) + integer, allocatable :: index_final_points_reverse (n_points_integration_angular,n_points_radial_grid,nucl_num) + + + final_grid_points(1:3,j) = (/ x, y, z /) of the jth grid point + + final_weight_at_r_vector(i) = Total weight function of the ith grid point which contains the Lebedev, Voronoi and radial weights contributions + + index_final_points(1:3,i) = gives the angular, radial and atomic indices associated to the ith grid point + + index_final_points_reverse(i,j,k) = index of the grid point having i as angular, j as radial and l as atomic indices + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`final_weight_at_r` + * :c:data:`grid_points_per_atom` + * :c:data:`n_points_final_grid` + * :c:data:`n_points_radial_grid` + * :c:data:`nucl_num` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`aos_grad_in_r_array` + * :c:data:`aos_in_r_array` + * :c:data:`aos_lapl_in_r_array` + * :c:data:`aos_sr_vc_alpha_lda_w` + * :c:data:`aos_sr_vc_alpha_pbe_w` + * :c:data:`aos_vc_alpha_lda_w` + * :c:data:`aos_vc_alpha_pbe_w` + * :c:data:`energy_sr_x_lda` + * :c:data:`energy_sr_x_pbe` + * :c:data:`energy_x_lda` + * :c:data:`energy_x_pbe` + * :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:var:: index_final_points_reverse + + + File : :file:`becke_numerical_grid/grid_becke_vector.irp.f` + + .. code:: fortran + + double precision, allocatable :: final_grid_points (3,n_points_final_grid) + double precision, allocatable :: final_weight_at_r_vector (n_points_final_grid) + integer, allocatable :: index_final_points (3,n_points_final_grid) + integer, allocatable :: index_final_points_reverse (n_points_integration_angular,n_points_radial_grid,nucl_num) + + + final_grid_points(1:3,j) = (/ x, y, z /) of the jth grid point + + final_weight_at_r_vector(i) = Total weight function of the ith grid point which contains the Lebedev, Voronoi and radial weights contributions + + index_final_points(1:3,i) = gives the angular, radial and atomic indices associated to the ith grid point + + index_final_points_reverse(i,j,k) = index of the grid point having i as angular, j as radial and l as atomic indices + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`final_weight_at_r` + * :c:data:`grid_points_per_atom` + * :c:data:`n_points_final_grid` + * :c:data:`n_points_radial_grid` + * :c:data:`nucl_num` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`aos_grad_in_r_array` + * :c:data:`aos_in_r_array` + * :c:data:`aos_lapl_in_r_array` + * :c:data:`aos_sr_vc_alpha_lda_w` + * :c:data:`aos_sr_vc_alpha_pbe_w` + * :c:data:`aos_vc_alpha_lda_w` + * :c:data:`aos_vc_alpha_pbe_w` + * :c:data:`energy_sr_x_lda` + * :c:data:`energy_sr_x_pbe` + * :c:data:`energy_x_lda` + * :c:data:`energy_x_pbe` + * :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:var:: m_knowles + + + File : :file:`becke_numerical_grid/grid_becke.irp.f` + + .. code:: fortran + + integer :: m_knowles + + + value of the "m" parameter in the equation (7) of the paper of Knowles (JCP, 104, 1996) + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`final_weight_at_r` + * :c:data:`grid_points_per_atom` + + +.. c:var:: n_points_final_grid + + + File : :file:`becke_numerical_grid/grid_becke_vector.irp.f` + + .. code:: fortran + + integer :: n_points_final_grid + + + Number of points which are non zero + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`final_weight_at_r` + * :c:data:`n_points_radial_grid` + * :c:data:`nucl_num` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`aos_grad_in_r_array` + * :c:data:`aos_in_r_array` + * :c:data:`aos_lapl_in_r_array` + * :c:data:`aos_sr_vc_alpha_lda_w` + * :c:data:`aos_sr_vc_alpha_pbe_w` + * :c:data:`aos_vc_alpha_lda_w` + * :c:data:`aos_vc_alpha_pbe_w` + * :c:data:`energy_sr_x_lda` + * :c:data:`energy_sr_x_pbe` + * :c:data:`energy_x_lda` + * :c:data:`energy_x_pbe` + * :c:data:`final_grid_points` + * :c:data:`mos_grad_in_r_array` + * :c:data:`mos_in_r_array` + * :c:data:`mos_lapl_in_r_array` + * :c:data:`one_e_dm_alpha_at_r` + * :c:data:`one_e_dm_and_grad_alpha_in_r` + * :c:data:`potential_sr_c_alpha_ao_lda` + * :c:data:`potential_sr_x_alpha_ao_lda` + * :c:data:`potential_sr_x_alpha_ao_pbe` + * :c:data:`potential_x_alpha_ao_lda` + * :c:data:`potential_x_alpha_ao_pbe` + + +.. c:var:: n_points_grid_per_atom + + + File : :file:`becke_numerical_grid/grid_becke.irp.f` + + .. code:: fortran + + integer :: n_points_grid_per_atom + + + Number of grid points per atom + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_points_radial_grid` + + + +.. c:var:: n_points_integration_angular + + + File : :file:`becke_numerical_grid/grid_becke.irp.f` + + .. code:: fortran + + integer :: n_points_radial_grid + integer :: n_points_integration_angular + + + n_points_radial_grid = number of radial grid points per atom + + n_points_integration_angular = number of angular grid points per atom + + These numbers are automatically set by setting the grid_type_sgn parameter + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`grid_type_sgn` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`angular_quadrature_points` + * :c:data:`final_grid_points` + * :c:data:`final_weight_at_r` + * :c:data:`grid_points_per_atom` + * :c:data:`grid_points_radial` + * :c:data:`n_points_final_grid` + * :c:data:`n_points_grid_per_atom` + * :c:data:`one_e_dm_alpha_in_r` + * :c:data:`weight_at_r` + + +.. c:var:: n_points_radial_grid + + + File : :file:`becke_numerical_grid/grid_becke.irp.f` + + .. code:: fortran + + integer :: n_points_radial_grid + integer :: n_points_integration_angular + + + n_points_radial_grid = number of radial grid points per atom + + n_points_integration_angular = number of angular grid points per atom + + These numbers are automatically set by setting the grid_type_sgn parameter + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`grid_type_sgn` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`angular_quadrature_points` + * :c:data:`final_grid_points` + * :c:data:`final_weight_at_r` + * :c:data:`grid_points_per_atom` + * :c:data:`grid_points_radial` + * :c:data:`n_points_final_grid` + * :c:data:`n_points_grid_per_atom` + * :c:data:`one_e_dm_alpha_in_r` + * :c:data:`weight_at_r` + + +.. c:var:: weight_at_r + + + File : :file:`becke_numerical_grid/grid_becke.irp.f` + + .. code:: fortran + + double precision, allocatable :: weight_at_r (n_points_integration_angular,n_points_radial_grid,nucl_num) + + + Weight function at grid points : w_n(r) according to the equation (22) + of Becke original paper (JCP, 88, 1988) + + The "n" discrete variable represents the nucleis which in this array is + represented by the last dimension and the points are labelled by the + other dimensions. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`grid_points_per_atom` + * :c:data:`n_points_radial_grid` + * :c:data:`nucl_coord_transp` + * :c:data:`nucl_dist_inv` + * :c:data:`nucl_num` + * :c:data:`slater_bragg_type_inter_distance_ua` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`final_weight_at_r` + + +.. c:var:: weights_angular_points + + + File : :file:`becke_numerical_grid/grid_becke.irp.f` + + .. code:: fortran + + double precision, allocatable :: angular_quadrature_points (n_points_integration_angular,3) + double precision, allocatable :: weights_angular_points (n_points_integration_angular) + + + weights and grid points for the integration on the angular variables on + the unit sphere centered on (0,0,0) + According to the LEBEDEV scheme + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_points_radial_grid` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`final_weight_at_r` + * :c:data:`grid_points_per_atom` + + + +Subroutines / functions +----------------------- + +.. c:function:: cell_function_becke: + + + File : :file:`becke_numerical_grid/step_function_becke.irp.f` + + .. code:: fortran + + double precision function cell_function_becke(r,atom_number) + + + atom_number :: atom on which the cell function of Becke (1988, JCP,88(4)) + r(1:3) :: x,y,z coordinantes of the current point + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`nucl_dist_inv` + * :c:data:`slater_bragg_type_inter_distance_ua` + * :c:data:`nucl_coord_transp` + * :c:data:`nucl_num` + + +.. c:function:: derivative_knowles_function: + + + File : :file:`becke_numerical_grid/integration_radial.irp.f` + + .. code:: fortran + + double precision function derivative_knowles_function(alpha,m,x) + + + Derivative of the function proposed by Knowles (JCP, 104, 1996) for distributing the radial points + + +.. c:function:: example_becke_numerical_grid: + + + File : :file:`becke_numerical_grid/example.irp.f` + + .. code:: fortran + + subroutine example_becke_numerical_grid + + + subroutine that illustrates the main features available in becke_numerical_grid + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_points_final_grid` + * :c:data:`final_weight_at_r` + * :c:data:`n_points_radial_grid` + * :c:data:`grid_points_per_atom` + * :c:data:`final_grid_points` + * :c:data:`nucl_coord` + * :c:data:`nucl_num` + + +.. c:function:: f_function_becke: + + + File : :file:`becke_numerical_grid/step_function_becke.irp.f` + + .. code:: fortran + + double precision function f_function_becke(x) + + + + +.. c:function:: knowles_function: + + + File : :file:`becke_numerical_grid/integration_radial.irp.f` + + .. code:: fortran + + double precision function knowles_function(alpha,m,x) + + + Function proposed by Knowles (JCP, 104, 1996) for distributing the radial points : + the Log "m" function ( equation (7) in the paper ) + + +.. c:function:: step_function_becke: + + + File : :file:`becke_numerical_grid/step_function_becke.irp.f` + + .. code:: fortran + + double precision function step_function_becke(x) + + + Step function of the Becke paper (1988, JCP,88(4)) + diff --git a/doc/_sources/modules/bitmask.rst.txt b/doc/_sources/modules/bitmask.rst.txt new file mode 100644 index 00000000..530eb096 --- /dev/null +++ b/doc/_sources/modules/bitmask.rst.txt @@ -0,0 +1,3489 @@ +.. _module_bitmask: + +.. program:: bitmask + +.. default-role:: option + +============== +bitmask module +============== + +The central part of this module is the :file:`bitmasks_module.f90` file. It contains +the constants that will be used to define on which kind of integer the bitmasks +will be defined. + +In the program, to represent a determinant as a pair of bitstrings, +the determinant should be defined as + +.. code-block:: fortran + + use bitmasks + integer(bit_kind) :: determinant(N_int,2) + + +:file:`bitmasks_routines.irp.f` contains helper routines to manipulate bitmask, like +transforming a bit string to a list of integers for example. + + +`bit_kind_shift`, `bit_kind_size` and `bit_kind` are supposed to be consistent:: + + 2**bit_kind_shift = bit_kind_size + bit_kind = bit_kind_size / 8 + + +For an example of how to use the bitmaks, see the file :file:`example.irp.f`. + + + +Providers +--------- + +.. c:var:: act_bitmask + + + File : :file:`bitmask/core_inact_act_virt.irp.f` + + .. code:: fortran + + integer, allocatable :: list_inact (dim_list_inact_orb) + integer, allocatable :: list_virt (dim_list_virt_orb) + integer, allocatable :: list_inact_reverse (mo_num) + integer, allocatable :: list_virt_reverse (mo_num) + integer, allocatable :: list_del_reverse (mo_num) + integer, allocatable :: list_del (mo_num) + integer, allocatable :: list_core (dim_list_core_orb) + integer, allocatable :: list_core_reverse (mo_num) + integer, allocatable :: list_act (dim_list_act_orb) + integer, allocatable :: list_act_reverse (mo_num) + integer(bit_kind), allocatable :: core_bitmask (N_int,2) + integer(bit_kind), allocatable :: inact_bitmask (N_int,2) + integer(bit_kind), allocatable :: act_bitmask (N_int,2) + integer(bit_kind), allocatable :: virt_bitmask (N_int,2) + integer(bit_kind), allocatable :: del_bitmask (N_int,2) + + + inact_bitmask : Bitmask of the inactive orbitals which are supposed to be doubly excited + in post CAS methods + n_inact_orb : Number of inactive orbitals + virt_bitmask : Bitmaks of vritual orbitals which are supposed to be recieve electrons + in post CAS methods + n_virt_orb : Number of virtual orbitals + list_inact : List of the inactive orbitals which are supposed to be doubly excited + in post CAS methods + list_virt : List of vritual orbitals which are supposed to be recieve electrons + in post CAS methods + list_inact_reverse : reverse list of inactive orbitals + list_inact_reverse(i) = 0 ::> not an inactive + list_inact_reverse(i) = k ::> IS the kth inactive + list_virt_reverse : reverse list of virtual orbitals + list_virt_reverse(i) = 0 ::> not an virtual + list_virt_reverse(i) = k ::> IS the kth virtual + list_act(i) = index of the ith active orbital + + list_act_reverse : reverse list of active orbitals + list_act_reverse(i) = 0 ::> not an active + list_act_reverse(i) = k ::> IS the kth active orbital + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`dim_list_core_orb` + * :c:data:`mo_class` + * :c:data:`mo_num` + * :c:data:`n_core_orb` + * :c:data:`n_int` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`core_energy` + * :c:data:`core_energy_erf` + * :c:data:`core_fock_operator` + * :c:data:`core_fock_operator_erf` + * :c:data:`eigenvectors_fock_matrix_mo` + * :c:data:`fock_matrix_mo` + * :c:data:`inact_virt_bitmask` + * :c:data:`list_core_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_bitmask` + * :c:data:`virt_bitmask_4` + + +.. c:var:: cas_bitmask + + + File : :file:`bitmask/bitmasks.irp.f` + + .. code:: fortran + + integer(bit_kind), allocatable :: cas_bitmask (N_int,2,N_cas_bitmask) + + + Bitmasks for CAS reference determinants. (N_int, alpha/beta, CAS reference) + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ezfio_filename` + * :c:data:`full_ijkl_bitmask` + * :c:data:`generators_bitmask_restart` + * :c:data:`hf_bitmask` + * :c:data:`mpi_master` + * :c:data:`n_cas_bitmask` + * :c:data:`n_generators_bitmask` + * :c:data:`n_int` + + Needed by: + + .. hlist:: + :columns: 3 + + * :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 + + + File : :file:`bitmask/bitmasks.irp.f` + + .. code:: fortran + + integer(bit_kind), allocatable :: closed_shell_ref_bitmask (N_int,2) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`cas_bitmask` + * :c:data:`n_int` + * :c:data:`ref_bitmask` + + + +.. c:var:: core_bitmask + + + File : :file:`bitmask/core_inact_act_virt.irp.f` + + .. code:: fortran + + integer, allocatable :: list_inact (dim_list_inact_orb) + integer, allocatable :: list_virt (dim_list_virt_orb) + integer, allocatable :: list_inact_reverse (mo_num) + integer, allocatable :: list_virt_reverse (mo_num) + integer, allocatable :: list_del_reverse (mo_num) + integer, allocatable :: list_del (mo_num) + integer, allocatable :: list_core (dim_list_core_orb) + integer, allocatable :: list_core_reverse (mo_num) + integer, allocatable :: list_act (dim_list_act_orb) + integer, allocatable :: list_act_reverse (mo_num) + integer(bit_kind), allocatable :: core_bitmask (N_int,2) + integer(bit_kind), allocatable :: inact_bitmask (N_int,2) + integer(bit_kind), allocatable :: act_bitmask (N_int,2) + integer(bit_kind), allocatable :: virt_bitmask (N_int,2) + integer(bit_kind), allocatable :: del_bitmask (N_int,2) + + + inact_bitmask : Bitmask of the inactive orbitals which are supposed to be doubly excited + in post CAS methods + n_inact_orb : Number of inactive orbitals + virt_bitmask : Bitmaks of vritual orbitals which are supposed to be recieve electrons + in post CAS methods + n_virt_orb : Number of virtual orbitals + list_inact : List of the inactive orbitals which are supposed to be doubly excited + in post CAS methods + list_virt : List of vritual orbitals which are supposed to be recieve electrons + in post CAS methods + list_inact_reverse : reverse list of inactive orbitals + list_inact_reverse(i) = 0 ::> not an inactive + list_inact_reverse(i) = k ::> IS the kth inactive + list_virt_reverse : reverse list of virtual orbitals + list_virt_reverse(i) = 0 ::> not an virtual + list_virt_reverse(i) = k ::> IS the kth virtual + list_act(i) = index of the ith active orbital + + list_act_reverse : reverse list of active orbitals + list_act_reverse(i) = 0 ::> not an active + list_act_reverse(i) = k ::> IS the kth active orbital + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`dim_list_core_orb` + * :c:data:`mo_class` + * :c:data:`mo_num` + * :c:data:`n_core_orb` + * :c:data:`n_int` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`core_energy` + * :c:data:`core_energy_erf` + * :c:data:`core_fock_operator` + * :c:data:`core_fock_operator_erf` + * :c:data:`eigenvectors_fock_matrix_mo` + * :c:data:`fock_matrix_mo` + * :c:data:`inact_virt_bitmask` + * :c:data:`list_core_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_bitmask` + * :c:data:`virt_bitmask_4` + + +.. c:var:: core_inact_act_bitmask_4 + + + File : :file:`bitmask/bitmasks.irp.f` + + .. code:: fortran + + integer(bit_kind), allocatable :: core_inact_act_bitmask_4 (N_int,4) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_int` + * :c:data:`reunion_of_core_inact_act_bitmask` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_two_e_integrals_in_map` + + +.. c:var:: core_inact_virt_bitmask + + + File : :file:`bitmask/bitmasks.irp.f` + + .. code:: fortran + + integer(bit_kind), allocatable :: inact_virt_bitmask (N_int,2) + integer(bit_kind), allocatable :: core_inact_virt_bitmask (N_int,2) + + + Reunion of the inactive and virtual bitmasks + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`list_inact` + * :c:data:`n_int` + + + +.. c:var:: del_bitmask + + + File : :file:`bitmask/core_inact_act_virt.irp.f` + + .. code:: fortran + + integer, allocatable :: list_inact (dim_list_inact_orb) + integer, allocatable :: list_virt (dim_list_virt_orb) + integer, allocatable :: list_inact_reverse (mo_num) + integer, allocatable :: list_virt_reverse (mo_num) + integer, allocatable :: list_del_reverse (mo_num) + integer, allocatable :: list_del (mo_num) + integer, allocatable :: list_core (dim_list_core_orb) + integer, allocatable :: list_core_reverse (mo_num) + integer, allocatable :: list_act (dim_list_act_orb) + integer, allocatable :: list_act_reverse (mo_num) + integer(bit_kind), allocatable :: core_bitmask (N_int,2) + integer(bit_kind), allocatable :: inact_bitmask (N_int,2) + integer(bit_kind), allocatable :: act_bitmask (N_int,2) + integer(bit_kind), allocatable :: virt_bitmask (N_int,2) + integer(bit_kind), allocatable :: del_bitmask (N_int,2) + + + inact_bitmask : Bitmask of the inactive orbitals which are supposed to be doubly excited + in post CAS methods + n_inact_orb : Number of inactive orbitals + virt_bitmask : Bitmaks of vritual orbitals which are supposed to be recieve electrons + in post CAS methods + n_virt_orb : Number of virtual orbitals + list_inact : List of the inactive orbitals which are supposed to be doubly excited + in post CAS methods + list_virt : List of vritual orbitals which are supposed to be recieve electrons + in post CAS methods + list_inact_reverse : reverse list of inactive orbitals + list_inact_reverse(i) = 0 ::> not an inactive + list_inact_reverse(i) = k ::> IS the kth inactive + list_virt_reverse : reverse list of virtual orbitals + list_virt_reverse(i) = 0 ::> not an virtual + list_virt_reverse(i) = k ::> IS the kth virtual + list_act(i) = index of the ith active orbital + + list_act_reverse : reverse list of active orbitals + list_act_reverse(i) = 0 ::> not an active + list_act_reverse(i) = k ::> IS the kth active orbital + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`dim_list_core_orb` + * :c:data:`mo_class` + * :c:data:`mo_num` + * :c:data:`n_core_orb` + * :c:data:`n_int` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`core_energy` + * :c:data:`core_energy_erf` + * :c:data:`core_fock_operator` + * :c:data:`core_fock_operator_erf` + * :c:data:`eigenvectors_fock_matrix_mo` + * :c:data:`fock_matrix_mo` + * :c:data:`inact_virt_bitmask` + * :c:data:`list_core_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_bitmask` + * :c:data:`virt_bitmask_4` + + +.. c:var:: dim_list_act_orb + + + File : :file:`bitmask/core_inact_act_virt.irp.f` + + .. code:: fortran + + integer :: dim_list_core_orb + integer :: dim_list_inact_orb + integer :: dim_list_virt_orb + integer :: dim_list_act_orb + integer :: dim_list_del_orb + + + dimensions for the allocation of list_inact, list_virt, list_core and list_act + it is at least 1 + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_core_orb` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`list_inact` + + +.. c:var:: dim_list_core_orb + + + File : :file:`bitmask/core_inact_act_virt.irp.f` + + .. code:: fortran + + integer :: dim_list_core_orb + integer :: dim_list_inact_orb + integer :: dim_list_virt_orb + integer :: dim_list_act_orb + integer :: dim_list_del_orb + + + dimensions for the allocation of list_inact, list_virt, list_core and list_act + it is at least 1 + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_core_orb` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`list_inact` + + +.. c:var:: dim_list_del_orb + + + File : :file:`bitmask/core_inact_act_virt.irp.f` + + .. code:: fortran + + integer :: dim_list_core_orb + integer :: dim_list_inact_orb + integer :: dim_list_virt_orb + integer :: dim_list_act_orb + integer :: dim_list_del_orb + + + dimensions for the allocation of list_inact, list_virt, list_core and list_act + it is at least 1 + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_core_orb` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`list_inact` + + +.. c:var:: dim_list_inact_orb + + + File : :file:`bitmask/core_inact_act_virt.irp.f` + + .. code:: fortran + + integer :: dim_list_core_orb + integer :: dim_list_inact_orb + integer :: dim_list_virt_orb + integer :: dim_list_act_orb + integer :: dim_list_del_orb + + + dimensions for the allocation of list_inact, list_virt, list_core and list_act + it is at least 1 + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_core_orb` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`list_inact` + + +.. c:var:: dim_list_virt_orb + + + File : :file:`bitmask/core_inact_act_virt.irp.f` + + .. code:: fortran + + integer :: dim_list_core_orb + integer :: dim_list_inact_orb + integer :: dim_list_virt_orb + integer :: dim_list_act_orb + integer :: dim_list_del_orb + + + dimensions for the allocation of list_inact, list_virt, list_core and list_act + it is at least 1 + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_core_orb` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`list_inact` + + +.. c:var:: full_ijkl_bitmask + + + File : :file:`bitmask/bitmasks.irp.f` + + .. code:: fortran + + integer(bit_kind), allocatable :: full_ijkl_bitmask (N_int) + + + Bitmask to include all possible MOs + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_class` + * :c:data:`mo_num` + * :c:data:`n_int` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`cas_bitmask` + * :c:data:`fock_operator_closed_shell_ref_bitmask` + * :c:data:`fock_wee_closed_shell` + * :c:data:`full_ijkl_bitmask_4` + * :c:data:`generators_bitmask` + * :c:data:`generators_bitmask_restart` + + +.. c:var:: full_ijkl_bitmask_4 + + + File : :file:`bitmask/bitmasks.irp.f` + + .. code:: fortran + + integer(bit_kind), allocatable :: full_ijkl_bitmask_4 (N_int,4) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`full_ijkl_bitmask` + * :c:data:`n_int` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_two_e_integrals_erf_in_map` + * :c:data:`mo_two_e_integrals_in_map` + + +.. c:var:: generators_bitmask + + + File : :file:`bitmask/bitmasks.irp.f` + + .. code:: fortran + + integer(bit_kind), allocatable :: generators_bitmask (N_int,2,6,N_generators_bitmask) + + + Bitmasks for generator determinants. + (N_int, alpha/beta, hole/particle, generator). + + 3rd index is : + + * 1 : hole for single exc + + * 2 : particle for single exc + + * 3 : hole for 1st exc of double + + * 4 : particle for 1st exc of double + + * 5 : hole for 2nd exc of double + + * 6 : particle for 2nd exc of double + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ezfio_filename` + * :c:data:`full_ijkl_bitmask` + * :c:data:`mpi_master` + * :c:data:`n_generators_bitmask` + * :c:data:`n_int` + + + +.. c:var:: generators_bitmask_restart + + + File : :file:`bitmask/bitmasks.irp.f` + + .. code:: fortran + + integer(bit_kind), allocatable :: generators_bitmask_restart (N_int,2,6,N_generators_bitmask_restart) + + + Bitmasks for generator determinants. + (N_int, alpha/beta, hole/particle, generator). + + 3rd index is : + + * 1 : hole for single exc + + * 2 : particle for single exc + + * 3 : hole for 1st exc of double + + * 4 : particle for 1st exc of double + + * 5 : hole for 2nd exc of double + + * 6 : particle for 2nd exc of double + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ezfio_filename` + * :c:data:`full_ijkl_bitmask` + * :c:data:`mpi_master` + * :c:data:`n_generators_bitmask` + * :c:data:`n_generators_bitmask_restart` + * :c:data:`n_int` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`cas_bitmask` + + +.. c:var:: hf_bitmask + + + File : :file:`bitmask/bitmasks.irp.f` + + .. code:: fortran + + integer(bit_kind), allocatable :: hf_bitmask (N_int,2) + + + Hartree Fock bit mask + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`elec_alpha_num` + * :c:data:`elec_beta_num` + * :c:data:`n_int` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`cas_bitmask` + * :c:data:`degree_max_generators` + * :c:data:`double_exc_bitmask` + * :c:data:`max_degree_exc` + * :c:data:`psi_cas` + * :c:data:`psi_det` + * :c:data:`ref_bitmask` + * :c:data:`single_exc_bitmask` + * :c:data:`unpaired_alpha_electrons` + + +.. c:var:: i_bitmask_gen + + + File : :file:`bitmask/bitmasks.irp.f` + + .. code:: fortran + + integer :: i_bitmask_gen + + + Current bitmask for the generators + + + +.. c:var:: inact_bitmask + + + File : :file:`bitmask/core_inact_act_virt.irp.f` + + .. code:: fortran + + integer, allocatable :: list_inact (dim_list_inact_orb) + integer, allocatable :: list_virt (dim_list_virt_orb) + integer, allocatable :: list_inact_reverse (mo_num) + integer, allocatable :: list_virt_reverse (mo_num) + integer, allocatable :: list_del_reverse (mo_num) + integer, allocatable :: list_del (mo_num) + integer, allocatable :: list_core (dim_list_core_orb) + integer, allocatable :: list_core_reverse (mo_num) + integer, allocatable :: list_act (dim_list_act_orb) + integer, allocatable :: list_act_reverse (mo_num) + integer(bit_kind), allocatable :: core_bitmask (N_int,2) + integer(bit_kind), allocatable :: inact_bitmask (N_int,2) + integer(bit_kind), allocatable :: act_bitmask (N_int,2) + integer(bit_kind), allocatable :: virt_bitmask (N_int,2) + integer(bit_kind), allocatable :: del_bitmask (N_int,2) + + + inact_bitmask : Bitmask of the inactive orbitals which are supposed to be doubly excited + in post CAS methods + n_inact_orb : Number of inactive orbitals + virt_bitmask : Bitmaks of vritual orbitals which are supposed to be recieve electrons + in post CAS methods + n_virt_orb : Number of virtual orbitals + list_inact : List of the inactive orbitals which are supposed to be doubly excited + in post CAS methods + list_virt : List of vritual orbitals which are supposed to be recieve electrons + in post CAS methods + list_inact_reverse : reverse list of inactive orbitals + list_inact_reverse(i) = 0 ::> not an inactive + list_inact_reverse(i) = k ::> IS the kth inactive + list_virt_reverse : reverse list of virtual orbitals + list_virt_reverse(i) = 0 ::> not an virtual + list_virt_reverse(i) = k ::> IS the kth virtual + list_act(i) = index of the ith active orbital + + list_act_reverse : reverse list of active orbitals + list_act_reverse(i) = 0 ::> not an active + list_act_reverse(i) = k ::> IS the kth active orbital + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`dim_list_core_orb` + * :c:data:`mo_class` + * :c:data:`mo_num` + * :c:data:`n_core_orb` + * :c:data:`n_int` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`core_energy` + * :c:data:`core_energy_erf` + * :c:data:`core_fock_operator` + * :c:data:`core_fock_operator_erf` + * :c:data:`eigenvectors_fock_matrix_mo` + * :c:data:`fock_matrix_mo` + * :c:data:`inact_virt_bitmask` + * :c:data:`list_core_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_bitmask` + * :c:data:`virt_bitmask_4` + + +.. c:var:: inact_virt_bitmask + + + File : :file:`bitmask/bitmasks.irp.f` + + .. code:: fortran + + integer(bit_kind), allocatable :: inact_virt_bitmask (N_int,2) + integer(bit_kind), allocatable :: core_inact_virt_bitmask (N_int,2) + + + Reunion of the inactive and virtual bitmasks + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`list_inact` + * :c:data:`n_int` + + + +.. c:var:: index_holes_bitmask + + + File : :file:`bitmask/modify_bitmasks.irp.f` + + .. code:: fortran + + integer, allocatable :: index_holes_bitmask (3) + + + Index of the holes in the generators_bitmasks + + + +.. c:var:: index_particl_bitmask + + + File : :file:`bitmask/modify_bitmasks.irp.f` + + .. code:: fortran + + integer, allocatable :: index_particl_bitmask (3) + + + Index of the holes in the generators_bitmasks + + + +.. c:var:: list_act + + + File : :file:`bitmask/core_inact_act_virt.irp.f` + + .. code:: fortran + + integer, allocatable :: list_inact (dim_list_inact_orb) + integer, allocatable :: list_virt (dim_list_virt_orb) + integer, allocatable :: list_inact_reverse (mo_num) + integer, allocatable :: list_virt_reverse (mo_num) + integer, allocatable :: list_del_reverse (mo_num) + integer, allocatable :: list_del (mo_num) + integer, allocatable :: list_core (dim_list_core_orb) + integer, allocatable :: list_core_reverse (mo_num) + integer, allocatable :: list_act (dim_list_act_orb) + integer, allocatable :: list_act_reverse (mo_num) + integer(bit_kind), allocatable :: core_bitmask (N_int,2) + integer(bit_kind), allocatable :: inact_bitmask (N_int,2) + integer(bit_kind), allocatable :: act_bitmask (N_int,2) + integer(bit_kind), allocatable :: virt_bitmask (N_int,2) + integer(bit_kind), allocatable :: del_bitmask (N_int,2) + + + inact_bitmask : Bitmask of the inactive orbitals which are supposed to be doubly excited + in post CAS methods + n_inact_orb : Number of inactive orbitals + virt_bitmask : Bitmaks of vritual orbitals which are supposed to be recieve electrons + in post CAS methods + n_virt_orb : Number of virtual orbitals + list_inact : List of the inactive orbitals which are supposed to be doubly excited + in post CAS methods + list_virt : List of vritual orbitals which are supposed to be recieve electrons + in post CAS methods + list_inact_reverse : reverse list of inactive orbitals + list_inact_reverse(i) = 0 ::> not an inactive + list_inact_reverse(i) = k ::> IS the kth inactive + list_virt_reverse : reverse list of virtual orbitals + list_virt_reverse(i) = 0 ::> not an virtual + list_virt_reverse(i) = k ::> IS the kth virtual + list_act(i) = index of the ith active orbital + + list_act_reverse : reverse list of active orbitals + list_act_reverse(i) = 0 ::> not an active + list_act_reverse(i) = k ::> IS the kth active orbital + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`dim_list_core_orb` + * :c:data:`mo_class` + * :c:data:`mo_num` + * :c:data:`n_core_orb` + * :c:data:`n_int` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`core_energy` + * :c:data:`core_energy_erf` + * :c:data:`core_fock_operator` + * :c:data:`core_fock_operator_erf` + * :c:data:`eigenvectors_fock_matrix_mo` + * :c:data:`fock_matrix_mo` + * :c:data:`inact_virt_bitmask` + * :c:data:`list_core_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_bitmask` + * :c:data:`virt_bitmask_4` + + +.. c:var:: list_act_reverse + + + File : :file:`bitmask/core_inact_act_virt.irp.f` + + .. code:: fortran + + integer, allocatable :: list_inact (dim_list_inact_orb) + integer, allocatable :: list_virt (dim_list_virt_orb) + integer, allocatable :: list_inact_reverse (mo_num) + integer, allocatable :: list_virt_reverse (mo_num) + integer, allocatable :: list_del_reverse (mo_num) + integer, allocatable :: list_del (mo_num) + integer, allocatable :: list_core (dim_list_core_orb) + integer, allocatable :: list_core_reverse (mo_num) + integer, allocatable :: list_act (dim_list_act_orb) + integer, allocatable :: list_act_reverse (mo_num) + integer(bit_kind), allocatable :: core_bitmask (N_int,2) + integer(bit_kind), allocatable :: inact_bitmask (N_int,2) + integer(bit_kind), allocatable :: act_bitmask (N_int,2) + integer(bit_kind), allocatable :: virt_bitmask (N_int,2) + integer(bit_kind), allocatable :: del_bitmask (N_int,2) + + + inact_bitmask : Bitmask of the inactive orbitals which are supposed to be doubly excited + in post CAS methods + n_inact_orb : Number of inactive orbitals + virt_bitmask : Bitmaks of vritual orbitals which are supposed to be recieve electrons + in post CAS methods + n_virt_orb : Number of virtual orbitals + list_inact : List of the inactive orbitals which are supposed to be doubly excited + in post CAS methods + list_virt : List of vritual orbitals which are supposed to be recieve electrons + in post CAS methods + list_inact_reverse : reverse list of inactive orbitals + list_inact_reverse(i) = 0 ::> not an inactive + list_inact_reverse(i) = k ::> IS the kth inactive + list_virt_reverse : reverse list of virtual orbitals + list_virt_reverse(i) = 0 ::> not an virtual + list_virt_reverse(i) = k ::> IS the kth virtual + list_act(i) = index of the ith active orbital + + list_act_reverse : reverse list of active orbitals + list_act_reverse(i) = 0 ::> not an active + list_act_reverse(i) = k ::> IS the kth active orbital + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`dim_list_core_orb` + * :c:data:`mo_class` + * :c:data:`mo_num` + * :c:data:`n_core_orb` + * :c:data:`n_int` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`core_energy` + * :c:data:`core_energy_erf` + * :c:data:`core_fock_operator` + * :c:data:`core_fock_operator_erf` + * :c:data:`eigenvectors_fock_matrix_mo` + * :c:data:`fock_matrix_mo` + * :c:data:`inact_virt_bitmask` + * :c:data:`list_core_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_bitmask` + * :c:data:`virt_bitmask_4` + + +.. c:var:: list_core + + + File : :file:`bitmask/core_inact_act_virt.irp.f` + + .. code:: fortran + + integer, allocatable :: list_inact (dim_list_inact_orb) + integer, allocatable :: list_virt (dim_list_virt_orb) + integer, allocatable :: list_inact_reverse (mo_num) + integer, allocatable :: list_virt_reverse (mo_num) + integer, allocatable :: list_del_reverse (mo_num) + integer, allocatable :: list_del (mo_num) + integer, allocatable :: list_core (dim_list_core_orb) + integer, allocatable :: list_core_reverse (mo_num) + integer, allocatable :: list_act (dim_list_act_orb) + integer, allocatable :: list_act_reverse (mo_num) + integer(bit_kind), allocatable :: core_bitmask (N_int,2) + integer(bit_kind), allocatable :: inact_bitmask (N_int,2) + integer(bit_kind), allocatable :: act_bitmask (N_int,2) + integer(bit_kind), allocatable :: virt_bitmask (N_int,2) + integer(bit_kind), allocatable :: del_bitmask (N_int,2) + + + inact_bitmask : Bitmask of the inactive orbitals which are supposed to be doubly excited + in post CAS methods + n_inact_orb : Number of inactive orbitals + virt_bitmask : Bitmaks of vritual orbitals which are supposed to be recieve electrons + in post CAS methods + n_virt_orb : Number of virtual orbitals + list_inact : List of the inactive orbitals which are supposed to be doubly excited + in post CAS methods + list_virt : List of vritual orbitals which are supposed to be recieve electrons + in post CAS methods + list_inact_reverse : reverse list of inactive orbitals + list_inact_reverse(i) = 0 ::> not an inactive + list_inact_reverse(i) = k ::> IS the kth inactive + list_virt_reverse : reverse list of virtual orbitals + list_virt_reverse(i) = 0 ::> not an virtual + list_virt_reverse(i) = k ::> IS the kth virtual + list_act(i) = index of the ith active orbital + + list_act_reverse : reverse list of active orbitals + list_act_reverse(i) = 0 ::> not an active + list_act_reverse(i) = k ::> IS the kth active orbital + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`dim_list_core_orb` + * :c:data:`mo_class` + * :c:data:`mo_num` + * :c:data:`n_core_orb` + * :c:data:`n_int` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`core_energy` + * :c:data:`core_energy_erf` + * :c:data:`core_fock_operator` + * :c:data:`core_fock_operator_erf` + * :c:data:`eigenvectors_fock_matrix_mo` + * :c:data:`fock_matrix_mo` + * :c:data:`inact_virt_bitmask` + * :c:data:`list_core_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_bitmask` + * :c:data:`virt_bitmask_4` + + +.. c:var:: list_core_inact_act + + + File : :file:`bitmask/bitmasks.irp.f` + + .. code:: fortran + + integer, allocatable :: list_core_inact_act (n_core_inact_act_orb) + integer, allocatable :: list_core_inact_act_reverse (mo_num) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`list_inact` + * :c:data:`mo_num` + * :c:data:`n_int` + * :c:data:`reunion_of_core_inact_act_bitmask` + + + +.. c:var:: list_core_inact_act_reverse + + + File : :file:`bitmask/bitmasks.irp.f` + + .. code:: fortran + + integer, allocatable :: list_core_inact_act (n_core_inact_act_orb) + integer, allocatable :: list_core_inact_act_reverse (mo_num) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`list_inact` + * :c:data:`mo_num` + * :c:data:`n_int` + * :c:data:`reunion_of_core_inact_act_bitmask` + + + +.. c:var:: list_core_reverse + + + File : :file:`bitmask/core_inact_act_virt.irp.f` + + .. code:: fortran + + integer, allocatable :: list_inact (dim_list_inact_orb) + integer, allocatable :: list_virt (dim_list_virt_orb) + integer, allocatable :: list_inact_reverse (mo_num) + integer, allocatable :: list_virt_reverse (mo_num) + integer, allocatable :: list_del_reverse (mo_num) + integer, allocatable :: list_del (mo_num) + integer, allocatable :: list_core (dim_list_core_orb) + integer, allocatable :: list_core_reverse (mo_num) + integer, allocatable :: list_act (dim_list_act_orb) + integer, allocatable :: list_act_reverse (mo_num) + integer(bit_kind), allocatable :: core_bitmask (N_int,2) + integer(bit_kind), allocatable :: inact_bitmask (N_int,2) + integer(bit_kind), allocatable :: act_bitmask (N_int,2) + integer(bit_kind), allocatable :: virt_bitmask (N_int,2) + integer(bit_kind), allocatable :: del_bitmask (N_int,2) + + + inact_bitmask : Bitmask of the inactive orbitals which are supposed to be doubly excited + in post CAS methods + n_inact_orb : Number of inactive orbitals + virt_bitmask : Bitmaks of vritual orbitals which are supposed to be recieve electrons + in post CAS methods + n_virt_orb : Number of virtual orbitals + list_inact : List of the inactive orbitals which are supposed to be doubly excited + in post CAS methods + list_virt : List of vritual orbitals which are supposed to be recieve electrons + in post CAS methods + list_inact_reverse : reverse list of inactive orbitals + list_inact_reverse(i) = 0 ::> not an inactive + list_inact_reverse(i) = k ::> IS the kth inactive + list_virt_reverse : reverse list of virtual orbitals + list_virt_reverse(i) = 0 ::> not an virtual + list_virt_reverse(i) = k ::> IS the kth virtual + list_act(i) = index of the ith active orbital + + list_act_reverse : reverse list of active orbitals + list_act_reverse(i) = 0 ::> not an active + list_act_reverse(i) = k ::> IS the kth active orbital + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`dim_list_core_orb` + * :c:data:`mo_class` + * :c:data:`mo_num` + * :c:data:`n_core_orb` + * :c:data:`n_int` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`core_energy` + * :c:data:`core_energy_erf` + * :c:data:`core_fock_operator` + * :c:data:`core_fock_operator_erf` + * :c:data:`eigenvectors_fock_matrix_mo` + * :c:data:`fock_matrix_mo` + * :c:data:`inact_virt_bitmask` + * :c:data:`list_core_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_bitmask` + * :c:data:`virt_bitmask_4` + + +.. c:var:: list_del + + + File : :file:`bitmask/core_inact_act_virt.irp.f` + + .. code:: fortran + + integer, allocatable :: list_inact (dim_list_inact_orb) + integer, allocatable :: list_virt (dim_list_virt_orb) + integer, allocatable :: list_inact_reverse (mo_num) + integer, allocatable :: list_virt_reverse (mo_num) + integer, allocatable :: list_del_reverse (mo_num) + integer, allocatable :: list_del (mo_num) + integer, allocatable :: list_core (dim_list_core_orb) + integer, allocatable :: list_core_reverse (mo_num) + integer, allocatable :: list_act (dim_list_act_orb) + integer, allocatable :: list_act_reverse (mo_num) + integer(bit_kind), allocatable :: core_bitmask (N_int,2) + integer(bit_kind), allocatable :: inact_bitmask (N_int,2) + integer(bit_kind), allocatable :: act_bitmask (N_int,2) + integer(bit_kind), allocatable :: virt_bitmask (N_int,2) + integer(bit_kind), allocatable :: del_bitmask (N_int,2) + + + inact_bitmask : Bitmask of the inactive orbitals which are supposed to be doubly excited + in post CAS methods + n_inact_orb : Number of inactive orbitals + virt_bitmask : Bitmaks of vritual orbitals which are supposed to be recieve electrons + in post CAS methods + n_virt_orb : Number of virtual orbitals + list_inact : List of the inactive orbitals which are supposed to be doubly excited + in post CAS methods + list_virt : List of vritual orbitals which are supposed to be recieve electrons + in post CAS methods + list_inact_reverse : reverse list of inactive orbitals + list_inact_reverse(i) = 0 ::> not an inactive + list_inact_reverse(i) = k ::> IS the kth inactive + list_virt_reverse : reverse list of virtual orbitals + list_virt_reverse(i) = 0 ::> not an virtual + list_virt_reverse(i) = k ::> IS the kth virtual + list_act(i) = index of the ith active orbital + + list_act_reverse : reverse list of active orbitals + list_act_reverse(i) = 0 ::> not an active + list_act_reverse(i) = k ::> IS the kth active orbital + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`dim_list_core_orb` + * :c:data:`mo_class` + * :c:data:`mo_num` + * :c:data:`n_core_orb` + * :c:data:`n_int` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`core_energy` + * :c:data:`core_energy_erf` + * :c:data:`core_fock_operator` + * :c:data:`core_fock_operator_erf` + * :c:data:`eigenvectors_fock_matrix_mo` + * :c:data:`fock_matrix_mo` + * :c:data:`inact_virt_bitmask` + * :c:data:`list_core_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_bitmask` + * :c:data:`virt_bitmask_4` + + +.. c:var:: list_del_reverse + + + File : :file:`bitmask/core_inact_act_virt.irp.f` + + .. code:: fortran + + integer, allocatable :: list_inact (dim_list_inact_orb) + integer, allocatable :: list_virt (dim_list_virt_orb) + integer, allocatable :: list_inact_reverse (mo_num) + integer, allocatable :: list_virt_reverse (mo_num) + integer, allocatable :: list_del_reverse (mo_num) + integer, allocatable :: list_del (mo_num) + integer, allocatable :: list_core (dim_list_core_orb) + integer, allocatable :: list_core_reverse (mo_num) + integer, allocatable :: list_act (dim_list_act_orb) + integer, allocatable :: list_act_reverse (mo_num) + integer(bit_kind), allocatable :: core_bitmask (N_int,2) + integer(bit_kind), allocatable :: inact_bitmask (N_int,2) + integer(bit_kind), allocatable :: act_bitmask (N_int,2) + integer(bit_kind), allocatable :: virt_bitmask (N_int,2) + integer(bit_kind), allocatable :: del_bitmask (N_int,2) + + + inact_bitmask : Bitmask of the inactive orbitals which are supposed to be doubly excited + in post CAS methods + n_inact_orb : Number of inactive orbitals + virt_bitmask : Bitmaks of vritual orbitals which are supposed to be recieve electrons + in post CAS methods + n_virt_orb : Number of virtual orbitals + list_inact : List of the inactive orbitals which are supposed to be doubly excited + in post CAS methods + list_virt : List of vritual orbitals which are supposed to be recieve electrons + in post CAS methods + list_inact_reverse : reverse list of inactive orbitals + list_inact_reverse(i) = 0 ::> not an inactive + list_inact_reverse(i) = k ::> IS the kth inactive + list_virt_reverse : reverse list of virtual orbitals + list_virt_reverse(i) = 0 ::> not an virtual + list_virt_reverse(i) = k ::> IS the kth virtual + list_act(i) = index of the ith active orbital + + list_act_reverse : reverse list of active orbitals + list_act_reverse(i) = 0 ::> not an active + list_act_reverse(i) = k ::> IS the kth active orbital + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`dim_list_core_orb` + * :c:data:`mo_class` + * :c:data:`mo_num` + * :c:data:`n_core_orb` + * :c:data:`n_int` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`core_energy` + * :c:data:`core_energy_erf` + * :c:data:`core_fock_operator` + * :c:data:`core_fock_operator_erf` + * :c:data:`eigenvectors_fock_matrix_mo` + * :c:data:`fock_matrix_mo` + * :c:data:`inact_virt_bitmask` + * :c:data:`list_core_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_bitmask` + * :c:data:`virt_bitmask_4` + + +.. c:var:: list_inact + + + File : :file:`bitmask/core_inact_act_virt.irp.f` + + .. code:: fortran + + integer, allocatable :: list_inact (dim_list_inact_orb) + integer, allocatable :: list_virt (dim_list_virt_orb) + integer, allocatable :: list_inact_reverse (mo_num) + integer, allocatable :: list_virt_reverse (mo_num) + integer, allocatable :: list_del_reverse (mo_num) + integer, allocatable :: list_del (mo_num) + integer, allocatable :: list_core (dim_list_core_orb) + integer, allocatable :: list_core_reverse (mo_num) + integer, allocatable :: list_act (dim_list_act_orb) + integer, allocatable :: list_act_reverse (mo_num) + integer(bit_kind), allocatable :: core_bitmask (N_int,2) + integer(bit_kind), allocatable :: inact_bitmask (N_int,2) + integer(bit_kind), allocatable :: act_bitmask (N_int,2) + integer(bit_kind), allocatable :: virt_bitmask (N_int,2) + integer(bit_kind), allocatable :: del_bitmask (N_int,2) + + + inact_bitmask : Bitmask of the inactive orbitals which are supposed to be doubly excited + in post CAS methods + n_inact_orb : Number of inactive orbitals + virt_bitmask : Bitmaks of vritual orbitals which are supposed to be recieve electrons + in post CAS methods + n_virt_orb : Number of virtual orbitals + list_inact : List of the inactive orbitals which are supposed to be doubly excited + in post CAS methods + list_virt : List of vritual orbitals which are supposed to be recieve electrons + in post CAS methods + list_inact_reverse : reverse list of inactive orbitals + list_inact_reverse(i) = 0 ::> not an inactive + list_inact_reverse(i) = k ::> IS the kth inactive + list_virt_reverse : reverse list of virtual orbitals + list_virt_reverse(i) = 0 ::> not an virtual + list_virt_reverse(i) = k ::> IS the kth virtual + list_act(i) = index of the ith active orbital + + list_act_reverse : reverse list of active orbitals + list_act_reverse(i) = 0 ::> not an active + list_act_reverse(i) = k ::> IS the kth active orbital + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`dim_list_core_orb` + * :c:data:`mo_class` + * :c:data:`mo_num` + * :c:data:`n_core_orb` + * :c:data:`n_int` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`core_energy` + * :c:data:`core_energy_erf` + * :c:data:`core_fock_operator` + * :c:data:`core_fock_operator_erf` + * :c:data:`eigenvectors_fock_matrix_mo` + * :c:data:`fock_matrix_mo` + * :c:data:`inact_virt_bitmask` + * :c:data:`list_core_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_bitmask` + * :c:data:`virt_bitmask_4` + + +.. c:var:: list_inact_reverse + + + File : :file:`bitmask/core_inact_act_virt.irp.f` + + .. code:: fortran + + integer, allocatable :: list_inact (dim_list_inact_orb) + integer, allocatable :: list_virt (dim_list_virt_orb) + integer, allocatable :: list_inact_reverse (mo_num) + integer, allocatable :: list_virt_reverse (mo_num) + integer, allocatable :: list_del_reverse (mo_num) + integer, allocatable :: list_del (mo_num) + integer, allocatable :: list_core (dim_list_core_orb) + integer, allocatable :: list_core_reverse (mo_num) + integer, allocatable :: list_act (dim_list_act_orb) + integer, allocatable :: list_act_reverse (mo_num) + integer(bit_kind), allocatable :: core_bitmask (N_int,2) + integer(bit_kind), allocatable :: inact_bitmask (N_int,2) + integer(bit_kind), allocatable :: act_bitmask (N_int,2) + integer(bit_kind), allocatable :: virt_bitmask (N_int,2) + integer(bit_kind), allocatable :: del_bitmask (N_int,2) + + + inact_bitmask : Bitmask of the inactive orbitals which are supposed to be doubly excited + in post CAS methods + n_inact_orb : Number of inactive orbitals + virt_bitmask : Bitmaks of vritual orbitals which are supposed to be recieve electrons + in post CAS methods + n_virt_orb : Number of virtual orbitals + list_inact : List of the inactive orbitals which are supposed to be doubly excited + in post CAS methods + list_virt : List of vritual orbitals which are supposed to be recieve electrons + in post CAS methods + list_inact_reverse : reverse list of inactive orbitals + list_inact_reverse(i) = 0 ::> not an inactive + list_inact_reverse(i) = k ::> IS the kth inactive + list_virt_reverse : reverse list of virtual orbitals + list_virt_reverse(i) = 0 ::> not an virtual + list_virt_reverse(i) = k ::> IS the kth virtual + list_act(i) = index of the ith active orbital + + list_act_reverse : reverse list of active orbitals + list_act_reverse(i) = 0 ::> not an active + list_act_reverse(i) = k ::> IS the kth active orbital + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`dim_list_core_orb` + * :c:data:`mo_class` + * :c:data:`mo_num` + * :c:data:`n_core_orb` + * :c:data:`n_int` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`core_energy` + * :c:data:`core_energy_erf` + * :c:data:`core_fock_operator` + * :c:data:`core_fock_operator_erf` + * :c:data:`eigenvectors_fock_matrix_mo` + * :c:data:`fock_matrix_mo` + * :c:data:`inact_virt_bitmask` + * :c:data:`list_core_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_bitmask` + * :c:data:`virt_bitmask_4` + + +.. c:var:: list_virt + + + File : :file:`bitmask/core_inact_act_virt.irp.f` + + .. code:: fortran + + integer, allocatable :: list_inact (dim_list_inact_orb) + integer, allocatable :: list_virt (dim_list_virt_orb) + integer, allocatable :: list_inact_reverse (mo_num) + integer, allocatable :: list_virt_reverse (mo_num) + integer, allocatable :: list_del_reverse (mo_num) + integer, allocatable :: list_del (mo_num) + integer, allocatable :: list_core (dim_list_core_orb) + integer, allocatable :: list_core_reverse (mo_num) + integer, allocatable :: list_act (dim_list_act_orb) + integer, allocatable :: list_act_reverse (mo_num) + integer(bit_kind), allocatable :: core_bitmask (N_int,2) + integer(bit_kind), allocatable :: inact_bitmask (N_int,2) + integer(bit_kind), allocatable :: act_bitmask (N_int,2) + integer(bit_kind), allocatable :: virt_bitmask (N_int,2) + integer(bit_kind), allocatable :: del_bitmask (N_int,2) + + + inact_bitmask : Bitmask of the inactive orbitals which are supposed to be doubly excited + in post CAS methods + n_inact_orb : Number of inactive orbitals + virt_bitmask : Bitmaks of vritual orbitals which are supposed to be recieve electrons + in post CAS methods + n_virt_orb : Number of virtual orbitals + list_inact : List of the inactive orbitals which are supposed to be doubly excited + in post CAS methods + list_virt : List of vritual orbitals which are supposed to be recieve electrons + in post CAS methods + list_inact_reverse : reverse list of inactive orbitals + list_inact_reverse(i) = 0 ::> not an inactive + list_inact_reverse(i) = k ::> IS the kth inactive + list_virt_reverse : reverse list of virtual orbitals + list_virt_reverse(i) = 0 ::> not an virtual + list_virt_reverse(i) = k ::> IS the kth virtual + list_act(i) = index of the ith active orbital + + list_act_reverse : reverse list of active orbitals + list_act_reverse(i) = 0 ::> not an active + list_act_reverse(i) = k ::> IS the kth active orbital + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`dim_list_core_orb` + * :c:data:`mo_class` + * :c:data:`mo_num` + * :c:data:`n_core_orb` + * :c:data:`n_int` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`core_energy` + * :c:data:`core_energy_erf` + * :c:data:`core_fock_operator` + * :c:data:`core_fock_operator_erf` + * :c:data:`eigenvectors_fock_matrix_mo` + * :c:data:`fock_matrix_mo` + * :c:data:`inact_virt_bitmask` + * :c:data:`list_core_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_bitmask` + * :c:data:`virt_bitmask_4` + + +.. c:var:: list_virt_reverse + + + File : :file:`bitmask/core_inact_act_virt.irp.f` + + .. code:: fortran + + integer, allocatable :: list_inact (dim_list_inact_orb) + integer, allocatable :: list_virt (dim_list_virt_orb) + integer, allocatable :: list_inact_reverse (mo_num) + integer, allocatable :: list_virt_reverse (mo_num) + integer, allocatable :: list_del_reverse (mo_num) + integer, allocatable :: list_del (mo_num) + integer, allocatable :: list_core (dim_list_core_orb) + integer, allocatable :: list_core_reverse (mo_num) + integer, allocatable :: list_act (dim_list_act_orb) + integer, allocatable :: list_act_reverse (mo_num) + integer(bit_kind), allocatable :: core_bitmask (N_int,2) + integer(bit_kind), allocatable :: inact_bitmask (N_int,2) + integer(bit_kind), allocatable :: act_bitmask (N_int,2) + integer(bit_kind), allocatable :: virt_bitmask (N_int,2) + integer(bit_kind), allocatable :: del_bitmask (N_int,2) + + + inact_bitmask : Bitmask of the inactive orbitals which are supposed to be doubly excited + in post CAS methods + n_inact_orb : Number of inactive orbitals + virt_bitmask : Bitmaks of vritual orbitals which are supposed to be recieve electrons + in post CAS methods + n_virt_orb : Number of virtual orbitals + list_inact : List of the inactive orbitals which are supposed to be doubly excited + in post CAS methods + list_virt : List of vritual orbitals which are supposed to be recieve electrons + in post CAS methods + list_inact_reverse : reverse list of inactive orbitals + list_inact_reverse(i) = 0 ::> not an inactive + list_inact_reverse(i) = k ::> IS the kth inactive + list_virt_reverse : reverse list of virtual orbitals + list_virt_reverse(i) = 0 ::> not an virtual + list_virt_reverse(i) = k ::> IS the kth virtual + list_act(i) = index of the ith active orbital + + list_act_reverse : reverse list of active orbitals + list_act_reverse(i) = 0 ::> not an active + list_act_reverse(i) = k ::> IS the kth active orbital + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`dim_list_core_orb` + * :c:data:`mo_class` + * :c:data:`mo_num` + * :c:data:`n_core_orb` + * :c:data:`n_int` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`core_energy` + * :c:data:`core_energy_erf` + * :c:data:`core_fock_operator` + * :c:data:`core_fock_operator_erf` + * :c:data:`eigenvectors_fock_matrix_mo` + * :c:data:`fock_matrix_mo` + * :c:data:`inact_virt_bitmask` + * :c:data:`list_core_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_bitmask` + * :c:data:`virt_bitmask_4` + + +.. c:var:: mpi_bit_kind + + + File : :file:`bitmask/mpi.irp.f` + + .. code:: fortran + + integer :: mpi_bit_kind + + + MPI bit kind type + + + +.. c:var:: n_act_orb + + + File : :file:`bitmask/core_inact_act_virt.irp.f` + + .. code:: fortran + + integer :: n_core_orb + integer :: n_inact_orb + integer :: n_act_orb + integer :: n_virt_orb + integer :: n_del_orb + + + inact_bitmask : Bitmask of the inactive orbitals which are supposed to be doubly excited + in post CAS methods + n_inact_orb : Number of inactive orbitals + virt_bitmask : Bitmaks of vritual orbitals which are supposed to be recieve electrons + in post CAS methods + n_virt_orb : Number of virtual orbitals + list_inact : List of the inactive orbitals which are supposed to be doubly excited + in post CAS methods + list_virt : List of vritual orbitals which are supposed to be recieve electrons + in post CAS methods + list_inact_reverse : reverse list of inactive orbitals + list_inact_reverse(i) = 0 ::> not an inactive + list_inact_reverse(i) = k ::> IS the kth inactive + list_virt_reverse : reverse list of virtual orbitals + list_virt_reverse(i) = 0 ::> not an virtual + list_virt_reverse(i) = k ::> IS the kth virtual + list_act(i) = index of the ith active orbital + + list_act_reverse : reverse list of active orbitals + list_act_reverse(i) = 0 ::> not an active + list_act_reverse(i) = k ::> IS the kth active orbital + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_class` + * :c:data:`mo_num` + * :c:data:`mpi_master` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`core_energy` + * :c:data:`core_energy_erf` + * :c:data:`core_fock_operator` + * :c:data:`core_fock_operator_erf` + * :c:data:`dim_list_core_orb` + * :c:data:`eigenvectors_fock_matrix_mo` + * :c:data:`fock_matrix_mo` + * :c:data:`list_inact` + * :c:data:`mo_two_e_integrals_vv_from_ao` + * :c:data:`n_core_orb_allocate` + * :c:data:`n_inact_orb_allocate` + * :c:data:`n_virt_orb_allocate` + * :c:data:`pt2_f` + + +.. c:var:: n_cas_bitmask + + + File : :file:`bitmask/bitmasks.irp.f` + + .. code:: fortran + + integer :: n_cas_bitmask + + + Number of bitmasks for CAS + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ezfio_filename` + * :c:data:`mpi_master` + * :c:data:`n_int` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`cas_bitmask` + * :c:data:`psi_cas` + + +.. c:var:: n_core_inact_act_orb + + + File : :file:`bitmask/bitmasks.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` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`core_inact_act_bitmask_4` + * :c:data:`list_core_inact_act` + + +.. c:var:: n_core_inact_orb + + + File : :file:`bitmask/bitmasks.irp.f` + + .. code:: fortran + + integer :: n_core_inact_orb + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_int` + * :c:data:`reunion_of_core_inact_bitmask` + + + +.. c:var:: n_core_orb + + + File : :file:`bitmask/core_inact_act_virt.irp.f` + + .. code:: fortran + + integer :: n_core_orb + integer :: n_inact_orb + integer :: n_act_orb + integer :: n_virt_orb + integer :: n_del_orb + + + inact_bitmask : Bitmask of the inactive orbitals which are supposed to be doubly excited + in post CAS methods + n_inact_orb : Number of inactive orbitals + virt_bitmask : Bitmaks of vritual orbitals which are supposed to be recieve electrons + in post CAS methods + n_virt_orb : Number of virtual orbitals + list_inact : List of the inactive orbitals which are supposed to be doubly excited + in post CAS methods + list_virt : List of vritual orbitals which are supposed to be recieve electrons + in post CAS methods + list_inact_reverse : reverse list of inactive orbitals + list_inact_reverse(i) = 0 ::> not an inactive + list_inact_reverse(i) = k ::> IS the kth inactive + list_virt_reverse : reverse list of virtual orbitals + list_virt_reverse(i) = 0 ::> not an virtual + list_virt_reverse(i) = k ::> IS the kth virtual + list_act(i) = index of the ith active orbital + + list_act_reverse : reverse list of active orbitals + list_act_reverse(i) = 0 ::> not an active + list_act_reverse(i) = k ::> IS the kth active orbital + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_class` + * :c:data:`mo_num` + * :c:data:`mpi_master` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`core_energy` + * :c:data:`core_energy_erf` + * :c:data:`core_fock_operator` + * :c:data:`core_fock_operator_erf` + * :c:data:`dim_list_core_orb` + * :c:data:`eigenvectors_fock_matrix_mo` + * :c:data:`fock_matrix_mo` + * :c:data:`list_inact` + * :c:data:`mo_two_e_integrals_vv_from_ao` + * :c:data:`n_core_orb_allocate` + * :c:data:`n_inact_orb_allocate` + * :c:data:`n_virt_orb_allocate` + * :c:data:`pt2_f` + + +.. c:var:: n_core_orb_allocate + + + File : :file:`bitmask/bitmasks.irp.f` + + .. code:: fortran + + integer :: n_core_orb_allocate + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_core_orb` + + + +.. c:var:: n_del_orb + + + File : :file:`bitmask/core_inact_act_virt.irp.f` + + .. code:: fortran + + integer :: n_core_orb + integer :: n_inact_orb + integer :: n_act_orb + integer :: n_virt_orb + integer :: n_del_orb + + + inact_bitmask : Bitmask of the inactive orbitals which are supposed to be doubly excited + in post CAS methods + n_inact_orb : Number of inactive orbitals + virt_bitmask : Bitmaks of vritual orbitals which are supposed to be recieve electrons + in post CAS methods + n_virt_orb : Number of virtual orbitals + list_inact : List of the inactive orbitals which are supposed to be doubly excited + in post CAS methods + list_virt : List of vritual orbitals which are supposed to be recieve electrons + in post CAS methods + list_inact_reverse : reverse list of inactive orbitals + list_inact_reverse(i) = 0 ::> not an inactive + list_inact_reverse(i) = k ::> IS the kth inactive + list_virt_reverse : reverse list of virtual orbitals + list_virt_reverse(i) = 0 ::> not an virtual + list_virt_reverse(i) = k ::> IS the kth virtual + list_act(i) = index of the ith active orbital + + list_act_reverse : reverse list of active orbitals + list_act_reverse(i) = 0 ::> not an active + list_act_reverse(i) = k ::> IS the kth active orbital + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_class` + * :c:data:`mo_num` + * :c:data:`mpi_master` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`core_energy` + * :c:data:`core_energy_erf` + * :c:data:`core_fock_operator` + * :c:data:`core_fock_operator_erf` + * :c:data:`dim_list_core_orb` + * :c:data:`eigenvectors_fock_matrix_mo` + * :c:data:`fock_matrix_mo` + * :c:data:`list_inact` + * :c:data:`mo_two_e_integrals_vv_from_ao` + * :c:data:`n_core_orb_allocate` + * :c:data:`n_inact_orb_allocate` + * :c:data:`n_virt_orb_allocate` + * :c:data:`pt2_f` + + +.. c:var:: n_generators_bitmask + + + File : :file:`bitmask/bitmasks.irp.f` + + .. code:: fortran + + integer :: n_generators_bitmask + + + Number of bitmasks for generators + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ezfio_filename` + * :c:data:`mpi_master` + * :c:data:`n_int` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`cas_bitmask` + * :c:data:`generators_bitmask` + * :c:data:`generators_bitmask_restart` + + +.. c:var:: n_generators_bitmask_restart + + + File : :file:`bitmask/bitmasks.irp.f` + + .. code:: fortran + + integer :: n_generators_bitmask_restart + + + Number of bitmasks for generators + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ezfio_filename` + * :c:data:`mpi_master` + * :c:data:`n_int` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`generators_bitmask_restart` + + +.. c:var:: n_inact_orb + + + File : :file:`bitmask/core_inact_act_virt.irp.f` + + .. code:: fortran + + integer :: n_core_orb + integer :: n_inact_orb + integer :: n_act_orb + integer :: n_virt_orb + integer :: n_del_orb + + + inact_bitmask : Bitmask of the inactive orbitals which are supposed to be doubly excited + in post CAS methods + n_inact_orb : Number of inactive orbitals + virt_bitmask : Bitmaks of vritual orbitals which are supposed to be recieve electrons + in post CAS methods + n_virt_orb : Number of virtual orbitals + list_inact : List of the inactive orbitals which are supposed to be doubly excited + in post CAS methods + list_virt : List of vritual orbitals which are supposed to be recieve electrons + in post CAS methods + list_inact_reverse : reverse list of inactive orbitals + list_inact_reverse(i) = 0 ::> not an inactive + list_inact_reverse(i) = k ::> IS the kth inactive + list_virt_reverse : reverse list of virtual orbitals + list_virt_reverse(i) = 0 ::> not an virtual + list_virt_reverse(i) = k ::> IS the kth virtual + list_act(i) = index of the ith active orbital + + list_act_reverse : reverse list of active orbitals + list_act_reverse(i) = 0 ::> not an active + list_act_reverse(i) = k ::> IS the kth active orbital + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_class` + * :c:data:`mo_num` + * :c:data:`mpi_master` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`core_energy` + * :c:data:`core_energy_erf` + * :c:data:`core_fock_operator` + * :c:data:`core_fock_operator_erf` + * :c:data:`dim_list_core_orb` + * :c:data:`eigenvectors_fock_matrix_mo` + * :c:data:`fock_matrix_mo` + * :c:data:`list_inact` + * :c:data:`mo_two_e_integrals_vv_from_ao` + * :c:data:`n_core_orb_allocate` + * :c:data:`n_inact_orb_allocate` + * :c:data:`n_virt_orb_allocate` + * :c:data:`pt2_f` + + +.. c:var:: n_inact_orb_allocate + + + File : :file:`bitmask/bitmasks.irp.f` + + .. code:: fortran + + integer :: n_inact_orb_allocate + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_core_orb` + + + +.. c:var:: n_int + + + File : :file:`bitmask/bitmasks.irp.f` + + .. code:: fortran + + integer :: n_int + + + Number of 64-bit integers needed to represent determinants as binary strings + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_num` + * :c:data:`mpi_master` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`cas_bitmask` + * :c:data:`ci_electronic_energy` + * :c:data:`closed_shell_ref_bitmask` + * :c:data:`coef_hf_selector` + * :c:data:`core_inact_act_bitmask_4` + * :c:data:`degree_max_generators` + * :c:data:`det_to_occ_pattern` + * :c:data:`diagonal_h_matrix_on_psi_det` + * :c:data:`double_exc_bitmask` + * :c:data:`exc_degree_per_selectors` + * :c:data:`fock_operator_closed_shell_ref_bitmask` + * :c:data:`fock_wee_closed_shell` + * :c:data:`full_ijkl_bitmask` + * :c:data:`full_ijkl_bitmask_4` + * :c:data:`generators_bitmask` + * :c:data:`generators_bitmask_restart` + * :c:data:`h_apply_buffer_allocated` + * :c:data:`h_matrix_all_dets` + * :c:data:`h_matrix_cas` + * :c:data:`hf_bitmask` + * :c:data:`inact_virt_bitmask` + * :c:data:`list_core_inact_act` + * :c:data:`list_inact` + * :c:data:`max_degree_exc` + * :c:data:`mo_two_e_integrals_erf_in_map` + * :c:data:`mo_two_e_integrals_in_map` + * :c:data:`n_cas_bitmask` + * :c:data:`n_core_inact_orb` + * :c:data:`n_generators_bitmask` + * :c:data:`n_generators_bitmask_restart` + * :c:data:`one_e_dm_mo_alpha` + * :c:data:`psi_bilinear_matrix_values` + * :c:data:`psi_cas` + * :c:data:`psi_cas_sorted_bit` + * :c:data:`psi_det` + * :c:data:`psi_det_alpha` + * :c:data:`psi_det_alpha_unique` + * :c:data:`psi_det_beta` + * :c:data:`psi_det_beta_unique` + * :c:data:`psi_det_generators` + * :c:data:`psi_det_hii` + * :c:data:`psi_det_sorted` + * :c:data:`psi_det_sorted_bit` + * :c:data:`psi_det_sorted_gen` + * :c:data:`psi_energy` + * :c:data:`psi_energy_two_e` + * :c:data:`psi_non_cas` + * :c:data:`psi_non_cas_sorted_bit` + * :c:data:`psi_occ_pattern` + * :c:data:`psi_selectors` + * :c:data:`psi_selectors_diag_h_mat` + * :c:data:`ref_bitmask` + * :c:data:`ref_bitmask_energy` + * :c:data:`ref_closed_shell_bitmask` + * :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:`s2_matrix_all_dets` + * :c:data:`s2_values` + * :c:data:`single_exc_bitmask` + * :c:data:`singles_alpha_csc` + * :c:data:`singles_alpha_csc_idx` + * :c:data:`singles_beta_csc` + * :c:data:`singles_beta_csc_idx` + * :c:data:`unpaired_alpha_electrons` + * :c:data:`virt_bitmask_4` + + +.. c:var:: n_virt_orb + + + File : :file:`bitmask/core_inact_act_virt.irp.f` + + .. code:: fortran + + integer :: n_core_orb + integer :: n_inact_orb + integer :: n_act_orb + integer :: n_virt_orb + integer :: n_del_orb + + + inact_bitmask : Bitmask of the inactive orbitals which are supposed to be doubly excited + in post CAS methods + n_inact_orb : Number of inactive orbitals + virt_bitmask : Bitmaks of vritual orbitals which are supposed to be recieve electrons + in post CAS methods + n_virt_orb : Number of virtual orbitals + list_inact : List of the inactive orbitals which are supposed to be doubly excited + in post CAS methods + list_virt : List of vritual orbitals which are supposed to be recieve electrons + in post CAS methods + list_inact_reverse : reverse list of inactive orbitals + list_inact_reverse(i) = 0 ::> not an inactive + list_inact_reverse(i) = k ::> IS the kth inactive + list_virt_reverse : reverse list of virtual orbitals + list_virt_reverse(i) = 0 ::> not an virtual + list_virt_reverse(i) = k ::> IS the kth virtual + list_act(i) = index of the ith active orbital + + list_act_reverse : reverse list of active orbitals + list_act_reverse(i) = 0 ::> not an active + list_act_reverse(i) = k ::> IS the kth active orbital + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_class` + * :c:data:`mo_num` + * :c:data:`mpi_master` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`core_energy` + * :c:data:`core_energy_erf` + * :c:data:`core_fock_operator` + * :c:data:`core_fock_operator_erf` + * :c:data:`dim_list_core_orb` + * :c:data:`eigenvectors_fock_matrix_mo` + * :c:data:`fock_matrix_mo` + * :c:data:`list_inact` + * :c:data:`mo_two_e_integrals_vv_from_ao` + * :c:data:`n_core_orb_allocate` + * :c:data:`n_inact_orb_allocate` + * :c:data:`n_virt_orb_allocate` + * :c:data:`pt2_f` + + +.. c:var:: n_virt_orb_allocate + + + File : :file:`bitmask/bitmasks.irp.f` + + .. code:: fortran + + integer :: n_virt_orb_allocate + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_core_orb` + + + +.. c:var:: ref_bitmask + + + File : :file:`bitmask/bitmasks.irp.f` + + .. code:: fortran + + integer(bit_kind), allocatable :: ref_bitmask (N_int,2) + + + Reference bit mask, used in Slater rules, chosen as Hartree-Fock bitmask + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`hf_bitmask` + * :c:data:`n_int` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`closed_shell_ref_bitmask` + * :c:data:`coef_hf_selector` + * :c:data:`diagonal_h_matrix_on_psi_det` + * :c:data:`exc_degree_per_selectors` + * :c:data:`psi_det_hii` + * :c:data:`psi_selectors_diag_h_mat` + * :c:data:`ref_bitmask_energy` + * :c:data:`ref_closed_shell_bitmask` + + +.. c:var:: reunion_of_bitmask + + + File : :file:`bitmask/bitmasks.irp.f` + + .. code:: fortran + + integer(bit_kind), allocatable :: reunion_of_bitmask (N_int,2) + + + Reunion of the inactive, active and virtual bitmasks + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`cas_bitmask` + * :c:data:`list_inact` + * :c:data:`n_int` + + + +.. c:var:: reunion_of_cas_inact_bitmask + + + File : :file:`bitmask/bitmasks.irp.f` + + .. code:: fortran + + integer(bit_kind), allocatable :: reunion_of_cas_inact_bitmask (N_int,2) + + + Reunion of the inactive, active and virtual bitmasks + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`cas_bitmask` + * :c:data:`list_inact` + * :c:data:`n_int` + + + +.. c:var:: reunion_of_core_inact_act_bitmask + + + File : :file:`bitmask/bitmasks.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` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`core_inact_act_bitmask_4` + * :c:data:`list_core_inact_act` + + +.. c:var:: reunion_of_core_inact_bitmask + + + File : :file:`bitmask/bitmasks.irp.f` + + .. code:: fortran + + integer(bit_kind), allocatable :: reunion_of_core_inact_bitmask (N_int,2) + + + Reunion of the core and inactive and virtual bitmasks + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`list_inact` + * :c:data:`n_int` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`n_core_inact_orb` + * :c:data:`reunion_of_core_inact_act_bitmask` + + +.. c:var:: unpaired_alpha_electrons + + + File : :file:`bitmask/bitmasks.irp.f` + + .. code:: fortran + + integer(bit_kind), allocatable :: unpaired_alpha_electrons (N_int) + + + Bitmask reprenting the unpaired alpha electrons in the HF_bitmask + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`hf_bitmask` + * :c:data:`n_int` + + + +.. c:var:: virt_bitmask + + + File : :file:`bitmask/core_inact_act_virt.irp.f` + + .. code:: fortran + + integer, allocatable :: list_inact (dim_list_inact_orb) + integer, allocatable :: list_virt (dim_list_virt_orb) + integer, allocatable :: list_inact_reverse (mo_num) + integer, allocatable :: list_virt_reverse (mo_num) + integer, allocatable :: list_del_reverse (mo_num) + integer, allocatable :: list_del (mo_num) + integer, allocatable :: list_core (dim_list_core_orb) + integer, allocatable :: list_core_reverse (mo_num) + integer, allocatable :: list_act (dim_list_act_orb) + integer, allocatable :: list_act_reverse (mo_num) + integer(bit_kind), allocatable :: core_bitmask (N_int,2) + integer(bit_kind), allocatable :: inact_bitmask (N_int,2) + integer(bit_kind), allocatable :: act_bitmask (N_int,2) + integer(bit_kind), allocatable :: virt_bitmask (N_int,2) + integer(bit_kind), allocatable :: del_bitmask (N_int,2) + + + inact_bitmask : Bitmask of the inactive orbitals which are supposed to be doubly excited + in post CAS methods + n_inact_orb : Number of inactive orbitals + virt_bitmask : Bitmaks of vritual orbitals which are supposed to be recieve electrons + in post CAS methods + n_virt_orb : Number of virtual orbitals + list_inact : List of the inactive orbitals which are supposed to be doubly excited + in post CAS methods + list_virt : List of vritual orbitals which are supposed to be recieve electrons + in post CAS methods + list_inact_reverse : reverse list of inactive orbitals + list_inact_reverse(i) = 0 ::> not an inactive + list_inact_reverse(i) = k ::> IS the kth inactive + list_virt_reverse : reverse list of virtual orbitals + list_virt_reverse(i) = 0 ::> not an virtual + list_virt_reverse(i) = k ::> IS the kth virtual + list_act(i) = index of the ith active orbital + + list_act_reverse : reverse list of active orbitals + list_act_reverse(i) = 0 ::> not an active + list_act_reverse(i) = k ::> IS the kth active orbital + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`dim_list_core_orb` + * :c:data:`mo_class` + * :c:data:`mo_num` + * :c:data:`n_core_orb` + * :c:data:`n_int` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`core_energy` + * :c:data:`core_energy_erf` + * :c:data:`core_fock_operator` + * :c:data:`core_fock_operator_erf` + * :c:data:`eigenvectors_fock_matrix_mo` + * :c:data:`fock_matrix_mo` + * :c:data:`inact_virt_bitmask` + * :c:data:`list_core_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_bitmask` + * :c:data:`virt_bitmask_4` + + +.. c:var:: virt_bitmask_4 + + + File : :file:`bitmask/bitmasks.irp.f` + + .. code:: fortran + + integer(bit_kind), allocatable :: virt_bitmask_4 (N_int,4) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`list_inact` + * :c:data:`n_int` + + + + +Subroutines / functions +----------------------- + +.. c:function:: bitstring_to_hexa: + + + File : :file:`bitmask/bitmasks_routines.irp.f` + + .. code:: fortran + + subroutine bitstring_to_hexa( output, string, Nint ) + + + Transform a bit string to a string in hexadecimal format for printing + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`debug_det` + * :c:func:`debug_spindet` + + +.. c:function:: bitstring_to_list: + + + File : :file:`bitmask/bitmasks_routines.irp.f` + + .. code:: fortran + + subroutine bitstring_to_list( string, list, n_elements, Nint) + + + Gives the inidices(+1) of the bits set to 1 in the bit string + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`add_integrals_to_map` + * :c:func:`add_integrals_to_map_erf` + * :c:func:`add_integrals_to_map_no_exit_34` + * :c:func:`add_integrals_to_map_three_indices` + * :c:func:`create_microlist` + * :c:func:`example_bitmask` + * :c:func:`getmobiles` + * :c:data:`list_core_inact_act` + * :c:data:`ref_bitmask_energy` + + +.. c:function:: bitstring_to_str: + + + File : :file:`bitmask/bitmasks_routines.irp.f` + + .. code:: fortran + + subroutine bitstring_to_str( output, string, Nint ) + + + Transform a bit string to a string for printing + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`add_integrals_to_map` + * :c:func:`add_integrals_to_map_erf` + * :c:func:`add_integrals_to_map_three_indices` + * :c:func:`example_bitmask` + * :c:func:`print_det` + * :c:func:`print_spindet` + + +.. c:function:: broadcast_chunks_bit_kind: + + + File : :file:`bitmask/mpi.irp.f` + + .. code:: fortran + + subroutine broadcast_chunks_bit_kind(A, LDA) + + + Broadcast with chunks of ~2GB + + +.. c:function:: clear_bit_to_integer: + + + File : :file:`bitmask/bitmasks_routines.irp.f` + + .. code:: fortran + + subroutine clear_bit_to_integer(i_physical,key,Nint) + + + set to 0 the bit number i_physical in the bitstring key + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`example_bitmask` + * :c:data:`ref_closed_shell_bitmask` + + +.. c:function:: debug_det: + + + File : :file:`bitmask/bitmasks_routines.irp.f` + + .. code:: fortran + + subroutine debug_det(string,Nint) + + + Subroutine to print the content of a determinant in '+-' notation and + hexadecimal representation. + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`build_fock_tmp` + * :c:func:`example_determinants` + * :c:func:`get_excitation_degree_vector_mono_or_exchange_verbose` + * :c:func:`number_of_holes_verbose` + * :c:func:`number_of_particles_verbose` + * :c:func:`routine_example_psi_det` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`bitstring_to_hexa` + * :c:func:`print_det` + + +.. c:function:: debug_spindet: + + + File : :file:`bitmask/bitmasks_routines.irp.f` + + .. code:: fortran + + subroutine debug_spindet(string,Nint) + + + Subroutine to print the content of a determinant in '+-' notation and + hexadecimal representation. + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`bitstring_to_hexa` + * :c:func:`print_spindet` + + +.. c:function:: example_bitmask: + + + File : :file:`bitmask/example.irp.f` + + .. code:: fortran + + subroutine example_bitmask + + + subroutine that illustrates the main features available in bitmask + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_core_orb` + * :c:data:`list_inact` + * :c:data:`n_int` + * :c:data:`mo_num` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`bitstring_to_list` + * :c:func:`bitstring_to_str` + * :c:func:`clear_bit_to_integer` + * :c:func:`set_bit_to_integer` + + +.. c:function:: initialize_bitmask_to_restart_ones: + + + File : :file:`bitmask/modify_bitmasks.irp.f` + + .. code:: fortran + + subroutine initialize_bitmask_to_restart_ones + + + Initialization of the generators_bitmask to the restart bitmask + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`generators_bitmask_restart` + * :c:data:`n_generators_bitmask` + * :c:data:`generators_bitmask` + * :c:data:`n_int` + + +.. c:function:: is_a_1h: + + + File : :file:`bitmask/bitmask_cas_routines.irp.f` + + .. code:: fortran + + logical function is_a_1h(key_in) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_int` + + +.. c:function:: is_a_1h1p: + + + File : :file:`bitmask/bitmask_cas_routines.irp.f` + + .. code:: fortran + + logical function is_a_1h1p(key_in) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_int` + + +.. c:function:: is_a_1h2p: + + + File : :file:`bitmask/bitmask_cas_routines.irp.f` + + .. code:: fortran + + logical function is_a_1h2p(key_in) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_int` + + +.. c:function:: is_a_1p: + + + File : :file:`bitmask/bitmask_cas_routines.irp.f` + + .. code:: fortran + + logical function is_a_1p(key_in) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_int` + + +.. c:function:: is_a_2h: + + + File : :file:`bitmask/bitmask_cas_routines.irp.f` + + .. code:: fortran + + logical function is_a_2h(key_in) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_int` + + +.. c:function:: is_a_2h1p: + + + File : :file:`bitmask/bitmask_cas_routines.irp.f` + + .. code:: fortran + + logical function is_a_2h1p(key_in) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_int` + + +.. c:function:: is_a_2p: + + + File : :file:`bitmask/bitmask_cas_routines.irp.f` + + .. code:: fortran + + logical function is_a_2p(key_in) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_int` + + +.. c:function:: is_a_two_holes_two_particles: + + + File : :file:`bitmask/bitmask_cas_routines.irp.f` + + .. code:: fortran + + logical function is_a_two_holes_two_particles(key_in) + + + logical function that returns True if the determinant 'key_in' + belongs to the 2h-2p excitation class of the DDCI space + this is calculated using the CAS_bitmask that defines the active + orbital space, the inact_bitmasl that defines the inactive oribital space + and the virt_bitmask that defines the virtual orbital space + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`cas_bitmask` + * :c:data:`reunion_of_core_inact_bitmask` + * :c:data:`list_inact` + * :c:data:`n_int` + + +.. c:function:: is_i_in_virtual: + + + File : :file:`bitmask/bitmask_cas_routines.irp.f` + + .. code:: fortran + + logical function is_i_in_virtual(i) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`list_inact` + * :c:data:`n_int` + + +.. c:function:: is_the_hole_in_det: + + + File : :file:`bitmask/find_hole.irp.f` + + .. code:: fortran + + logical function is_the_hole_in_det(key_in,ispin,i_hole) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_int` + + +.. c:function:: is_the_particl_in_det: + + + File : :file:`bitmask/find_hole.irp.f` + + .. code:: fortran + + logical function is_the_particl_in_det(key_in,ispin,i_particl) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_int` + + +.. c:function:: list_to_bitstring: + + + File : :file:`bitmask/bitmasks_routines.irp.f` + + .. code:: fortran + + subroutine list_to_bitstring( string, list, n_elements, Nint) + + + Returns the physical string "string(N_int,2)" from the array of + occupations "list(N_int*bit_kind_size,2) + + Called by: + + .. hlist:: + :columns: 3 + + * :c:data:`hf_bitmask` + * :c:data:`list_inact` + + +.. c:function:: modify_bitmasks_for_hole: + + + File : :file:`bitmask/modify_bitmasks.irp.f` + + .. code:: fortran + + subroutine modify_bitmasks_for_hole(i_hole) + + + modify the generators_bitmask in order that one can only excite + the electrons occupying i_hole + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_generators_bitmask` + * :c:data:`generators_bitmask` + * :c:data:`n_int` + * :c:data:`index_holes_bitmask` + + +.. c:function:: modify_bitmasks_for_hole_in_out: + + + File : :file:`bitmask/modify_bitmasks.irp.f` + + .. code:: fortran + + subroutine modify_bitmasks_for_hole_in_out(i_hole) + + + modify the generators_bitmask in order that one can only excite + the electrons occupying i_hole + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_generators_bitmask` + * :c:data:`generators_bitmask` + * :c:data:`index_holes_bitmask` + + +.. c:function:: modify_bitmasks_for_particl: + + + File : :file:`bitmask/modify_bitmasks.irp.f` + + .. code:: fortran + + subroutine modify_bitmasks_for_particl(i_part) + + + modify the generators_bitmask in order that one can only excite + the electrons to the orbital i_part + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`index_particl_bitmask` + * :c:data:`n_generators_bitmask` + * :c:data:`generators_bitmask` + * :c:data:`n_int` + + +.. c:function:: number_of_holes: + + + File : :file:`bitmask/bitmask_cas_routines.irp.f` + + .. code:: fortran + + integer function number_of_holes(key_in) + + + Function that returns the number of holes in the inact space + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`cas_bitmask` + * :c:data:`reunion_of_core_inact_bitmask` + * :c:data:`n_int` + + +.. c:function:: number_of_holes_verbose: + + + File : :file:`bitmask/bitmask_cas_routines.irp.f` + + .. code:: fortran + + integer function number_of_holes_verbose(key_in) + + + function that returns the number of holes in the inact space + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`cas_bitmask` + * :c:data:`reunion_of_core_inact_bitmask` + * :c:data:`n_int` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`debug_det` + + +.. c:function:: number_of_particles: + + + File : :file:`bitmask/bitmask_cas_routines.irp.f` + + .. code:: fortran + + integer function number_of_particles(key_in) + + + function that returns the number of particles in the virtual space + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`cas_bitmask` + * :c:data:`list_inact` + * :c:data:`n_int` + + +.. c:function:: number_of_particles_verbose: + + + File : :file:`bitmask/bitmask_cas_routines.irp.f` + + .. code:: fortran + + integer function number_of_particles_verbose(key_in) + + + function that returns the number of particles in the inact space + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`cas_bitmask` + * :c:data:`list_inact` + * :c:data:`n_int` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`debug_det` + + +.. c:function:: print_det: + + + File : :file:`bitmask/bitmasks_routines.irp.f` + + .. code:: fortran + + subroutine print_det(string,Nint) + + + Subroutine to print the content of a determinant using the '+-' notation + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`debug_det` + * :c:func:`example_determinants` + * :c:func:`print_generators_bitmasks_holes` + * :c:func:`print_generators_bitmasks_holes_for_one_generator` + * :c:func:`print_generators_bitmasks_particles` + * :c:func:`print_generators_bitmasks_particles_for_one_generator` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`bitstring_to_str` + + +.. c:function:: print_generators_bitmasks_holes: + + + File : :file:`bitmask/modify_bitmasks.irp.f` + + .. code:: fortran + + subroutine print_generators_bitmasks_holes + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`generators_bitmask` + * :c:data:`n_int` + * :c:data:`index_holes_bitmask` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`print_det` + + +.. c:function:: print_generators_bitmasks_holes_for_one_generator: + + + File : :file:`bitmask/modify_bitmasks.irp.f` + + .. code:: fortran + + subroutine print_generators_bitmasks_holes_for_one_generator(i_gen) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`generators_bitmask` + * :c:data:`n_int` + * :c:data:`index_holes_bitmask` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`print_det` + + +.. c:function:: print_generators_bitmasks_particles: + + + File : :file:`bitmask/modify_bitmasks.irp.f` + + .. code:: fortran + + subroutine print_generators_bitmasks_particles + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`index_particl_bitmask` + * :c:data:`generators_bitmask` + * :c:data:`n_int` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`print_det` + + +.. c:function:: print_generators_bitmasks_particles_for_one_generator: + + + File : :file:`bitmask/modify_bitmasks.irp.f` + + .. code:: fortran + + subroutine print_generators_bitmasks_particles_for_one_generator(i_gen) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`index_particl_bitmask` + * :c:data:`generators_bitmask` + * :c:data:`n_int` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`print_det` + + +.. c:function:: print_spindet: + + + File : :file:`bitmask/bitmasks_routines.irp.f` + + .. code:: fortran + + subroutine print_spindet(string,Nint) + + + Subroutine to print the content of a determinant using the '+-' notation + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`debug_spindet` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`bitstring_to_str` + + +.. c:function:: set_bit_to_integer: + + + File : :file:`bitmask/bitmasks_routines.irp.f` + + .. code:: fortran + + subroutine set_bit_to_integer(i_physical,key,Nint) + + + set to 1 the bit number i_physical in the bitstring key + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`example_bitmask` + + +.. c:function:: set_bitmask_hole_as_input: + + + File : :file:`bitmask/modify_bitmasks.irp.f` + + .. code:: fortran + + subroutine set_bitmask_hole_as_input(input_bimask) + + + set the generators_bitmask for the holes + as the input_bimask + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_generators_bitmask` + * :c:data:`generators_bitmask` + * :c:data:`n_int` + * :c:data:`index_holes_bitmask` + + Touches: + + .. hlist:: + :columns: 3 + + * :c:data:`generators_bitmask` + + +.. c:function:: set_bitmask_particl_as_input: + + + File : :file:`bitmask/modify_bitmasks.irp.f` + + .. code:: fortran + + subroutine set_bitmask_particl_as_input(input_bimask) + + + set the generators_bitmask for the particles + as the input_bimask + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`index_particl_bitmask` + * :c:data:`n_generators_bitmask` + * :c:data:`generators_bitmask` + * :c:data:`n_int` + + Touches: + + .. hlist:: + :columns: 3 + + * :c:data:`generators_bitmask` + diff --git a/doc/_sources/modules/cipsi.rst.txt b/doc/_sources/modules/cipsi.rst.txt new file mode 100644 index 00000000..3e0d1aef --- /dev/null +++ b/doc/_sources/modules/cipsi.rst.txt @@ -0,0 +1,2259 @@ +.. _module_cipsi: + +.. program:: cipsi + +.. default-role:: option + +===== +cipsi +===== + +|CIPSI| algorithm. + +The :c:func:`run_stochastic_cipsi` and :c:func:`run_cipsi` subroutines start with a single +determinant, or with the wave function in the |EZFIO| database if +:option:`determinants read_wf` is |true|. + +The :c:func:`run_cipsi` subroutine iteratively: + +* Selects the most important determinants from the external space and adds them to the + internal space +* If :option:`determinants s2_eig` is |true|, it adds all the necessary + determinants to allow the eigenstates of |H| to be eigenstates of |S^2| +* Diagonalizes |H| in the enlarged internal space +* Computes the |PT2| contribution to the energy stochastically :cite:`Garniron_2017.2` + or deterministically, depending on :option:`perturbation do_pt2` +* Extrapolates the variational energy by fitting + :math:`E=E_\text{FCI} - \alpha\, E_\text{PT2}` + +The difference between :c:func:`run_stochastic_cipsi` and :c:func:`run_cipsi` is that +:c:func:`run_stochastic_cipsi` selects the determinants on the fly with the computation +of the stochastic |PT2| :cite:`Garniron_2017.2`. Hence, it is a semi-stochastic selection. It + +* Selects the most important determinants from the external space and adds them to the + internal space, on the fly with the computation of the PT2 with the stochastic algorithm + presented in :cite:`Garniron_2017.2`. +* If :option:`determinants s2_eig` is |true|, it adds all the necessary + determinants to allow the eigenstates of |H| to be eigenstates of |S^2| +* Extrapolates the variational energy by fitting + :math:`E=E_\text{FCI} - \alpha\, E_\text{PT2}` +* Diagonalizes |H| in the enlarged internal space + + +The number of selected determinants at each iteration will be such that the +size of the wave function will double at every iteration. If :option:`determinants +s2_eig` is |true|, then the number of selected determinants will be 1.5x the +current number, and then all the additional determinants will be added. + +By default, the program will stop when more than one million determinants have +been selected, or when the |PT2| energy is below :math:`10^{-4}`. + +The variational and |PT2| energies of the iterations are stored in the +|EZFIO| database, in the :ref:`iterations` module. + + + +Computation of the |PT2| energy +------------------------------- + +At each iteration, the |PT2| energy is computed considering the Epstein-Nesbet +zeroth-order Hamiltonian: + +.. math:: + + E_{\text{PT2}} = \sum_{ \alpha } + \frac{|\langle \Psi_S | \hat{H} | \alpha \rangle|^2} + {E - \langle \alpha | \hat{H} | \alpha \rangle} + +where the |kalpha| determinants are generated by applying all the single and +double excitation operators to all the determinants of the wave function +:math:`\Psi_G`. + +When the hybrid-deterministic/stochastic algorithm is chosen +(default), :math:`Psi_G = \Psi_S = \Psi`, the full wavefunction expanded in the +internal space. +When the deterministic algorithm is chosen (:option:`perturbation do_pt2` +is set to |false|), :math:`Psi_G` is a truncation of |Psi| using +:option:`determinants threshold_generators`, and :math:`Psi_S` is a truncation +of |Psi| using :option:`determinants threshold_selectors`, and re-weighted +by :math:`1/\langle \Psi_s | \Psi_s \rangle`. + +At every iteration, while computing the |PT2|, the variance of the wave +function is also computed: + +.. math:: + + \sigma^2 & = \langle \Psi | \hat{H}^2 | \Psi \rangle - + \langle \Psi | \hat{H} | \Psi \rangle^2 \\ + & = \sum_{i \in \text{FCI}} + \langle \Psi | \hat{H} | i \rangle + \langle i | \hat{H} | \Psi \rangle - + \langle \Psi | \hat{H} | \Psi \rangle^2 \\ + & = \sum_{ \alpha } + \langle |\Psi | \hat{H} | \alpha \rangle|^2. + +The expression of the variance is the same as the expression of the |PT2|, with +a denominator of 1. It measures how far the wave function is from the |FCI| +solution. Note that the absence of denominator in the Heat-Bath selected |CI| +method is selection method by minimization of the variance, whereas |CIPSI| is +a selection method by minimization of the energy. + + +If :option:`perturbation do_pt2` is set to |false|, then the stochastic +|PT2| is not computed, and an approximate value is obtained from the |CIPSI| +selection. The calculation is faster, but the extrapolated |FCI| value is +less accurate. This way of running the code should be used when the only +goal is to generate a wave function, as for using |CIPSI| wave functions as +trial wave functions of |QMC| calculations for example. + + +The :command:`PT2` program reads the wave function of the |EZFIO| database +and computes the energy and the |PT2| contribution. + + +State-averaging +--------------- + +Extrapolated |FCI| energy +------------------------- + +An estimate of the |FCI| energy is computed by extrapolating + +.. math:: + + E=E_\text{FCI} - \alpha\, E_\text{PT2} + +This extrapolation is done for all the requested states, and excitation +energies are printed as energy differences between the extrapolated +energies of the excited states and the extrapolated energy of the ground +state. + +The extrapolations are given considering the 2 last points, the 3 last points, ..., +the 7 last points. The extrapolated value should be chosen such that the extrpolated +value is stable with the number of points. + + + + +Providers +--------- + +.. c:var:: initialize_pt2_e0_denominator + + + File : :file:`cipsi/energy.irp.f` + + .. code:: fortran + + logical :: initialize_pt2_e0_denominator + + + If true, initialize pt2_E0_denominator + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`pt2_e0_denominator` + + +.. c:var:: nthreads_pt2 + + + File : :file:`cipsi/environment.irp.f` + + .. code:: fortran + + integer :: nthreads_pt2 + + + Number of threads for Davidson + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mpi_master` + * :c:data:`nproc` + + + +.. c:function:: pt2_collector: + + + File : :file:`cipsi/pt2_stoch_routines.irp.f` + + .. code:: fortran + + subroutine pt2_collector(zmq_socket_pull, E, relative_error, pt2, error, & + variance, norm, b, N_) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`pt2_j` + * :c:data:`pt2_stoch_istate` + * :c:data:`n_states` + * :c:data:`pt2_f` + * :c:data:`pt2_w` + * :c:data:`n_det_generators` + * :c:data:`pt2_n_teeth` + * :c:data:`pt2_u` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`zmq_pt2` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`add_to_selection_buffer` + * :c:func:`check_mem` + * :c:func:`create_selection_buffer` + * :c:func:`delete_selection_buffer` + * :c:func:`end_zmq_to_qp_run_socket` + * :c:func:`pull_pt2_results` + * :c:func:`sleep` + * :c:func:`sort_selection_buffer` + * :c:func:`wall_time` + + +.. c:var:: pt2_cw + + + File : :file:`cipsi/pt2_stoch_routines.irp.f` + + .. code:: fortran + + double precision, allocatable :: pt2_w (N_det_generators) + double precision, allocatable :: pt2_cw (0:N_det_generators) + double precision :: pt2_w_t + double precision :: pt2_u_0 + integer, allocatable :: pt2_n_0 (pt2_N_teeth+1) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_det_generators` + * :c:data:`psi_det_sorted_gen` + * :c:data:`pt2_n_teeth` + * :c:data:`pt2_stoch_istate` + * :c:data:`qp_max_mem` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`pt2_j` + + +.. c:var:: pt2_e0_denominator + + + File : :file:`cipsi/energy.irp.f` + + .. code:: fortran + + double precision, allocatable :: pt2_e0_denominator (N_states) + + + E0 in the denominator of the PT2 + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`barycentric_electronic_energy` + * :c:data:`h0_type` + * :c:data:`initialize_pt2_e0_denominator` + * :c:data:`mpi_master` + * :c:data:`n_states` + * :c:data:`nuclear_repulsion` + * :c:data:`psi_energy` + + + +.. c:var:: pt2_f + + + File : :file:`cipsi/pt2_stoch_routines.irp.f` + + .. code:: fortran + + integer, allocatable :: pt2_f (N_det_generators) + integer :: pt2_n_tasks_max + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`elec_num` + * :c:data:`n_core_orb` + * :c:data:`n_det_generators` + * :c:data:`n_det_selectors` + * :c:data:`n_states` + * :c:data:`psi_det_sorted_gen` + + + +.. c:var:: pt2_j + + + File : :file:`cipsi/pt2_stoch_routines.irp.f` + + .. code:: fortran + + integer, allocatable :: pt2_j (N_det_generators) + integer, allocatable :: pt2_r (N_det_generators) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_det_generators` + * :c:data:`pt2_n_tasks` + * :c:data:`pt2_n_teeth` + * :c:data:`pt2_u` + * :c:data:`pt2_w` + * :c:data:`qp_max_mem` + + + +.. c:var:: pt2_mindetinfirstteeth + + + File : :file:`cipsi/pt2_stoch_routines.irp.f` + + .. code:: fortran + + integer :: pt2_n_teeth + integer :: pt2_mindetinfirstteeth + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mpi_master` + * :c:data:`n_det_generators` + * :c:data:`psi_det_sorted_gen` + * :c:data:`pt2_stoch_istate` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`pt2_j` + * :c:data:`pt2_w` + + +.. c:var:: pt2_n_0 + + + File : :file:`cipsi/pt2_stoch_routines.irp.f` + + .. code:: fortran + + double precision, allocatable :: pt2_w (N_det_generators) + double precision, allocatable :: pt2_cw (0:N_det_generators) + double precision :: pt2_w_t + double precision :: pt2_u_0 + integer, allocatable :: pt2_n_0 (pt2_N_teeth+1) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_det_generators` + * :c:data:`psi_det_sorted_gen` + * :c:data:`pt2_n_teeth` + * :c:data:`pt2_stoch_istate` + * :c:data:`qp_max_mem` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`pt2_j` + + +.. c:var:: pt2_n_tasks + + + File : :file:`cipsi/pt2_stoch_routines.irp.f` + + .. code:: fortran + + integer :: pt2_n_tasks + + + Number of parallel tasks for the Monte Carlo + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_det_generators` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`pt2_j` + + +.. c:var:: pt2_n_tasks_max + + + File : :file:`cipsi/pt2_stoch_routines.irp.f` + + .. code:: fortran + + integer, allocatable :: pt2_f (N_det_generators) + integer :: pt2_n_tasks_max + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`elec_num` + * :c:data:`n_core_orb` + * :c:data:`n_det_generators` + * :c:data:`n_det_selectors` + * :c:data:`n_states` + * :c:data:`psi_det_sorted_gen` + + + +.. c:var:: pt2_n_teeth + + + File : :file:`cipsi/pt2_stoch_routines.irp.f` + + .. code:: fortran + + integer :: pt2_n_teeth + integer :: pt2_mindetinfirstteeth + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mpi_master` + * :c:data:`n_det_generators` + * :c:data:`psi_det_sorted_gen` + * :c:data:`pt2_stoch_istate` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`pt2_j` + * :c:data:`pt2_w` + + +.. c:var:: pt2_r + + + File : :file:`cipsi/pt2_stoch_routines.irp.f` + + .. code:: fortran + + integer, allocatable :: pt2_j (N_det_generators) + integer, allocatable :: pt2_r (N_det_generators) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_det_generators` + * :c:data:`pt2_n_tasks` + * :c:data:`pt2_n_teeth` + * :c:data:`pt2_u` + * :c:data:`pt2_w` + * :c:data:`qp_max_mem` + + + +.. c:var:: pt2_stoch_istate + + + File : :file:`cipsi/pt2_stoch_routines.irp.f` + + .. code:: fortran + + integer :: pt2_stoch_istate + + + State for stochatsic PT2 + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`pt2_n_teeth` + * :c:data:`pt2_w` + + +.. c:var:: pt2_u + + + File : :file:`cipsi/pt2_stoch_routines.irp.f` + + .. code:: fortran + + double precision, allocatable :: pt2_u (N_det_generators) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_det_generators` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`pt2_j` + + +.. c:var:: pt2_u_0 + + + File : :file:`cipsi/pt2_stoch_routines.irp.f` + + .. code:: fortran + + double precision, allocatable :: pt2_w (N_det_generators) + double precision, allocatable :: pt2_cw (0:N_det_generators) + double precision :: pt2_w_t + double precision :: pt2_u_0 + integer, allocatable :: pt2_n_0 (pt2_N_teeth+1) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_det_generators` + * :c:data:`psi_det_sorted_gen` + * :c:data:`pt2_n_teeth` + * :c:data:`pt2_stoch_istate` + * :c:data:`qp_max_mem` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`pt2_j` + + +.. c:var:: pt2_w + + + File : :file:`cipsi/pt2_stoch_routines.irp.f` + + .. code:: fortran + + double precision, allocatable :: pt2_w (N_det_generators) + double precision, allocatable :: pt2_cw (0:N_det_generators) + double precision :: pt2_w_t + double precision :: pt2_u_0 + integer, allocatable :: pt2_n_0 (pt2_N_teeth+1) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_det_generators` + * :c:data:`psi_det_sorted_gen` + * :c:data:`pt2_n_teeth` + * :c:data:`pt2_stoch_istate` + * :c:data:`qp_max_mem` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`pt2_j` + + +.. c:var:: pt2_w_t + + + File : :file:`cipsi/pt2_stoch_routines.irp.f` + + .. code:: fortran + + double precision, allocatable :: pt2_w (N_det_generators) + double precision, allocatable :: pt2_cw (0:N_det_generators) + double precision :: pt2_w_t + double precision :: pt2_u_0 + integer, allocatable :: pt2_n_0 (pt2_N_teeth+1) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_det_generators` + * :c:data:`psi_det_sorted_gen` + * :c:data:`pt2_n_teeth` + * :c:data:`pt2_stoch_istate` + * :c:data:`qp_max_mem` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`pt2_j` + + +.. c:var:: selection_weight + + + File : :file:`cipsi/selection.irp.f` + + .. code:: fortran + + double precision, allocatable :: selection_weight (N_states) + + + Weights used in the selection criterion + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`c0_weight` + * :c:data:`n_states` + + + + +Subroutines / functions +----------------------- + +.. c:function:: add_to_selection_buffer: + + + File : :file:`cipsi/selection_buffer.irp.f` + + .. code:: fortran + + subroutine add_to_selection_buffer(b, det, val) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_int` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`fill_buffer_double` + * :c:func:`pt2_collector` + * :c:func:`selection_collector` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`sort_selection_buffer` + + +.. c:function:: bitstring_to_list_in_selection: + + + File : :file:`cipsi/selection.irp.f` + + .. code:: fortran + + subroutine bitstring_to_list_in_selection( string, list, n_elements, Nint) + + + Gives the inidices(+1) of the bits set to 1 in the bit string + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`splash_pq` + * :c:func:`spot_isinwf` + + +.. c:function:: create_selection_buffer: + + + File : :file:`cipsi/selection_buffer.irp.f` + + .. code:: fortran + + subroutine create_selection_buffer(N, siz_, res) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_int` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`pt2_collector` + * :c:func:`run_pt2_slave` + * :c:func:`run_selection_slave` + * :c:func:`selection_collector` + * :c:func:`zmq_pt2` + * :c:func:`zmq_selection` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`check_mem` + + +.. c:function:: delete_selection_buffer: + + + File : :file:`cipsi/selection_buffer.irp.f` + + .. code:: fortran + + subroutine delete_selection_buffer(b) + + + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`pt2_collector` + * :c:func:`run_pt2_slave` + * :c:func:`run_selection_slave` + * :c:func:`selection_collector` + * :c:func:`zmq_pt2` + * :c:func:`zmq_selection` + + +.. c:function:: fill_buffer_double: + + + File : :file:`cipsi/selection.irp.f` + + .. code:: fortran + + subroutine fill_buffer_double(i_generator, sp, h1, h2, bannedOrb, banned, fock_diag_tmp, E0, pt2, variance, norm, mat, buf) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`psi_occ_pattern_hii` + * :c:data:`det_to_occ_pattern` + * :c:data:`selection_weight` + * :c:data:`mo_num` + * :c:data:`n_states` + * :c:data:`n_int` + * :c:data:`psi_det_hii` + * :c:data:`do_only_1h1p` + * :c:data:`h0_type` + * :c:data:`psi_det_generators` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`select_singles_and_doubles` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`add_to_selection_buffer` + * :c:func:`apply_holes` + * :c:func:`apply_particles` + + +.. c:function:: get_d0: + + + File : :file:`cipsi/selection.irp.f` + + .. code:: fortran + + subroutine get_d0(gen, phasemask, bannedOrb, banned, mat, mask, h, p, sp, coefs) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_states` + * :c:data:`n_int` + * :c:data:`mo_integrals_map` + * :c:data:`mo_num` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`splash_pq` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`apply_particles` + * :c:func:`get_mo_two_e_integrals` + * :c:func:`i_h_j` + + +.. c:function:: get_d1: + + + File : :file:`cipsi/selection.irp.f` + + .. code:: fortran + + subroutine get_d1(gen, phasemask, bannedOrb, banned, mat, mask, h, p, sp, coefs) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_states` + * :c:data:`n_int` + * :c:data:`mo_integrals_map` + * :c:data:`mo_num` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`splash_pq` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`apply_particles` + * :c:func:`get_mo_two_e_integrals` + * :c:func:`i_h_j` + + +.. c:function:: get_d2: + + + File : :file:`cipsi/selection.irp.f` + + .. code:: fortran + + subroutine get_d2(gen, phasemask, bannedOrb, banned, mat, mask, h, p, sp, coefs) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_states` + * :c:data:`n_int` + * :c:data:`mo_num` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`splash_pq` + + +.. c:function:: get_mask_phase: + + + File : :file:`cipsi/selection.irp.f` + + .. code:: fortran + + subroutine get_mask_phase(det1, pm, Nint) + + + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`splash_pq` + + +.. c:function:: get_phase_bi: + + + File : :file:`cipsi/selection.irp.f` + + .. code:: fortran + + double precision function get_phase_bi(phasemask, s1, s2, h1, p1, h2, p2, Nint) + + + + +.. c:function:: make_selection_buffer_s2: + + + File : :file:`cipsi/selection_buffer.irp.f` + + .. code:: fortran + + subroutine make_selection_buffer_s2(b) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`elec_alpha_num` + * :c:data:`n_int` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`zmq_pt2` + * :c:func:`zmq_selection` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`check_mem` + * :c:func:`dsort` + * :c:func:`i8sort` + * :c:func:`occ_pattern_to_dets` + * :c:func:`occ_pattern_to_dets_size` + + +.. c:function:: merge_selection_buffers: + + + File : :file:`cipsi/selection_buffer.irp.f` + + .. code:: fortran + + subroutine merge_selection_buffers(b1, b2) + + + Merges the selection buffers b1 and b2 into b2 + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_int` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`run_pt2_slave` + * :c:func:`run_selection_slave` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`check_mem` + + +.. c:function:: past_d1: + + + File : :file:`cipsi/selection.irp.f` + + .. code:: fortran + + subroutine past_d1(bannedOrb, p) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_num` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`splash_pq` + + +.. c:function:: past_d2: + + + File : :file:`cipsi/selection.irp.f` + + .. code:: fortran + + subroutine past_d2(banned, p, sp) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_num` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`splash_pq` + + +.. c:function:: provide_everything: + + + File : :file:`cipsi/slave_cipsi.irp.f` + + .. code:: fortran + + subroutine provide_everything + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`generators_bitmask` + * :c:data:`pt2_stoch_istate` + * :c:data:`psi_selectors` + * :c:data:`psi_det` + * :c:data:`zmq_state` + * :c:data:`psi_coef` + * :c:data:`mpi_master` + * :c:data:`n_det` + * :c:data:`zmq_context` + * :c:data:`n_det_selectors` + * :c:data:`state_average_weight` + * :c:data:`mo_num` + * :c:data:`mo_two_e_integrals_in_map` + * :c:data:`pt2_e0_denominator` + * :c:data:`ci_energy` + * :c:data:`n_states_diag` + * :c:data:`threshold_generators` + * :c:data:`psi_det_sorted_bit` + * :c:data:`n_states` + * :c:data:`h_apply_buffer_allocated` + * :c:data:`n_det_generators` + * :c:data:`psi_det_generators` + * :c:data:`n_int` + * :c:data:`psi_det_generators` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`run_slave_cipsi` + + +.. c:function:: pt2_find_sample: + + + File : :file:`cipsi/pt2_stoch_routines.irp.f` + + .. code:: fortran + + integer function pt2_find_sample(v, w) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_det_generators` + + +.. c:function:: pt2_find_sample_lr: + + + File : :file:`cipsi/pt2_stoch_routines.irp.f` + + .. code:: fortran + + integer function pt2_find_sample_lr(v, w, l_in, r_in) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_det_generators` + + +.. c:function:: pt2_slave_inproc: + + + File : :file:`cipsi/pt2_stoch_routines.irp.f` + + .. code:: fortran + + subroutine pt2_slave_inproc(i) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`pt2_e0_denominator` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`zmq_pt2` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`run_pt2_slave` + + +.. c:function:: pull_pt2_results: + + + File : :file:`cipsi/run_pt2_slave.irp.f` + + .. code:: fortran + + subroutine pull_pt2_results(zmq_socket_pull, index, pt2, variance, norm, task_id, n_tasks, b) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_states` + * :c:data:`n_int` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`pt2_collector` + + +.. c:function:: pull_selection_results: + + + File : :file:`cipsi/run_selection_slave.irp.f` + + .. code:: fortran + + subroutine pull_selection_results(zmq_socket_pull, pt2, variance, norm, val, det, N, task_id, ntask) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_states` + * :c:data:`n_int` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`selection_collector` + + +.. c:function:: push_pt2_results: + + + File : :file:`cipsi/run_pt2_slave.irp.f` + + .. code:: fortran + + subroutine push_pt2_results(zmq_socket_push, index, pt2, variance, norm, b, task_id, n_tasks) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_states` + * :c:data:`n_int` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`run_pt2_slave` + + +.. c:function:: push_selection_results: + + + File : :file:`cipsi/run_selection_slave.irp.f` + + .. code:: fortran + + subroutine push_selection_results(zmq_socket_push, pt2, variance, norm, b, task_id, ntask) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_states` + * :c:data:`n_int` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`run_selection_slave` + + +.. c:function:: remove_duplicates_in_selection_buffer: + + + File : :file:`cipsi/selection_buffer.irp.f` + + .. code:: fortran + + subroutine remove_duplicates_in_selection_buffer(b) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_int` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`zmq_pt2` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`check_mem` + * :c:func:`i8sort` + + +.. c:function:: run_cipsi: + + + File : :file:`cipsi/cipsi.irp.f` + + .. code:: fortran + + subroutine run_cipsi + + + Selected Full Configuration Interaction with deterministic selection and + stochastic PT2. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`correlation_energy_ratio_max` + * :c:data:`n_iter` + * :c:data:`psi_energy_with_nucl_rep` + * :c:data:`psi_occ_pattern` + * :c:data:`n_det_max` + * :c:data:`n_states` + * :c:data:`h_apply_buffer_allocated` + * :c:data:`n_det` + * :c:data:`s2_eig` + * :c:data:`do_pt2` + * :c:data:`psi_energy` + * :c:data:`pt2_relative_error` + * :c:data:`ref_bitmask_energy` + * :c:data:`psi_det` + * :c:data:`n_states_diag` + * :c:data:`psi_coef` + * :c:data:`psi_det_sorted` + * :c:data:`pt2_max` + * :c:data:`threshold_generators` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`fci` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`check_mem` + * :c:func:`diagonalize_ci` + * :c:func:`ezfio_get_hartree_fock_energy` + * :c:func:`ezfio_has_hartree_fock_energy` + * :c:func:`make_s2_eigenfunction` + * :c:func:`print_extrapolated_energy` + * :c:func:`print_summary` + * :c:func:`save_energy` + * :c:func:`save_iterations` + * :c:func:`save_wavefunction` + * :c:func:`write_double` + * :c:func:`zmq_pt2` + * :c:func:`zmq_selection` + + Touches: + + .. hlist:: + :columns: 3 + + * :c:data:`ci_electronic_energy` + * :c:data:`ci_electronic_energy` + * :c:data:`ci_energy` + * :c:data:`ci_electronic_energy` + * :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:data:`pt2_stoch_istate` + * :c:data:`state_average_weight` + * :c:data:`threshold_generators` + + +.. c:function:: run_pt2_slave: + + + File : :file:`cipsi/run_pt2_slave.irp.f` + + .. code:: fortran + + subroutine run_pt2_slave(thread,iproc,energy) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_states_diag` + * :c:data:`n_states` + * :c:data:`pt2_f` + * :c:data:`nproc` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`pt2_slave_inproc` + * :c:func:`run_slave_main` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`check_mem` + * :c:func:`create_selection_buffer` + * :c:func:`delete_selection_buffer` + * :c:func:`end_zmq_push_socket` + * :c:func:`end_zmq_to_qp_run_socket` + * :c:func:`merge_selection_buffers` + * :c:func:`push_pt2_results` + * :c:func:`select_connected` + * :c:func:`sleep` + * :c:func:`sort_selection_buffer` + * :c:func:`wall_time` + + +.. c:function:: run_selection_slave: + + + File : :file:`cipsi/run_selection_slave.irp.f` + + .. code:: fortran + + subroutine run_selection_slave(thread,iproc,energy) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`psi_det_beta_unique` + * :c:data:`psi_bilinear_matrix_values` + * :c:data:`psi_bilinear_matrix_transp_values` + * :c:data:`psi_bilinear_matrix_transp_rows_loc` + * :c:data:`n_states` + * :c:data:`pt2_f` + * :c:data:`psi_bilinear_matrix_values` + * :c:data:`psi_bilinear_matrix_transp_values` + * :c:data:`n_int` + * :c:data:`psi_det_alpha_unique` + * :c:data:`psi_det_sorted` + * :c:data:`psi_det_sorted` + * :c:data:`psi_bilinear_matrix_columns_loc` + * :c:data:`psi_selectors_coef_transp` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`run_slave_main` + * :c:func:`selection_slave_inproc` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`create_selection_buffer` + * :c:func:`delete_selection_buffer` + * :c:func:`end_zmq_push_socket` + * :c:func:`end_zmq_to_qp_run_socket` + * :c:func:`merge_selection_buffers` + * :c:func:`push_selection_results` + * :c:func:`select_connected` + * :c:func:`sleep` + * :c:func:`sort_selection_buffer` + + +.. c:function:: run_slave_cipsi: + + + File : :file:`cipsi/slave_cipsi.irp.f` + + .. code:: fortran + + subroutine run_slave_cipsi + + + Helper program for distributed parallelism + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`read_wf` + * :c:data:`distributed_davidson` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`fci` + * :c:func:`pt2` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`omp_set_nested` + * :c:func:`provide_everything` + * :c:func:`run_slave_main` + * :c:func:`switch_qp_run_to_master` + + Touches: + + .. hlist:: + :columns: 3 + + * :c:data:`distributed_davidson` + * :c:data:`pt2_e0_denominator` + * :c:data:`pt2_stoch_istate` + * :c:data:`read_wf` + * :c:data:`state_average_weight` + * :c:data:`threshold_generators` + + +.. c:function:: run_slave_main: + + + File : :file:`cipsi/slave_cipsi.irp.f` + + .. code:: fortran + + subroutine run_slave_main + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`psi_coef` + * :c:data:`mpi_rank` + * :c:data:`zmq_state` + * :c:data:`state_average_weight` + * :c:data:`mpi_master` + * :c:data:`pt2_stoch_istate` + * :c:data:`n_states` + * :c:data:`n_det` + * :c:data:`pt2_e0_denominator` + * :c:data:`n_det_selectors` + * :c:data:`n_det_generators` + * :c:data:`psi_det` + * :c:data:`n_states_diag` + * :c:data:`zmq_context` + * :c:data:`threshold_generators` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`run_slave_cipsi` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`davidson_slave_tcp` + * :c:func:`mpi_print` + * :c:func:`omp_set_nested` + * :c:func:`run_pt2_slave` + * :c:func:`run_selection_slave` + * :c:func:`sleep` + * :c:func:`wait_for_states` + * :c:func:`wall_time` + * :c:func:`write_double` + + Touches: + + .. hlist:: + :columns: 3 + + * :c:data:`pt2_e0_denominator` + * :c:data:`pt2_stoch_istate` + * :c:data:`state_average_weight` + * :c:data:`threshold_generators` + + +.. c:function:: run_stochastic_cipsi: + + + File : :file:`cipsi/stochastic_cipsi.irp.f` + + .. code:: fortran + + subroutine run_stochastic_cipsi + + + Selected Full Configuration Interaction with Stochastic selection and PT2. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`correlation_energy_ratio_max` + * :c:data:`n_iter` + * :c:data:`psi_energy_with_nucl_rep` + * :c:data:`psi_occ_pattern` + * :c:data:`n_det_max` + * :c:data:`n_states` + * :c:data:`h_apply_buffer_allocated` + * :c:data:`n_det` + * :c:data:`s2_eig` + * :c:data:`psi_energy` + * :c:data:`pt2_relative_error` + * :c:data:`ref_bitmask_energy` + * :c:data:`psi_det` + * :c:data:`n_states_diag` + * :c:data:`psi_coef` + * :c:data:`psi_det_sorted` + * :c:data:`pt2_max` + * :c:data:`threshold_generators` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`fci` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`check_mem` + * :c:func:`copy_h_apply_buffer_to_wf` + * :c:func:`diagonalize_ci` + * :c:func:`ezfio_get_hartree_fock_energy` + * :c:func:`ezfio_has_hartree_fock_energy` + * :c:func:`make_s2_eigenfunction` + * :c:func:`print_extrapolated_energy` + * :c:func:`print_summary` + * :c:func:`save_energy` + * :c:func:`save_iterations` + * :c:func:`save_wavefunction` + * :c:func:`write_double` + * :c:func:`zmq_pt2` + + Touches: + + .. hlist:: + :columns: 3 + + * :c:data:`ci_electronic_energy` + * :c:data:`ci_electronic_energy` + * :c:data:`ci_energy` + * :c:data:`ci_electronic_energy` + * :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:data:`pt2_stoch_istate` + * :c:data:`state_average_weight` + * :c:data:`threshold_generators` + + +.. c:function:: select_connected: + + + File : :file:`cipsi/selection.irp.f` + + .. code:: fortran + + subroutine select_connected(i_generator,E0,pt2,variance,norm,b,subset,csubset) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`generators_bitmask` + * :c:data:`mo_num` + * :c:data:`n_states` + * :c:data:`n_int` + * :c:data:`n_generators_bitmask` + * :c:data:`psi_det_generators` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`run_pt2_slave` + * :c:func:`run_selection_slave` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`build_fock_tmp` + * :c:func:`select_singles_and_doubles` + + +.. c:function:: select_singles_and_doubles: + + + File : :file:`cipsi/selection.irp.f` + + .. code:: fortran + + subroutine select_singles_and_doubles(i_generator,hole_mask,particle_mask,fock_diag_tmp,E0,pt2,variance,norm,buf,subset,csubset) + + + WARNING /!\ : It is assumed that the generators and selectors are psi_det_sorted + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`psi_det_beta_unique` + * :c:data:`psi_bilinear_matrix_values` + * :c:data:`psi_bilinear_matrix_transp_values` + * :c:data:`mo_num` + * :c:data:`psi_bilinear_matrix_transp_rows_loc` + * :c:data:`n_states` + * :c:data:`n_det` + * :c:data:`psi_bilinear_matrix_transp_values` + * :c:data:`elec_alpha_num` + * :c:data:`n_det_selectors` + * :c:data:`psi_bilinear_matrix_transp_values` + * :c:data:`psi_bilinear_matrix_values` + * :c:data:`n_int` + * :c:data:`psi_det_generators` + * :c:data:`psi_bilinear_matrix_values` + * :c:data:`psi_det_alpha_unique` + * :c:data:`psi_det_sorted` + * :c:data:`psi_det_sorted` + * :c:data:`psi_bilinear_matrix_columns_loc` + * :c:data:`psi_selectors_coef_transp` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`select_connected` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`apply_hole` + * :c:func:`bitstring_to_list_ab` + * :c:func:`check_mem` + * :c:func:`fill_buffer_double` + * :c:func:`get_excitation_degree_spin` + * :c:func:`isort` + * :c:func:`splash_pq` + * :c:func:`spot_isinwf` + + +.. c:function:: selection_collector: + + + File : :file:`cipsi/zmq_selection.irp.f` + + .. code:: fortran + + subroutine selection_collector(zmq_socket_pull, b, N, pt2, variance, norm) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_det_generators` + * :c:data:`n_states` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`zmq_selection` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`add_to_selection_buffer` + * :c:func:`check_mem` + * :c:func:`create_selection_buffer` + * :c:func:`delete_selection_buffer` + * :c:func:`end_zmq_to_qp_run_socket` + * :c:func:`pull_selection_results` + * :c:func:`sort_selection_buffer` + + +.. c:function:: selection_slave_inproc: + + + File : :file:`cipsi/zmq_selection.irp.f` + + .. code:: fortran + + subroutine selection_slave_inproc(i) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`pt2_e0_denominator` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`zmq_selection` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`run_selection_slave` + + +.. c:function:: sort_selection_buffer: + + + File : :file:`cipsi/selection_buffer.irp.f` + + .. code:: fortran + + subroutine sort_selection_buffer(b) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_int` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`add_to_selection_buffer` + * :c:func:`pt2_collector` + * :c:func:`run_pt2_slave` + * :c:func:`run_selection_slave` + * :c:func:`selection_collector` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`check_mem` + * :c:func:`dsort` + + +.. c:function:: splash_pq: + + + File : :file:`cipsi/selection.irp.f` + + .. code:: fortran + + subroutine splash_pq(mask, sp, det, i_gen, N_sel, bannedOrb, banned, mat, interesting) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`psi_selectors_coef_transp` + * :c:data:`n_states` + * :c:data:`psi_det_sorted` + * :c:data:`n_int` + * :c:data:`mo_num` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`select_singles_and_doubles` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`bitstring_to_list_in_selection` + * :c:func:`get_d0` + * :c:func:`get_d1` + * :c:func:`get_d2` + * :c:func:`get_mask_phase` + * :c:func:`past_d1` + * :c:func:`past_d2` + + +.. c:function:: spot_isinwf: + + + File : :file:`cipsi/selection.irp.f` + + .. code:: fortran + + subroutine spot_isinwf(mask, det, i_gen, N, banned, fullMatch, interesting) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_int` + * :c:data:`mo_num` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`select_singles_and_doubles` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`bitstring_to_list_in_selection` + + +.. c:function:: testteethbuilding: + + + File : :file:`cipsi/pt2_stoch_routines.irp.f` + + .. code:: fortran + + logical function testTeethBuilding(minF, N) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`pt2_stoch_istate` + * :c:data:`n_det_generators` + * :c:data:`psi_det_sorted_gen` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`check_mem` + + +.. c:function:: zmq_pt2: + + + File : :file:`cipsi/pt2_stoch_routines.irp.f` + + .. code:: fortran + + subroutine ZMQ_pt2(E, pt2,relative_error, error, variance, norm, N_in) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`psi_det_sorted` + * :c:data:`pt2_stoch_istate` + * :c:data:`psi_selectors` + * :c:data:`psi_bilinear_matrix_values` + * :c:data:`psi_det_alpha_unique` + * :c:data:`pt2_e0_denominator` + * :c:data:`pt2_n_teeth` + * :c:data:`psi_selectors_coef_transp` + * :c:data:`n_det` + * :c:data:`s2_eig` + * :c:data:`pt2_j` + * :c:data:`mo_two_e_integrals_in_map` + * :c:data:`psi_bilinear_matrix_transp_values` + * :c:data:`state_average_weight` + * :c:data:`mo_num` + * :c:data:`nthreads_pt2` + * :c:data:`psi_bilinear_matrix_values` + * :c:data:`mo_one_e_integrals` + * :c:data:`elec_alpha_num` + * :c:data:`nproc` + * :c:data:`psi_bilinear_matrix_columns_loc` + * :c:data:`threshold_generators` + * :c:data:`psi_det_beta_unique` + * :c:data:`qp_max_mem` + * :c:data:`psi_bilinear_matrix_transp_rows_loc` + * :c:data:`n_states` + * :c:data:`pt2_f` + * :c:data:`n_det_generators` + * :c:data:`psi_bilinear_matrix_transp_values` + * :c:data:`n_int` + * :c:data:`pt2_j` + * :c:data:`psi_det_sorted` + * :c:data:`pt2_w` + * :c:data:`pt2_u` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`run_cipsi` + * :c:func:`run_stochastic_cipsi` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`check_mem` + * :c:func:`create_selection_buffer` + * :c:func:`delete_selection_buffer` + * :c:func:`end_parallel_job` + * :c:func:`fill_h_apply_buffer_no_selection` + * :c:func:`make_selection_buffer_s2` + * :c:func:`new_parallel_job` + * :c:func:`omp_set_nested` + * :c:func:`pt2_collector` + * :c:func:`pt2_slave_inproc` + * :c:func:`remove_duplicates_in_selection_buffer` + * :c:func:`resident_memory` + * :c:func:`write_double` + * :c:func:`write_int` + * :c:func:`zmq_selection` + + Touches: + + .. hlist:: + :columns: 3 + + * :c:data:`n_det` + * :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:`pt2_stoch_istate` + * :c:data:`state_average_weight` + + +.. c:function:: zmq_selection: + + + File : :file:`cipsi/zmq_selection.irp.f` + + .. code:: fortran + + subroutine ZMQ_selection(N_in, pt2, variance, norm) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`psi_det_sorted` + * :c:data:`psi_selectors` + * :c:data:`psi_bilinear_matrix_values` + * :c:data:`n_det` + * :c:data:`psi_bilinear_matrix_columns_loc` + * :c:data:`n_det_selectors` + * :c:data:`psi_det_alpha_unique` + * :c:data:`psi_bilinear_matrix_transp_values` + * :c:data:`state_average_weight` + * :c:data:`psi_bilinear_matrix_values` + * :c:data:`pt2_e0_denominator` + * :c:data:`do_pt2` + * :c:data:`nproc` + * :c:data:`s2_eig` + * :c:data:`threshold_generators` + * :c:data:`psi_det_beta_unique` + * :c:data:`qp_max_mem` + * :c:data:`psi_bilinear_matrix_transp_rows_loc` + * :c:data:`n_states` + * :c:data:`pt2_f` + * :c:data:`n_det_generators` + * :c:data:`psi_bilinear_matrix_transp_values` + * :c:data:`n_int` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`run_cipsi` + * :c:func:`zmq_pt2` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`copy_h_apply_buffer_to_wf` + * :c:func:`create_selection_buffer` + * :c:func:`delete_selection_buffer` + * :c:func:`end_parallel_job` + * :c:func:`fill_h_apply_buffer_no_selection` + * :c:func:`make_selection_buffer_s2` + * :c:func:`new_parallel_job` + * :c:func:`save_wavefunction` + * :c:func:`selection_collector` + * :c:func:`selection_slave_inproc` + * :c:func:`write_double` + + Touches: + + .. hlist:: + :columns: 3 + + * :c:data:`n_det` + * :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` + diff --git a/doc/_sources/modules/cis.rst.txt b/doc/_sources/modules/cis.rst.txt new file mode 100644 index 00000000..10700afb --- /dev/null +++ b/doc/_sources/modules/cis.rst.txt @@ -0,0 +1,275 @@ +.. _module_cis: + +.. program:: cis + +.. default-role:: option + +=== +cis +=== + +This module contains a CIS program. + +The user point of view +---------------------- + +The :command:`cis` program performs the CI of the ROHF-like + all single excitations on top of it. +This program can be very useful to : + +* **Ground state calculations**: generate a guess for the ground state wave function if one is not sure that the :c:func:`scf` program gave the lowest SCF solution. In combination with :c:func:`save_natorb` it can produce new |MOs| in order to reperform an :c:func:`scf` optimization. + +* **Excited states calculations**: generate guess for all the :option:`determinants n_states` wave functions, that will be used by the :c:func:`fci` program. + + +The main keywords/options to be used are: + +* :option:`determinants n_states` : number of states to consider for the |CIS| calculation + +* :option:`determinants s2_eig` : force all states to have the desired value of :math:`S^2` + +* :option:`determinants expected_s2` : desired value of :math:`S^2` + + + + +The programmer point of view +---------------------------- + +This module have been built by setting the following rules: + +* The only generator determinant is the Hartree-Fock (single-reference method) +* All generated singly excited determinants are included in the wave function (no perturbative + selection) + +These rules are set in the ``H_apply.irp.f`` file. + + + + + +EZFIO parameters +---------------- + +.. option:: energy + + Variational |CIS| energy + + + +Programs +-------- + + * :ref:`cis` + +Subroutines / functions +----------------------- + +.. c:function:: h_apply_cis: + + + File : :file:`h_apply.irp.f_shell_8` + + .. code:: fortran + + subroutine H_apply_cis() + + + 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_diexc` + * :c:func:`h_apply_cis_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_diexc: + + + File : :file:`h_apply.irp.f_shell_8` + + .. code:: fortran + + subroutine H_apply_cis_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` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`h_apply_cis_diexcp` + + +.. c:function:: h_apply_cis_diexcorg: + + + File : :file:`h_apply.irp.f_shell_8` + + .. code:: fortran + + subroutine H_apply_cis_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_diexcp` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`bitstring_to_list_ab` + * :c:func:`fill_h_apply_buffer_no_selection` + + +.. c:function:: h_apply_cis_diexcp: + + + File : :file:`h_apply.irp.f_shell_8` + + .. code:: fortran + + subroutine H_apply_cis_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_diexc` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`h_apply_cis_diexcorg` + + +.. c:function:: h_apply_cis_monoexc: + + + File : :file:`h_apply.irp.f_shell_8` + + .. code:: fortran + + subroutine H_apply_cis_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` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`bitstring_to_list_ab` + * :c:func:`fill_h_apply_buffer_no_selection` + diff --git a/doc/_sources/modules/cisd.rst.txt b/doc/_sources/modules/cisd.rst.txt new file mode 100644 index 00000000..7816de30 --- /dev/null +++ b/doc/_sources/modules/cisd.rst.txt @@ -0,0 +1,273 @@ +.. _module_cisd: + +.. program:: cisd + +.. default-role:: option + +==== +cisd +==== + +This module contains a CI of single and double excitations. + +The user point of view +---------------------- + +The :command:`cisd` program performs the CI of the ROHF-like + all single and double excitations on top of it. +This program can be very useful to : + +* **Ground state calculations**: generate a guess for the ground state wave function if one is not sure that the :c:func:`scf` program gave the lowest SCF solution. In combination with :c:func:`save_natorb` it can produce new |MOs| in order to reperform an :c:func:`scf` optimization. + +* **Excited states calculations**: generate guess for all the :option:`determinants n_states` wave functions, that will be used by the :c:func:`fci` program. + + +The main keywords/options to be used are: + +* :option:`determinants n_states` : number of states to consider for the |cisd| calculation + +* :option:`determinants s2_eig` : force all states to have the desired value of :math:`S^2` + +* :option:`determinants expected_s2` : desired value of :math:`S^2` + +The programmer point of view +---------------------------- + +This module have been built by setting the following rules: + + +* The only generator determinant is the Hartree-Fock (single-reference method) +* All generated determinants are included in the wave function (no perturbative + selection) + +These rules are set in the ``H_apply.irp.f`` file. + + + + + +EZFIO parameters +---------------- + +.. option:: energy + + Variational |CISD| energy + + + +Programs +-------- + + * :ref:`cisd` + +Subroutines / functions +----------------------- + +.. c:function:: h_apply_cisd: + + + File : :file:`h_apply.irp.f_shell_8` + + .. code:: fortran + + subroutine H_apply_cisd() + + + 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_diexc` + * :c:func:`h_apply_cisd_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_diexc: + + + File : :file:`h_apply.irp.f_shell_8` + + .. code:: fortran + + subroutine H_apply_cisd_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` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`h_apply_cisd_diexcp` + + +.. c:function:: h_apply_cisd_diexcorg: + + + File : :file:`h_apply.irp.f_shell_8` + + .. code:: fortran + + subroutine H_apply_cisd_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_diexcp` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`bitstring_to_list_ab` + * :c:func:`fill_h_apply_buffer_no_selection` + + +.. c:function:: h_apply_cisd_diexcp: + + + File : :file:`h_apply.irp.f_shell_8` + + .. code:: fortran + + subroutine H_apply_cisd_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_diexc` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`h_apply_cisd_diexcorg` + + +.. c:function:: h_apply_cisd_monoexc: + + + File : :file:`h_apply.irp.f_shell_8` + + .. code:: fortran + + subroutine H_apply_cisd_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` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`bitstring_to_list_ab` + * :c:func:`fill_h_apply_buffer_no_selection` + diff --git a/doc/_sources/modules/davidson.rst.txt b/doc/_sources/modules/davidson.rst.txt new file mode 100644 index 00000000..b29d42ff --- /dev/null +++ b/doc/_sources/modules/davidson.rst.txt @@ -0,0 +1,1799 @@ +.. _module_davidson: + +.. program:: davidson + +.. default-role:: option + +======== +davidson +======== + +Abstract module for Davidson's diagonalization. +It contains everything required for the Davidson algorithm, dressed or not. If +a dressing is used, the dressing column should be defined and the +:ref:`davidson_dressed` module should be used. If no dressing is required, +the :ref:`davidson` module should be used, and it has a default zero dressing vector. + +The important providers for that module are: + +# `psi_energy` which is the expectation value over the wave function (`psi_det`, `psi_coef`) of the Hamiltonian, dressed or not. It uses the general subroutine `u_0_H_u_0`. +# `psi_energy_two_e` which is the expectation value over the wave function (`psi_det`, `psi_coef`) of the standard two-electrons coulomb operator. It uses the general routine `u_0_H_u_0_two_e`. + + + +EZFIO parameters +---------------- + +.. option:: threshold_davidson + + Thresholds of Davidson's algorithm + + Default: 1.e-10 + +.. option:: n_states_diag + + Number of states to consider during the Davdison diagonalization + + Default: 4 + +.. option:: davidson_sze_max + + Number of micro-iterations before re-contracting + + Default: 8 + +.. option:: state_following + + If |true|, the states are re-ordered to match the input states + + Default: False + +.. option:: disk_based_davidson + + If |true|, a memory-mapped file may be used to store the W and S2 vectors if not enough RAM is available + + Default: True + +.. option:: distributed_davidson + + If |true|, use the distributed algorithm + + Default: True + +.. option:: only_expected_s2 + + If |true|, use filter out all vectors with bad |S^2| values + + Default: True + + +Providers +--------- + +.. c:var:: ci_eigenvectors + + + File : :file:`davidson/diagonalize_ci.irp.f` + + .. code:: fortran + + double precision, allocatable :: ci_electronic_energy (N_states_diag) + double precision, allocatable :: ci_eigenvectors (N_det,N_states_diag) + double precision, allocatable :: ci_s2 (N_states_diag) + + + Eigenvectors/values of the |CI| matrix + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`diag_algorithm` + * :c:data:`dressing_column_h` + * :c:data:`expected_s2` + * :c:data:`h_matrix_all_dets` + * :c:data:`mo_two_e_integrals_in_map` + * :c:data:`n_det` + * :c:data:`n_int` + * :c:data:`n_states` + * :c:data:`n_states_diag` + * :c:data:`nthreads_davidson` + * :c:data:`psi_coef` + * :c:data:`psi_det` + * :c:data:`s2_eig` + * :c:data:`s2_matrix_all_dets` + * :c:data:`s_z` + * :c:data:`threshold_davidson` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`ci_energy` + + +.. c:var:: ci_electronic_energy + + + File : :file:`davidson/diagonalize_ci.irp.f` + + .. code:: fortran + + double precision, allocatable :: ci_electronic_energy (N_states_diag) + double precision, allocatable :: ci_eigenvectors (N_det,N_states_diag) + double precision, allocatable :: ci_s2 (N_states_diag) + + + Eigenvectors/values of the |CI| matrix + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`diag_algorithm` + * :c:data:`dressing_column_h` + * :c:data:`expected_s2` + * :c:data:`h_matrix_all_dets` + * :c:data:`mo_two_e_integrals_in_map` + * :c:data:`n_det` + * :c:data:`n_int` + * :c:data:`n_states` + * :c:data:`n_states_diag` + * :c:data:`nthreads_davidson` + * :c:data:`psi_coef` + * :c:data:`psi_det` + * :c:data:`s2_eig` + * :c:data:`s2_matrix_all_dets` + * :c:data:`s_z` + * :c:data:`threshold_davidson` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`ci_energy` + + +.. c:var:: ci_energy + + + File : :file:`davidson/diagonalize_ci.irp.f` + + .. code:: fortran + + double precision, allocatable :: ci_energy (N_states_diag) + + + :c:data:`n_states` lowest eigenvalues of the |CI| matrix + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ci_electronic_energy` + * :c:data:`mpi_master` + * :c:data:`n_det` + * :c:data:`n_states` + * :c:data:`n_states_diag` + * :c:data:`nuclear_repulsion` + * :c:data:`output_wall_time_0` + + + +.. c:var:: ci_s2 + + + File : :file:`davidson/diagonalize_ci.irp.f` + + .. code:: fortran + + double precision, allocatable :: ci_electronic_energy (N_states_diag) + double precision, allocatable :: ci_eigenvectors (N_det,N_states_diag) + double precision, allocatable :: ci_s2 (N_states_diag) + + + Eigenvectors/values of the |CI| matrix + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`diag_algorithm` + * :c:data:`dressing_column_h` + * :c:data:`expected_s2` + * :c:data:`h_matrix_all_dets` + * :c:data:`mo_two_e_integrals_in_map` + * :c:data:`n_det` + * :c:data:`n_int` + * :c:data:`n_states` + * :c:data:`n_states_diag` + * :c:data:`nthreads_davidson` + * :c:data:`psi_coef` + * :c:data:`psi_det` + * :c:data:`s2_eig` + * :c:data:`s2_matrix_all_dets` + * :c:data:`s_z` + * :c:data:`threshold_davidson` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`ci_energy` + + +.. c:var:: davidson_criterion + + + File : :file:`davidson/parameters.irp.f` + + .. code:: fortran + + character(64) :: davidson_criterion + + + Can be : [ energy | residual | both | wall_time | cpu_time | iterations ] + + + +.. c:var:: dressed_column_idx + + + File : :file:`davidson/diagonalization_hs2_dressed.irp.f` + + .. code:: fortran + + integer, allocatable :: dressed_column_idx (N_states) + + + Index of the dressed columns + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_det` + * :c:data:`n_states` + * :c:data:`psi_coef` + + + +.. c:var:: n_states_diag + + + File : :file:`davidson/input.irp.f` + + .. code:: fortran + + integer :: n_states_diag + + + Number of states to consider during the Davdison diagonalization + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ezfio_filename` + * :c:data:`mpi_master` + * :c:data:`n_states` + * :c:data:`output_wall_time_0` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`ci_electronic_energy` + * :c:data:`ci_energy` + * :c:data:`psi_energy` + + +.. c:var:: nthreads_davidson + + + File : :file:`davidson/davidson_parallel.irp.f` + + .. code:: fortran + + integer :: nthreads_davidson + + + Number of threads for Davidson + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mpi_master` + * :c:data:`nproc` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`ci_electronic_energy` + + +.. c:var:: psi_energy + + + File : :file:`davidson/u0_h_u0.irp.f` + + .. code:: fortran + + double precision, allocatable :: psi_energy (N_states) + double precision, allocatable :: psi_s2 (N_states) + + + psi_energy(i) = :math:`\langle \Psi_i | H | \Psi_i \rangle` + + psi_s2(i) = :math:`\langle \Psi_i | S^2 | \Psi_i \rangle` + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`distributed_davidson` + * :c:data:`n_det` + * :c:data:`n_int` + * :c:data:`n_states` + * :c:data:`n_states_diag` + * :c:data:`psi_coef` + * :c:data:`psi_det` + * :c:data:`psi_det_size` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`psi_energy_two_e` + * :c:data:`psi_energy_with_nucl_rep` + * :c:data:`pt2_e0_denominator` + + +.. c:var:: psi_energy_two_e + + + File : :file:`davidson/u0_wee_u0.irp.f` + + .. code:: fortran + + double precision, allocatable :: psi_energy_two_e (N_states) + + + Energy of the current wave function + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_det` + * :c:data:`n_int` + * :c:data:`n_states` + * :c:data:`psi_coef` + * :c:data:`psi_det` + * :c:data:`psi_det_size` + * :c:data:`psi_energy` + + + +.. c:var:: psi_energy_with_nucl_rep + + + File : :file:`davidson/u0_h_u0.irp.f` + + .. code:: fortran + + double precision, allocatable :: psi_energy_with_nucl_rep (N_states) + + + Energy of the wave function with the nuclear repulsion energy. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_states` + * :c:data:`nuclear_repulsion` + * :c:data:`psi_energy` + + + +.. c:var:: psi_s2 + + + File : :file:`davidson/u0_h_u0.irp.f` + + .. code:: fortran + + double precision, allocatable :: psi_energy (N_states) + double precision, allocatable :: psi_s2 (N_states) + + + psi_energy(i) = :math:`\langle \Psi_i | H | \Psi_i \rangle` + + psi_s2(i) = :math:`\langle \Psi_i | S^2 | \Psi_i \rangle` + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`distributed_davidson` + * :c:data:`n_det` + * :c:data:`n_int` + * :c:data:`n_states` + * :c:data:`n_states_diag` + * :c:data:`psi_coef` + * :c:data:`psi_det` + * :c:data:`psi_det_size` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`psi_energy_two_e` + * :c:data:`psi_energy_with_nucl_rep` + * :c:data:`pt2_e0_denominator` + + + +Subroutines / functions +----------------------- + +.. c:function:: davidson_collector: + + + File : :file:`davidson/davidson_parallel.irp.f` + + .. code:: fortran + + subroutine davidson_collector(zmq_to_qp_run_socket, zmq_socket_pull, v0, s0, sze, N_st) + + + Routine collecting the results of the workers in Davidson's algorithm. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_det` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`h_s2_u_0_nstates_zmq` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`davidson_pull_results` + + +.. c:function:: davidson_converged: + + + File : :file:`davidson/parameters.irp.f` + + .. code:: fortran + + subroutine davidson_converged(energy,residual,wall,iterations,cpu,N_st,converged) + + + True if the Davidson algorithm is converged + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`threshold_davidson` + * :c:data:`davidson_criterion` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`davidson_diag_hjj_sjj` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`cpu_time` + * :c:func:`wall_time` + + +.. c:function:: davidson_diag_hjj_sjj: + + + File : :file:`davidson/diagonalization_hs2_dressed.irp.f` + + .. code:: fortran + + subroutine davidson_diag_hjj_sjj(dets_in,u_in,H_jj,s2_out,energies,dim_in,sze,N_st,N_st_diag_in,Nint,dressing_state,converged) + + + Davidson diagonalization with specific diagonal elements of the H matrix + + H_jj : specific diagonal H matrix elements to diagonalize de Davidson + + S2_out : Output : s^2 + + dets_in : bitmasks corresponding to determinants + + u_in : guess coefficients on the various states. Overwritten + on exit + + dim_in : leftmost dimension of u_in + + sze : Number of determinants + + N_st : Number of eigenstates + + N_st_diag_in : Number of states in which H is diagonalized. Assumed > sze + + Initial guess vectors are not necessarily orthonormal + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`psi_bilinear_matrix_order_reverse` + * :c:data:`psi_bilinear_matrix_values` + * :c:data:`nthreads_davidson` + * :c:data:`psi_coef` + * :c:data:`dressed_column_idx` + * :c:data:`expected_s2` + * :c:data:`s_z` + * :c:data:`n_det` + * :c:data:`dressing_column_h` + * :c:data:`ezfio_work_dir` + * :c:data:`davidson_sze_max` + * :c:data:`state_following` + * :c:data:`psi_det_alpha_unique` + * :c:data:`nuclear_repulsion` + * :c:data:`nproc` + * :c:data:`qp_max_mem` + * :c:data:`disk_based_davidson` + * :c:data:`s2_eig` + * :c:data:`psi_det_beta_unique` + * :c:data:`only_expected_s2` + * :c:data:`distributed_davidson` + * :c:data:`n_states` + * :c:data:`n_int` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`davidson_diag_hs2` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`c_f_pointer` + * :c:func:`check_mem` + * :c:func:`cpu_time` + * :c:func:`davidson_converged` + * :c:func:`dgemm` + * :c:func:`dswap` + * :c:func:`h_s2_u_0_nstates_openmp` + * :c:func:`h_s2_u_0_nstates_zmq` + * :c:func:`lapack_diag` + * :c:func:`mmap` + * :c:func:`munmap` + * :c:func:`normalize` + * :c:func:`ortho_qr` + * :c:func:`random_number` + * :c:func:`resident_memory` + * :c:func:`sgemm` + * :c:func:`wall_time` + * :c:func:`write_double` + * :c:func:`write_int` + * :c:func:`write_time` + + Touches: + + .. hlist:: + :columns: 3 + + * :c:data:`n_states_diag` + * :c:data:`nthreads_davidson` + + +.. c:function:: davidson_diag_hs2: + + + File : :file:`davidson/diagonalization_hs2_dressed.irp.f` + + .. code:: fortran + + subroutine davidson_diag_hs2(dets_in,u_in,s2_out,dim_in,energies,sze,N_st,N_st_diag,Nint,dressing_state,converged) + + + Davidson diagonalization. + + dets_in : bitmasks corresponding to determinants + + u_in : guess coefficients on the various states. Overwritten + on exit + + dim_in : leftmost dimension of u_in + + sze : Number of determinants + + N_st : Number of eigenstates + + Initial guess vectors are not necessarily orthonormal + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`dressing_column_h` + * :c:data:`mo_two_e_integrals_in_map` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:data:`ci_electronic_energy` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`davidson_diag_hjj_sjj` + + Touches: + + .. hlist:: + :columns: 3 + + * :c:data:`n_states_diag` + * :c:data:`nthreads_davidson` + + +.. c:function:: davidson_pull_results: + + + File : :file:`davidson/davidson_parallel.irp.f` + + .. code:: fortran + + subroutine davidson_pull_results(zmq_socket_pull, v_t, s_t, imin, imax, task_id) + + + Pull the results of $H|U \rangle$ on the master. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_states_diag` + * :c:data:`n_det` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`davidson_collector` + + +.. c:function:: davidson_push_results: + + + File : :file:`davidson/davidson_parallel.irp.f` + + .. code:: fortran + + subroutine davidson_push_results(zmq_socket_push, v_t, s_t, imin, imax, task_id) + + + Push the results of $H|U \rangle$ from a worker to the master. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_states_diag` + * :c:data:`n_det` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`davidson_slave_work` + + +.. c:function:: davidson_run_slave: + + + File : :file:`davidson/davidson_parallel.irp.f` + + .. code:: fortran + + subroutine davidson_run_slave(thread,iproc) + + + Slave routine for Davidson's diagonalization. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_states_diag` + * :c:data:`n_det` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`davidson_slave_inproc` + * :c:func:`davidson_slave_tcp` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`davidson_slave_work` + * :c:func:`end_zmq_push_socket` + * :c:func:`end_zmq_to_qp_run_socket` + * :c:func:`sleep` + + +.. c:function:: davidson_slave_inproc: + + + File : :file:`davidson/davidson_parallel.irp.f` + + .. code:: fortran + + subroutine davidson_slave_inproc(i) + + + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`h_s2_u_0_nstates_zmq` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`davidson_run_slave` + + +.. c:function:: davidson_slave_tcp: + + + File : :file:`davidson/davidson_parallel.irp.f` + + .. code:: fortran + + subroutine davidson_slave_tcp(i) + + + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`run_slave_main` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`davidson_run_slave` + + +.. c:function:: davidson_slave_work: + + + File : :file:`davidson/davidson_parallel.irp.f` + + .. code:: fortran + + subroutine davidson_slave_work(zmq_to_qp_run_socket, zmq_socket_push, N_st, sze, worker_id) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`psi_det_beta_unique` + * :c:data:`psi_bilinear_matrix_order_transp_reverse` + * :c:data:`psi_det_alpha_unique` + * :c:data:`mpi_initialized` + * :c:data:`n_det` + * :c:data:`psi_bilinear_matrix_transp_values` + * :c:data:`psi_bilinear_matrix_values` + * :c:data:`nproc` + * :c:data:`ref_bitmask_energy` + * :c:data:`psi_bilinear_matrix_columns_loc` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`davidson_run_slave` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`davidson_push_results` + * :c:func:`h_s2_u_0_nstates_openmp_work` + * :c:func:`sleep` + + +.. c:function:: diagonalize_ci: + + + File : :file:`davidson/diagonalize_ci.irp.f` + + .. code:: fortran + + subroutine diagonalize_CI + + + Replace the coefficients of the |CI| states by the coefficients of the + eigenstates of the |CI| matrix. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`psi_coef` + * :c:data:`ci_electronic_energy` + * :c:data:`n_states` + * :c:data:`n_det` + * :c:data:`ci_electronic_energy` + * :c:data:`ci_energy` + * :c:data:`ci_electronic_energy` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`remove_small_contributions` + * :c:func:`run_cipsi` + * :c:func:`run_stochastic_cipsi` + + Touches: + + .. hlist:: + :columns: 3 + + * :c:data:`ci_electronic_energy` + * :c:data:`ci_electronic_energy` + * :c:data:`ci_energy` + * :c:data:`ci_electronic_energy` + * :c:data:`psi_coef` + + +.. c:function:: h_s2_u_0_nstates_openmp: + + + File : :file:`davidson/u0_h_u0.irp.f` + + .. code:: fortran + + subroutine H_S2_u_0_nstates_openmp(v_0,s_0,u_0,N_st,sze) + + + Computes $v_0 = H|u_0\rangle$ and $s_0 = S^2 |u_0\rangle$. + + Assumes that the determinants are in psi_det + + istart, iend, ishift, istep are used in ZMQ parallelization. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`psi_bilinear_matrix_order_reverse` + * :c:data:`psi_bilinear_matrix_values` + * :c:data:`n_det` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`davidson_diag_hjj_sjj` + * :c:func:`u_0_h_u_0` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`dset_order` + * :c:func:`dtranspose` + * :c:func:`h_s2_u_0_nstates_openmp_work` + + +.. c:function:: h_s2_u_0_nstates_openmp_work: + + + File : :file:`davidson/u0_h_u0.irp.f` + + .. code:: fortran + + subroutine H_S2_u_0_nstates_openmp_work(v_t,s_t,u_t,N_st,sze,istart,iend,ishift,istep) + + + Computes $v_t = H|u_t\rangle$ and $s_t = S^2 |u_t\rangle$ + + Default should be 1,N_det,0,1 + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ref_bitmask_energy` + * :c:data:`n_det` + * :c:data:`n_int` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`davidson_slave_work` + * :c:func:`h_s2_u_0_nstates_openmp` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`h_s2_u_0_nstates_openmp_work_1` + * :c:func:`h_s2_u_0_nstates_openmp_work_2` + * :c:func:`h_s2_u_0_nstates_openmp_work_3` + * :c:func:`h_s2_u_0_nstates_openmp_work_4` + * :c:func:`h_s2_u_0_nstates_openmp_work_n_int` + + +.. c:function:: h_s2_u_0_nstates_openmp_work_1: + + + File : :file:`davidson/u0_h_u0.irp.f_template_631` + + .. code:: fortran + + subroutine H_S2_u_0_nstates_openmp_work_1(v_t,s_t,u_t,N_st,sze,istart,iend,ishift,istep) + + + Computes $v_t = H|u_t angle$ and $s_t = S^2 |u_t angle$ + + Default should be 1,N_det,0,1 + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`psi_det_beta_unique` + * :c:data:`psi_bilinear_matrix_order_transp_reverse` + * :c:data:`psi_det_alpha_unique` + * :c:data:`psi_bilinear_matrix_transp_rows_loc` + * :c:data:`singles_beta_csc` + * :c:data:`n_det` + * :c:data:`psi_bilinear_matrix_transp_values` + * :c:data:`nthreads_davidson` + * :c:data:`psi_bilinear_matrix_values` + * :c:data:`n_int` + * :c:data:`singles_beta_csc_idx` + * :c:data:`psi_bilinear_matrix_columns_loc` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`h_s2_u_0_nstates_openmp_work` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`get_all_spin_singles_1` + * :c:func:`get_all_spin_singles_and_doubles_1` + * :c:func:`get_s2` + * :c:func:`i_h_j_double_alpha_beta` + * :c:func:`i_h_j_double_spin` + * :c:func:`i_h_j_mono_spin` + + +.. c:function:: h_s2_u_0_nstates_openmp_work_2: + + + File : :file:`davidson/u0_h_u0.irp.f_template_631` + + .. code:: fortran + + subroutine H_S2_u_0_nstates_openmp_work_2(v_t,s_t,u_t,N_st,sze,istart,iend,ishift,istep) + + + Computes $v_t = H|u_t angle$ and $s_t = S^2 |u_t angle$ + + Default should be 1,N_det,0,1 + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`psi_det_beta_unique` + * :c:data:`psi_bilinear_matrix_order_transp_reverse` + * :c:data:`psi_det_alpha_unique` + * :c:data:`psi_bilinear_matrix_transp_rows_loc` + * :c:data:`singles_beta_csc` + * :c:data:`n_det` + * :c:data:`psi_bilinear_matrix_transp_values` + * :c:data:`nthreads_davidson` + * :c:data:`psi_bilinear_matrix_values` + * :c:data:`n_int` + * :c:data:`singles_beta_csc_idx` + * :c:data:`psi_bilinear_matrix_columns_loc` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`h_s2_u_0_nstates_openmp_work` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`get_all_spin_singles_2` + * :c:func:`get_all_spin_singles_and_doubles_2` + * :c:func:`get_s2` + * :c:func:`i_h_j_double_alpha_beta` + * :c:func:`i_h_j_double_spin` + * :c:func:`i_h_j_mono_spin` + + +.. c:function:: h_s2_u_0_nstates_openmp_work_3: + + + File : :file:`davidson/u0_h_u0.irp.f_template_631` + + .. code:: fortran + + subroutine H_S2_u_0_nstates_openmp_work_3(v_t,s_t,u_t,N_st,sze,istart,iend,ishift,istep) + + + Computes $v_t = H|u_t angle$ and $s_t = S^2 |u_t angle$ + + Default should be 1,N_det,0,1 + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`psi_det_beta_unique` + * :c:data:`psi_bilinear_matrix_order_transp_reverse` + * :c:data:`psi_det_alpha_unique` + * :c:data:`psi_bilinear_matrix_transp_rows_loc` + * :c:data:`singles_beta_csc` + * :c:data:`n_det` + * :c:data:`psi_bilinear_matrix_transp_values` + * :c:data:`nthreads_davidson` + * :c:data:`psi_bilinear_matrix_values` + * :c:data:`n_int` + * :c:data:`singles_beta_csc_idx` + * :c:data:`psi_bilinear_matrix_columns_loc` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`h_s2_u_0_nstates_openmp_work` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`get_all_spin_singles_3` + * :c:func:`get_all_spin_singles_and_doubles_3` + * :c:func:`get_s2` + * :c:func:`i_h_j_double_alpha_beta` + * :c:func:`i_h_j_double_spin` + * :c:func:`i_h_j_mono_spin` + + +.. c:function:: h_s2_u_0_nstates_openmp_work_4: + + + File : :file:`davidson/u0_h_u0.irp.f_template_631` + + .. code:: fortran + + subroutine H_S2_u_0_nstates_openmp_work_4(v_t,s_t,u_t,N_st,sze,istart,iend,ishift,istep) + + + Computes $v_t = H|u_t angle$ and $s_t = S^2 |u_t angle$ + + Default should be 1,N_det,0,1 + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`psi_det_beta_unique` + * :c:data:`psi_bilinear_matrix_order_transp_reverse` + * :c:data:`psi_det_alpha_unique` + * :c:data:`psi_bilinear_matrix_transp_rows_loc` + * :c:data:`singles_beta_csc` + * :c:data:`n_det` + * :c:data:`psi_bilinear_matrix_transp_values` + * :c:data:`nthreads_davidson` + * :c:data:`psi_bilinear_matrix_values` + * :c:data:`n_int` + * :c:data:`singles_beta_csc_idx` + * :c:data:`psi_bilinear_matrix_columns_loc` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`h_s2_u_0_nstates_openmp_work` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`get_all_spin_singles_4` + * :c:func:`get_all_spin_singles_and_doubles_4` + * :c:func:`get_s2` + * :c:func:`i_h_j_double_alpha_beta` + * :c:func:`i_h_j_double_spin` + * :c:func:`i_h_j_mono_spin` + + +.. c:function:: h_s2_u_0_nstates_openmp_work_n_int: + + + File : :file:`davidson/u0_h_u0.irp.f_template_631` + + .. code:: fortran + + subroutine H_S2_u_0_nstates_openmp_work_N_int(v_t,s_t,u_t,N_st,sze,istart,iend,ishift,istep) + + + Computes $v_t = H|u_t angle$ and $s_t = S^2 |u_t angle$ + + Default should be 1,N_det,0,1 + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`psi_det_beta_unique` + * :c:data:`psi_bilinear_matrix_order_transp_reverse` + * :c:data:`psi_det_alpha_unique` + * :c:data:`psi_bilinear_matrix_transp_rows_loc` + * :c:data:`singles_beta_csc` + * :c:data:`n_det` + * :c:data:`psi_bilinear_matrix_transp_values` + * :c:data:`nthreads_davidson` + * :c:data:`psi_bilinear_matrix_values` + * :c:data:`n_int` + * :c:data:`singles_beta_csc_idx` + * :c:data:`psi_bilinear_matrix_columns_loc` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`h_s2_u_0_nstates_openmp_work` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`get_all_spin_singles_and_doubles_n_int` + * :c:func:`get_all_spin_singles_n_int` + * :c:func:`get_s2` + * :c:func:`i_h_j_double_alpha_beta` + * :c:func:`i_h_j_double_spin` + * :c:func:`i_h_j_mono_spin` + + +.. c:function:: h_s2_u_0_nstates_zmq: + + + File : :file:`davidson/davidson_parallel.irp.f` + + .. code:: fortran + + subroutine H_S2_u_0_nstates_zmq(v_0,s_0,u_0,N_st,sze) + + + Computes $v_0 = H|u_0\rangle$ and $s_0 = S^2 |u_0\rangle$ + + n : number of determinants + + H_jj : array of $\langle j|H|j \rangle$ + + S2_jj : array of $\langle j|S^2|j \rangle$ + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`psi_det_beta_unique` + * :c:data:`psi_bilinear_matrix_order_transp_reverse` + * :c:data:`psi_det_alpha_unique` + * :c:data:`psi_bilinear_matrix_order_reverse` + * :c:data:`mpi_initialized` + * :c:data:`n_det` + * :c:data:`psi_bilinear_matrix_transp_values` + * :c:data:`psi_bilinear_matrix_values` + * :c:data:`nproc` + * :c:data:`ref_bitmask_energy` + * :c:data:`n_states_diag` + * :c:data:`psi_bilinear_matrix_columns_loc` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`davidson_diag_hjj_sjj` + * :c:func:`u_0_h_u_0` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`davidson_collector` + * :c:func:`davidson_slave_inproc` + * :c:func:`dset_order` + * :c:func:`dtranspose` + * :c:func:`end_parallel_job` + * :c:func:`new_parallel_job` + * :c:func:`omp_set_nested` + + Touches: + + .. hlist:: + :columns: 3 + + * :c:data:`n_states_diag` + + +.. c:function:: h_s2_u_0_two_e_nstates_openmp: + + + File : :file:`davidson/u0_wee_u0.irp.f` + + .. code:: fortran + + subroutine H_S2_u_0_two_e_nstates_openmp(v_0,s_0,u_0,N_st,sze) + + + Computes $v_0 = H|u_0\rangle$ and $s_0 = S^2 |u_0\rangle$ + + Assumes that the determinants are in psi_det + + istart, iend, ishift, istep are used in ZMQ parallelization. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`psi_bilinear_matrix_order_reverse` + * :c:data:`psi_bilinear_matrix_values` + * :c:data:`n_det` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`u_0_h_u_0_two_e` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`dset_order` + * :c:func:`dtranspose` + * :c:func:`h_s2_u_0_two_e_nstates_openmp_work` + + +.. c:function:: h_s2_u_0_two_e_nstates_openmp_work: + + + File : :file:`davidson/u0_wee_u0.irp.f` + + .. code:: fortran + + subroutine H_S2_u_0_two_e_nstates_openmp_work(v_t,s_t,u_t,N_st,sze,istart,iend,ishift,istep) + + + Computes $v_t = H|u_t\rangle$ and $s_t = S^2 |u_t\rangle$ + + Default should be 1,N_det,0,1 + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ref_bitmask_energy` + * :c:data:`n_det` + * :c:data:`n_int` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`h_s2_u_0_two_e_nstates_openmp` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`h_s2_u_0_two_e_nstates_openmp_work_1` + * :c:func:`h_s2_u_0_two_e_nstates_openmp_work_2` + * :c:func:`h_s2_u_0_two_e_nstates_openmp_work_3` + * :c:func:`h_s2_u_0_two_e_nstates_openmp_work_4` + * :c:func:`h_s2_u_0_two_e_nstates_openmp_work_n_int` + + +.. c:function:: h_s2_u_0_two_e_nstates_openmp_work_1: + + + File : :file:`davidson/u0_wee_u0.irp.f_template_457` + + .. code:: fortran + + subroutine H_S2_u_0_two_e_nstates_openmp_work_1(v_t,s_t,u_t,N_st,sze,istart,iend,ishift,istep) + + + Computes $v_t = H|u_t angle$ and $s_t = S^2 |u_t angle$ + + Default should be 1,N_det,0,1 + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`psi_det_beta_unique` + * :c:data:`psi_bilinear_matrix_order_transp_reverse` + * :c:data:`psi_det_alpha_unique` + * :c:data:`psi_bilinear_matrix_transp_rows_loc` + * :c:data:`n_det` + * :c:data:`psi_bilinear_matrix_transp_values` + * :c:data:`nthreads_davidson` + * :c:data:`psi_bilinear_matrix_values` + * :c:data:`n_int` + * :c:data:`psi_bilinear_matrix_columns_loc` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`h_s2_u_0_two_e_nstates_openmp_work` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`get_all_spin_singles_1` + * :c:func:`get_all_spin_singles_and_doubles_1` + * :c:func:`get_s2` + * :c:func:`i_h_j_double_alpha_beta` + * :c:func:`i_h_j_double_spin` + * :c:func:`i_wee_j_mono` + + +.. c:function:: h_s2_u_0_two_e_nstates_openmp_work_2: + + + File : :file:`davidson/u0_wee_u0.irp.f_template_457` + + .. code:: fortran + + subroutine H_S2_u_0_two_e_nstates_openmp_work_2(v_t,s_t,u_t,N_st,sze,istart,iend,ishift,istep) + + + Computes $v_t = H|u_t angle$ and $s_t = S^2 |u_t angle$ + + Default should be 1,N_det,0,1 + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`psi_det_beta_unique` + * :c:data:`psi_bilinear_matrix_order_transp_reverse` + * :c:data:`psi_det_alpha_unique` + * :c:data:`psi_bilinear_matrix_transp_rows_loc` + * :c:data:`n_det` + * :c:data:`psi_bilinear_matrix_transp_values` + * :c:data:`nthreads_davidson` + * :c:data:`psi_bilinear_matrix_values` + * :c:data:`n_int` + * :c:data:`psi_bilinear_matrix_columns_loc` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`h_s2_u_0_two_e_nstates_openmp_work` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`get_all_spin_singles_2` + * :c:func:`get_all_spin_singles_and_doubles_2` + * :c:func:`get_s2` + * :c:func:`i_h_j_double_alpha_beta` + * :c:func:`i_h_j_double_spin` + * :c:func:`i_wee_j_mono` + + +.. c:function:: h_s2_u_0_two_e_nstates_openmp_work_3: + + + File : :file:`davidson/u0_wee_u0.irp.f_template_457` + + .. code:: fortran + + subroutine H_S2_u_0_two_e_nstates_openmp_work_3(v_t,s_t,u_t,N_st,sze,istart,iend,ishift,istep) + + + Computes $v_t = H|u_t angle$ and $s_t = S^2 |u_t angle$ + + Default should be 1,N_det,0,1 + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`psi_det_beta_unique` + * :c:data:`psi_bilinear_matrix_order_transp_reverse` + * :c:data:`psi_det_alpha_unique` + * :c:data:`psi_bilinear_matrix_transp_rows_loc` + * :c:data:`n_det` + * :c:data:`psi_bilinear_matrix_transp_values` + * :c:data:`nthreads_davidson` + * :c:data:`psi_bilinear_matrix_values` + * :c:data:`n_int` + * :c:data:`psi_bilinear_matrix_columns_loc` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`h_s2_u_0_two_e_nstates_openmp_work` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`get_all_spin_singles_3` + * :c:func:`get_all_spin_singles_and_doubles_3` + * :c:func:`get_s2` + * :c:func:`i_h_j_double_alpha_beta` + * :c:func:`i_h_j_double_spin` + * :c:func:`i_wee_j_mono` + + +.. c:function:: h_s2_u_0_two_e_nstates_openmp_work_4: + + + File : :file:`davidson/u0_wee_u0.irp.f_template_457` + + .. code:: fortran + + subroutine H_S2_u_0_two_e_nstates_openmp_work_4(v_t,s_t,u_t,N_st,sze,istart,iend,ishift,istep) + + + Computes $v_t = H|u_t angle$ and $s_t = S^2 |u_t angle$ + + Default should be 1,N_det,0,1 + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`psi_det_beta_unique` + * :c:data:`psi_bilinear_matrix_order_transp_reverse` + * :c:data:`psi_det_alpha_unique` + * :c:data:`psi_bilinear_matrix_transp_rows_loc` + * :c:data:`n_det` + * :c:data:`psi_bilinear_matrix_transp_values` + * :c:data:`nthreads_davidson` + * :c:data:`psi_bilinear_matrix_values` + * :c:data:`n_int` + * :c:data:`psi_bilinear_matrix_columns_loc` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`h_s2_u_0_two_e_nstates_openmp_work` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`get_all_spin_singles_4` + * :c:func:`get_all_spin_singles_and_doubles_4` + * :c:func:`get_s2` + * :c:func:`i_h_j_double_alpha_beta` + * :c:func:`i_h_j_double_spin` + * :c:func:`i_wee_j_mono` + + +.. c:function:: h_s2_u_0_two_e_nstates_openmp_work_n_int: + + + File : :file:`davidson/u0_wee_u0.irp.f_template_457` + + .. code:: fortran + + subroutine H_S2_u_0_two_e_nstates_openmp_work_N_int(v_t,s_t,u_t,N_st,sze,istart,iend,ishift,istep) + + + Computes $v_t = H|u_t angle$ and $s_t = S^2 |u_t angle$ + + Default should be 1,N_det,0,1 + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`psi_det_beta_unique` + * :c:data:`psi_bilinear_matrix_order_transp_reverse` + * :c:data:`psi_det_alpha_unique` + * :c:data:`psi_bilinear_matrix_transp_rows_loc` + * :c:data:`n_det` + * :c:data:`psi_bilinear_matrix_transp_values` + * :c:data:`nthreads_davidson` + * :c:data:`psi_bilinear_matrix_values` + * :c:data:`n_int` + * :c:data:`psi_bilinear_matrix_columns_loc` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`h_s2_u_0_two_e_nstates_openmp_work` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`get_all_spin_singles_and_doubles_n_int` + * :c:func:`get_all_spin_singles_n_int` + * :c:func:`get_s2` + * :c:func:`i_h_j_double_alpha_beta` + * :c:func:`i_h_j_double_spin` + * :c:func:`i_wee_j_mono` + + +.. c:function:: u_0_h_u_0: + + + File : :file:`davidson/u0_h_u0.irp.f` + + .. code:: fortran + + subroutine u_0_H_u_0(e_0,s_0,u_0,n,keys_tmp,Nint,N_st,sze) + + + Computes $E_0 = \frac{\langle u_0|H|u_0 \rangle}{\langle u_0|u_0 \rangle}$ + + and $S_0 = \frac{\langle u_0|S^2|u_0 \rangle}{\langle u_0|u_0 \rangle}$ + + n : number of determinants + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_states_diag` + * :c:data:`n_states` + * :c:data:`distributed_davidson` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:data:`psi_energy` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`h_s2_u_0_nstates_openmp` + * :c:func:`h_s2_u_0_nstates_zmq` + + Touches: + + .. hlist:: + :columns: 3 + + * :c:data:`n_states_diag` + + +.. c:function:: u_0_h_u_0_two_e: + + + File : :file:`davidson/u0_wee_u0.irp.f` + + .. code:: fortran + + subroutine u_0_H_u_0_two_e(e_0,u_0,n,keys_tmp,Nint,N_st,sze) + + + Computes $E_0 = \frac{ \langle u_0|H|u_0\rangle}{\langle u_0|u_0 \rangle}$. + + n : number of determinants + + + Called by: + + .. hlist:: + :columns: 3 + + * :c:data:`psi_energy_two_e` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`h_s2_u_0_two_e_nstates_openmp` + + +.. c:function:: zmq_get_n_states_diag: + + + File : :file:`davidson/davidson_parallel.irp.f` + + .. code:: fortran + + integer function zmq_get_N_states_diag(zmq_to_qp_run_socket, worker_id) + + + Get N_states_diag from the qp_run scheduler + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_states_diag` + * :c:data:`zmq_state` + * :c:data:`mpi_master` + + Touches: + + .. hlist:: + :columns: 3 + + * :c:data:`n_states_diag` + + +.. c:function:: zmq_put_n_states_diag: + + + File : :file:`davidson/davidson_parallel.irp.f` + + .. code:: fortran + + integer function zmq_put_N_states_diag(zmq_to_qp_run_socket,worker_id) + + + Put N_states_diag on the qp_run scheduler + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_states_diag` + * :c:data:`zmq_state` + diff --git a/doc/_sources/modules/davidson_dressed.rst.txt b/doc/_sources/modules/davidson_dressed.rst.txt new file mode 100644 index 00000000..38d8fc1e --- /dev/null +++ b/doc/_sources/modules/davidson_dressed.rst.txt @@ -0,0 +1,13 @@ +.. _module_davidson_dressed: + +.. program:: davidson_dressed + +.. default-role:: option + +================ +davidson_dressed +================ + +Davidson with single-column dressing. + + diff --git a/doc/_sources/modules/davidson_undressed.rst.txt b/doc/_sources/modules/davidson_undressed.rst.txt new file mode 100644 index 00000000..326f48d9 --- /dev/null +++ b/doc/_sources/modules/davidson_undressed.rst.txt @@ -0,0 +1,75 @@ +.. _module_davidson_undressed: + +.. program:: davidson_undressed + +.. default-role:: option + +================== +davidson_undressed +================== + +Module for main files Davidson's algorithm with no dressing. + + + + +Providers +--------- + +.. c:var:: dressing_column_h + + + File : :file:`davidson_undressed/null_dressing_vector.irp.f` + + .. code:: fortran + + double precision, allocatable :: dressing_column_h (N_det,N_states) + double precision, allocatable :: dressing_column_s (N_det,N_states) + + + Null dressing vectors + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_det` + * :c:data:`n_states` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`ci_electronic_energy` + + +.. c:var:: dressing_column_s + + + File : :file:`davidson_undressed/null_dressing_vector.irp.f` + + .. code:: fortran + + double precision, allocatable :: dressing_column_h (N_det,N_states) + double precision, allocatable :: dressing_column_s (N_det,N_states) + + + Null dressing vectors + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_det` + * :c:data:`n_states` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`ci_electronic_energy` + diff --git a/doc/_sources/modules/density_for_dft.rst.txt b/doc/_sources/modules/density_for_dft.rst.txt new file mode 100644 index 00000000..28708f69 --- /dev/null +++ b/doc/_sources/modules/density_for_dft.rst.txt @@ -0,0 +1,306 @@ +.. _module_density_for_dft: + +.. program:: density_for_dft + +.. default-role:: option + +=============== +density_for_dft +=============== + + +This module defines the *provider* of the density used for the DFT related calculations. +This definition is done through the keyword :option:`density_for_dft density_for_dft`. +The density can be: + +* WFT : the density is computed with a potentially multi determinant wave function (see variables `psi_det` and `psi_det`)# input_density : the density is set to a density previously stored in the |EZFIO| folder (see ``aux_quantities``) +* damping_rs_dft : the density is damped between the input_density and the WFT density, with a damping factor of :option:`density_for_dft damping_for_rs_dft` + + + + +EZFIO parameters +---------------- + +.. option:: density_for_dft + + Type of density used for DFT calculation. If set to WFT , it uses the density of the wave function stored in (psi_det,psi_coef). If set to input_density it uses the one-body dm stored in aux_quantities/ . If set to damping_rs_dft it uses the damped density between WFT and input_density. In the ks_scf and rs_ks_scf programs, it is set to WFT. + + Default: WFT + +.. option:: damping_for_rs_dft + + damping factor for the density used in RSFT. + + Default: 0.5 + + +Providers +--------- + +.. c:var:: one_body_dm_mo_alpha_one_det + + + File : :file:`density_for_dft/density_for_dft.irp.f` + + .. code:: fortran + + double precision, allocatable :: one_body_dm_mo_alpha_one_det (mo_num,mo_num,N_states) + double precision, allocatable :: one_body_dm_mo_beta_one_det (mo_num,mo_num,N_states) + + + One body density matrix on the |MO| basis for a single determinant + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`elec_alpha_num` + * :c:data:`elec_beta_num` + * :c:data:`mo_num` + * :c:data:`n_states` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`one_e_dm_mo_alpha_for_dft` + * :c:data:`one_e_dm_mo_beta_for_dft` + + +.. c:var:: one_body_dm_mo_beta_one_det + + + File : :file:`density_for_dft/density_for_dft.irp.f` + + .. code:: fortran + + double precision, allocatable :: one_body_dm_mo_alpha_one_det (mo_num,mo_num,N_states) + double precision, allocatable :: one_body_dm_mo_beta_one_det (mo_num,mo_num,N_states) + + + One body density matrix on the |MO| basis for a single determinant + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`elec_alpha_num` + * :c:data:`elec_beta_num` + * :c:data:`mo_num` + * :c:data:`n_states` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`one_e_dm_mo_alpha_for_dft` + * :c:data:`one_e_dm_mo_beta_for_dft` + + +.. c:var:: one_e_dm_alpha_ao_for_dft + + + File : :file:`density_for_dft/density_for_dft.irp.f` + + .. code:: fortran + + double precision, allocatable :: one_e_dm_alpha_ao_for_dft (ao_num,ao_num,N_states) + double precision, allocatable :: one_e_dm_beta_ao_for_dft (ao_num,ao_num,N_states) + + + one body density matrix on the AO basis based on one_e_dm_mo_alpha_for_dft + + 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` + * :c:data:`one_e_dm_mo_beta_for_dft` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`one_e_dm_alpha_at_r` + * :c:data:`one_e_dm_alpha_in_r` + * :c:data:`one_e_dm_and_grad_alpha_in_r` + + +.. c:var:: one_e_dm_average_mo_for_dft + + + File : :file:`density_for_dft/density_for_dft.irp.f` + + .. code:: fortran + + double precision, allocatable :: one_e_dm_average_mo_for_dft (mo_num,mo_num) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_num` + * :c:data:`n_states` + * :c:data:`one_e_dm_mo_for_dft` + * :c:data:`state_average_weight` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`short_range_hartree_operator` + + +.. c:var:: one_e_dm_beta_ao_for_dft + + + File : :file:`density_for_dft/density_for_dft.irp.f` + + .. code:: fortran + + double precision, allocatable :: one_e_dm_alpha_ao_for_dft (ao_num,ao_num,N_states) + double precision, allocatable :: one_e_dm_beta_ao_for_dft (ao_num,ao_num,N_states) + + + one body density matrix on the AO basis based on one_e_dm_mo_alpha_for_dft + + 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` + * :c:data:`one_e_dm_mo_beta_for_dft` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`one_e_dm_alpha_at_r` + * :c:data:`one_e_dm_alpha_in_r` + * :c:data:`one_e_dm_and_grad_alpha_in_r` + + +.. c:var:: one_e_dm_mo_alpha_for_dft + + + File : :file:`density_for_dft/density_for_dft.irp.f` + + .. code:: fortran + + double precision, allocatable :: one_e_dm_mo_alpha_for_dft (mo_num,mo_num,N_states) + + + density matrix for alpha electrons in the MO basis used for all DFT calculations based on the density + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`damping_for_rs_dft` + * :c:data:`data_one_e_dm_alpha_mo` + * :c:data:`density_for_dft` + * :c:data:`mo_coef` + * :c:data:`mo_num` + * :c:data:`n_states` + * :c:data:`one_body_dm_mo_alpha_one_det` + * :c:data:`one_e_dm_mo_alpha` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`one_e_dm_alpha_ao_for_dft` + * :c:data:`one_e_dm_mo_for_dft` + * :c:data:`psi_dft_energy_kinetic` + * :c:data:`trace_v_xc` + + +.. c:var:: one_e_dm_mo_beta_for_dft + + + File : :file:`density_for_dft/density_for_dft.irp.f` + + .. code:: fortran + + double precision, allocatable :: one_e_dm_mo_beta_for_dft (mo_num,mo_num,N_states) + + + density matrix for beta electrons in the MO basis used for all DFT calculations based on the density + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`damping_for_rs_dft` + * :c:data:`data_one_e_dm_beta_mo` + * :c:data:`density_for_dft` + * :c:data:`mo_coef` + * :c:data:`mo_num` + * :c:data:`n_states` + * :c:data:`one_body_dm_mo_alpha_one_det` + * :c:data:`one_e_dm_mo_alpha` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`one_e_dm_alpha_ao_for_dft` + * :c:data:`one_e_dm_mo_for_dft` + * :c:data:`psi_dft_energy_kinetic` + * :c:data:`trace_v_xc` + + +.. c:var:: one_e_dm_mo_for_dft + + + File : :file:`density_for_dft/density_for_dft.irp.f` + + .. code:: fortran + + double precision, allocatable :: one_e_dm_mo_for_dft (mo_num,mo_num,N_states) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_num` + * :c:data:`n_states` + * :c:data:`one_e_dm_mo_alpha_for_dft` + * :c:data:`one_e_dm_mo_beta_for_dft` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`one_e_dm_average_mo_for_dft` + * :c:data:`short_range_hartree_operator` + diff --git a/doc/_sources/modules/determinants.rst.txt b/doc/_sources/modules/determinants.rst.txt new file mode 100644 index 00000000..e6f1ddd7 --- /dev/null +++ b/doc/_sources/modules/determinants.rst.txt @@ -0,0 +1,7922 @@ +.. _module_determinants: + +.. program:: determinants + +.. default-role:: option + +============ +determinants +============ + +Contains everything for the computation of the Hamiltonian matrix elements in the basis of orthogonal Slater determinants built on a restricted spin-orbitals basis. + +The main providers for this module are: + +* :option:`determinants n_states`: number of states to be computed +* `psi_det`: list of determinants in the wave function used in many routines/providers of the |QP|. +* `psi_coef`: list of coefficients, for all :option:`determinants n_states` states, and all determinants. + +The main routines for this module are: + +* `i_H_j`: computes the Hamiltonian matrix element between two arbitrary Slater determinants. +* `i_H_j_s2`: computes the Hamiltonian and (:math:`S^2`) matrix element between two arbitrary Slater determinants. +* `i_H_j_verbose`: returns the decomposition in terms of one- and two-body components of the Hamiltonian matrix elements between two arbitrary Slater determinants. Also return the fermionic phase factor. +* `i_H_psi`: computes the Hamiltonian matrix element between an arbitrary Slater determinant and a wave function composed of a sum of arbitrary Slater determinants. + + +For an example of how to use these routines and providers, take a look at :file:`example.irp.f`. + + + +EZFIO parameters +---------------- + +.. option:: n_det_max + + Maximum number of determinants in the wave function + + Default: 1000000 + +.. option:: n_det_print_wf + + Maximum number of determinants to be printed with the program print_wf + + Default: 10000 + +.. option:: n_det_max_full + + Maximum number of determinants where |H| is fully diagonalized + + Default: 1000 + +.. option:: n_states + + Number of states to consider + + Default: 1 + +.. option:: read_wf + + If |true|, read the wave function from the |EZFIO| file + + Default: False + +.. option:: s2_eig + + Force the wave function to be an eigenfunction of |S^2| + + Default: True + +.. option:: used_weight + + Weight used in the calculation of the one-electron density matrix. 0: 1./(c_0^2), 1: 1/N_states, 2: input state-average weight, 3: 1/(Norm_L3(Psi)) + + Default: 1 + +.. option:: threshold_generators + + Thresholds on generators (fraction of the square of the norm) + + Default: 0.99 + +.. option:: n_int + + Number of integers required to represent bitstrings (set in module :ref:`bitmask`) + + +.. option:: bit_kind + + (set in module :ref:`bitmask`) + + +.. option:: mo_label + + Label of the |MOs| on which the determinants are expressed + + +.. option:: n_det + + Number of determinants in the current wave function + + +.. option:: psi_coef + + Coefficients of the wave function + + +.. option:: psi_det + + Determinants of the variational space + + +.. option:: expected_s2 + + Expected value of |S^2| + + +.. option:: target_energy + + Energy that should be obtained when truncating the wave function (optional) + + Default: 0. + +.. option:: state_average_weight + + Weight of the states in state-average calculations. + + + +Providers +--------- + +.. c:var:: abs_psi_coef_max + + + File : :file:`determinants/determinants.irp.f` + + .. code:: fortran + + double precision, allocatable :: psi_coef_max (N_states) + double precision, allocatable :: psi_coef_min (N_states) + double precision, allocatable :: abs_psi_coef_max (N_states) + double precision, allocatable :: abs_psi_coef_min (N_states) + + + Max and min values of the coefficients + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mpi_master` + * :c:data:`n_states` + * :c:data:`psi_coef` + + + +.. c:var:: abs_psi_coef_min + + + File : :file:`determinants/determinants.irp.f` + + .. code:: fortran + + double precision, allocatable :: psi_coef_max (N_states) + double precision, allocatable :: psi_coef_min (N_states) + double precision, allocatable :: abs_psi_coef_max (N_states) + double precision, allocatable :: abs_psi_coef_min (N_states) + + + Max and min values of the coefficients + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mpi_master` + * :c:data:`n_states` + * :c:data:`psi_coef` + + + +.. c:var:: barycentric_electronic_energy + + + File : :file:`determinants/energy.irp.f` + + .. code:: fortran + + double precision, allocatable :: barycentric_electronic_energy (N_states) + + + :math:`E_n = \sum_i {c_i^{(n)}}^2 H_{ii}` + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`diagonal_h_matrix_on_psi_det` + * :c:data:`n_det` + * :c:data:`n_states` + * :c:data:`psi_coef` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`pt2_e0_denominator` + + +.. c:var:: c0_weight + + + File : :file:`determinants/density_matrix.irp.f` + + .. code:: fortran + + double precision, allocatable :: c0_weight (N_states) + + + Weight of the states in the selection : :math:`\frac{1}{c_0^2}` . + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_states` + * :c:data:`psi_coef` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`selection_weight` + * :c:data:`state_average_weight` + + +.. c:var:: det_alpha_norm + + + File : :file:`determinants/spindeterminants.irp.f` + + .. code:: fortran + + double precision, allocatable :: det_alpha_norm (N_det_alpha_unique) + double precision, allocatable :: det_beta_norm (N_det_beta_unique) + + + Norm of the :math:`\alpha` and :math:`\beta` spin determinants in the wave function: + + :math:`||D_\alpha||_i = \sum_j C_{ij}^2` + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_det` + * :c:data:`n_states` + * :c:data:`psi_bilinear_matrix_values` + * :c:data:`psi_det_alpha_unique` + * :c:data:`psi_det_beta_unique` + * :c:data:`state_average_weight` + + + +.. c:var:: det_beta_norm + + + File : :file:`determinants/spindeterminants.irp.f` + + .. code:: fortran + + double precision, allocatable :: det_alpha_norm (N_det_alpha_unique) + double precision, allocatable :: det_beta_norm (N_det_beta_unique) + + + Norm of the :math:`\alpha` and :math:`\beta` spin determinants in the wave function: + + :math:`||D_\alpha||_i = \sum_j C_{ij}^2` + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_det` + * :c:data:`n_states` + * :c:data:`psi_bilinear_matrix_values` + * :c:data:`psi_det_alpha_unique` + * :c:data:`psi_det_beta_unique` + * :c:data:`state_average_weight` + + + +.. c:var:: det_to_occ_pattern + + + File : :file:`determinants/occ_pattern.irp.f` + + .. code:: fortran + + integer, allocatable :: det_to_occ_pattern (N_det) + + + Returns the index of the occupation pattern for each determinant + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`elec_alpha_num` + * :c:data:`n_det` + * :c:data:`n_int` + * :c:data:`psi_det` + * :c:data:`psi_occ_pattern` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`psi_occ_pattern_hii` + * :c:data:`weight_occ_pattern` + + +.. c:var:: diag_algorithm + + + File : :file:`determinants/determinants.irp.f` + + .. code:: fortran + + character*(64) :: diag_algorithm + + + Diagonalization algorithm (Davidson or Lapack) + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_det` + * :c:data:`n_det_max_full` + * :c:data:`n_states` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`ci_electronic_energy` + + +.. c:var:: diagonal_h_matrix_on_psi_det + + + File : :file:`determinants/energy.irp.f` + + .. code:: fortran + + double precision, allocatable :: diagonal_h_matrix_on_psi_det (N_det) + + + Diagonal of the Hamiltonian ordered as psi_det + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`elec_num` + * :c:data:`n_det` + * :c:data:`n_int` + * :c:data:`psi_det` + * :c:data:`ref_bitmask` + * :c:data:`ref_bitmask_energy` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`barycentric_electronic_energy` + + +.. c:var:: double_exc_bitmask + + + File : :file:`determinants/determinants_bitmasks.irp.f` + + .. code:: fortran + + integer(bit_kind), allocatable :: double_exc_bitmask (N_int,4,N_double_exc_bitmasks) + + + double_exc_bitmask(:,1,i) is the bitmask for holes of excitation 1 + + double_exc_bitmask(:,2,i) is the bitmask for particles of excitation 1 + + double_exc_bitmask(:,3,i) is the bitmask for holes of excitation 2 + + double_exc_bitmask(:,4,i) is the bitmask for particles of excitation 2 + + for a given couple of hole/particle excitations i. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`hf_bitmask` + * :c:data:`n_double_exc_bitmasks` + * :c:data:`n_int` + + + +.. c:var:: expected_s2 + + + File : :file:`determinants/s2.irp.f` + + .. code:: fortran + + double precision :: expected_s2 + + + Expected value of |S^2| : S*(S+1) + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`elec_alpha_num` + * :c:data:`elec_beta_num` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`ci_electronic_energy` + + +.. c:var:: fock_operator_closed_shell_ref_bitmask + + + File : :file:`determinants/single_excitations.irp.f` + + .. code:: fortran + + double precision, allocatable :: fock_operator_closed_shell_ref_bitmask (mo_num,mo_num) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`full_ijkl_bitmask` + * :c:data:`mo_integrals_map` + * :c:data:`mo_num` + * :c:data:`mo_one_e_integrals` + * :c:data:`mo_two_e_integrals_in_map` + * :c:data:`n_int` + * :c:data:`ref_closed_shell_bitmask` + + + +.. c:var:: fock_wee_closed_shell + + + File : :file:`determinants/mono_excitations_bielec.irp.f` + + .. code:: fortran + + double precision, allocatable :: fock_wee_closed_shell (mo_num,mo_num) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`full_ijkl_bitmask` + * :c:data:`mo_integrals_map` + * :c:data:`mo_num` + * :c:data:`mo_two_e_integrals_in_map` + * :c:data:`n_int` + * :c:data:`ref_closed_shell_bitmask` + + + +.. c:var:: h_apply_buffer_allocated + + + File : :file:`determinants/h_apply.irp.f` + + .. code:: fortran + + logical :: h_apply_buffer_allocated + integer(omp_lock_kind), allocatable :: h_apply_buffer_lock (64,0:nproc-1) + + + Buffer of determinants/coefficients/perturbative energy for H_apply. + Uninitialized. Filled by H_apply subroutines. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_det` + * :c:data:`n_int` + * :c:data:`n_states` + * :c:data:`nproc` + + + +.. c:var:: h_apply_buffer_lock + + + File : :file:`determinants/h_apply.irp.f` + + .. code:: fortran + + logical :: h_apply_buffer_allocated + integer(omp_lock_kind), allocatable :: h_apply_buffer_lock (64,0:nproc-1) + + + Buffer of determinants/coefficients/perturbative energy for H_apply. + Uninitialized. Filled by H_apply subroutines. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_det` + * :c:data:`n_int` + * :c:data:`n_states` + * :c:data:`nproc` + + + +.. c:var:: h_matrix_all_dets + + + File : :file:`determinants/utils.irp.f` + + .. code:: fortran + + double precision, allocatable :: h_matrix_all_dets (N_det,N_det) + + + |H| matrix on the basis of the Slater determinants defined by psi_det + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`big_array_coulomb_integrals` + * :c:data:`big_array_coulomb_integrals` + * :c:data:`mo_integrals_map` + * :c:data:`mo_two_e_integrals_in_map` + * :c:data:`n_det` + * :c:data:`n_int` + * :c:data:`psi_det` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`ci_electronic_energy` + + +.. c:var:: h_matrix_cas + + + File : :file:`determinants/psi_cas.irp.f` + + .. code:: fortran + + double precision, allocatable :: h_matrix_cas (N_det_cas,N_det_cas) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`big_array_coulomb_integrals` + * :c:data:`big_array_coulomb_integrals` + * :c:data:`mo_integrals_map` + * :c:data:`mo_two_e_integrals_in_map` + * :c:data:`n_int` + * :c:data:`psi_cas` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`psi_cas_energy` + * :c:data:`psi_coef_cas_diagonalized` + + +.. c:var:: idx_cas + + + File : :file:`determinants/psi_cas.irp.f` + + .. code:: fortran + + integer(bit_kind), allocatable :: psi_cas (N_int,2,psi_det_size) + double precision, allocatable :: psi_cas_coef (psi_det_size,n_states) + integer, allocatable :: idx_cas (psi_det_size) + integer :: n_det_cas + + + |CAS| wave function, defined from the application of the |CAS| bitmask on the + determinants. idx_cas gives the indice of the |CAS| determinant in psi_det. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`cas_bitmask` + * :c:data:`hf_bitmask` + * :c:data:`mpi_master` + * :c:data:`n_cas_bitmask` + * :c:data:`n_det` + * :c:data:`n_int` + * :c:data:`n_states` + * :c:data:`psi_coef` + * :c:data:`psi_det` + * :c:data:`psi_det_size` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`h_matrix_cas` + * :c:data:`psi_cas_energy` + * :c:data:`psi_cas_sorted_bit` + * :c:data:`psi_coef_cas_diagonalized` + * :c:data:`psi_non_cas` + * :c:data:`psi_non_cas_sorted_bit` + + +.. c:var:: idx_non_cas + + + File : :file:`determinants/psi_cas.irp.f` + + .. code:: fortran + + integer(bit_kind), allocatable :: psi_non_cas (N_int,2,psi_det_size) + double precision, allocatable :: psi_non_cas_coef (psi_det_size,n_states) + integer, allocatable :: idx_non_cas (psi_det_size) + integer :: n_det_non_cas + + + Set of determinants which are not part of the |CAS|, defined from the application + of the |CAS| bitmask on the determinants. + idx_non_cas gives the indice of the determinant in psi_det. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_det` + * :c:data:`n_int` + * :c:data:`n_states` + * :c:data:`psi_cas` + * :c:data:`psi_coef` + * :c:data:`psi_det` + * :c:data:`psi_det_size` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`psi_non_cas_sorted_bit` + + +.. c:var:: max_degree_exc + + + File : :file:`determinants/determinants.irp.f` + + .. code:: fortran + + integer :: max_degree_exc + + + Maximum degree of excitation in the wave function with respect to the Hartree-Fock + determinant. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`hf_bitmask` + * :c:data:`n_det` + * :c:data:`n_int` + * :c:data:`psi_det` + + + +.. c:var:: n_det + + + File : :file:`determinants/determinants.irp.f` + + .. code:: fortran + + integer :: n_det + + + Number of determinants in the wave function + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ezfio_filename` + * :c:data:`mo_label` + * :c:data:`mpi_master` + * :c:data:`nproc` + * :c:data:`read_wf` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`barycentric_electronic_energy` + * :c:data:`ci_electronic_energy` + * :c:data:`ci_energy` + * :c:data:`det_alpha_norm` + * :c:data:`det_to_occ_pattern` + * :c:data:`diag_algorithm` + * :c:data:`diagonal_h_matrix_on_psi_det` + * :c:data:`dressed_column_idx` + * :c:data:`dressing_column_h` + * :c:data:`extrapolated_energy` + * :c:data:`h_apply_buffer_allocated` + * :c:data:`h_matrix_all_dets` + * :c:data:`max_degree_exc` + * :c:data:`n_det_generators` + * :c:data:`n_det_selectors` + * :c:data:`one_e_dm_mo_alpha` + * :c:data:`psi_average_norm_contrib` + * :c:data:`psi_bilinear_matrix` + * :c:data:`psi_bilinear_matrix_columns_loc` + * :c:data:`psi_bilinear_matrix_order_reverse` + * :c:data:`psi_bilinear_matrix_order_transp_reverse` + * :c:data:`psi_bilinear_matrix_transp_rows_loc` + * :c:data:`psi_bilinear_matrix_transp_values` + * :c:data:`psi_bilinear_matrix_values` + * :c:data:`psi_cas` + * :c:data:`psi_coef` + * :c:data:`psi_det` + * :c:data:`psi_det_alpha` + * :c:data:`psi_det_alpha_unique` + * :c:data:`psi_det_beta` + * :c:data:`psi_det_beta_unique` + * :c:data:`psi_det_generators` + * :c:data:`psi_det_hii` + * :c:data:`psi_det_sorted` + * :c:data:`psi_det_sorted_bit` + * :c:data:`psi_energy` + * :c:data:`psi_energy_two_e` + * :c:data:`psi_non_cas` + * :c:data:`psi_occ_pattern` + * :c:data:`psi_occ_pattern_hii` + * :c:data:`s2_matrix_all_dets` + * :c:data:`s2_values` + * :c:data:`weight_occ_pattern` + + +.. c:var:: n_det_alpha_unique + + + File : :file:`determinants/spindeterminants.irp.f_template_144` + + .. code:: fortran + + integer(bit_kind), allocatable :: psi_det_alpha_unique (N_int,psi_det_size) + integer :: n_det_alpha_unique + + + Unique :math:`\alpha` determinants + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mpi_master` + * :c:data:`n_det` + * :c:data:`n_int` + * :c:data:`psi_det_alpha` + * :c:data:`psi_det_size` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`det_alpha_norm` + * :c:data:`one_e_dm_mo_alpha` + * :c:data:`psi_bilinear_matrix` + * :c:data:`psi_bilinear_matrix_transp_rows_loc` + * :c:data:`psi_bilinear_matrix_values` + * :c:data:`singles_alpha_csc` + * :c:data:`singles_alpha_csc_idx` + + +.. c:var:: n_det_beta_unique + + + File : :file:`determinants/spindeterminants.irp.f_template_144` + + .. code:: fortran + + integer(bit_kind), allocatable :: psi_det_beta_unique (N_int,psi_det_size) + integer :: n_det_beta_unique + + + Unique :math:`\beta` determinants + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mpi_master` + * :c:data:`n_det` + * :c:data:`n_int` + * :c:data:`psi_det_beta` + * :c:data:`psi_det_size` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`det_alpha_norm` + * :c:data:`one_e_dm_mo_alpha` + * :c:data:`psi_bilinear_matrix` + * :c:data:`psi_bilinear_matrix_columns_loc` + * :c:data:`psi_bilinear_matrix_transp_values` + * :c:data:`psi_bilinear_matrix_values` + * :c:data:`singles_beta_csc` + * :c:data:`singles_beta_csc_idx` + + +.. c:var:: n_det_cas + + + File : :file:`determinants/psi_cas.irp.f` + + .. code:: fortran + + integer(bit_kind), allocatable :: psi_cas (N_int,2,psi_det_size) + double precision, allocatable :: psi_cas_coef (psi_det_size,n_states) + integer, allocatable :: idx_cas (psi_det_size) + integer :: n_det_cas + + + |CAS| wave function, defined from the application of the |CAS| bitmask on the + determinants. idx_cas gives the indice of the |CAS| determinant in psi_det. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`cas_bitmask` + * :c:data:`hf_bitmask` + * :c:data:`mpi_master` + * :c:data:`n_cas_bitmask` + * :c:data:`n_det` + * :c:data:`n_int` + * :c:data:`n_states` + * :c:data:`psi_coef` + * :c:data:`psi_det` + * :c:data:`psi_det_size` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`h_matrix_cas` + * :c:data:`psi_cas_energy` + * :c:data:`psi_cas_sorted_bit` + * :c:data:`psi_coef_cas_diagonalized` + * :c:data:`psi_non_cas` + * :c:data:`psi_non_cas_sorted_bit` + + +.. c:var:: n_det_non_cas + + + File : :file:`determinants/psi_cas.irp.f` + + .. code:: fortran + + integer(bit_kind), allocatable :: psi_non_cas (N_int,2,psi_det_size) + double precision, allocatable :: psi_non_cas_coef (psi_det_size,n_states) + integer, allocatable :: idx_non_cas (psi_det_size) + integer :: n_det_non_cas + + + Set of determinants which are not part of the |CAS|, defined from the application + of the |CAS| bitmask on the determinants. + idx_non_cas gives the indice of the determinant in psi_det. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_det` + * :c:data:`n_int` + * :c:data:`n_states` + * :c:data:`psi_cas` + * :c:data:`psi_coef` + * :c:data:`psi_det` + * :c:data:`psi_det_size` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`psi_non_cas_sorted_bit` + + +.. c:var:: n_double_exc_bitmasks + + + File : :file:`determinants/determinants_bitmasks.irp.f` + + .. code:: fortran + + integer :: n_double_exc_bitmasks + + + Number of double excitation bitmasks + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`double_exc_bitmask` + + +.. c:var:: n_occ_pattern + + + File : :file:`determinants/occ_pattern.irp.f` + + .. code:: fortran + + integer(bit_kind), allocatable :: psi_occ_pattern (N_int,2,psi_det_size) + integer :: n_occ_pattern + + + Array of the occ_patterns present in the wave function. + + psi_occ_pattern(:,1,j) = j-th occ_pattern of the wave function : represents all the single occupations + + psi_occ_pattern(:,2,j) = j-th occ_pattern of the wave function : represents all the double occupations + + The occ patterns are sorted by :c:func:`occ_pattern_search_key` + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`elec_alpha_num` + * :c:data:`n_det` + * :c:data:`n_int` + * :c:data:`psi_det` + * :c:data:`psi_det_size` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`det_to_occ_pattern` + * :c:data:`psi_occ_pattern_hii` + * :c:data:`weight_occ_pattern` + + +.. c:var:: n_single_exc_bitmasks + + + File : :file:`determinants/determinants_bitmasks.irp.f` + + .. code:: fortran + + integer :: n_single_exc_bitmasks + + + Number of single excitation bitmasks + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`single_exc_bitmask` + + +.. c:var:: one_e_dm_ao_alpha + + + File : :file:`determinants/density_matrix.irp.f` + + .. code:: fortran + + double precision, allocatable :: one_e_dm_ao_alpha (ao_num,ao_num) + double precision, allocatable :: one_e_dm_ao_beta (ao_num,ao_num) + + + One body density matrix on the |AO| basis : :math:`\rho_{AO}(\alpha), \rho_{AO}(\beta)` . + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`mo_coef` + * :c:data:`mo_num` + * :c:data:`one_e_dm_mo_alpha_average` + + + +.. c:var:: one_e_dm_ao_beta + + + File : :file:`determinants/density_matrix.irp.f` + + .. code:: fortran + + double precision, allocatable :: one_e_dm_ao_alpha (ao_num,ao_num) + double precision, allocatable :: one_e_dm_ao_beta (ao_num,ao_num) + + + One body density matrix on the |AO| basis : :math:`\rho_{AO}(\alpha), \rho_{AO}(\beta)` . + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`mo_coef` + * :c:data:`mo_num` + * :c:data:`one_e_dm_mo_alpha_average` + + + +.. c:var:: one_e_dm_dagger_mo_spin_index + + + File : :file:`determinants/density_matrix.irp.f` + + .. code:: fortran + + double precision, allocatable :: one_e_dm_dagger_mo_spin_index (mo_num,mo_num,N_states,2) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_num` + * :c:data:`n_states` + * :c:data:`one_e_dm_mo_alpha` + + + +.. c:var:: one_e_dm_mo + + + File : :file:`determinants/density_matrix.irp.f` + + .. code:: fortran + + double precision, allocatable :: one_e_dm_mo (mo_num,mo_num) + + + One-body density matrix + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_num` + * :c:data:`one_e_dm_mo_alpha_average` + + + +.. c:var:: one_e_dm_mo_alpha + + + File : :file:`determinants/density_matrix.irp.f` + + .. code:: fortran + + double precision, allocatable :: one_e_dm_mo_alpha (mo_num,mo_num,N_states) + double precision, allocatable :: one_e_dm_mo_beta (mo_num,mo_num,N_states) + + + :math:`\alpha` and :math:`\beta` one-body density matrix for each state + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`elec_alpha_num` + * :c:data:`elec_beta_num` + * :c:data:`mo_num` + * :c:data:`n_det` + * :c:data:`n_int` + * :c:data:`n_states` + * :c:data:`psi_bilinear_matrix_transp_values` + * :c:data:`psi_bilinear_matrix_values` + * :c:data:`psi_det` + * :c:data:`psi_det_alpha_unique` + * :c:data:`psi_det_beta_unique` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`one_e_dm_dagger_mo_spin_index` + * :c:data:`one_e_dm_mo_alpha_average` + * :c:data:`one_e_dm_mo_diff` + * :c:data:`one_e_dm_mo_spin_index` + * :c:data:`psi_energy_h_core` + + +.. c:var:: one_e_dm_mo_alpha_average + + + File : :file:`determinants/density_matrix.irp.f` + + .. code:: fortran + + double precision, allocatable :: one_e_dm_mo_alpha_average (mo_num,mo_num) + double precision, allocatable :: one_e_dm_mo_beta_average (mo_num,mo_num) + + + :math:`\alpha` and :math:`\beta` one-body density matrix for each state + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_num` + * :c:data:`n_states` + * :c:data:`one_e_dm_mo_alpha` + * :c:data:`state_average_weight` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`one_e_dm_ao_alpha` + * :c:data:`one_e_dm_mo` + * :c:data:`one_e_spin_density_mo` + + +.. c:var:: one_e_dm_mo_beta + + + File : :file:`determinants/density_matrix.irp.f` + + .. code:: fortran + + double precision, allocatable :: one_e_dm_mo_alpha (mo_num,mo_num,N_states) + double precision, allocatable :: one_e_dm_mo_beta (mo_num,mo_num,N_states) + + + :math:`\alpha` and :math:`\beta` one-body density matrix for each state + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`elec_alpha_num` + * :c:data:`elec_beta_num` + * :c:data:`mo_num` + * :c:data:`n_det` + * :c:data:`n_int` + * :c:data:`n_states` + * :c:data:`psi_bilinear_matrix_transp_values` + * :c:data:`psi_bilinear_matrix_values` + * :c:data:`psi_det` + * :c:data:`psi_det_alpha_unique` + * :c:data:`psi_det_beta_unique` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`one_e_dm_dagger_mo_spin_index` + * :c:data:`one_e_dm_mo_alpha_average` + * :c:data:`one_e_dm_mo_diff` + * :c:data:`one_e_dm_mo_spin_index` + * :c:data:`psi_energy_h_core` + + +.. c:var:: one_e_dm_mo_beta_average + + + File : :file:`determinants/density_matrix.irp.f` + + .. code:: fortran + + double precision, allocatable :: one_e_dm_mo_alpha_average (mo_num,mo_num) + double precision, allocatable :: one_e_dm_mo_beta_average (mo_num,mo_num) + + + :math:`\alpha` and :math:`\beta` one-body density matrix for each state + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_num` + * :c:data:`n_states` + * :c:data:`one_e_dm_mo_alpha` + * :c:data:`state_average_weight` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`one_e_dm_ao_alpha` + * :c:data:`one_e_dm_mo` + * :c:data:`one_e_spin_density_mo` + + +.. c:var:: one_e_dm_mo_diff + + + File : :file:`determinants/density_matrix.irp.f` + + .. code:: fortran + + double precision, allocatable :: one_e_dm_mo_diff (mo_num,mo_num,2:N_states) + + + Difference of the one-body density matrix with respect to the ground state + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_num` + * :c:data:`n_states` + * :c:data:`one_e_dm_mo_alpha` + + + +.. c:var:: one_e_dm_mo_spin_index + + + File : :file:`determinants/density_matrix.irp.f` + + .. code:: fortran + + double precision, allocatable :: one_e_dm_mo_spin_index (mo_num,mo_num,N_states,2) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_num` + * :c:data:`n_states` + * :c:data:`one_e_dm_mo_alpha` + + + +.. c:var:: one_e_spin_density_ao + + + File : :file:`determinants/density_matrix.irp.f` + + .. code:: fortran + + double precision, allocatable :: one_e_spin_density_ao (ao_num,ao_num) + + + One body spin density matrix on the |AO| basis : :math:`\rho_{AO}(\alpha) - \rho_{AO}(\beta)` + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`mo_coef` + * :c:data:`mo_num` + * :c:data:`one_e_spin_density_mo` + + + +.. c:var:: one_e_spin_density_mo + + + File : :file:`determinants/density_matrix.irp.f` + + .. code:: fortran + + double precision, allocatable :: one_e_spin_density_mo (mo_num,mo_num) + + + :math:`\rho(\alpha) - \rho(\beta)` + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_num` + * :c:data:`one_e_dm_mo_alpha_average` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`one_e_spin_density_ao` + + +.. c:var:: psi_average_norm_contrib + + + File : :file:`determinants/determinants.irp.f` + + .. code:: fortran + + double precision, allocatable :: psi_average_norm_contrib (psi_det_size) + + + Contribution of determinants to the state-averaged density. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_det` + * :c:data:`n_states` + * :c:data:`psi_coef` + * :c:data:`psi_det_size` + * :c:data:`state_average_weight` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`psi_det_sorted` + + +.. c:var:: psi_average_norm_contrib_sorted + + + File : :file:`determinants/determinants.irp.f` + + .. code:: fortran + + integer(bit_kind), allocatable :: psi_det_sorted (N_int,2,psi_det_size) + double precision, allocatable :: psi_coef_sorted (psi_det_size,N_states) + double precision, allocatable :: psi_average_norm_contrib_sorted (psi_det_size) + integer, allocatable :: psi_det_sorted_order (psi_det_size) + + + Wave function sorted by determinants contribution to the norm (state-averaged) + + psi_det_sorted_order(i) -> k : index in psi_det + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_det` + * :c:data:`n_int` + * :c:data:`n_states` + * :c:data:`psi_average_norm_contrib` + * :c:data:`psi_coef` + * :c:data:`psi_det` + * :c:data:`psi_det_size` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`n_det_generators` + * :c:data:`n_det_selectors` + * :c:data:`psi_det_generators` + * :c:data:`psi_det_sorted_gen` + * :c:data:`psi_selectors` + + +.. c:var:: psi_bilinear_matrix + + + File : :file:`determinants/spindeterminants.irp.f` + + .. code:: fortran + + double precision, allocatable :: psi_bilinear_matrix (N_det_alpha_unique,N_det_beta_unique,N_states) + + + Coefficient matrix if the wave function is expressed in a bilinear form : + + :math:`D_\alpha^\dagger.C.D_\beta` + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_det` + * :c:data:`n_states` + * :c:data:`psi_bilinear_matrix_values` + * :c:data:`psi_det_alpha_unique` + * :c:data:`psi_det_beta_unique` + + + +.. c:var:: psi_bilinear_matrix_columns + + + File : :file:`determinants/spindeterminants.irp.f` + + .. code:: fortran + + double precision, allocatable :: psi_bilinear_matrix_values (N_det,N_states) + integer, allocatable :: psi_bilinear_matrix_rows (N_det) + integer, allocatable :: psi_bilinear_matrix_columns (N_det) + integer, allocatable :: psi_bilinear_matrix_order (N_det) + + + Sparse coefficient matrix if the wave function is expressed in a bilinear form : + :math:`D_\alpha^\dagger.C.D_\beta` + + Rows are :math:`\alpha` determinants and columns are :math:`\beta` . + + Order refers to psi_det + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_det` + * :c:data:`n_int` + * :c:data:`n_states` + * :c:data:`psi_coef` + * :c:data:`psi_det_sorted_bit` + * :c:data:`psi_det` + * :c:data:`psi_det_alpha_unique` + * :c:data:`psi_det_beta_unique` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`det_alpha_norm` + * :c:data:`one_e_dm_mo_alpha` + * :c:data:`psi_bilinear_matrix` + * :c:data:`psi_bilinear_matrix_columns_loc` + * :c:data:`psi_bilinear_matrix_order_reverse` + * :c:data:`psi_bilinear_matrix_transp_values` + + +.. c:var:: psi_bilinear_matrix_columns_loc + + + File : :file:`determinants/spindeterminants.irp.f` + + .. code:: fortran + + integer, allocatable :: psi_bilinear_matrix_columns_loc (N_det_beta_unique+1) + + + Sparse coefficient matrix if the wave function is expressed in a bilinear form : + + :math:`D_\alpha^\dagger.C.D_\beta` + + Rows are :math:`\alpha` determinants and columns are :math:`\beta` . + + Order refers to :c:data:`psi_det` + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_det` + * :c:data:`psi_bilinear_matrix_values` + * :c:data:`psi_det_beta_unique` + + + +.. c:var:: psi_bilinear_matrix_order + + + File : :file:`determinants/spindeterminants.irp.f` + + .. code:: fortran + + double precision, allocatable :: psi_bilinear_matrix_values (N_det,N_states) + integer, allocatable :: psi_bilinear_matrix_rows (N_det) + integer, allocatable :: psi_bilinear_matrix_columns (N_det) + integer, allocatable :: psi_bilinear_matrix_order (N_det) + + + Sparse coefficient matrix if the wave function is expressed in a bilinear form : + :math:`D_\alpha^\dagger.C.D_\beta` + + Rows are :math:`\alpha` determinants and columns are :math:`\beta` . + + Order refers to psi_det + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_det` + * :c:data:`n_int` + * :c:data:`n_states` + * :c:data:`psi_coef` + * :c:data:`psi_det_sorted_bit` + * :c:data:`psi_det` + * :c:data:`psi_det_alpha_unique` + * :c:data:`psi_det_beta_unique` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`det_alpha_norm` + * :c:data:`one_e_dm_mo_alpha` + * :c:data:`psi_bilinear_matrix` + * :c:data:`psi_bilinear_matrix_columns_loc` + * :c:data:`psi_bilinear_matrix_order_reverse` + * :c:data:`psi_bilinear_matrix_transp_values` + + +.. c:var:: psi_bilinear_matrix_order_reverse + + + File : :file:`determinants/spindeterminants.irp.f` + + .. code:: fortran + + integer, allocatable :: psi_bilinear_matrix_order_reverse (N_det) + + + Order which allows to go from :c:data:`psi_bilinear_matrix` to :c:data:`psi_det` + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_det` + * :c:data:`psi_bilinear_matrix_values` + + + +.. c:var:: psi_bilinear_matrix_order_transp_reverse + + + File : :file:`determinants/spindeterminants.irp.f` + + .. code:: fortran + + integer, allocatable :: psi_bilinear_matrix_order_transp_reverse (N_det) + + + Order which allows to go from :c:data:`psi_bilinear_matrix_order_transp` to + :c:data:`psi_bilinear_matrix` + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_det` + * :c:data:`psi_bilinear_matrix_transp_values` + + + +.. c:var:: psi_bilinear_matrix_rows + + + File : :file:`determinants/spindeterminants.irp.f` + + .. code:: fortran + + double precision, allocatable :: psi_bilinear_matrix_values (N_det,N_states) + integer, allocatable :: psi_bilinear_matrix_rows (N_det) + integer, allocatable :: psi_bilinear_matrix_columns (N_det) + integer, allocatable :: psi_bilinear_matrix_order (N_det) + + + Sparse coefficient matrix if the wave function is expressed in a bilinear form : + :math:`D_\alpha^\dagger.C.D_\beta` + + Rows are :math:`\alpha` determinants and columns are :math:`\beta` . + + Order refers to psi_det + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_det` + * :c:data:`n_int` + * :c:data:`n_states` + * :c:data:`psi_coef` + * :c:data:`psi_det_sorted_bit` + * :c:data:`psi_det` + * :c:data:`psi_det_alpha_unique` + * :c:data:`psi_det_beta_unique` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`det_alpha_norm` + * :c:data:`one_e_dm_mo_alpha` + * :c:data:`psi_bilinear_matrix` + * :c:data:`psi_bilinear_matrix_columns_loc` + * :c:data:`psi_bilinear_matrix_order_reverse` + * :c:data:`psi_bilinear_matrix_transp_values` + + +.. c:var:: psi_bilinear_matrix_transp_columns + + + File : :file:`determinants/spindeterminants.irp.f` + + .. code:: fortran + + double precision, allocatable :: psi_bilinear_matrix_transp_values (N_det,N_states) + integer, allocatable :: psi_bilinear_matrix_transp_rows (N_det) + integer, allocatable :: psi_bilinear_matrix_transp_columns (N_det) + integer, allocatable :: psi_bilinear_matrix_transp_order (N_det) + + + Transpose of :c:data:`psi_bilinear_matrix` + + :math:`D_\beta^\dagger.C^\dagger.D_\alpha` + + Rows are :math:`\alpha` determinants and columns are :math:`\beta` , but the matrix is stored in row major + format. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_det` + * :c:data:`n_states` + * :c:data:`psi_bilinear_matrix_values` + * :c:data:`psi_det_sorted_bit` + * :c:data:`psi_det_beta_unique` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`one_e_dm_mo_alpha` + * :c:data:`psi_bilinear_matrix_order_transp_reverse` + * :c:data:`psi_bilinear_matrix_transp_rows_loc` + + +.. c:var:: psi_bilinear_matrix_transp_order + + + File : :file:`determinants/spindeterminants.irp.f` + + .. code:: fortran + + double precision, allocatable :: psi_bilinear_matrix_transp_values (N_det,N_states) + integer, allocatable :: psi_bilinear_matrix_transp_rows (N_det) + integer, allocatable :: psi_bilinear_matrix_transp_columns (N_det) + integer, allocatable :: psi_bilinear_matrix_transp_order (N_det) + + + Transpose of :c:data:`psi_bilinear_matrix` + + :math:`D_\beta^\dagger.C^\dagger.D_\alpha` + + Rows are :math:`\alpha` determinants and columns are :math:`\beta` , but the matrix is stored in row major + format. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_det` + * :c:data:`n_states` + * :c:data:`psi_bilinear_matrix_values` + * :c:data:`psi_det_sorted_bit` + * :c:data:`psi_det_beta_unique` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`one_e_dm_mo_alpha` + * :c:data:`psi_bilinear_matrix_order_transp_reverse` + * :c:data:`psi_bilinear_matrix_transp_rows_loc` + + +.. c:var:: psi_bilinear_matrix_transp_rows + + + File : :file:`determinants/spindeterminants.irp.f` + + .. code:: fortran + + double precision, allocatable :: psi_bilinear_matrix_transp_values (N_det,N_states) + integer, allocatable :: psi_bilinear_matrix_transp_rows (N_det) + integer, allocatable :: psi_bilinear_matrix_transp_columns (N_det) + integer, allocatable :: psi_bilinear_matrix_transp_order (N_det) + + + Transpose of :c:data:`psi_bilinear_matrix` + + :math:`D_\beta^\dagger.C^\dagger.D_\alpha` + + Rows are :math:`\alpha` determinants and columns are :math:`\beta` , but the matrix is stored in row major + format. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_det` + * :c:data:`n_states` + * :c:data:`psi_bilinear_matrix_values` + * :c:data:`psi_det_sorted_bit` + * :c:data:`psi_det_beta_unique` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`one_e_dm_mo_alpha` + * :c:data:`psi_bilinear_matrix_order_transp_reverse` + * :c:data:`psi_bilinear_matrix_transp_rows_loc` + + +.. c:var:: psi_bilinear_matrix_transp_rows_loc + + + File : :file:`determinants/spindeterminants.irp.f` + + .. code:: fortran + + integer, allocatable :: psi_bilinear_matrix_transp_rows_loc (N_det_alpha_unique+1) + + + Location of the columns in the :c:data:`psi_bilinear_matrix` + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_det` + * :c:data:`psi_bilinear_matrix_transp_values` + * :c:data:`psi_det_alpha_unique` + + + +.. c:var:: psi_bilinear_matrix_transp_values + + + File : :file:`determinants/spindeterminants.irp.f` + + .. code:: fortran + + double precision, allocatable :: psi_bilinear_matrix_transp_values (N_det,N_states) + integer, allocatable :: psi_bilinear_matrix_transp_rows (N_det) + integer, allocatable :: psi_bilinear_matrix_transp_columns (N_det) + integer, allocatable :: psi_bilinear_matrix_transp_order (N_det) + + + Transpose of :c:data:`psi_bilinear_matrix` + + :math:`D_\beta^\dagger.C^\dagger.D_\alpha` + + Rows are :math:`\alpha` determinants and columns are :math:`\beta` , but the matrix is stored in row major + format. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_det` + * :c:data:`n_states` + * :c:data:`psi_bilinear_matrix_values` + * :c:data:`psi_det_sorted_bit` + * :c:data:`psi_det_beta_unique` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`one_e_dm_mo_alpha` + * :c:data:`psi_bilinear_matrix_order_transp_reverse` + * :c:data:`psi_bilinear_matrix_transp_rows_loc` + + +.. c:var:: psi_bilinear_matrix_values + + + File : :file:`determinants/spindeterminants.irp.f` + + .. code:: fortran + + double precision, allocatable :: psi_bilinear_matrix_values (N_det,N_states) + integer, allocatable :: psi_bilinear_matrix_rows (N_det) + integer, allocatable :: psi_bilinear_matrix_columns (N_det) + integer, allocatable :: psi_bilinear_matrix_order (N_det) + + + Sparse coefficient matrix if the wave function is expressed in a bilinear form : + :math:`D_\alpha^\dagger.C.D_\beta` + + Rows are :math:`\alpha` determinants and columns are :math:`\beta` . + + Order refers to psi_det + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_det` + * :c:data:`n_int` + * :c:data:`n_states` + * :c:data:`psi_coef` + * :c:data:`psi_det_sorted_bit` + * :c:data:`psi_det` + * :c:data:`psi_det_alpha_unique` + * :c:data:`psi_det_beta_unique` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`det_alpha_norm` + * :c:data:`one_e_dm_mo_alpha` + * :c:data:`psi_bilinear_matrix` + * :c:data:`psi_bilinear_matrix_columns_loc` + * :c:data:`psi_bilinear_matrix_order_reverse` + * :c:data:`psi_bilinear_matrix_transp_values` + + +.. c:var:: psi_cas + + + File : :file:`determinants/psi_cas.irp.f` + + .. code:: fortran + + integer(bit_kind), allocatable :: psi_cas (N_int,2,psi_det_size) + double precision, allocatable :: psi_cas_coef (psi_det_size,n_states) + integer, allocatable :: idx_cas (psi_det_size) + integer :: n_det_cas + + + |CAS| wave function, defined from the application of the |CAS| bitmask on the + determinants. idx_cas gives the indice of the |CAS| determinant in psi_det. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`cas_bitmask` + * :c:data:`hf_bitmask` + * :c:data:`mpi_master` + * :c:data:`n_cas_bitmask` + * :c:data:`n_det` + * :c:data:`n_int` + * :c:data:`n_states` + * :c:data:`psi_coef` + * :c:data:`psi_det` + * :c:data:`psi_det_size` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`h_matrix_cas` + * :c:data:`psi_cas_energy` + * :c:data:`psi_cas_sorted_bit` + * :c:data:`psi_coef_cas_diagonalized` + * :c:data:`psi_non_cas` + * :c:data:`psi_non_cas_sorted_bit` + + +.. c:var:: psi_cas_coef + + + File : :file:`determinants/psi_cas.irp.f` + + .. code:: fortran + + integer(bit_kind), allocatable :: psi_cas (N_int,2,psi_det_size) + double precision, allocatable :: psi_cas_coef (psi_det_size,n_states) + integer, allocatable :: idx_cas (psi_det_size) + integer :: n_det_cas + + + |CAS| wave function, defined from the application of the |CAS| bitmask on the + determinants. idx_cas gives the indice of the |CAS| determinant in psi_det. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`cas_bitmask` + * :c:data:`hf_bitmask` + * :c:data:`mpi_master` + * :c:data:`n_cas_bitmask` + * :c:data:`n_det` + * :c:data:`n_int` + * :c:data:`n_states` + * :c:data:`psi_coef` + * :c:data:`psi_det` + * :c:data:`psi_det_size` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`h_matrix_cas` + * :c:data:`psi_cas_energy` + * :c:data:`psi_cas_sorted_bit` + * :c:data:`psi_coef_cas_diagonalized` + * :c:data:`psi_non_cas` + * :c:data:`psi_non_cas_sorted_bit` + + +.. c:var:: psi_cas_coef_sorted_bit + + + File : :file:`determinants/psi_cas.irp.f` + + .. code:: fortran + + integer(bit_kind), allocatable :: psi_cas_sorted_bit (N_int,2,psi_det_size) + double precision, allocatable :: psi_cas_coef_sorted_bit (psi_det_size,N_states) + + + |CAS| determinants sorted to accelerate the search of a random determinant in the wave + function. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_int` + * :c:data:`n_states` + * :c:data:`psi_cas` + * :c:data:`psi_det_size` + + + +.. c:var:: psi_cas_energy + + + File : :file:`determinants/psi_cas.irp.f` + + .. code:: fortran + + double precision, allocatable :: psi_cas_energy (N_states) + + + Variational energy of :math:`\Psi_{CAS}` , where :math:`\Psi_{CAS} = \sum_{I \in CAS} \I \rangle \langle I | \Psi \rangle` . + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`h_matrix_cas` + * :c:data:`n_states` + * :c:data:`psi_cas` + + + +.. c:var:: psi_cas_energy_diagonalized + + + File : :file:`determinants/psi_cas.irp.f` + + .. code:: fortran + + double precision, allocatable :: psi_coef_cas_diagonalized (N_det_cas,N_states) + double precision, allocatable :: psi_cas_energy_diagonalized (N_states) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`h_matrix_cas` + * :c:data:`n_states` + * :c:data:`psi_cas` + + + +.. c:var:: psi_cas_sorted_bit + + + File : :file:`determinants/psi_cas.irp.f` + + .. code:: fortran + + integer(bit_kind), allocatable :: psi_cas_sorted_bit (N_int,2,psi_det_size) + double precision, allocatable :: psi_cas_coef_sorted_bit (psi_det_size,N_states) + + + |CAS| determinants sorted to accelerate the search of a random determinant in the wave + function. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_int` + * :c:data:`n_states` + * :c:data:`psi_cas` + * :c:data:`psi_det_size` + + + +.. c:var:: psi_coef + + + File : :file:`determinants/determinants.irp.f` + + .. code:: fortran + + double precision, allocatable :: psi_coef (psi_det_size,N_states) + + + The wave function coefficients. Initialized with Hartree-Fock if the |EZFIO| file + is empty. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ezfio_filename` + * :c:data:`mo_label` + * :c:data:`mpi_master` + * :c:data:`n_det` + * :c:data:`n_states` + * :c:data:`psi_det_size` + * :c:data:`read_wf` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`barycentric_electronic_energy` + * :c:data:`c0_weight` + * :c:data:`ci_electronic_energy` + * :c:data:`dressed_column_idx` + * :c:data:`psi_average_norm_contrib` + * :c:data:`psi_bilinear_matrix_values` + * :c:data:`psi_cas` + * :c:data:`psi_coef_max` + * :c:data:`psi_det_sorted` + * :c:data:`psi_det_sorted_bit` + * :c:data:`psi_energy` + * :c:data:`psi_energy_two_e` + * :c:data:`psi_non_cas` + * :c:data:`s2_values` + * :c:data:`weight_occ_pattern` + + +.. c:var:: psi_coef_cas_diagonalized + + + File : :file:`determinants/psi_cas.irp.f` + + .. code:: fortran + + double precision, allocatable :: psi_coef_cas_diagonalized (N_det_cas,N_states) + double precision, allocatable :: psi_cas_energy_diagonalized (N_states) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`h_matrix_cas` + * :c:data:`n_states` + * :c:data:`psi_cas` + + + +.. c:var:: psi_coef_max + + + File : :file:`determinants/determinants.irp.f` + + .. code:: fortran + + double precision, allocatable :: psi_coef_max (N_states) + double precision, allocatable :: psi_coef_min (N_states) + double precision, allocatable :: abs_psi_coef_max (N_states) + double precision, allocatable :: abs_psi_coef_min (N_states) + + + Max and min values of the coefficients + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mpi_master` + * :c:data:`n_states` + * :c:data:`psi_coef` + + + +.. c:var:: psi_coef_min + + + File : :file:`determinants/determinants.irp.f` + + .. code:: fortran + + double precision, allocatable :: psi_coef_max (N_states) + double precision, allocatable :: psi_coef_min (N_states) + double precision, allocatable :: abs_psi_coef_max (N_states) + double precision, allocatable :: abs_psi_coef_min (N_states) + + + Max and min values of the coefficients + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mpi_master` + * :c:data:`n_states` + * :c:data:`psi_coef` + + + +.. c:var:: psi_coef_sorted + + + File : :file:`determinants/determinants.irp.f` + + .. code:: fortran + + integer(bit_kind), allocatable :: psi_det_sorted (N_int,2,psi_det_size) + double precision, allocatable :: psi_coef_sorted (psi_det_size,N_states) + double precision, allocatable :: psi_average_norm_contrib_sorted (psi_det_size) + integer, allocatable :: psi_det_sorted_order (psi_det_size) + + + Wave function sorted by determinants contribution to the norm (state-averaged) + + psi_det_sorted_order(i) -> k : index in psi_det + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_det` + * :c:data:`n_int` + * :c:data:`n_states` + * :c:data:`psi_average_norm_contrib` + * :c:data:`psi_coef` + * :c:data:`psi_det` + * :c:data:`psi_det_size` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`n_det_generators` + * :c:data:`n_det_selectors` + * :c:data:`psi_det_generators` + * :c:data:`psi_det_sorted_gen` + * :c:data:`psi_selectors` + + +.. c:var:: psi_coef_sorted_bit + + + File : :file:`determinants/determinants.irp.f` + + .. code:: fortran + + integer(bit_kind), allocatable :: psi_det_sorted_bit (N_int,2,psi_det_size) + double precision, allocatable :: psi_coef_sorted_bit (psi_det_size,N_states) + + + Determinants on which we apply :math:`\langle i|H|psi \rangle` for perturbation. + They are sorted by determinants interpreted as integers. Useful + to accelerate the search of a random determinant in the wave + function. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_det` + * :c:data:`n_int` + * :c:data:`n_states` + * :c:data:`psi_coef` + * :c:data:`psi_det` + * :c:data:`psi_det_size` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`psi_bilinear_matrix_transp_values` + * :c:data:`psi_bilinear_matrix_values` + + +.. c:var:: psi_det + + + File : :file:`determinants/determinants.irp.f` + + .. code:: fortran + + integer(bit_kind), allocatable :: psi_det (N_int,2,psi_det_size) + + + The determinants of the wave function. Initialized with Hartree-Fock if the |EZFIO| file + is empty. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ezfio_filename` + * :c:data:`hf_bitmask` + * :c:data:`mo_coef` + * :c:data:`mo_label` + * :c:data:`mpi_master` + * :c:data:`n_det` + * :c:data:`n_int` + * :c:data:`psi_det_size` + * :c:data:`read_wf` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`ci_electronic_energy` + * :c:data:`det_to_occ_pattern` + * :c:data:`diagonal_h_matrix_on_psi_det` + * :c:data:`h_matrix_all_dets` + * :c:data:`max_degree_exc` + * :c:data:`one_e_dm_mo_alpha` + * :c:data:`psi_bilinear_matrix_values` + * :c:data:`psi_cas` + * :c:data:`psi_det_alpha` + * :c:data:`psi_det_beta` + * :c:data:`psi_det_hii` + * :c:data:`psi_det_sorted` + * :c:data:`psi_det_sorted_bit` + * :c:data:`psi_energy` + * :c:data:`psi_energy_two_e` + * :c:data:`psi_non_cas` + * :c:data:`psi_occ_pattern` + * :c:data:`s2_matrix_all_dets` + * :c:data:`s2_values` + + +.. c:var:: psi_det_alpha + + + File : :file:`determinants/spindeterminants.irp.f` + + .. code:: fortran + + integer(bit_kind), allocatable :: psi_det_alpha (N_int,psi_det_size) + + + List of :math:`\alpha` determinants of psi_det + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_det` + * :c:data:`n_int` + * :c:data:`psi_det` + * :c:data:`psi_det_size` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`psi_det_alpha_unique` + + +.. c:var:: psi_det_alpha_unique + + + File : :file:`determinants/spindeterminants.irp.f_template_144` + + .. code:: fortran + + integer(bit_kind), allocatable :: psi_det_alpha_unique (N_int,psi_det_size) + integer :: n_det_alpha_unique + + + Unique :math:`\alpha` determinants + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mpi_master` + * :c:data:`n_det` + * :c:data:`n_int` + * :c:data:`psi_det_alpha` + * :c:data:`psi_det_size` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`det_alpha_norm` + * :c:data:`one_e_dm_mo_alpha` + * :c:data:`psi_bilinear_matrix` + * :c:data:`psi_bilinear_matrix_transp_rows_loc` + * :c:data:`psi_bilinear_matrix_values` + * :c:data:`singles_alpha_csc` + * :c:data:`singles_alpha_csc_idx` + + +.. c:var:: psi_det_beta + + + File : :file:`determinants/spindeterminants.irp.f` + + .. code:: fortran + + integer(bit_kind), allocatable :: psi_det_beta (N_int,psi_det_size) + + + List of :math:`\beta` determinants of psi_det + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_det` + * :c:data:`n_int` + * :c:data:`psi_det` + * :c:data:`psi_det_size` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`psi_det_beta_unique` + + +.. c:var:: psi_det_beta_unique + + + File : :file:`determinants/spindeterminants.irp.f_template_144` + + .. code:: fortran + + integer(bit_kind), allocatable :: psi_det_beta_unique (N_int,psi_det_size) + integer :: n_det_beta_unique + + + Unique :math:`\beta` determinants + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mpi_master` + * :c:data:`n_det` + * :c:data:`n_int` + * :c:data:`psi_det_beta` + * :c:data:`psi_det_size` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`det_alpha_norm` + * :c:data:`one_e_dm_mo_alpha` + * :c:data:`psi_bilinear_matrix` + * :c:data:`psi_bilinear_matrix_columns_loc` + * :c:data:`psi_bilinear_matrix_transp_values` + * :c:data:`psi_bilinear_matrix_values` + * :c:data:`singles_beta_csc` + * :c:data:`singles_beta_csc_idx` + + +.. c:var:: psi_det_hii + + + File : :file:`determinants/determinants.irp.f` + + .. code:: fortran + + double precision, allocatable :: psi_det_hii (N_det) + + + :math:`\langle i|h|i \rangle` for all determinants. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`elec_num` + * :c:data:`n_det` + * :c:data:`n_int` + * :c:data:`psi_det` + * :c:data:`ref_bitmask` + * :c:data:`ref_bitmask_energy` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`psi_occ_pattern_hii` + + +.. c:var:: psi_det_size + + + File : :file:`determinants/determinants.irp.f` + + .. code:: fortran + + integer :: psi_det_size + + + Size of the psi_det and psi_coef arrays + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ezfio_filename` + * :c:data:`mpi_master` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`psi_average_norm_contrib` + * :c:data:`psi_cas` + * :c:data:`psi_cas_sorted_bit` + * :c:data:`psi_coef` + * :c:data:`psi_det` + * :c:data:`psi_det_alpha` + * :c:data:`psi_det_alpha_unique` + * :c:data:`psi_det_beta` + * :c:data:`psi_det_beta_unique` + * :c:data:`psi_det_generators` + * :c:data:`psi_det_sorted` + * :c:data:`psi_det_sorted_bit` + * :c:data:`psi_det_sorted_gen` + * :c:data:`psi_energy` + * :c:data:`psi_energy_two_e` + * :c:data:`psi_non_cas` + * :c:data:`psi_non_cas_sorted_bit` + * :c:data:`psi_occ_pattern` + * :c:data:`psi_selectors_size` + * :c:data:`s2_values` + + +.. c:var:: psi_det_sorted + + + File : :file:`determinants/determinants.irp.f` + + .. code:: fortran + + integer(bit_kind), allocatable :: psi_det_sorted (N_int,2,psi_det_size) + double precision, allocatable :: psi_coef_sorted (psi_det_size,N_states) + double precision, allocatable :: psi_average_norm_contrib_sorted (psi_det_size) + integer, allocatable :: psi_det_sorted_order (psi_det_size) + + + Wave function sorted by determinants contribution to the norm (state-averaged) + + psi_det_sorted_order(i) -> k : index in psi_det + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_det` + * :c:data:`n_int` + * :c:data:`n_states` + * :c:data:`psi_average_norm_contrib` + * :c:data:`psi_coef` + * :c:data:`psi_det` + * :c:data:`psi_det_size` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`n_det_generators` + * :c:data:`n_det_selectors` + * :c:data:`psi_det_generators` + * :c:data:`psi_det_sorted_gen` + * :c:data:`psi_selectors` + + +.. c:var:: psi_det_sorted_bit + + + File : :file:`determinants/determinants.irp.f` + + .. code:: fortran + + integer(bit_kind), allocatable :: psi_det_sorted_bit (N_int,2,psi_det_size) + double precision, allocatable :: psi_coef_sorted_bit (psi_det_size,N_states) + + + Determinants on which we apply :math:`\langle i|H|psi \rangle` for perturbation. + They are sorted by determinants interpreted as integers. Useful + to accelerate the search of a random determinant in the wave + function. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_det` + * :c:data:`n_int` + * :c:data:`n_states` + * :c:data:`psi_coef` + * :c:data:`psi_det` + * :c:data:`psi_det_size` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`psi_bilinear_matrix_transp_values` + * :c:data:`psi_bilinear_matrix_values` + + +.. c:var:: psi_det_sorted_order + + + File : :file:`determinants/determinants.irp.f` + + .. code:: fortran + + integer(bit_kind), allocatable :: psi_det_sorted (N_int,2,psi_det_size) + double precision, allocatable :: psi_coef_sorted (psi_det_size,N_states) + double precision, allocatable :: psi_average_norm_contrib_sorted (psi_det_size) + integer, allocatable :: psi_det_sorted_order (psi_det_size) + + + Wave function sorted by determinants contribution to the norm (state-averaged) + + psi_det_sorted_order(i) -> k : index in psi_det + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_det` + * :c:data:`n_int` + * :c:data:`n_states` + * :c:data:`psi_average_norm_contrib` + * :c:data:`psi_coef` + * :c:data:`psi_det` + * :c:data:`psi_det_size` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`n_det_generators` + * :c:data:`n_det_selectors` + * :c:data:`psi_det_generators` + * :c:data:`psi_det_sorted_gen` + * :c:data:`psi_selectors` + + +.. c:var:: psi_energy_h_core + + + File : :file:`determinants/psi_energy_mono_elec.irp.f` + + .. code:: fortran + + double precision, allocatable :: psi_energy_h_core (N_states) + + + psi_energy_h_core = :math:`\langle \Psi | h_{core} |\Psi \rangle` + + computed using the :c:data:`one_e_dm_mo_alpha` + + :c:data:`one_e_dm_mo_beta` and :c:data:`mo_one_e_integrals` + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`elec_alpha_num` + * :c:data:`elec_beta_num` + * :c:data:`mo_num` + * :c:data:`mo_one_e_integrals` + * :c:data:`n_states` + * :c:data:`one_e_dm_mo_alpha` + + + +.. c:var:: psi_non_cas + + + File : :file:`determinants/psi_cas.irp.f` + + .. code:: fortran + + integer(bit_kind), allocatable :: psi_non_cas (N_int,2,psi_det_size) + double precision, allocatable :: psi_non_cas_coef (psi_det_size,n_states) + integer, allocatable :: idx_non_cas (psi_det_size) + integer :: n_det_non_cas + + + Set of determinants which are not part of the |CAS|, defined from the application + of the |CAS| bitmask on the determinants. + idx_non_cas gives the indice of the determinant in psi_det. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_det` + * :c:data:`n_int` + * :c:data:`n_states` + * :c:data:`psi_cas` + * :c:data:`psi_coef` + * :c:data:`psi_det` + * :c:data:`psi_det_size` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`psi_non_cas_sorted_bit` + + +.. c:var:: psi_non_cas_coef + + + File : :file:`determinants/psi_cas.irp.f` + + .. code:: fortran + + integer(bit_kind), allocatable :: psi_non_cas (N_int,2,psi_det_size) + double precision, allocatable :: psi_non_cas_coef (psi_det_size,n_states) + integer, allocatable :: idx_non_cas (psi_det_size) + integer :: n_det_non_cas + + + Set of determinants which are not part of the |CAS|, defined from the application + of the |CAS| bitmask on the determinants. + idx_non_cas gives the indice of the determinant in psi_det. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_det` + * :c:data:`n_int` + * :c:data:`n_states` + * :c:data:`psi_cas` + * :c:data:`psi_coef` + * :c:data:`psi_det` + * :c:data:`psi_det_size` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`psi_non_cas_sorted_bit` + + +.. c:var:: psi_non_cas_coef_sorted_bit + + + File : :file:`determinants/psi_cas.irp.f` + + .. code:: fortran + + integer(bit_kind), allocatable :: psi_non_cas_sorted_bit (N_int,2,psi_det_size) + double precision, allocatable :: psi_non_cas_coef_sorted_bit (psi_det_size,N_states) + + + |CAS| determinants sorted to accelerate the search of a random determinant in the wave + function. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_int` + * :c:data:`n_states` + * :c:data:`psi_cas` + * :c:data:`psi_det_size` + * :c:data:`psi_non_cas` + + + +.. c:var:: psi_non_cas_sorted_bit + + + File : :file:`determinants/psi_cas.irp.f` + + .. code:: fortran + + integer(bit_kind), allocatable :: psi_non_cas_sorted_bit (N_int,2,psi_det_size) + double precision, allocatable :: psi_non_cas_coef_sorted_bit (psi_det_size,N_states) + + + |CAS| determinants sorted to accelerate the search of a random determinant in the wave + function. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_int` + * :c:data:`n_states` + * :c:data:`psi_cas` + * :c:data:`psi_det_size` + * :c:data:`psi_non_cas` + + + +.. c:var:: psi_occ_pattern + + + File : :file:`determinants/occ_pattern.irp.f` + + .. code:: fortran + + integer(bit_kind), allocatable :: psi_occ_pattern (N_int,2,psi_det_size) + integer :: n_occ_pattern + + + Array of the occ_patterns present in the wave function. + + psi_occ_pattern(:,1,j) = j-th occ_pattern of the wave function : represents all the single occupations + + psi_occ_pattern(:,2,j) = j-th occ_pattern of the wave function : represents all the double occupations + + The occ patterns are sorted by :c:func:`occ_pattern_search_key` + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`elec_alpha_num` + * :c:data:`n_det` + * :c:data:`n_int` + * :c:data:`psi_det` + * :c:data:`psi_det_size` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`det_to_occ_pattern` + * :c:data:`psi_occ_pattern_hii` + * :c:data:`weight_occ_pattern` + + +.. c:var:: psi_occ_pattern_hii + + + File : :file:`determinants/occ_pattern.irp.f` + + .. code:: fortran + + double precision, allocatable :: psi_occ_pattern_hii (N_occ_pattern) + + + :math:`\langle I|H|I \rangle` where :math:`|I\rangle` is an occupation pattern. + This is the minimum :math:`H_{ii}` , where the :math:`|i\rangle` are the + determinants of :math:`|I\rangle` . + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`det_to_occ_pattern` + * :c:data:`n_det` + * :c:data:`psi_det_hii` + * :c:data:`psi_occ_pattern` + + + +.. c:var:: ref_bitmask_e_n_energy + + + File : :file:`determinants/ref_bitmask.irp.f` + + .. code:: fortran + + double precision :: ref_bitmask_energy + double precision :: ref_bitmask_one_e_energy + double precision :: ref_bitmask_kinetic_energy + double precision :: ref_bitmask_e_n_energy + double precision :: ref_bitmask_two_e_energy + + + Energy of the reference bitmask used in Slater rules + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`elec_alpha_num` + * :c:data:`elec_beta_num` + * :c:data:`mo_integrals_n_e` + * :c:data:`mo_kinetic_integrals` + * :c:data:`mo_one_e_integrals` + * :c:data:`mo_two_e_integrals_jj` + * :c:data:`n_int` + * :c:data:`ref_bitmask` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`coef_hf_selector` + * :c:data:`diagonal_h_matrix_on_psi_det` + * :c:data:`psi_det_hii` + * :c:data:`psi_selectors_diag_h_mat` + + +.. c:var:: ref_bitmask_energy + + + File : :file:`determinants/ref_bitmask.irp.f` + + .. code:: fortran + + double precision :: ref_bitmask_energy + double precision :: ref_bitmask_one_e_energy + double precision :: ref_bitmask_kinetic_energy + double precision :: ref_bitmask_e_n_energy + double precision :: ref_bitmask_two_e_energy + + + Energy of the reference bitmask used in Slater rules + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`elec_alpha_num` + * :c:data:`elec_beta_num` + * :c:data:`mo_integrals_n_e` + * :c:data:`mo_kinetic_integrals` + * :c:data:`mo_one_e_integrals` + * :c:data:`mo_two_e_integrals_jj` + * :c:data:`n_int` + * :c:data:`ref_bitmask` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`coef_hf_selector` + * :c:data:`diagonal_h_matrix_on_psi_det` + * :c:data:`psi_det_hii` + * :c:data:`psi_selectors_diag_h_mat` + + +.. c:var:: ref_bitmask_kinetic_energy + + + File : :file:`determinants/ref_bitmask.irp.f` + + .. code:: fortran + + double precision :: ref_bitmask_energy + double precision :: ref_bitmask_one_e_energy + double precision :: ref_bitmask_kinetic_energy + double precision :: ref_bitmask_e_n_energy + double precision :: ref_bitmask_two_e_energy + + + Energy of the reference bitmask used in Slater rules + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`elec_alpha_num` + * :c:data:`elec_beta_num` + * :c:data:`mo_integrals_n_e` + * :c:data:`mo_kinetic_integrals` + * :c:data:`mo_one_e_integrals` + * :c:data:`mo_two_e_integrals_jj` + * :c:data:`n_int` + * :c:data:`ref_bitmask` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`coef_hf_selector` + * :c:data:`diagonal_h_matrix_on_psi_det` + * :c:data:`psi_det_hii` + * :c:data:`psi_selectors_diag_h_mat` + + +.. c:var:: ref_bitmask_one_e_energy + + + File : :file:`determinants/ref_bitmask.irp.f` + + .. code:: fortran + + double precision :: ref_bitmask_energy + double precision :: ref_bitmask_one_e_energy + double precision :: ref_bitmask_kinetic_energy + double precision :: ref_bitmask_e_n_energy + double precision :: ref_bitmask_two_e_energy + + + Energy of the reference bitmask used in Slater rules + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`elec_alpha_num` + * :c:data:`elec_beta_num` + * :c:data:`mo_integrals_n_e` + * :c:data:`mo_kinetic_integrals` + * :c:data:`mo_one_e_integrals` + * :c:data:`mo_two_e_integrals_jj` + * :c:data:`n_int` + * :c:data:`ref_bitmask` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`coef_hf_selector` + * :c:data:`diagonal_h_matrix_on_psi_det` + * :c:data:`psi_det_hii` + * :c:data:`psi_selectors_diag_h_mat` + + +.. c:var:: ref_bitmask_two_e_energy + + + File : :file:`determinants/ref_bitmask.irp.f` + + .. code:: fortran + + double precision :: ref_bitmask_energy + double precision :: ref_bitmask_one_e_energy + double precision :: ref_bitmask_kinetic_energy + double precision :: ref_bitmask_e_n_energy + double precision :: ref_bitmask_two_e_energy + + + Energy of the reference bitmask used in Slater rules + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`elec_alpha_num` + * :c:data:`elec_beta_num` + * :c:data:`mo_integrals_n_e` + * :c:data:`mo_kinetic_integrals` + * :c:data:`mo_one_e_integrals` + * :c:data:`mo_two_e_integrals_jj` + * :c:data:`n_int` + * :c:data:`ref_bitmask` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`coef_hf_selector` + * :c:data:`diagonal_h_matrix_on_psi_det` + * :c:data:`psi_det_hii` + * :c:data:`psi_selectors_diag_h_mat` + + +.. c:var:: ref_closed_shell_bitmask + + + File : :file:`determinants/single_excitations.irp.f` + + .. code:: fortran + + integer(bit_kind), allocatable :: ref_closed_shell_bitmask (N_int,2) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`elec_alpha_num` + * :c:data:`elec_beta_num` + * :c:data:`n_int` + * :c:data:`ref_bitmask` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`fock_operator_closed_shell_ref_bitmask` + * :c:data:`fock_wee_closed_shell` + + +.. c:var:: s2_matrix_all_dets + + + File : :file:`determinants/utils.irp.f` + + .. code:: fortran + + double precision, allocatable :: s2_matrix_all_dets (N_det,N_det) + + + |S^2| matrix on the basis of the Slater determinants defined by psi_det + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_det` + * :c:data:`n_int` + * :c:data:`psi_det` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`ci_electronic_energy` + + +.. c:var:: s2_values + + + File : :file:`determinants/s2.irp.f` + + .. code:: fortran + + double precision, allocatable :: s2_values (N_states) + + + array of the averaged values of the S^2 operator on the various states + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_det` + * :c:data:`n_int` + * :c:data:`n_states` + * :c:data:`psi_coef` + * :c:data:`psi_det` + * :c:data:`psi_det_size` + * :c:data:`s_z` + + + +.. c:var:: s_z + + + File : :file:`determinants/s2.irp.f` + + .. code:: fortran + + double precision :: s_z + double precision :: s_z2_sz + + + z component of the Spin + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`elec_alpha_num` + * :c:data:`elec_beta_num` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`ci_electronic_energy` + * :c:data:`s2_values` + + +.. c:var:: s_z2_sz + + + File : :file:`determinants/s2.irp.f` + + .. code:: fortran + + double precision :: s_z + double precision :: s_z2_sz + + + z component of the Spin + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`elec_alpha_num` + * :c:data:`elec_beta_num` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`ci_electronic_energy` + * :c:data:`s2_values` + + +.. c:var:: single_exc_bitmask + + + File : :file:`determinants/determinants_bitmasks.irp.f` + + .. code:: fortran + + integer(bit_kind), allocatable :: single_exc_bitmask (N_int,2,N_single_exc_bitmasks) + + + single_exc_bitmask(:,1,i) is the bitmask for holes + + single_exc_bitmask(:,2,i) is the bitmask for particles + + for a given couple of hole/particle excitations i. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`hf_bitmask` + * :c:data:`n_int` + * :c:data:`n_single_exc_bitmasks` + + + +.. c:var:: singles_alpha_csc + + + File : :file:`determinants/spindeterminants.irp.f` + + .. code:: fortran + + integer, allocatable :: singles_alpha_csc (singles_alpha_csc_size) + + + Indices of all single excitations + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_int` + * :c:data:`psi_det_alpha_unique` + * :c:data:`singles_alpha_csc_idx` + + + +.. c:var:: singles_alpha_csc_idx + + + File : :file:`determinants/spindeterminants.irp.f` + + .. code:: fortran + + integer*8, allocatable :: singles_alpha_csc_idx (N_det_alpha_unique+1) + integer*8 :: singles_alpha_csc_size + + + singles_alpha_csc_size : Dimension of the :c:data:`singles_alpha_csc` array + + singles_alpha_csc_idx : Index where the single excitations of determinant i start + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`elec_alpha_num` + * :c:data:`mo_num` + * :c:data:`n_int` + * :c:data:`psi_det_alpha_unique` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`singles_alpha_csc` + + +.. c:var:: singles_alpha_csc_size + + + File : :file:`determinants/spindeterminants.irp.f` + + .. code:: fortran + + integer*8, allocatable :: singles_alpha_csc_idx (N_det_alpha_unique+1) + integer*8 :: singles_alpha_csc_size + + + singles_alpha_csc_size : Dimension of the :c:data:`singles_alpha_csc` array + + singles_alpha_csc_idx : Index where the single excitations of determinant i start + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`elec_alpha_num` + * :c:data:`mo_num` + * :c:data:`n_int` + * :c:data:`psi_det_alpha_unique` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`singles_alpha_csc` + + +.. c:var:: singles_beta_csc + + + File : :file:`determinants/spindeterminants.irp.f` + + .. code:: fortran + + integer, allocatable :: singles_beta_csc (singles_beta_csc_size) + + + Indices of all single excitations + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_int` + * :c:data:`psi_det_beta_unique` + * :c:data:`singles_beta_csc_idx` + + + +.. c:var:: singles_beta_csc_idx + + + File : :file:`determinants/spindeterminants.irp.f` + + .. code:: fortran + + integer*8, allocatable :: singles_beta_csc_idx (N_det_beta_unique+1) + integer*8 :: singles_beta_csc_size + + + singles_beta_csc_size : Dimension of the :c:data:`singles_beta_csc` array + + singles_beta_csc_idx : Index where the single excitations of determinant i start + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`elec_beta_num` + * :c:data:`mo_num` + * :c:data:`n_int` + * :c:data:`psi_det_beta_unique` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`singles_beta_csc` + + +.. c:var:: singles_beta_csc_size + + + File : :file:`determinants/spindeterminants.irp.f` + + .. code:: fortran + + integer*8, allocatable :: singles_beta_csc_idx (N_det_beta_unique+1) + integer*8 :: singles_beta_csc_size + + + singles_beta_csc_size : Dimension of the :c:data:`singles_beta_csc` array + + singles_beta_csc_idx : Index where the single excitations of determinant i start + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`elec_beta_num` + * :c:data:`mo_num` + * :c:data:`n_int` + * :c:data:`psi_det_beta_unique` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`singles_beta_csc` + + +.. c:var:: state_average_weight + + + File : :file:`determinants/density_matrix.irp.f` + + .. code:: fortran + + double precision, allocatable :: state_average_weight (N_states) + + + Weights in the state-average calculation of the density matrix + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`c0_weight` + * :c:data:`n_states` + * :c:data:`used_weight` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`det_alpha_norm` + * :c:data:`one_e_dm_mo_alpha_average` + * :c:data:`psi_average_norm_contrib` + + +.. c:var:: weight_occ_pattern + + + File : :file:`determinants/occ_pattern.irp.f` + + .. code:: fortran + + double precision, allocatable :: weight_occ_pattern (N_occ_pattern,N_states) + + + Weight of the occupation patterns in the wave function + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`det_to_occ_pattern` + * :c:data:`n_det` + * :c:data:`n_states` + * :c:data:`psi_coef` + * :c:data:`psi_occ_pattern` + + + + +Subroutines / functions +----------------------- + +.. c:function:: a_operator: + + + File : :file:`determinants/slater_rules.irp.f` + + .. code:: fortran + + subroutine a_operator(iorb,ispin,key,hjj,Nint,na,nb) + + + Needed for :c:func:`diag_H_mat_elem`. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_two_e_integrals_jj` + * :c:data:`mo_one_e_integrals` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`diag_h_mat_elem` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`bitstring_to_list_ab` + + +.. c:function:: a_operator_two_e: + + + File : :file:`determinants/slater_rules_wee_mono.irp.f` + + .. code:: fortran + + subroutine a_operator_two_e(iorb,ispin,key,hjj,Nint,na,nb) + + + Needed for :c:func:`diag_Wee_mat_elem`. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_two_e_integrals_jj` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`diag_wee_mat_elem` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`bitstring_to_list_ab` + + +.. c:function:: ac_operator: + + + File : :file:`determinants/slater_rules.irp.f` + + .. code:: fortran + + subroutine ac_operator(iorb,ispin,key,hjj,Nint,na,nb) + + + Needed for :c:func:`diag_H_mat_elem`. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_two_e_integrals_jj` + * :c:data:`mo_one_e_integrals` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`diag_h_mat_elem` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`bitstring_to_list_ab` + + +.. c:function:: ac_operator_two_e: + + + File : :file:`determinants/slater_rules_wee_mono.irp.f` + + .. code:: fortran + + subroutine ac_operator_two_e(iorb,ispin,key,hjj,Nint,na,nb) + + + Needed for :c:func:`diag_Wee_mat_elem`. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_two_e_integrals_jj` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`diag_wee_mat_elem` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`bitstring_to_list_ab` + + +.. c:function:: apply_excitation: + + + File : :file:`determinants/determinants.irp.f` + + .. code:: fortran + + subroutine apply_excitation(det, exc, res, ok, Nint) + + + + +.. c:function:: apply_hole: + + + File : :file:`determinants/determinants.irp.f` + + .. code:: fortran + + subroutine apply_hole(det, s1, h1, res, ok, Nint) + + + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`select_singles_and_doubles` + + +.. c:function:: apply_holes: + + + File : :file:`determinants/determinants.irp.f` + + .. code:: fortran + + subroutine apply_holes(det, s1, h1, s2, h2, res, ok, Nint) + + + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`fill_buffer_double` + + +.. c:function:: apply_particle: + + + File : :file:`determinants/determinants.irp.f` + + .. code:: fortran + + subroutine apply_particle(det, s1, p1, res, ok, Nint) + + + + +.. c:function:: apply_particles: + + + File : :file:`determinants/determinants.irp.f` + + .. code:: fortran + + subroutine apply_particles(det, s1, p1, s2, p2, res, ok, Nint) + + + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`fill_buffer_double` + * :c:func:`get_d0` + * :c:func:`get_d1` + + +.. c:function:: bitstring_to_list_ab: + + + File : :file:`determinants/slater_rules.irp.f` + + .. code:: fortran + + subroutine bitstring_to_list_ab( string, list, n_elements, Nint) + + + Gives the inidices(+1) of the bits set to 1 in the bit string + For alpha/beta determinants. + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`a_operator` + * :c:func:`a_operator_two_e` + * :c:func:`ac_operator` + * :c:func:`ac_operator_two_e` + * :c:func:`build_fock_tmp` + * :c:func:`diag_h_mat_elem` + * :c:func:`diag_h_mat_elem_one_e` + * :c:func:`diag_wee_mat_elem` + * :c:func:`example_determinants` + * :c:data:`fock_operator_closed_shell_ref_bitmask` + * :c:data:`fock_wee_closed_shell` + * :c:func:`get_mono_excitation_from_fock` + * :c:func:`get_occupation_from_dets` + * :c:func:`i_h_j` + * :c:func:`i_h_j_s2` + * :c:func:`i_h_j_two_e` + * :c:func:`i_h_j_verbose` + * :c:func:`mono_excitation_wee` + * :c:data:`one_e_dm_mo_alpha` + * :c:data:`ref_closed_shell_bitmask` + * :c:func:`select_singles_and_doubles` + + +.. c:function:: build_fock_tmp: + + + File : :file:`determinants/fock_diag.irp.f` + + .. code:: fortran + + subroutine build_fock_tmp(fock_diag_tmp,det_ref,Nint) + + + Build the diagonal of the Fock matrix corresponding to a generator + determinant. $F_{00}$ is $\langle i|H|i \rangle = E_0$. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`elec_beta_num` + * :c:data:`mo_num` + * :c:data:`mo_one_e_integrals` + * :c:data:`elec_alpha_num` + * :c:data:`mo_two_e_integrals_jj` + * :c:data:`n_int` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`select_connected` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`bitstring_to_list_ab` + * :c:func:`debug_det` + + +.. c:function:: connected_to_ref: + + + File : :file:`determinants/connected_to_ref.irp.f` + + .. code:: fortran + + integer function connected_to_ref(key,keys,Nint,N_past_in,Ndet) + + + input : key : a given Slater determinant + + : keys: a list of Slater determinants + + : Ndet: the number of Slater determinants in keys + + : N_past_in the number of Slater determinants for the connectivity research + + output : 0 : key not connected to the N_past_in first Slater determinants in keys + + i : key is connected to determinant i of keys + + -i : key is the ith determinant of the reference wf keys + + +.. c:function:: connected_to_ref_by_mono: + + + File : :file:`determinants/connected_to_ref.irp.f` + + .. code:: fortran + + integer function connected_to_ref_by_mono(key,keys,Nint,N_past_in,Ndet) + + + Returns |true| is ``key`` is connected to the reference by a single excitation. + input : key : a given Slater determinant + + : keys: a list of Slater determinants + + : Ndet: the number of Slater determinants in keys + + : N_past_in the number of Slater determinants for the connectivity research + + output : 0 : key not connected by a MONO EXCITATION to the N_past_in first Slater determinants in keys + + i : key is connected by a MONO EXCITATION to determinant i of keys + + -i : key is the ith determinant of the reference wf keys + + +.. c:function:: copy_h_apply_buffer_to_wf: + + + File : :file:`determinants/h_apply.irp.f` + + .. code:: fortran + + subroutine copy_H_apply_buffer_to_wf + + + Copies the H_apply buffer to psi_coef. + After calling this subroutine, N_det, psi_det and psi_coef need to be touched + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`psi_coef` + * :c:data:`n_states` + * :c:data:`h_apply_buffer_allocated` + * :c:data:`n_det` + * :c:data:`psi_det_size` + * :c:data:`n_int` + * :c:data:`nproc` + * :c:data:`psi_det` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`generate_all_alpha_beta_det_products` + * :c:func:`make_s2_eigenfunction` + * :c:func:`run_stochastic_cipsi` + * :c:func:`zmq_selection` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`normalize` + * :c:func:`remove_duplicates_in_psi_det` + + Touches: + + .. hlist:: + :columns: 3 + + * :c:data:`n_det` + * :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:function:: copy_psi_bilinear_to_psi: + + + File : :file:`determinants/spindeterminants.irp.f` + + .. code:: fortran + + subroutine copy_psi_bilinear_to_psi(psi, isize) + + + Overwrites :c:data:`psi_det` and :c:data:`psi_coef` with the wave function + in bilinear order + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`psi_det_beta_unique` + * :c:data:`psi_det_alpha_unique` + * :c:data:`psi_bilinear_matrix_values` + * :c:data:`n_int` + + +.. c:function:: create_microlist: + + + File : :file:`determinants/filter_connected.irp.f` + + .. code:: fortran + + subroutine create_microlist(minilist, N_minilist, key_mask, microlist, idx_microlist, N_microlist, ptr_microlist, Nint) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_num` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`perturb_buffer_dummy` + * :c:func:`perturb_buffer_epstein_nesbet` + * :c:func:`perturb_buffer_epstein_nesbet_2x2` + * :c:func:`perturb_buffer_epstein_nesbet_2x2_no_ci_diag` + * :c:func:`perturb_buffer_moller_plesset` + * :c:func:`perturb_buffer_qdpt` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`bitstring_to_list` + + +.. c:function:: create_minilist: + + + File : :file:`determinants/slater_rules.irp.f` + + .. code:: fortran + + subroutine create_minilist(key_mask, fullList, miniList, idx_miniList, N_fullList, N_miniList, Nint) + + + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`perturb_buffer_by_mono_dummy` + * :c:func:`perturb_buffer_by_mono_epstein_nesbet` + * :c:func:`perturb_buffer_by_mono_epstein_nesbet_2x2` + * :c:func:`perturb_buffer_by_mono_epstein_nesbet_2x2_no_ci_diag` + * :c:func:`perturb_buffer_by_mono_moller_plesset` + * :c:func:`perturb_buffer_by_mono_qdpt` + * :c:func:`perturb_buffer_dummy` + * :c:func:`perturb_buffer_epstein_nesbet` + * :c:func:`perturb_buffer_epstein_nesbet_2x2` + * :c:func:`perturb_buffer_epstein_nesbet_2x2_no_ci_diag` + * :c:func:`perturb_buffer_moller_plesset` + * :c:func:`perturb_buffer_qdpt` + + +.. c:function:: create_minilist_find_previous: + + + File : :file:`determinants/slater_rules.irp.f` + + .. code:: fortran + + subroutine create_minilist_find_previous(key_mask, fullList, miniList, N_fullList, N_miniList, fullMatch, Nint) + + + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`perturb_buffer_by_mono_dummy` + * :c:func:`perturb_buffer_by_mono_epstein_nesbet` + * :c:func:`perturb_buffer_by_mono_epstein_nesbet_2x2` + * :c:func:`perturb_buffer_by_mono_epstein_nesbet_2x2_no_ci_diag` + * :c:func:`perturb_buffer_by_mono_moller_plesset` + * :c:func:`perturb_buffer_by_mono_qdpt` + * :c:func:`perturb_buffer_dummy` + * :c:func:`perturb_buffer_epstein_nesbet` + * :c:func:`perturb_buffer_epstein_nesbet_2x2` + * :c:func:`perturb_buffer_epstein_nesbet_2x2_no_ci_diag` + * :c:func:`perturb_buffer_moller_plesset` + * :c:func:`perturb_buffer_qdpt` + + +.. c:function:: create_wf_of_psi_bilinear_matrix: + + + File : :file:`determinants/spindeterminants.irp.f` + + .. code:: fortran + + subroutine create_wf_of_psi_bilinear_matrix(truncate) + + + Generates a wave function containing all possible products + of $\alpha$ and $\beta$ determinants + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`psi_coef` + * :c:data:`psi_det_beta_unique` + * :c:data:`psi_det_alpha_unique` + * :c:data:`psi_det_sorted_bit` + * :c:data:`n_states` + * :c:data:`n_det` + * :c:data:`psi_bilinear_matrix` + * :c:data:`n_int` + * :c:data:`psi_det` + * :c:data:`psi_det_sorted` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`generate_all_alpha_beta_det_products` + + Touches: + + .. hlist:: + :columns: 3 + + * :c:data:`n_det` + * :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:function:: decode_exc: + + + File : :file:`determinants/slater_rules.irp.f` + + .. code:: fortran + + subroutine decode_exc(exc,degree,h1,p1,h2,p2,s1,s2) + + + Decodes the exc arrays returned by get_excitation. + h1,h2 : Holes + p1,p2 : Particles + s1,s2 : Spins (1:alpha, 2:beta) + degree : Degree of excitation + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`diag_h_mat_elem_fock` + * :c:func:`example_determinants` + * :c:func:`pt2_moller_plesset` + + +.. c:function:: decode_exc_spin: + + + File : :file:`determinants/slater_rules.irp.f` + + .. code:: fortran + + subroutine decode_exc_spin(exc,h1,p1,h2,p2) + + + Decodes the exc arrays returned by get_excitation. + + h1,h2 : Holes + + p1,p2 : Particles + + Called by: + + .. hlist:: + :columns: 3 + + * :c:data:`one_e_dm_mo_alpha` + + +.. c:function:: det_inf: + + + File : :file:`determinants/sort_dets_ab.irp.f` + + .. code:: fortran + + logical function det_inf(key1, key2, Nint) + + + Ordering function for determinants. + + +.. c:function:: det_search_key: + + + File : :file:`determinants/connected_to_ref.irp.f` + + .. code:: fortran + + integer*8 function det_search_key(det,Nint) + + + Return an integer*8 corresponding to a determinant index for searching + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`elec_alpha_num` + + +.. c:function:: detcmp: + + + File : :file:`determinants/determinants.irp.f` + + .. code:: fortran + + integer function detCmp(a,b,Nint) + + + + +.. c:function:: deteq: + + + File : :file:`determinants/determinants.irp.f` + + .. code:: fortran + + logical function detEq(a,b,Nint) + + + + +.. c:function:: diag_h_mat_elem: + + + File : :file:`determinants/slater_rules.irp.f` + + .. code:: fortran + + double precision function diag_H_mat_elem(det_in,Nint) + + + Computes $\langle i|H|i \rangle$. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ref_bitmask_energy` + * :c:data:`elec_num` + * :c:data:`ref_bitmask` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`a_operator` + * :c:func:`ac_operator` + * :c:func:`bitstring_to_list_ab` + + +.. c:function:: diag_h_mat_elem_fock: + + + File : :file:`determinants/slater_rules.irp.f` + + .. code:: fortran + + double precision function diag_H_mat_elem_fock(det_ref,det_pert,fock_diag_tmp,Nint) + + + Computes $\langle i|H|i \rangle$ when $i$ is at most a double excitation from + a reference. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_two_e_integrals_jj` + * :c:data:`mo_num` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`decode_exc` + * :c:func:`get_double_excitation` + * :c:func:`get_excitation_degree` + * :c:func:`get_mono_excitation` + + +.. c:function:: diag_h_mat_elem_one_e: + + + File : :file:`determinants/slater_rules_wee_mono.irp.f` + + .. code:: fortran + + double precision function diag_H_mat_elem_one_e(det_in,Nint) + + + Computes $\langle i|H|i \rangle$. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_one_e_integrals` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`bitstring_to_list_ab` + + +.. c:function:: diag_s_mat_elem: + + + File : :file:`determinants/s2.irp.f` + + .. code:: fortran + + double precision function diag_S_mat_elem(key_i,Nint) + + + Returns + + +.. c:function:: diag_wee_mat_elem: + + + File : :file:`determinants/slater_rules_wee_mono.irp.f` + + .. code:: fortran + + double precision function diag_wee_mat_elem(det_in,Nint) + + + Computes $\langle i|H|i \rangle$. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ref_bitmask_energy` + * :c:data:`elec_num` + * :c:data:`ref_bitmask` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`a_operator_two_e` + * :c:func:`ac_operator_two_e` + * :c:func:`bitstring_to_list_ab` + + +.. c:function:: do_mono_excitation: + + + File : :file:`determinants/create_excitations.irp.f` + + .. code:: fortran + + subroutine do_mono_excitation(key_in,i_hole,i_particle,ispin,i_ok) + + + Apply the single excitation operator : a^{dager}_(i_particle) a_(i_hole) of spin = ispin + on key_in + ispin = 1 == alpha + ispin = 2 == beta + i_ok = 1 == the excitation is possible + i_ok = -1 == the excitation is not possible + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`elec_num` + * :c:data:`n_int` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`example_determinants` + + +.. c:function:: example_determinants: + + + File : :file:`determinants/example.irp.f` + + .. code:: fortran + + subroutine example_determinants + + + subroutine that illustrates the main features available in determinants + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ref_bitmask` + * :c:data:`elec_alpha_num` + * :c:data:`n_int` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`bitstring_to_list_ab` + * :c:func:`debug_det` + * :c:func:`decode_exc` + * :c:func:`do_mono_excitation` + * :c:func:`get_excitation` + * :c:func:`get_excitation_degree` + * :c:func:`i_h_j` + * :c:func:`print_det` + + +.. c:function:: example_determinants_psi_det: + + + File : :file:`determinants/example.irp.f` + + .. code:: fortran + + subroutine example_determinants_psi_det + + + subroutine that illustrates the main features available in determinants using the psi_det/psi_coef + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`read_wf` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`routine_example_psi_det` + + Touches: + + .. hlist:: + :columns: 3 + + * :c:data:`read_wf` + + +.. c:function:: fill_h_apply_buffer_no_selection: + + + File : :file:`determinants/h_apply.irp.f` + + .. code:: fortran + + subroutine fill_H_apply_buffer_no_selection(n_selected,det_buffer,Nint,iproc) + + + Fill the H_apply buffer with determiants for |CISD| + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_states` + * :c:data:`h_apply_buffer_allocated` + * :c:data:`n_det` + * :c:data:`n_int` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`generate_all_alpha_beta_det_products` + * :c:func:`make_s2_eigenfunction` + * :c:func:`zmq_pt2` + * :c:func:`zmq_selection` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`omp_set_lock` + * :c:func:`omp_unset_lock` + * :c:func:`resize_h_apply_buffer` + + +.. c:function:: filter_connected: + + + File : :file:`determinants/filter_connected.irp.f` + + .. code:: fortran + + subroutine filter_connected(key1,key2,Nint,sze,idx) + + + Filters out the determinants that are not connected by H + + returns the array idx which contains the index of the + + determinants in the array key1 that interact + + via the H operator with key2. + + idx(0) is the number of determinants that interact with key1 + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`get_uj_s2_ui` + + +.. c:function:: filter_connected_i_h_psi0: + + + File : :file:`determinants/filter_connected.irp.f` + + .. code:: fortran + + subroutine filter_connected_i_H_psi0(key1,key2,Nint,sze,idx) + + + Returns the array idx which contains the index of the + + determinants in the array key1 that interact + + via the H operator with key2. + + idx(0) is the number of determinants that interact with key1 + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`i_h_psi` + * :c:func:`i_h_psi_minilist` + * :c:func:`i_s2_psi_minilist` + + +.. c:function:: filter_not_connected: + + + File : :file:`determinants/filter_connected.irp.f` + + .. code:: fortran + + subroutine filter_not_connected(key1,key2,Nint,sze,idx) + + + Returns the array idx which contains the index of the + + determinants in the array key1 that DO NOT interact + + via the H operator with key2. + + idx(0) is the number of determinants that DO NOT interact with key1 + + +.. c:function:: generate_all_alpha_beta_det_products: + + + File : :file:`determinants/spindeterminants.irp.f` + + .. code:: fortran + + subroutine generate_all_alpha_beta_det_products + + + Creates a wave function from all possible $\alpha \times \beta$ determinants + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`psi_coef` + * :c:data:`psi_det_beta_unique` + * :c:data:`psi_det_alpha_unique` + * :c:data:`h_apply_buffer_allocated` + * :c:data:`n_det` + * :c:data:`n_int` + * :c:data:`psi_det` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`create_wf_of_psi_bilinear_matrix` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`copy_h_apply_buffer_to_wf` + * :c:func:`fill_h_apply_buffer_no_selection` + + Touches: + + .. hlist:: + :columns: 3 + + * :c:data:`n_det` + * :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:function:: get_all_spin_doubles: + + + File : :file:`determinants/spindeterminants.irp.f` + + .. code:: fortran + + subroutine get_all_spin_doubles(buffer, idx, spindet, Nint, size_buffer, doubles, n_doubles) + + + + Returns the indices of all the double excitations in the list of + unique $\alpha$ determinants. + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_int` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`get_all_spin_doubles_1` + * :c:func:`get_all_spin_doubles_2` + * :c:func:`get_all_spin_doubles_3` + * :c:func:`get_all_spin_doubles_4` + * :c:func:`get_all_spin_doubles_n_int` + + +.. c:function:: get_all_spin_doubles_1: + + + File : :file:`determinants/spindeterminants.irp.f` + + .. code:: fortran + + subroutine get_all_spin_doubles_1(buffer, idx, spindet, size_buffer, doubles, n_doubles) + + + + Returns the indices of all the double excitations in the list of + unique $\alpha$ determinants. + + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`get_all_spin_doubles` + + +.. c:function:: get_all_spin_doubles_2: + + + File : :file:`determinants/spindeterminants.irp.f_template_1291` + + .. code:: fortran + + subroutine get_all_spin_doubles_2(buffer, idx, spindet, size_buffer, doubles, n_doubles) + + + + Returns the indices of all the double excitations in the list of + unique $lpha$ determinants. + + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`get_all_spin_doubles` + + +.. c:function:: get_all_spin_doubles_3: + + + File : :file:`determinants/spindeterminants.irp.f_template_1291` + + .. code:: fortran + + subroutine get_all_spin_doubles_3(buffer, idx, spindet, size_buffer, doubles, n_doubles) + + + + Returns the indices of all the double excitations in the list of + unique $lpha$ determinants. + + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`get_all_spin_doubles` + + +.. c:function:: get_all_spin_doubles_4: + + + File : :file:`determinants/spindeterminants.irp.f_template_1291` + + .. code:: fortran + + subroutine get_all_spin_doubles_4(buffer, idx, spindet, size_buffer, doubles, n_doubles) + + + + Returns the indices of all the double excitations in the list of + unique $lpha$ determinants. + + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`get_all_spin_doubles` + + +.. c:function:: get_all_spin_doubles_n_int: + + + File : :file:`determinants/spindeterminants.irp.f_template_1291` + + .. code:: fortran + + subroutine get_all_spin_doubles_N_int(buffer, idx, spindet, size_buffer, doubles, n_doubles) + + + + Returns the indices of all the double excitations in the list of + unique $lpha$ determinants. + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_int` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`get_all_spin_doubles` + + +.. c:function:: get_all_spin_singles: + + + File : :file:`determinants/spindeterminants.irp.f` + + .. code:: fortran + + subroutine get_all_spin_singles(buffer, idx, spindet, Nint, size_buffer, singles, n_singles) + + + + Returns the indices of all the single excitations in the list of + unique $\alpha$ determinants. + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_int` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:data:`singles_alpha_csc` + * :c:data:`singles_alpha_csc_idx` + * :c:data:`singles_beta_csc` + * :c:data:`singles_beta_csc_idx` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`get_all_spin_singles_1` + * :c:func:`get_all_spin_singles_2` + * :c:func:`get_all_spin_singles_3` + * :c:func:`get_all_spin_singles_4` + * :c:func:`get_all_spin_singles_n_int` + + +.. c:function:: get_all_spin_singles_1: + + + File : :file:`determinants/spindeterminants.irp.f` + + .. code:: fortran + + subroutine get_all_spin_singles_1(buffer, idx, spindet, size_buffer, singles, n_singles) + + + + Returns the indices of all the single excitations in the list of + unique $\alpha$ determinants. + + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`get_all_spin_singles` + * :c:func:`h_s2_u_0_nstates_openmp_work_1` + * :c:func:`h_s2_u_0_two_e_nstates_openmp_work_1` + + +.. c:function:: get_all_spin_singles_2: + + + File : :file:`determinants/spindeterminants.irp.f_template_1291` + + .. code:: fortran + + subroutine get_all_spin_singles_2(buffer, idx, spindet, size_buffer, singles, n_singles) + + + + Returns the indices of all the single excitations in the list of + unique $lpha$ determinants. + + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`get_all_spin_singles` + * :c:func:`h_s2_u_0_nstates_openmp_work_2` + * :c:func:`h_s2_u_0_two_e_nstates_openmp_work_2` + + +.. c:function:: get_all_spin_singles_3: + + + File : :file:`determinants/spindeterminants.irp.f_template_1291` + + .. code:: fortran + + subroutine get_all_spin_singles_3(buffer, idx, spindet, size_buffer, singles, n_singles) + + + + Returns the indices of all the single excitations in the list of + unique $lpha$ determinants. + + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`get_all_spin_singles` + * :c:func:`h_s2_u_0_nstates_openmp_work_3` + * :c:func:`h_s2_u_0_two_e_nstates_openmp_work_3` + + +.. c:function:: get_all_spin_singles_4: + + + File : :file:`determinants/spindeterminants.irp.f_template_1291` + + .. code:: fortran + + subroutine get_all_spin_singles_4(buffer, idx, spindet, size_buffer, singles, n_singles) + + + + Returns the indices of all the single excitations in the list of + unique $lpha$ determinants. + + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`get_all_spin_singles` + * :c:func:`h_s2_u_0_nstates_openmp_work_4` + * :c:func:`h_s2_u_0_two_e_nstates_openmp_work_4` + + +.. c:function:: get_all_spin_singles_and_doubles: + + + File : :file:`determinants/spindeterminants.irp.f` + + .. code:: fortran + + subroutine get_all_spin_singles_and_doubles(buffer, idx, spindet, Nint, size_buffer, singles, doubles, n_singles, n_doubles) + + + + Returns the indices of all the single and double excitations in the list of + unique $\alpha$ determinants. + + Warning: The buffer is transposed. + + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`get_all_spin_singles_and_doubles_1` + * :c:func:`get_all_spin_singles_and_doubles_2` + * :c:func:`get_all_spin_singles_and_doubles_3` + * :c:func:`get_all_spin_singles_and_doubles_4` + * :c:func:`get_all_spin_singles_and_doubles_n_int` + + +.. c:function:: get_all_spin_singles_and_doubles_1: + + + File : :file:`determinants/spindeterminants.irp.f` + + .. code:: fortran + + subroutine get_all_spin_singles_and_doubles_1(buffer, idx, spindet, size_buffer, singles, doubles, n_singles, n_doubles) + + + + Returns the indices of all the single and double excitations in the list of + unique $\alpha$ determinants. + + /!\ : The buffer is transposed ! + + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`get_all_spin_singles_and_doubles` + * :c:func:`h_s2_u_0_nstates_openmp_work_1` + * :c:func:`h_s2_u_0_two_e_nstates_openmp_work_1` + + +.. c:function:: get_all_spin_singles_and_doubles_2: + + + File : :file:`determinants/spindeterminants.irp.f_template_1291` + + .. code:: fortran + + subroutine get_all_spin_singles_and_doubles_2(buffer, idx, spindet, size_buffer, singles, doubles, n_singles, n_doubles) + + + + Returns the indices of all the single and double excitations in the list of + unique $lpha$ determinants. + + /!\ : The buffer is transposed ! + + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`get_all_spin_singles_and_doubles` + * :c:func:`h_s2_u_0_nstates_openmp_work_2` + * :c:func:`h_s2_u_0_two_e_nstates_openmp_work_2` + + +.. c:function:: get_all_spin_singles_and_doubles_3: + + + File : :file:`determinants/spindeterminants.irp.f_template_1291` + + .. code:: fortran + + subroutine get_all_spin_singles_and_doubles_3(buffer, idx, spindet, size_buffer, singles, doubles, n_singles, n_doubles) + + + + Returns the indices of all the single and double excitations in the list of + unique $lpha$ determinants. + + /!\ : The buffer is transposed ! + + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`get_all_spin_singles_and_doubles` + * :c:func:`h_s2_u_0_nstates_openmp_work_3` + * :c:func:`h_s2_u_0_two_e_nstates_openmp_work_3` + + +.. c:function:: get_all_spin_singles_and_doubles_4: + + + File : :file:`determinants/spindeterminants.irp.f_template_1291` + + .. code:: fortran + + subroutine get_all_spin_singles_and_doubles_4(buffer, idx, spindet, size_buffer, singles, doubles, n_singles, n_doubles) + + + + Returns the indices of all the single and double excitations in the list of + unique $lpha$ determinants. + + /!\ : The buffer is transposed ! + + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`get_all_spin_singles_and_doubles` + * :c:func:`h_s2_u_0_nstates_openmp_work_4` + * :c:func:`h_s2_u_0_two_e_nstates_openmp_work_4` + + +.. c:function:: get_all_spin_singles_and_doubles_n_int: + + + File : :file:`determinants/spindeterminants.irp.f_template_1291` + + .. code:: fortran + + subroutine get_all_spin_singles_and_doubles_N_int(buffer, idx, spindet, size_buffer, singles, doubles, n_singles, n_doubles) + + + + Returns the indices of all the single and double excitations in the list of + unique $lpha$ determinants. + + /!\ : The buffer is transposed ! + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_int` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`get_all_spin_singles_and_doubles` + * :c:func:`h_s2_u_0_nstates_openmp_work_n_int` + * :c:func:`h_s2_u_0_two_e_nstates_openmp_work_n_int` + + +.. c:function:: get_all_spin_singles_n_int: + + + File : :file:`determinants/spindeterminants.irp.f_template_1291` + + .. code:: fortran + + subroutine get_all_spin_singles_N_int(buffer, idx, spindet, size_buffer, singles, n_singles) + + + + Returns the indices of all the single excitations in the list of + unique $lpha$ determinants. + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_int` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`get_all_spin_singles` + * :c:func:`h_s2_u_0_nstates_openmp_work_n_int` + * :c:func:`h_s2_u_0_two_e_nstates_openmp_work_n_int` + + +.. c:function:: get_double_excitation: + + + File : :file:`determinants/slater_rules.irp.f` + + .. code:: fortran + + subroutine get_double_excitation(det1,det2,exc,phase,Nint) + + + Returns the two excitation operators between two doubly excited determinants and the phase. + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`diag_h_mat_elem_fock` + * :c:func:`get_excitation` + * :c:func:`get_s2` + * :c:func:`i_h_j` + * :c:func:`i_h_j_s2` + * :c:func:`i_h_j_two_e` + * :c:func:`i_h_j_verbose` + + +.. c:function:: get_double_excitation_spin: + + + File : :file:`determinants/slater_rules.irp.f` + + .. code:: fortran + + subroutine get_double_excitation_spin(det1,det2,exc,phase,Nint) + + + Returns the two excitation operators between two doubly excited spin-determinants + and the phase. + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`get_excitation_spin` + * :c:func:`i_h_j_double_spin` + + +.. c:function:: get_excitation: + + + File : :file:`determinants/slater_rules.irp.f` + + .. code:: fortran + + subroutine get_excitation(det1,det2,exc,degree,phase,Nint) + + + Returns the excitation operators between two determinants and the phase. + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`example_determinants` + * :c:func:`get_phase` + * :c:func:`pt2_moller_plesset` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`get_double_excitation` + * :c:func:`get_excitation_degree` + * :c:func:`get_mono_excitation` + + +.. c:function:: get_excitation_degree: + + + File : :file:`determinants/slater_rules.irp.f` + + .. code:: fortran + + subroutine get_excitation_degree(key1,key2,degree,Nint) + + + Returns the excitation degree between two determinants. + + Called by: + + .. hlist:: + :columns: 3 + + * :c:data:`degree_max_generators` + * :c:func:`diag_h_mat_elem_fock` + * :c:func:`example_determinants` + * :c:data:`exc_degree_per_selectors` + * :c:func:`get_excitation` + * :c:func:`get_s2` + * :c:func:`i_h_j` + * :c:func:`i_h_j_one_e` + * :c:func:`i_h_j_s2` + * :c:func:`i_h_j_two_e` + * :c:func:`i_h_j_verbose` + * :c:data:`max_degree_exc` + * :c:data:`psi_non_cas` + * :c:func:`pt2_qdpt` + + +.. c:function:: get_excitation_degree_spin: + + + File : :file:`determinants/slater_rules.irp.f` + + .. code:: fortran + + subroutine get_excitation_degree_spin(key1,key2,degree,Nint) + + + Returns the excitation degree between two determinants. + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`get_excitation_spin` + * :c:data:`one_e_dm_mo_alpha` + * :c:func:`select_singles_and_doubles` + + +.. c:function:: get_excitation_degree_vector: + + + File : :file:`determinants/slater_rules.irp.f` + + .. code:: fortran + + subroutine get_excitation_degree_vector(key1,key2,degree,Nint,sze,idx) + + + Applies get_excitation_degree to an array of determinants. + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`routine_example_psi_det` + + +.. c:function:: get_excitation_degree_vector_double_alpha_beta: + + + File : :file:`determinants/slater_rules.irp.f` + + .. code:: fortran + + subroutine get_excitation_degree_vector_double_alpha_beta(key1,key2,degree,Nint,sze,idx) + + + Applies get_excitation_degree to an array of determinants and return only the + single excitations and the connections through exchange integrals. + + +.. c:function:: get_excitation_degree_vector_mono: + + + File : :file:`determinants/slater_rules.irp.f` + + .. code:: fortran + + subroutine get_excitation_degree_vector_mono(key1,key2,degree,Nint,sze,idx) + + + Applies get_excitation_degree to an array of determinants and returns only + the single excitations. + + +.. c:function:: get_excitation_degree_vector_mono_or_exchange: + + + File : :file:`determinants/slater_rules.irp.f` + + .. code:: fortran + + subroutine get_excitation_degree_vector_mono_or_exchange(key1,key2,degree,Nint,sze,idx) + + + Applies get_excitation_degree to an array of determinants and return only the + single excitations and the connections through exchange integrals. + + +.. c:function:: get_excitation_degree_vector_mono_or_exchange_verbose: + + + File : :file:`determinants/slater_rules.irp.f` + + .. code:: fortran + + subroutine get_excitation_degree_vector_mono_or_exchange_verbose(key1,key2,degree,Nint,sze,idx) + + + Applies get_excitation_degree to an array of determinants and return only the single + excitations and the connections through exchange integrals. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_int` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`debug_det` + + +.. c:function:: get_excitation_spin: + + + File : :file:`determinants/slater_rules.irp.f` + + .. code:: fortran + + subroutine get_excitation_spin(det1,det2,exc,degree,phase,Nint) + + + Returns the excitation operators between two determinants and the phase. + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`get_double_excitation_spin` + * :c:func:`get_excitation_degree_spin` + * :c:func:`get_mono_excitation_spin` + + +.. c:function:: get_index_in_psi_det_alpha_unique: + + + File : :file:`determinants/spindeterminants.irp.f` + + .. code:: fortran + + integer function get_index_in_psi_det_alpha_unique(key,Nint) + + + Returns the index of the determinant in the :c:data:`psi_det_alpha_unique` array + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`psi_det_alpha_unique` + + +.. c:function:: get_index_in_psi_det_beta_unique: + + + File : :file:`determinants/spindeterminants.irp.f` + + .. code:: fortran + + integer function get_index_in_psi_det_beta_unique(key,Nint) + + + Returns the index of the determinant in the :c:data:`psi_det_beta_unique` array + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`psi_det_beta_unique` + + +.. c:function:: get_index_in_psi_det_sorted_bit: + + + File : :file:`determinants/connected_to_ref.irp.f` + + .. code:: fortran + + integer function get_index_in_psi_det_sorted_bit(key,Nint) + + + Returns the index of the determinant in the ``psi_det_sorted_bit`` array + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`psi_det_sorted_bit` + * :c:data:`n_det` + + +.. c:function:: get_mono_excitation: + + + File : :file:`determinants/slater_rules.irp.f` + + .. code:: fortran + + subroutine get_mono_excitation(det1,det2,exc,phase,Nint) + + + Returns the excitation operator between two singly excited determinants and the phase. + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`diag_h_mat_elem_fock` + * :c:func:`get_excitation` + * :c:func:`i_h_j` + * :c:func:`i_h_j_one_e` + * :c:func:`i_h_j_s2` + * :c:func:`i_h_j_two_e` + * :c:func:`i_h_j_verbose` + + +.. c:function:: get_mono_excitation_from_fock: + + + File : :file:`determinants/single_excitations.irp.f` + + .. code:: fortran + + subroutine get_mono_excitation_from_fock(det_1,det_2,h,p,spin,phase,hij) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ref_closed_shell_bitmask` + * :c:data:`big_array_coulomb_integrals` + * :c:data:`fock_operator_closed_shell_ref_bitmask` + * :c:data:`n_int` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`i_h_j` + * :c:func:`i_h_j_mono_spin` + * :c:func:`i_h_j_s2` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`bitstring_to_list_ab` + + +.. c:function:: get_mono_excitation_spin: + + + File : :file:`determinants/slater_rules.irp.f` + + .. code:: fortran + + subroutine get_mono_excitation_spin(det1,det2,exc,phase,Nint) + + + Returns the excitation operator between two singly excited determinants and the phase. + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`get_excitation_spin` + * :c:func:`i_h_j_double_alpha_beta` + * :c:func:`i_h_j_mono_spin` + * :c:func:`i_h_j_mono_spin_one_e` + * :c:func:`i_wee_j_mono` + * :c:data:`one_e_dm_mo_alpha` + + +.. c:function:: get_occupation_from_dets: + + + File : :file:`determinants/density_matrix.irp.f` + + .. code:: fortran + + subroutine get_occupation_from_dets(istate,occupation) + + + Returns the average occupation of the MOs + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`psi_coef` + * :c:data:`psi_det` + * :c:data:`n_int` + * :c:data:`n_det` + * :c:data:`mo_num` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`bitstring_to_list_ab` + + +.. c:function:: get_phase: + + + File : :file:`determinants/slater_rules.irp.f` + + .. code:: fortran + + subroutine get_phase(key1,key2,phase,Nint) + + + Returns the phase between key1 and key2. + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`get_excitation` + + +.. c:function:: get_phasemask_bit: + + + File : :file:`determinants/slater_rules.irp.f` + + .. code:: fortran + + subroutine get_phasemask_bit(det1, pm, Nint) + + + + +.. c:function:: get_s2: + + + File : :file:`determinants/s2.irp.f` + + .. code:: fortran + + subroutine get_s2(key_i,key_j,Nint,s2) + + + Returns + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`get_uj_s2_ui` + * :c:func:`h_s2_u_0_nstates_openmp_work_1` + * :c:func:`h_s2_u_0_nstates_openmp_work_2` + * :c:func:`h_s2_u_0_nstates_openmp_work_3` + * :c:func:`h_s2_u_0_nstates_openmp_work_4` + * :c:func:`h_s2_u_0_nstates_openmp_work_n_int` + * :c:func:`h_s2_u_0_two_e_nstates_openmp_work_1` + * :c:func:`h_s2_u_0_two_e_nstates_openmp_work_2` + * :c:func:`h_s2_u_0_two_e_nstates_openmp_work_3` + * :c:func:`h_s2_u_0_two_e_nstates_openmp_work_4` + * :c:func:`h_s2_u_0_two_e_nstates_openmp_work_n_int` + * :c:func:`i_s2_psi_minilist` + * :c:data:`s2_matrix_all_dets` + * :c:func:`s2_u_0_nstates` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`get_double_excitation` + * :c:func:`get_excitation_degree` + + +.. c:function:: get_uj_s2_ui: + + + File : :file:`determinants/s2.irp.f` + + .. code:: fortran + + subroutine get_uJ_s2_uI(psi_keys_tmp,psi_coefs_tmp,n,nmax_coefs,nmax_keys,s2,nstates) + + + returns the matrix elements of S^2 "s2(i,j)" between the "nstates" states + psi_coefs_tmp(:,i) and psi_coefs_tmp(:,j) + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_int` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`filter_connected` + * :c:func:`get_s2` + + +.. c:function:: getmobiles: + + + File : :file:`determinants/filter_connected.irp.f` + + .. code:: fortran + + subroutine getMobiles(key,key_mask, mobiles,Nint) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_num` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`perturb_buffer_dummy` + * :c:func:`perturb_buffer_epstein_nesbet` + * :c:func:`perturb_buffer_epstein_nesbet_2x2` + * :c:func:`perturb_buffer_epstein_nesbet_2x2_no_ci_diag` + * :c:func:`perturb_buffer_moller_plesset` + * :c:func:`perturb_buffer_qdpt` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`bitstring_to_list` + + +.. c:function:: i_h_j: + + + File : :file:`determinants/slater_rules.irp.f` + + .. code:: fortran + + subroutine i_H_j(key_i,key_j,Nint,hij) + + + Returns $\langle i|H|j \rangle$ where $i$ and $j$ are determinants. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`big_array_coulomb_integrals` + * :c:data:`mo_two_e_integrals_in_map` + * :c:data:`big_array_coulomb_integrals` + * :c:data:`mo_integrals_map` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:data:`coef_hf_selector` + * :c:func:`example_determinants` + * :c:func:`get_d0` + * :c:func:`get_d1` + * :c:data:`h_matrix_all_dets` + * :c:data:`h_matrix_cas` + * :c:func:`i_h_psi` + * :c:func:`i_h_psi_minilist` + * :c:func:`pt2_qdpt` + * :c:func:`routine_example_psi_det` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`bitstring_to_list_ab` + * :c:func:`get_double_excitation` + * :c:func:`get_excitation_degree` + * :c:func:`get_mono_excitation` + * :c:func:`get_mono_excitation_from_fock` + + +.. c:function:: i_h_j_double_alpha_beta: + + + File : :file:`determinants/slater_rules.irp.f` + + .. code:: fortran + + subroutine i_H_j_double_alpha_beta(key_i,key_j,Nint,hij) + + + Returns $\langle i|H|j \rangle$ where $i$ and $j$ are determinants differing by + an opposite-spin double excitation. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`big_array_coulomb_integrals` + * :c:data:`mo_two_e_integrals_in_map` + * :c:data:`big_array_coulomb_integrals` + * :c:data:`mo_integrals_map` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`h_s2_u_0_nstates_openmp_work_1` + * :c:func:`h_s2_u_0_nstates_openmp_work_2` + * :c:func:`h_s2_u_0_nstates_openmp_work_3` + * :c:func:`h_s2_u_0_nstates_openmp_work_4` + * :c:func:`h_s2_u_0_nstates_openmp_work_n_int` + * :c:func:`h_s2_u_0_two_e_nstates_openmp_work_1` + * :c:func:`h_s2_u_0_two_e_nstates_openmp_work_2` + * :c:func:`h_s2_u_0_two_e_nstates_openmp_work_3` + * :c:func:`h_s2_u_0_two_e_nstates_openmp_work_4` + * :c:func:`h_s2_u_0_two_e_nstates_openmp_work_n_int` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`get_mono_excitation_spin` + + +.. c:function:: i_h_j_double_spin: + + + File : :file:`determinants/slater_rules.irp.f` + + .. code:: fortran + + subroutine i_H_j_double_spin(key_i,key_j,Nint,hij) + + + Returns $\langle i|H|j \rangle$ where $i$ and $j$ are determinants differing by + a same-spin double excitation. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`big_array_coulomb_integrals` + * :c:data:`mo_two_e_integrals_in_map` + * :c:data:`mo_integrals_map` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`h_s2_u_0_nstates_openmp_work_1` + * :c:func:`h_s2_u_0_nstates_openmp_work_2` + * :c:func:`h_s2_u_0_nstates_openmp_work_3` + * :c:func:`h_s2_u_0_nstates_openmp_work_4` + * :c:func:`h_s2_u_0_nstates_openmp_work_n_int` + * :c:func:`h_s2_u_0_two_e_nstates_openmp_work_1` + * :c:func:`h_s2_u_0_two_e_nstates_openmp_work_2` + * :c:func:`h_s2_u_0_two_e_nstates_openmp_work_3` + * :c:func:`h_s2_u_0_two_e_nstates_openmp_work_4` + * :c:func:`h_s2_u_0_two_e_nstates_openmp_work_n_int` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`get_double_excitation_spin` + + +.. c:function:: i_h_j_mono_spin: + + + File : :file:`determinants/slater_rules.irp.f` + + .. code:: fortran + + subroutine i_H_j_mono_spin(key_i,key_j,Nint,spin,hij) + + + Returns $\langle i|H|j \rangle$ where $i$ and $j$ are determinants differing by + a single excitation. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`big_array_coulomb_integrals` + * :c:data:`mo_two_e_integrals_in_map` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`h_s2_u_0_nstates_openmp_work_1` + * :c:func:`h_s2_u_0_nstates_openmp_work_2` + * :c:func:`h_s2_u_0_nstates_openmp_work_3` + * :c:func:`h_s2_u_0_nstates_openmp_work_4` + * :c:func:`h_s2_u_0_nstates_openmp_work_n_int` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`get_mono_excitation_from_fock` + * :c:func:`get_mono_excitation_spin` + + +.. c:function:: i_h_j_mono_spin_one_e: + + + File : :file:`determinants/slater_rules_wee_mono.irp.f` + + .. code:: fortran + + subroutine i_H_j_mono_spin_one_e(key_i,key_j,Nint,spin,hij) + + + Returns $\langle i|H|j \rangle$ where $i$ and $j$ are determinants differing by + a single excitation. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_one_e_integrals` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`get_mono_excitation_spin` + + +.. c:function:: i_h_j_one_e: + + + File : :file:`determinants/slater_rules_wee_mono.irp.f` + + .. code:: fortran + + subroutine i_H_j_one_e(key_i,key_j,Nint,hij) + + + Returns $\langle i|H|j \rangle$ where $i$ and $j$ are determinants. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_one_e_integrals` + * :c:data:`n_int` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`get_excitation_degree` + * :c:func:`get_mono_excitation` + + +.. c:function:: i_h_j_s2: + + + File : :file:`determinants/slater_rules.irp.f` + + .. code:: fortran + + subroutine i_H_j_s2(key_i,key_j,Nint,hij,s2) + + + Returns $\langle i|H|j \rangle$ and $\langle i|S^2|j \rangle$ + where $i$ and $j$ are determinants. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`big_array_coulomb_integrals` + * :c:data:`mo_two_e_integrals_in_map` + * :c:data:`big_array_coulomb_integrals` + * :c:data:`mo_integrals_map` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`bitstring_to_list_ab` + * :c:func:`get_double_excitation` + * :c:func:`get_excitation_degree` + * :c:func:`get_mono_excitation` + * :c:func:`get_mono_excitation_from_fock` + + +.. c:function:: i_h_j_two_e: + + + File : :file:`determinants/slater_rules_wee_mono.irp.f` + + .. code:: fortran + + subroutine i_H_j_two_e(key_i,key_j,Nint,hij) + + + Returns $\langle i|H|j \rangle$ where $i$ and $j$ are determinants. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ref_bitmask_energy` + * :c:data:`big_array_coulomb_integrals` + * :c:data:`mo_two_e_integrals_in_map` + * :c:data:`big_array_coulomb_integrals` + * :c:data:`mo_integrals_map` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`bitstring_to_list_ab` + * :c:func:`get_double_excitation` + * :c:func:`get_excitation_degree` + * :c:func:`get_mono_excitation` + * :c:func:`mono_excitation_wee` + + +.. c:function:: i_h_j_verbose: + + + File : :file:`determinants/slater_rules.irp.f` + + .. code:: fortran + + subroutine i_H_j_verbose(key_i,key_j,Nint,hij,hmono,hdouble,phase) + + + Returns $\langle i|H|j \rangle$ where $i$ and $j$ are determinants. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`elec_beta_num` + * :c:data:`mo_one_e_integrals` + * :c:data:`mo_two_e_integrals_in_map` + * :c:data:`elec_alpha_num` + * :c:data:`mo_integrals_map` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`bitstring_to_list_ab` + * :c:func:`get_double_excitation` + * :c:func:`get_excitation_degree` + * :c:func:`get_mono_excitation` + + +.. c:function:: i_h_psi: + + + File : :file:`determinants/slater_rules.irp.f` + + .. code:: fortran + + subroutine i_H_psi(key,keys,coef,Nint,Ndet,Ndet_max,Nstate,i_H_psi_array) + + + Computes $\langle i|H|Psi \rangle = \sum_J c_J \langle i | H | J \rangle$. + + Uses filter_connected_i_H_psi0 to get all the $|J \rangle$ to which $|i \rangle$ + is connected. + The i_H_psi_minilist is much faster but requires to build the + minilists. + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`pt2_epstein_nesbet_2x2` + * :c:func:`pt2_epstein_nesbet_2x2_no_ci_diag` + * :c:func:`remove_small_contributions` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`filter_connected_i_h_psi0` + * :c:func:`i_h_j` + + +.. c:function:: i_h_psi_minilist: + + + File : :file:`determinants/slater_rules.irp.f` + + .. code:: fortran + + subroutine i_H_psi_minilist(key,keys,idx_key,N_minilist,coef,Nint,Ndet,Ndet_max,Nstate,i_H_psi_array) + + + Computes $\langle i|H|\Psi \rangle = \sum_J c_J \langle i|H|J\rangle$. + + Uses filter_connected_i_H_psi0 to get all the $|J \rangle$ to which $|i \rangle$ + is connected. The $|J\rangle$ are searched in short pre-computed lists. + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`pt2_dummy` + * :c:func:`pt2_epstein_nesbet` + * :c:func:`pt2_moller_plesset` + * :c:func:`pt2_qdpt` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`filter_connected_i_h_psi0` + * :c:func:`i_h_j` + + +.. c:function:: i_s2_psi_minilist: + + + File : :file:`determinants/s2.irp.f` + + .. code:: fortran + + subroutine i_S2_psi_minilist(key,keys,idx_key,N_minilist,coef,Nint,Ndet,Ndet_max,Nstate,i_S2_psi_array) + + + Computes $\langle i|S^2|\Psi \rangle = \sum_J c_J \langle i|S^2|J \rangle$. + + Uses filter_connected_i_H_psi0 to get all the $|J\rangle$ to which $|i\rangle$ + is connected. The $|J\rangle$ are searched in short pre-computed lists. + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`filter_connected_i_h_psi0` + * :c:func:`get_s2` + + +.. c:function:: i_wee_j_mono: + + + File : :file:`determinants/slater_rules_wee_mono.irp.f` + + .. code:: fortran + + subroutine i_Wee_j_mono(key_i,key_j,Nint,spin,hij) + + + Returns $\langle i|H|j \rangle$ where $i$ and $j$ are determinants differing by a + single excitation. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`big_array_coulomb_integrals` + * :c:data:`mo_two_e_integrals_in_map` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`h_s2_u_0_two_e_nstates_openmp_work_1` + * :c:func:`h_s2_u_0_two_e_nstates_openmp_work_2` + * :c:func:`h_s2_u_0_two_e_nstates_openmp_work_3` + * :c:func:`h_s2_u_0_two_e_nstates_openmp_work_4` + * :c:func:`h_s2_u_0_two_e_nstates_openmp_work_n_int` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`get_mono_excitation_spin` + * :c:func:`mono_excitation_wee` + + +.. c:function:: is_connected_to: + + + File : :file:`determinants/connected_to_ref.irp.f` + + .. code:: fortran + + logical function is_connected_to(key,keys,Nint,Ndet) + + + Returns |true| if determinant ``key`` is connected to ``keys`` + + +.. c:function:: is_connected_to_by_mono: + + + File : :file:`determinants/connected_to_ref.irp.f` + + .. code:: fortran + + logical function is_connected_to_by_mono(key,keys,Nint,Ndet) + + + Returns |true| is ``key`` is connected to ``keys`` by a single excitation. + + +.. c:function:: is_in_wavefunction: + + + File : :file:`determinants/connected_to_ref.irp.f` + + .. code:: fortran + + logical function is_in_wavefunction(key,Nint) + + + |true| if the determinant ``det`` is in the wave function + + +.. c:function:: is_spin_flip_possible: + + + File : :file:`determinants/create_excitations.irp.f` + + .. code:: fortran + + logical function is_spin_flip_possible(key_in,i_flip,ispin) + + + returns |true| if the spin-flip of spin ispin in the orbital i_flip is possible + on key_in + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_int` + + +.. c:function:: make_s2_eigenfunction: + + + File : :file:`determinants/occ_pattern.irp.f` + + .. code:: fortran + + subroutine make_s2_eigenfunction + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`psi_coef` + * :c:data:`psi_occ_pattern` + * :c:data:`psi_occ_pattern` + * :c:data:`elec_alpha_num` + * :c:data:`n_det` + * :c:data:`n_int` + * :c:data:`psi_det` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`run_cipsi` + * :c:func:`run_stochastic_cipsi` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`copy_h_apply_buffer_to_wf` + * :c:func:`fill_h_apply_buffer_no_selection` + * :c:func:`occ_pattern_to_dets` + * :c:func:`occ_pattern_to_dets_size` + * :c:func:`write_int` + * :c:func:`write_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:: mono_excitation_wee: + + + File : :file:`determinants/mono_excitations_bielec.irp.f` + + .. code:: fortran + + subroutine mono_excitation_wee(det_1,det_2,h,p,spin,phase,hij) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ref_closed_shell_bitmask` + * :c:data:`fock_wee_closed_shell` + * :c:data:`big_array_coulomb_integrals` + * :c:data:`n_int` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`i_h_j_two_e` + * :c:func:`i_wee_j_mono` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`bitstring_to_list_ab` + + +.. c:function:: occ_pattern_of_det: + + + File : :file:`determinants/occ_pattern.irp.f` + + .. code:: fortran + + subroutine occ_pattern_of_det(d,o,Nint) + + + Transforms a determinant to an occupation pattern + + occ(:,1) : Single occupations + + occ(:,2) : Double occupations + + + +.. c:function:: occ_pattern_search_key: + + + File : :file:`determinants/connected_to_ref.irp.f` + + .. code:: fortran + + integer*8 function occ_pattern_search_key(det,Nint) + + + Return an integer*8 corresponding to a determinant index for searching + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`elec_alpha_num` + + +.. c:function:: occ_pattern_to_dets: + + + File : :file:`determinants/occ_pattern.irp.f` + + .. code:: fortran + + subroutine occ_pattern_to_dets(o,d,sze,n_alpha,Nint) + + + Generate all possible determinants for a give occ_pattern + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`binom_int` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`make_s2_eigenfunction` + * :c:func:`make_selection_buffer_s2` + + +.. c:function:: occ_pattern_to_dets_size: + + + File : :file:`determinants/occ_pattern.irp.f` + + .. code:: fortran + + subroutine occ_pattern_to_dets_size(o,sze,n_alpha,Nint) + + + Number of possible determinants for a given occ_pattern + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`binom_int` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`make_s2_eigenfunction` + * :c:func:`make_selection_buffer_s2` + + +.. c:function:: pull_pt2: + + + File : :file:`determinants/h_apply.irp.f` + + .. code:: fortran + + subroutine pull_pt2(zmq_socket_pull,pt2,norm_pert,H_pert_diag,i_generator,N_st,n,task_id) + + + Pull |PT2| calculation in the collector + + +.. c:function:: push_pt2: + + + File : :file:`determinants/h_apply.irp.f` + + .. code:: fortran + + subroutine push_pt2(zmq_socket_push,pt2,norm_pert,H_pert_diag,i_generator,N_st,task_id) + + + Push |PT2| calculation to the collector + + +.. c:function:: read_dets: + + + File : :file:`determinants/determinants.irp.f` + + .. code:: fortran + + subroutine read_dets(det,Nint,Ndet) + + + Reads the determinants from the |EZFIO| file + + Called by: + + .. hlist:: + :columns: 3 + + * :c:data:`psi_det` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`ezfio_get_determinants_bit_kind` + * :c:func:`ezfio_get_determinants_n_int` + * :c:func:`ezfio_get_determinants_psi_det` + + +.. c:function:: remove_duplicates_in_psi_det: + + + File : :file:`determinants/h_apply.irp.f` + + .. code:: fortran + + subroutine remove_duplicates_in_psi_det(found_duplicates) + + + Removes duplicate determinants in the wave function. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`psi_coef` + * :c:data:`psi_det_sorted_bit` + * :c:data:`c0_weight` + * :c:data:`n_det` + * :c:data:`psi_det_sorted_bit` + * :c:data:`n_int` + * :c:data:`psi_det` + * :c:data:`psi_det_sorted` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`copy_h_apply_buffer_to_wf` + + Touches: + + .. hlist:: + :columns: 3 + + * :c:data:`n_det` + * :c:data:`c0_weight` + * :c:data:`psi_coef` + * :c:data:`psi_det_sorted_bit` + * :c:data:`psi_det` + * :c:data:`psi_det_sorted_bit` + + +.. c:function:: resize_h_apply_buffer: + + + File : :file:`determinants/h_apply.irp.f` + + .. code:: fortran + + subroutine resize_H_apply_buffer(new_size,iproc) + + + Resizes the H_apply buffer of proc iproc. The buffer lock should + be set before calling this function. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_states` + * :c:data:`h_apply_buffer_allocated` + * :c:data:`n_det` + * :c:data:`n_int` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`fill_h_apply_buffer_no_selection` + * :c:func:`fill_h_apply_buffer_selection` + + +.. c:function:: routine_example_psi_det: + + + File : :file:`determinants/example.irp.f` + + .. code:: fortran + + subroutine routine_example_psi_det + + + subroutine that illustrates the main features available in determinants using many determinants + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`psi_coef` + * :c:data:`psi_det` + * :c:data:`n_states` + * :c:data:`n_det` + * :c:data:`n_int` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`example_determinants_psi_det` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`debug_det` + * :c:func:`get_excitation_degree_vector` + * :c:func:`i_h_j` + + +.. c:function:: s2_u_0: + + + File : :file:`determinants/s2.irp.f` + + .. code:: fortran + + subroutine S2_u_0(v_0,u_0,n,keys_tmp,Nint) + + + Computes v_0 = S^2|u_0> + + n : number of determinants + + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`s2_u_0_nstates` + + +.. c:function:: s2_u_0_nstates: + + + File : :file:`determinants/s2.irp.f` + + .. code:: fortran + + subroutine S2_u_0_nstates(v_0,u_0,n,keys_tmp,Nint,N_st,sze_8) + + + Computes v_0 = S^2|u_0> + + n : number of determinants + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ref_bitmask_energy` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`s2_u_0` + * :c:func:`u_0_s2_u_0` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`get_s2` + * :c:func:`sort_dets_ab_v` + * :c:func:`sort_dets_ba_v` + + +.. c:function:: save_natural_mos: + + + File : :file:`determinants/density_matrix.irp.f` + + .. code:: fortran + + subroutine save_natural_mos + + + Save natural orbitals, obtained by diagonalization of the one-body density matrix in + the |MO| basis + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`save_natorb` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`save_mos` + * :c:func:`set_natural_mos` + + Touches: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_occ` + + +.. c:function:: save_ref_determinant: + + + File : :file:`determinants/determinants.irp.f` + + .. code:: fortran + + subroutine save_ref_determinant + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_states` + * :c:data:`ref_bitmask` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`save_natorb` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`save_wavefunction_general` + + +.. c:function:: save_wavefunction: + + + File : :file:`determinants/determinants.irp.f` + + .. code:: fortran + + subroutine save_wavefunction + + + Save the wave function into the |EZFIO| file + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`read_wf` + * :c:data:`n_states` + * :c:data:`psi_det_sorted` + * :c:data:`n_det` + * :c:data:`mpi_master` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`run_cipsi` + * :c:func:`run_stochastic_cipsi` + * :c:func:`zmq_selection` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`save_wavefunction_general` + + +.. c:function:: save_wavefunction_general: + + + File : :file:`determinants/determinants.irp.f` + + .. code:: fortran + + subroutine save_wavefunction_general(ndet,nstates,psidet,dim_psicoef,psicoef) + + + Save the wave function into the |EZFIO| file + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mpi_master` + * :c:data:`n_int` + * :c:data:`mo_label` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`save_ref_determinant` + * :c:func:`save_wavefunction` + * :c:func:`save_wavefunction_truncated` + * :c:func:`save_wavefunction_unsorted` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`ezfio_set_determinants_bit_kind` + * :c:func:`ezfio_set_determinants_mo_label` + * :c:func:`ezfio_set_determinants_n_det` + * :c:func:`ezfio_set_determinants_n_int` + * :c:func:`ezfio_set_determinants_n_states` + * :c:func:`ezfio_set_determinants_psi_coef` + * :c:func:`ezfio_set_determinants_psi_det` + * :c:func:`normalize` + * :c:func:`write_int` + + +.. c:function:: save_wavefunction_specified: + + + File : :file:`determinants/determinants.irp.f` + + .. code:: fortran + + subroutine save_wavefunction_specified(ndet,nstates,psidet,psicoef,ndetsave,index_det_save) + + + Save the wave function into the |EZFIO| file + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_int` + * :c:data:`mo_label` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`ezfio_set_determinants_bit_kind` + * :c:func:`ezfio_set_determinants_mo_label` + * :c:func:`ezfio_set_determinants_n_det` + * :c:func:`ezfio_set_determinants_n_int` + * :c:func:`ezfio_set_determinants_n_states` + * :c:func:`ezfio_set_determinants_psi_coef` + * :c:func:`ezfio_set_determinants_psi_det` + * :c:func:`write_int` + + +.. c:function:: save_wavefunction_truncated: + + + File : :file:`determinants/determinants.irp.f` + + .. code:: fortran + + subroutine save_wavefunction_truncated(thr) + + + Save the wave function into the |EZFIO| file + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_states` + * :c:data:`psi_det_sorted` + * :c:data:`n_det` + * :c:data:`mpi_master` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`save_wavefunction_general` + + +.. c:function:: save_wavefunction_unsorted: + + + File : :file:`determinants/determinants.irp.f` + + .. code:: fortran + + subroutine save_wavefunction_unsorted + + + Save the wave function into the |EZFIO| file + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`psi_coef` + * :c:data:`psi_det` + * :c:data:`n_states` + * :c:data:`n_det` + * :c:data:`mpi_master` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`save_wavefunction_general` + + +.. c:function:: set_natural_mos: + + + File : :file:`determinants/density_matrix.irp.f` + + .. code:: fortran + + subroutine set_natural_mos + + + Set natural orbitals, obtained by diagonalization of the one-body density matrix + in the |MO| basis + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_occ` + * :c:data:`one_e_dm_mo` + * :c:data:`mo_num` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`save_natural_mos` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`mo_as_svd_vectors_of_mo_matrix_eig` + + Touches: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_occ` + + +.. c:function:: sort_dets_ab: + + + File : :file:`determinants/sort_dets_ab.irp.f` + + .. code:: fortran + + subroutine sort_dets_ab(key, idx, shortcut, N_key, Nint) + + + Deprecated routine + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`tamiser` + + +.. c:function:: sort_dets_ab_v: + + + File : :file:`determinants/sort_dets_ab.irp.f` + + .. code:: fortran + + subroutine sort_dets_ab_v(key_in, key_out, idx, shortcut, version, N_key, Nint) + + + Deprecated routine + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`s2_u_0_nstates` + * :c:func:`sort_dets_ba_v` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`tamiser` + + +.. c:function:: sort_dets_ba_v: + + + File : :file:`determinants/sort_dets_ab.irp.f` + + .. code:: fortran + + subroutine sort_dets_ba_v(key_in, key_out, idx, shortcut, version, N_key, Nint) + + + Deprecated routine + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`s2_u_0_nstates` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`sort_dets_ab_v` + + +.. c:function:: sort_dets_by_det_search_key: + + + File : :file:`determinants/determinants.irp.f` + + .. code:: fortran + + subroutine sort_dets_by_det_search_key(Ndet, det_in, coef_in, sze, det_out, coef_out, N_st) + + + Determinants are sorted according to their :c:func:`det_search_key`. + Useful to accelerate the search of a random determinant in the wave + function. + + /!\ The first dimension of coef_out and coef_in need to be psi_det_size + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_int` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:data:`psi_cas_sorted_bit` + * :c:data:`psi_det_sorted_bit` + * :c:data:`psi_non_cas_sorted_bit` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`i8sort` + + +.. c:function:: spin_det_search_key: + + + File : :file:`determinants/spindeterminants.irp.f` + + .. code:: fortran + + integer*8 function spin_det_search_key(det,Nint) + + + Returns an integer(8) corresponding to a determinant index for searching + + +.. c:function:: tamiser: + + + File : :file:`determinants/sort_dets_ab.irp.f` + + .. code:: fortran + + subroutine tamiser(key, idx, no, n, Nint, N_key) + + + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`sort_dets_ab` + * :c:func:`sort_dets_ab_v` + + +.. c:function:: u_0_s2_u_0: + + + File : :file:`determinants/s2.irp.f` + + .. code:: fortran + + subroutine u_0_S2_u_0(e_0,u_0,n,keys_tmp,Nint,N_st,sze_8) + + + Computes e_0 = / + + n : number of determinants + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`s_z` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:data:`ci_electronic_energy` + * :c:data:`s2_values` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`s2_u_0_nstates` + + +.. c:function:: wf_of_psi_bilinear_matrix: + + + File : :file:`determinants/spindeterminants.irp.f` + + .. code:: fortran + + subroutine wf_of_psi_bilinear_matrix(truncate) + + + Generate a wave function containing all possible products + of $\alpha$ and $\beta$ determinants + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`psi_coef` + * :c:data:`psi_det_beta_unique` + * :c:data:`psi_det_alpha_unique` + * :c:data:`n_states` + * :c:data:`n_det` + * :c:data:`psi_bilinear_matrix_values` + * :c:data:`n_int` + * :c:data:`psi_det` + * :c:data:`psi_det_sorted` + + Touches: + + .. hlist:: + :columns: 3 + + * :c:data:`n_det` + * :c:data:`psi_coef` + * :c:data:`psi_det` + + +.. c:function:: write_spindeterminants: + + + File : :file:`determinants/spindeterminants.irp.f` + + .. code:: fortran + + subroutine write_spindeterminants + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`psi_det_beta_unique` + * :c:data:`psi_det_alpha_unique` + * :c:data:`n_states` + * :c:data:`n_det` + * :c:data:`psi_bilinear_matrix_values` + * :c:data:`n_int` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`ezfio_set_spindeterminants_bit_kind` + * :c:func:`ezfio_set_spindeterminants_n_det` + * :c:func:`ezfio_set_spindeterminants_n_det_alpha` + * :c:func:`ezfio_set_spindeterminants_n_det_beta` + * :c:func:`ezfio_set_spindeterminants_n_int` + * :c:func:`ezfio_set_spindeterminants_n_states` + * :c:func:`ezfio_set_spindeterminants_psi_coef_matrix_columns` + * :c:func:`ezfio_set_spindeterminants_psi_coef_matrix_rows` + * :c:func:`ezfio_set_spindeterminants_psi_coef_matrix_values` + * :c:func:`ezfio_set_spindeterminants_psi_det_alpha` + * :c:func:`ezfio_set_spindeterminants_psi_det_beta` + + +.. c:function:: zmq_get_n_det: + + + File : :file:`determinants/zmq.irp.f_template_379` + + .. code:: fortran + + integer function zmq_get_N_det(zmq_to_qp_run_socket, worker_id) + + + Get N_det from the qp_run scheduler + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`zmq_state` + * :c:data:`n_det` + * :c:data:`mpi_master` + + +.. c:function:: zmq_get_n_det_alpha_unique: + + + File : :file:`determinants/zmq.irp.f_template_379` + + .. code:: fortran + + integer function zmq_get_N_det_alpha_unique(zmq_to_qp_run_socket, worker_id) + + + Get N_det_alpha_unique from the qp_run scheduler + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`psi_det_alpha_unique` + * :c:data:`zmq_state` + * :c:data:`mpi_master` + + +.. c:function:: zmq_get_n_det_beta_unique: + + + File : :file:`determinants/zmq.irp.f_template_379` + + .. code:: fortran + + integer function zmq_get_N_det_beta_unique(zmq_to_qp_run_socket, worker_id) + + + Get N_det_beta_unique from the qp_run scheduler + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`psi_det_beta_unique` + * :c:data:`zmq_state` + * :c:data:`mpi_master` + + +.. c:function:: zmq_get_n_states: + + + File : :file:`determinants/zmq.irp.f_template_379` + + .. code:: fortran + + integer function zmq_get_N_states(zmq_to_qp_run_socket, worker_id) + + + Get N_states from the qp_run scheduler + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_states` + * :c:data:`zmq_state` + * :c:data:`mpi_master` + + +.. c:function:: zmq_get_psi: + + + File : :file:`determinants/zmq.irp.f` + + .. code:: fortran + + integer function zmq_get_psi(zmq_to_qp_run_socket, worker_id) + + + Get the wave function from the qp_run scheduler + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`psi_coef` + * :c:data:`psi_det` + * :c:data:`n_states` + * :c:data:`n_det` + * :c:data:`psi_det_size` + + Touches: + + .. hlist:: + :columns: 3 + + * :c:data:`n_det` + * :c:data:`n_states` + * :c:data:`psi_coef` + * :c:data:`psi_det` + * :c:data:`psi_det_size` + + +.. c:function:: zmq_get_psi_bilinear: + + + File : :file:`determinants/zmq.irp.f` + + .. code:: fortran + + integer function zmq_get_psi_bilinear(zmq_to_qp_run_socket, worker_id) + + + Get the wave function from the qp_run scheduler + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`psi_coef` + * :c:data:`psi_det_beta_unique` + * :c:data:`psi_bilinear_matrix_values` + * :c:data:`psi_det_alpha_unique` + * :c:data:`n_states` + * :c:data:`psi_bilinear_matrix_values` + * :c:data:`psi_bilinear_matrix_values` + * :c:data:`n_det` + * :c:data:`psi_det_alpha_unique` + * :c:data:`psi_det_beta_unique` + * :c:data:`psi_det_size` + * :c:data:`psi_det` + * :c:data:`psi_bilinear_matrix_values` + + Touches: + + .. hlist:: + :columns: 3 + + * :c:data:`n_det` + * :c:data:`psi_det_alpha_unique` + * :c:data:`psi_det_beta_unique` + * :c:data:`n_states` + * :c:data:`psi_bilinear_matrix_values` + * :c:data:`psi_bilinear_matrix_values` + * :c:data:`psi_bilinear_matrix_values` + * :c:data:`psi_bilinear_matrix_values` + * :c:data:`psi_coef` + * :c:data:`psi_det` + * :c:data:`psi_det_alpha_unique` + * :c:data:`psi_det_beta_unique` + * :c:data:`psi_det_size` + + +.. c:function:: zmq_get_psi_bilinear_matrix_columns: + + + File : :file:`determinants/zmq.irp.f_template_500` + + .. code:: fortran + + integer*8 function zmq_get_psi_bilinear_matrix_columns(zmq_to_qp_run_socket,worker_id) + + + Get psi_bilinear_matrix_columns on the qp_run scheduler + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`psi_bilinear_matrix_values` + + +.. c:function:: zmq_get_psi_bilinear_matrix_order: + + + File : :file:`determinants/zmq.irp.f_template_500` + + .. code:: fortran + + integer*8 function zmq_get_psi_bilinear_matrix_order(zmq_to_qp_run_socket,worker_id) + + + Get psi_bilinear_matrix_order on the qp_run scheduler + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`psi_bilinear_matrix_values` + + +.. c:function:: zmq_get_psi_bilinear_matrix_rows: + + + File : :file:`determinants/zmq.irp.f_template_500` + + .. code:: fortran + + integer*8 function zmq_get_psi_bilinear_matrix_rows(zmq_to_qp_run_socket,worker_id) + + + Get psi_bilinear_matrix_rows on the qp_run scheduler + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`psi_bilinear_matrix_values` + + +.. c:function:: zmq_get_psi_bilinear_matrix_values: + + + File : :file:`determinants/zmq.irp.f_template_564` + + .. code:: fortran + + integer*8 function zmq_get_psi_bilinear_matrix_values(zmq_to_qp_run_socket,worker_id) + + + get psi_bilinear_matrix_values on the qp_run scheduler + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`psi_bilinear_matrix_values` + + +.. c:function:: zmq_get_psi_coef: + + + File : :file:`determinants/zmq.irp.f_template_564` + + .. code:: fortran + + integer*8 function zmq_get_psi_coef(zmq_to_qp_run_socket,worker_id) + + + get psi_coef on the qp_run scheduler + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`psi_coef` + + +.. c:function:: zmq_get_psi_det: + + + File : :file:`determinants/zmq.irp.f_template_440` + + .. code:: fortran + + integer*8 function zmq_get_psi_det(zmq_to_qp_run_socket,worker_id) + + + Get psi_det on the qp_run scheduler + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`psi_det` + + +.. c:function:: zmq_get_psi_det_alpha_unique: + + + File : :file:`determinants/zmq.irp.f_template_440` + + .. code:: fortran + + integer*8 function zmq_get_psi_det_alpha_unique(zmq_to_qp_run_socket,worker_id) + + + Get psi_det_alpha_unique on the qp_run scheduler + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`psi_det_alpha_unique` + + +.. c:function:: zmq_get_psi_det_beta_unique: + + + File : :file:`determinants/zmq.irp.f_template_440` + + .. code:: fortran + + integer*8 function zmq_get_psi_det_beta_unique(zmq_to_qp_run_socket,worker_id) + + + Get psi_det_beta_unique on the qp_run scheduler + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`psi_det_beta_unique` + + +.. c:function:: zmq_get_psi_det_size: + + + File : :file:`determinants/zmq.irp.f_template_379` + + .. code:: fortran + + integer function zmq_get_psi_det_size(zmq_to_qp_run_socket, worker_id) + + + Get psi_det_size from the qp_run scheduler + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`zmq_state` + * :c:data:`psi_det_size` + * :c:data:`mpi_master` + + +.. c:function:: zmq_get_psi_notouch: + + + File : :file:`determinants/zmq.irp.f` + + .. code:: fortran + + integer function zmq_get_psi_notouch(zmq_to_qp_run_socket, worker_id) + + + Get the wave function from the qp_run scheduler + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`psi_coef` + * :c:data:`psi_det` + * :c:data:`n_states` + * :c:data:`n_int` + * :c:data:`psi_det_size` + + +.. c:function:: zmq_put_n_det: + + + File : :file:`determinants/zmq.irp.f_template_379` + + .. code:: fortran + + integer function zmq_put_N_det(zmq_to_qp_run_socket,worker_id) + + + Put N_det on the qp_run scheduler + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`zmq_state` + * :c:data:`n_det` + + +.. c:function:: zmq_put_n_det_alpha_unique: + + + File : :file:`determinants/zmq.irp.f_template_379` + + .. code:: fortran + + integer function zmq_put_N_det_alpha_unique(zmq_to_qp_run_socket,worker_id) + + + Put N_det_alpha_unique on the qp_run scheduler + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`psi_det_alpha_unique` + * :c:data:`zmq_state` + + +.. c:function:: zmq_put_n_det_beta_unique: + + + File : :file:`determinants/zmq.irp.f_template_379` + + .. code:: fortran + + integer function zmq_put_N_det_beta_unique(zmq_to_qp_run_socket,worker_id) + + + Put N_det_beta_unique on the qp_run scheduler + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`psi_det_beta_unique` + * :c:data:`zmq_state` + + +.. c:function:: zmq_put_n_states: + + + File : :file:`determinants/zmq.irp.f_template_379` + + .. code:: fortran + + integer function zmq_put_N_states(zmq_to_qp_run_socket,worker_id) + + + Put N_states on the qp_run scheduler + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_states` + * :c:data:`zmq_state` + + +.. c:function:: zmq_put_psi: + + + File : :file:`determinants/zmq.irp.f` + + .. code:: fortran + + integer function zmq_put_psi(zmq_to_qp_run_socket,worker_id) + + + Put the wave function on the qp_run scheduler + + +.. c:function:: zmq_put_psi_bilinear: + + + File : :file:`determinants/zmq.irp.f` + + .. code:: fortran + + integer function zmq_put_psi_bilinear(zmq_to_qp_run_socket,worker_id) + + + Put the wave function on the qp_run scheduler + + +.. c:function:: zmq_put_psi_bilinear_matrix_columns: + + + File : :file:`determinants/zmq.irp.f_template_500` + + .. code:: fortran + + integer*8 function zmq_put_psi_bilinear_matrix_columns(zmq_to_qp_run_socket,worker_id) + + + Put psi_bilinear_matrix_columns on the qp_run scheduler + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`psi_bilinear_matrix_values` + + +.. c:function:: zmq_put_psi_bilinear_matrix_order: + + + File : :file:`determinants/zmq.irp.f_template_500` + + .. code:: fortran + + integer*8 function zmq_put_psi_bilinear_matrix_order(zmq_to_qp_run_socket,worker_id) + + + Put psi_bilinear_matrix_order on the qp_run scheduler + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`psi_bilinear_matrix_values` + + +.. c:function:: zmq_put_psi_bilinear_matrix_rows: + + + File : :file:`determinants/zmq.irp.f_template_500` + + .. code:: fortran + + integer*8 function zmq_put_psi_bilinear_matrix_rows(zmq_to_qp_run_socket,worker_id) + + + Put psi_bilinear_matrix_rows on the qp_run scheduler + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`psi_bilinear_matrix_values` + + +.. c:function:: zmq_put_psi_bilinear_matrix_values: + + + File : :file:`determinants/zmq.irp.f_template_564` + + .. code:: fortran + + integer*8 function zmq_put_psi_bilinear_matrix_values(zmq_to_qp_run_socket,worker_id) + + + Put psi_bilinear_matrix_values on the qp_run scheduler + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`psi_bilinear_matrix_values` + + +.. c:function:: zmq_put_psi_coef: + + + File : :file:`determinants/zmq.irp.f_template_564` + + .. code:: fortran + + integer*8 function zmq_put_psi_coef(zmq_to_qp_run_socket,worker_id) + + + Put psi_coef on the qp_run scheduler + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`psi_coef` + + +.. c:function:: zmq_put_psi_det: + + + File : :file:`determinants/zmq.irp.f_template_440` + + .. code:: fortran + + integer*8 function zmq_put_psi_det(zmq_to_qp_run_socket,worker_id) + + + Put psi_det on the qp_run scheduler + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`psi_det` + + +.. c:function:: zmq_put_psi_det_alpha_unique: + + + File : :file:`determinants/zmq.irp.f_template_440` + + .. code:: fortran + + integer*8 function zmq_put_psi_det_alpha_unique(zmq_to_qp_run_socket,worker_id) + + + Put psi_det_alpha_unique on the qp_run scheduler + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`psi_det_alpha_unique` + + +.. c:function:: zmq_put_psi_det_beta_unique: + + + File : :file:`determinants/zmq.irp.f_template_440` + + .. code:: fortran + + integer*8 function zmq_put_psi_det_beta_unique(zmq_to_qp_run_socket,worker_id) + + + Put psi_det_beta_unique on the qp_run scheduler + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`psi_det_beta_unique` + + +.. c:function:: zmq_put_psi_det_size: + + + File : :file:`determinants/zmq.irp.f_template_379` + + .. code:: fortran + + integer function zmq_put_psi_det_size(zmq_to_qp_run_socket,worker_id) + + + Put psi_det_size on the qp_run scheduler + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`zmq_state` + * :c:data:`psi_det_size` + diff --git a/doc/_sources/modules/dft_keywords.rst.txt b/doc/_sources/modules/dft_keywords.rst.txt new file mode 100644 index 00000000..a2ad749a --- /dev/null +++ b/doc/_sources/modules/dft_keywords.rst.txt @@ -0,0 +1,68 @@ +.. _module_dft_keywords: + +.. program:: dft_keywords + +.. default-role:: option + +============ +dft_keywords +============ + +This module contains the main keywords related to a DFT calculation or RS-DFT calculation, such as: + +* :option:`dft_keywords exchange_functional` +* :option:`dft_keywords correlation_functional` +* :option:`dft_keywords HF_exchange` : only relevent for the :c:func:`rs_ks_scf` program + +The keyword for the **range separation parameter** :math:`\mu` is the :option:`ao_two_e_erf_ints mu_erf` keyword. + +The keyword for the type of density used in RS-DFT calculation with a multi-configurational wave function is the :option:`density_for_dft density_for_dft` keyword. + + + +EZFIO parameters +---------------- + +.. option:: exchange_functional + + name of the exchange functional + + Default: short_range_LDA + +.. option:: correlation_functional + + name of the correlation functional + + Default: short_range_LDA + +.. option:: HF_exchange + + Percentage of HF exchange in the DFT model + + Default: 0. + + +Providers +--------- + +.. c:var:: dft_type + + + File : :file:`dft_keywords/keywords.irp.f` + + .. code:: fortran + + character*(32) :: dft_type + + + defines the type of DFT applied: LDA, GGA etc ... + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`correlation_functional` + * :c:data:`exchange_functional` + + diff --git a/doc/_sources/modules/dft_utils_in_r.rst.txt b/doc/_sources/modules/dft_utils_in_r.rst.txt new file mode 100644 index 00000000..4a011cc8 --- /dev/null +++ b/doc/_sources/modules/dft_utils_in_r.rst.txt @@ -0,0 +1,876 @@ +.. _module_dft_utils_in_r: + +.. program:: dft_utils_in_r + +.. default-role:: option + +============== +dft_utils_in_r +============== + +This module contains most of the fundamental quantities (AOs, MOs or density derivatives) evaluated in real-space representation that are needed for the various DFT modules. + +As these quantities might be used and re-used, the values at each point of the grid are stored (see ``becke_numerical_grid`` for more information on the grid). + +The main providers for this module are: + +* `aos_in_r_array`: values of the |AO| basis on the grid point. +* `mos_in_r_array`: values of the |MO| basis on the grid point. +* `one_e_dm_and_grad_alpha_in_r`: values of the density and its gradienst on the grid points. + + + + +Providers +--------- + +.. c:var:: aos_grad_in_r_array + + + File : :file:`dft_utils_in_r/ao_in_r.irp.f` + + .. code:: fortran + + double precision, allocatable :: aos_grad_in_r_array (ao_num,n_points_final_grid,3) + double precision, allocatable :: aos_grad_in_r_array_transp (n_points_final_grid,ao_num,3) + double precision, allocatable :: aos_grad_in_r_array_transp_xyz (3,n_points_final_grid,ao_num) + + + aos_grad_in_r_array(i,j,k) = value of the kth component of the gradient of ith ao on the jth grid point + + aos_grad_in_r_array_transp(i,j,k) = value of the kth component of the gradient of jth ao on the ith grid point + + k = 1 : x, k= 2, y, k 3, z + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_coef_normalized_ordered_transp_per_nucl` + * :c:data:`ao_expo_ordered_transp_per_nucl` + * :c:data:`ao_num` + * :c:data:`ao_power_ordered_transp_per_nucl` + * :c:data:`ao_prim_num` + * :c:data:`final_grid_points` + * :c:data:`n_points_final_grid` + * :c:data:`nucl_aos_transposed` + * :c:data:`nucl_coord` + * :c:data:`nucl_n_aos` + * :c:data:`nucl_num` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`aos_sr_vc_alpha_pbe_w` + * :c:data:`aos_vc_alpha_pbe_w` + * :c:data:`mos_grad_in_r_array` + * :c:data:`potential_sr_x_alpha_ao_pbe` + * :c:data:`potential_x_alpha_ao_pbe` + + +.. c:var:: aos_grad_in_r_array_transp + + + File : :file:`dft_utils_in_r/ao_in_r.irp.f` + + .. code:: fortran + + double precision, allocatable :: aos_grad_in_r_array (ao_num,n_points_final_grid,3) + double precision, allocatable :: aos_grad_in_r_array_transp (n_points_final_grid,ao_num,3) + double precision, allocatable :: aos_grad_in_r_array_transp_xyz (3,n_points_final_grid,ao_num) + + + aos_grad_in_r_array(i,j,k) = value of the kth component of the gradient of ith ao on the jth grid point + + aos_grad_in_r_array_transp(i,j,k) = value of the kth component of the gradient of jth ao on the ith grid point + + k = 1 : x, k= 2, y, k 3, z + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_coef_normalized_ordered_transp_per_nucl` + * :c:data:`ao_expo_ordered_transp_per_nucl` + * :c:data:`ao_num` + * :c:data:`ao_power_ordered_transp_per_nucl` + * :c:data:`ao_prim_num` + * :c:data:`final_grid_points` + * :c:data:`n_points_final_grid` + * :c:data:`nucl_aos_transposed` + * :c:data:`nucl_coord` + * :c:data:`nucl_n_aos` + * :c:data:`nucl_num` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`aos_sr_vc_alpha_pbe_w` + * :c:data:`aos_vc_alpha_pbe_w` + * :c:data:`mos_grad_in_r_array` + * :c:data:`potential_sr_x_alpha_ao_pbe` + * :c:data:`potential_x_alpha_ao_pbe` + + +.. c:var:: aos_grad_in_r_array_transp_xyz + + + File : :file:`dft_utils_in_r/ao_in_r.irp.f` + + .. code:: fortran + + double precision, allocatable :: aos_grad_in_r_array (ao_num,n_points_final_grid,3) + double precision, allocatable :: aos_grad_in_r_array_transp (n_points_final_grid,ao_num,3) + double precision, allocatable :: aos_grad_in_r_array_transp_xyz (3,n_points_final_grid,ao_num) + + + aos_grad_in_r_array(i,j,k) = value of the kth component of the gradient of ith ao on the jth grid point + + aos_grad_in_r_array_transp(i,j,k) = value of the kth component of the gradient of jth ao on the ith grid point + + k = 1 : x, k= 2, y, k 3, z + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_coef_normalized_ordered_transp_per_nucl` + * :c:data:`ao_expo_ordered_transp_per_nucl` + * :c:data:`ao_num` + * :c:data:`ao_power_ordered_transp_per_nucl` + * :c:data:`ao_prim_num` + * :c:data:`final_grid_points` + * :c:data:`n_points_final_grid` + * :c:data:`nucl_aos_transposed` + * :c:data:`nucl_coord` + * :c:data:`nucl_n_aos` + * :c:data:`nucl_num` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`aos_sr_vc_alpha_pbe_w` + * :c:data:`aos_vc_alpha_pbe_w` + * :c:data:`mos_grad_in_r_array` + * :c:data:`potential_sr_x_alpha_ao_pbe` + * :c:data:`potential_x_alpha_ao_pbe` + + +.. c:var:: aos_in_r_array + + + File : :file:`dft_utils_in_r/ao_in_r.irp.f` + + .. code:: fortran + + double precision, allocatable :: aos_in_r_array (ao_num,n_points_final_grid) + double precision, allocatable :: aos_in_r_array_transp (n_points_final_grid,ao_num) + + + aos_in_r_array(i,j) = value of the ith ao on the jth grid point + + aos_in_r_array_transp(i,j) = value of the jth ao on the ith grid point + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_coef_normalized_ordered_transp_per_nucl` + * :c:data:`ao_expo_ordered_transp_per_nucl` + * :c:data:`ao_num` + * :c:data:`ao_power_ordered_transp_per_nucl` + * :c:data:`ao_prim_num` + * :c:data:`final_grid_points` + * :c:data:`n_points_final_grid` + * :c:data:`nucl_aos_transposed` + * :c:data:`nucl_coord` + * :c:data:`nucl_n_aos` + * :c:data:`nucl_num` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`aos_sr_vc_alpha_lda_w` + * :c:data:`aos_sr_vc_alpha_pbe_w` + * :c:data:`aos_vc_alpha_lda_w` + * :c:data:`aos_vc_alpha_pbe_w` + * :c:data:`potential_sr_c_alpha_ao_lda` + * :c:data:`potential_sr_x_alpha_ao_lda` + * :c:data:`potential_sr_x_alpha_ao_pbe` + * :c:data:`potential_x_alpha_ao_lda` + * :c:data:`potential_x_alpha_ao_pbe` + + +.. c:var:: aos_in_r_array_transp + + + File : :file:`dft_utils_in_r/ao_in_r.irp.f` + + .. code:: fortran + + double precision, allocatable :: aos_in_r_array (ao_num,n_points_final_grid) + double precision, allocatable :: aos_in_r_array_transp (n_points_final_grid,ao_num) + + + aos_in_r_array(i,j) = value of the ith ao on the jth grid point + + aos_in_r_array_transp(i,j) = value of the jth ao on the ith grid point + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_coef_normalized_ordered_transp_per_nucl` + * :c:data:`ao_expo_ordered_transp_per_nucl` + * :c:data:`ao_num` + * :c:data:`ao_power_ordered_transp_per_nucl` + * :c:data:`ao_prim_num` + * :c:data:`final_grid_points` + * :c:data:`n_points_final_grid` + * :c:data:`nucl_aos_transposed` + * :c:data:`nucl_coord` + * :c:data:`nucl_n_aos` + * :c:data:`nucl_num` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`aos_sr_vc_alpha_lda_w` + * :c:data:`aos_sr_vc_alpha_pbe_w` + * :c:data:`aos_vc_alpha_lda_w` + * :c:data:`aos_vc_alpha_pbe_w` + * :c:data:`potential_sr_c_alpha_ao_lda` + * :c:data:`potential_sr_x_alpha_ao_lda` + * :c:data:`potential_sr_x_alpha_ao_pbe` + * :c:data:`potential_x_alpha_ao_lda` + * :c:data:`potential_x_alpha_ao_pbe` + + +.. c:var:: aos_lapl_in_r_array + + + File : :file:`dft_utils_in_r/ao_in_r.irp.f` + + .. code:: fortran + + double precision, allocatable :: aos_lapl_in_r_array (ao_num,n_points_final_grid,3) + double precision, allocatable :: aos_lapl_in_r_array_transp (n_points_final_grid,ao_num,3) + + + aos_lapl_in_r_array(i,j,k) = value of the kth component of the laplacian of ith ao on the jth grid point + + aos_lapl_in_r_array_transp(i,j,k) = value of the kth component of the laplacian of jth ao on the ith grid point + + k = 1 : x, k= 2, y, k 3, z + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_coef_normalized_ordered_transp_per_nucl` + * :c:data:`ao_expo_ordered_transp_per_nucl` + * :c:data:`ao_num` + * :c:data:`ao_power_ordered_transp_per_nucl` + * :c:data:`ao_prim_num` + * :c:data:`final_grid_points` + * :c:data:`n_points_final_grid` + * :c:data:`nucl_aos_transposed` + * :c:data:`nucl_coord` + * :c:data:`nucl_n_aos` + * :c:data:`nucl_num` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`mos_lapl_in_r_array` + + +.. c:var:: aos_lapl_in_r_array_transp + + + File : :file:`dft_utils_in_r/ao_in_r.irp.f` + + .. code:: fortran + + double precision, allocatable :: aos_lapl_in_r_array (ao_num,n_points_final_grid,3) + double precision, allocatable :: aos_lapl_in_r_array_transp (n_points_final_grid,ao_num,3) + + + aos_lapl_in_r_array(i,j,k) = value of the kth component of the laplacian of ith ao on the jth grid point + + aos_lapl_in_r_array_transp(i,j,k) = value of the kth component of the laplacian of jth ao on the ith grid point + + k = 1 : x, k= 2, y, k 3, z + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_coef_normalized_ordered_transp_per_nucl` + * :c:data:`ao_expo_ordered_transp_per_nucl` + * :c:data:`ao_num` + * :c:data:`ao_power_ordered_transp_per_nucl` + * :c:data:`ao_prim_num` + * :c:data:`final_grid_points` + * :c:data:`n_points_final_grid` + * :c:data:`nucl_aos_transposed` + * :c:data:`nucl_coord` + * :c:data:`nucl_n_aos` + * :c:data:`nucl_num` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`mos_lapl_in_r_array` + + +.. c:var:: mos_grad_in_r_array + + + File : :file:`dft_utils_in_r/mo_in_r.irp.f` + + .. code:: fortran + + double precision, allocatable :: mos_grad_in_r_array (mo_num,n_points_final_grid,3) + + + mos_grad_in_r_array(i,j,k) = value of the kth component of the gradient of ith mo on the jth grid point + + mos_grad_in_r_array_transp(i,j,k) = value of the kth component of the gradient of jth mo on the ith grid point + + k = 1 : x, k= 2, y, k 3, z + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`aos_grad_in_r_array` + * :c:data:`mo_coef_transp` + * :c:data:`mo_num` + * :c:data:`n_points_final_grid` + + + +.. c:var:: mos_in_r_array + + + File : :file:`dft_utils_in_r/mo_in_r.irp.f` + + .. code:: fortran + + double precision, allocatable :: mos_in_r_array (mo_num,n_points_final_grid) + double precision, allocatable :: mos_in_r_array_transp (n_points_final_grid,mo_num) + + + mos_in_r_array(i,j) = value of the ith mo on the jth grid point + + mos_in_r_array_transp(i,j) = value of the jth mo on the ith grid point + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`final_grid_points` + * :c:data:`mo_coef_transp` + * :c:data:`mo_num` + * :c:data:`n_points_final_grid` + + + +.. c:var:: mos_in_r_array_transp + + + File : :file:`dft_utils_in_r/mo_in_r.irp.f` + + .. code:: fortran + + double precision, allocatable :: mos_in_r_array (mo_num,n_points_final_grid) + double precision, allocatable :: mos_in_r_array_transp (n_points_final_grid,mo_num) + + + mos_in_r_array(i,j) = value of the ith mo on the jth grid point + + mos_in_r_array_transp(i,j) = value of the jth mo on the ith grid point + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`final_grid_points` + * :c:data:`mo_coef_transp` + * :c:data:`mo_num` + * :c:data:`n_points_final_grid` + + + +.. c:var:: mos_lapl_in_r_array + + + File : :file:`dft_utils_in_r/mo_in_r.irp.f` + + .. code:: fortran + + double precision, allocatable :: mos_lapl_in_r_array (mo_num,n_points_final_grid,3) + + + mos_lapl_in_r_array(i,j,k) = value of the kth component of the laplacian of ith mo on the jth grid point + + mos_lapl_in_r_array_transp(i,j,k) = value of the kth component of the laplacian of jth mo on the ith grid point + + k = 1 : x, k= 2, y, k 3, z + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`aos_lapl_in_r_array` + * :c:data:`mo_coef_transp` + * :c:data:`mo_num` + * :c:data:`n_points_final_grid` + + + +.. c:var:: one_e_dm_alpha_at_r + + + 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) + + + 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_vc_alpha_lda_w` + * :c:data:`energy_sr_x_lda` + * :c:data:`energy_x_lda` + + +.. c:var:: one_e_dm_alpha_in_r + + + File : :file:`dft_utils_in_r/dm_in_r.irp.f` + + .. code:: fortran + + double precision, allocatable :: one_e_dm_alpha_in_r (n_points_integration_angular,n_points_radial_grid,nucl_num,N_states) + double precision, allocatable :: one_e_dm_beta_in_r (n_points_integration_angular,n_points_radial_grid,nucl_num,N_states) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`grid_points_per_atom` + * :c:data:`mo_num` + * :c:data:`n_points_radial_grid` + * :c:data:`n_states` + * :c:data:`nucl_num` + * :c:data:`one_e_dm_alpha_ao_for_dft` + + + +.. c:var:: one_e_dm_and_grad_alpha_in_r + + + File : :file:`dft_utils_in_r/dm_in_r.irp.f` + + .. code:: fortran + + double precision, allocatable :: one_e_dm_and_grad_alpha_in_r (4,n_points_final_grid,N_states) + double precision, allocatable :: one_e_dm_and_grad_beta_in_r (4,n_points_final_grid,N_states) + double precision, allocatable :: one_e_grad_2_dm_alpha_at_r (n_points_final_grid,N_states) + double precision, allocatable :: one_e_grad_2_dm_beta_at_r (n_points_final_grid,N_states) + + + one_e_dm_and_grad_alpha_in_r(1,i,i_state) = d\dx n_alpha(r_i,istate) + one_e_dm_and_grad_alpha_in_r(2,i,i_state) = d\dy n_alpha(r_i,istate) + one_e_dm_and_grad_alpha_in_r(3,i,i_state) = d\dz n_alpha(r_i,istate) + one_e_dm_and_grad_alpha_in_r(4,i,i_state) = n_alpha(r_i,istate) + one_e_grad_2_dm_alpha_at_r(i,istate) = d\dx n_alpha(r_i,istate)^2 + d\dy n_alpha(r_i,istate)^2 + d\dz n_alpha(r_i,istate)^2 + 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_pbe_w` + * :c:data:`aos_vc_alpha_pbe_w` + * :c:data:`energy_sr_x_pbe` + * :c:data:`energy_x_pbe` + + +.. c:var:: one_e_dm_and_grad_beta_in_r + + + File : :file:`dft_utils_in_r/dm_in_r.irp.f` + + .. code:: fortran + + double precision, allocatable :: one_e_dm_and_grad_alpha_in_r (4,n_points_final_grid,N_states) + double precision, allocatable :: one_e_dm_and_grad_beta_in_r (4,n_points_final_grid,N_states) + double precision, allocatable :: one_e_grad_2_dm_alpha_at_r (n_points_final_grid,N_states) + double precision, allocatable :: one_e_grad_2_dm_beta_at_r (n_points_final_grid,N_states) + + + one_e_dm_and_grad_alpha_in_r(1,i,i_state) = d\dx n_alpha(r_i,istate) + one_e_dm_and_grad_alpha_in_r(2,i,i_state) = d\dy n_alpha(r_i,istate) + one_e_dm_and_grad_alpha_in_r(3,i,i_state) = d\dz n_alpha(r_i,istate) + one_e_dm_and_grad_alpha_in_r(4,i,i_state) = n_alpha(r_i,istate) + one_e_grad_2_dm_alpha_at_r(i,istate) = d\dx n_alpha(r_i,istate)^2 + d\dy n_alpha(r_i,istate)^2 + d\dz n_alpha(r_i,istate)^2 + 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_pbe_w` + * :c:data:`aos_vc_alpha_pbe_w` + * :c:data:`energy_sr_x_pbe` + * :c:data:`energy_x_pbe` + + +.. c:var:: one_e_dm_beta_at_r + + + 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) + + + 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_vc_alpha_lda_w` + * :c:data:`energy_sr_x_lda` + * :c:data:`energy_x_lda` + + +.. c:var:: one_e_dm_beta_in_r + + + File : :file:`dft_utils_in_r/dm_in_r.irp.f` + + .. code:: fortran + + double precision, allocatable :: one_e_dm_alpha_in_r (n_points_integration_angular,n_points_radial_grid,nucl_num,N_states) + double precision, allocatable :: one_e_dm_beta_in_r (n_points_integration_angular,n_points_radial_grid,nucl_num,N_states) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`grid_points_per_atom` + * :c:data:`mo_num` + * :c:data:`n_points_radial_grid` + * :c:data:`n_states` + * :c:data:`nucl_num` + * :c:data:`one_e_dm_alpha_ao_for_dft` + + + +.. c:var:: one_e_grad_2_dm_alpha_at_r + + + File : :file:`dft_utils_in_r/dm_in_r.irp.f` + + .. code:: fortran + + double precision, allocatable :: one_e_dm_and_grad_alpha_in_r (4,n_points_final_grid,N_states) + double precision, allocatable :: one_e_dm_and_grad_beta_in_r (4,n_points_final_grid,N_states) + double precision, allocatable :: one_e_grad_2_dm_alpha_at_r (n_points_final_grid,N_states) + double precision, allocatable :: one_e_grad_2_dm_beta_at_r (n_points_final_grid,N_states) + + + one_e_dm_and_grad_alpha_in_r(1,i,i_state) = d\dx n_alpha(r_i,istate) + one_e_dm_and_grad_alpha_in_r(2,i,i_state) = d\dy n_alpha(r_i,istate) + one_e_dm_and_grad_alpha_in_r(3,i,i_state) = d\dz n_alpha(r_i,istate) + one_e_dm_and_grad_alpha_in_r(4,i,i_state) = n_alpha(r_i,istate) + one_e_grad_2_dm_alpha_at_r(i,istate) = d\dx n_alpha(r_i,istate)^2 + d\dy n_alpha(r_i,istate)^2 + d\dz n_alpha(r_i,istate)^2 + 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_pbe_w` + * :c:data:`aos_vc_alpha_pbe_w` + * :c:data:`energy_sr_x_pbe` + * :c:data:`energy_x_pbe` + + +.. c:var:: one_e_grad_2_dm_beta_at_r + + + File : :file:`dft_utils_in_r/dm_in_r.irp.f` + + .. code:: fortran + + double precision, allocatable :: one_e_dm_and_grad_alpha_in_r (4,n_points_final_grid,N_states) + double precision, allocatable :: one_e_dm_and_grad_beta_in_r (4,n_points_final_grid,N_states) + double precision, allocatable :: one_e_grad_2_dm_alpha_at_r (n_points_final_grid,N_states) + double precision, allocatable :: one_e_grad_2_dm_beta_at_r (n_points_final_grid,N_states) + + + one_e_dm_and_grad_alpha_in_r(1,i,i_state) = d\dx n_alpha(r_i,istate) + one_e_dm_and_grad_alpha_in_r(2,i,i_state) = d\dy n_alpha(r_i,istate) + one_e_dm_and_grad_alpha_in_r(3,i,i_state) = d\dz n_alpha(r_i,istate) + one_e_dm_and_grad_alpha_in_r(4,i,i_state) = n_alpha(r_i,istate) + one_e_grad_2_dm_alpha_at_r(i,istate) = d\dx n_alpha(r_i,istate)^2 + d\dy n_alpha(r_i,istate)^2 + d\dz n_alpha(r_i,istate)^2 + 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_pbe_w` + * :c:data:`aos_vc_alpha_pbe_w` + * :c:data:`energy_sr_x_pbe` + * :c:data:`energy_x_pbe` + + + +Subroutines / functions +----------------------- + +.. c:function:: density_and_grad_alpha_beta_and_all_aos_and_grad_aos_at_r: + + + File : :file:`dft_utils_in_r/dm_in_r.irp.f` + + .. code:: fortran + + subroutine density_and_grad_alpha_beta_and_all_aos_and_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 + : dm_b = beta density evaluated at r + : aos_array(i) = ao(i) evaluated at r + : grad_dm_a(1) = X gradient of the alpha density evaluated in r + : grad_dm_a(1) = X gradient of the beta density evaluated in r + : 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` + * :c:data:`n_states` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:data:`one_e_dm_and_grad_alpha_in_r` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`dsymv` + * :c:func:`give_all_aos_and_grad_at_r` + + +.. c:function:: dm_dft_alpha_beta_and_all_aos_at_r: + + + File : :file:`dft_utils_in_r/dm_in_r.irp.f` + + .. code:: fortran + + subroutine dm_dft_alpha_beta_and_all_aos_at_r(r,dm_a,dm_b,aos_array) + + + input: r(1) ==> r(1) = x, r(2) = y, r(3) = z + output : dm_a = alpha density evaluated at r + output : dm_b = beta density evaluated at r + output : aos_array(i) = ao(i) evaluated at r + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`one_e_dm_alpha_ao_for_dft` + * :c:data:`n_states` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`dsymv` + * :c:func:`give_all_aos_at_r` + + +.. c:function:: dm_dft_alpha_beta_at_r: + + + File : :file:`dft_utils_in_r/dm_in_r.irp.f` + + .. code:: fortran + + subroutine dm_dft_alpha_beta_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) + output : dm_b = beta density evaluated at r(3) + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`one_e_dm_alpha_ao_for_dft` + * :c:data:`n_states` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:data:`one_e_dm_alpha_at_r` + * :c:data:`one_e_dm_alpha_in_r` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`dgemv` + * :c:func:`give_all_aos_at_r` + diff --git a/doc/_sources/modules/dft_utils_one_e.rst.txt b/doc/_sources/modules/dft_utils_one_e.rst.txt new file mode 100644 index 00000000..3124a68a --- /dev/null +++ b/doc/_sources/modules/dft_utils_one_e.rst.txt @@ -0,0 +1,3765 @@ +.. _module_dft_utils_one_e: + +.. program:: dft_utils_one_e + +.. default-role:: option + +=============== +dft_utils_one_e +=============== + +This module contains all the one-body related quantities needed to perform DFT or RS-DFT calculations. +Therefore, it contains most of the properties which depends on the one-body density and density matrix. + +The most important files and variables are: + +* The general *providers* for the x/c energies in :file:`e_xc_general.irp.f` +* The general *providers* for the x/c potentials in :file:`pot_general.irp.f` +* The short-range hartree operator and all related quantities in :file:`sr_coulomb.irp.f` + +These *providers* will be used in many DFT-related programs, such as :file:`ks_scf.irp.f` or :file:`rs_ks_scf.irp.f`. +It is also needed to compute the effective one-body operator needed in multi-determinant RS-DFT (see plugins by eginer). + +Some other interesting quantities: + +* The LDA and PBE *providers* for the x/c energies in :file:`e_xc.irp.f` and :file:`sr_exc.irp.f` +* The LDA and PBE *providers* for the x/c potentials on the AO basis in :file:`pot_ao.irp.f` and :file:`sr_pot_ao.irp.f` +* The :math:`h_{core}` energy computed directly with the one-body density matrix in :file:`one_e_energy_dft.irp.f` +* LDA and PBE short-range functionals *subroutines* in :file:`exc_sr_lda.irp.f` and :file:`exc_sr_pbe.irp.f` + + + + + +Providers +--------- + +.. c:var:: ao_effective_one_e_potential + + + File : :file:`dft_utils_one_e/effective_pot.irp.f` + + .. code:: fortran + + double precision, allocatable :: ao_effective_one_e_potential (ao_num,ao_num,N_states) + double precision, allocatable :: ao_effective_one_e_potential_without_kin (ao_num,ao_num,N_states) + + + ao_effective_one_e_potential(i,j) = :math:`\rangle i_{AO}| v_{H}^{sr} |j_{AO}\rangle + \rangle i_{AO}| h_{core} |j_{AO}\rangle + \rangle i_{AO}|v_{xc} |j_{AO}\rangle` + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`effective_one_e_potential` + * :c:data:`mo_coef` + * :c:data:`mo_num` + * :c:data:`n_states` + + + +.. c:var:: ao_effective_one_e_potential_without_kin + + + File : :file:`dft_utils_one_e/effective_pot.irp.f` + + .. code:: fortran + + double precision, allocatable :: ao_effective_one_e_potential (ao_num,ao_num,N_states) + double precision, allocatable :: ao_effective_one_e_potential_without_kin (ao_num,ao_num,N_states) + + + ao_effective_one_e_potential(i,j) = :math:`\rangle i_{AO}| v_{H}^{sr} |j_{AO}\rangle + \rangle i_{AO}| h_{core} |j_{AO}\rangle + \rangle i_{AO}|v_{xc} |j_{AO}\rangle` + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`effective_one_e_potential` + * :c:data:`mo_coef` + * :c:data:`mo_num` + * :c:data:`n_states` + + + +.. c:var:: aos_dsr_vc_alpha_pbe_w + + + File : :file:`dft_utils_one_e/sr_pot_ao.irp.f` + + .. code:: fortran + + double precision, allocatable :: aos_sr_vc_alpha_pbe_w (ao_num,n_points_final_grid,N_states) + double precision, allocatable :: aos_sr_vc_beta_pbe_w (ao_num,n_points_final_grid,N_states) + double precision, allocatable :: aos_sr_vx_alpha_pbe_w (ao_num,n_points_final_grid,N_states) + double precision, allocatable :: aos_sr_vx_beta_pbe_w (ao_num,n_points_final_grid,N_states) + double precision, allocatable :: aos_dsr_vc_alpha_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: aos_dsr_vc_beta_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: aos_dsr_vx_alpha_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: aos_dsr_vx_beta_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: grad_aos_dsr_vc_alpha_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: grad_aos_dsr_vc_beta_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: grad_aos_dsr_vx_alpha_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: grad_aos_dsr_vx_beta_pbe_w (ao_num,n_points_final_grid,3,N_states) + + + aos_vxc_alpha_PBE_w(j,i) = ao_i(r_j) * (v^x_alpha(r_j) + v^c_alpha(r_j)) * W(r_j) + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`aos_grad_in_r_array` + * :c:data:`aos_in_r_array` + * :c:data:`correlation_functional` + * :c:data:`exchange_functional` + * :c:data:`final_grid_points` + * :c:data:`mu_erf_dft` + * :c:data:`n_points_final_grid` + * :c:data:`n_states` + * :c:data:`one_e_dm_and_grad_alpha_in_r` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`potential_sr_x_alpha_ao_pbe` + + +.. c:var:: aos_dsr_vc_beta_pbe_w + + + File : :file:`dft_utils_one_e/sr_pot_ao.irp.f` + + .. code:: fortran + + double precision, allocatable :: aos_sr_vc_alpha_pbe_w (ao_num,n_points_final_grid,N_states) + double precision, allocatable :: aos_sr_vc_beta_pbe_w (ao_num,n_points_final_grid,N_states) + double precision, allocatable :: aos_sr_vx_alpha_pbe_w (ao_num,n_points_final_grid,N_states) + double precision, allocatable :: aos_sr_vx_beta_pbe_w (ao_num,n_points_final_grid,N_states) + double precision, allocatable :: aos_dsr_vc_alpha_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: aos_dsr_vc_beta_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: aos_dsr_vx_alpha_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: aos_dsr_vx_beta_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: grad_aos_dsr_vc_alpha_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: grad_aos_dsr_vc_beta_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: grad_aos_dsr_vx_alpha_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: grad_aos_dsr_vx_beta_pbe_w (ao_num,n_points_final_grid,3,N_states) + + + aos_vxc_alpha_PBE_w(j,i) = ao_i(r_j) * (v^x_alpha(r_j) + v^c_alpha(r_j)) * W(r_j) + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`aos_grad_in_r_array` + * :c:data:`aos_in_r_array` + * :c:data:`correlation_functional` + * :c:data:`exchange_functional` + * :c:data:`final_grid_points` + * :c:data:`mu_erf_dft` + * :c:data:`n_points_final_grid` + * :c:data:`n_states` + * :c:data:`one_e_dm_and_grad_alpha_in_r` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`potential_sr_x_alpha_ao_pbe` + + +.. c:var:: aos_dsr_vx_alpha_pbe_w + + + File : :file:`dft_utils_one_e/sr_pot_ao.irp.f` + + .. code:: fortran + + double precision, allocatable :: aos_sr_vc_alpha_pbe_w (ao_num,n_points_final_grid,N_states) + double precision, allocatable :: aos_sr_vc_beta_pbe_w (ao_num,n_points_final_grid,N_states) + double precision, allocatable :: aos_sr_vx_alpha_pbe_w (ao_num,n_points_final_grid,N_states) + double precision, allocatable :: aos_sr_vx_beta_pbe_w (ao_num,n_points_final_grid,N_states) + double precision, allocatable :: aos_dsr_vc_alpha_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: aos_dsr_vc_beta_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: aos_dsr_vx_alpha_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: aos_dsr_vx_beta_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: grad_aos_dsr_vc_alpha_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: grad_aos_dsr_vc_beta_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: grad_aos_dsr_vx_alpha_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: grad_aos_dsr_vx_beta_pbe_w (ao_num,n_points_final_grid,3,N_states) + + + aos_vxc_alpha_PBE_w(j,i) = ao_i(r_j) * (v^x_alpha(r_j) + v^c_alpha(r_j)) * W(r_j) + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`aos_grad_in_r_array` + * :c:data:`aos_in_r_array` + * :c:data:`correlation_functional` + * :c:data:`exchange_functional` + * :c:data:`final_grid_points` + * :c:data:`mu_erf_dft` + * :c:data:`n_points_final_grid` + * :c:data:`n_states` + * :c:data:`one_e_dm_and_grad_alpha_in_r` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`potential_sr_x_alpha_ao_pbe` + + +.. c:var:: aos_dsr_vx_beta_pbe_w + + + File : :file:`dft_utils_one_e/sr_pot_ao.irp.f` + + .. code:: fortran + + double precision, allocatable :: aos_sr_vc_alpha_pbe_w (ao_num,n_points_final_grid,N_states) + double precision, allocatable :: aos_sr_vc_beta_pbe_w (ao_num,n_points_final_grid,N_states) + double precision, allocatable :: aos_sr_vx_alpha_pbe_w (ao_num,n_points_final_grid,N_states) + double precision, allocatable :: aos_sr_vx_beta_pbe_w (ao_num,n_points_final_grid,N_states) + double precision, allocatable :: aos_dsr_vc_alpha_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: aos_dsr_vc_beta_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: aos_dsr_vx_alpha_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: aos_dsr_vx_beta_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: grad_aos_dsr_vc_alpha_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: grad_aos_dsr_vc_beta_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: grad_aos_dsr_vx_alpha_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: grad_aos_dsr_vx_beta_pbe_w (ao_num,n_points_final_grid,3,N_states) + + + aos_vxc_alpha_PBE_w(j,i) = ao_i(r_j) * (v^x_alpha(r_j) + v^c_alpha(r_j)) * W(r_j) + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`aos_grad_in_r_array` + * :c:data:`aos_in_r_array` + * :c:data:`correlation_functional` + * :c:data:`exchange_functional` + * :c:data:`final_grid_points` + * :c:data:`mu_erf_dft` + * :c:data:`n_points_final_grid` + * :c:data:`n_states` + * :c:data:`one_e_dm_and_grad_alpha_in_r` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`potential_sr_x_alpha_ao_pbe` + + +.. c:var:: aos_dvc_alpha_pbe_w + + + File : :file:`dft_utils_one_e/pot_ao.irp.f` + + .. code:: fortran + + double precision, allocatable :: aos_vc_alpha_pbe_w (ao_num,n_points_final_grid,N_states) + double precision, allocatable :: aos_vc_beta_pbe_w (ao_num,n_points_final_grid,N_states) + double precision, allocatable :: aos_vx_alpha_pbe_w (ao_num,n_points_final_grid,N_states) + double precision, allocatable :: aos_vx_beta_pbe_w (ao_num,n_points_final_grid,N_states) + double precision, allocatable :: aos_dvc_alpha_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: aos_dvc_beta_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: aos_dvx_alpha_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: aos_dvx_beta_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: grad_aos_dvc_alpha_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: grad_aos_dvc_beta_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: grad_aos_dvx_alpha_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: grad_aos_dvx_beta_pbe_w (ao_num,n_points_final_grid,3,N_states) + + + aos_vxc_alpha_PBE_w(j,i) = ao_i(r_j) * (v^x_alpha(r_j) + v^c_alpha(r_j)) * W(r_j) + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`aos_grad_in_r_array` + * :c:data:`aos_in_r_array` + * :c:data:`correlation_functional` + * :c:data:`exchange_functional` + * :c:data:`final_grid_points` + * :c:data:`n_points_final_grid` + * :c:data:`n_states` + * :c:data:`one_e_dm_and_grad_alpha_in_r` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`potential_x_alpha_ao_pbe` + + +.. c:var:: aos_dvc_beta_pbe_w + + + File : :file:`dft_utils_one_e/pot_ao.irp.f` + + .. code:: fortran + + double precision, allocatable :: aos_vc_alpha_pbe_w (ao_num,n_points_final_grid,N_states) + double precision, allocatable :: aos_vc_beta_pbe_w (ao_num,n_points_final_grid,N_states) + double precision, allocatable :: aos_vx_alpha_pbe_w (ao_num,n_points_final_grid,N_states) + double precision, allocatable :: aos_vx_beta_pbe_w (ao_num,n_points_final_grid,N_states) + double precision, allocatable :: aos_dvc_alpha_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: aos_dvc_beta_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: aos_dvx_alpha_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: aos_dvx_beta_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: grad_aos_dvc_alpha_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: grad_aos_dvc_beta_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: grad_aos_dvx_alpha_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: grad_aos_dvx_beta_pbe_w (ao_num,n_points_final_grid,3,N_states) + + + aos_vxc_alpha_PBE_w(j,i) = ao_i(r_j) * (v^x_alpha(r_j) + v^c_alpha(r_j)) * W(r_j) + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`aos_grad_in_r_array` + * :c:data:`aos_in_r_array` + * :c:data:`correlation_functional` + * :c:data:`exchange_functional` + * :c:data:`final_grid_points` + * :c:data:`n_points_final_grid` + * :c:data:`n_states` + * :c:data:`one_e_dm_and_grad_alpha_in_r` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`potential_x_alpha_ao_pbe` + + +.. c:var:: aos_dvx_alpha_pbe_w + + + File : :file:`dft_utils_one_e/pot_ao.irp.f` + + .. code:: fortran + + double precision, allocatable :: aos_vc_alpha_pbe_w (ao_num,n_points_final_grid,N_states) + double precision, allocatable :: aos_vc_beta_pbe_w (ao_num,n_points_final_grid,N_states) + double precision, allocatable :: aos_vx_alpha_pbe_w (ao_num,n_points_final_grid,N_states) + double precision, allocatable :: aos_vx_beta_pbe_w (ao_num,n_points_final_grid,N_states) + double precision, allocatable :: aos_dvc_alpha_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: aos_dvc_beta_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: aos_dvx_alpha_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: aos_dvx_beta_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: grad_aos_dvc_alpha_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: grad_aos_dvc_beta_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: grad_aos_dvx_alpha_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: grad_aos_dvx_beta_pbe_w (ao_num,n_points_final_grid,3,N_states) + + + aos_vxc_alpha_PBE_w(j,i) = ao_i(r_j) * (v^x_alpha(r_j) + v^c_alpha(r_j)) * W(r_j) + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`aos_grad_in_r_array` + * :c:data:`aos_in_r_array` + * :c:data:`correlation_functional` + * :c:data:`exchange_functional` + * :c:data:`final_grid_points` + * :c:data:`n_points_final_grid` + * :c:data:`n_states` + * :c:data:`one_e_dm_and_grad_alpha_in_r` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`potential_x_alpha_ao_pbe` + + +.. c:var:: aos_dvx_beta_pbe_w + + + File : :file:`dft_utils_one_e/pot_ao.irp.f` + + .. code:: fortran + + double precision, allocatable :: aos_vc_alpha_pbe_w (ao_num,n_points_final_grid,N_states) + double precision, allocatable :: aos_vc_beta_pbe_w (ao_num,n_points_final_grid,N_states) + double precision, allocatable :: aos_vx_alpha_pbe_w (ao_num,n_points_final_grid,N_states) + double precision, allocatable :: aos_vx_beta_pbe_w (ao_num,n_points_final_grid,N_states) + double precision, allocatable :: aos_dvc_alpha_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: aos_dvc_beta_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: aos_dvx_alpha_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: aos_dvx_beta_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: grad_aos_dvc_alpha_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: grad_aos_dvc_beta_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: grad_aos_dvx_alpha_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: grad_aos_dvx_beta_pbe_w (ao_num,n_points_final_grid,3,N_states) + + + aos_vxc_alpha_PBE_w(j,i) = ao_i(r_j) * (v^x_alpha(r_j) + v^c_alpha(r_j)) * W(r_j) + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`aos_grad_in_r_array` + * :c:data:`aos_in_r_array` + * :c:data:`correlation_functional` + * :c:data:`exchange_functional` + * :c:data:`final_grid_points` + * :c:data:`n_points_final_grid` + * :c:data:`n_states` + * :c:data:`one_e_dm_and_grad_alpha_in_r` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`potential_x_alpha_ao_pbe` + + +.. c:var:: aos_sr_vc_alpha_lda_w + + + File : :file:`dft_utils_one_e/sr_pot_ao.irp.f` + + .. code:: fortran + + double precision, allocatable :: aos_sr_vc_alpha_lda_w (n_points_final_grid,ao_num,N_states) + double precision, allocatable :: aos_sr_vc_beta_lda_w (n_points_final_grid,ao_num,N_states) + double precision, allocatable :: aos_sr_vx_alpha_lda_w (n_points_final_grid,ao_num,N_states) + double precision, allocatable :: aos_sr_vx_beta_lda_w (n_points_final_grid,ao_num,N_states) + + + aos_sr_vxc_alpha_LDA_w(j,i) = ao_i(r_j) * (sr_v^x_alpha(r_j) + sr_v^c_alpha(r_j)) * W(r_j) + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`aos_in_r_array` + * :c:data:`final_grid_points` + * :c:data:`mu_erf_dft` + * :c:data:`n_points_final_grid` + * :c:data:`n_states` + * :c:data:`one_e_dm_alpha_at_r` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`potential_sr_c_alpha_ao_lda` + * :c:data:`potential_sr_x_alpha_ao_lda` + + +.. c:var:: aos_sr_vc_alpha_pbe_w + + + File : :file:`dft_utils_one_e/sr_pot_ao.irp.f` + + .. code:: fortran + + double precision, allocatable :: aos_sr_vc_alpha_pbe_w (ao_num,n_points_final_grid,N_states) + double precision, allocatable :: aos_sr_vc_beta_pbe_w (ao_num,n_points_final_grid,N_states) + double precision, allocatable :: aos_sr_vx_alpha_pbe_w (ao_num,n_points_final_grid,N_states) + double precision, allocatable :: aos_sr_vx_beta_pbe_w (ao_num,n_points_final_grid,N_states) + double precision, allocatable :: aos_dsr_vc_alpha_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: aos_dsr_vc_beta_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: aos_dsr_vx_alpha_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: aos_dsr_vx_beta_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: grad_aos_dsr_vc_alpha_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: grad_aos_dsr_vc_beta_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: grad_aos_dsr_vx_alpha_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: grad_aos_dsr_vx_beta_pbe_w (ao_num,n_points_final_grid,3,N_states) + + + aos_vxc_alpha_PBE_w(j,i) = ao_i(r_j) * (v^x_alpha(r_j) + v^c_alpha(r_j)) * W(r_j) + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`aos_grad_in_r_array` + * :c:data:`aos_in_r_array` + * :c:data:`correlation_functional` + * :c:data:`exchange_functional` + * :c:data:`final_grid_points` + * :c:data:`mu_erf_dft` + * :c:data:`n_points_final_grid` + * :c:data:`n_states` + * :c:data:`one_e_dm_and_grad_alpha_in_r` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`potential_sr_x_alpha_ao_pbe` + + +.. c:var:: aos_sr_vc_beta_lda_w + + + File : :file:`dft_utils_one_e/sr_pot_ao.irp.f` + + .. code:: fortran + + double precision, allocatable :: aos_sr_vc_alpha_lda_w (n_points_final_grid,ao_num,N_states) + double precision, allocatable :: aos_sr_vc_beta_lda_w (n_points_final_grid,ao_num,N_states) + double precision, allocatable :: aos_sr_vx_alpha_lda_w (n_points_final_grid,ao_num,N_states) + double precision, allocatable :: aos_sr_vx_beta_lda_w (n_points_final_grid,ao_num,N_states) + + + aos_sr_vxc_alpha_LDA_w(j,i) = ao_i(r_j) * (sr_v^x_alpha(r_j) + sr_v^c_alpha(r_j)) * W(r_j) + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`aos_in_r_array` + * :c:data:`final_grid_points` + * :c:data:`mu_erf_dft` + * :c:data:`n_points_final_grid` + * :c:data:`n_states` + * :c:data:`one_e_dm_alpha_at_r` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`potential_sr_c_alpha_ao_lda` + * :c:data:`potential_sr_x_alpha_ao_lda` + + +.. c:var:: aos_sr_vc_beta_pbe_w + + + File : :file:`dft_utils_one_e/sr_pot_ao.irp.f` + + .. code:: fortran + + double precision, allocatable :: aos_sr_vc_alpha_pbe_w (ao_num,n_points_final_grid,N_states) + double precision, allocatable :: aos_sr_vc_beta_pbe_w (ao_num,n_points_final_grid,N_states) + double precision, allocatable :: aos_sr_vx_alpha_pbe_w (ao_num,n_points_final_grid,N_states) + double precision, allocatable :: aos_sr_vx_beta_pbe_w (ao_num,n_points_final_grid,N_states) + double precision, allocatable :: aos_dsr_vc_alpha_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: aos_dsr_vc_beta_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: aos_dsr_vx_alpha_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: aos_dsr_vx_beta_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: grad_aos_dsr_vc_alpha_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: grad_aos_dsr_vc_beta_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: grad_aos_dsr_vx_alpha_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: grad_aos_dsr_vx_beta_pbe_w (ao_num,n_points_final_grid,3,N_states) + + + aos_vxc_alpha_PBE_w(j,i) = ao_i(r_j) * (v^x_alpha(r_j) + v^c_alpha(r_j)) * W(r_j) + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`aos_grad_in_r_array` + * :c:data:`aos_in_r_array` + * :c:data:`correlation_functional` + * :c:data:`exchange_functional` + * :c:data:`final_grid_points` + * :c:data:`mu_erf_dft` + * :c:data:`n_points_final_grid` + * :c:data:`n_states` + * :c:data:`one_e_dm_and_grad_alpha_in_r` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`potential_sr_x_alpha_ao_pbe` + + +.. c:var:: aos_sr_vx_alpha_lda_w + + + File : :file:`dft_utils_one_e/sr_pot_ao.irp.f` + + .. code:: fortran + + double precision, allocatable :: aos_sr_vc_alpha_lda_w (n_points_final_grid,ao_num,N_states) + double precision, allocatable :: aos_sr_vc_beta_lda_w (n_points_final_grid,ao_num,N_states) + double precision, allocatable :: aos_sr_vx_alpha_lda_w (n_points_final_grid,ao_num,N_states) + double precision, allocatable :: aos_sr_vx_beta_lda_w (n_points_final_grid,ao_num,N_states) + + + aos_sr_vxc_alpha_LDA_w(j,i) = ao_i(r_j) * (sr_v^x_alpha(r_j) + sr_v^c_alpha(r_j)) * W(r_j) + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`aos_in_r_array` + * :c:data:`final_grid_points` + * :c:data:`mu_erf_dft` + * :c:data:`n_points_final_grid` + * :c:data:`n_states` + * :c:data:`one_e_dm_alpha_at_r` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`potential_sr_c_alpha_ao_lda` + * :c:data:`potential_sr_x_alpha_ao_lda` + + +.. c:var:: aos_sr_vx_alpha_pbe_w + + + File : :file:`dft_utils_one_e/sr_pot_ao.irp.f` + + .. code:: fortran + + double precision, allocatable :: aos_sr_vc_alpha_pbe_w (ao_num,n_points_final_grid,N_states) + double precision, allocatable :: aos_sr_vc_beta_pbe_w (ao_num,n_points_final_grid,N_states) + double precision, allocatable :: aos_sr_vx_alpha_pbe_w (ao_num,n_points_final_grid,N_states) + double precision, allocatable :: aos_sr_vx_beta_pbe_w (ao_num,n_points_final_grid,N_states) + double precision, allocatable :: aos_dsr_vc_alpha_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: aos_dsr_vc_beta_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: aos_dsr_vx_alpha_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: aos_dsr_vx_beta_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: grad_aos_dsr_vc_alpha_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: grad_aos_dsr_vc_beta_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: grad_aos_dsr_vx_alpha_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: grad_aos_dsr_vx_beta_pbe_w (ao_num,n_points_final_grid,3,N_states) + + + aos_vxc_alpha_PBE_w(j,i) = ao_i(r_j) * (v^x_alpha(r_j) + v^c_alpha(r_j)) * W(r_j) + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`aos_grad_in_r_array` + * :c:data:`aos_in_r_array` + * :c:data:`correlation_functional` + * :c:data:`exchange_functional` + * :c:data:`final_grid_points` + * :c:data:`mu_erf_dft` + * :c:data:`n_points_final_grid` + * :c:data:`n_states` + * :c:data:`one_e_dm_and_grad_alpha_in_r` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`potential_sr_x_alpha_ao_pbe` + + +.. c:var:: aos_sr_vx_beta_lda_w + + + File : :file:`dft_utils_one_e/sr_pot_ao.irp.f` + + .. code:: fortran + + double precision, allocatable :: aos_sr_vc_alpha_lda_w (n_points_final_grid,ao_num,N_states) + double precision, allocatable :: aos_sr_vc_beta_lda_w (n_points_final_grid,ao_num,N_states) + double precision, allocatable :: aos_sr_vx_alpha_lda_w (n_points_final_grid,ao_num,N_states) + double precision, allocatable :: aos_sr_vx_beta_lda_w (n_points_final_grid,ao_num,N_states) + + + aos_sr_vxc_alpha_LDA_w(j,i) = ao_i(r_j) * (sr_v^x_alpha(r_j) + sr_v^c_alpha(r_j)) * W(r_j) + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`aos_in_r_array` + * :c:data:`final_grid_points` + * :c:data:`mu_erf_dft` + * :c:data:`n_points_final_grid` + * :c:data:`n_states` + * :c:data:`one_e_dm_alpha_at_r` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`potential_sr_c_alpha_ao_lda` + * :c:data:`potential_sr_x_alpha_ao_lda` + + +.. c:var:: aos_sr_vx_beta_pbe_w + + + File : :file:`dft_utils_one_e/sr_pot_ao.irp.f` + + .. code:: fortran + + double precision, allocatable :: aos_sr_vc_alpha_pbe_w (ao_num,n_points_final_grid,N_states) + double precision, allocatable :: aos_sr_vc_beta_pbe_w (ao_num,n_points_final_grid,N_states) + double precision, allocatable :: aos_sr_vx_alpha_pbe_w (ao_num,n_points_final_grid,N_states) + double precision, allocatable :: aos_sr_vx_beta_pbe_w (ao_num,n_points_final_grid,N_states) + double precision, allocatable :: aos_dsr_vc_alpha_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: aos_dsr_vc_beta_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: aos_dsr_vx_alpha_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: aos_dsr_vx_beta_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: grad_aos_dsr_vc_alpha_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: grad_aos_dsr_vc_beta_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: grad_aos_dsr_vx_alpha_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: grad_aos_dsr_vx_beta_pbe_w (ao_num,n_points_final_grid,3,N_states) + + + aos_vxc_alpha_PBE_w(j,i) = ao_i(r_j) * (v^x_alpha(r_j) + v^c_alpha(r_j)) * W(r_j) + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`aos_grad_in_r_array` + * :c:data:`aos_in_r_array` + * :c:data:`correlation_functional` + * :c:data:`exchange_functional` + * :c:data:`final_grid_points` + * :c:data:`mu_erf_dft` + * :c:data:`n_points_final_grid` + * :c:data:`n_states` + * :c:data:`one_e_dm_and_grad_alpha_in_r` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`potential_sr_x_alpha_ao_pbe` + + +.. c:var:: aos_vc_alpha_lda_w + + + File : :file:`dft_utils_one_e/pot_ao.irp.f` + + .. code:: fortran + + double precision, allocatable :: aos_vc_alpha_lda_w (n_points_final_grid,ao_num,N_states) + double precision, allocatable :: aos_vc_beta_lda_w (n_points_final_grid,ao_num,N_states) + double precision, allocatable :: aos_vx_alpha_lda_w (n_points_final_grid,ao_num,N_states) + double precision, allocatable :: aos_vx_beta_lda_w (n_points_final_grid,ao_num,N_states) + + + aos_vxc_alpha_LDA_w(j,i) = ao_i(r_j) * (v^x_alpha(r_j) + v^c_alpha(r_j)) * W(r_j) + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`aos_in_r_array` + * :c:data:`final_grid_points` + * :c:data:`n_points_final_grid` + * :c:data:`n_states` + * :c:data:`one_e_dm_alpha_at_r` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`potential_x_alpha_ao_lda` + + +.. c:var:: aos_vc_alpha_pbe_w + + + File : :file:`dft_utils_one_e/pot_ao.irp.f` + + .. code:: fortran + + double precision, allocatable :: aos_vc_alpha_pbe_w (ao_num,n_points_final_grid,N_states) + double precision, allocatable :: aos_vc_beta_pbe_w (ao_num,n_points_final_grid,N_states) + double precision, allocatable :: aos_vx_alpha_pbe_w (ao_num,n_points_final_grid,N_states) + double precision, allocatable :: aos_vx_beta_pbe_w (ao_num,n_points_final_grid,N_states) + double precision, allocatable :: aos_dvc_alpha_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: aos_dvc_beta_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: aos_dvx_alpha_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: aos_dvx_beta_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: grad_aos_dvc_alpha_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: grad_aos_dvc_beta_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: grad_aos_dvx_alpha_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: grad_aos_dvx_beta_pbe_w (ao_num,n_points_final_grid,3,N_states) + + + aos_vxc_alpha_PBE_w(j,i) = ao_i(r_j) * (v^x_alpha(r_j) + v^c_alpha(r_j)) * W(r_j) + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`aos_grad_in_r_array` + * :c:data:`aos_in_r_array` + * :c:data:`correlation_functional` + * :c:data:`exchange_functional` + * :c:data:`final_grid_points` + * :c:data:`n_points_final_grid` + * :c:data:`n_states` + * :c:data:`one_e_dm_and_grad_alpha_in_r` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`potential_x_alpha_ao_pbe` + + +.. c:var:: aos_vc_beta_lda_w + + + File : :file:`dft_utils_one_e/pot_ao.irp.f` + + .. code:: fortran + + double precision, allocatable :: aos_vc_alpha_lda_w (n_points_final_grid,ao_num,N_states) + double precision, allocatable :: aos_vc_beta_lda_w (n_points_final_grid,ao_num,N_states) + double precision, allocatable :: aos_vx_alpha_lda_w (n_points_final_grid,ao_num,N_states) + double precision, allocatable :: aos_vx_beta_lda_w (n_points_final_grid,ao_num,N_states) + + + aos_vxc_alpha_LDA_w(j,i) = ao_i(r_j) * (v^x_alpha(r_j) + v^c_alpha(r_j)) * W(r_j) + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`aos_in_r_array` + * :c:data:`final_grid_points` + * :c:data:`n_points_final_grid` + * :c:data:`n_states` + * :c:data:`one_e_dm_alpha_at_r` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`potential_x_alpha_ao_lda` + + +.. c:var:: aos_vc_beta_pbe_w + + + File : :file:`dft_utils_one_e/pot_ao.irp.f` + + .. code:: fortran + + double precision, allocatable :: aos_vc_alpha_pbe_w (ao_num,n_points_final_grid,N_states) + double precision, allocatable :: aos_vc_beta_pbe_w (ao_num,n_points_final_grid,N_states) + double precision, allocatable :: aos_vx_alpha_pbe_w (ao_num,n_points_final_grid,N_states) + double precision, allocatable :: aos_vx_beta_pbe_w (ao_num,n_points_final_grid,N_states) + double precision, allocatable :: aos_dvc_alpha_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: aos_dvc_beta_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: aos_dvx_alpha_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: aos_dvx_beta_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: grad_aos_dvc_alpha_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: grad_aos_dvc_beta_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: grad_aos_dvx_alpha_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: grad_aos_dvx_beta_pbe_w (ao_num,n_points_final_grid,3,N_states) + + + aos_vxc_alpha_PBE_w(j,i) = ao_i(r_j) * (v^x_alpha(r_j) + v^c_alpha(r_j)) * W(r_j) + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`aos_grad_in_r_array` + * :c:data:`aos_in_r_array` + * :c:data:`correlation_functional` + * :c:data:`exchange_functional` + * :c:data:`final_grid_points` + * :c:data:`n_points_final_grid` + * :c:data:`n_states` + * :c:data:`one_e_dm_and_grad_alpha_in_r` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`potential_x_alpha_ao_pbe` + + +.. c:var:: aos_vx_alpha_lda_w + + + File : :file:`dft_utils_one_e/pot_ao.irp.f` + + .. code:: fortran + + double precision, allocatable :: aos_vc_alpha_lda_w (n_points_final_grid,ao_num,N_states) + double precision, allocatable :: aos_vc_beta_lda_w (n_points_final_grid,ao_num,N_states) + double precision, allocatable :: aos_vx_alpha_lda_w (n_points_final_grid,ao_num,N_states) + double precision, allocatable :: aos_vx_beta_lda_w (n_points_final_grid,ao_num,N_states) + + + aos_vxc_alpha_LDA_w(j,i) = ao_i(r_j) * (v^x_alpha(r_j) + v^c_alpha(r_j)) * W(r_j) + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`aos_in_r_array` + * :c:data:`final_grid_points` + * :c:data:`n_points_final_grid` + * :c:data:`n_states` + * :c:data:`one_e_dm_alpha_at_r` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`potential_x_alpha_ao_lda` + + +.. c:var:: aos_vx_alpha_pbe_w + + + File : :file:`dft_utils_one_e/pot_ao.irp.f` + + .. code:: fortran + + double precision, allocatable :: aos_vc_alpha_pbe_w (ao_num,n_points_final_grid,N_states) + double precision, allocatable :: aos_vc_beta_pbe_w (ao_num,n_points_final_grid,N_states) + double precision, allocatable :: aos_vx_alpha_pbe_w (ao_num,n_points_final_grid,N_states) + double precision, allocatable :: aos_vx_beta_pbe_w (ao_num,n_points_final_grid,N_states) + double precision, allocatable :: aos_dvc_alpha_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: aos_dvc_beta_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: aos_dvx_alpha_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: aos_dvx_beta_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: grad_aos_dvc_alpha_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: grad_aos_dvc_beta_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: grad_aos_dvx_alpha_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: grad_aos_dvx_beta_pbe_w (ao_num,n_points_final_grid,3,N_states) + + + aos_vxc_alpha_PBE_w(j,i) = ao_i(r_j) * (v^x_alpha(r_j) + v^c_alpha(r_j)) * W(r_j) + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`aos_grad_in_r_array` + * :c:data:`aos_in_r_array` + * :c:data:`correlation_functional` + * :c:data:`exchange_functional` + * :c:data:`final_grid_points` + * :c:data:`n_points_final_grid` + * :c:data:`n_states` + * :c:data:`one_e_dm_and_grad_alpha_in_r` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`potential_x_alpha_ao_pbe` + + +.. c:var:: aos_vx_beta_lda_w + + + File : :file:`dft_utils_one_e/pot_ao.irp.f` + + .. code:: fortran + + double precision, allocatable :: aos_vc_alpha_lda_w (n_points_final_grid,ao_num,N_states) + double precision, allocatable :: aos_vc_beta_lda_w (n_points_final_grid,ao_num,N_states) + double precision, allocatable :: aos_vx_alpha_lda_w (n_points_final_grid,ao_num,N_states) + double precision, allocatable :: aos_vx_beta_lda_w (n_points_final_grid,ao_num,N_states) + + + aos_vxc_alpha_LDA_w(j,i) = ao_i(r_j) * (v^x_alpha(r_j) + v^c_alpha(r_j)) * W(r_j) + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`aos_in_r_array` + * :c:data:`final_grid_points` + * :c:data:`n_points_final_grid` + * :c:data:`n_states` + * :c:data:`one_e_dm_alpha_at_r` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`potential_x_alpha_ao_lda` + + +.. c:var:: aos_vx_beta_pbe_w + + + File : :file:`dft_utils_one_e/pot_ao.irp.f` + + .. code:: fortran + + double precision, allocatable :: aos_vc_alpha_pbe_w (ao_num,n_points_final_grid,N_states) + double precision, allocatable :: aos_vc_beta_pbe_w (ao_num,n_points_final_grid,N_states) + double precision, allocatable :: aos_vx_alpha_pbe_w (ao_num,n_points_final_grid,N_states) + double precision, allocatable :: aos_vx_beta_pbe_w (ao_num,n_points_final_grid,N_states) + double precision, allocatable :: aos_dvc_alpha_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: aos_dvc_beta_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: aos_dvx_alpha_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: aos_dvx_beta_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: grad_aos_dvc_alpha_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: grad_aos_dvc_beta_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: grad_aos_dvx_alpha_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: grad_aos_dvx_beta_pbe_w (ao_num,n_points_final_grid,3,N_states) + + + aos_vxc_alpha_PBE_w(j,i) = ao_i(r_j) * (v^x_alpha(r_j) + v^c_alpha(r_j)) * W(r_j) + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`aos_grad_in_r_array` + * :c:data:`aos_in_r_array` + * :c:data:`correlation_functional` + * :c:data:`exchange_functional` + * :c:data:`final_grid_points` + * :c:data:`n_points_final_grid` + * :c:data:`n_states` + * :c:data:`one_e_dm_and_grad_alpha_in_r` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`potential_x_alpha_ao_pbe` + + +.. c:var:: effective_one_e_potential + + + File : :file:`dft_utils_one_e/effective_pot.irp.f` + + .. code:: fortran + + double precision, allocatable :: effective_one_e_potential (mo_num,mo_num,N_states) + double precision, allocatable :: effective_one_e_potential_without_kin (mo_num,mo_num,N_states) + + + Effective_one_e_potential(i,j) = :math:`\rangle i_{MO}| v_{H}^{sr} |j_{MO}\rangle + \rangle i_{MO}| h_{core} |j_{MO}\rangle + \rangle i_{MO}|v_{xc} |j_{MO}\rangle` + + on the |MO| basis + Taking the expectation value does not provide any energy, but + effective_one_e_potential(i,j) is the potential coupling DFT and WFT part to + be used in any WFT calculation. + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_integrals_n_e` + * :c:data:`mo_kinetic_integrals` + * :c:data:`mo_num` + * :c:data:`n_states` + * :c:data:`potential_x_alpha_mo` + * :c:data:`short_range_hartree_operator` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_effective_one_e_potential` + + +.. c:var:: effective_one_e_potential_without_kin + + + File : :file:`dft_utils_one_e/effective_pot.irp.f` + + .. code:: fortran + + double precision, allocatable :: effective_one_e_potential (mo_num,mo_num,N_states) + double precision, allocatable :: effective_one_e_potential_without_kin (mo_num,mo_num,N_states) + + + Effective_one_e_potential(i,j) = :math:`\rangle i_{MO}| v_{H}^{sr} |j_{MO}\rangle + \rangle i_{MO}| h_{core} |j_{MO}\rangle + \rangle i_{MO}|v_{xc} |j_{MO}\rangle` + + on the |MO| basis + Taking the expectation value does not provide any energy, but + effective_one_e_potential(i,j) is the potential coupling DFT and WFT part to + be used in any WFT calculation. + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_integrals_n_e` + * :c:data:`mo_kinetic_integrals` + * :c:data:`mo_num` + * :c:data:`n_states` + * :c:data:`potential_x_alpha_mo` + * :c:data:`short_range_hartree_operator` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_effective_one_e_potential` + + +.. c:var:: energy_c + + + File : :file:`dft_utils_one_e/e_xc_general.irp.f` + + .. code:: fortran + + double precision, allocatable :: energy_x (N_states) + double precision, allocatable :: energy_c (N_states) + + + correlation and exchange energies general providers. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`correlation_functional` + * :c:data:`energy_sr_x_lda` + * :c:data:`energy_sr_x_pbe` + * :c:data:`exchange_functional` + * :c:data:`n_states` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`e_correlation_dft` + * :c:data:`e_exchange_dft` + * :c:data:`shifting_constant` + + +.. c:var:: energy_c_lda + + + File : :file:`dft_utils_one_e/e_xc.irp.f` + + .. code:: fortran + + double precision, allocatable :: energy_x_lda (N_states) + double precision, allocatable :: energy_c_lda (N_states) + + + exchange/correlation energy with the short range LDA functional + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`final_grid_points` + * :c:data:`n_points_final_grid` + * :c:data:`n_states` + * :c:data:`one_e_dm_alpha_at_r` + + + +.. c:var:: energy_c_pbe + + + File : :file:`dft_utils_one_e/e_xc.irp.f` + + .. code:: fortran + + double precision, allocatable :: energy_x_pbe (N_states) + double precision, allocatable :: energy_c_pbe (N_states) + + + exchange/correlation energy with the short range PBE functional + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`correlation_functional` + * :c:data:`exchange_functional` + * :c:data:`final_grid_points` + * :c:data:`n_points_final_grid` + * :c:data:`n_states` + * :c:data:`one_e_dm_and_grad_alpha_in_r` + + + +.. c:var:: energy_sr_c_lda + + + File : :file:`dft_utils_one_e/sr_exc.irp.f` + + .. code:: fortran + + double precision, allocatable :: energy_sr_x_lda (N_states) + double precision, allocatable :: energy_sr_c_lda (N_states) + + + exchange/correlation energy with the short range LDA functional + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`final_grid_points` + * :c:data:`mu_erf_dft` + * :c:data:`n_points_final_grid` + * :c:data:`n_states` + * :c:data:`one_e_dm_alpha_at_r` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`energy_x` + + +.. c:var:: energy_sr_c_pbe + + + File : :file:`dft_utils_one_e/sr_exc.irp.f` + + .. code:: fortran + + double precision, allocatable :: energy_sr_x_pbe (N_states) + double precision, allocatable :: energy_sr_c_pbe (N_states) + + + exchange/correlation energy with the short range PBE functional + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`correlation_functional` + * :c:data:`exchange_functional` + * :c:data:`final_grid_points` + * :c:data:`mu_erf_dft` + * :c:data:`n_points_final_grid` + * :c:data:`n_states` + * :c:data:`one_e_dm_and_grad_alpha_in_r` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`energy_x` + + +.. c:var:: energy_sr_x_lda + + + File : :file:`dft_utils_one_e/sr_exc.irp.f` + + .. code:: fortran + + double precision, allocatable :: energy_sr_x_lda (N_states) + double precision, allocatable :: energy_sr_c_lda (N_states) + + + exchange/correlation energy with the short range LDA functional + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`final_grid_points` + * :c:data:`mu_erf_dft` + * :c:data:`n_points_final_grid` + * :c:data:`n_states` + * :c:data:`one_e_dm_alpha_at_r` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`energy_x` + + +.. c:var:: energy_sr_x_pbe + + + File : :file:`dft_utils_one_e/sr_exc.irp.f` + + .. code:: fortran + + double precision, allocatable :: energy_sr_x_pbe (N_states) + double precision, allocatable :: energy_sr_c_pbe (N_states) + + + exchange/correlation energy with the short range PBE functional + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`correlation_functional` + * :c:data:`exchange_functional` + * :c:data:`final_grid_points` + * :c:data:`mu_erf_dft` + * :c:data:`n_points_final_grid` + * :c:data:`n_states` + * :c:data:`one_e_dm_and_grad_alpha_in_r` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`energy_x` + + +.. c:var:: energy_x + + + File : :file:`dft_utils_one_e/e_xc_general.irp.f` + + .. code:: fortran + + double precision, allocatable :: energy_x (N_states) + double precision, allocatable :: energy_c (N_states) + + + correlation and exchange energies general providers. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`correlation_functional` + * :c:data:`energy_sr_x_lda` + * :c:data:`energy_sr_x_pbe` + * :c:data:`exchange_functional` + * :c:data:`n_states` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`e_correlation_dft` + * :c:data:`e_exchange_dft` + * :c:data:`shifting_constant` + + +.. c:var:: energy_x_lda + + + File : :file:`dft_utils_one_e/e_xc.irp.f` + + .. code:: fortran + + double precision, allocatable :: energy_x_lda (N_states) + double precision, allocatable :: energy_c_lda (N_states) + + + exchange/correlation energy with the short range LDA functional + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`final_grid_points` + * :c:data:`n_points_final_grid` + * :c:data:`n_states` + * :c:data:`one_e_dm_alpha_at_r` + + + +.. c:var:: energy_x_pbe + + + File : :file:`dft_utils_one_e/e_xc.irp.f` + + .. code:: fortran + + double precision, allocatable :: energy_x_pbe (N_states) + double precision, allocatable :: energy_c_pbe (N_states) + + + exchange/correlation energy with the short range PBE functional + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`correlation_functional` + * :c:data:`exchange_functional` + * :c:data:`final_grid_points` + * :c:data:`n_points_final_grid` + * :c:data:`n_states` + * :c:data:`one_e_dm_and_grad_alpha_in_r` + + + +.. c:function:: gga_sr_type_functionals: + + + File : :file:`dft_utils_one_e/utils.irp.f` + + .. code:: fortran + + subroutine GGA_sr_type_functionals(r,rho_a,rho_b,grad_rho_a_2,grad_rho_b_2,grad_rho_a_b, & + ex,vx_rho_a,vx_rho_b,vx_grad_rho_a_2,vx_grad_rho_b_2,vx_grad_rho_a_b, & + ec,vc_rho_a,vc_rho_b,vc_grad_rho_a_2,vc_grad_rho_b_2,vc_grad_rho_a_b ) + + + routine that helps in building the x/c potentials on the AO basis for a GGA functional with a short-range interaction + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mu_erf_dft` + * :c:data:`exchange_functional` + * :c:data:`correlation_functional` + * :c:data:`n_states` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:data:`aos_sr_vc_alpha_pbe_w` + * :c:data:`energy_sr_x_pbe` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`ec_pbe_sr` + * :c:func:`ex_pbe_sr` + * :c:func:`grad_rho_ab_to_grad_rho_oc` + * :c:func:`rho_ab_to_rho_oc` + * :c:func:`v_grad_rho_oc_to_v_grad_rho_ab` + * :c:func:`v_rho_oc_to_v_rho_ab` + + +.. c:function:: gga_type_functionals: + + + File : :file:`dft_utils_one_e/utils.irp.f` + + .. code:: fortran + + subroutine GGA_type_functionals(r,rho_a,rho_b,grad_rho_a_2,grad_rho_b_2,grad_rho_a_b, & + ex,vx_rho_a,vx_rho_b,vx_grad_rho_a_2,vx_grad_rho_b_2,vx_grad_rho_a_b, & + ec,vc_rho_a,vc_rho_b,vc_grad_rho_a_2,vc_grad_rho_b_2,vc_grad_rho_a_b ) + + + routine that helps in building the x/c potentials on the AO basis for a GGA functional + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_states` + * :c:data:`exchange_functional` + * :c:data:`correlation_functional` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:data:`aos_vc_alpha_pbe_w` + * :c:data:`energy_x_pbe` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`ec_pbe_sr` + * :c:func:`ex_pbe_sr` + * :c:func:`grad_rho_ab_to_grad_rho_oc` + * :c:func:`rho_ab_to_rho_oc` + * :c:func:`v_grad_rho_oc_to_v_grad_rho_ab` + * :c:func:`v_rho_oc_to_v_rho_ab` + + +.. c:var:: grad_aos_dsr_vc_alpha_pbe_w + + + File : :file:`dft_utils_one_e/sr_pot_ao.irp.f` + + .. code:: fortran + + double precision, allocatable :: aos_sr_vc_alpha_pbe_w (ao_num,n_points_final_grid,N_states) + double precision, allocatable :: aos_sr_vc_beta_pbe_w (ao_num,n_points_final_grid,N_states) + double precision, allocatable :: aos_sr_vx_alpha_pbe_w (ao_num,n_points_final_grid,N_states) + double precision, allocatable :: aos_sr_vx_beta_pbe_w (ao_num,n_points_final_grid,N_states) + double precision, allocatable :: aos_dsr_vc_alpha_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: aos_dsr_vc_beta_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: aos_dsr_vx_alpha_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: aos_dsr_vx_beta_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: grad_aos_dsr_vc_alpha_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: grad_aos_dsr_vc_beta_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: grad_aos_dsr_vx_alpha_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: grad_aos_dsr_vx_beta_pbe_w (ao_num,n_points_final_grid,3,N_states) + + + aos_vxc_alpha_PBE_w(j,i) = ao_i(r_j) * (v^x_alpha(r_j) + v^c_alpha(r_j)) * W(r_j) + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`aos_grad_in_r_array` + * :c:data:`aos_in_r_array` + * :c:data:`correlation_functional` + * :c:data:`exchange_functional` + * :c:data:`final_grid_points` + * :c:data:`mu_erf_dft` + * :c:data:`n_points_final_grid` + * :c:data:`n_states` + * :c:data:`one_e_dm_and_grad_alpha_in_r` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`potential_sr_x_alpha_ao_pbe` + + +.. c:var:: grad_aos_dsr_vc_beta_pbe_w + + + File : :file:`dft_utils_one_e/sr_pot_ao.irp.f` + + .. code:: fortran + + double precision, allocatable :: aos_sr_vc_alpha_pbe_w (ao_num,n_points_final_grid,N_states) + double precision, allocatable :: aos_sr_vc_beta_pbe_w (ao_num,n_points_final_grid,N_states) + double precision, allocatable :: aos_sr_vx_alpha_pbe_w (ao_num,n_points_final_grid,N_states) + double precision, allocatable :: aos_sr_vx_beta_pbe_w (ao_num,n_points_final_grid,N_states) + double precision, allocatable :: aos_dsr_vc_alpha_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: aos_dsr_vc_beta_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: aos_dsr_vx_alpha_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: aos_dsr_vx_beta_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: grad_aos_dsr_vc_alpha_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: grad_aos_dsr_vc_beta_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: grad_aos_dsr_vx_alpha_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: grad_aos_dsr_vx_beta_pbe_w (ao_num,n_points_final_grid,3,N_states) + + + aos_vxc_alpha_PBE_w(j,i) = ao_i(r_j) * (v^x_alpha(r_j) + v^c_alpha(r_j)) * W(r_j) + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`aos_grad_in_r_array` + * :c:data:`aos_in_r_array` + * :c:data:`correlation_functional` + * :c:data:`exchange_functional` + * :c:data:`final_grid_points` + * :c:data:`mu_erf_dft` + * :c:data:`n_points_final_grid` + * :c:data:`n_states` + * :c:data:`one_e_dm_and_grad_alpha_in_r` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`potential_sr_x_alpha_ao_pbe` + + +.. c:var:: grad_aos_dsr_vx_alpha_pbe_w + + + File : :file:`dft_utils_one_e/sr_pot_ao.irp.f` + + .. code:: fortran + + double precision, allocatable :: aos_sr_vc_alpha_pbe_w (ao_num,n_points_final_grid,N_states) + double precision, allocatable :: aos_sr_vc_beta_pbe_w (ao_num,n_points_final_grid,N_states) + double precision, allocatable :: aos_sr_vx_alpha_pbe_w (ao_num,n_points_final_grid,N_states) + double precision, allocatable :: aos_sr_vx_beta_pbe_w (ao_num,n_points_final_grid,N_states) + double precision, allocatable :: aos_dsr_vc_alpha_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: aos_dsr_vc_beta_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: aos_dsr_vx_alpha_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: aos_dsr_vx_beta_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: grad_aos_dsr_vc_alpha_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: grad_aos_dsr_vc_beta_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: grad_aos_dsr_vx_alpha_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: grad_aos_dsr_vx_beta_pbe_w (ao_num,n_points_final_grid,3,N_states) + + + aos_vxc_alpha_PBE_w(j,i) = ao_i(r_j) * (v^x_alpha(r_j) + v^c_alpha(r_j)) * W(r_j) + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`aos_grad_in_r_array` + * :c:data:`aos_in_r_array` + * :c:data:`correlation_functional` + * :c:data:`exchange_functional` + * :c:data:`final_grid_points` + * :c:data:`mu_erf_dft` + * :c:data:`n_points_final_grid` + * :c:data:`n_states` + * :c:data:`one_e_dm_and_grad_alpha_in_r` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`potential_sr_x_alpha_ao_pbe` + + +.. c:var:: grad_aos_dsr_vx_beta_pbe_w + + + File : :file:`dft_utils_one_e/sr_pot_ao.irp.f` + + .. code:: fortran + + double precision, allocatable :: aos_sr_vc_alpha_pbe_w (ao_num,n_points_final_grid,N_states) + double precision, allocatable :: aos_sr_vc_beta_pbe_w (ao_num,n_points_final_grid,N_states) + double precision, allocatable :: aos_sr_vx_alpha_pbe_w (ao_num,n_points_final_grid,N_states) + double precision, allocatable :: aos_sr_vx_beta_pbe_w (ao_num,n_points_final_grid,N_states) + double precision, allocatable :: aos_dsr_vc_alpha_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: aos_dsr_vc_beta_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: aos_dsr_vx_alpha_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: aos_dsr_vx_beta_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: grad_aos_dsr_vc_alpha_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: grad_aos_dsr_vc_beta_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: grad_aos_dsr_vx_alpha_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: grad_aos_dsr_vx_beta_pbe_w (ao_num,n_points_final_grid,3,N_states) + + + aos_vxc_alpha_PBE_w(j,i) = ao_i(r_j) * (v^x_alpha(r_j) + v^c_alpha(r_j)) * W(r_j) + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`aos_grad_in_r_array` + * :c:data:`aos_in_r_array` + * :c:data:`correlation_functional` + * :c:data:`exchange_functional` + * :c:data:`final_grid_points` + * :c:data:`mu_erf_dft` + * :c:data:`n_points_final_grid` + * :c:data:`n_states` + * :c:data:`one_e_dm_and_grad_alpha_in_r` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`potential_sr_x_alpha_ao_pbe` + + +.. c:var:: grad_aos_dvc_alpha_pbe_w + + + File : :file:`dft_utils_one_e/pot_ao.irp.f` + + .. code:: fortran + + double precision, allocatable :: aos_vc_alpha_pbe_w (ao_num,n_points_final_grid,N_states) + double precision, allocatable :: aos_vc_beta_pbe_w (ao_num,n_points_final_grid,N_states) + double precision, allocatable :: aos_vx_alpha_pbe_w (ao_num,n_points_final_grid,N_states) + double precision, allocatable :: aos_vx_beta_pbe_w (ao_num,n_points_final_grid,N_states) + double precision, allocatable :: aos_dvc_alpha_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: aos_dvc_beta_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: aos_dvx_alpha_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: aos_dvx_beta_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: grad_aos_dvc_alpha_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: grad_aos_dvc_beta_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: grad_aos_dvx_alpha_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: grad_aos_dvx_beta_pbe_w (ao_num,n_points_final_grid,3,N_states) + + + aos_vxc_alpha_PBE_w(j,i) = ao_i(r_j) * (v^x_alpha(r_j) + v^c_alpha(r_j)) * W(r_j) + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`aos_grad_in_r_array` + * :c:data:`aos_in_r_array` + * :c:data:`correlation_functional` + * :c:data:`exchange_functional` + * :c:data:`final_grid_points` + * :c:data:`n_points_final_grid` + * :c:data:`n_states` + * :c:data:`one_e_dm_and_grad_alpha_in_r` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`potential_x_alpha_ao_pbe` + + +.. c:var:: grad_aos_dvc_beta_pbe_w + + + File : :file:`dft_utils_one_e/pot_ao.irp.f` + + .. code:: fortran + + double precision, allocatable :: aos_vc_alpha_pbe_w (ao_num,n_points_final_grid,N_states) + double precision, allocatable :: aos_vc_beta_pbe_w (ao_num,n_points_final_grid,N_states) + double precision, allocatable :: aos_vx_alpha_pbe_w (ao_num,n_points_final_grid,N_states) + double precision, allocatable :: aos_vx_beta_pbe_w (ao_num,n_points_final_grid,N_states) + double precision, allocatable :: aos_dvc_alpha_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: aos_dvc_beta_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: aos_dvx_alpha_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: aos_dvx_beta_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: grad_aos_dvc_alpha_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: grad_aos_dvc_beta_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: grad_aos_dvx_alpha_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: grad_aos_dvx_beta_pbe_w (ao_num,n_points_final_grid,3,N_states) + + + aos_vxc_alpha_PBE_w(j,i) = ao_i(r_j) * (v^x_alpha(r_j) + v^c_alpha(r_j)) * W(r_j) + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`aos_grad_in_r_array` + * :c:data:`aos_in_r_array` + * :c:data:`correlation_functional` + * :c:data:`exchange_functional` + * :c:data:`final_grid_points` + * :c:data:`n_points_final_grid` + * :c:data:`n_states` + * :c:data:`one_e_dm_and_grad_alpha_in_r` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`potential_x_alpha_ao_pbe` + + +.. c:var:: grad_aos_dvx_alpha_pbe_w + + + File : :file:`dft_utils_one_e/pot_ao.irp.f` + + .. code:: fortran + + double precision, allocatable :: aos_vc_alpha_pbe_w (ao_num,n_points_final_grid,N_states) + double precision, allocatable :: aos_vc_beta_pbe_w (ao_num,n_points_final_grid,N_states) + double precision, allocatable :: aos_vx_alpha_pbe_w (ao_num,n_points_final_grid,N_states) + double precision, allocatable :: aos_vx_beta_pbe_w (ao_num,n_points_final_grid,N_states) + double precision, allocatable :: aos_dvc_alpha_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: aos_dvc_beta_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: aos_dvx_alpha_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: aos_dvx_beta_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: grad_aos_dvc_alpha_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: grad_aos_dvc_beta_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: grad_aos_dvx_alpha_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: grad_aos_dvx_beta_pbe_w (ao_num,n_points_final_grid,3,N_states) + + + aos_vxc_alpha_PBE_w(j,i) = ao_i(r_j) * (v^x_alpha(r_j) + v^c_alpha(r_j)) * W(r_j) + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`aos_grad_in_r_array` + * :c:data:`aos_in_r_array` + * :c:data:`correlation_functional` + * :c:data:`exchange_functional` + * :c:data:`final_grid_points` + * :c:data:`n_points_final_grid` + * :c:data:`n_states` + * :c:data:`one_e_dm_and_grad_alpha_in_r` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`potential_x_alpha_ao_pbe` + + +.. c:var:: grad_aos_dvx_beta_pbe_w + + + File : :file:`dft_utils_one_e/pot_ao.irp.f` + + .. code:: fortran + + double precision, allocatable :: aos_vc_alpha_pbe_w (ao_num,n_points_final_grid,N_states) + double precision, allocatable :: aos_vc_beta_pbe_w (ao_num,n_points_final_grid,N_states) + double precision, allocatable :: aos_vx_alpha_pbe_w (ao_num,n_points_final_grid,N_states) + double precision, allocatable :: aos_vx_beta_pbe_w (ao_num,n_points_final_grid,N_states) + double precision, allocatable :: aos_dvc_alpha_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: aos_dvc_beta_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: aos_dvx_alpha_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: aos_dvx_beta_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: grad_aos_dvc_alpha_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: grad_aos_dvc_beta_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: grad_aos_dvx_alpha_pbe_w (ao_num,n_points_final_grid,3,N_states) + double precision, allocatable :: grad_aos_dvx_beta_pbe_w (ao_num,n_points_final_grid,3,N_states) + + + aos_vxc_alpha_PBE_w(j,i) = ao_i(r_j) * (v^x_alpha(r_j) + v^c_alpha(r_j)) * W(r_j) + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`aos_grad_in_r_array` + * :c:data:`aos_in_r_array` + * :c:data:`correlation_functional` + * :c:data:`exchange_functional` + * :c:data:`final_grid_points` + * :c:data:`n_points_final_grid` + * :c:data:`n_states` + * :c:data:`one_e_dm_and_grad_alpha_in_r` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`potential_x_alpha_ao_pbe` + + +.. c:var:: mu_erf_dft + + + File : :file:`dft_utils_one_e/mu_erf_dft.irp.f` + + .. code:: fortran + + double precision :: mu_erf_dft + + + range separation parameter used in RS-DFT. It is set to mu_erf in order to be consistent with the two electrons integrals erf + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mu_erf` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`aos_sr_vc_alpha_lda_w` + * :c:data:`aos_sr_vc_alpha_pbe_w` + * :c:data:`energy_sr_x_lda` + * :c:data:`energy_sr_x_pbe` + + +.. c:var:: potential_c_alpha_ao + + + File : :file:`dft_utils_one_e/pot_general.irp.f` + + .. code:: fortran + + double precision, allocatable :: potential_x_alpha_ao (ao_num,ao_num,N_states) + double precision, allocatable :: potential_x_beta_ao (ao_num,ao_num,N_states) + double precision, allocatable :: potential_c_alpha_ao (ao_num,ao_num,N_states) + double precision, allocatable :: potential_c_beta_ao (ao_num,ao_num,N_states) + + + general providers for the alpha/beta exchange/correlation potentials on the AO basis + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`correlation_functional` + * :c:data:`exchange_functional` + * :c:data:`n_states` + * :c:data:`potential_sr_c_alpha_ao_lda` + * :c:data:`potential_sr_x_alpha_ao_lda` + * :c:data:`potential_sr_x_alpha_ao_pbe` + * :c:data:`potential_x_alpha_ao_lda` + * :c:data:`potential_x_alpha_ao_pbe` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_potential_alpha_xc` + * :c:data:`potential_x_alpha_mo` + + +.. c:var:: potential_c_alpha_ao_lda + + + File : :file:`dft_utils_one_e/pot_ao.irp.f` + + .. code:: fortran + + double precision, allocatable :: potential_x_alpha_ao_lda (ao_num,ao_num,N_states) + double precision, allocatable :: potential_x_beta_ao_lda (ao_num,ao_num,N_states) + double precision, allocatable :: potential_c_alpha_ao_lda (ao_num,ao_num,N_states) + double precision, allocatable :: potential_c_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_vc_alpha_lda_w` + * :c:data:`n_points_final_grid` + * :c:data:`n_states` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`potential_x_alpha_ao` + + +.. c:var:: potential_c_alpha_ao_pbe + + + File : :file:`dft_utils_one_e/pot_ao.irp.f` + + .. code:: fortran + + double precision, allocatable :: potential_x_alpha_ao_pbe (ao_num,ao_num,N_states) + double precision, allocatable :: potential_x_beta_ao_pbe (ao_num,ao_num,N_states) + double precision, allocatable :: potential_c_alpha_ao_pbe (ao_num,ao_num,N_states) + double precision, allocatable :: potential_c_beta_ao_pbe (ao_num,ao_num,N_states) + + + exchange/correlation alpha/beta potentials with the short range PBE functional on the AO basis + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`aos_grad_in_r_array` + * :c:data:`aos_in_r_array` + * :c:data:`aos_vc_alpha_pbe_w` + * :c:data:`n_points_final_grid` + * :c:data:`n_states` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`potential_x_alpha_ao` + + +.. c:var:: potential_c_alpha_mo + + + File : :file:`dft_utils_one_e/pot_general.irp.f` + + .. code:: fortran + + double precision, allocatable :: potential_x_alpha_mo (mo_num,mo_num,N_states) + double precision, allocatable :: potential_x_beta_mo (mo_num,mo_num,N_states) + double precision, allocatable :: potential_c_alpha_mo (mo_num,mo_num,N_states) + double precision, allocatable :: potential_c_beta_mo (mo_num,mo_num,N_states) + + + general providers for the alpha/beta exchange/correlation potentials on the MO basis + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`mo_coef` + * :c:data:`mo_num` + * :c:data:`n_states` + * :c:data:`potential_x_alpha_ao` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`effective_one_e_potential` + * :c:data:`trace_v_xc` + + +.. c:var:: potential_c_beta_ao + + + File : :file:`dft_utils_one_e/pot_general.irp.f` + + .. code:: fortran + + double precision, allocatable :: potential_x_alpha_ao (ao_num,ao_num,N_states) + double precision, allocatable :: potential_x_beta_ao (ao_num,ao_num,N_states) + double precision, allocatable :: potential_c_alpha_ao (ao_num,ao_num,N_states) + double precision, allocatable :: potential_c_beta_ao (ao_num,ao_num,N_states) + + + general providers for the alpha/beta exchange/correlation potentials on the AO basis + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`correlation_functional` + * :c:data:`exchange_functional` + * :c:data:`n_states` + * :c:data:`potential_sr_c_alpha_ao_lda` + * :c:data:`potential_sr_x_alpha_ao_lda` + * :c:data:`potential_sr_x_alpha_ao_pbe` + * :c:data:`potential_x_alpha_ao_lda` + * :c:data:`potential_x_alpha_ao_pbe` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_potential_alpha_xc` + * :c:data:`potential_x_alpha_mo` + + +.. c:var:: potential_c_beta_ao_lda + + + File : :file:`dft_utils_one_e/pot_ao.irp.f` + + .. code:: fortran + + double precision, allocatable :: potential_x_alpha_ao_lda (ao_num,ao_num,N_states) + double precision, allocatable :: potential_x_beta_ao_lda (ao_num,ao_num,N_states) + double precision, allocatable :: potential_c_alpha_ao_lda (ao_num,ao_num,N_states) + double precision, allocatable :: potential_c_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_vc_alpha_lda_w` + * :c:data:`n_points_final_grid` + * :c:data:`n_states` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`potential_x_alpha_ao` + + +.. c:var:: potential_c_beta_ao_pbe + + + File : :file:`dft_utils_one_e/pot_ao.irp.f` + + .. code:: fortran + + double precision, allocatable :: potential_x_alpha_ao_pbe (ao_num,ao_num,N_states) + double precision, allocatable :: potential_x_beta_ao_pbe (ao_num,ao_num,N_states) + double precision, allocatable :: potential_c_alpha_ao_pbe (ao_num,ao_num,N_states) + double precision, allocatable :: potential_c_beta_ao_pbe (ao_num,ao_num,N_states) + + + exchange/correlation alpha/beta potentials with the short range PBE functional on the AO basis + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`aos_grad_in_r_array` + * :c:data:`aos_in_r_array` + * :c:data:`aos_vc_alpha_pbe_w` + * :c:data:`n_points_final_grid` + * :c:data:`n_states` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`potential_x_alpha_ao` + + +.. c:var:: potential_c_beta_mo + + + File : :file:`dft_utils_one_e/pot_general.irp.f` + + .. code:: fortran + + double precision, allocatable :: potential_x_alpha_mo (mo_num,mo_num,N_states) + double precision, allocatable :: potential_x_beta_mo (mo_num,mo_num,N_states) + double precision, allocatable :: potential_c_alpha_mo (mo_num,mo_num,N_states) + double precision, allocatable :: potential_c_beta_mo (mo_num,mo_num,N_states) + + + general providers for the alpha/beta exchange/correlation potentials on the MO basis + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`mo_coef` + * :c:data:`mo_num` + * :c:data:`n_states` + * :c:data:`potential_x_alpha_ao` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`effective_one_e_potential` + * :c:data:`trace_v_xc` + + +.. c:var:: potential_sr_c_alpha_ao_lda + + + File : :file:`dft_utils_one_e/sr_pot_ao.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` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`potential_x_alpha_ao` + + +.. c:var:: potential_sr_c_alpha_ao_pbe + + + File : :file:`dft_utils_one_e/sr_pot_ao.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 alpha/beta potentials with the short range PBE functional on the AO basis + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`aos_grad_in_r_array` + * :c:data:`aos_in_r_array` + * :c:data:`aos_sr_vc_alpha_pbe_w` + * :c:data:`n_points_final_grid` + * :c:data:`n_states` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`potential_x_alpha_ao` + + +.. c:var:: potential_sr_c_beta_ao_lda + + + File : :file:`dft_utils_one_e/sr_pot_ao.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` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`potential_x_alpha_ao` + + +.. c:var:: potential_sr_c_beta_ao_pbe + + + File : :file:`dft_utils_one_e/sr_pot_ao.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 alpha/beta potentials with the short range PBE functional on the AO basis + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`aos_grad_in_r_array` + * :c:data:`aos_in_r_array` + * :c:data:`aos_sr_vc_alpha_pbe_w` + * :c:data:`n_points_final_grid` + * :c:data:`n_states` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`potential_x_alpha_ao` + + +.. c:var:: potential_sr_x_alpha_ao_lda + + + File : :file:`dft_utils_one_e/sr_pot_ao.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` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`potential_x_alpha_ao` + + +.. c:var:: potential_sr_x_alpha_ao_pbe + + + File : :file:`dft_utils_one_e/sr_pot_ao.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 alpha/beta potentials with the short range PBE functional on the AO basis + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`aos_grad_in_r_array` + * :c:data:`aos_in_r_array` + * :c:data:`aos_sr_vc_alpha_pbe_w` + * :c:data:`n_points_final_grid` + * :c:data:`n_states` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`potential_x_alpha_ao` + + +.. c:var:: potential_sr_x_beta_ao_lda + + + File : :file:`dft_utils_one_e/sr_pot_ao.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` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`potential_x_alpha_ao` + + +.. c:var:: potential_sr_x_beta_ao_pbe + + + File : :file:`dft_utils_one_e/sr_pot_ao.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 alpha/beta potentials with the short range PBE functional on the AO basis + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`aos_grad_in_r_array` + * :c:data:`aos_in_r_array` + * :c:data:`aos_sr_vc_alpha_pbe_w` + * :c:data:`n_points_final_grid` + * :c:data:`n_states` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`potential_x_alpha_ao` + + +.. c:var:: potential_x_alpha_ao + + + File : :file:`dft_utils_one_e/pot_general.irp.f` + + .. code:: fortran + + double precision, allocatable :: potential_x_alpha_ao (ao_num,ao_num,N_states) + double precision, allocatable :: potential_x_beta_ao (ao_num,ao_num,N_states) + double precision, allocatable :: potential_c_alpha_ao (ao_num,ao_num,N_states) + double precision, allocatable :: potential_c_beta_ao (ao_num,ao_num,N_states) + + + general providers for the alpha/beta exchange/correlation potentials on the AO basis + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`correlation_functional` + * :c:data:`exchange_functional` + * :c:data:`n_states` + * :c:data:`potential_sr_c_alpha_ao_lda` + * :c:data:`potential_sr_x_alpha_ao_lda` + * :c:data:`potential_sr_x_alpha_ao_pbe` + * :c:data:`potential_x_alpha_ao_lda` + * :c:data:`potential_x_alpha_ao_pbe` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_potential_alpha_xc` + * :c:data:`potential_x_alpha_mo` + + +.. c:var:: potential_x_alpha_ao_lda + + + File : :file:`dft_utils_one_e/pot_ao.irp.f` + + .. code:: fortran + + double precision, allocatable :: potential_x_alpha_ao_lda (ao_num,ao_num,N_states) + double precision, allocatable :: potential_x_beta_ao_lda (ao_num,ao_num,N_states) + double precision, allocatable :: potential_c_alpha_ao_lda (ao_num,ao_num,N_states) + double precision, allocatable :: potential_c_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_vc_alpha_lda_w` + * :c:data:`n_points_final_grid` + * :c:data:`n_states` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`potential_x_alpha_ao` + + +.. c:var:: potential_x_alpha_ao_pbe + + + File : :file:`dft_utils_one_e/pot_ao.irp.f` + + .. code:: fortran + + double precision, allocatable :: potential_x_alpha_ao_pbe (ao_num,ao_num,N_states) + double precision, allocatable :: potential_x_beta_ao_pbe (ao_num,ao_num,N_states) + double precision, allocatable :: potential_c_alpha_ao_pbe (ao_num,ao_num,N_states) + double precision, allocatable :: potential_c_beta_ao_pbe (ao_num,ao_num,N_states) + + + exchange/correlation alpha/beta potentials with the short range PBE functional on the AO basis + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`aos_grad_in_r_array` + * :c:data:`aos_in_r_array` + * :c:data:`aos_vc_alpha_pbe_w` + * :c:data:`n_points_final_grid` + * :c:data:`n_states` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`potential_x_alpha_ao` + + +.. c:var:: potential_x_alpha_mo + + + File : :file:`dft_utils_one_e/pot_general.irp.f` + + .. code:: fortran + + double precision, allocatable :: potential_x_alpha_mo (mo_num,mo_num,N_states) + double precision, allocatable :: potential_x_beta_mo (mo_num,mo_num,N_states) + double precision, allocatable :: potential_c_alpha_mo (mo_num,mo_num,N_states) + double precision, allocatable :: potential_c_beta_mo (mo_num,mo_num,N_states) + + + general providers for the alpha/beta exchange/correlation potentials on the MO basis + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`mo_coef` + * :c:data:`mo_num` + * :c:data:`n_states` + * :c:data:`potential_x_alpha_ao` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`effective_one_e_potential` + * :c:data:`trace_v_xc` + + +.. c:var:: potential_x_beta_ao + + + File : :file:`dft_utils_one_e/pot_general.irp.f` + + .. code:: fortran + + double precision, allocatable :: potential_x_alpha_ao (ao_num,ao_num,N_states) + double precision, allocatable :: potential_x_beta_ao (ao_num,ao_num,N_states) + double precision, allocatable :: potential_c_alpha_ao (ao_num,ao_num,N_states) + double precision, allocatable :: potential_c_beta_ao (ao_num,ao_num,N_states) + + + general providers for the alpha/beta exchange/correlation potentials on the AO basis + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`correlation_functional` + * :c:data:`exchange_functional` + * :c:data:`n_states` + * :c:data:`potential_sr_c_alpha_ao_lda` + * :c:data:`potential_sr_x_alpha_ao_lda` + * :c:data:`potential_sr_x_alpha_ao_pbe` + * :c:data:`potential_x_alpha_ao_lda` + * :c:data:`potential_x_alpha_ao_pbe` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_potential_alpha_xc` + * :c:data:`potential_x_alpha_mo` + + +.. c:var:: potential_x_beta_ao_lda + + + File : :file:`dft_utils_one_e/pot_ao.irp.f` + + .. code:: fortran + + double precision, allocatable :: potential_x_alpha_ao_lda (ao_num,ao_num,N_states) + double precision, allocatable :: potential_x_beta_ao_lda (ao_num,ao_num,N_states) + double precision, allocatable :: potential_c_alpha_ao_lda (ao_num,ao_num,N_states) + double precision, allocatable :: potential_c_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_vc_alpha_lda_w` + * :c:data:`n_points_final_grid` + * :c:data:`n_states` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`potential_x_alpha_ao` + + +.. c:var:: potential_x_beta_ao_pbe + + + File : :file:`dft_utils_one_e/pot_ao.irp.f` + + .. code:: fortran + + double precision, allocatable :: potential_x_alpha_ao_pbe (ao_num,ao_num,N_states) + double precision, allocatable :: potential_x_beta_ao_pbe (ao_num,ao_num,N_states) + double precision, allocatable :: potential_c_alpha_ao_pbe (ao_num,ao_num,N_states) + double precision, allocatable :: potential_c_beta_ao_pbe (ao_num,ao_num,N_states) + + + exchange/correlation alpha/beta potentials with the short range PBE functional on the AO basis + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`aos_grad_in_r_array` + * :c:data:`aos_in_r_array` + * :c:data:`aos_vc_alpha_pbe_w` + * :c:data:`n_points_final_grid` + * :c:data:`n_states` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`potential_x_alpha_ao` + + +.. c:var:: potential_x_beta_mo + + + File : :file:`dft_utils_one_e/pot_general.irp.f` + + .. code:: fortran + + double precision, allocatable :: potential_x_alpha_mo (mo_num,mo_num,N_states) + double precision, allocatable :: potential_x_beta_mo (mo_num,mo_num,N_states) + double precision, allocatable :: potential_c_alpha_mo (mo_num,mo_num,N_states) + double precision, allocatable :: potential_c_beta_mo (mo_num,mo_num,N_states) + + + general providers for the alpha/beta exchange/correlation potentials on the MO basis + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`mo_coef` + * :c:data:`mo_num` + * :c:data:`n_states` + * :c:data:`potential_x_alpha_ao` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`effective_one_e_potential` + * :c:data:`trace_v_xc` + + +.. c:var:: psi_dft_energy_h_core + + + File : :file:`dft_utils_one_e/one_e_energy_dft.irp.f` + + .. code:: fortran + + double precision, allocatable :: psi_dft_energy_kinetic (N_states) + double precision, allocatable :: psi_dft_energy_nuclear_elec (N_states) + double precision, allocatable :: psi_dft_energy_h_core (N_states) + + + kinetic, electron-nuclear and total h_core energy computed with the density matrix one_e_dm_mo_beta_for_dft+one_e_dm_mo_alpha_for_dft + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`elec_alpha_num` + * :c:data:`elec_beta_num` + * :c:data:`mo_integrals_n_e` + * :c:data:`mo_kinetic_integrals` + * :c:data:`mo_num` + * :c:data:`n_states` + * :c:data:`one_e_dm_mo_alpha_for_dft` + * :c:data:`one_e_dm_mo_beta_for_dft` + + + +.. c:var:: psi_dft_energy_kinetic + + + File : :file:`dft_utils_one_e/one_e_energy_dft.irp.f` + + .. code:: fortran + + double precision, allocatable :: psi_dft_energy_kinetic (N_states) + double precision, allocatable :: psi_dft_energy_nuclear_elec (N_states) + double precision, allocatable :: psi_dft_energy_h_core (N_states) + + + kinetic, electron-nuclear and total h_core energy computed with the density matrix one_e_dm_mo_beta_for_dft+one_e_dm_mo_alpha_for_dft + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`elec_alpha_num` + * :c:data:`elec_beta_num` + * :c:data:`mo_integrals_n_e` + * :c:data:`mo_kinetic_integrals` + * :c:data:`mo_num` + * :c:data:`n_states` + * :c:data:`one_e_dm_mo_alpha_for_dft` + * :c:data:`one_e_dm_mo_beta_for_dft` + + + +.. c:var:: psi_dft_energy_nuclear_elec + + + File : :file:`dft_utils_one_e/one_e_energy_dft.irp.f` + + .. code:: fortran + + double precision, allocatable :: psi_dft_energy_kinetic (N_states) + double precision, allocatable :: psi_dft_energy_nuclear_elec (N_states) + double precision, allocatable :: psi_dft_energy_h_core (N_states) + + + kinetic, electron-nuclear and total h_core energy computed with the density matrix one_e_dm_mo_beta_for_dft+one_e_dm_mo_alpha_for_dft + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`elec_alpha_num` + * :c:data:`elec_beta_num` + * :c:data:`mo_integrals_n_e` + * :c:data:`mo_kinetic_integrals` + * :c:data:`mo_num` + * :c:data:`n_states` + * :c:data:`one_e_dm_mo_alpha_for_dft` + * :c:data:`one_e_dm_mo_beta_for_dft` + + + +.. c:var:: shifting_constant + + + File : :file:`dft_utils_one_e/shifted_potential.irp.f` + + .. code:: fortran + + double precision, allocatable :: shifting_constant (N_states) + + + shifting_constant = (E_{Hxc} - <\Psi | V_{Hxc} | \Psi>) / N_elec + constant to add to the potential in order to obtain the variational energy as + the eigenvalue of the effective long-range Hamiltonian + (see original paper of Levy PRL 113, 113002 (2014), equation (17) ) + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`elec_num` + * :c:data:`energy_x` + * :c:data:`n_states` + * :c:data:`short_range_hartree_operator` + * :c:data:`trace_v_xc` + + + +.. c:var:: short_range_hartree + + + File : :file:`dft_utils_one_e/sr_coulomb.irp.f` + + .. code:: fortran + + double precision, allocatable :: short_range_hartree_operator (mo_num,mo_num,N_states) + double precision, allocatable :: short_range_hartree (N_states) + + + short_range_Hartree_operator(i,j) = :math:`\int dr i(r)j(r) \int r' \rho(r') W_{ee}^{sr}` + + short_range_Hartree = :math:`1/2 \sum_{i,j} \rho_{ij} \mathtt{short_range_Hartree_operator}(i,j)` + + = :math:`1/2 \int dr \int r' \rho(r) \rho(r') W_{ee}^{sr}` + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_integrals_erf_map` + * :c:data:`mo_integrals_map` + * :c:data:`mo_num` + * :c:data:`mo_two_e_integrals_erf_in_map` + * :c:data:`mo_two_e_integrals_in_map` + * :c:data:`n_states` + * :c:data:`one_e_dm_average_mo_for_dft` + * :c:data:`one_e_dm_mo_for_dft` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`effective_one_e_potential` + * :c:data:`shifting_constant` + * :c:data:`trace_v_xc` + + +.. c:var:: short_range_hartree_operator + + + File : :file:`dft_utils_one_e/sr_coulomb.irp.f` + + .. code:: fortran + + double precision, allocatable :: short_range_hartree_operator (mo_num,mo_num,N_states) + double precision, allocatable :: short_range_hartree (N_states) + + + short_range_Hartree_operator(i,j) = :math:`\int dr i(r)j(r) \int r' \rho(r') W_{ee}^{sr}` + + short_range_Hartree = :math:`1/2 \sum_{i,j} \rho_{ij} \mathtt{short_range_Hartree_operator}(i,j)` + + = :math:`1/2 \int dr \int r' \rho(r) \rho(r') W_{ee}^{sr}` + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_integrals_erf_map` + * :c:data:`mo_integrals_map` + * :c:data:`mo_num` + * :c:data:`mo_two_e_integrals_erf_in_map` + * :c:data:`mo_two_e_integrals_in_map` + * :c:data:`n_states` + * :c:data:`one_e_dm_average_mo_for_dft` + * :c:data:`one_e_dm_mo_for_dft` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`effective_one_e_potential` + * :c:data:`shifting_constant` + * :c:data:`trace_v_xc` + + +.. c:var:: trace_v_h + + + File : :file:`dft_utils_one_e/pot_general.irp.f` + + .. code:: fortran + + double precision, allocatable :: trace_v_xc (N_states) + double precision, allocatable :: trace_v_h (N_states) + double precision, allocatable :: trace_v_hxc (N_states) + + + Trace_v_xc = \sum_{i,j} (rho_{ij}_\alpha v^{xc}_{ij}^\alpha + rho_{ij}_\beta v^{xc}_{ij}^\beta) + Trace_v_Hxc = \sum_{i,j} v^{H}_{ij} (rho_{ij}_\alpha + rho_{ij}_\beta) + Trace_v_Hxc = \sum_{i,j} rho_{ij} v^{Hxc}_{ij} + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_num` + * :c:data:`n_states` + * :c:data:`one_e_dm_mo_alpha_for_dft` + * :c:data:`one_e_dm_mo_beta_for_dft` + * :c:data:`potential_x_alpha_mo` + * :c:data:`short_range_hartree_operator` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`shifting_constant` + + +.. c:var:: trace_v_hxc + + + File : :file:`dft_utils_one_e/pot_general.irp.f` + + .. code:: fortran + + double precision, allocatable :: trace_v_xc (N_states) + double precision, allocatable :: trace_v_h (N_states) + double precision, allocatable :: trace_v_hxc (N_states) + + + Trace_v_xc = \sum_{i,j} (rho_{ij}_\alpha v^{xc}_{ij}^\alpha + rho_{ij}_\beta v^{xc}_{ij}^\beta) + Trace_v_Hxc = \sum_{i,j} v^{H}_{ij} (rho_{ij}_\alpha + rho_{ij}_\beta) + Trace_v_Hxc = \sum_{i,j} rho_{ij} v^{Hxc}_{ij} + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_num` + * :c:data:`n_states` + * :c:data:`one_e_dm_mo_alpha_for_dft` + * :c:data:`one_e_dm_mo_beta_for_dft` + * :c:data:`potential_x_alpha_mo` + * :c:data:`short_range_hartree_operator` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`shifting_constant` + + +.. c:var:: trace_v_xc + + + File : :file:`dft_utils_one_e/pot_general.irp.f` + + .. code:: fortran + + double precision, allocatable :: trace_v_xc (N_states) + double precision, allocatable :: trace_v_h (N_states) + double precision, allocatable :: trace_v_hxc (N_states) + + + Trace_v_xc = \sum_{i,j} (rho_{ij}_\alpha v^{xc}_{ij}^\alpha + rho_{ij}_\beta v^{xc}_{ij}^\beta) + Trace_v_Hxc = \sum_{i,j} v^{H}_{ij} (rho_{ij}_\alpha + rho_{ij}_\beta) + Trace_v_Hxc = \sum_{i,j} rho_{ij} v^{Hxc}_{ij} + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_num` + * :c:data:`n_states` + * :c:data:`one_e_dm_mo_alpha_for_dft` + * :c:data:`one_e_dm_mo_beta_for_dft` + * :c:data:`potential_x_alpha_mo` + * :c:data:`short_range_hartree_operator` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`shifting_constant` + + + +Subroutines / functions +----------------------- + +.. c:function:: berf: + + + File : :file:`dft_utils_one_e/exc_sr_lda.irp.f` + + .. code:: fortran + + function berf(a) + + + + +.. c:function:: dberfda: + + + File : :file:`dft_utils_one_e/exc_sr_lda.irp.f` + + .. code:: fortran + + function dberfda(a) + + + + +.. c:function:: dpol: + + + File : :file:`dft_utils_one_e/exc_sr_lda.irp.f` + + .. code:: fortran + + double precision function dpol(rs) + + + + +.. c:function:: dpold: + + + File : :file:`dft_utils_one_e/exc_sr_lda.irp.f` + + .. code:: fortran + + double precision function dpold(rs) + + + + +.. c:function:: dpoldd: + + + File : :file:`dft_utils_one_e/exc_sr_lda.irp.f` + + .. code:: fortran + + double precision function dpoldd(rs) + + + + +.. c:function:: ec_lda: + + + File : :file:`dft_utils_one_e/exc_sr_lda.irp.f` + + .. code:: fortran + + subroutine ec_lda(rho_a,rho_b,ec,vc_a,vc_b) + + + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`ec_pbe_only` + * :c:func:`ec_pbe_sr` + * :c:data:`energy_x_lda` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`ecpw` + + +.. c:function:: ec_lda_sr: + + + File : :file:`dft_utils_one_e/exc_sr_lda.irp.f` + + .. code:: fortran + + subroutine ec_lda_sr(mu,rho_a,rho_b,ec,vc_a,vc_b) + + + + Called by: + + .. hlist:: + :columns: 3 + + * :c:data:`aos_sr_vc_alpha_lda_w` + * :c:data:`aos_vc_alpha_lda_w` + * :c:func:`ec_pbe_only` + * :c:func:`ec_pbe_sr` + * :c:data:`energy_sr_x_lda` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`ecorrlr` + * :c:func:`ecpw` + * :c:func:`vcorrlr` + + +.. c:function:: ec_only_lda_sr: + + + File : :file:`dft_utils_one_e/exc_sr_lda.irp.f` + + .. code:: fortran + + subroutine ec_only_lda_sr(mu,rho_a,rho_b,ec) + + + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`ecorrlr` + * :c:func:`ecpw` + + +.. c:function:: ec_pbe_only: + + + File : :file:`dft_utils_one_e/exc_sr_pbe.irp.f` + + .. code:: fortran + + subroutine ec_pbe_only(mu,rhoc,rhoo,sigmacc,sigmaco,sigmaoo,ec) + + + Short-range PBE correlation energy functional for erf interaction + + input : ========== + + mu = range separated parameter + + rhoc, rhoo = total density and spin density + + sigmacc = square of the gradient of the total density + + sigmaco = square of the gradient of the spin density + + sigmaoo = scalar product between the gradient of the total density and the one of the spin density + + output: ========== + + ec = correlation energy + + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`ec_lda` + * :c:func:`ec_lda_sr` + + +.. c:function:: ec_pbe_sr: + + + File : :file:`dft_utils_one_e/exc_sr_pbe.irp.f` + + .. code:: fortran + + subroutine ec_pbe_sr(mu,rhoc,rhoo,sigmacc,sigmaco,sigmaoo,ec,vrhoc,vrhoo,vsigmacc,vsigmaco,vsigmaoo) + + + Short-range PBE correlation energy functional for erf interaction + + input : ========== + + mu = range separated parameter + + rhoc, rhoo = total density and spin density + + sigmacc = square of the gradient of the total density + + sigmaco = square of the gradient of the spin density + + sigmaoo = scalar product between the gradient of the total density and the one of the spin density + + output: ========== + + ec = correlation energy + + all variables v** are energy derivatives with respect to components of the density + + vrhoc = derivative with respect to the total density + + vrhoo = derivative with respect to spin density + + vsigmacc = derivative with respect to the square of the gradient of the total density + + vsigmaco = derivative with respect to scalar product between the gradients of total and spin densities + + vsigmaoo = derivative with respect to the square of the gradient of the psin density + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`gga_sr_type_functionals` + * :c:func:`gga_type_functionals` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`ec_lda` + * :c:func:`ec_lda_sr` + + +.. c:function:: ecorrlr: + + + File : :file:`dft_utils_one_e/exc_sr_lda.irp.f` + + .. code:: fortran + + subroutine ecorrlr(rs,z,mu,eclr) + + + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`ec_lda_sr` + * :c:func:`ec_only_lda_sr` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`ecpw` + + +.. c:function:: ecpw: + + + File : :file:`dft_utils_one_e/exc_sr_lda.irp.f` + + .. code:: fortran + + subroutine ecPW(x,y,ec,ecd,ecz,ecdd,eczd) + + + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`ec_lda` + * :c:func:`ec_lda_sr` + * :c:func:`ec_only_lda_sr` + * :c:func:`ecorrlr` + * :c:func:`vcorrlr` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`gpw` + + +.. c:function:: ex_lda: + + + File : :file:`dft_utils_one_e/exc_sr_lda.irp.f` + + .. code:: fortran + + subroutine ex_lda(rho_a,rho_b,ex,vx_a,vx_b) + + + + Called by: + + .. hlist:: + :columns: 3 + + * :c:data:`energy_x_lda` + + +.. c:function:: ex_lda_sr: + + + File : :file:`dft_utils_one_e/exc_sr_lda.irp.f` + + .. code:: fortran + + subroutine ex_lda_sr(mu,rho_a,rho_b,ex,vx_a,vx_b) + + + + Called by: + + .. hlist:: + :columns: 3 + + * :c:data:`aos_sr_vc_alpha_lda_w` + * :c:data:`aos_vc_alpha_lda_w` + * :c:data:`energy_sr_x_lda` + * :c:func:`ex_pbe_sr` + * :c:func:`ex_pbe_sr_only` + + +.. c:function:: ex_pbe_sr: + + + File : :file:`dft_utils_one_e/exc_sr_pbe.irp.f` + + .. code:: fortran + + subroutine ex_pbe_sr(mu,rho_a,rho_b,grd_rho_a_2,grd_rho_b_2,grd_rho_a_b,ex,vx_rho_a,vx_rho_b,vx_grd_rho_a_2,vx_grd_rho_b_2,vx_grd_rho_a_b) + + + mu = range separation parameter + rho_a = density alpha + rho_b = density beta + grd_rho_a_2 = (gradient rho_a)^2 + grd_rho_b_2 = (gradient rho_b)^2 + grd_rho_a_b = (gradient rho_a).(gradient rho_b) + ex = exchange energy density at the density and corresponding gradients of the density + vx_rho_a = d ex / d rho_a + vx_rho_b = d ex / d rho_b + vx_grd_rho_a_2 = d ex / d grd_rho_a_2 + vx_grd_rho_b_2 = d ex / d grd_rho_b_2 + vx_grd_rho_a_b = d ex / d grd_rho_a_b + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`gga_sr_type_functionals` + * :c:func:`gga_type_functionals` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`ex_lda_sr` + + +.. c:function:: ex_pbe_sr_only: + + + File : :file:`dft_utils_one_e/exc_sr_pbe.irp.f` + + .. code:: fortran + + subroutine ex_pbe_sr_only(mu,rho_a,rho_b,grd_rho_a_2,grd_rho_b_2,grd_rho_a_b,ex) + + + rho_a = density alpha + rho_b = density beta + grd_rho_a_2 = (gradient rho_a)^2 + grd_rho_b_2 = (gradient rho_b)^2 + grd_rho_a_b = (gradient rho_a).(gradient rho_b) + ex = exchange energy density at point r + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`ex_lda_sr` + + +.. c:function:: g0d: + + + File : :file:`dft_utils_one_e/exc_sr_lda.irp.f` + + .. code:: fortran + + double precision function g0d(rs) + + + + +.. c:function:: g0dd: + + + File : :file:`dft_utils_one_e/exc_sr_lda.irp.f` + + .. code:: fortran + + double precision function g0dd(rs) + + + + +.. c:function:: g0f: + + + File : :file:`dft_utils_one_e/exc_sr_lda.irp.f` + + .. code:: fortran + + double precision function g0f(x) + + + + +.. c:function:: gpw: + + + File : :file:`dft_utils_one_e/exc_sr_lda.irp.f` + + .. code:: fortran + + subroutine GPW(x,Ac,alfa1,beta1,beta2,beta3,beta4,G,Gd,Gdd) + + + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`ecpw` + + +.. c:function:: grad_rho_ab_to_grad_rho_oc: + + + File : :file:`dft_utils_one_e/rho_ab_to_rho_tot.irp.f` + + .. code:: fortran + + subroutine grad_rho_ab_to_grad_rho_oc(grad_rho_a_2,grad_rho_b_2,grad_rho_a_b,grad_rho_o_2,grad_rho_c_2,grad_rho_o_c) + + + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`gga_sr_type_functionals` + * :c:func:`gga_type_functionals` + + +.. c:function:: qrpa: + + + File : :file:`dft_utils_one_e/exc_sr_lda.irp.f` + + .. code:: fortran + + double precision function Qrpa(x) + + + + +.. c:function:: qrpad: + + + File : :file:`dft_utils_one_e/exc_sr_lda.irp.f` + + .. code:: fortran + + double precision function Qrpad(x) + + + + +.. c:function:: qrpadd: + + + File : :file:`dft_utils_one_e/exc_sr_lda.irp.f` + + .. code:: fortran + + double precision function Qrpadd(x) + + + + +.. c:function:: rho_ab_to_rho_oc: + + + File : :file:`dft_utils_one_e/rho_ab_to_rho_tot.irp.f` + + .. code:: fortran + + subroutine rho_ab_to_rho_oc(rho_a,rho_b,rho_o,rho_c) + + + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`gga_sr_type_functionals` + * :c:func:`gga_type_functionals` + + +.. c:function:: rho_oc_to_rho_ab: + + + File : :file:`dft_utils_one_e/rho_ab_to_rho_tot.irp.f` + + .. code:: fortran + + subroutine rho_oc_to_rho_ab(rho_o,rho_c,rho_a,rho_b) + + + + +.. c:function:: v_grad_rho_oc_to_v_grad_rho_ab: + + + File : :file:`dft_utils_one_e/rho_ab_to_rho_tot.irp.f` + + .. code:: fortran + + subroutine v_grad_rho_oc_to_v_grad_rho_ab(v_grad_rho_o_2,v_grad_rho_c_2,v_grad_rho_o_c,v_grad_rho_a_2,v_grad_rho_b_2,v_grad_rho_a_b) + + + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`gga_sr_type_functionals` + * :c:func:`gga_type_functionals` + + +.. c:function:: v_rho_ab_to_v_rho_oc: + + + File : :file:`dft_utils_one_e/rho_ab_to_rho_tot.irp.f` + + .. code:: fortran + + subroutine v_rho_ab_to_v_rho_oc(v_rho_a,v_rho_b,v_rho_o,v_rho_c) + + + + +.. c:function:: v_rho_oc_to_v_rho_ab: + + + File : :file:`dft_utils_one_e/rho_ab_to_rho_tot.irp.f` + + .. code:: fortran + + subroutine v_rho_oc_to_v_rho_ab(v_rho_o,v_rho_c,v_rho_a,v_rho_b) + + + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`gga_sr_type_functionals` + * :c:func:`gga_type_functionals` + + +.. c:function:: vcorrlr: + + + File : :file:`dft_utils_one_e/exc_sr_lda.irp.f` + + .. code:: fortran + + subroutine vcorrlr(rs,z,mu,vclrup,vclrdown,vclrupd,vclrdownd) + + + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`ec_lda_sr` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`ecpw` + diff --git a/doc/_sources/modules/dressing.rst.txt b/doc/_sources/modules/dressing.rst.txt new file mode 100644 index 00000000..17695be4 --- /dev/null +++ b/doc/_sources/modules/dressing.rst.txt @@ -0,0 +1,36 @@ +.. _module_dressing: + +.. program:: dressing + +.. default-role:: option + +========= +dress_zmq +========= + +Module to facilitate the construction of modules using dressed +Hamiltonians, parallelized with |ZeroMQ|. + + + + +EZFIO parameters +---------------- + +.. option:: thresh_dressed_ci + + Threshold on the convergence of the dressed |CI| energy + + Default: 1.e-5 + +.. option:: n_it_max_dressed_ci + + Maximum number of dressed |CI| iterations + + Default: 10 + +.. option:: dress_relative_error + + Stop stochastic dressing when the relative error is smaller than :option:`perturbation PT2_relative_error` + + Default: 0.001 diff --git a/doc/_sources/modules/electrons.rst.txt b/doc/_sources/modules/electrons.rst.txt new file mode 100644 index 00000000..17fc993f --- /dev/null +++ b/doc/_sources/modules/electrons.rst.txt @@ -0,0 +1,114 @@ +.. _module_electrons: + +.. program:: electrons + +.. default-role:: option + +========= +electrons +========= + +Describes the electrons. For the moment, only the number of alpha +and beta electrons are provided by this module. + + +Assumptions +=========== + +* `elec_num` >= 0 +* `elec_alpha_num` >= 0 +* `elec_beta_num` >= 0 +* `elec_alpha_num` >= `elec_beta_num` + + + + + +EZFIO parameters +---------------- + +.. option:: elec_alpha_num + + Numbers of electrons alpha ("up") + + +.. option:: elec_beta_num + + Numbers of electrons beta ("down") + + +.. option:: elec_num + + Numbers total of electrons (alpha + beta) + + Default: = electrons.elec_alpha_num + electrons.elec_beta_num + + +Providers +--------- + +.. c:var:: elec_num + + + File : :file:`electrons/electrons.irp.f` + + .. code:: fortran + + integer :: elec_num + integer, allocatable :: elec_num_tab (2) + + + Numbers of alpha ("up") , beta ("down") and total electrons + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`elec_alpha_num` + * :c:data:`elec_beta_num` + * :c:data:`ezfio_filename` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`diagonal_h_matrix_on_psi_det` + * :c:data:`psi_det_hii` + * :c:data:`psi_selectors_diag_h_mat` + * :c:data:`pt2_f` + + +.. c:var:: elec_num_tab + + + File : :file:`electrons/electrons.irp.f` + + .. code:: fortran + + integer :: elec_num + integer, allocatable :: elec_num_tab (2) + + + Numbers of alpha ("up") , beta ("down") and total electrons + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`elec_alpha_num` + * :c:data:`elec_beta_num` + * :c:data:`ezfio_filename` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`diagonal_h_matrix_on_psi_det` + * :c:data:`psi_det_hii` + * :c:data:`psi_selectors_diag_h_mat` + * :c:data:`pt2_f` + diff --git a/doc/_sources/modules/ezfio_files.rst.txt b/doc/_sources/modules/ezfio_files.rst.txt new file mode 100644 index 00000000..18cae0b6 --- /dev/null +++ b/doc/_sources/modules/ezfio_files.rst.txt @@ -0,0 +1,760 @@ +.. _module_ezfio_files: + +.. program:: ezfio_files + +.. default-role:: option + +=========== +ezfio_files +=========== + +This modules essentially contains the name of the |EZFIO| directory in the +:c:data:`ezfio_filename` variable. This is read as the first argument of the +command-line, or as the :envvar:`QP_INPUT` environment variable. + + + + +Providers +--------- + +.. c:var:: ezfio_filename + + + File : :file:`ezfio_files/ezfio.irp.f` + + .. code:: fortran + + character*(128) :: ezfio_filename + + + Name of EZFIO file. It is obtained from the QPACKAGE_INPUT environment + variable if it is set, or as the 1st argument of the command line. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mpi_initialized` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_cartesian` + * :c:data:`ao_coef` + * :c:data:`ao_expo` + * :c:data:`ao_integrals_threshold` + * :c:data:`ao_md5` + * :c:data:`ao_nucl` + * :c:data:`ao_num` + * :c:data:`ao_power` + * :c:data:`ao_prim_num` + * :c:data:`ao_two_e_integrals_erf_in_map` + * :c:data:`ao_two_e_integrals_in_map` + * :c:data:`cas_bitmask` + * :c:data:`correlation_energy_ratio_max` + * :c:data:`data_energy_proj` + * :c:data:`data_energy_var` + * :c:data:`data_one_e_dm_alpha_mo` + * :c:data:`data_one_e_dm_beta_mo` + * :c:data:`davidson_sze_max` + * :c:data:`disk_access_nuclear_repulsion` + * :c:data:`disk_based_davidson` + * :c:data:`distributed_davidson` + * :c:data:`do_direct_integrals` + * :c:data:`do_pseudo` + * :c:data:`do_pt2` + * :c:data:`elec_alpha_num` + * :c:data:`elec_beta_num` + * :c:data:`elec_num` + * :c:data:`energy_iterations` + * :c:data:`ezfio_work_dir` + * :c:data:`frozen_orb_scf` + * :c:data:`generators_bitmask` + * :c:data:`generators_bitmask_restart` + * :c:data:`io_ao_integrals_e_n` + * :c:data:`io_ao_integrals_kinetic` + * :c:data:`io_ao_integrals_overlap` + * :c:data:`io_ao_integrals_pseudo` + * :c:data:`io_ao_one_e_integrals` + * :c:data:`io_ao_two_e_integrals` + * :c:data:`io_ao_two_e_integrals_erf` + * :c:data:`io_mo_integrals_e_n` + * :c:data:`io_mo_integrals_kinetic` + * :c:data:`io_mo_integrals_pseudo` + * :c:data:`io_mo_one_e_integrals` + * :c:data:`io_mo_two_e_integrals` + * :c:data:`io_mo_two_e_integrals_erf` + * :c:data:`level_shift` + * :c:data:`max_dim_diis` + * :c:data:`mo_class` + * :c:data:`mo_coef` + * :c:data:`mo_guess_type` + * :c:data:`mo_integrals_threshold` + * :c:data:`mo_label` + * :c:data:`mo_num` + * :c:data:`mo_occ` + * :c:data:`mo_two_e_integrals_erf_in_map` + * :c:data:`mo_two_e_integrals_in_map` + * :c:data:`mu_erf` + * :c:data:`n_cas_bitmask` + * :c:data:`n_det` + * :c:data:`n_det_iterations` + * :c:data:`n_det_max` + * :c:data:`n_det_max_full` + * :c:data:`n_det_print_wf` + * :c:data:`n_generators_bitmask` + * :c:data:`n_generators_bitmask_restart` + * :c:data:`n_it_scf_max` + * :c:data:`n_iter` + * :c:data:`n_states` + * :c:data:`n_states_diag` + * :c:data:`no_ivvv_integrals` + * :c:data:`no_vvv_integrals` + * :c:data:`no_vvvv_integrals` + * :c:data:`nucl_charge` + * :c:data:`nucl_charge_remove` + * :c:data:`nucl_coord` + * :c:data:`nucl_label` + * :c:data:`nucl_num` + * :c:data:`only_expected_s2` + * :c:data:`pseudo_dz_k` + * :c:data:`pseudo_dz_kl` + * :c:data:`pseudo_grid_rmax` + * :c:data:`pseudo_grid_size` + * :c:data:`pseudo_klocmax` + * :c:data:`pseudo_kmax` + * :c:data:`pseudo_lmax` + * :c:data:`pseudo_n_k` + * :c:data:`pseudo_n_kl` + * :c:data:`pseudo_v_k` + * :c:data:`pseudo_v_kl` + * :c:data:`psi_coef` + * :c:data:`psi_det` + * :c:data:`psi_det_size` + * :c:data:`pt2_iterations` + * :c:data:`pt2_max` + * :c:data:`pt2_relative_error` + * :c:data:`qp_stop_filename` + * :c:data:`read_wf` + * :c:data:`s2_eig` + * :c:data:`scf_algorithm` + * :c:data:`state_following` + * :c:data:`target_energy` + * :c:data:`thresh_scf` + * :c:data:`threshold_davidson` + * :c:data:`threshold_diis` + * :c:data:`threshold_generators` + * :c:data:`used_weight` + + +.. c:var:: ezfio_work_dir + + + File : :file:`ezfio_files/ezfio.irp.f` + + .. code:: fortran + + character*(128) :: ezfio_work_dir + + + EZFIO/work/ + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ezfio_filename` + + + +.. c:var:: file_lock + + + File : :file:`ezfio_files/lock.irp.f` + + .. code:: fortran + + integer(omp_lock_kind) :: file_lock + + + OpenMP Lock for I/O + + + +.. c:var:: output_cpu_time_0 + + + File : :file:`ezfio_files/output.irp.f` + + .. code:: fortran + + double precision :: output_wall_time_0 + double precision :: output_cpu_time_0 + + + Initial CPU and wall times when printing in the output files + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_cartesian` + * :c:data:`ao_coef` + * :c:data:`ao_expo` + * :c:data:`ao_integrals_threshold` + * :c:data:`ao_md5` + * :c:data:`ao_nucl` + * :c:data:`ao_num` + * :c:data:`ao_power` + * :c:data:`ao_prim_num` + * :c:data:`ci_energy` + * :c:data:`correlation_energy_ratio_max` + * :c:data:`data_energy_proj` + * :c:data:`data_energy_var` + * :c:data:`data_one_e_dm_alpha_mo` + * :c:data:`data_one_e_dm_beta_mo` + * :c:data:`davidson_sze_max` + * :c:data:`disk_access_nuclear_repulsion` + * :c:data:`disk_based_davidson` + * :c:data:`distributed_davidson` + * :c:data:`do_direct_integrals` + * :c:data:`do_pseudo` + * :c:data:`do_pt2` + * :c:data:`elec_alpha_num` + * :c:data:`elec_beta_num` + * :c:data:`energy_iterations` + * :c:data:`frozen_orb_scf` + * :c:data:`io_ao_integrals_e_n` + * :c:data:`io_ao_integrals_kinetic` + * :c:data:`io_ao_integrals_overlap` + * :c:data:`io_ao_integrals_pseudo` + * :c:data:`io_ao_one_e_integrals` + * :c:data:`io_ao_two_e_integrals` + * :c:data:`io_ao_two_e_integrals_erf` + * :c:data:`io_mo_integrals_e_n` + * :c:data:`io_mo_integrals_kinetic` + * :c:data:`io_mo_integrals_pseudo` + * :c:data:`io_mo_one_e_integrals` + * :c:data:`io_mo_two_e_integrals` + * :c:data:`io_mo_two_e_integrals_erf` + * :c:data:`level_shift` + * :c:data:`max_dim_diis` + * :c:data:`mo_class` + * :c:data:`mo_guess_type` + * :c:data:`mo_integrals_threshold` + * :c:data:`mu_erf` + * :c:data:`n_det_generators` + * :c:data:`n_det_iterations` + * :c:data:`n_det_max` + * :c:data:`n_det_max_full` + * :c:data:`n_det_print_wf` + * :c:data:`n_det_selectors` + * :c:data:`n_it_scf_max` + * :c:data:`n_iter` + * :c:data:`n_states` + * :c:data:`n_states_diag` + * :c:data:`no_ivvv_integrals` + * :c:data:`no_vvv_integrals` + * :c:data:`no_vvvv_integrals` + * :c:data:`nucl_charge` + * :c:data:`nucl_charge_remove` + * :c:data:`nucl_coord` + * :c:data:`nucl_label` + * :c:data:`nucl_num` + * :c:data:`nuclear_repulsion` + * :c:data:`only_expected_s2` + * :c:data:`pseudo_dz_k` + * :c:data:`pseudo_dz_kl` + * :c:data:`pseudo_grid_rmax` + * :c:data:`pseudo_grid_size` + * :c:data:`pseudo_klocmax` + * :c:data:`pseudo_kmax` + * :c:data:`pseudo_lmax` + * :c:data:`pseudo_n_k` + * :c:data:`pseudo_n_kl` + * :c:data:`pseudo_v_k` + * :c:data:`pseudo_v_kl` + * :c:data:`pt2_iterations` + * :c:data:`pt2_max` + * :c:data:`pt2_relative_error` + * :c:data:`read_wf` + * :c:data:`s2_eig` + * :c:data:`scf_algorithm` + * :c:data:`state_following` + * :c:data:`target_energy` + * :c:data:`thresh_scf` + * :c:data:`threshold_davidson` + * :c:data:`threshold_diis` + * :c:data:`threshold_generators` + * :c:data:`used_weight` + + +.. c:var:: output_wall_time_0 + + + File : :file:`ezfio_files/output.irp.f` + + .. code:: fortran + + double precision :: output_wall_time_0 + double precision :: output_cpu_time_0 + + + Initial CPU and wall times when printing in the output files + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_cartesian` + * :c:data:`ao_coef` + * :c:data:`ao_expo` + * :c:data:`ao_integrals_threshold` + * :c:data:`ao_md5` + * :c:data:`ao_nucl` + * :c:data:`ao_num` + * :c:data:`ao_power` + * :c:data:`ao_prim_num` + * :c:data:`ci_energy` + * :c:data:`correlation_energy_ratio_max` + * :c:data:`data_energy_proj` + * :c:data:`data_energy_var` + * :c:data:`data_one_e_dm_alpha_mo` + * :c:data:`data_one_e_dm_beta_mo` + * :c:data:`davidson_sze_max` + * :c:data:`disk_access_nuclear_repulsion` + * :c:data:`disk_based_davidson` + * :c:data:`distributed_davidson` + * :c:data:`do_direct_integrals` + * :c:data:`do_pseudo` + * :c:data:`do_pt2` + * :c:data:`elec_alpha_num` + * :c:data:`elec_beta_num` + * :c:data:`energy_iterations` + * :c:data:`frozen_orb_scf` + * :c:data:`io_ao_integrals_e_n` + * :c:data:`io_ao_integrals_kinetic` + * :c:data:`io_ao_integrals_overlap` + * :c:data:`io_ao_integrals_pseudo` + * :c:data:`io_ao_one_e_integrals` + * :c:data:`io_ao_two_e_integrals` + * :c:data:`io_ao_two_e_integrals_erf` + * :c:data:`io_mo_integrals_e_n` + * :c:data:`io_mo_integrals_kinetic` + * :c:data:`io_mo_integrals_pseudo` + * :c:data:`io_mo_one_e_integrals` + * :c:data:`io_mo_two_e_integrals` + * :c:data:`io_mo_two_e_integrals_erf` + * :c:data:`level_shift` + * :c:data:`max_dim_diis` + * :c:data:`mo_class` + * :c:data:`mo_guess_type` + * :c:data:`mo_integrals_threshold` + * :c:data:`mu_erf` + * :c:data:`n_det_generators` + * :c:data:`n_det_iterations` + * :c:data:`n_det_max` + * :c:data:`n_det_max_full` + * :c:data:`n_det_print_wf` + * :c:data:`n_det_selectors` + * :c:data:`n_it_scf_max` + * :c:data:`n_iter` + * :c:data:`n_states` + * :c:data:`n_states_diag` + * :c:data:`no_ivvv_integrals` + * :c:data:`no_vvv_integrals` + * :c:data:`no_vvvv_integrals` + * :c:data:`nucl_charge` + * :c:data:`nucl_charge_remove` + * :c:data:`nucl_coord` + * :c:data:`nucl_label` + * :c:data:`nucl_num` + * :c:data:`nuclear_repulsion` + * :c:data:`only_expected_s2` + * :c:data:`pseudo_dz_k` + * :c:data:`pseudo_dz_kl` + * :c:data:`pseudo_grid_rmax` + * :c:data:`pseudo_grid_size` + * :c:data:`pseudo_klocmax` + * :c:data:`pseudo_kmax` + * :c:data:`pseudo_lmax` + * :c:data:`pseudo_n_k` + * :c:data:`pseudo_n_kl` + * :c:data:`pseudo_v_k` + * :c:data:`pseudo_v_kl` + * :c:data:`pt2_iterations` + * :c:data:`pt2_max` + * :c:data:`pt2_relative_error` + * :c:data:`read_wf` + * :c:data:`s2_eig` + * :c:data:`scf_algorithm` + * :c:data:`state_following` + * :c:data:`target_energy` + * :c:data:`thresh_scf` + * :c:data:`threshold_davidson` + * :c:data:`threshold_diis` + * :c:data:`threshold_generators` + * :c:data:`used_weight` + + +.. c:var:: qp_kill_filename + + + File : :file:`ezfio_files/qp_stop.irp.f` + + .. code:: fortran + + character*(128) :: qp_stop_filename + character*(128) :: qp_kill_filename + integer :: qp_stop_variable + + + Name of the file to check for qp stop + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ezfio_filename` + + + +.. c:var:: qp_stop_filename + + + File : :file:`ezfio_files/qp_stop.irp.f` + + .. code:: fortran + + character*(128) :: qp_stop_filename + character*(128) :: qp_kill_filename + integer :: qp_stop_variable + + + Name of the file to check for qp stop + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ezfio_filename` + + + +.. c:var:: qp_stop_variable + + + File : :file:`ezfio_files/qp_stop.irp.f` + + .. code:: fortran + + character*(128) :: qp_stop_filename + character*(128) :: qp_kill_filename + integer :: qp_stop_variable + + + Name of the file to check for qp stop + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ezfio_filename` + + + + +Subroutines / functions +----------------------- + +.. c:function:: getunitandopen: + + + File : :file:`ezfio_files/get_unit_and_open.irp.f` + + .. code:: fortran + + integer function getUnitAndOpen(f,mode) + + + :f: + file name + + :mode: + 'R' : READ, UNFORMATTED + 'W' : WRITE, UNFORMATTED + 'r' : READ, FORMATTED + 'w' : WRITE, FORMATTED + 'a' : APPEND, FORMATTED + 'x' : READ/WRITE, FORMATTED + + + +.. c:function:: qp_stop: + + + File : :file:`ezfio_files/qp_stop.irp.f` + + .. code:: fortran + + logical function qp_stop() + + + Checks if the qp_stop command was invoked for the clean termination of the program + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`qp_stop_filename` + + +.. c:function:: write_bool: + + + File : :file:`ezfio_files/output.irp.f` + + .. code:: fortran + + subroutine write_bool(iunit,value,label) + + + Write an logical value in output + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mpi_master` + + +.. c:function:: write_double: + + + File : :file:`ezfio_files/output.irp.f` + + .. code:: fortran + + subroutine write_double(iunit,value,label) + + + Write a double precision value in output + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mpi_master` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:data:`ci_energy` + * :c:func:`damping_scf` + * :c:func:`davidson_diag_hjj_sjj` + * :c:data:`nuclear_repulsion` + * :c:data:`psi_coef_max` + * :c:data:`pt2_e0_denominator` + * :c:func:`roothaan_hall_scf` + * :c:func:`run_cipsi` + * :c:func:`run_slave_main` + * :c:func:`run_stochastic_cipsi` + * :c:func:`zmq_pt2` + * :c:func:`zmq_selection` + + +.. c:function:: write_int: + + + File : :file:`ezfio_files/output.irp.f` + + .. code:: fortran + + subroutine write_int(iunit,value,label) + + + Write an integer value in output + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mpi_master` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`davidson_diag_hjj_sjj` + * :c:func:`make_s2_eigenfunction` + * :c:data:`mo_num` + * :c:data:`n_cas_bitmask` + * :c:data:`n_core_orb` + * :c:data:`n_det` + * :c:data:`n_det_generators` + * :c:data:`n_det_selectors` + * :c:data:`n_generators_bitmask` + * :c:data:`n_generators_bitmask_restart` + * :c:data:`n_int` + * :c:data:`nthreads_davidson` + * :c:data:`nthreads_pt2` + * :c:data:`psi_cas` + * :c:data:`psi_det_alpha_unique` + * :c:data:`psi_det_beta_unique` + * :c:data:`psi_det_size` + * :c:data:`pt2_n_teeth` + * :c:data:`qp_max_mem` + * :c:func:`remove_small_contributions` + * :c:func:`save_wavefunction_general` + * :c:func:`save_wavefunction_specified` + * :c:func:`zmq_pt2` + + +.. c:function:: write_time: + + + File : :file:`ezfio_files/output.irp.f` + + .. code:: fortran + + subroutine write_time(iunit) + + + Write a time stamp in the output for chronological reconstruction + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`output_wall_time_0` + * :c:data:`mpi_master` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_cartesian` + * :c:data:`ao_coef` + * :c:data:`ao_expo` + * :c:data:`ao_integrals_threshold` + * :c:data:`ao_md5` + * :c:data:`ao_nucl` + * :c:data:`ao_num` + * :c:data:`ao_power` + * :c:data:`ao_prim_num` + * :c:data:`ci_energy` + * :c:data:`correlation_energy_ratio_max` + * :c:func:`damping_scf` + * :c:data:`data_energy_proj` + * :c:data:`data_energy_var` + * :c:data:`data_one_e_dm_alpha_mo` + * :c:data:`data_one_e_dm_beta_mo` + * :c:func:`davidson_diag_hjj_sjj` + * :c:data:`davidson_sze_max` + * :c:data:`disk_access_nuclear_repulsion` + * :c:data:`disk_based_davidson` + * :c:data:`distributed_davidson` + * :c:data:`do_direct_integrals` + * :c:data:`do_pseudo` + * :c:data:`do_pt2` + * :c:data:`elec_alpha_num` + * :c:data:`elec_beta_num` + * :c:data:`energy_iterations` + * :c:data:`frozen_orb_scf` + * :c:data:`io_ao_integrals_e_n` + * :c:data:`io_ao_integrals_kinetic` + * :c:data:`io_ao_integrals_overlap` + * :c:data:`io_ao_integrals_pseudo` + * :c:data:`io_ao_one_e_integrals` + * :c:data:`io_ao_two_e_integrals` + * :c:data:`io_ao_two_e_integrals_erf` + * :c:data:`io_mo_integrals_e_n` + * :c:data:`io_mo_integrals_kinetic` + * :c:data:`io_mo_integrals_pseudo` + * :c:data:`io_mo_one_e_integrals` + * :c:data:`io_mo_two_e_integrals` + * :c:data:`io_mo_two_e_integrals_erf` + * :c:data:`level_shift` + * :c:func:`make_s2_eigenfunction` + * :c:data:`max_dim_diis` + * :c:func:`mo_as_eigvectors_of_mo_matrix` + * :c:func:`mo_as_svd_vectors_of_mo_matrix` + * :c:func:`mo_as_svd_vectors_of_mo_matrix_eig` + * :c:data:`mo_class` + * :c:data:`mo_guess_type` + * :c:data:`mo_integrals_threshold` + * :c:data:`mu_erf` + * :c:data:`n_det_generators` + * :c:data:`n_det_iterations` + * :c:data:`n_det_max` + * :c:data:`n_det_max_full` + * :c:data:`n_det_print_wf` + * :c:data:`n_det_selectors` + * :c:data:`n_it_scf_max` + * :c:data:`n_iter` + * :c:data:`n_states` + * :c:data:`n_states_diag` + * :c:data:`no_ivvv_integrals` + * :c:data:`no_vvv_integrals` + * :c:data:`no_vvvv_integrals` + * :c:data:`nucl_charge` + * :c:data:`nucl_charge_remove` + * :c:data:`nucl_coord` + * :c:data:`nucl_label` + * :c:data:`nucl_num` + * :c:data:`nuclear_repulsion` + * :c:data:`only_expected_s2` + * :c:data:`pseudo_dz_k` + * :c:data:`pseudo_dz_kl` + * :c:data:`pseudo_grid_rmax` + * :c:data:`pseudo_grid_size` + * :c:data:`pseudo_klocmax` + * :c:data:`pseudo_kmax` + * :c:data:`pseudo_lmax` + * :c:data:`pseudo_n_k` + * :c:data:`pseudo_n_kl` + * :c:data:`pseudo_v_k` + * :c:data:`pseudo_v_kl` + * :c:data:`pt2_iterations` + * :c:data:`pt2_max` + * :c:data:`pt2_relative_error` + * :c:data:`read_wf` + * :c:func:`roothaan_hall_scf` + * :c:data:`s2_eig` + * :c:data:`scf_algorithm` + * :c:data:`state_following` + * :c:data:`target_energy` + * :c:data:`thresh_scf` + * :c:data:`threshold_davidson` + * :c:data:`threshold_diis` + * :c:data:`threshold_generators` + * :c:data:`used_weight` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`cpu_time` + * :c:func:`print_memory_usage` + * :c:func:`wall_time` + diff --git a/doc/_sources/modules/fci.rst.txt b/doc/_sources/modules/fci.rst.txt new file mode 100644 index 00000000..2631511b --- /dev/null +++ b/doc/_sources/modules/fci.rst.txt @@ -0,0 +1,151 @@ +.. _module_fci: + +.. program:: fci + +.. default-role:: option + +=== +fci +=== + + +|CIPSI| algorithm in the full configuration interaction space. + + +The user point of view +---------------------- + +* :c:func:`fci` performs |CIPSI| calculations using a stochastic scheme for both the selection and the |PT2| contribution, +* :c:func:`pt2` computes the |PT2| contribution using the wave function stored in the |EZFIO| + database. + + +The main keywords/options for this module are: + +* :option:`determinants n_det_max` : maximum number of Slater determinants in the CIPSI wave function. The :command:`fci` program will stop when the size of the CIPSI wave function will exceed :option:`determinants n_det_max`. + +* :option:`perturbation pt2_max` : absolute value of the |PT2| to stop the CIPSI calculation. Once the |PT2| :math:`<` :option:`perturbation pt2_max`, the CIPSI calculation stops. + +* :option:`determinants n_states` : number of states to consider in the CIPSI calculation. + +* :option:`determinants read_wf` : if False, starts with a ROHF-like determinant, if True, starts with the current wave function(s) stored in the |EZFIO| folder. + +.. note:: + For a multi-state calculation, it is recommended to start with :c:func:`cis` or :c:func:`cisd` + wave functions as a guess. + +* :option:`determinants s2_eig` : if True, systematically add all the determinants needed to have a pure value of :math:`S^2`. Also, if True, it tracks only the states having the good :option:`determinants expected_s2`. + +.. note:: + For a multi-state calculation, it is recommended to start with :c:func:`cis` or :c:func:`cisd` + wave functions as a guess. + +* :option:`determinants expected_s2` : expected value of :math:`S^2` for the desired spin multiplicity. + + + +The programmer point of view +---------------------------- + +This module have been created with the :ref:`cipsi` module. + +.. seealso:: + + The documentation of the :ref:`cipsi` module. + + + + + +EZFIO parameters +---------------- + +.. option:: energy + + Calculated Selected |FCI| energy + + +.. option:: energy_pt2 + + Calculated |FCI| energy + |PT2| + + + +Programs +-------- + + * :ref:`fci` + * :ref:`pt2` + +Providers +--------- + +.. c:var:: do_ddci + + + File : :file:`fci/class.irp.f` + + .. code:: fortran + + logical :: do_only_1h1p + logical :: do_ddci + + + In the FCI case, all those are always false + + + +.. c:var:: do_only_1h1p + + + File : :file:`fci/class.irp.f` + + .. code:: fortran + + logical :: do_only_1h1p + logical :: do_ddci + + + In the FCI case, all those are always false + + + + +Subroutines / functions +----------------------- + +.. c:function:: save_energy: + + + File : :file:`fci/save_energy.irp.f` + + .. code:: fortran + + subroutine save_energy(E,pt2) + + + Saves the energy in |EZFIO|. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_states` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`run_cipsi` + * :c:func:`run_stochastic_cipsi` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`ezfio_set_fci_energy` + * :c:func:`ezfio_set_fci_energy_pt2` + diff --git a/doc/_sources/modules/generators_cas.rst.txt b/doc/_sources/modules/generators_cas.rst.txt new file mode 100644 index 00000000..e4452aca --- /dev/null +++ b/doc/_sources/modules/generators_cas.rst.txt @@ -0,0 +1,19 @@ +.. _module_generators_cas: + +.. program:: generators_cas + +.. default-role:: option + +============== +generators_cas +============== + +Module defining the generator determinants as those belonging to a |CAS|. +The |MOs| belonging to the |CAS| are those which were set as active with +the :ref:`qp_set_mo_class` command. + +This module is intended to be included in the :file:`NEED` file to define +the generators as the |CAS| determinants, which can be useful to define post-CAS approaches (see cassd module for instance). + + + diff --git a/doc/_sources/modules/generators_full.rst.txt b/doc/_sources/modules/generators_full.rst.txt new file mode 100644 index 00000000..3af33dde --- /dev/null +++ b/doc/_sources/modules/generators_full.rst.txt @@ -0,0 +1,295 @@ +.. _module_generators_full: + +.. program:: generators_full + +.. default-role:: option + +=============== +generators_full +=============== + +Module defining the generator determinants as all the determinants of the +variational space. + +This module is intended to be included in the :file:`NEED` file to define +a full set of generators. + + + +Providers +--------- + +.. c:var:: degree_max_generators + + + File : :file:`generators_full/generators.irp.f` + + .. code:: fortran + + integer :: degree_max_generators + + + Max degree of excitation (respect to HF) of the generators + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`hf_bitmask` + * :c:data:`n_det_generators` + * :c:data:`n_int` + * :c:data:`psi_det_generators` + + + +.. c:var:: n_det_generators + + + File : :file:`generators_full/generators.irp.f` + + .. code:: fortran + + integer :: n_det_generators + + + For Single reference wave functions, the number of generators is 1 : the + Hartree-Fock determinant + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mpi_master` + * :c:data:`n_det` + * :c:data:`output_wall_time_0` + * :c:data:`psi_det_sorted` + * :c:data:`threshold_generators` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`degree_max_generators` + * :c:data:`n_det_selectors` + * :c:data:`pt2_f` + * :c:data:`pt2_j` + * :c:data:`pt2_n_tasks` + * :c:data:`pt2_n_teeth` + * :c:data:`pt2_u` + * :c:data:`pt2_w` + + +.. c:var:: psi_coef_generators + + + File : :file:`generators_full/generators.irp.f` + + .. code:: fortran + + integer(bit_kind), allocatable :: psi_det_generators (N_int,2,psi_det_size) + double precision, allocatable :: psi_coef_generators (psi_det_size,N_states) + + + For Single reference wave functions, the generator is the + Hartree-Fock determinant + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_det` + * :c:data:`n_int` + * :c:data:`n_states` + * :c:data:`psi_det_size` + * :c:data:`psi_det_sorted` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`degree_max_generators` + + +.. c:var:: psi_coef_sorted_gen + + + File : :file:`generators_full/generators.irp.f` + + .. code:: fortran + + integer(bit_kind), allocatable :: psi_det_sorted_gen (N_int,2,psi_det_size) + double precision, allocatable :: psi_coef_sorted_gen (psi_det_size,N_states) + integer, allocatable :: psi_det_sorted_gen_order (psi_det_size) + + + For Single reference wave functions, the generator is the + Hartree-Fock determinant + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_int` + * :c:data:`n_states` + * :c:data:`psi_det_size` + * :c:data:`psi_det_sorted` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`pt2_f` + * :c:data:`pt2_n_teeth` + * :c:data:`pt2_w` + + +.. c:var:: psi_det_generators + + + File : :file:`generators_full/generators.irp.f` + + .. code:: fortran + + integer(bit_kind), allocatable :: psi_det_generators (N_int,2,psi_det_size) + double precision, allocatable :: psi_coef_generators (psi_det_size,N_states) + + + For Single reference wave functions, the generator is the + Hartree-Fock determinant + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_det` + * :c:data:`n_int` + * :c:data:`n_states` + * :c:data:`psi_det_size` + * :c:data:`psi_det_sorted` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`degree_max_generators` + + +.. c:var:: psi_det_sorted_gen + + + File : :file:`generators_full/generators.irp.f` + + .. code:: fortran + + integer(bit_kind), allocatable :: psi_det_sorted_gen (N_int,2,psi_det_size) + double precision, allocatable :: psi_coef_sorted_gen (psi_det_size,N_states) + integer, allocatable :: psi_det_sorted_gen_order (psi_det_size) + + + For Single reference wave functions, the generator is the + Hartree-Fock determinant + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_int` + * :c:data:`n_states` + * :c:data:`psi_det_size` + * :c:data:`psi_det_sorted` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`pt2_f` + * :c:data:`pt2_n_teeth` + * :c:data:`pt2_w` + + +.. c:var:: psi_det_sorted_gen_order + + + File : :file:`generators_full/generators.irp.f` + + .. code:: fortran + + integer(bit_kind), allocatable :: psi_det_sorted_gen (N_int,2,psi_det_size) + double precision, allocatable :: psi_coef_sorted_gen (psi_det_size,N_states) + integer, allocatable :: psi_det_sorted_gen_order (psi_det_size) + + + For Single reference wave functions, the generator is the + Hartree-Fock determinant + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_int` + * :c:data:`n_states` + * :c:data:`psi_det_size` + * :c:data:`psi_det_sorted` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`pt2_f` + * :c:data:`pt2_n_teeth` + * :c:data:`pt2_w` + + +.. c:var:: select_max + + + File : :file:`generators_full/generators.irp.f` + + .. code:: fortran + + double precision, allocatable :: select_max (size_select_max) + + + Memo to skip useless selectors + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`size_select_max` + + + +.. c:var:: size_select_max + + + File : :file:`generators_full/generators.irp.f` + + .. code:: fortran + + integer :: size_select_max + + + Size of the select_max array + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`select_max` + diff --git a/doc/_sources/modules/hartree_fock.rst.txt b/doc/_sources/modules/hartree_fock.rst.txt new file mode 100644 index 00000000..9f818166 --- /dev/null +++ b/doc/_sources/modules/hartree_fock.rst.txt @@ -0,0 +1,406 @@ +.. _module_hartree_fock: + +.. program:: hartree_fock + +.. default-role:: option + +============ +hartree_fock +============ + + +The :ref:`scf` program performs *Restricted* Hartree-Fock +calculations (the spatial part of the |MOs| is common for alpha and beta +spinorbitals). + +The Hartree-Fock algorithm is a |SCF| and therefore is based on the +:ref:`module_scf_utils`` module. + +The Fock matrix is defined in :file:`hartree_fock fock_matrix_hf.irp.f`. + + + + + + +EZFIO parameters +---------------- + +.. option:: energy + + Energy HF + + + +Programs +-------- + + * :ref:`scf` + +Providers +--------- + +.. c:var:: ao_two_e_integral_alpha + + + File : :file:`hartree_fock/fock_matrix_hf.irp.f` + + .. code:: fortran + + double precision, allocatable :: ao_two_e_integral_alpha (ao_num,ao_num) + double precision, allocatable :: ao_two_e_integral_beta (ao_num,ao_num) + + + Alpha Fock matrix in AO basis set + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_coef_normalized_ordered_transp` + * :c:data:`ao_expo_ordered_transp` + * :c:data:`ao_integrals_map` + * :c:data:`ao_integrals_threshold` + * :c:data:`ao_nucl` + * :c:data:`ao_num` + * :c:data:`ao_overlap_abs` + * :c:data:`ao_power` + * :c:data:`ao_prim_num` + * :c:data:`ao_two_e_integral_schwartz` + * :c:data:`ao_two_e_integrals_in_map` + * :c:data:`do_direct_integrals` + * :c:data:`n_pt_max_integrals` + * :c:data:`nucl_coord` + * :c:data:`scf_density_matrix_ao_alpha` + * :c:data:`scf_density_matrix_ao_beta` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`fock_matrix_ao_alpha` + * :c:data:`hf_energy` + + +.. c:var:: ao_two_e_integral_beta + + + File : :file:`hartree_fock/fock_matrix_hf.irp.f` + + .. code:: fortran + + double precision, allocatable :: ao_two_e_integral_alpha (ao_num,ao_num) + double precision, allocatable :: ao_two_e_integral_beta (ao_num,ao_num) + + + Alpha Fock matrix in AO basis set + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_coef_normalized_ordered_transp` + * :c:data:`ao_expo_ordered_transp` + * :c:data:`ao_integrals_map` + * :c:data:`ao_integrals_threshold` + * :c:data:`ao_nucl` + * :c:data:`ao_num` + * :c:data:`ao_overlap_abs` + * :c:data:`ao_power` + * :c:data:`ao_prim_num` + * :c:data:`ao_two_e_integral_schwartz` + * :c:data:`ao_two_e_integrals_in_map` + * :c:data:`do_direct_integrals` + * :c:data:`n_pt_max_integrals` + * :c:data:`nucl_coord` + * :c:data:`scf_density_matrix_ao_alpha` + * :c:data:`scf_density_matrix_ao_beta` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`fock_matrix_ao_alpha` + * :c:data:`hf_energy` + + +.. c:var:: extra_e_contrib_density + + + File : :file:`hartree_fock/hf_energy.irp.f` + + .. code:: fortran + + double precision :: extra_e_contrib_density + + + Extra contribution to the SCF energy coming from the density. + + For a Hartree-Fock calculation: extra_e_contrib_density = 0 + + For a Kohn-Sham or Range-separated Kohn-Sham: the exchange/correlation - trace of the V_xc potential + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`scf_energy` + + +.. c:var:: fock_matrix_ao_alpha + + + File : :file:`hartree_fock/fock_matrix_hf.irp.f` + + .. code:: fortran + + double precision, allocatable :: fock_matrix_ao_alpha (ao_num,ao_num) + double precision, allocatable :: fock_matrix_ao_beta (ao_num,ao_num) + + + Alpha Fock matrix in AO basis set + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`ao_one_e_integrals` + * :c:data:`ao_two_e_integral_alpha` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`fock_matrix_ao` + * :c:data:`fock_matrix_mo_alpha` + * :c:data:`fock_matrix_mo_beta` + * :c:data:`scf_energy` + + +.. c:var:: fock_matrix_ao_beta + + + File : :file:`hartree_fock/fock_matrix_hf.irp.f` + + .. code:: fortran + + double precision, allocatable :: fock_matrix_ao_alpha (ao_num,ao_num) + double precision, allocatable :: fock_matrix_ao_beta (ao_num,ao_num) + + + Alpha Fock matrix in AO basis set + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`ao_one_e_integrals` + * :c:data:`ao_two_e_integral_alpha` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`fock_matrix_ao` + * :c:data:`fock_matrix_mo_alpha` + * :c:data:`fock_matrix_mo_beta` + * :c:data:`scf_energy` + + +.. c:var:: hf_energy + + + File : :file:`hartree_fock/hf_energy.irp.f` + + .. code:: fortran + + double precision :: hf_energy + double precision :: hf_two_electron_energy + double precision :: hf_one_electron_energy + + + Hartree-Fock energy containing the nuclear repulsion, and its one- and two-body components. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`ao_one_e_integrals` + * :c:data:`ao_two_e_integral_alpha` + * :c:data:`nuclear_repulsion` + * :c:data:`scf_density_matrix_ao_alpha` + * :c:data:`scf_density_matrix_ao_beta` + + + +.. c:var:: hf_one_electron_energy + + + File : :file:`hartree_fock/hf_energy.irp.f` + + .. code:: fortran + + double precision :: hf_energy + double precision :: hf_two_electron_energy + double precision :: hf_one_electron_energy + + + Hartree-Fock energy containing the nuclear repulsion, and its one- and two-body components. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`ao_one_e_integrals` + * :c:data:`ao_two_e_integral_alpha` + * :c:data:`nuclear_repulsion` + * :c:data:`scf_density_matrix_ao_alpha` + * :c:data:`scf_density_matrix_ao_beta` + + + +.. c:var:: hf_two_electron_energy + + + File : :file:`hartree_fock/hf_energy.irp.f` + + .. code:: fortran + + double precision :: hf_energy + double precision :: hf_two_electron_energy + double precision :: hf_one_electron_energy + + + Hartree-Fock energy containing the nuclear repulsion, and its one- and two-body components. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`ao_one_e_integrals` + * :c:data:`ao_two_e_integral_alpha` + * :c:data:`nuclear_repulsion` + * :c:data:`scf_density_matrix_ao_alpha` + * :c:data:`scf_density_matrix_ao_beta` + + + + +Subroutines / functions +----------------------- + +.. c:function:: create_guess: + + + File : :file:`hartree_fock/scf.irp.f` + + .. code:: fortran + + subroutine create_guess + + + Create a MO guess if no MOs are present in the EZFIO directory + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ezfio_filename` + * :c:data:`mo_coef` + * :c:data:`mo_guess_type` + * :c:data:`mo_one_e_integrals` + * :c:data:`ao_ortho_lowdin_coef` + * :c:data:`mo_label` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`scf` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`ezfio_has_mo_basis_mo_coef` + * :c:func:`huckel_guess` + * :c:func:`mo_as_eigvectors_of_mo_matrix` + + Touches: + + .. hlist:: + :columns: 3 + + * :c:data:`fock_matrix_ao_alpha` + * :c:data:`fock_matrix_ao_alpha` + * :c:data:`mo_coef` + * :c:data:`mo_label` + + +.. c:function:: run: + + + File : :file:`hartree_fock/scf.irp.f` + + .. code:: fortran + + subroutine run + + + Run SCF calculation + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`scf_energy` + * :c:data:`mo_label` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`pt2` + * :c:func:`scf` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`ezfio_set_hartree_fock_energy` + * :c:func:`roothaan_hall_scf` + + Touches: + + .. hlist:: + :columns: 3 + + * :c:data:`fock_matrix_ao_alpha` + * :c:data:`fock_matrix_ao_alpha` + * :c:data:`mo_coef` + * :c:data:`level_shift` + * :c:data:`mo_coef` + diff --git a/doc/_sources/modules/iterations.rst.txt b/doc/_sources/modules/iterations.rst.txt new file mode 100644 index 00000000..d8358b27 --- /dev/null +++ b/doc/_sources/modules/iterations.rst.txt @@ -0,0 +1,204 @@ +.. _module_iterations: + +.. program:: iterations + +.. default-role:: option + +========== +iterations +========== + +Module which saves the computed energies for an extrapolation to +the |FCI| limit. + + + +EZFIO parameters +---------------- + +.. option:: n_iter + + Number of saved iterations + + Default: 1 + +.. option:: n_det_iterations + + Number of determinants at each iteration + + +.. option:: energy_iterations + + The variational energy at each iteration + + +.. option:: pt2_iterations + + The |PT2| correction at each iteration + + + +Providers +--------- + +.. c:var:: extrapolated_energy + + + File : :file:`iterations/iterations.irp.f` + + .. code:: fortran + + double precision, allocatable :: extrapolated_energy (N_iter,N_states) + + + Extrapolated energy, using E_var = f(PT2) where PT2=0 + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`energy_iterations` + * :c:data:`n_det` + * :c:data:`n_iter` + * :c:data:`n_states` + * :c:data:`pt2_iterations` + + + +.. c:var:: n_iter + + + File : :file:`iterations/io.irp.f` + + .. code:: fortran + + integer :: n_iter + + + number of iterations + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ezfio_filename` + * :c:data:`mpi_master` + * :c:data:`n_states` + * :c:data:`output_wall_time_0` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`extrapolated_energy` + + + +Subroutines / functions +----------------------- + +.. c:function:: print_extrapolated_energy: + + + File : :file:`iterations/print_extrapolation.irp.f` + + .. code:: fortran + + subroutine print_extrapolated_energy + + + Print the extrapolated energy in the output + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`extrapolated_energy` + * :c:data:`n_states` + * :c:data:`n_det` + * :c:data:`pt2_iterations` + * :c:data:`n_iter` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`run_cipsi` + * :c:func:`run_stochastic_cipsi` + + +.. c:function:: print_summary: + + + File : :file:`iterations/print_summary.irp.f` + + .. code:: fortran + + subroutine print_summary(e_,pt2_,error_,variance_,norm_,n_det_,n_occ_pattern_,n_st,s2_) + + + Print the extrapolated energy in the output + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`do_pt2` + * :c:data:`s2_eig` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`run_cipsi` + * :c:func:`run_stochastic_cipsi` + + +.. c:function:: save_iterations: + + + File : :file:`iterations/iterations.irp.f` + + .. code:: fortran + + subroutine save_iterations(e_, pt2_,n_) + + + Update the energy in the EZFIO file. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_iter` + * :c:data:`energy_iterations` + * :c:data:`n_states` + * :c:data:`pt2_iterations` + * :c:data:`n_det_iterations` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`run_cipsi` + * :c:func:`run_stochastic_cipsi` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`ezfio_set_iterations_energy_iterations` + * :c:func:`ezfio_set_iterations_n_det_iterations` + * :c:func:`ezfio_set_iterations_n_iter` + * :c:func:`ezfio_set_iterations_pt2_iterations` + diff --git a/doc/_sources/modules/kohn_sham.rst.txt b/doc/_sources/modules/kohn_sham.rst.txt new file mode 100644 index 00000000..955a25b7 --- /dev/null +++ b/doc/_sources/modules/kohn_sham.rst.txt @@ -0,0 +1,101 @@ +.. _module_kohn_sham: + +.. program:: kohn_sham + +.. default-role:: option + +========= +kohn_sham +========= + + +The Kohn-Sham module performs *Restricted* Kohn-Sham calculations (the +spatial part of the |MOs| is common for alpha and beta spinorbitals). + +The Kohn-Sham in an SCF and therefore is based on the ``scf_utils`` structure. +It performs the following actions: + +#. Compute/Read all the one- and two-electron integrals, and store them in memory +#. Check in the |EZFIO| database if there is a set of |MOs|. If there is, it + will read them as initial guess. Otherwise, it will create a guess. +#. Perform the |SCF| iterations + +The definition of the Fock matrix is in :file:`kohn_sham fock_matrix_ks.irp.f` +For the keywords related to the |SCF| procedure, see the ``scf_utils`` directory where you will find all options. +The main are: + +#. :option:`scf_utils thresh_scf` +#. :option:`scf_utils level_shift` + +At each iteration, the |MOs| are saved in the |EZFIO| database. Hence, if the calculation +crashes for any unexpected reason, the calculation can be restarted by running again +the |SCF| with the same |EZFIO| database. + +The `DIIS`_ algorithm is implemented, as well as the `level-shifting`_ method. +If the |SCF| does not converge, try again with a higher value of :option:`level_shift`. + +To start a calculation from scratch, the simplest way is to remove the +``mo_basis`` directory from the |EZFIO| database, and run the |SCF| again. + + + + +.. _DIIS: https://en.wikipedia.org/w/index.php?title=DIIS +.. _level-shifting: https://doi.org/10.1002/qua.560070407 + + + + + + +Programs +-------- + + * :ref:`ks_scf` + +Providers +--------- + +.. c:var:: ks_energy + + + File : :file:`ks_enery.irp.f` + + .. code:: fortran + + double precision :: ks_energy + double precision :: two_e_energy + double precision :: one_e_energy + double precision :: fock_matrix_energy + double precision :: trace_potential_xc + + + Kohn-Sham energy containing the nuclear repulsion energy, and the various components of this quantity. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`ao_one_e_integrals` + * :c:data:`ao_potential_alpha_xc` + * :c:data:`ao_two_e_integral_alpha` + * :c:data:`e_correlation_dft` + * :c:data:`e_exchange_dft` + * :c:data:`fock_matrix_ao_alpha` + * :c:data:`nuclear_repulsion` + * :c:data:`scf_density_matrix_ao_alpha` + * :c:data:`scf_density_matrix_ao_beta` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`extra_e_contrib_density` + + + +Subroutines / functions +----------------------- diff --git a/doc/_sources/modules/kohn_sham_rs.rst.txt b/doc/_sources/modules/kohn_sham_rs.rst.txt new file mode 100644 index 00000000..02322304 --- /dev/null +++ b/doc/_sources/modules/kohn_sham_rs.rst.txt @@ -0,0 +1,468 @@ +.. _module_kohn_sham_rs: + +.. program:: kohn_sham_rs + +.. default-role:: option + +============ +kohn_sham_rs +============ + + +The Range-separated Kohn-Sham module performs *Restricted* Kohn-Sham calculations (the +spatial part of the |MOs| is common for alpha and beta spinorbitals) where the coulomb interaction is partially treated using exact exchange. +The splitting of the interaction between long- and short-range is determined by the range-separation parameter :option:`ao_two_e_erf_ints mu_erf`. The long-range part of the interaction is explicitly treated with exact exchange, and the short-range part of the interaction is treated with appropriate DFT functionals. + +The Range-separated Kohn-Sham in an SCF and therefore is based on the ``scf_utils`` structure. +It performs the following actions: + +#. Compute/Read all the one- and two-electron integrals, and store them in memory +#. Check in the |EZFIO| database if there is a set of |MOs|. If there is, it + will read them as initial guess. Otherwise, it will create a guess. +#. Perform the |SCF| iterations + +The definition of the Fock matrix is in :file:`kohn_sham_rs fock_matrix_rs_ks.irp.f` +For the keywords related to the |SCF| procedure, see the ``scf_utils`` directory where you will find all options. +The main are: +# :option:`scf_utils thresh_scf` +# :option:`scf_utils level_shift` + + +At each iteration, the |MOs| are saved in the |EZFIO| database. Hence, if the calculation +crashes for any unexpected reason, the calculation can be restarted by running again +the |SCF| with the same |EZFIO| database. + +The `DIIS`_ algorithm is implemented, as well as the `level-shifting`_ method. +If the |SCF| does not converge, try again with a higher value of :option:`level_shift`. + +To start a calculation from scratch, the simplest way is to remove the +``mo_basis`` directory from the |EZFIO| database, and run the |SCF| again. + + +.. _DIIS: https://en.wikipedia.org/w/index.php?title=DIIS +.. _level-shifting: https://doi.org/10.1002/qua.560070407 + + + + + + +EZFIO parameters +---------------- + +.. option:: energy + + Energy range separated hybrid + + + +Programs +-------- + + * :ref:`rs_ks_scf` + +Providers +--------- + +.. c:var:: ao_potential_alpha_xc + + + File : :file:`pot_functionals.irp.f` + + .. code:: fortran + + double precision, allocatable :: ao_potential_alpha_xc (ao_num,ao_num) + double precision, allocatable :: ao_potential_beta_xc (ao_num,ao_num) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`potential_x_alpha_ao` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`fock_matrix_ao_alpha` + * :c:data:`rs_ks_energy` + + +.. c:var:: ao_potential_beta_xc + + + File : :file:`pot_functionals.irp.f` + + .. code:: fortran + + double precision, allocatable :: ao_potential_alpha_xc (ao_num,ao_num) + double precision, allocatable :: ao_potential_beta_xc (ao_num,ao_num) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`potential_x_alpha_ao` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`fock_matrix_ao_alpha` + * :c:data:`rs_ks_energy` + + +.. c:var:: e_correlation_dft + + + File : :file:`pot_functionals.irp.f` + + .. code:: fortran + + double precision :: e_correlation_dft + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`energy_x` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`extra_e_contrib_density` + * :c:data:`rs_ks_energy` + + +.. c:var:: e_exchange_dft + + + File : :file:`pot_functionals.irp.f` + + .. code:: fortran + + double precision :: e_exchange_dft + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`energy_x` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`extra_e_contrib_density` + * :c:data:`rs_ks_energy` + + +.. c:var:: fock_matrix_alpha_no_xc_ao + + + File : :file:`fock_matrix_rs_ks.irp.f` + + .. code:: fortran + + double precision, allocatable :: fock_matrix_alpha_no_xc_ao (ao_num,ao_num) + double precision, allocatable :: fock_matrix_beta_no_xc_ao (ao_num,ao_num) + + + Mono electronic an Coulomb matrix in AO basis set + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`ao_one_e_integrals` + * :c:data:`ao_two_e_integral_alpha` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`fock_matrix_ao_alpha` + + +.. c:var:: fock_matrix_beta_no_xc_ao + + + File : :file:`fock_matrix_rs_ks.irp.f` + + .. code:: fortran + + double precision, allocatable :: fock_matrix_alpha_no_xc_ao (ao_num,ao_num) + double precision, allocatable :: fock_matrix_beta_no_xc_ao (ao_num,ao_num) + + + Mono electronic an Coulomb matrix in AO basis set + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`ao_one_e_integrals` + * :c:data:`ao_two_e_integral_alpha` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`fock_matrix_ao_alpha` + + +.. c:var:: fock_matrix_energy + + + File : :file:`rs_ks_energy.irp.f` + + .. code:: fortran + + double precision :: rs_ks_energy + double precision :: two_e_energy + double precision :: one_e_energy + double precision :: fock_matrix_energy + double precision :: trace_potential_xc + + + Range-separated Kohn-Sham energy containing the nuclear repulsion energy, and the various components of this quantity. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`ao_one_e_integrals` + * :c:data:`ao_potential_alpha_xc` + * :c:data:`ao_two_e_integral_alpha` + * :c:data:`e_correlation_dft` + * :c:data:`e_exchange_dft` + * :c:data:`fock_matrix_ao_alpha` + * :c:data:`nuclear_repulsion` + * :c:data:`scf_density_matrix_ao_alpha` + * :c:data:`scf_density_matrix_ao_beta` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`extra_e_contrib_density` + + +.. c:var:: one_e_energy + + + File : :file:`rs_ks_energy.irp.f` + + .. code:: fortran + + double precision :: rs_ks_energy + double precision :: two_e_energy + double precision :: one_e_energy + double precision :: fock_matrix_energy + double precision :: trace_potential_xc + + + Range-separated Kohn-Sham energy containing the nuclear repulsion energy, and the various components of this quantity. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`ao_one_e_integrals` + * :c:data:`ao_potential_alpha_xc` + * :c:data:`ao_two_e_integral_alpha` + * :c:data:`e_correlation_dft` + * :c:data:`e_exchange_dft` + * :c:data:`fock_matrix_ao_alpha` + * :c:data:`nuclear_repulsion` + * :c:data:`scf_density_matrix_ao_alpha` + * :c:data:`scf_density_matrix_ao_beta` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`extra_e_contrib_density` + + +.. c:var:: rs_ks_energy + + + File : :file:`rs_ks_energy.irp.f` + + .. code:: fortran + + double precision :: rs_ks_energy + double precision :: two_e_energy + double precision :: one_e_energy + double precision :: fock_matrix_energy + double precision :: trace_potential_xc + + + Range-separated Kohn-Sham energy containing the nuclear repulsion energy, and the various components of this quantity. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`ao_one_e_integrals` + * :c:data:`ao_potential_alpha_xc` + * :c:data:`ao_two_e_integral_alpha` + * :c:data:`e_correlation_dft` + * :c:data:`e_exchange_dft` + * :c:data:`fock_matrix_ao_alpha` + * :c:data:`nuclear_repulsion` + * :c:data:`scf_density_matrix_ao_alpha` + * :c:data:`scf_density_matrix_ao_beta` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`extra_e_contrib_density` + + +.. c:var:: trace_potential_xc + + + File : :file:`rs_ks_energy.irp.f` + + .. code:: fortran + + double precision :: rs_ks_energy + double precision :: two_e_energy + double precision :: one_e_energy + double precision :: fock_matrix_energy + double precision :: trace_potential_xc + + + Range-separated Kohn-Sham energy containing the nuclear repulsion energy, and the various components of this quantity. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`ao_one_e_integrals` + * :c:data:`ao_potential_alpha_xc` + * :c:data:`ao_two_e_integral_alpha` + * :c:data:`e_correlation_dft` + * :c:data:`e_exchange_dft` + * :c:data:`fock_matrix_ao_alpha` + * :c:data:`nuclear_repulsion` + * :c:data:`scf_density_matrix_ao_alpha` + * :c:data:`scf_density_matrix_ao_beta` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`extra_e_contrib_density` + + +.. c:var:: two_e_energy + + + File : :file:`rs_ks_energy.irp.f` + + .. code:: fortran + + double precision :: rs_ks_energy + double precision :: two_e_energy + double precision :: one_e_energy + double precision :: fock_matrix_energy + double precision :: trace_potential_xc + + + Range-separated Kohn-Sham energy containing the nuclear repulsion energy, and the various components of this quantity. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`ao_one_e_integrals` + * :c:data:`ao_potential_alpha_xc` + * :c:data:`ao_two_e_integral_alpha` + * :c:data:`e_correlation_dft` + * :c:data:`e_exchange_dft` + * :c:data:`fock_matrix_ao_alpha` + * :c:data:`nuclear_repulsion` + * :c:data:`scf_density_matrix_ao_alpha` + * :c:data:`scf_density_matrix_ao_beta` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`extra_e_contrib_density` + + + +Subroutines / functions +----------------------- + +.. c:function:: check_coherence_functional: + + + File : :file:`rs_ks_scf.irp.f` + + .. code:: fortran + + subroutine check_coherence_functional + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`exchange_functional` + * :c:data:`correlation_functional` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`rs_ks_scf` + diff --git a/doc/_sources/modules/mo_basis.rst.txt b/doc/_sources/modules/mo_basis.rst.txt new file mode 100644 index 00000000..2038ca3a --- /dev/null +++ b/doc/_sources/modules/mo_basis.rst.txt @@ -0,0 +1,815 @@ +.. _module_mo_basis: + +.. program:: mo_basis + +.. default-role:: option + +======== +mo_basis +======== + +Molecular orbitals are expressed as + +.. math:: + + \phi_k({\bf r}) = \sum_i C_{ik} \chi_k({\bf r}) + + +where :math:`\chi_k` are *normalized* atomic basis functions. + +The current set of |MOs| has a label `mo_label`. +When the orbitals are modified, the label should also be updated to keep +everything consistent. + +When saving the |MOs|, the :file:`mo_basis` directory of the |EZFIO| database +is copied in the :file:`save` directory, named by the current `mo_label`. All +this is done with the script named :file:`save_current_mos.sh` in the +:file:`$QP_ROOT/scripts` directory. + + + + + + +EZFIO parameters +---------------- + +.. option:: mo_num + + Total number of |MOs| + + +.. option:: mo_coef + + Coefficient of the i-th |AO| on the j-th |MO| + + +.. option:: mo_label + + Label characterizing the MOS (Local, Canonical, Natural, *etc*) + + +.. option:: mo_occ + + |MO| occupation numbers + + +.. option:: mo_class + + [ Core | Inactive | Active | Virtual | Deleted ], as defined by :ref:`qp_set_mo_class` + + +.. option:: ao_md5 + + MD5 checksum characterizing the |AO| basis set. + + + +Providers +--------- + +.. c:var:: mo_coef + + + File : :file:`mo_basis/mos.irp.f` + + .. code:: fortran + + double precision, allocatable :: mo_coef (ao_num,mo_num) + + + Molecular orbital coefficients on |AO| basis set + + mo_coef(i,j) = coefficient of the i-th |AO| on the jth mo + + mo_label : Label characterizing the MOS (local, canonical, natural, etc) + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`ao_ortho_canonical_coef` + * :c:data:`ezfio_filename` + * :c:data:`mo_num` + * :c:data:`mpi_master` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`eigenvectors_fock_matrix_mo` + * :c:data:`fock_matrix_mo_alpha` + * :c:data:`fock_matrix_mo_beta` + * :c:data:`fps_spf_matrix_mo` + * :c:data:`mo_coef_in_ao_ortho_basis` + * :c:data:`mo_coef_transp` + * :c:data:`mo_dipole_x` + * :c:data:`mo_integrals_n_e` + * :c:data:`mo_integrals_n_e_per_atom` + * :c:data:`mo_kinetic_integrals` + * :c:data:`mo_overlap` + * :c:data:`mo_pseudo_integrals` + * :c:data:`mo_spread_x` + * :c:data:`mo_two_e_int_erf_jj_from_ao` + * :c:data:`mo_two_e_integral_jj_from_ao` + * :c:data:`mo_two_e_integrals_erf_in_map` + * :c:data:`mo_two_e_integrals_in_map` + * :c:data:`mo_two_e_integrals_vv_from_ao` + * :c:data:`one_e_dm_ao_alpha` + * :c:data:`one_e_spin_density_ao` + * :c:data:`psi_det` + * :c:data:`s_mo_coef` + * :c:data:`scf_density_matrix_ao_alpha` + * :c:data:`scf_density_matrix_ao_beta` + + +.. c:var:: mo_coef_begin_iteration + + + File : :file:`mo_basis/track_orb.irp.f` + + .. code:: fortran + + double precision, allocatable :: mo_coef_begin_iteration (ao_num,mo_num) + + + Void provider to store the coefficients of the |MO| basis at the beginning of the SCF iteration + + Usefull to track some orbitals + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`mo_num` + + + +.. c:var:: mo_coef_in_ao_ortho_basis + + + File : :file:`mo_basis/mos.irp.f` + + .. code:: fortran + + double precision, allocatable :: mo_coef_in_ao_ortho_basis (ao_num,mo_num) + + + |MO| coefficients in orthogonalized |AO| basis + + :math:`C^{-1}.C_{mo}` + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`ao_ortho_canonical_coef_inv` + * :c:data:`mo_coef` + * :c:data:`mo_num` + + + +.. c:var:: mo_coef_transp + + + File : :file:`mo_basis/mos.irp.f` + + .. code:: fortran + + double precision, allocatable :: mo_coef_transp (mo_num,ao_num) + + + |MO| coefficients on |AO| basis set + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`mo_coef` + * :c:data:`mo_num` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_two_e_int_erf_jj_from_ao` + * :c:data:`mo_two_e_integral_jj_from_ao` + * :c:data:`mo_two_e_integrals_erf_in_map` + * :c:data:`mo_two_e_integrals_in_map` + * :c:data:`mo_two_e_integrals_vv_from_ao` + + +.. c:var:: mo_label + + + File : :file:`mo_basis/mos.irp.f` + + .. code:: fortran + + character*(64) :: mo_label + + + |MO| coefficients on |AO| basis set + + mo_coef(i,j) = coefficient of the i-th |AO| on the j-th |MO| + + mo_label : Label characterizing the |MOs| (local, canonical, natural, etc) + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ezfio_filename` + * :c:data:`mpi_master` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`n_det` + * :c:data:`psi_coef` + * :c:data:`psi_det` + + +.. c:var:: mo_num + + + File : :file:`mo_basis/mos.irp.f` + + .. code:: fortran + + integer :: mo_num + + + Number of MOs + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_ortho_canonical_coef` + * :c:data:`ezfio_filename` + * :c:data:`mpi_master` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_ortho_canonical_nucl_elec_integrals` + * :c:data:`ao_ortho_lowdin_nucl_elec_integrals` + * :c:data:`big_array_coulomb_integrals` + * :c:data:`core_fock_operator` + * :c:data:`core_fock_operator_erf` + * :c:data:`data_one_e_dm_alpha_mo` + * :c:data:`data_one_e_dm_beta_mo` + * :c:data:`eigenvectors_fock_matrix_mo` + * :c:data:`fock_matrix_ao` + * :c:data:`fock_matrix_mo` + * :c:data:`fock_matrix_mo_alpha` + * :c:data:`fock_matrix_mo_beta` + * :c:data:`fock_operator_closed_shell_ref_bitmask` + * :c:data:`fock_wee_closed_shell` + * :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` + * :c:data:`mo_coef_begin_iteration` + * :c:data:`mo_coef_in_ao_ortho_basis` + * :c:data:`mo_coef_transp` + * :c:data:`mo_dipole_x` + * :c:data:`mo_integrals_cache_min` + * :c:data:`mo_integrals_erf_cache_min` + * :c:data:`mo_integrals_erf_map` + * :c:data:`mo_integrals_map` + * :c:data:`mo_integrals_n_e` + * :c:data:`mo_integrals_n_e_per_atom` + * :c:data:`mo_kinetic_integrals` + * :c:data:`mo_occ` + * :c:data:`mo_one_e_integrals` + * :c:data:`mo_overlap` + * :c:data:`mo_pseudo_integrals` + * :c:data:`mo_spread_x` + * :c:data:`mo_two_e_int_erf_jj` + * :c:data:`mo_two_e_int_erf_jj_from_ao` + * :c:data:`mo_two_e_integral_jj_from_ao` + * :c:data:`mo_two_e_integrals_erf_in_map` + * :c:data:`mo_two_e_integrals_in_map` + * :c:data:`mo_two_e_integrals_jj` + * :c:data:`mo_two_e_integrals_vv_from_ao` + * :c:data:`n_core_orb` + * :c:data:`n_int` + * :c:data:`one_e_dm_ao_alpha` + * :c:data:`one_e_dm_dagger_mo_spin_index` + * :c:data:`one_e_dm_mo` + * :c:data:`one_e_dm_mo_alpha` + * :c:data:`one_e_dm_mo_alpha_average` + * :c:data:`one_e_dm_mo_diff` + * :c:data:`one_e_dm_mo_spin_index` + * :c:data:`one_e_spin_density_ao` + * :c:data:`one_e_spin_density_mo` + * :c:data:`psi_energy_h_core` + * :c:data:`s_mo_coef` + * :c:data:`singles_alpha_csc_idx` + * :c:data:`singles_beta_csc_idx` + + +.. c:var:: mo_occ + + + File : :file:`mo_basis/mos.irp.f` + + .. code:: fortran + + double precision, allocatable :: mo_occ (mo_num) + + + |MO| occupation numbers + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`elec_alpha_num` + * :c:data:`elec_beta_num` + * :c:data:`ezfio_filename` + * :c:data:`mo_num` + * :c:data:`mpi_master` + + + + +Subroutines / functions +----------------------- + +.. c:function:: ao_ortho_cano_to_ao: + + + File : :file:`mo_basis/mos.irp.f` + + .. code:: fortran + + subroutine ao_ortho_cano_to_ao(A_ao,LDA_ao,A,LDA) + + + Transform A from the |AO| basis to the orthogonal |AO| basis + + $C^{-1}.A_{ao}.C^{\dagger-1}$ + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`ao_ortho_canonical_coef_inv` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`dgemm` + + +.. c:function:: ao_to_mo: + + + File : :file:`mo_basis/mos.irp.f` + + .. code:: fortran + + subroutine ao_to_mo(A_ao,LDA_ao,A_mo,LDA_mo) + + + Transform A from the |AO| basis to the |MO| basis + + $C^\dagger.A_{ao}.C$ + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`mo_num` + * :c:data:`mo_coef` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:data:`fock_matrix_mo_alpha` + * :c:data:`fock_matrix_mo_beta` + * :c:data:`fps_spf_matrix_mo` + * :c:data:`mo_dipole_x` + * :c:data:`mo_integrals_n_e` + * :c:data:`mo_integrals_n_e_per_atom` + * :c:data:`mo_kinetic_integrals` + * :c:data:`mo_pseudo_integrals` + * :c:data:`mo_spread_x` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`dgemm` + + +.. c:function:: give_all_mos_and_grad_and_lapl_at_r: + + + File : :file:`mo_basis/mos_in_r.irp.f` + + .. code:: fortran + + subroutine give_all_mos_and_grad_and_lapl_at_r(r,mos_array,mos_grad_array,mos_lapl_array) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`mo_num` + * :c:data:`mo_coef` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`give_all_aos_and_grad_and_lapl_at_r` + + +.. c:function:: give_all_mos_and_grad_at_r: + + + File : :file:`mo_basis/mos_in_r.irp.f` + + .. code:: fortran + + subroutine give_all_mos_and_grad_at_r(r,mos_array,mos_grad_array) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`mo_num` + * :c:data:`mo_coef` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`give_all_aos_and_grad_at_r` + + +.. c:function:: give_all_mos_at_r: + + + File : :file:`mo_basis/mos_in_r.irp.f` + + .. code:: fortran + + subroutine give_all_mos_at_r(r,mos_array) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`mo_num` + * :c:data:`mo_coef_transp` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`dgemv` + * :c:func:`give_all_aos_at_r` + + +.. c:function:: initialize_mo_coef_begin_iteration: + + + File : :file:`mo_basis/track_orb.irp.f` + + .. code:: fortran + + subroutine initialize_mo_coef_begin_iteration + + + + Initialize :c:data:`mo_coef_begin_iteration` to the current :c:data:`mo_coef` + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_coef_begin_iteration` + * :c:data:`mo_coef` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`damping_scf` + * :c:func:`roothaan_hall_scf` + + +.. c:function:: mix_mo_jk: + + + File : :file:`mo_basis/mos.irp.f` + + .. code:: fortran + + subroutine mix_mo_jk(j,k) + + + Rotates the j-th |MO| with the k-th |MO| to give two new |MOs| that are + + * $+ = \frac{1}{\sqrt{2}} (|j\rangle + |k\rangle)$ + + * $- = \frac{1}{\sqrt{2}} (|j\rangle - |k\rangle)$ + + by convention, the '+' |MO| is in the lowest index (min(j,k)) + by convention, the '-' |MO| is in the highest index (max(j,k)) + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`mo_coef` + + +.. c:function:: mo_as_eigvectors_of_mo_matrix: + + + File : :file:`mo_basis/utils.irp.f` + + .. code:: fortran + + subroutine mo_as_eigvectors_of_mo_matrix(matrix,n,m,label,sign,output) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_label` + * :c:data:`ao_num` + * :c:data:`mo_num` + * :c:data:`mo_coef` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`create_guess` + * :c:func:`damping_scf` + * :c:func:`hcore_guess` + * :c:func:`roothaan_hall_scf` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`dgemm` + * :c:func:`lapack_diag` + * :c:func:`write_time` + + +.. c:function:: mo_as_svd_vectors_of_mo_matrix: + + + File : :file:`mo_basis/utils.irp.f` + + .. code:: fortran + + subroutine mo_as_svd_vectors_of_mo_matrix(matrix,lda,m,n,label) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_label` + * :c:data:`ao_num` + * :c:data:`mo_num` + * :c:data:`mo_coef` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`dgemm` + * :c:func:`svd` + * :c:func:`write_time` + + +.. c:function:: mo_as_svd_vectors_of_mo_matrix_eig: + + + File : :file:`mo_basis/utils.irp.f` + + .. code:: fortran + + subroutine mo_as_svd_vectors_of_mo_matrix_eig(matrix,lda,m,n,eig,label) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_label` + * :c:data:`ao_num` + * :c:data:`mo_num` + * :c:data:`mo_coef` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`set_natural_mos` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`dgemm` + * :c:func:`svd` + * :c:func:`write_time` + + +.. c:function:: reorder_core_orb: + + + File : :file:`mo_basis/track_orb.irp.f` + + .. code:: fortran + + subroutine reorder_core_orb + + + routines that takes the current :c:data:`mo_coef` and reorder the core orbitals (see :c:data:`list_core` and :c:data:`n_core_orb`) according to the overlap with :c:data:`mo_coef_begin_iteration` + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_num` + * :c:data:`mo_coef_begin_iteration` + * :c:data:`mo_coef` + * :c:data:`ao_overlap` + * :c:data:`n_core_orb` + * :c:data:`ao_num` + * :c:data:`list_inact` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`damping_scf` + * :c:func:`roothaan_hall_scf` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`dsort` + + +.. c:function:: save_mos: + + + File : :file:`mo_basis/utils.irp.f` + + .. code:: fortran + + subroutine save_mos + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_occ` + * :c:data:`ao_md5` + * :c:data:`ezfio_filename` + * :c:data:`mo_num` + * :c:data:`mo_coef` + * :c:data:`ao_num` + * :c:data:`mo_label` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`damping_scf` + * :c:func:`hcore_guess` + * :c:func:`huckel_guess` + * :c:func:`roothaan_hall_scf` + * :c:func:`save_natural_mos` + * :c:func:`save_ortho_mos` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`ezfio_set_mo_basis_ao_md5` + * :c:func:`ezfio_set_mo_basis_mo_coef` + * :c:func:`ezfio_set_mo_basis_mo_label` + * :c:func:`ezfio_set_mo_basis_mo_num` + * :c:func:`ezfio_set_mo_basis_mo_occ` + * :c:func:`system` + + +.. c:function:: save_mos_truncated: + + + File : :file:`mo_basis/utils.irp.f` + + .. code:: fortran + + subroutine save_mos_truncated(n) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_occ` + * :c:data:`ao_md5` + * :c:data:`ezfio_filename` + * :c:data:`mo_coef` + * :c:data:`ao_num` + * :c:data:`mo_label` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`ezfio_set_mo_basis_ao_md5` + * :c:func:`ezfio_set_mo_basis_mo_coef` + * :c:func:`ezfio_set_mo_basis_mo_label` + * :c:func:`ezfio_set_mo_basis_mo_num` + * :c:func:`ezfio_set_mo_basis_mo_occ` + * :c:func:`system` + diff --git a/doc/_sources/modules/mo_guess.rst.txt b/doc/_sources/modules/mo_guess.rst.txt new file mode 100644 index 00000000..25c9acde --- /dev/null +++ b/doc/_sources/modules/mo_guess.rst.txt @@ -0,0 +1,160 @@ +.. _module_mo_guess: + +.. program:: mo_guess + +.. default-role:: option + +======== +mo_guess +======== + +Guess for |MOs|. + + + + +Providers +--------- + +.. c:var:: ao_ortho_canonical_nucl_elec_integrals + + + File : :file:`mo_guess/pot_mo_ortho_canonical_ints.irp.f` + + .. code:: fortran + + double precision, allocatable :: ao_ortho_canonical_nucl_elec_integrals (mo_num,mo_num) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_integrals_n_e` + * :c:data:`ao_num` + * :c:data:`ao_ortho_canonical_coef` + * :c:data:`mo_num` + + + +.. c:var:: ao_ortho_lowdin_coef + + + File : :file:`mo_guess/mo_ortho_lowdin.irp.f` + + .. code:: fortran + + double precision, allocatable :: ao_ortho_lowdin_coef (ao_num,ao_num) + + + matrix of the coefficients of the mos generated by the + orthonormalization by the S^{-1/2} canonical transformation of the aos + ao_ortho_lowdin_coef(i,j) = coefficient of the ith ao on the jth ao_ortho_lowdin orbital + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`ao_overlap` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_ortho_lowdin_nucl_elec_integrals` + * :c:data:`ao_ortho_lowdin_overlap` + + +.. c:var:: ao_ortho_lowdin_nucl_elec_integrals + + + File : :file:`mo_guess/pot_mo_ortho_lowdin_ints.irp.f` + + .. code:: fortran + + double precision, allocatable :: ao_ortho_lowdin_nucl_elec_integrals (mo_num,mo_num) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_integrals_n_e` + * :c:data:`ao_num` + * :c:data:`ao_ortho_lowdin_coef` + * :c:data:`mo_num` + + + +.. c:var:: ao_ortho_lowdin_overlap + + + File : :file:`mo_guess/mo_ortho_lowdin.irp.f` + + .. code:: fortran + + double precision, allocatable :: ao_ortho_lowdin_overlap (ao_num,ao_num) + + + overlap matrix of the ao_ortho_lowdin + supposed to be the Identity + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`ao_ortho_lowdin_coef` + * :c:data:`ao_overlap` + + + + +Subroutines / functions +----------------------- + +.. c:function:: hcore_guess: + + + File : :file:`mo_guess/h_core_guess_routine.irp.f` + + .. code:: fortran + + subroutine hcore_guess + + + Produce `H_core` MO orbital + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_label` + * :c:data:`mo_one_e_integrals` + * :c:data:`mo_coef` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`mo_as_eigvectors_of_mo_matrix` + * :c:func:`save_mos` + + Touches: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_coef` + * :c:data:`mo_label` + diff --git a/doc/_sources/modules/mo_one_e_ints.rst.txt b/doc/_sources/modules/mo_one_e_ints.rst.txt new file mode 100644 index 00000000..c882bb6f --- /dev/null +++ b/doc/_sources/modules/mo_one_e_ints.rst.txt @@ -0,0 +1,571 @@ +.. _module_mo_one_e_ints: + +.. program:: mo_one_e_ints + +.. default-role:: option + +================== +mo_one_e_integrals +================== + +All the one-electron integrals in |MO| basis are defined here. + +The most important providers for usual quantum-chemistry calculation are: + +* `mo_kinetic_integrals` which are the kinetic operator integrals on the |AO| basis (see :file:`kin_mo_ints.irp.f`) +* `mo_integrals_n_e` which are the nuclear-elctron operator integrals on the |AO| basis (see :file:`pot_mo_ints.irp.f`) +* `mo_one_e_integrals` which are the the h_core operator integrals on the |AO| basis (see :file:`mo_mono_ints.irp.f`) + +Note that you can find other interesting integrals related to the position operator in :file:`spread_dipole_mo.irp.f`. + + + +EZFIO parameters +---------------- + +.. option:: mo_integrals_e_n + + Nucleus-electron integrals in |MO| basis set + + +.. option:: io_mo_integrals_e_n + + Read/Write |MO| electron-nucleus attraction integrals from/to disk [ Write | Read | None ] + + Default: None + +.. option:: mo_integrals_kinetic + + Kinetic energy integrals in |MO| basis set + + +.. option:: io_mo_integrals_kinetic + + Read/Write |MO| one-electron kinetic integrals from/to disk [ Write | Read | None ] + + Default: None + +.. option:: mo_integrals_pseudo + + Pseudopotential integrals in |MO| basis set + + +.. option:: io_mo_integrals_pseudo + + Read/Write |MO| pseudopotential integrals from/to disk [ Write | Read | None ] + + Default: None + +.. option:: mo_one_e_integrals + + One-electron integrals in |MO| basis set + + +.. option:: io_mo_one_e_integrals + + Read/Write |MO| one-electron integrals from/to disk [ Write | Read | None ] + + Default: None + + +Providers +--------- + +.. c:var:: mo_dipole_x + + + File : :file:`mo_one_e_ints/spread_dipole_mo.irp.f` + + .. code:: fortran + + double precision, allocatable :: mo_dipole_x (mo_num,mo_num) + double precision, allocatable :: mo_dipole_y (mo_num,mo_num) + double precision, allocatable :: mo_dipole_z (mo_num,mo_num) + + + array of the integrals of MO_i * x MO_j + array of the integrals of MO_i * y MO_j + array of the integrals of MO_i * z MO_j + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_dipole_x` + * :c:data:`ao_num` + * :c:data:`mo_coef` + * :c:data:`mo_num` + + + +.. c:var:: mo_dipole_y + + + File : :file:`mo_one_e_ints/spread_dipole_mo.irp.f` + + .. code:: fortran + + double precision, allocatable :: mo_dipole_x (mo_num,mo_num) + double precision, allocatable :: mo_dipole_y (mo_num,mo_num) + double precision, allocatable :: mo_dipole_z (mo_num,mo_num) + + + array of the integrals of MO_i * x MO_j + array of the integrals of MO_i * y MO_j + array of the integrals of MO_i * z MO_j + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_dipole_x` + * :c:data:`ao_num` + * :c:data:`mo_coef` + * :c:data:`mo_num` + + + +.. c:var:: mo_dipole_z + + + File : :file:`mo_one_e_ints/spread_dipole_mo.irp.f` + + .. code:: fortran + + double precision, allocatable :: mo_dipole_x (mo_num,mo_num) + double precision, allocatable :: mo_dipole_y (mo_num,mo_num) + double precision, allocatable :: mo_dipole_z (mo_num,mo_num) + + + array of the integrals of MO_i * x MO_j + array of the integrals of MO_i * y MO_j + array of the integrals of MO_i * z MO_j + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_dipole_x` + * :c:data:`ao_num` + * :c:data:`mo_coef` + * :c:data:`mo_num` + + + +.. c:var:: mo_integrals_n_e + + + File : :file:`mo_one_e_ints/pot_mo_ints.irp.f` + + .. code:: fortran + + double precision, allocatable :: mo_integrals_n_e (mo_num,mo_num) + + + Nucleus-electron interaction on the |MO| basis + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_integrals_n_e` + * :c:data:`ao_num` + * :c:data:`mo_coef` + * :c:data:`mo_num` + * :c:data:`read_mo_integrals_e_n` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_one_e_integrals` + * :c:data:`ref_bitmask_energy` + + +.. c:var:: mo_integrals_n_e_per_atom + + + File : :file:`mo_one_e_ints/pot_mo_ints.irp.f` + + .. code:: fortran + + double precision, allocatable :: mo_integrals_n_e_per_atom (mo_num,mo_num,nucl_num) + + + mo_integrals_n_e_per_atom(i,j,k) = + :math:`\langle \phi_i| -\frac{1}{|r-R_k|} | \phi_j \rangle` . + where R_k is the coordinate of the k-th nucleus. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_integrals_n_e_per_atom` + * :c:data:`ao_num` + * :c:data:`mo_coef` + * :c:data:`mo_num` + * :c:data:`nucl_num` + + + +.. c:var:: mo_kinetic_integrals + + + File : :file:`mo_one_e_ints/kin_mo_ints.irp.f` + + .. code:: fortran + + double precision, allocatable :: mo_kinetic_integrals (mo_num,mo_num) + + + Kinetic energy integrals in the MO basis + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_kinetic_integrals` + * :c:data:`ao_num` + * :c:data:`mo_coef` + * :c:data:`mo_num` + * :c:data:`read_mo_integrals_kinetic` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_one_e_integrals` + * :c:data:`ref_bitmask_energy` + + +.. c:var:: mo_one_e_integrals + + + File : :file:`mo_one_e_ints/mo_one_e_ints.irp.f` + + .. code:: fortran + + double precision, allocatable :: mo_one_e_integrals (mo_num,mo_num) + + + array of the mono electronic hamiltonian on the MOs basis : + sum of the kinetic and nuclear electronic potential (and pseudo potential if needed) + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`do_pseudo` + * :c:data:`mo_integrals_n_e` + * :c:data:`mo_kinetic_integrals` + * :c:data:`mo_num` + * :c:data:`mo_pseudo_integrals` + * :c:data:`read_mo_one_e_integrals` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`core_energy` + * :c:data:`core_energy_erf` + * :c:data:`fock_operator_closed_shell_ref_bitmask` + * :c:data:`psi_energy_h_core` + * :c:data:`ref_bitmask_energy` + + +.. c:var:: mo_overlap + + + File : :file:`mo_one_e_ints/mo_overlap.irp.f` + + .. code:: fortran + + double precision, allocatable :: mo_overlap (mo_num,mo_num) + + + Provider to check that the MOs are indeed orthonormal. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`ao_overlap` + * :c:data:`mo_coef` + * :c:data:`mo_num` + + + +.. c:var:: mo_pseudo_integrals + + + File : :file:`mo_one_e_ints/pot_mo_pseudo_ints.irp.f` + + .. code:: fortran + + double precision, allocatable :: mo_pseudo_integrals (mo_num,mo_num) + + + Pseudopotential integrals in |MO| basis + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`ao_pseudo_integrals` + * :c:data:`do_pseudo` + * :c:data:`mo_coef` + * :c:data:`mo_num` + * :c:data:`read_mo_integrals_pseudo` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_one_e_integrals` + + +.. c:var:: mo_spread_x + + + File : :file:`mo_one_e_ints/spread_dipole_mo.irp.f` + + .. code:: fortran + + double precision, allocatable :: mo_spread_x (mo_num,mo_num) + double precision, allocatable :: mo_spread_y (mo_num,mo_num) + double precision, allocatable :: mo_spread_z (mo_num,mo_num) + + + array of the integrals of MO_i * x^2 MO_j + array of the integrals of MO_i * y^2 MO_j + array of the integrals of MO_i * z^2 MO_j + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`ao_spread_x` + * :c:data:`mo_coef` + * :c:data:`mo_num` + + + +.. c:var:: mo_spread_y + + + File : :file:`mo_one_e_ints/spread_dipole_mo.irp.f` + + .. code:: fortran + + double precision, allocatable :: mo_spread_x (mo_num,mo_num) + double precision, allocatable :: mo_spread_y (mo_num,mo_num) + double precision, allocatable :: mo_spread_z (mo_num,mo_num) + + + array of the integrals of MO_i * x^2 MO_j + array of the integrals of MO_i * y^2 MO_j + array of the integrals of MO_i * z^2 MO_j + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`ao_spread_x` + * :c:data:`mo_coef` + * :c:data:`mo_num` + + + +.. c:var:: mo_spread_z + + + File : :file:`mo_one_e_ints/spread_dipole_mo.irp.f` + + .. code:: fortran + + double precision, allocatable :: mo_spread_x (mo_num,mo_num) + double precision, allocatable :: mo_spread_y (mo_num,mo_num) + double precision, allocatable :: mo_spread_z (mo_num,mo_num) + + + array of the integrals of MO_i * x^2 MO_j + array of the integrals of MO_i * y^2 MO_j + array of the integrals of MO_i * z^2 MO_j + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`ao_spread_x` + * :c:data:`mo_coef` + * :c:data:`mo_num` + + + +.. c:var:: s_mo_coef + + + File : :file:`mo_one_e_ints/ao_to_mo.irp.f` + + .. code:: fortran + + double precision, allocatable :: s_mo_coef (ao_num,mo_num) + + + Product S.C where S is the overlap matrix in the AO basis and C the mo_coef matrix. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`ao_overlap` + * :c:data:`mo_coef` + * :c:data:`mo_num` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`fock_matrix_ao` + + + +Subroutines / functions +----------------------- + +.. c:function:: mo_to_ao: + + + File : :file:`mo_one_e_ints/ao_to_mo.irp.f` + + .. code:: fortran + + subroutine mo_to_ao(A_mo,LDA_mo,A_ao,LDA_ao) + + + Transform A from the MO basis to the AO basis + + $(S.C).A_{mo}.(S.C)^\dagger$ + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`s_mo_coef` + * :c:data:`mo_num` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:data:`fock_matrix_ao` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`dgemm` + + +.. c:function:: mo_to_ao_no_overlap: + + + File : :file:`mo_one_e_ints/ao_to_mo.irp.f` + + .. code:: fortran + + subroutine mo_to_ao_no_overlap(A_mo,LDA_mo,A_ao,LDA_ao) + + + $C.A_{mo}.C^\dagger$ + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`mo_num` + * :c:data:`mo_coef` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`dgemm` + + +.. c:function:: orthonormalize_mos: + + + File : :file:`mo_one_e_ints/orthonormalize.irp.f` + + .. code:: fortran + + subroutine orthonormalize_mos + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_label` + * :c:data:`ao_num` + * :c:data:`mo_overlap` + * :c:data:`mo_num` + * :c:data:`mo_coef` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`save_ortho_mos` + * :c:func:`scf` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`ortho_lowdin` + + Touches: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_coef` + * :c:data:`mo_label` + diff --git a/doc/_sources/modules/mo_two_e_erf_ints.rst.txt b/doc/_sources/modules/mo_two_e_erf_ints.rst.txt new file mode 100644 index 00000000..7e85039b --- /dev/null +++ b/doc/_sources/modules/mo_two_e_erf_ints.rst.txt @@ -0,0 +1,1000 @@ +.. _module_mo_two_e_erf_ints: + +.. program:: mo_two_e_erf_ints + +.. default-role:: option + +====================== +mo_two_e_erf_ints +====================== + +Here, all two-electron integrals (:math:`erf({\mu}_{erf} * r_{12})/r_{12}`) are computed. +As they have 4 indices and many are zero, they are stored in a map, as defined +in :file:`Utils/map_module.f90`. + +The range separation parameter :math:`{\mu}_{erf}` is the variable :option:`ao_two_e_erf_ints mu_erf`. + +To fetch an |MO| integral, use +`get_mo_two_e_integral_erf(i,j,k,l,mo_integrals_map_erf)` + +The conventions are: + +* For |MO| integrals : = <12|12> + +Be aware that it might not be the same conventions for |MO| and |AO| integrals. + + + + + +EZFIO parameters +---------------- + +.. option:: io_mo_two_e_integrals_erf + + Read/Write MO integrals with the long range interaction from/to disk [ Write | Read | None ] + + Default: None + + +Providers +--------- + +.. c:var:: core_energy_erf + + + File : :file:`mo_two_e_erf_ints/core_quantities_erf.irp.f` + + .. code:: fortran + + double precision :: core_energy_erf + + + energy from the core : contains all core-core contributionswith the erf interaction + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`list_inact` + * :c:data:`mo_one_e_integrals` + * :c:data:`mo_two_e_int_erf_jj` + * :c:data:`n_core_orb` + * :c:data:`nuclear_repulsion` + + + +.. c:var:: core_fock_operator_erf + + + File : :file:`mo_two_e_erf_ints/core_quantities_erf.irp.f` + + .. code:: fortran + + double precision, allocatable :: core_fock_operator_erf (mo_num,mo_num) + + + this is the contribution to the Fock operator from the core electrons with the erf interaction + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`list_inact` + * :c:data:`mo_integrals_erf_cache` + * :c:data:`mo_integrals_erf_cache_min` + * :c:data:`mo_integrals_erf_map` + * :c:data:`mo_num` + * :c:data:`mo_two_e_integrals_erf_in_map` + * :c:data:`n_core_orb` + + + +.. c:function:: insert_into_mo_integrals_erf_map: + + + File : :file:`mo_two_e_erf_ints/map_integrals_erf.irp.f` + + .. code:: fortran + + subroutine insert_into_mo_integrals_erf_map(n_integrals, & + buffer_i, buffer_values, thr) + + + Create new entry into |MO| map, or accumulate in an existing entry + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_integrals_erf_map` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`add_integrals_to_map_erf` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`map_update` + + +.. c:var:: int_erf_3_index + + + File : :file:`mo_two_e_erf_ints/ints_erf_3_index.irp.f` + + .. code:: fortran + + double precision, allocatable :: int_erf_3_index (mo_num,mo_num,mo_num) + double precision, allocatable :: int_erf_3_index_exc (mo_num,mo_num,mo_num) + + + int_erf_3_index(i,j) = = (ii|jj) with the erf interaction + + int_erf_3_index_exc(i,j) = = (ij|ij) with the erf interaction + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_integrals_erf_cache` + * :c:data:`mo_integrals_erf_cache_min` + * :c:data:`mo_integrals_erf_map` + * :c:data:`mo_num` + * :c:data:`mo_two_e_integrals_erf_in_map` + + + +.. c:var:: int_erf_3_index_exc + + + File : :file:`mo_two_e_erf_ints/ints_erf_3_index.irp.f` + + .. code:: fortran + + double precision, allocatable :: int_erf_3_index (mo_num,mo_num,mo_num) + double precision, allocatable :: int_erf_3_index_exc (mo_num,mo_num,mo_num) + + + int_erf_3_index(i,j) = = (ii|jj) with the erf interaction + + int_erf_3_index_exc(i,j) = = (ij|ij) with the erf interaction + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_integrals_erf_cache` + * :c:data:`mo_integrals_erf_cache_min` + * :c:data:`mo_integrals_erf_map` + * :c:data:`mo_num` + * :c:data:`mo_two_e_integrals_erf_in_map` + + + +.. c:var:: mo_integrals_erf_cache + + + File : :file:`mo_two_e_erf_ints/map_integrals_erf.irp.f` + + .. code:: fortran + + double precision, allocatable :: mo_integrals_erf_cache (0:64*64*64*64) + + + Cache of |MO| integrals for fast access + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_integrals_erf_cache_min` + * :c:data:`mo_integrals_erf_map` + * :c:data:`mo_two_e_integrals_erf_in_map` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`core_fock_operator_erf` + * :c:data:`int_erf_3_index` + * :c:data:`mo_two_e_int_erf_jj` + + +.. c:var:: mo_integrals_erf_cache_max + + + File : :file:`mo_two_e_erf_ints/map_integrals_erf.irp.f` + + .. code:: fortran + + integer :: mo_integrals_erf_cache_min + integer :: mo_integrals_erf_cache_max + + + Min and max values of the MOs for which the integrals are in the cache + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`elec_alpha_num` + * :c:data:`mo_num` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`core_fock_operator_erf` + * :c:data:`int_erf_3_index` + * :c:data:`mo_integrals_erf_cache` + * :c:data:`mo_two_e_int_erf_jj` + + +.. c:var:: mo_integrals_erf_cache_min + + + File : :file:`mo_two_e_erf_ints/map_integrals_erf.irp.f` + + .. code:: fortran + + integer :: mo_integrals_erf_cache_min + integer :: mo_integrals_erf_cache_max + + + Min and max values of the MOs for which the integrals are in the cache + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`elec_alpha_num` + * :c:data:`mo_num` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`core_fock_operator_erf` + * :c:data:`int_erf_3_index` + * :c:data:`mo_integrals_erf_cache` + * :c:data:`mo_two_e_int_erf_jj` + + +.. c:var:: mo_integrals_erf_map + + + File : :file:`mo_two_e_erf_ints/map_integrals_erf.irp.f` + + .. code:: fortran + + type(map_type) :: mo_integrals_erf_map + + + |MO| integrals + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_num` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`core_fock_operator_erf` + * :c:data:`int_erf_3_index` + * :c:data:`mo_integrals_erf_cache` + * :c:data:`mo_two_e_int_erf_jj` + * :c:data:`mo_two_e_integrals_erf_in_map` + + +.. c:var:: mo_two_e_int_erf_jj + + + File : :file:`mo_two_e_erf_ints/mo_bi_integrals_erf.irp.f` + + .. code:: fortran + + double precision, allocatable :: mo_two_e_int_erf_jj (mo_num,mo_num) + double precision, allocatable :: mo_two_e_int_erf_jj_exchange (mo_num,mo_num) + double precision, allocatable :: mo_two_e_int_erf_jj_anti (mo_num,mo_num) + + + mo_two_e_integrals_jj(i,j) = J_ij + mo_two_e_integrals_jj_exchange(i,j) = K_ij + mo_two_e_integrals_jj_anti(i,j) = J_ij - K_ij + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_integrals_erf_cache` + * :c:data:`mo_integrals_erf_cache_min` + * :c:data:`mo_integrals_erf_map` + * :c:data:`mo_num` + * :c:data:`mo_two_e_integrals_erf_in_map` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`core_energy_erf` + + +.. c:var:: mo_two_e_int_erf_jj_anti + + + File : :file:`mo_two_e_erf_ints/mo_bi_integrals_erf.irp.f` + + .. code:: fortran + + double precision, allocatable :: mo_two_e_int_erf_jj (mo_num,mo_num) + double precision, allocatable :: mo_two_e_int_erf_jj_exchange (mo_num,mo_num) + double precision, allocatable :: mo_two_e_int_erf_jj_anti (mo_num,mo_num) + + + mo_two_e_integrals_jj(i,j) = J_ij + mo_two_e_integrals_jj_exchange(i,j) = K_ij + mo_two_e_integrals_jj_anti(i,j) = J_ij - K_ij + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_integrals_erf_cache` + * :c:data:`mo_integrals_erf_cache_min` + * :c:data:`mo_integrals_erf_map` + * :c:data:`mo_num` + * :c:data:`mo_two_e_integrals_erf_in_map` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`core_energy_erf` + + +.. c:var:: mo_two_e_int_erf_jj_anti_from_ao + + + File : :file:`mo_two_e_erf_ints/mo_bi_integrals_erf.irp.f` + + .. code:: fortran + + double precision, allocatable :: mo_two_e_int_erf_jj_from_ao (mo_num,mo_num) + double precision, allocatable :: mo_two_e_int_erf_jj_exchange_from_ao (mo_num,mo_num) + double precision, allocatable :: mo_two_e_int_erf_jj_anti_from_ao (mo_num,mo_num) + + + mo_two_e_integral_jj_from_ao(i,j) = J_ij + mo_two_e_integrals_jj_exchange_from_ao(i,j) = J_ij + mo_two_e_integrals_jj_anti_from_ao(i,j) = J_ij - K_ij + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_integrals_erf_map` + * :c:data:`ao_integrals_threshold` + * :c:data:`ao_num` + * :c:data:`ao_overlap_abs` + * :c:data:`ao_two_e_integral_erf_schwartz` + * :c:data:`ao_two_e_integrals_erf_in_map` + * :c:data:`do_direct_integrals` + * :c:data:`mo_coef` + * :c:data:`mo_coef_transp` + * :c:data:`mo_num` + + + +.. c:var:: mo_two_e_int_erf_jj_exchange + + + File : :file:`mo_two_e_erf_ints/mo_bi_integrals_erf.irp.f` + + .. code:: fortran + + double precision, allocatable :: mo_two_e_int_erf_jj (mo_num,mo_num) + double precision, allocatable :: mo_two_e_int_erf_jj_exchange (mo_num,mo_num) + double precision, allocatable :: mo_two_e_int_erf_jj_anti (mo_num,mo_num) + + + mo_two_e_integrals_jj(i,j) = J_ij + mo_two_e_integrals_jj_exchange(i,j) = K_ij + mo_two_e_integrals_jj_anti(i,j) = J_ij - K_ij + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_integrals_erf_cache` + * :c:data:`mo_integrals_erf_cache_min` + * :c:data:`mo_integrals_erf_map` + * :c:data:`mo_num` + * :c:data:`mo_two_e_integrals_erf_in_map` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`core_energy_erf` + + +.. c:var:: mo_two_e_int_erf_jj_exchange_from_ao + + + File : :file:`mo_two_e_erf_ints/mo_bi_integrals_erf.irp.f` + + .. code:: fortran + + double precision, allocatable :: mo_two_e_int_erf_jj_from_ao (mo_num,mo_num) + double precision, allocatable :: mo_two_e_int_erf_jj_exchange_from_ao (mo_num,mo_num) + double precision, allocatable :: mo_two_e_int_erf_jj_anti_from_ao (mo_num,mo_num) + + + mo_two_e_integral_jj_from_ao(i,j) = J_ij + mo_two_e_integrals_jj_exchange_from_ao(i,j) = J_ij + mo_two_e_integrals_jj_anti_from_ao(i,j) = J_ij - K_ij + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_integrals_erf_map` + * :c:data:`ao_integrals_threshold` + * :c:data:`ao_num` + * :c:data:`ao_overlap_abs` + * :c:data:`ao_two_e_integral_erf_schwartz` + * :c:data:`ao_two_e_integrals_erf_in_map` + * :c:data:`do_direct_integrals` + * :c:data:`mo_coef` + * :c:data:`mo_coef_transp` + * :c:data:`mo_num` + + + +.. c:var:: mo_two_e_int_erf_jj_from_ao + + + File : :file:`mo_two_e_erf_ints/mo_bi_integrals_erf.irp.f` + + .. code:: fortran + + double precision, allocatable :: mo_two_e_int_erf_jj_from_ao (mo_num,mo_num) + double precision, allocatable :: mo_two_e_int_erf_jj_exchange_from_ao (mo_num,mo_num) + double precision, allocatable :: mo_two_e_int_erf_jj_anti_from_ao (mo_num,mo_num) + + + mo_two_e_integral_jj_from_ao(i,j) = J_ij + mo_two_e_integrals_jj_exchange_from_ao(i,j) = J_ij + mo_two_e_integrals_jj_anti_from_ao(i,j) = J_ij - K_ij + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_integrals_erf_map` + * :c:data:`ao_integrals_threshold` + * :c:data:`ao_num` + * :c:data:`ao_overlap_abs` + * :c:data:`ao_two_e_integral_erf_schwartz` + * :c:data:`ao_two_e_integrals_erf_in_map` + * :c:data:`do_direct_integrals` + * :c:data:`mo_coef` + * :c:data:`mo_coef_transp` + * :c:data:`mo_num` + + + +.. c:var:: mo_two_e_integrals_erf_in_map + + + File : :file:`mo_two_e_erf_ints/mo_bi_integrals_erf.irp.f` + + .. code:: fortran + + logical :: mo_two_e_integrals_erf_in_map + + + If True, the map of MO two-electron integrals is provided + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`ao_two_e_integrals_erf_in_map` + * :c:data:`ao_two_e_integrals_in_map` + * :c:data:`ezfio_filename` + * :c:data:`full_ijkl_bitmask_4` + * :c:data:`mo_coef` + * :c:data:`mo_coef_transp` + * :c:data:`mo_integrals_erf_map` + * :c:data:`mo_integrals_threshold` + * :c:data:`mo_num` + * :c:data:`n_int` + * :c:data:`read_mo_two_e_integrals_erf` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`core_fock_operator_erf` + * :c:data:`int_erf_3_index` + * :c:data:`mo_integrals_erf_cache` + * :c:data:`mo_two_e_int_erf_jj` + + + +Subroutines / functions +----------------------- + +.. c:function:: add_integrals_to_map_erf: + + + File : :file:`mo_two_e_erf_ints/mo_bi_integrals_erf.irp.f` + + .. code:: fortran + + subroutine add_integrals_to_map_erf(mask_ijkl) + + + Adds integrals to tha MO map according to some bitmask + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_coef` + * :c:data:`mo_integrals_threshold` + * :c:data:`mo_coef_transp` + * :c:data:`ao_num` + * :c:data:`n_int` + * :c:data:`mo_num` + * :c:data:`ao_two_e_integrals_in_map` + * :c:data:`mo_integrals_erf_map` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_two_e_integrals_erf_in_map` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`bitstring_to_list` + * :c:func:`bitstring_to_str` + * :c:func:`cpu_time` + * :c:func:`get_ao_two_e_integrals_erf` + * :c:func:`insert_into_mo_integrals_erf_map` + * :c:func:`map_merge` + * :c:func:`mo_two_e_integrals_index` + * :c:func:`wall_time` + + +.. c:function:: clear_mo_erf_map: + + + File : :file:`mo_two_e_erf_ints/mo_bi_integrals_erf.irp.f` + + .. code:: fortran + + subroutine clear_mo_erf_map + + + Frees the memory of the MO map + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_integrals_erf_map` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`map_deinit` + + +.. c:function:: get_mo_erf_map_size: + + + File : :file:`mo_two_e_erf_ints/map_integrals_erf.irp.f` + + .. code:: fortran + + integer*8 function get_mo_erf_map_size() + + + Returns the number of elements in the |MO| map + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_integrals_erf_map` + + +.. c:function:: get_mo_two_e_integral_erf: + + + File : :file:`mo_two_e_erf_ints/map_integrals_erf.irp.f` + + .. code:: fortran + + double precision function get_mo_two_e_integral_erf(i,j,k,l,map) + + + Returns one integral $\langle ij|kl \rangle$ in the |MO| basis + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_integrals_erf_cache` + * :c:data:`mo_integrals_erf_cache_min` + * :c:data:`mo_two_e_integrals_erf_in_map` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`map_get` + * :c:func:`two_e_integrals_index` + + +.. c:function:: get_mo_two_e_integrals_erf: + + + File : :file:`mo_two_e_erf_ints/map_integrals_erf.irp.f` + + .. code:: fortran + + subroutine get_mo_two_e_integrals_erf(j,k,l,sze,out_val,map) + + + Returns multiple integrals $\langle ij|kl \rangle$ in the |MO| basis, all + i for j,k,l fixed. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_two_e_integrals_erf_in_map` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`map_get_many` + * :c:func:`two_e_integrals_index` + + +.. c:function:: get_mo_two_e_integrals_erf_coulomb_ii: + + + File : :file:`mo_two_e_erf_ints/map_integrals_erf.irp.f` + + .. code:: fortran + + subroutine get_mo_two_e_integrals_erf_coulomb_ii(k,l,sze,out_val,map) + + + Returns multiple integrals $\langle ki|li \rangle$ + + k(1)i(2) 1/r12 l(1)i(2) :: out_val(i1) + for k,l fixed. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_two_e_integrals_erf_in_map` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`map_get_many` + * :c:func:`two_e_integrals_index` + + +.. c:function:: get_mo_two_e_integrals_erf_exch_ii: + + + File : :file:`mo_two_e_erf_ints/map_integrals_erf.irp.f` + + .. code:: fortran + + subroutine get_mo_two_e_integrals_erf_exch_ii(k,l,sze,out_val,map) + + + Returns multiple integrals $\langle ki|il \rangle$ + + $\int k(1)i(2) \frac{1}{r_{12}} i(1)l(2)$ :: out_val(i1) + for k,l fixed. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_two_e_integrals_erf_in_map` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`map_get_many` + * :c:func:`two_e_integrals_index` + + +.. c:function:: get_mo_two_e_integrals_erf_i1j1: + + + File : :file:`mo_two_e_erf_ints/map_integrals_erf.irp.f` + + .. code:: fortran + + subroutine get_mo_two_e_integrals_erf_i1j1(k,l,sze,out_array,map) + + + Returns multiple integrals $\langle ik|jl \rangle$ in the |MO| basis, all + $\int i(1)j(1) \frac{\erf(\mu * r_{12})}{r_{12}} k(2)l(2)$ + i, j for k,l fixed. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_two_e_integrals_erf_in_map` + * :c:data:`mo_integrals_erf_map` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`i2radix_sort` + * :c:func:`i8radix_sort` + * :c:func:`iradix_sort` + * :c:func:`map_get_many` + * :c:func:`two_e_integrals_index` + + +.. c:function:: get_mo_two_e_integrals_erf_ij: + + + File : :file:`mo_two_e_erf_ints/map_integrals_erf.irp.f` + + .. code:: fortran + + subroutine get_mo_two_e_integrals_erf_ij(k,l,sze,out_array,map) + + + Returns multiple integrals $\langle ij|kl \rangle$ in the |MO| basis, all + $\int i(1)j(2) \frac{1}{r_{12}} k(1)l(2)$ + i, j for k,l fixed. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_two_e_integrals_erf_in_map` + * :c:data:`mo_integrals_erf_map` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`i2radix_sort` + * :c:func:`i8radix_sort` + * :c:func:`iradix_sort` + * :c:func:`map_get_many` + * :c:func:`two_e_integrals_index` + + +.. c:function:: load_mo_integrals_erf: + + + File : :file:`mo_two_e_erf_ints/map_integrals_erf.irp.f` + + .. code:: fortran + + integer function load_mo_integrals_erf(filename) + + + Read from disk the |MO| erf integrals + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_integrals_erf_map` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`cache_map_reallocate` + * :c:func:`map_deinit` + * :c:func:`map_sort` + + +.. c:function:: mo_two_e_integral_erf: + + + File : :file:`mo_two_e_erf_ints/map_integrals_erf.irp.f` + + .. code:: fortran + + double precision function mo_two_e_integral_erf(i,j,k,l) + + + Returns one integral $\langle ij|kl \rangle$ in the |MO| basis + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_integrals_erf_cache` + * :c:data:`mo_integrals_erf_map` + * :c:data:`mo_two_e_integrals_erf_in_map` + + +.. c:function:: mo_two_e_integrals_erf_index: + + + File : :file:`mo_two_e_erf_ints/mo_bi_integrals_erf.irp.f` + + .. code:: fortran + + subroutine mo_two_e_integrals_erf_index(i,j,k,l,i1) + + + Computes an unique index for i,j,k,l integrals + + +.. c:function:: provide_all_mo_integrals_erf: + + + File : :file:`mo_two_e_erf_ints/mo_bi_integrals_erf.irp.f` + + .. code:: fortran + + subroutine provide_all_mo_integrals_erf + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_two_e_integrals_erf_in_map` + * :c:data:`mo_two_e_int_erf_jj` + * :c:data:`mo_two_e_int_erf_jj` + * :c:data:`mo_integrals_erf_map` + * :c:data:`mo_two_e_int_erf_jj` + + +.. c:function:: save_erf_two_e_integrals_mo: + + + File : :file:`mo_two_e_erf_ints/routines_save_integrals_erf.irp.f` + + .. code:: fortran + + subroutine save_erf_two_e_integrals_mo + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_two_e_integrals_erf_in_map` + * :c:data:`ezfio_filename` + * :c:data:`mo_integrals_erf_map` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`routine` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`ezfio_set_mo_two_e_erf_ints_io_mo_two_e_integrals_erf` + * :c:func:`ezfio_set_work_empty` + * :c:func:`map_save_to_disk` + + +.. c:function:: save_erf_two_e_ints_mo_into_ints_mo: + + + File : :file:`mo_two_e_erf_ints/routines_save_integrals_erf.irp.f` + + .. code:: fortran + + subroutine save_erf_two_e_ints_mo_into_ints_mo + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_two_e_integrals_erf_in_map` + * :c:data:`ezfio_filename` + * :c:data:`mo_integrals_erf_map` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`ezfio_set_mo_two_e_ints_io_mo_two_e_integrals` + * :c:func:`ezfio_set_work_empty` + * :c:func:`map_save_to_disk` + diff --git a/doc/_sources/modules/mo_two_e_ints.rst.txt b/doc/_sources/modules/mo_two_e_ints.rst.txt new file mode 100644 index 00000000..bb860e59 --- /dev/null +++ b/doc/_sources/modules/mo_two_e_ints.rst.txt @@ -0,0 +1,1312 @@ +.. _module_mo_two_e_ints: + +.. program:: mo_two_e_ints + +.. default-role:: option + +================== +mo_two_e_ints +================== + +Here, all two-electron integrals (:math:`1/r_{12}`) are computed. +As they have 4 indices and many are zero, they are stored in a map, as defined +in :file:`Utils/map_module.f90`. + +To fetch an |AO| integral, use the +`get_ao_two_e_integral(i,j,k,l,ao_integrals_map)` function, and +to fetch an |MO| integral, use +`get_two_e_integral(i,j,k,l,mo_integrals_map)` or +`mo_two_e_integral(i,j,k,l)`. + +The conventions are: + +* For |AO| integrals : (ik|jl) = (11|22) +* For |MO| integrals : = <12|12> + + + + + + +EZFIO parameters +---------------- + +.. option:: io_mo_two_e_integrals + + Read/Write |MO| integrals from/to disk [ Write | Read | None ] + + Default: None + +.. option:: mo_integrals_threshold + + If | | < `mo_integrals_threshold` then is zero + + Default: 1.e-15 + +.. option:: no_vvvv_integrals + + If `True`, computes all integrals except for the integrals having 4 virtual indices + + Default: False + +.. option:: no_ivvv_integrals + + Can be switched on only if `no_vvvv_integrals` is `True`, then does not compute the integrals with 3 virtual indices and 1 belonging to the core inactive active orbitals + + Default: False + +.. option:: no_vvv_integrals + + Can be switched on only if `no_vvvv_integrals` is `True`, then does not compute the integrals with 3 virtual orbitals + + Default: False + + +Providers +--------- + +.. c:var:: big_array_coulomb_integrals + + + File : :file:`mo_two_e_ints/integrals_3_index.irp.f` + + .. code:: fortran + + double precision, allocatable :: big_array_coulomb_integrals (mo_num,mo_num,mo_num) + double precision, allocatable :: big_array_exchange_integrals (mo_num,mo_num,mo_num) + + + big_array_coulomb_integrals(i,j) = = (ii|jj) + + big_array_exchange_integrals(i,j) = = (ij|ij) + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_integrals_cache` + * :c:data:`mo_integrals_cache_min` + * :c:data:`mo_integrals_map` + * :c:data:`mo_num` + * :c:data:`mo_two_e_integrals_in_map` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`coef_hf_selector` + * :c:data:`h_matrix_all_dets` + * :c:data:`h_matrix_cas` + + +.. c:var:: big_array_exchange_integrals + + + File : :file:`mo_two_e_ints/integrals_3_index.irp.f` + + .. code:: fortran + + double precision, allocatable :: big_array_coulomb_integrals (mo_num,mo_num,mo_num) + double precision, allocatable :: big_array_exchange_integrals (mo_num,mo_num,mo_num) + + + big_array_coulomb_integrals(i,j) = = (ii|jj) + + big_array_exchange_integrals(i,j) = = (ij|ij) + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_integrals_cache` + * :c:data:`mo_integrals_cache_min` + * :c:data:`mo_integrals_map` + * :c:data:`mo_num` + * :c:data:`mo_two_e_integrals_in_map` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`coef_hf_selector` + * :c:data:`h_matrix_all_dets` + * :c:data:`h_matrix_cas` + + +.. c:var:: core_energy + + + File : :file:`mo_two_e_ints/core_quantities.irp.f` + + .. code:: fortran + + double precision :: core_energy + + + energy from the core : contains all core-core contributions + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`list_inact` + * :c:data:`mo_one_e_integrals` + * :c:data:`mo_two_e_integrals_jj` + * :c:data:`n_core_orb` + * :c:data:`nuclear_repulsion` + + + +.. c:var:: core_fock_operator + + + File : :file:`mo_two_e_ints/core_quantities.irp.f` + + .. code:: fortran + + double precision, allocatable :: core_fock_operator (mo_num,mo_num) + + + this is the contribution to the Fock operator from the core electrons + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`list_inact` + * :c:data:`mo_integrals_cache` + * :c:data:`mo_integrals_cache_min` + * :c:data:`mo_integrals_map` + * :c:data:`mo_num` + * :c:data:`mo_two_e_integrals_in_map` + * :c:data:`n_core_orb` + + + +.. c:function:: insert_into_mo_integrals_map: + + + File : :file:`mo_two_e_ints/map_integrals.irp.f` + + .. code:: fortran + + subroutine insert_into_mo_integrals_map(n_integrals, & + buffer_i, buffer_values, thr) + + + Create new entry into MO map, or accumulate in an existing entry + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_integrals_map` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`add_integrals_to_map` + * :c:func:`add_integrals_to_map_no_exit_34` + * :c:func:`add_integrals_to_map_three_indices` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`map_update` + + +.. c:var:: mo_integrals_cache + + + File : :file:`mo_two_e_ints/map_integrals.irp.f` + + .. code:: fortran + + double precision, allocatable :: mo_integrals_cache (0_8:128_8*128_8*128_8*128_8) + + + Cache of MO integrals for fast access + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_integrals_cache_min` + * :c:data:`mo_integrals_map` + * :c:data:`mo_two_e_integrals_in_map` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`big_array_coulomb_integrals` + * :c:data:`core_fock_operator` + * :c:data:`mo_two_e_integrals_jj` + + +.. c:var:: mo_integrals_cache_max + + + File : :file:`mo_two_e_ints/map_integrals.irp.f` + + .. code:: fortran + + integer*4 :: mo_integrals_cache_min + integer*4 :: mo_integrals_cache_max + integer*8 :: mo_integrals_cache_min_8 + integer*8 :: mo_integrals_cache_max_8 + + + Min and max values of the MOs for which the integrals are in the cache + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`elec_alpha_num` + * :c:data:`mo_num` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`big_array_coulomb_integrals` + * :c:data:`core_fock_operator` + * :c:data:`mo_integrals_cache` + * :c:data:`mo_two_e_integrals_jj` + + +.. c:var:: mo_integrals_cache_max_8 + + + File : :file:`mo_two_e_ints/map_integrals.irp.f` + + .. code:: fortran + + integer*4 :: mo_integrals_cache_min + integer*4 :: mo_integrals_cache_max + integer*8 :: mo_integrals_cache_min_8 + integer*8 :: mo_integrals_cache_max_8 + + + Min and max values of the MOs for which the integrals are in the cache + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`elec_alpha_num` + * :c:data:`mo_num` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`big_array_coulomb_integrals` + * :c:data:`core_fock_operator` + * :c:data:`mo_integrals_cache` + * :c:data:`mo_two_e_integrals_jj` + + +.. c:var:: mo_integrals_cache_min + + + File : :file:`mo_two_e_ints/map_integrals.irp.f` + + .. code:: fortran + + integer*4 :: mo_integrals_cache_min + integer*4 :: mo_integrals_cache_max + integer*8 :: mo_integrals_cache_min_8 + integer*8 :: mo_integrals_cache_max_8 + + + Min and max values of the MOs for which the integrals are in the cache + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`elec_alpha_num` + * :c:data:`mo_num` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`big_array_coulomb_integrals` + * :c:data:`core_fock_operator` + * :c:data:`mo_integrals_cache` + * :c:data:`mo_two_e_integrals_jj` + + +.. c:var:: mo_integrals_cache_min_8 + + + File : :file:`mo_two_e_ints/map_integrals.irp.f` + + .. code:: fortran + + integer*4 :: mo_integrals_cache_min + integer*4 :: mo_integrals_cache_max + integer*8 :: mo_integrals_cache_min_8 + integer*8 :: mo_integrals_cache_max_8 + + + Min and max values of the MOs for which the integrals are in the cache + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`elec_alpha_num` + * :c:data:`mo_num` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`big_array_coulomb_integrals` + * :c:data:`core_fock_operator` + * :c:data:`mo_integrals_cache` + * :c:data:`mo_two_e_integrals_jj` + + +.. c:var:: mo_integrals_map + + + File : :file:`mo_two_e_ints/map_integrals.irp.f` + + .. code:: fortran + + type(map_type) :: mo_integrals_map + + + MO integrals + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_num` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`big_array_coulomb_integrals` + * :c:data:`coef_hf_selector` + * :c:data:`core_fock_operator` + * :c:data:`fock_operator_closed_shell_ref_bitmask` + * :c:data:`fock_wee_closed_shell` + * :c:data:`h_matrix_all_dets` + * :c:data:`h_matrix_cas` + * :c:data:`mo_integrals_cache` + * :c:data:`mo_two_e_integrals_in_map` + * :c:data:`mo_two_e_integrals_jj` + + +.. c:var:: mo_two_e_integral_jj_from_ao + + + File : :file:`mo_two_e_ints/mo_bi_integrals.irp.f` + + .. code:: fortran + + double precision, allocatable :: mo_two_e_integral_jj_from_ao (mo_num,mo_num) + double precision, allocatable :: mo_two_e_integrals_jj_exchange_from_ao (mo_num,mo_num) + double precision, allocatable :: mo_two_e_integrals_jj_anti_from_ao (mo_num,mo_num) + + + mo_two_e_integral_jj_from_ao(i,j) = J_ij + mo_two_e_integrals_jj_exchange_from_ao(i,j) = J_ij + mo_two_e_integrals_jj_anti_from_ao(i,j) = J_ij - K_ij + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_integrals_map` + * :c:data:`ao_integrals_threshold` + * :c:data:`ao_num` + * :c:data:`ao_overlap_abs` + * :c:data:`ao_two_e_integral_schwartz` + * :c:data:`ao_two_e_integrals_in_map` + * :c:data:`do_direct_integrals` + * :c:data:`mo_coef` + * :c:data:`mo_coef_transp` + * :c:data:`mo_num` + + + +.. c:var:: mo_two_e_integrals_in_map + + + File : :file:`mo_two_e_ints/mo_bi_integrals.irp.f` + + .. code:: fortran + + logical :: mo_two_e_integrals_in_map + + + If True, the map of MO two-electron integrals is provided + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`ao_two_e_integrals_in_map` + * :c:data:`core_inact_act_bitmask_4` + * :c:data:`ezfio_filename` + * :c:data:`full_ijkl_bitmask_4` + * :c:data:`list_inact` + * :c:data:`mo_class` + * :c:data:`mo_coef` + * :c:data:`mo_coef_transp` + * :c:data:`mo_integrals_map` + * :c:data:`mo_integrals_threshold` + * :c:data:`mo_num` + * :c:data:`mpi_master` + * :c:data:`n_int` + * :c:data:`no_ivvv_integrals` + * :c:data:`no_vvv_integrals` + * :c:data:`no_vvvv_integrals` + * :c:data:`read_mo_two_e_integrals` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`big_array_coulomb_integrals` + * :c:data:`ci_electronic_energy` + * :c:data:`coef_hf_selector` + * :c:data:`core_fock_operator` + * :c:data:`fock_operator_closed_shell_ref_bitmask` + * :c:data:`fock_wee_closed_shell` + * :c:data:`h_matrix_all_dets` + * :c:data:`h_matrix_cas` + * :c:data:`mo_integrals_cache` + * :c:data:`mo_two_e_integrals_jj` + + +.. c:var:: mo_two_e_integrals_jj + + + File : :file:`mo_two_e_ints/mo_bi_integrals.irp.f` + + .. code:: fortran + + double precision, allocatable :: mo_two_e_integrals_jj (mo_num,mo_num) + double precision, allocatable :: mo_two_e_integrals_jj_exchange (mo_num,mo_num) + double precision, allocatable :: mo_two_e_integrals_jj_anti (mo_num,mo_num) + + + mo_two_e_integrals_jj(i,j) = J_ij + mo_two_e_integrals_jj_exchange(i,j) = K_ij + mo_two_e_integrals_jj_anti(i,j) = J_ij - K_ij + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_integrals_cache` + * :c:data:`mo_integrals_cache_min` + * :c:data:`mo_integrals_map` + * :c:data:`mo_num` + * :c:data:`mo_two_e_integrals_in_map` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`core_energy` + * :c:data:`ref_bitmask_energy` + + +.. c:var:: mo_two_e_integrals_jj_anti + + + File : :file:`mo_two_e_ints/mo_bi_integrals.irp.f` + + .. code:: fortran + + double precision, allocatable :: mo_two_e_integrals_jj (mo_num,mo_num) + double precision, allocatable :: mo_two_e_integrals_jj_exchange (mo_num,mo_num) + double precision, allocatable :: mo_two_e_integrals_jj_anti (mo_num,mo_num) + + + mo_two_e_integrals_jj(i,j) = J_ij + mo_two_e_integrals_jj_exchange(i,j) = K_ij + mo_two_e_integrals_jj_anti(i,j) = J_ij - K_ij + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_integrals_cache` + * :c:data:`mo_integrals_cache_min` + * :c:data:`mo_integrals_map` + * :c:data:`mo_num` + * :c:data:`mo_two_e_integrals_in_map` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`core_energy` + * :c:data:`ref_bitmask_energy` + + +.. c:var:: mo_two_e_integrals_jj_anti_from_ao + + + File : :file:`mo_two_e_ints/mo_bi_integrals.irp.f` + + .. code:: fortran + + double precision, allocatable :: mo_two_e_integral_jj_from_ao (mo_num,mo_num) + double precision, allocatable :: mo_two_e_integrals_jj_exchange_from_ao (mo_num,mo_num) + double precision, allocatable :: mo_two_e_integrals_jj_anti_from_ao (mo_num,mo_num) + + + mo_two_e_integral_jj_from_ao(i,j) = J_ij + mo_two_e_integrals_jj_exchange_from_ao(i,j) = J_ij + mo_two_e_integrals_jj_anti_from_ao(i,j) = J_ij - K_ij + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_integrals_map` + * :c:data:`ao_integrals_threshold` + * :c:data:`ao_num` + * :c:data:`ao_overlap_abs` + * :c:data:`ao_two_e_integral_schwartz` + * :c:data:`ao_two_e_integrals_in_map` + * :c:data:`do_direct_integrals` + * :c:data:`mo_coef` + * :c:data:`mo_coef_transp` + * :c:data:`mo_num` + + + +.. c:var:: mo_two_e_integrals_jj_exchange + + + File : :file:`mo_two_e_ints/mo_bi_integrals.irp.f` + + .. code:: fortran + + double precision, allocatable :: mo_two_e_integrals_jj (mo_num,mo_num) + double precision, allocatable :: mo_two_e_integrals_jj_exchange (mo_num,mo_num) + double precision, allocatable :: mo_two_e_integrals_jj_anti (mo_num,mo_num) + + + mo_two_e_integrals_jj(i,j) = J_ij + mo_two_e_integrals_jj_exchange(i,j) = K_ij + mo_two_e_integrals_jj_anti(i,j) = J_ij - K_ij + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_integrals_cache` + * :c:data:`mo_integrals_cache_min` + * :c:data:`mo_integrals_map` + * :c:data:`mo_num` + * :c:data:`mo_two_e_integrals_in_map` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`core_energy` + * :c:data:`ref_bitmask_energy` + + +.. c:var:: mo_two_e_integrals_jj_exchange_from_ao + + + File : :file:`mo_two_e_ints/mo_bi_integrals.irp.f` + + .. code:: fortran + + double precision, allocatable :: mo_two_e_integral_jj_from_ao (mo_num,mo_num) + double precision, allocatable :: mo_two_e_integrals_jj_exchange_from_ao (mo_num,mo_num) + double precision, allocatable :: mo_two_e_integrals_jj_anti_from_ao (mo_num,mo_num) + + + mo_two_e_integral_jj_from_ao(i,j) = J_ij + mo_two_e_integrals_jj_exchange_from_ao(i,j) = J_ij + mo_two_e_integrals_jj_anti_from_ao(i,j) = J_ij - K_ij + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_integrals_map` + * :c:data:`ao_integrals_threshold` + * :c:data:`ao_num` + * :c:data:`ao_overlap_abs` + * :c:data:`ao_two_e_integral_schwartz` + * :c:data:`ao_two_e_integrals_in_map` + * :c:data:`do_direct_integrals` + * :c:data:`mo_coef` + * :c:data:`mo_coef_transp` + * :c:data:`mo_num` + + + +.. c:var:: mo_two_e_integrals_vv_anti_from_ao + + + File : :file:`mo_two_e_ints/mo_bi_integrals.irp.f` + + .. code:: fortran + + double precision, allocatable :: mo_two_e_integrals_vv_from_ao (mo_num,mo_num) + double precision, allocatable :: mo_two_e_integrals_vv_exchange_from_ao (mo_num,mo_num) + double precision, allocatable :: mo_two_e_integrals_vv_anti_from_ao (mo_num,mo_num) + + + mo_two_e_integrals_vv_from_ao(i,j) = J_ij + mo_two_e_integrals_vv_exchange_from_ao(i,j) = J_ij + mo_two_e_integrals_vv_anti_from_ao(i,j) = J_ij - K_ij + but only for the virtual orbitals + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_integrals_map` + * :c:data:`ao_integrals_threshold` + * :c:data:`ao_num` + * :c:data:`ao_overlap_abs` + * :c:data:`ao_two_e_integral_schwartz` + * :c:data:`ao_two_e_integrals_in_map` + * :c:data:`do_direct_integrals` + * :c:data:`list_inact` + * :c:data:`mo_coef` + * :c:data:`mo_coef_transp` + * :c:data:`mo_num` + * :c:data:`n_core_orb` + + + +.. c:var:: mo_two_e_integrals_vv_exchange_from_ao + + + File : :file:`mo_two_e_ints/mo_bi_integrals.irp.f` + + .. code:: fortran + + double precision, allocatable :: mo_two_e_integrals_vv_from_ao (mo_num,mo_num) + double precision, allocatable :: mo_two_e_integrals_vv_exchange_from_ao (mo_num,mo_num) + double precision, allocatable :: mo_two_e_integrals_vv_anti_from_ao (mo_num,mo_num) + + + mo_two_e_integrals_vv_from_ao(i,j) = J_ij + mo_two_e_integrals_vv_exchange_from_ao(i,j) = J_ij + mo_two_e_integrals_vv_anti_from_ao(i,j) = J_ij - K_ij + but only for the virtual orbitals + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_integrals_map` + * :c:data:`ao_integrals_threshold` + * :c:data:`ao_num` + * :c:data:`ao_overlap_abs` + * :c:data:`ao_two_e_integral_schwartz` + * :c:data:`ao_two_e_integrals_in_map` + * :c:data:`do_direct_integrals` + * :c:data:`list_inact` + * :c:data:`mo_coef` + * :c:data:`mo_coef_transp` + * :c:data:`mo_num` + * :c:data:`n_core_orb` + + + +.. c:var:: mo_two_e_integrals_vv_from_ao + + + File : :file:`mo_two_e_ints/mo_bi_integrals.irp.f` + + .. code:: fortran + + double precision, allocatable :: mo_two_e_integrals_vv_from_ao (mo_num,mo_num) + double precision, allocatable :: mo_two_e_integrals_vv_exchange_from_ao (mo_num,mo_num) + double precision, allocatable :: mo_two_e_integrals_vv_anti_from_ao (mo_num,mo_num) + + + mo_two_e_integrals_vv_from_ao(i,j) = J_ij + mo_two_e_integrals_vv_exchange_from_ao(i,j) = J_ij + mo_two_e_integrals_vv_anti_from_ao(i,j) = J_ij - K_ij + but only for the virtual orbitals + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_integrals_map` + * :c:data:`ao_integrals_threshold` + * :c:data:`ao_num` + * :c:data:`ao_overlap_abs` + * :c:data:`ao_two_e_integral_schwartz` + * :c:data:`ao_two_e_integrals_in_map` + * :c:data:`do_direct_integrals` + * :c:data:`list_inact` + * :c:data:`mo_coef` + * :c:data:`mo_coef_transp` + * :c:data:`mo_num` + * :c:data:`n_core_orb` + + + + +Subroutines / functions +----------------------- + +.. c:function:: add_integrals_to_map: + + + File : :file:`mo_two_e_ints/mo_bi_integrals.irp.f` + + .. code:: fortran + + subroutine add_integrals_to_map(mask_ijkl) + + + Adds integrals to tha MO map according to some bitmask + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_coef` + * :c:data:`mo_integrals_threshold` + * :c:data:`mo_coef_transp` + * :c:data:`ao_num` + * :c:data:`mo_integrals_map` + * :c:data:`mo_num` + * :c:data:`ao_two_e_integrals_in_map` + * :c:data:`n_int` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_two_e_integrals_in_map` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`bitstring_to_list` + * :c:func:`bitstring_to_str` + * :c:func:`cpu_time` + * :c:func:`get_ao_two_e_integrals` + * :c:func:`insert_into_mo_integrals_map` + * :c:func:`map_merge` + * :c:func:`mo_two_e_integrals_index` + * :c:func:`wall_time` + + +.. c:function:: add_integrals_to_map_no_exit_34: + + + File : :file:`mo_two_e_ints/mo_bi_integrals.irp.f` + + .. code:: fortran + + subroutine add_integrals_to_map_no_exit_34(mask_ijkl) + + + Adds integrals to tha MO map according to some bitmask + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_coef` + * :c:data:`mo_integrals_threshold` + * :c:data:`mo_coef_transp` + * :c:data:`ao_num` + * :c:data:`mo_integrals_map` + * :c:data:`mo_num` + * :c:data:`ao_two_e_integrals_in_map` + * :c:data:`n_int` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_two_e_integrals_in_map` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`bitstring_to_list` + * :c:func:`cpu_time` + * :c:func:`get_ao_two_e_integrals` + * :c:func:`insert_into_mo_integrals_map` + * :c:func:`map_merge` + * :c:func:`mo_two_e_integrals_index` + * :c:func:`wall_time` + + +.. c:function:: add_integrals_to_map_three_indices: + + + File : :file:`mo_two_e_ints/mo_bi_integrals.irp.f` + + .. code:: fortran + + subroutine add_integrals_to_map_three_indices(mask_ijk) + + + Adds integrals to tha MO map according to some bitmask + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_coef` + * :c:data:`mo_integrals_threshold` + * :c:data:`mo_coef_transp` + * :c:data:`ao_num` + * :c:data:`mo_integrals_map` + * :c:data:`mo_num` + * :c:data:`ao_two_e_integrals_in_map` + * :c:data:`n_int` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_two_e_integrals_in_map` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`bitstring_to_list` + * :c:func:`bitstring_to_str` + * :c:func:`cpu_time` + * :c:func:`get_ao_two_e_integrals` + * :c:func:`insert_into_mo_integrals_map` + * :c:func:`map_merge` + * :c:func:`mo_two_e_integrals_index` + * :c:func:`wall_time` + + +.. c:function:: clear_mo_map: + + + File : :file:`mo_two_e_ints/mo_bi_integrals.irp.f` + + .. code:: fortran + + subroutine clear_mo_map + + + Frees the memory of the MO map + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_integrals_map` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`map_deinit` + + +.. c:function:: dump_mo_integrals: + + + File : :file:`mo_two_e_ints/map_integrals.irp.f` + + .. code:: fortran + + subroutine dump_mo_integrals(filename) + + + Save to disk the |MO| integrals + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_integrals_map` + * :c:data:`mpi_master` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`ezfio_set_work_empty` + + +.. c:function:: get_mo_map_size: + + + File : :file:`mo_two_e_ints/map_integrals.irp.f` + + .. code:: fortran + + integer*8 function get_mo_map_size() + + + Return the number of elements in the MO map + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_integrals_map` + + +.. c:function:: get_mo_two_e_integrals: + + + File : :file:`mo_two_e_ints/map_integrals.irp.f` + + .. code:: fortran + + subroutine get_mo_two_e_integrals(j,k,l,sze,out_val,map) + + + Returns multiple integrals in the MO basis, all + i for j,k,l fixed. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_two_e_integrals_in_map` + * :c:data:`mo_integrals_cache` + * :c:data:`mo_integrals_cache_min` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`get_d0` + * :c:func:`get_d1` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`map_get` + + +.. c:function:: get_mo_two_e_integrals_coulomb_ii: + + + File : :file:`mo_two_e_ints/map_integrals.irp.f` + + .. code:: fortran + + subroutine get_mo_two_e_integrals_coulomb_ii(k,l,sze,out_val,map) + + + Returns multiple integrals + k(1)i(2) 1/r12 l(1)i(2) :: out_val(i1) + for k,l fixed. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_two_e_integrals_in_map` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:data:`fock_operator_closed_shell_ref_bitmask` + * :c:data:`fock_wee_closed_shell` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`map_get_many` + * :c:func:`two_e_integrals_index` + + +.. c:function:: get_mo_two_e_integrals_exch_ii: + + + File : :file:`mo_two_e_ints/map_integrals.irp.f` + + .. code:: fortran + + subroutine get_mo_two_e_integrals_exch_ii(k,l,sze,out_val,map) + + + Returns multiple integrals + k(1)i(2) 1/r12 i(1)l(2) :: out_val(i1) + for k,l fixed. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_two_e_integrals_in_map` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:data:`fock_operator_closed_shell_ref_bitmask` + * :c:data:`fock_wee_closed_shell` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`map_get_many` + * :c:func:`two_e_integrals_index` + + +.. c:function:: get_mo_two_e_integrals_i1j1: + + + File : :file:`mo_two_e_ints/map_integrals.irp.f` + + .. code:: fortran + + subroutine get_mo_two_e_integrals_i1j1(k,l,sze,out_array,map) + + + Returns multiple integrals in the MO basis, all + i(1)j(1) 1/r12 k(2)l(2) + i, j for k,l fixed. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_two_e_integrals_in_map` + * :c:data:`mo_integrals_map` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`i2radix_sort` + * :c:func:`i8radix_sort` + * :c:func:`iradix_sort` + * :c:func:`map_get_many` + * :c:func:`two_e_integrals_index` + + +.. c:function:: get_mo_two_e_integrals_ij: + + + File : :file:`mo_two_e_ints/map_integrals.irp.f` + + .. code:: fortran + + subroutine get_mo_two_e_integrals_ij(k,l,sze,out_array,map) + + + Returns multiple integrals in the MO basis, all + i(1)j(2) 1/r12 k(1)l(2) + i, j for k,l fixed. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_two_e_integrals_in_map` + * :c:data:`mo_integrals_map` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`i2radix_sort` + * :c:func:`i8radix_sort` + * :c:func:`iradix_sort` + * :c:func:`map_get_many` + * :c:func:`two_e_integrals_index` + + +.. c:function:: get_two_e_integral: + + + File : :file:`mo_two_e_ints/map_integrals.irp.f` + + .. code:: fortran + + double precision function get_two_e_integral(i,j,k,l,map) + + + Returns one integral in the MO basis + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_two_e_integrals_in_map` + * :c:data:`mo_integrals_cache` + * :c:data:`mo_integrals_cache_min` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`map_get` + * :c:func:`two_e_integrals_index` + + +.. c:function:: load_mo_integrals: + + + File : :file:`mo_two_e_ints/map_integrals.irp.f` + + .. code:: fortran + + integer function load_mo_integrals(filename) + + + Read from disk the |MO| integrals + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_integrals_map` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`cache_map_reallocate` + * :c:func:`map_deinit` + * :c:func:`map_sort` + + +.. c:function:: mo_two_e_integral: + + + File : :file:`mo_two_e_ints/map_integrals.irp.f` + + .. code:: fortran + + double precision function mo_two_e_integral(i,j,k,l) + + + Returns one integral in the MO basis + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_integrals_cache` + * :c:data:`mo_integrals_map` + * :c:data:`mo_two_e_integrals_in_map` + + +.. c:function:: mo_two_e_integrals_index: + + + File : :file:`mo_two_e_ints/mo_bi_integrals.irp.f` + + .. code:: fortran + + subroutine mo_two_e_integrals_index(i,j,k,l,i1) + + + Computes an unique index for i,j,k,l integrals + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`add_integrals_to_map` + * :c:func:`add_integrals_to_map_erf` + * :c:func:`add_integrals_to_map_no_exit_34` + * :c:func:`add_integrals_to_map_three_indices` + diff --git a/doc/_sources/modules/mpi.rst.txt b/doc/_sources/modules/mpi.rst.txt new file mode 100644 index 00000000..21608559 --- /dev/null +++ b/doc/_sources/modules/mpi.rst.txt @@ -0,0 +1,291 @@ +.. _module_mpi: + +.. program:: mpi + +.. default-role:: option + +=== +mpi +=== + +Contains all the functions and providers for parallelization with |MPI|. + + + +Providers +--------- + +.. c:var:: mpi_initialized + + + File : :file:`mpi/mpi.irp.f` + + .. code:: fortran + + logical :: mpi_initialized + + + Always true. Initialized MPI + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`ezfio_filename` + + +.. c:var:: mpi_master + + + File : :file:`mpi/mpi.irp.f` + + .. code:: fortran + + logical :: mpi_master + + + If true, rank is zero + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mpi_rank` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_cartesian` + * :c:data:`ao_coef` + * :c:data:`ao_expo` + * :c:data:`ao_integrals_threshold` + * :c:data:`ao_md5` + * :c:data:`ao_nucl` + * :c:data:`ao_num` + * :c:data:`ao_power` + * :c:data:`ao_prim_num` + * :c:data:`ao_two_e_integrals_in_map` + * :c:data:`cas_bitmask` + * :c:data:`ci_energy` + * :c:data:`correlation_energy_ratio_max` + * :c:data:`data_energy_proj` + * :c:data:`data_energy_var` + * :c:data:`data_one_e_dm_alpha_mo` + * :c:data:`data_one_e_dm_beta_mo` + * :c:data:`davidson_sze_max` + * :c:data:`disk_access_nuclear_repulsion` + * :c:data:`disk_based_davidson` + * :c:data:`distributed_davidson` + * :c:data:`do_direct_integrals` + * :c:data:`do_pseudo` + * :c:data:`do_pt2` + * :c:data:`elec_alpha_num` + * :c:data:`elec_beta_num` + * :c:data:`element_name` + * :c:data:`energy_iterations` + * :c:data:`frozen_orb_scf` + * :c:data:`generators_bitmask` + * :c:data:`generators_bitmask_restart` + * :c:data:`io_ao_integrals_e_n` + * :c:data:`io_ao_integrals_kinetic` + * :c:data:`io_ao_integrals_overlap` + * :c:data:`io_ao_integrals_pseudo` + * :c:data:`io_ao_one_e_integrals` + * :c:data:`io_ao_two_e_integrals` + * :c:data:`io_ao_two_e_integrals_erf` + * :c:data:`io_mo_integrals_e_n` + * :c:data:`io_mo_integrals_kinetic` + * :c:data:`io_mo_integrals_pseudo` + * :c:data:`io_mo_one_e_integrals` + * :c:data:`io_mo_two_e_integrals` + * :c:data:`io_mo_two_e_integrals_erf` + * :c:data:`level_shift` + * :c:data:`max_dim_diis` + * :c:data:`mo_class` + * :c:data:`mo_coef` + * :c:data:`mo_guess_type` + * :c:data:`mo_integrals_threshold` + * :c:data:`mo_label` + * :c:data:`mo_num` + * :c:data:`mo_occ` + * :c:data:`mo_two_e_integrals_in_map` + * :c:data:`mu_erf` + * :c:data:`n_cas_bitmask` + * :c:data:`n_core_orb` + * :c:data:`n_det` + * :c:data:`n_det_generators` + * :c:data:`n_det_iterations` + * :c:data:`n_det_max` + * :c:data:`n_det_max_full` + * :c:data:`n_det_print_wf` + * :c:data:`n_det_selectors` + * :c:data:`n_generators_bitmask` + * :c:data:`n_generators_bitmask_restart` + * :c:data:`n_int` + * :c:data:`n_it_scf_max` + * :c:data:`n_iter` + * :c:data:`n_states` + * :c:data:`n_states_diag` + * :c:data:`no_ivvv_integrals` + * :c:data:`no_vvv_integrals` + * :c:data:`no_vvvv_integrals` + * :c:data:`nthreads_davidson` + * :c:data:`nthreads_pt2` + * :c:data:`nucl_charge` + * :c:data:`nucl_charge_remove` + * :c:data:`nucl_coord` + * :c:data:`nucl_label` + * :c:data:`nucl_num` + * :c:data:`nuclear_repulsion` + * :c:data:`only_expected_s2` + * :c:data:`pseudo_dz_k` + * :c:data:`pseudo_dz_kl` + * :c:data:`pseudo_grid_rmax` + * :c:data:`pseudo_grid_size` + * :c:data:`pseudo_klocmax` + * :c:data:`pseudo_kmax` + * :c:data:`pseudo_lmax` + * :c:data:`pseudo_n_k` + * :c:data:`pseudo_n_kl` + * :c:data:`pseudo_v_k` + * :c:data:`pseudo_v_kl` + * :c:data:`psi_cas` + * :c:data:`psi_coef` + * :c:data:`psi_coef_max` + * :c:data:`psi_det` + * :c:data:`psi_det_alpha_unique` + * :c:data:`psi_det_beta_unique` + * :c:data:`psi_det_size` + * :c:data:`pt2_e0_denominator` + * :c:data:`pt2_iterations` + * :c:data:`pt2_max` + * :c:data:`pt2_n_teeth` + * :c:data:`pt2_relative_error` + * :c:data:`qp_max_mem` + * :c:data:`read_wf` + * :c:data:`s2_eig` + * :c:data:`scf_algorithm` + * :c:data:`state_following` + * :c:data:`target_energy` + * :c:data:`thresh_scf` + * :c:data:`threshold_davidson` + * :c:data:`threshold_diis` + * :c:data:`threshold_generators` + * :c:data:`used_weight` + + +.. c:var:: mpi_rank + + + File : :file:`mpi/mpi.irp.f` + + .. code:: fortran + + integer :: mpi_rank + integer :: mpi_size + + + Rank of MPI process and number of MPI processes + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`mpi_master` + + +.. c:var:: mpi_size + + + File : :file:`mpi/mpi.irp.f` + + .. code:: fortran + + integer :: mpi_rank + integer :: mpi_size + + + Rank of MPI process and number of MPI processes + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`mpi_master` + + + +Subroutines / functions +----------------------- + +.. c:function:: broadcast_chunks_double: + + + File : :file:`mpi/mpi.irp.f_template_97` + + .. code:: fortran + + subroutine broadcast_chunks_double(A, LDA) + + + Broadcast with chunks of ~2GB + + +.. c:function:: broadcast_chunks_integer: + + + File : :file:`mpi/mpi.irp.f_template_97` + + .. code:: fortran + + subroutine broadcast_chunks_integer(A, LDA) + + + Broadcast with chunks of ~2GB + + +.. c:function:: broadcast_chunks_integer8: + + + File : :file:`mpi/mpi.irp.f_template_97` + + .. code:: fortran + + subroutine broadcast_chunks_integer8(A, LDA) + + + Broadcast with chunks of ~2GB + + +.. c:function:: mpi_print: + + + File : :file:`mpi/mpi.irp.f` + + .. code:: fortran + + subroutine mpi_print(string) + + + Print string to stdout if the MPI rank is zero. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mpi_master` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`run_slave_main` + diff --git a/doc/_sources/modules/nuclei.rst.txt b/doc/_sources/modules/nuclei.rst.txt new file mode 100644 index 00000000..0bd4b325 --- /dev/null +++ b/doc/_sources/modules/nuclei.rst.txt @@ -0,0 +1,666 @@ +.. _module_nuclei: + +.. program:: nuclei + +.. default-role:: option + +====== +nuclei +====== + +This module contains data relative to the nuclei (coordinates, charge, +nuclear repulsion energy, etc). +The coordinates are expressed in atomic units. + + + + +EZFIO parameters +---------------- + +.. option:: nucl_num + + Number of nuclei + + +.. option:: nucl_label + + Nuclear labels + + +.. option:: nucl_charge + + Nuclear charges + + +.. option:: nucl_coord + + Nuclear coordinates in the format (:, {x,y,z}) + + +.. option:: disk_access_nuclear_repulsion + + Read/Write Nuclear Repulsion from/to disk [ Write | Read | None ] + + Default: None + +.. option:: nuclear_repulsion + + Nuclear repulsion (Computed automaticaly or Read in the |EZFIO|) + + + +Providers +--------- + +.. c:var:: center_of_mass + + + File : :file:`nuclei/nuclei.irp.f` + + .. code:: fortran + + double precision, allocatable :: center_of_mass (3) + + + Center of mass of the molecule + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`element_name` + * :c:data:`nucl_charge` + * :c:data:`nucl_coord` + * :c:data:`nucl_num` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`inertia_tensor` + + +.. c:var:: element_mass + + + File : :file:`nuclei/nuclei.irp.f` + + .. code:: fortran + + character*(4), allocatable :: element_name (0:127) + double precision, allocatable :: element_mass (0:127) + + + Array of the name of element, sorted by nuclear charge (integer) + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mpi_master` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`center_of_mass` + * :c:data:`inertia_tensor` + + +.. c:var:: element_name + + + File : :file:`nuclei/nuclei.irp.f` + + .. code:: fortran + + character*(4), allocatable :: element_name (0:127) + double precision, allocatable :: element_mass (0:127) + + + Array of the name of element, sorted by nuclear charge (integer) + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mpi_master` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`center_of_mass` + * :c:data:`inertia_tensor` + + +.. c:var:: inertia_tensor + + + File : :file:`nuclei/inertia.irp.f` + + .. code:: fortran + + double precision, allocatable :: inertia_tensor (3,3) + + + Inertia tensor + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`center_of_mass` + * :c:data:`element_name` + * :c:data:`nucl_charge` + * :c:data:`nucl_coord` + * :c:data:`nucl_num` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`inertia_tensor_eigenvectors` + + +.. c:var:: inertia_tensor_eigenvalues + + + File : :file:`nuclei/inertia.irp.f` + + .. code:: fortran + + double precision, allocatable :: inertia_tensor_eigenvectors (3,3) + double precision, allocatable :: inertia_tensor_eigenvalues (3) + + + Eigenvectors/eigenvalues of the inertia_tensor. Used to find normal orientation. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`inertia_tensor` + + + +.. c:var:: inertia_tensor_eigenvectors + + + File : :file:`nuclei/inertia.irp.f` + + .. code:: fortran + + double precision, allocatable :: inertia_tensor_eigenvectors (3,3) + double precision, allocatable :: inertia_tensor_eigenvalues (3) + + + Eigenvectors/eigenvalues of the inertia_tensor. Used to find normal orientation. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`inertia_tensor` + + + +.. c:var:: nucl_coord + + + File : :file:`nuclei/nuclei.irp.f` + + .. code:: fortran + + double precision, allocatable :: nucl_coord (nucl_num,3) + + + Nuclear coordinates in the format (:, {x,y,z}) + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ezfio_filename` + * :c:data:`mpi_master` + * :c:data:`nucl_charge` + * :c:data:`nucl_label` + * :c:data:`nucl_num` + * :c:data:`output_wall_time_0` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_deriv2_x` + * :c:data:`ao_deriv_1_x` + * :c:data:`ao_dipole_x` + * :c:data:`ao_integrals_n_e` + * :c:data:`ao_integrals_n_e_per_atom` + * :c:data:`ao_overlap` + * :c:data:`ao_overlap_abs` + * :c:data:`ao_pseudo_integrals_local` + * :c:data:`ao_pseudo_integrals_non_local` + * :c:data:`ao_spread_x` + * :c:data:`ao_two_e_integral_alpha` + * :c:data:`ao_two_e_integral_erf_schwartz` + * :c:data:`ao_two_e_integral_schwartz` + * :c:data:`ao_two_e_integrals_erf_in_map` + * :c:data:`ao_two_e_integrals_in_map` + * :c:data:`center_of_mass` + * :c:data:`inertia_tensor` + * :c:data:`nucl_coord_transp` + * :c:data:`nucl_dist_2` + * :c:data:`nuclear_repulsion` + + +.. c:var:: nucl_coord_transp + + + File : :file:`nuclei/nuclei.irp.f` + + .. code:: fortran + + double precision, allocatable :: nucl_coord_transp (3,nucl_num) + + + Transposed array of nucl_coord + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`nucl_coord` + * :c:data:`nucl_num` + + + +.. c:var:: nucl_dist + + + File : :file:`nuclei/nuclei.irp.f` + + .. code:: fortran + + double precision, allocatable :: nucl_dist_2 (nucl_num,nucl_num) + double precision, allocatable :: nucl_dist_vec_x (nucl_num,nucl_num) + double precision, allocatable :: nucl_dist_vec_y (nucl_num,nucl_num) + double precision, allocatable :: nucl_dist_vec_z (nucl_num,nucl_num) + double precision, allocatable :: nucl_dist (nucl_num,nucl_num) + + + nucl_dist : Nucleus-nucleus distances + nucl_dist_2 : Nucleus-nucleus distances squared + nucl_dist_vec : Nucleus-nucleus distances vectors + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`nucl_coord` + * :c:data:`nucl_num` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`nucl_dist_inv` + + +.. c:var:: nucl_dist_2 + + + File : :file:`nuclei/nuclei.irp.f` + + .. code:: fortran + + double precision, allocatable :: nucl_dist_2 (nucl_num,nucl_num) + double precision, allocatable :: nucl_dist_vec_x (nucl_num,nucl_num) + double precision, allocatable :: nucl_dist_vec_y (nucl_num,nucl_num) + double precision, allocatable :: nucl_dist_vec_z (nucl_num,nucl_num) + double precision, allocatable :: nucl_dist (nucl_num,nucl_num) + + + nucl_dist : Nucleus-nucleus distances + nucl_dist_2 : Nucleus-nucleus distances squared + nucl_dist_vec : Nucleus-nucleus distances vectors + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`nucl_coord` + * :c:data:`nucl_num` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`nucl_dist_inv` + + +.. c:var:: nucl_dist_inv + + + File : :file:`nuclei/nuclei.irp.f` + + .. code:: fortran + + double precision, allocatable :: nucl_dist_inv (nucl_num,nucl_num) + + + Inverse of the distance between nucleus I and nucleus J + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`nucl_dist_2` + * :c:data:`nucl_num` + + + +.. c:var:: nucl_dist_vec_x + + + File : :file:`nuclei/nuclei.irp.f` + + .. code:: fortran + + double precision, allocatable :: nucl_dist_2 (nucl_num,nucl_num) + double precision, allocatable :: nucl_dist_vec_x (nucl_num,nucl_num) + double precision, allocatable :: nucl_dist_vec_y (nucl_num,nucl_num) + double precision, allocatable :: nucl_dist_vec_z (nucl_num,nucl_num) + double precision, allocatable :: nucl_dist (nucl_num,nucl_num) + + + nucl_dist : Nucleus-nucleus distances + nucl_dist_2 : Nucleus-nucleus distances squared + nucl_dist_vec : Nucleus-nucleus distances vectors + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`nucl_coord` + * :c:data:`nucl_num` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`nucl_dist_inv` + + +.. c:var:: nucl_dist_vec_y + + + File : :file:`nuclei/nuclei.irp.f` + + .. code:: fortran + + double precision, allocatable :: nucl_dist_2 (nucl_num,nucl_num) + double precision, allocatable :: nucl_dist_vec_x (nucl_num,nucl_num) + double precision, allocatable :: nucl_dist_vec_y (nucl_num,nucl_num) + double precision, allocatable :: nucl_dist_vec_z (nucl_num,nucl_num) + double precision, allocatable :: nucl_dist (nucl_num,nucl_num) + + + nucl_dist : Nucleus-nucleus distances + nucl_dist_2 : Nucleus-nucleus distances squared + nucl_dist_vec : Nucleus-nucleus distances vectors + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`nucl_coord` + * :c:data:`nucl_num` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`nucl_dist_inv` + + +.. c:var:: nucl_dist_vec_z + + + File : :file:`nuclei/nuclei.irp.f` + + .. code:: fortran + + double precision, allocatable :: nucl_dist_2 (nucl_num,nucl_num) + double precision, allocatable :: nucl_dist_vec_x (nucl_num,nucl_num) + double precision, allocatable :: nucl_dist_vec_y (nucl_num,nucl_num) + double precision, allocatable :: nucl_dist_vec_z (nucl_num,nucl_num) + double precision, allocatable :: nucl_dist (nucl_num,nucl_num) + + + nucl_dist : Nucleus-nucleus distances + nucl_dist_2 : Nucleus-nucleus distances squared + nucl_dist_vec : Nucleus-nucleus distances vectors + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`nucl_coord` + * :c:data:`nucl_num` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`nucl_dist_inv` + + +.. c:var:: nuclear_repulsion + + + File : :file:`nuclei/nuclei.irp.f` + + .. code:: fortran + + double precision :: nuclear_repulsion + + + Nuclear repulsion energy + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`disk_access_nuclear_repulsion` + * :c:data:`mpi_master` + * :c:data:`nucl_charge` + * :c:data:`nucl_coord` + * :c:data:`nucl_num` + * :c:data:`output_wall_time_0` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`ci_energy` + * :c:data:`core_energy` + * :c:data:`core_energy_erf` + * :c:data:`hf_energy` + * :c:data:`psi_energy_with_nucl_rep` + * :c:data:`pt2_e0_denominator` + * :c:data:`scf_energy` + + +.. c:var:: slater_bragg_radii + + + File : :file:`nuclei/atomic_radii.irp.f` + + .. code:: fortran + + double precision, allocatable :: slater_bragg_radii (100) + + + atomic radii in Angstrom defined in table I of JCP 41, 3199 (1964) Slater + execpt for the Hydrogen atom where we took the value of Becke (1988, JCP) + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`slater_bragg_radii_per_atom` + * :c:data:`slater_bragg_radii_ua` + + +.. c:var:: slater_bragg_radii_per_atom + + + File : :file:`nuclei/atomic_radii.irp.f` + + .. code:: fortran + + double precision, allocatable :: slater_bragg_radii_per_atom (nucl_num) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`nucl_charge` + * :c:data:`nucl_num` + * :c:data:`slater_bragg_radii` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`slater_bragg_type_inter_distance` + + +.. c:var:: slater_bragg_radii_per_atom_ua + + + File : :file:`nuclei/atomic_radii.irp.f` + + .. code:: fortran + + double precision, allocatable :: slater_bragg_radii_per_atom_ua (nucl_num) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`nucl_charge` + * :c:data:`nucl_num` + * :c:data:`slater_bragg_radii_ua` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`slater_bragg_type_inter_distance_ua` + + +.. c:var:: slater_bragg_radii_ua + + + File : :file:`nuclei/atomic_radii.irp.f` + + .. code:: fortran + + double precision, allocatable :: slater_bragg_radii_ua (100) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`slater_bragg_radii` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`slater_bragg_radii_per_atom_ua` + + +.. c:var:: slater_bragg_type_inter_distance + + + File : :file:`nuclei/atomic_radii.irp.f` + + .. code:: fortran + + double precision, allocatable :: slater_bragg_type_inter_distance (nucl_num,nucl_num) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`nucl_num` + * :c:data:`slater_bragg_radii_per_atom` + + + +.. c:var:: slater_bragg_type_inter_distance_ua + + + File : :file:`nuclei/atomic_radii.irp.f` + + .. code:: fortran + + double precision, allocatable :: slater_bragg_type_inter_distance_ua (nucl_num,nucl_num) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`nucl_num` + * :c:data:`slater_bragg_radii_per_atom_ua` + + diff --git a/doc/_sources/modules/perturbation.rst.txt b/doc/_sources/modules/perturbation.rst.txt new file mode 100644 index 00000000..fb144639 --- /dev/null +++ b/doc/_sources/modules/perturbation.rst.txt @@ -0,0 +1,999 @@ +.. _module_perturbation: + +.. program:: perturbation + +.. default-role:: option + +============ +perturbation +============ + + +All subroutines in ``*.irp.f`` starting with `pt2_` in the current directory are +perturbation computed using the routine `i_H_psi`. Other cases are not allowed. +The arguments of the `pt2_` are always: + +.. code-block:: fortran + + subroutine pt2_...( & + psi_ref, & + psi_ref_coefs, & + E_refs, & + det_pert, & + c_pert, & + e_2_pert, & + H_pert_diag, & + Nint, & + Ndet, & + N_st ) + + + integer , intent(in) :: Nint,Ndet,N_st + integer(bit_kind), intent(in) :: psi_ref(Nint,2,Ndet) + double precision , intent(in) :: psi_ref_coefs(Ndet,N_st) + double precision , intent(in) :: E_refs(N_st) + integer(bit_kind), intent(in) :: det_pert(Nint,2) + double precision , intent(out) :: c_pert(N_st),e_2_pert(N_st),H_pert_diag + + +`psi_ref` + bitstring of the determinants present in the various `N_st` states + +`psi_ref_coefs` + coefficients of the determinants on the various `N_st` states + +`E_refs` + Energy of the various `N_st` states + +`det_pert` + Perturber determinant + +`c_pert` + Perturbative coefficients for the various states + +`e_2_pert` + Perturbative energetic contribution for the various states + +`H_pert_diag` + Diagonal |H| matrix element of the perturber + +`Nint` + Should be equal to `N_int` + +`Ndet` + Number of determinants `i` in |Psi| on which we apply + +`N_st` + Number of states + + + + + + +EZFIO parameters +---------------- + +.. option:: do_pt2 + + If `True`, compute the |PT2| contribution + + Default: True + +.. option:: pt2_max + + The selection process stops when the largest |PT2| (for all the state) is lower + + than `pt2_max` in absolute value + + Default: 0.0001 + +.. option:: pt2_relative_error + + Stop stochastic |PT2| when the relative error is smaller than `PT2_relative_error` + + Default: 0.002 + +.. option:: correlation_energy_ratio_max + + The selection process stops at a fixed correlation ratio (useful for getting same accuracy between molecules). + + Defined as :math:`{E_{CI}-E_{HF}}/{E_{CI}+E_{PT2} - E_{HF}}`. + + Default: 1.00 + + +Providers +--------- + +.. c:function:: fill_h_apply_buffer_selection: + + + File : :file:`perturbation/selection.irp.f` + + .. code:: fortran + + subroutine fill_H_apply_buffer_selection(n_selected,det_buffer,e_2_pert_buffer,coef_pert_buffer, & + N_st,Nint,iproc,select_max_out) + + + Fill the H_apply buffer with determiants for the selection + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`selection_criterion` + * :c:data:`h_apply_buffer_allocated` + * :c:data:`n_det` + * :c:data:`n_int` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`omp_set_lock` + * :c:func:`omp_unset_lock` + * :c:func:`resize_h_apply_buffer` + + +.. c:var:: h0_type + + + File : :file:`perturbation/h0_type.irp.f` + + .. code:: fortran + + character*32 :: h0_type + + + Type of zeroth-order Hamiltonian + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`s2_eig` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`pt2_e0_denominator` + + +.. c:var:: max_exc_pert + + + File : :file:`perturbation/exc_max.irp.f` + + .. code:: fortran + + integer :: max_exc_pert + + + + + +.. c:var:: selection_criterion + + + File : :file:`perturbation/selection.irp.f` + + .. code:: fortran + + double precision :: selection_criterion + double precision :: selection_criterion_min + double precision :: selection_criterion_factor + + + Threshold to select determinants. Set by selection routines. + + + +.. c:var:: selection_criterion_factor + + + File : :file:`perturbation/selection.irp.f` + + .. code:: fortran + + double precision :: selection_criterion + double precision :: selection_criterion_min + double precision :: selection_criterion_factor + + + Threshold to select determinants. Set by selection routines. + + + +.. c:var:: selection_criterion_min + + + File : :file:`perturbation/selection.irp.f` + + .. code:: fortran + + double precision :: selection_criterion + double precision :: selection_criterion_min + double precision :: selection_criterion_factor + + + Threshold to select determinants. Set by selection routines. + + + +.. c:var:: var_pt2_ratio + + + File : :file:`perturbation/var_pt2_ratio_provider.irp.f` + + .. code:: fortran + + double precision :: var_pt2_ratio + + + The selection process stops when the energy ratio variational/(variational+PT2) + is equal to var_pt2_ratio + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`correlation_energy_ratio_max` + + + + +Subroutines / functions +----------------------- + +.. c:function:: perturb_buffer_by_mono_dummy: + + + File : :file:`perturbation/perturbation.irp.f_shell_13` + + .. code:: fortran + + subroutine perturb_buffer_by_mono_dummy(i_generator,buffer,buffer_size,e_2_pert_buffer,coef_pert_buffer,sum_e_2_pert,sum_norm_pert,sum_H_pert_diag,N_st,Nint,key_mask,fock_diag_tmp,electronic_energy) + + + Applly pertubration ``dummy`` to the buffer of determinants generated in the H_apply + routine. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_num` + * :c:data:`psi_selectors` + * :c:data:`n_det` + * :c:data:`n_det_selectors` + * :c:data:`n_det_generators` + * :c:data:`psi_det_generators` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`create_minilist` + * :c:func:`create_minilist_find_previous` + * :c:func:`pt2_dummy` + + +.. c:function:: perturb_buffer_by_mono_epstein_nesbet: + + + File : :file:`perturbation/perturbation.irp.f_shell_13` + + .. code:: fortran + + subroutine perturb_buffer_by_mono_epstein_nesbet(i_generator,buffer,buffer_size,e_2_pert_buffer,coef_pert_buffer,sum_e_2_pert,sum_norm_pert,sum_H_pert_diag,N_st,Nint,key_mask,fock_diag_tmp,electronic_energy) + + + Applly pertubration ``epstein_nesbet`` to the buffer of determinants generated in the H_apply + routine. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_num` + * :c:data:`psi_selectors` + * :c:data:`n_det` + * :c:data:`n_det_selectors` + * :c:data:`n_det_generators` + * :c:data:`psi_det_generators` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`create_minilist` + * :c:func:`create_minilist_find_previous` + * :c:func:`pt2_epstein_nesbet` + + +.. c:function:: perturb_buffer_by_mono_epstein_nesbet_2x2: + + + File : :file:`perturbation/perturbation.irp.f_shell_13` + + .. code:: fortran + + subroutine perturb_buffer_by_mono_epstein_nesbet_2x2(i_generator,buffer,buffer_size,e_2_pert_buffer,coef_pert_buffer,sum_e_2_pert,sum_norm_pert,sum_H_pert_diag,N_st,Nint,key_mask,fock_diag_tmp,electronic_energy) + + + Applly pertubration ``epstein_nesbet_2x2`` to the buffer of determinants generated in the H_apply + routine. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_num` + * :c:data:`psi_selectors` + * :c:data:`n_det` + * :c:data:`n_det_selectors` + * :c:data:`n_det_generators` + * :c:data:`psi_det_generators` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`create_minilist` + * :c:func:`create_minilist_find_previous` + * :c:func:`pt2_epstein_nesbet_2x2` + + +.. c:function:: perturb_buffer_by_mono_epstein_nesbet_2x2_no_ci_diag: + + + File : :file:`perturbation/perturbation.irp.f_shell_13` + + .. code:: fortran + + subroutine perturb_buffer_by_mono_epstein_nesbet_2x2_no_ci_diag(i_generator,buffer,buffer_size,e_2_pert_buffer,coef_pert_buffer,sum_e_2_pert,sum_norm_pert,sum_H_pert_diag,N_st,Nint,key_mask,fock_diag_tmp,electronic_energy) + + + Applly pertubration ``epstein_nesbet_2x2_no_ci_diag`` to the buffer of determinants generated in the H_apply + routine. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_num` + * :c:data:`psi_selectors` + * :c:data:`n_det` + * :c:data:`n_det_selectors` + * :c:data:`n_det_generators` + * :c:data:`psi_det_generators` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`create_minilist` + * :c:func:`create_minilist_find_previous` + * :c:func:`pt2_epstein_nesbet_2x2_no_ci_diag` + + +.. c:function:: perturb_buffer_by_mono_moller_plesset: + + + File : :file:`perturbation/perturbation.irp.f_shell_13` + + .. code:: fortran + + subroutine perturb_buffer_by_mono_moller_plesset(i_generator,buffer,buffer_size,e_2_pert_buffer,coef_pert_buffer,sum_e_2_pert,sum_norm_pert,sum_H_pert_diag,N_st,Nint,key_mask,fock_diag_tmp,electronic_energy) + + + Applly pertubration ``moller_plesset`` to the buffer of determinants generated in the H_apply + routine. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_num` + * :c:data:`psi_selectors` + * :c:data:`n_det` + * :c:data:`n_det_selectors` + * :c:data:`n_det_generators` + * :c:data:`psi_det_generators` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`create_minilist` + * :c:func:`create_minilist_find_previous` + * :c:func:`pt2_moller_plesset` + + +.. c:function:: perturb_buffer_by_mono_qdpt: + + + File : :file:`perturbation/perturbation.irp.f_shell_13` + + .. code:: fortran + + subroutine perturb_buffer_by_mono_qdpt(i_generator,buffer,buffer_size,e_2_pert_buffer,coef_pert_buffer,sum_e_2_pert,sum_norm_pert,sum_H_pert_diag,N_st,Nint,key_mask,fock_diag_tmp,electronic_energy) + + + Applly pertubration ``qdpt`` to the buffer of determinants generated in the H_apply + routine. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_num` + * :c:data:`psi_selectors` + * :c:data:`n_det` + * :c:data:`n_det_selectors` + * :c:data:`n_det_generators` + * :c:data:`psi_det_generators` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`create_minilist` + * :c:func:`create_minilist_find_previous` + * :c:func:`pt2_qdpt` + + +.. c:function:: perturb_buffer_dummy: + + + File : :file:`perturbation/perturbation.irp.f_shell_13` + + .. code:: fortran + + subroutine perturb_buffer_dummy(i_generator,buffer,buffer_size,e_2_pert_buffer,coef_pert_buffer,sum_e_2_pert,sum_norm_pert,sum_H_pert_diag,N_st,Nint,key_mask,fock_diag_tmp,electronic_energy) + + + Applly pertubration ``dummy`` to the buffer of determinants generated in the H_apply + routine. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_det_selectors` + * :c:data:`n_det_generators` + * :c:data:`psi_selectors` + * :c:data:`psi_det_generators` + * :c:data:`mo_num` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`create_microlist` + * :c:func:`create_minilist` + * :c:func:`create_minilist_find_previous` + * :c:func:`getmobiles` + * :c:func:`pt2_dummy` + + +.. c:function:: perturb_buffer_epstein_nesbet: + + + File : :file:`perturbation/perturbation.irp.f_shell_13` + + .. code:: fortran + + subroutine perturb_buffer_epstein_nesbet(i_generator,buffer,buffer_size,e_2_pert_buffer,coef_pert_buffer,sum_e_2_pert,sum_norm_pert,sum_H_pert_diag,N_st,Nint,key_mask,fock_diag_tmp,electronic_energy) + + + Applly pertubration ``epstein_nesbet`` to the buffer of determinants generated in the H_apply + routine. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_det_selectors` + * :c:data:`n_det_generators` + * :c:data:`psi_selectors` + * :c:data:`psi_det_generators` + * :c:data:`mo_num` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`create_microlist` + * :c:func:`create_minilist` + * :c:func:`create_minilist_find_previous` + * :c:func:`getmobiles` + * :c:func:`pt2_epstein_nesbet` + + +.. c:function:: perturb_buffer_epstein_nesbet_2x2: + + + File : :file:`perturbation/perturbation.irp.f_shell_13` + + .. code:: fortran + + subroutine perturb_buffer_epstein_nesbet_2x2(i_generator,buffer,buffer_size,e_2_pert_buffer,coef_pert_buffer,sum_e_2_pert,sum_norm_pert,sum_H_pert_diag,N_st,Nint,key_mask,fock_diag_tmp,electronic_energy) + + + Applly pertubration ``epstein_nesbet_2x2`` to the buffer of determinants generated in the H_apply + routine. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_det_selectors` + * :c:data:`n_det_generators` + * :c:data:`psi_selectors` + * :c:data:`psi_det_generators` + * :c:data:`mo_num` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`create_microlist` + * :c:func:`create_minilist` + * :c:func:`create_minilist_find_previous` + * :c:func:`getmobiles` + * :c:func:`pt2_epstein_nesbet_2x2` + + +.. c:function:: perturb_buffer_epstein_nesbet_2x2_no_ci_diag: + + + File : :file:`perturbation/perturbation.irp.f_shell_13` + + .. code:: fortran + + subroutine perturb_buffer_epstein_nesbet_2x2_no_ci_diag(i_generator,buffer,buffer_size,e_2_pert_buffer,coef_pert_buffer,sum_e_2_pert,sum_norm_pert,sum_H_pert_diag,N_st,Nint,key_mask,fock_diag_tmp,electronic_energy) + + + Applly pertubration ``epstein_nesbet_2x2_no_ci_diag`` to the buffer of determinants generated in the H_apply + routine. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_det_selectors` + * :c:data:`n_det_generators` + * :c:data:`psi_selectors` + * :c:data:`psi_det_generators` + * :c:data:`mo_num` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`create_microlist` + * :c:func:`create_minilist` + * :c:func:`create_minilist_find_previous` + * :c:func:`getmobiles` + * :c:func:`pt2_epstein_nesbet_2x2_no_ci_diag` + + +.. c:function:: perturb_buffer_moller_plesset: + + + File : :file:`perturbation/perturbation.irp.f_shell_13` + + .. code:: fortran + + subroutine perturb_buffer_moller_plesset(i_generator,buffer,buffer_size,e_2_pert_buffer,coef_pert_buffer,sum_e_2_pert,sum_norm_pert,sum_H_pert_diag,N_st,Nint,key_mask,fock_diag_tmp,electronic_energy) + + + Applly pertubration ``moller_plesset`` to the buffer of determinants generated in the H_apply + routine. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_det_selectors` + * :c:data:`n_det_generators` + * :c:data:`psi_selectors` + * :c:data:`psi_det_generators` + * :c:data:`mo_num` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`create_microlist` + * :c:func:`create_minilist` + * :c:func:`create_minilist_find_previous` + * :c:func:`getmobiles` + * :c:func:`pt2_moller_plesset` + + +.. c:function:: perturb_buffer_qdpt: + + + File : :file:`perturbation/perturbation.irp.f_shell_13` + + .. code:: fortran + + subroutine perturb_buffer_qdpt(i_generator,buffer,buffer_size,e_2_pert_buffer,coef_pert_buffer,sum_e_2_pert,sum_norm_pert,sum_H_pert_diag,N_st,Nint,key_mask,fock_diag_tmp,electronic_energy) + + + Applly pertubration ``qdpt`` to the buffer of determinants generated in the H_apply + routine. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_det_selectors` + * :c:data:`n_det_generators` + * :c:data:`psi_selectors` + * :c:data:`psi_det_generators` + * :c:data:`mo_num` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`create_microlist` + * :c:func:`create_minilist` + * :c:func:`create_minilist_find_previous` + * :c:func:`getmobiles` + * :c:func:`pt2_qdpt` + + +.. c:function:: pt2_dummy: + + + File : :file:`perturbation/pt2_equations.irp.f_template_305` + + .. code:: fortran + + subroutine pt2_dummy (electronic_energy,det_ref,det_pert,fock_diag_tmp,c_pert,e_2_pert,H_pert_diag,Nint,ndet,N_st,minilist,idx_minilist,N_minilist) + + + Dummy perturbation to add all connected determinants. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_det_selectors` + * :c:data:`selection_criterion` + * :c:data:`psi_selectors` + * :c:data:`psi_selectors_size` + * :c:data:`mo_num` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`perturb_buffer_by_mono_dummy` + * :c:func:`perturb_buffer_dummy` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`i_h_psi_minilist` + + +.. c:function:: pt2_epstein_nesbet: + + + File : :file:`perturbation/pt2_equations.irp.f_template_305` + + .. code:: fortran + + subroutine pt2_epstein_nesbet (electronic_energy,det_ref,det_pert,fock_diag_tmp,c_pert,e_2_pert,H_pert_diag,Nint,ndet,N_st,minilist,idx_minilist,N_minilist) + + + Compute the standard Epstein-Nesbet perturbative first order coefficient and + second order energetic contribution for the various N_st states. + + `c_pert(i)` = $\frac{\langle i|H|\alpha \rangle}{ E_n - \langle \alpha|H|\alpha \rangle }$. + + `e_2_pert(i)` = $\frac{\langle i|H|\alpha \rangle^2}{ E_n - \langle \alpha|H|\alpha \rangle }$. + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_det_selectors` + * :c:data:`selection_criterion` + * :c:data:`psi_selectors` + * :c:data:`psi_selectors_size` + * :c:data:`mo_num` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`perturb_buffer_by_mono_epstein_nesbet` + * :c:func:`perturb_buffer_epstein_nesbet` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`i_h_psi_minilist` + + +.. c:function:: pt2_epstein_nesbet_2x2: + + + File : :file:`perturbation/pt2_equations.irp.f_template_305` + + .. code:: fortran + + subroutine pt2_epstein_nesbet_2x2 (electronic_energy,det_ref,det_pert,fock_diag_tmp,c_pert,e_2_pert,H_pert_diag,Nint,ndet,N_st,minilist,idx_minilist,N_minilist) + + + Computes the Epstein-Nesbet 2x2 diagonalization coefficient and energetic contribution + for the various N_st states. + + `e_2_pert(i)` = $\frac{1}{2} ( \langle \alpha|H|\alpha \rangle - E_n) - \sqrt{ (\langle \alpha|H|\alpha \rangle - E_n)^2 + 4 \langle i|H|\alpha \rangle^2 }$. + + `c_pert(i)` = `e_2_pert(i)` $\times \frac{1}{ \langle i|H|\alpha \rangle}$. + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_det_selectors` + * :c:data:`psi_selectors` + * :c:data:`psi_selectors_size` + * :c:data:`mo_num` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`perturb_buffer_by_mono_epstein_nesbet_2x2` + * :c:func:`perturb_buffer_epstein_nesbet_2x2` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`i_h_psi` + + +.. c:function:: pt2_epstein_nesbet_2x2_no_ci_diag: + + + File : :file:`perturbation/pt2_equations.irp.f_template_305` + + .. code:: fortran + + subroutine pt2_epstein_nesbet_2x2_no_ci_diag(electronic_energy,det_ref,det_pert,fock_diag_tmp,c_pert,e_2_pert,H_pert_diag,Nint,ndet,N_st,minilist,idx_minilist,N_minilist) + + + compute the Epstein-Nesbet 2x2 diagonalization coefficient and energetic contribution + + for the various N_st states. + + e_2_pert(i) = 0.5 * (( - E(i) ) - sqrt( ( - E(i)) ^2 + 4 ^2 ) + + c_pert(i) = e_2_pert(i)/ + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_det_selectors` + * :c:data:`psi_selectors` + * :c:data:`psi_selectors_size` + * :c:data:`psi_energy` + * :c:data:`mo_num` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`perturb_buffer_by_mono_epstein_nesbet_2x2_no_ci_diag` + * :c:func:`perturb_buffer_epstein_nesbet_2x2_no_ci_diag` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`i_h_psi` + + +.. c:function:: pt2_moller_plesset: + + + File : :file:`perturbation/pt2_equations.irp.f_template_305` + + .. code:: fortran + + subroutine pt2_moller_plesset (electronic_energy,det_ref,det_pert,fock_diag_tmp,c_pert,e_2_pert,H_pert_diag,Nint,ndet,N_st,minilist,idx_minilist,N_minilist) + + + Computes the standard Moller-Plesset perturbative first order coefficient and second + order energetic contribution for the various N_st states. + + `c_pert(i)` = $\frac{\langle i|H|\alpha \rangle}{\text{difference of orbital energies}}$. + + `e_2_pert(i)` = $\frac{\langle i|H|\alpha \rangle^2}{\text{difference of orbital energies}}$. + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ref_bitmask` + * :c:data:`psi_selectors_size` + * :c:data:`psi_selectors` + * :c:data:`mo_num` + * :c:data:`n_det_selectors` + * :c:data:`fock_matrix_mo` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`perturb_buffer_by_mono_moller_plesset` + * :c:func:`perturb_buffer_moller_plesset` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`decode_exc` + * :c:func:`get_excitation` + * :c:func:`i_h_psi_minilist` + + +.. c:function:: pt2_qdpt: + + + File : :file:`perturbation/pt2_equations.irp.f_template_305` + + .. code:: fortran + + subroutine pt2_qdpt (electronic_energy,det_ref,det_pert,fock_diag_tmp,c_pert,e_2_pert,H_pert_diag,Nint,ndet,N_st,minilist,idx_minilist,N_minilist) + + + Computes the QDPT first order coefficient and second order energetic contribution + for the various N_st states. + + `c_pert(i)` = $\frac{\langle i|H|\alpha \rangle}{\langle i|H|i \rangle - \langle \alpha|H|\alpha \rangle}$. + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_det_selectors` + * :c:data:`selection_criterion` + * :c:data:`psi_selectors` + * :c:data:`psi_selectors_size` + * :c:data:`mo_num` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`perturb_buffer_by_mono_qdpt` + * :c:func:`perturb_buffer_qdpt` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`get_excitation_degree` + * :c:func:`i_h_j` + * :c:func:`i_h_psi_minilist` + + +.. c:function:: remove_small_contributions: + + + File : :file:`perturbation/selection.irp.f` + + .. code:: fortran + + subroutine remove_small_contributions + + + Remove determinants with small contributions. N_states is assumed to be + provided. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`psi_coef` + * :c:data:`selection_criterion` + * :c:data:`n_states` + * :c:data:`n_det` + * :c:data:`psi_det_size` + * :c:data:`n_det_generators` + * :c:data:`n_int` + * :c:data:`psi_det_sorted` + * :c:data:`psi_det` + * :c:data:`psi_det_sorted` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`diagonalize_ci` + * :c:func:`i_h_psi` + * :c:func:`write_int` + + Touches: + + .. hlist:: + :columns: 3 + + * :c:data:`ci_electronic_energy` + * :c:data:`ci_electronic_energy` + * :c:data:`ci_energy` + * :c:data:`ci_electronic_energy` + * :c:data:`n_det` + * :c:data:`psi_coef` + * :c:data:`psi_det` + diff --git a/doc/_sources/modules/pseudo.rst.txt b/doc/_sources/modules/pseudo.rst.txt new file mode 100644 index 00000000..8a48aa9f --- /dev/null +++ b/doc/_sources/modules/pseudo.rst.txt @@ -0,0 +1,94 @@ +.. _module_pseudo: + +.. program:: pseudo + +.. default-role:: option + +====== +pseudo +====== + +This module defines the |EZFIO| parameters of the effective core potentials. + + + +EZFIO parameters +---------------- + +.. option:: nucl_charge_remove + + Nuclear charges removed per atom + + +.. option:: pseudo_klocmax + + Maximum value of k for the local component + + +.. option:: pseudo_n_k + + Number of gaussians in the local component + + +.. option:: pseudo_v_k + + Coefficients in the local component + + +.. option:: pseudo_dz_k + + Exponents in the local component + + +.. option:: pseudo_lmax + + Maximum angular momentum + + +.. option:: pseudo_kmax + + Maximum number of functions in the non-local component + + +.. option:: pseudo_n_kl + + Number of functions in the non-local component + + +.. option:: pseudo_v_kl + + Coefficients in the non-local component + + +.. option:: pseudo_dz_kl + + Exponents in the non-local component + + +.. option:: do_pseudo + + If `True`, pseudo-potentials are used. + + Default: False + +.. option:: pseudo_grid_size + + Nb of points of the grid for the QMC interfaces + + Default: 1000 + +.. option:: pseudo_grid_rmax + + R_max of the QMC grid + + Default: 10.0 + +.. option:: ao_pseudo_grid + + Grid for the QMC interface + + +.. option:: mo_pseudo_grid + + Grid for the QMC interface + diff --git a/doc/_sources/modules/psiref_cas.rst.txt b/doc/_sources/modules/psiref_cas.rst.txt new file mode 100644 index 00000000..c57198fe --- /dev/null +++ b/doc/_sources/modules/psiref_cas.rst.txt @@ -0,0 +1,14 @@ +.. _module_psiref_cas: + +.. program:: psiref_cas + +.. default-role:: option + +========== +psiref_cas +========== + +Reference wave function is defined as a |CAS| wave function. +This module is required for |CAS-SD|, |MRPT| or |MRCC|. + + diff --git a/doc/_sources/modules/psiref_utils.rst.txt b/doc/_sources/modules/psiref_utils.rst.txt new file mode 100644 index 00000000..541fc2c4 --- /dev/null +++ b/doc/_sources/modules/psiref_utils.rst.txt @@ -0,0 +1,16 @@ +.. _module_psiref_utils: + +.. program:: psiref_utils + +.. default-role:: option + +============ +psiref_utils +============ + + +Utilities related to the use of a reference wave function. This module +needs to be loaded with any `psi_ref_*` module. + + + diff --git a/doc/_sources/modules/scf_utils.rst.txt b/doc/_sources/modules/scf_utils.rst.txt new file mode 100644 index 00000000..5b06d6d0 --- /dev/null +++ b/doc/_sources/modules/scf_utils.rst.txt @@ -0,0 +1,795 @@ +.. _module_scf_utils: + +.. program:: scf_utils + +.. default-role:: option + +========= +scf_utils +========= + + + +The scf_utils module is an abstract module which contains the basics to perform *Restricted* SCF calculations (the +spatial part of the |MOs| is common for alpha and beta spinorbitals) based on a single-determinant wave function. + +This module does not produce any executable *and must not do*, but instead it contains everything one needs to perform an orbital optimization based on an Fock matrix. +The ``scf_utils`` module is meant to be included in the :file:`NEED` of the various single determinant SCF procedures, such as ``hartree_fock`` or ``kohn_sham``, where a specific definition of the Fock matrix is given (see :file:`hartree_fock fock_matrix_hf.irp.f` for an example). + +All SCF programs perform the following actions: + + +#. Compute/Read all the one- and two-electron integrals, and store them in memory + +#. Check in the |EZFIO| database if there is a set of |MOs|. If there is, it + will read them as initial guess. Otherwise, it will create a guess. +#. Perform the |SCF| iterations based on the definition of the Fock matrix + + +The main keywords/options are: + +* :option:`scf_utils thresh_scf` +* :option:`scf_utils level_shift` + +At each iteration, the |MOs| are saved in the |EZFIO| database. Hence, if the calculation +crashes for any unexpected reason, the calculation can be restarted by running again +the |SCF| with the same |EZFIO| database. + +The `DIIS`_ algorithm is implemented, as well as the `level-shifting`_ method. +If the |SCF| does not converge, try again with a higher value of :option:`level_shift`. + +To start a calculation from scratch, the simplest way is to remove the +``mo_basis`` directory from the |EZFIO| database, and run the |SCF| again. + +.. _DIIS: https://en.wikipedia.org/w/index.php?title=DIIS +.. _level-shifting: https://doi.org/10.1002/qua.560070407 + + + + +EZFIO parameters +---------------- + +.. option:: max_dim_diis + + Maximum size of the DIIS extrapolation procedure + + Default: 15 + +.. option:: threshold_diis + + Threshold on the convergence of the DIIS error vector during a Hartree-Fock calculation. If 0. is chosen, the square root of thresh_scf will be used. + + Default: 0. + +.. option:: thresh_scf + + Threshold on the convergence of the Hartree Fock energy. + + Default: 1.e-10 + +.. option:: n_it_scf_max + + Maximum number of SCF iterations + + Default: 500 + +.. option:: level_shift + + Energy shift on the virtual MOs to improve SCF convergence + + Default: 0. + +.. option:: scf_algorithm + + Type of SCF algorithm used. Possible choices are [ Simple | DIIS] + + Default: DIIS + +.. option:: mo_guess_type + + Initial MO guess. Can be [ Huckel | HCore ] + + Default: Huckel + +.. option:: energy + + Calculated HF energy + + +.. option:: frozen_orb_scf + + If true, leave untouched all the orbitals defined as core and optimize all the orbitals defined as active with qp_set_mo_class + + Default: False + + +Providers +--------- + +.. c:var:: eigenvalues_fock_matrix_ao + + + File : :file:`scf_utils/diis.irp.f` + + .. code:: fortran + + double precision, allocatable :: eigenvalues_fock_matrix_ao (AO_num) + double precision, allocatable :: eigenvectors_fock_matrix_ao (AO_num,AO_num) + + + Eigenvalues and eigenvectors of the Fock matrix over the AO basis + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`fock_matrix_ao` + * :c:data:`s_half_inv` + + + +.. c:var:: eigenvectors_fock_matrix_ao + + + File : :file:`scf_utils/diis.irp.f` + + .. code:: fortran + + double precision, allocatable :: eigenvalues_fock_matrix_ao (AO_num) + double precision, allocatable :: eigenvectors_fock_matrix_ao (AO_num,AO_num) + + + Eigenvalues and eigenvectors of the Fock matrix over the AO basis + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`fock_matrix_ao` + * :c:data:`s_half_inv` + + + +.. c:var:: eigenvectors_fock_matrix_mo + + + File : :file:`scf_utils/diagonalize_fock.irp.f` + + .. code:: fortran + + double precision, allocatable :: eigenvectors_fock_matrix_mo (ao_num,mo_num) + + + Eigenvector of the Fock matrix in the MO basis obtained with level shift. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`elec_alpha_num` + * :c:data:`elec_beta_num` + * :c:data:`fock_matrix_mo` + * :c:data:`frozen_orb_scf` + * :c:data:`level_shift` + * :c:data:`list_inact` + * :c:data:`mo_coef` + * :c:data:`mo_num` + * :c:data:`n_core_orb` + + + +.. c:function:: extrapolate_fock_matrix: + + + File : :file:`scf_utils/roothaan_hall_scf.irp.f` + + .. code:: fortran + + subroutine extrapolate_Fock_matrix( & + error_matrix_DIIS,Fock_matrix_DIIS, & + Fock_matrix_AO_,size_Fock_matrix_AO, & + iteration_SCF,dim_DIIS & +) + + + Compute the extrapolated Fock matrix using the DIIS procedure + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`max_dim_diis` + * :c:data:`ao_num` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`roothaan_hall_scf` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`dgemm` + * :c:func:`dsysvx` + + +.. c:var:: fock_matrix_ao + + + File : :file:`scf_utils/fock_matrix.irp.f` + + .. code:: fortran + + double precision, allocatable :: fock_matrix_ao (ao_num,ao_num) + + + Fock matrix in AO basis set + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`elec_alpha_num` + * :c:data:`elec_beta_num` + * :c:data:`fock_matrix_ao_alpha` + * :c:data:`fock_matrix_mo` + * :c:data:`frozen_orb_scf` + * :c:data:`level_shift` + * :c:data:`mo_num` + * :c:data:`s_mo_coef` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`eigenvalues_fock_matrix_ao` + * :c:data:`fps_spf_matrix_ao` + + +.. c:var:: fock_matrix_diag_mo + + + File : :file:`scf_utils/fock_matrix.irp.f` + + .. code:: fortran + + double precision, allocatable :: fock_matrix_mo (mo_num,mo_num) + double precision, allocatable :: fock_matrix_diag_mo (mo_num) + + + Fock matrix on the MO basis. + For open shells, the ROHF Fock Matrix is :: + + | F-K | F + K/2 | F | + |---------------------------------| + | F + K/2 | F | F - K/2 | + |---------------------------------| + | F | F - K/2 | F + K | + + + F = 1/2 (Fa + Fb) + + K = Fb - Fa + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`elec_alpha_num` + * :c:data:`elec_beta_num` + * :c:data:`fock_matrix_mo_alpha` + * :c:data:`fock_matrix_mo_beta` + * :c:data:`frozen_orb_scf` + * :c:data:`list_inact` + * :c:data:`mo_num` + * :c:data:`n_core_orb` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`eigenvectors_fock_matrix_mo` + * :c:data:`fock_matrix_ao` + + +.. c:var:: fock_matrix_mo + + + File : :file:`scf_utils/fock_matrix.irp.f` + + .. code:: fortran + + double precision, allocatable :: fock_matrix_mo (mo_num,mo_num) + double precision, allocatable :: fock_matrix_diag_mo (mo_num) + + + Fock matrix on the MO basis. + For open shells, the ROHF Fock Matrix is :: + + | F-K | F + K/2 | F | + |---------------------------------| + | F + K/2 | F | F - K/2 | + |---------------------------------| + | F | F - K/2 | F + K | + + + F = 1/2 (Fa + Fb) + + K = Fb - Fa + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`elec_alpha_num` + * :c:data:`elec_beta_num` + * :c:data:`fock_matrix_mo_alpha` + * :c:data:`fock_matrix_mo_beta` + * :c:data:`frozen_orb_scf` + * :c:data:`list_inact` + * :c:data:`mo_num` + * :c:data:`n_core_orb` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`eigenvectors_fock_matrix_mo` + * :c:data:`fock_matrix_ao` + + +.. c:var:: fock_matrix_mo_alpha + + + File : :file:`scf_utils/fock_matrix.irp.f` + + .. code:: fortran + + double precision, allocatable :: fock_matrix_mo_alpha (mo_num,mo_num) + + + Fock matrix on the MO basis + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`fock_matrix_ao_alpha` + * :c:data:`mo_coef` + * :c:data:`mo_num` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`fock_matrix_mo` + + +.. c:var:: fock_matrix_mo_beta + + + File : :file:`scf_utils/fock_matrix.irp.f` + + .. code:: fortran + + double precision, allocatable :: fock_matrix_mo_beta (mo_num,mo_num) + + + Fock matrix on the MO basis + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`fock_matrix_ao_alpha` + * :c:data:`mo_coef` + * :c:data:`mo_num` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`fock_matrix_mo` + + +.. c:var:: fps_spf_matrix_ao + + + File : :file:`scf_utils/diis.irp.f` + + .. code:: fortran + + double precision, allocatable :: fps_spf_matrix_ao (AO_num,AO_num) + + + Commutator FPS - SPF + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`ao_overlap` + * :c:data:`fock_matrix_ao` + * :c:data:`scf_density_matrix_ao` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`fps_spf_matrix_mo` + + +.. c:var:: fps_spf_matrix_mo + + + File : :file:`scf_utils/diis.irp.f` + + .. code:: fortran + + double precision, allocatable :: fps_spf_matrix_mo (mo_num,mo_num) + + + Commutator FPS - SPF in MO basis + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`fps_spf_matrix_ao` + * :c:data:`mo_coef` + * :c:data:`mo_num` + + + +.. c:var:: scf_density_matrix_ao + + + File : :file:`scf_utils/scf_density_matrix_ao.irp.f` + + .. code:: fortran + + double precision, allocatable :: scf_density_matrix_ao (ao_num,ao_num) + + + S^{-1}.P.S^{-1} where P = C.C^t + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`elec_alpha_num` + * :c:data:`elec_beta_num` + * :c:data:`scf_density_matrix_ao_alpha` + * :c:data:`scf_density_matrix_ao_beta` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`fps_spf_matrix_ao` + + +.. c:var:: scf_density_matrix_ao_alpha + + + File : :file:`scf_utils/scf_density_matrix_ao.irp.f` + + .. code:: fortran + + double precision, allocatable :: scf_density_matrix_ao_alpha (ao_num,ao_num) + + + S^{-1}.P_alpha.S^{-1} + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`elec_alpha_num` + * :c:data:`mo_coef` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_two_e_integral_alpha` + * :c:data:`hf_energy` + * :c:data:`scf_density_matrix_ao` + * :c:data:`scf_energy` + + +.. c:var:: scf_density_matrix_ao_beta + + + File : :file:`scf_utils/scf_density_matrix_ao.irp.f` + + .. code:: fortran + + double precision, allocatable :: scf_density_matrix_ao_beta (ao_num,ao_num) + + + S^{-1}.P_beta.S^{-1} + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`elec_beta_num` + * :c:data:`mo_coef` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_two_e_integral_alpha` + * :c:data:`hf_energy` + * :c:data:`scf_density_matrix_ao` + * :c:data:`scf_energy` + + +.. c:var:: scf_energy + + + File : :file:`scf_utils/fock_matrix.irp.f` + + .. code:: fortran + + double precision :: scf_energy + + + Hartree-Fock energy + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_num` + * :c:data:`ao_one_e_integrals` + * :c:data:`extra_e_contrib_density` + * :c:data:`fock_matrix_ao_alpha` + * :c:data:`nuclear_repulsion` + * :c:data:`scf_density_matrix_ao_alpha` + * :c:data:`scf_density_matrix_ao_beta` + + + +.. c:var:: threshold_diis_nonzero + + + File : :file:`scf_utils/diis.irp.f` + + .. code:: fortran + + double precision :: threshold_diis_nonzero + + + If threshold_DIIS is zero, choose sqrt(thresh_scf) + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`thresh_scf` + * :c:data:`threshold_diis` + + + + +Subroutines / functions +----------------------- + +.. c:function:: damping_scf: + + + File : :file:`scf_utils/damping_scf.irp.f` + + .. code:: fortran + + subroutine damping_SCF + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_coef` + * :c:data:`eigenvectors_fock_matrix_mo` + * :c:data:`scf_energy` + * :c:data:`scf_density_matrix_ao_beta` + * :c:data:`fock_matrix_mo` + * :c:data:`ao_num` + * :c:data:`scf_density_matrix_ao_alpha` + * :c:data:`fock_matrix_ao` + * :c:data:`mo_label` + * :c:data:`n_it_scf_max` + * :c:data:`thresh_scf` + * :c:data:`frozen_orb_scf` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`ezfio_set_hartree_fock_energy` + * :c:func:`initialize_mo_coef_begin_iteration` + * :c:func:`mo_as_eigvectors_of_mo_matrix` + * :c:func:`reorder_core_orb` + * :c:func:`save_mos` + * :c:func:`write_double` + * :c:func:`write_time` + + Touches: + + .. hlist:: + :columns: 3 + + * :c:data:`scf_density_matrix_ao_alpha` + * :c:data:`scf_density_matrix_ao_beta` + * :c:data:`mo_coef` + + +.. c:function:: huckel_guess: + + + File : :file:`scf_utils/huckel.irp.f` + + .. code:: fortran + + subroutine huckel_guess + + + Build the MOs using the extended Huckel model + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_one_e_integrals` + * :c:data:`mo_coef` + * :c:data:`eigenvectors_fock_matrix_mo` + * :c:data:`ao_overlap` + * :c:data:`ao_num` + * :c:data:`ao_two_e_integral_alpha` + * :c:data:`fock_matrix_ao_alpha` + * :c:data:`fock_matrix_ao_alpha` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`create_guess` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`save_mos` + + Touches: + + .. hlist:: + :columns: 3 + + * :c:data:`fock_matrix_ao_alpha` + * :c:data:`fock_matrix_ao_alpha` + * :c:data:`mo_coef` + + +.. c:function:: roothaan_hall_scf: + + + File : :file:`scf_utils/roothaan_hall_scf.irp.f` + + .. code:: fortran + + subroutine Roothaan_Hall_SCF + + + Roothaan-Hall algorithm for SCF Hartree-Fock calculation + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`max_dim_diis` + * :c:data:`mo_occ` + * :c:data:`ao_md5` + * :c:data:`mo_coef` + * :c:data:`level_shift` + * :c:data:`fps_spf_matrix_mo` + * :c:data:`eigenvectors_fock_matrix_mo` + * :c:data:`scf_energy` + * :c:data:`mo_num` + * :c:data:`thresh_scf` + * :c:data:`scf_algorithm` + * :c:data:`fock_matrix_mo` + * :c:data:`ao_num` + * :c:data:`fock_matrix_ao` + * :c:data:`mo_label` + * :c:data:`n_it_scf_max` + * :c:data:`threshold_diis_nonzero` + * :c:data:`frozen_orb_scf` + * :c:data:`fock_matrix_ao_alpha` + * :c:data:`fock_matrix_ao_alpha` + * :c:data:`fps_spf_matrix_ao` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`run` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`extrapolate_fock_matrix` + * :c:func:`initialize_mo_coef_begin_iteration` + * :c:func:`mo_as_eigvectors_of_mo_matrix` + * :c:func:`reorder_core_orb` + * :c:func:`save_mos` + * :c:func:`write_double` + * :c:func:`write_time` + + Touches: + + .. hlist:: + :columns: 3 + + * :c:data:`fock_matrix_ao_alpha` + * :c:data:`fock_matrix_ao_alpha` + * :c:data:`mo_coef` + * :c:data:`level_shift` + * :c:data:`mo_coef` + diff --git a/doc/_sources/modules/selectors_cassd.rst.txt b/doc/_sources/modules/selectors_cassd.rst.txt new file mode 100644 index 00000000..57704d5c --- /dev/null +++ b/doc/_sources/modules/selectors_cassd.rst.txt @@ -0,0 +1,13 @@ +.. _module_selectors_cassd: + +.. program:: selectors_cassd + +.. default-role:: option + +=============== +selectors_cassd +=============== + +Selectors for |CAS-SD| calculations. The selectors are defined as first the +generators from :ref:`Generators_CAS`, and then the rest of the wave function. + diff --git a/doc/_sources/modules/selectors_full.rst.txt b/doc/_sources/modules/selectors_full.rst.txt new file mode 100644 index 00000000..98dd62d9 --- /dev/null +++ b/doc/_sources/modules/selectors_full.rst.txt @@ -0,0 +1,153 @@ +.. _module_selectors_full: + +.. program:: selectors_full + +.. default-role:: option + +============== +selectors_full +============== + +All the determinants are possible selectors. Only the largest contributions are kept, where +a threshold is applied to the squared norm of the wave function, with the :option:`determinants +threshold_selectors` flag. + + + +Providers +--------- + +.. c:var:: n_det_selectors + + + File : :file:`selectors_full/selectors.irp.f` + + .. code:: fortran + + integer :: n_det_selectors + + + For Single reference wave functions, the number of selectors is 1 : the + Hartree-Fock determinant + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mpi_master` + * :c:data:`n_det` + * :c:data:`n_det_generators` + * :c:data:`output_wall_time_0` + * :c:data:`psi_det_sorted` + * :c:data:`threshold_selectors` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`coef_hf_selector` + * :c:data:`exc_degree_per_selectors` + * :c:data:`psi_selectors` + * :c:data:`psi_selectors_coef_transp` + * :c:data:`psi_selectors_diag_h_mat` + * :c:data:`pt2_f` + + +.. c:var:: psi_selectors + + + File : :file:`selectors_full/selectors.irp.f` + + .. code:: fortran + + integer(bit_kind), allocatable :: psi_selectors (N_int,2,psi_selectors_size) + double precision, allocatable :: psi_selectors_coef (psi_selectors_size,N_states) + + + Determinants on which we apply for perturbation. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_det_selectors` + * :c:data:`n_int` + * :c:data:`n_states` + * :c:data:`psi_det_sorted` + * :c:data:`psi_selectors_size` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`coef_hf_selector` + * :c:data:`exc_degree_per_selectors` + * :c:data:`psi_selectors_coef_transp` + * :c:data:`psi_selectors_diag_h_mat` + + +.. c:var:: psi_selectors_coef + + + File : :file:`selectors_full/selectors.irp.f` + + .. code:: fortran + + integer(bit_kind), allocatable :: psi_selectors (N_int,2,psi_selectors_size) + double precision, allocatable :: psi_selectors_coef (psi_selectors_size,N_states) + + + Determinants on which we apply for perturbation. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_det_selectors` + * :c:data:`n_int` + * :c:data:`n_states` + * :c:data:`psi_det_sorted` + * :c:data:`psi_selectors_size` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`coef_hf_selector` + * :c:data:`exc_degree_per_selectors` + * :c:data:`psi_selectors_coef_transp` + * :c:data:`psi_selectors_diag_h_mat` + + +.. c:var:: threshold_selectors + + + File : :file:`selectors_full/selectors.irp.f` + + .. code:: fortran + + double precision :: threshold_selectors + + + Thresholds on selectors (fraction of the square of the norm) + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`threshold_generators` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`n_det_selectors` + diff --git a/doc/_sources/modules/selectors_utils.rst.txt b/doc/_sources/modules/selectors_utils.rst.txt new file mode 100644 index 00000000..9c4b3bd4 --- /dev/null +++ b/doc/_sources/modules/selectors_utils.rst.txt @@ -0,0 +1,649 @@ +.. _module_selectors_utils: + +.. program:: selectors_utils + +.. default-role:: option + +=============== +selectors_utils +=============== + +Helper functions for selectors. + + + + +Providers +--------- + +.. c:var:: coef_hf_selector + + + File : :file:`selectors_utils/e_corr_selectors.irp.f` + + .. code:: fortran + + double precision :: coef_hf_selector + double precision :: inv_selectors_coef_hf + double precision :: inv_selectors_coef_hf_squared + double precision, allocatable :: e_corr_per_selectors (N_det_selectors) + double precision, allocatable :: i_h_hf_per_selectors (N_det_selectors) + double precision, allocatable :: delta_e_per_selector (N_det_selectors) + double precision :: e_corr_double_only + double precision :: e_corr_second_order + + + Correlation energy per determinant with respect to the Hartree-Fock determinant + for the all the double excitations in the selectors determinants. + + E_corr_per_selectors(i) = :math:`\langle D_i | H | \text{HF}\rangle c(D_i)/c(HF)` if :math:`| D_i \rangle` is a double excitation. + + E_corr_per_selectors(i) = -1000.d0 if it is not a double excitation + + coef_hf_selector = coefficient of the Hartree Fock determinant in the selectors determinants + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`big_array_coulomb_integrals` + * :c:data:`big_array_coulomb_integrals` + * :c:data:`exc_degree_per_selectors` + * :c:data:`mo_integrals_map` + * :c:data:`mo_two_e_integrals_in_map` + * :c:data:`n_det_selectors` + * :c:data:`n_int` + * :c:data:`psi_selectors` + * :c:data:`ref_bitmask` + * :c:data:`ref_bitmask_energy` + + + +.. c:var:: delta_e_per_selector + + + File : :file:`selectors_utils/e_corr_selectors.irp.f` + + .. code:: fortran + + double precision :: coef_hf_selector + double precision :: inv_selectors_coef_hf + double precision :: inv_selectors_coef_hf_squared + double precision, allocatable :: e_corr_per_selectors (N_det_selectors) + double precision, allocatable :: i_h_hf_per_selectors (N_det_selectors) + double precision, allocatable :: delta_e_per_selector (N_det_selectors) + double precision :: e_corr_double_only + double precision :: e_corr_second_order + + + Correlation energy per determinant with respect to the Hartree-Fock determinant + for the all the double excitations in the selectors determinants. + + E_corr_per_selectors(i) = :math:`\langle D_i | H | \text{HF}\rangle c(D_i)/c(HF)` if :math:`| D_i \rangle` is a double excitation. + + E_corr_per_selectors(i) = -1000.d0 if it is not a double excitation + + coef_hf_selector = coefficient of the Hartree Fock determinant in the selectors determinants + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`big_array_coulomb_integrals` + * :c:data:`big_array_coulomb_integrals` + * :c:data:`exc_degree_per_selectors` + * :c:data:`mo_integrals_map` + * :c:data:`mo_two_e_integrals_in_map` + * :c:data:`n_det_selectors` + * :c:data:`n_int` + * :c:data:`psi_selectors` + * :c:data:`ref_bitmask` + * :c:data:`ref_bitmask_energy` + + + +.. c:var:: double_index_selectors + + + File : :file:`selectors_utils/e_corr_selectors.irp.f` + + .. code:: fortran + + integer, allocatable :: exc_degree_per_selectors (N_det_selectors) + integer, allocatable :: double_index_selectors (N_det_selectors) + integer :: n_double_selectors + + + Degree of excitation respect to Hartree Fock for the wave function + for the all the selectors determinants. + + double_index_selectors = list of the index of the double excitations + + n_double_selectors = number of double excitations in the selectors determinants + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_det_selectors` + * :c:data:`n_int` + * :c:data:`psi_selectors` + * :c:data:`ref_bitmask` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`coef_hf_selector` + + +.. c:var:: e_corr_double_only + + + File : :file:`selectors_utils/e_corr_selectors.irp.f` + + .. code:: fortran + + double precision :: coef_hf_selector + double precision :: inv_selectors_coef_hf + double precision :: inv_selectors_coef_hf_squared + double precision, allocatable :: e_corr_per_selectors (N_det_selectors) + double precision, allocatable :: i_h_hf_per_selectors (N_det_selectors) + double precision, allocatable :: delta_e_per_selector (N_det_selectors) + double precision :: e_corr_double_only + double precision :: e_corr_second_order + + + Correlation energy per determinant with respect to the Hartree-Fock determinant + for the all the double excitations in the selectors determinants. + + E_corr_per_selectors(i) = :math:`\langle D_i | H | \text{HF}\rangle c(D_i)/c(HF)` if :math:`| D_i \rangle` is a double excitation. + + E_corr_per_selectors(i) = -1000.d0 if it is not a double excitation + + coef_hf_selector = coefficient of the Hartree Fock determinant in the selectors determinants + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`big_array_coulomb_integrals` + * :c:data:`big_array_coulomb_integrals` + * :c:data:`exc_degree_per_selectors` + * :c:data:`mo_integrals_map` + * :c:data:`mo_two_e_integrals_in_map` + * :c:data:`n_det_selectors` + * :c:data:`n_int` + * :c:data:`psi_selectors` + * :c:data:`ref_bitmask` + * :c:data:`ref_bitmask_energy` + + + +.. c:var:: e_corr_per_selectors + + + File : :file:`selectors_utils/e_corr_selectors.irp.f` + + .. code:: fortran + + double precision :: coef_hf_selector + double precision :: inv_selectors_coef_hf + double precision :: inv_selectors_coef_hf_squared + double precision, allocatable :: e_corr_per_selectors (N_det_selectors) + double precision, allocatable :: i_h_hf_per_selectors (N_det_selectors) + double precision, allocatable :: delta_e_per_selector (N_det_selectors) + double precision :: e_corr_double_only + double precision :: e_corr_second_order + + + Correlation energy per determinant with respect to the Hartree-Fock determinant + for the all the double excitations in the selectors determinants. + + E_corr_per_selectors(i) = :math:`\langle D_i | H | \text{HF}\rangle c(D_i)/c(HF)` if :math:`| D_i \rangle` is a double excitation. + + E_corr_per_selectors(i) = -1000.d0 if it is not a double excitation + + coef_hf_selector = coefficient of the Hartree Fock determinant in the selectors determinants + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`big_array_coulomb_integrals` + * :c:data:`big_array_coulomb_integrals` + * :c:data:`exc_degree_per_selectors` + * :c:data:`mo_integrals_map` + * :c:data:`mo_two_e_integrals_in_map` + * :c:data:`n_det_selectors` + * :c:data:`n_int` + * :c:data:`psi_selectors` + * :c:data:`ref_bitmask` + * :c:data:`ref_bitmask_energy` + + + +.. c:var:: e_corr_second_order + + + File : :file:`selectors_utils/e_corr_selectors.irp.f` + + .. code:: fortran + + double precision :: coef_hf_selector + double precision :: inv_selectors_coef_hf + double precision :: inv_selectors_coef_hf_squared + double precision, allocatable :: e_corr_per_selectors (N_det_selectors) + double precision, allocatable :: i_h_hf_per_selectors (N_det_selectors) + double precision, allocatable :: delta_e_per_selector (N_det_selectors) + double precision :: e_corr_double_only + double precision :: e_corr_second_order + + + Correlation energy per determinant with respect to the Hartree-Fock determinant + for the all the double excitations in the selectors determinants. + + E_corr_per_selectors(i) = :math:`\langle D_i | H | \text{HF}\rangle c(D_i)/c(HF)` if :math:`| D_i \rangle` is a double excitation. + + E_corr_per_selectors(i) = -1000.d0 if it is not a double excitation + + coef_hf_selector = coefficient of the Hartree Fock determinant in the selectors determinants + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`big_array_coulomb_integrals` + * :c:data:`big_array_coulomb_integrals` + * :c:data:`exc_degree_per_selectors` + * :c:data:`mo_integrals_map` + * :c:data:`mo_two_e_integrals_in_map` + * :c:data:`n_det_selectors` + * :c:data:`n_int` + * :c:data:`psi_selectors` + * :c:data:`ref_bitmask` + * :c:data:`ref_bitmask_energy` + + + +.. c:var:: exc_degree_per_selectors + + + File : :file:`selectors_utils/e_corr_selectors.irp.f` + + .. code:: fortran + + integer, allocatable :: exc_degree_per_selectors (N_det_selectors) + integer, allocatable :: double_index_selectors (N_det_selectors) + integer :: n_double_selectors + + + Degree of excitation respect to Hartree Fock for the wave function + for the all the selectors determinants. + + double_index_selectors = list of the index of the double excitations + + n_double_selectors = number of double excitations in the selectors determinants + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_det_selectors` + * :c:data:`n_int` + * :c:data:`psi_selectors` + * :c:data:`ref_bitmask` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`coef_hf_selector` + + +.. c:var:: i_h_hf_per_selectors + + + File : :file:`selectors_utils/e_corr_selectors.irp.f` + + .. code:: fortran + + double precision :: coef_hf_selector + double precision :: inv_selectors_coef_hf + double precision :: inv_selectors_coef_hf_squared + double precision, allocatable :: e_corr_per_selectors (N_det_selectors) + double precision, allocatable :: i_h_hf_per_selectors (N_det_selectors) + double precision, allocatable :: delta_e_per_selector (N_det_selectors) + double precision :: e_corr_double_only + double precision :: e_corr_second_order + + + Correlation energy per determinant with respect to the Hartree-Fock determinant + for the all the double excitations in the selectors determinants. + + E_corr_per_selectors(i) = :math:`\langle D_i | H | \text{HF}\rangle c(D_i)/c(HF)` if :math:`| D_i \rangle` is a double excitation. + + E_corr_per_selectors(i) = -1000.d0 if it is not a double excitation + + coef_hf_selector = coefficient of the Hartree Fock determinant in the selectors determinants + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`big_array_coulomb_integrals` + * :c:data:`big_array_coulomb_integrals` + * :c:data:`exc_degree_per_selectors` + * :c:data:`mo_integrals_map` + * :c:data:`mo_two_e_integrals_in_map` + * :c:data:`n_det_selectors` + * :c:data:`n_int` + * :c:data:`psi_selectors` + * :c:data:`ref_bitmask` + * :c:data:`ref_bitmask_energy` + + + +.. c:var:: inv_selectors_coef_hf + + + File : :file:`selectors_utils/e_corr_selectors.irp.f` + + .. code:: fortran + + double precision :: coef_hf_selector + double precision :: inv_selectors_coef_hf + double precision :: inv_selectors_coef_hf_squared + double precision, allocatable :: e_corr_per_selectors (N_det_selectors) + double precision, allocatable :: i_h_hf_per_selectors (N_det_selectors) + double precision, allocatable :: delta_e_per_selector (N_det_selectors) + double precision :: e_corr_double_only + double precision :: e_corr_second_order + + + Correlation energy per determinant with respect to the Hartree-Fock determinant + for the all the double excitations in the selectors determinants. + + E_corr_per_selectors(i) = :math:`\langle D_i | H | \text{HF}\rangle c(D_i)/c(HF)` if :math:`| D_i \rangle` is a double excitation. + + E_corr_per_selectors(i) = -1000.d0 if it is not a double excitation + + coef_hf_selector = coefficient of the Hartree Fock determinant in the selectors determinants + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`big_array_coulomb_integrals` + * :c:data:`big_array_coulomb_integrals` + * :c:data:`exc_degree_per_selectors` + * :c:data:`mo_integrals_map` + * :c:data:`mo_two_e_integrals_in_map` + * :c:data:`n_det_selectors` + * :c:data:`n_int` + * :c:data:`psi_selectors` + * :c:data:`ref_bitmask` + * :c:data:`ref_bitmask_energy` + + + +.. c:var:: inv_selectors_coef_hf_squared + + + File : :file:`selectors_utils/e_corr_selectors.irp.f` + + .. code:: fortran + + double precision :: coef_hf_selector + double precision :: inv_selectors_coef_hf + double precision :: inv_selectors_coef_hf_squared + double precision, allocatable :: e_corr_per_selectors (N_det_selectors) + double precision, allocatable :: i_h_hf_per_selectors (N_det_selectors) + double precision, allocatable :: delta_e_per_selector (N_det_selectors) + double precision :: e_corr_double_only + double precision :: e_corr_second_order + + + Correlation energy per determinant with respect to the Hartree-Fock determinant + for the all the double excitations in the selectors determinants. + + E_corr_per_selectors(i) = :math:`\langle D_i | H | \text{HF}\rangle c(D_i)/c(HF)` if :math:`| D_i \rangle` is a double excitation. + + E_corr_per_selectors(i) = -1000.d0 if it is not a double excitation + + coef_hf_selector = coefficient of the Hartree Fock determinant in the selectors determinants + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`big_array_coulomb_integrals` + * :c:data:`big_array_coulomb_integrals` + * :c:data:`exc_degree_per_selectors` + * :c:data:`mo_integrals_map` + * :c:data:`mo_two_e_integrals_in_map` + * :c:data:`n_det_selectors` + * :c:data:`n_int` + * :c:data:`psi_selectors` + * :c:data:`ref_bitmask` + * :c:data:`ref_bitmask_energy` + + + +.. c:var:: n_double_selectors + + + File : :file:`selectors_utils/e_corr_selectors.irp.f` + + .. code:: fortran + + integer, allocatable :: exc_degree_per_selectors (N_det_selectors) + integer, allocatable :: double_index_selectors (N_det_selectors) + integer :: n_double_selectors + + + Degree of excitation respect to Hartree Fock for the wave function + for the all the selectors determinants. + + double_index_selectors = list of the index of the double excitations + + n_double_selectors = number of double excitations in the selectors determinants + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_det_selectors` + * :c:data:`n_int` + * :c:data:`psi_selectors` + * :c:data:`ref_bitmask` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`coef_hf_selector` + + +.. c:var:: psi_selectors_coef_transp + + + File : :file:`selectors_utils/selectors.irp.f` + + .. code:: fortran + + double precision, allocatable :: psi_selectors_coef_transp (N_states,psi_selectors_size) + + + Transposed psi_selectors + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_det_selectors` + * :c:data:`n_states` + * :c:data:`psi_selectors` + * :c:data:`psi_selectors_size` + + + +.. c:var:: psi_selectors_diag_h_mat + + + File : :file:`selectors_utils/selectors.irp.f` + + .. code:: fortran + + double precision, allocatable :: psi_selectors_diag_h_mat (psi_selectors_size) + + + Diagonal elements of the H matrix for each selectors + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`elec_num` + * :c:data:`n_det_selectors` + * :c:data:`n_int` + * :c:data:`psi_selectors` + * :c:data:`psi_selectors_size` + * :c:data:`ref_bitmask` + * :c:data:`ref_bitmask_energy` + + + +.. c:var:: psi_selectors_size + + + File : :file:`selectors_utils/selectors.irp.f` + + .. code:: fortran + + integer :: psi_selectors_size + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`psi_det_size` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`psi_selectors` + * :c:data:`psi_selectors_coef_transp` + * :c:data:`psi_selectors_diag_h_mat` + + + +Subroutines / functions +----------------------- + +.. c:function:: zmq_get_n_det_generators: + + + File : :file:`selectors_utils/zmq.irp.f_template_102` + + .. code:: fortran + + integer function zmq_get_N_det_generators(zmq_to_qp_run_socket, worker_id) + + + Get N_det_generators from the qp_run scheduler + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_det_generators` + * :c:data:`zmq_state` + * :c:data:`mpi_master` + + +.. c:function:: zmq_get_n_det_selectors: + + + File : :file:`selectors_utils/zmq.irp.f_template_102` + + .. code:: fortran + + integer function zmq_get_N_det_selectors(zmq_to_qp_run_socket, worker_id) + + + Get N_det_selectors from the qp_run scheduler + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_det_selectors` + * :c:data:`zmq_state` + * :c:data:`mpi_master` + + +.. c:function:: zmq_put_n_det_generators: + + + File : :file:`selectors_utils/zmq.irp.f_template_102` + + .. code:: fortran + + integer function zmq_put_N_det_generators(zmq_to_qp_run_socket,worker_id) + + + Put N_det_generators on the qp_run scheduler + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_det_generators` + * :c:data:`zmq_state` + + +.. c:function:: zmq_put_n_det_selectors: + + + File : :file:`selectors_utils/zmq.irp.f_template_102` + + .. code:: fortran + + integer function zmq_put_N_det_selectors(zmq_to_qp_run_socket,worker_id) + + + Put N_det_selectors on the qp_run scheduler + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_det_selectors` + * :c:data:`zmq_state` + diff --git a/doc/_sources/modules/single_ref_method.rst.txt b/doc/_sources/modules/single_ref_method.rst.txt new file mode 100644 index 00000000..e0d17a00 --- /dev/null +++ b/doc/_sources/modules/single_ref_method.rst.txt @@ -0,0 +1,14 @@ +.. _module_single_ref_method: + +.. program:: single_ref_method + +.. default-role:: option + +================= +single_ref_method +================= + +Include this module for single reference methods. +Using this module, the only generator determinant is the Hartree-Fock determinant. + + diff --git a/doc/_sources/modules/tools.rst.txt b/doc/_sources/modules/tools.rst.txt new file mode 100644 index 00000000..dfe746cc --- /dev/null +++ b/doc/_sources/modules/tools.rst.txt @@ -0,0 +1,246 @@ +.. _module_tools: + +.. program:: tools + +.. default-role:: option + +===== +tools +===== + +Useful tools are grouped in this module. + + + +Programs +-------- + + * :ref:`diagonalize_h` + * :ref:`fcidump` + * :ref:`four_idx_transform` + * :ref:`molden` + * :ref:`print_e_conv` + * :ref:`print_wf` + * :ref:`save_natorb` + * :ref:`save_one_e_dm` + * :ref:`save_ortho_mos` + * :ref:`write_integrals_erf` + +Subroutines / functions +----------------------- + +.. c:function:: routine: + + + File : :file:`write_integrals_erf.irp.f` + + .. code:: fortran + + subroutine routine + + + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`diagonalize_h` + * :c:func:`print_wf` + * :c:func:`write_integrals_erf` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`save_erf_two_e_integrals_ao` + * :c:func:`save_erf_two_e_integrals_mo` + + +.. c:function:: routine_e_conv: + + + File : :file:`print_e_conv.irp.f` + + .. code:: fortran + + subroutine routine_e_conv + + + routine called by :c:func:`print_e_conv` + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`n_states` + * :c:data:`ezfio_filename` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`print_e_conv` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`ezfio_get_iterations_energy_iterations` + * :c:func:`ezfio_get_iterations_n_det_iterations` + * :c:func:`ezfio_get_iterations_n_iter` + * :c:func:`ezfio_get_iterations_pt2_iterations` + + +.. c:function:: routine_save_one_e_dm: + + + File : :file:`save_one_e_dm.irp.f` + + .. code:: fortran + + subroutine routine_save_one_e_dm + + + routine called by :c:func:`save_one_e_dm` + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`one_e_dm_mo_alpha` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`save_one_e_dm` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`ezfio_set_aux_quantities_data_one_e_dm_alpha_mo` + * :c:func:`ezfio_set_aux_quantities_data_one_e_dm_beta_mo` + + +.. c:function:: write_ao_basis: + + + File : :file:`molden.irp.f` + + .. code:: fortran + + subroutine write_Ao_basis(i_unit_output) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`nucl_list_shell_aos` + * :c:data:`ao_coef` + * :c:data:`ao_num` + * :c:data:`ao_prim_num` + * :c:data:`nucl_charge` + * :c:data:`ao_l` + * :c:data:`ao_expo` + * :c:data:`element_name` + * :c:data:`nucl_num` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`molden` + + +.. c:function:: write_geometry: + + + File : :file:`molden.irp.f` + + .. code:: fortran + + subroutine write_geometry(i_unit_output) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`nucl_coord` + * :c:data:`nucl_charge` + * :c:data:`element_name` + * :c:data:`nucl_num` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`molden` + + +.. c:function:: write_intro_gamess: + + + File : :file:`molden.irp.f` + + .. code:: fortran + + subroutine write_intro_gamess(i_unit_output) + + + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`molden` + + +.. c:function:: write_mo_basis: + + + File : :file:`molden.irp.f` + + .. code:: fortran + + subroutine write_Mo_basis(i_unit_output) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_num` + * :c:data:`mo_coef` + * :c:data:`ao_num` + * :c:data:`ao_l_char_space` + * :c:data:`nucl_charge` + * :c:data:`ao_nucl` + * :c:data:`element_name` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`molden` + diff --git a/doc/_sources/modules/utils.rst.txt b/doc/_sources/modules/utils.rst.txt new file mode 100644 index 00000000..d2c76ba2 --- /dev/null +++ b/doc/_sources/modules/utils.rst.txt @@ -0,0 +1,3024 @@ +.. _module_utils: + +.. program:: utils + +.. default-role:: option + +===== +utils +===== + +Contains general purpose utilities (sorting, maps, etc). + + + + +Providers +--------- + +.. c:var:: binom + + + File : :file:`utils/util.irp.f` + + .. code:: fortran + + double precision, allocatable :: binom (0:40,0:40) + double precision, allocatable :: binom_transp (0:40,0:40) + + + Binomial coefficients + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`binom_int` + + +.. c:var:: binom_int + + + File : :file:`utils/util.irp.f` + + .. code:: fortran + + integer*8, allocatable :: binom_int (0:40,0:40) + integer*8, allocatable :: binom_int_transp (0:40,0:40) + + + Binomial coefficients, as integers*8 + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`binom` + + + +.. c:var:: binom_int_transp + + + File : :file:`utils/util.irp.f` + + .. code:: fortran + + integer*8, allocatable :: binom_int (0:40,0:40) + integer*8, allocatable :: binom_int_transp (0:40,0:40) + + + Binomial coefficients, as integers*8 + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`binom` + + + +.. c:var:: binom_transp + + + File : :file:`utils/util.irp.f` + + .. code:: fortran + + double precision, allocatable :: binom (0:40,0:40) + double precision, allocatable :: binom_transp (0:40,0:40) + + + Binomial coefficients + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`binom_int` + + +.. c:var:: degree_max_integration_lebedev + + + File : :file:`utils/angular_integration.irp.f` + + .. code:: fortran + + integer :: degree_max_integration_lebedev + + + integrate correctly a polynom of order "degree_max_integration_lebedev" + needed for the angular integration according to LEBEDEV formulae + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`n_points_integration_angular_lebedev` + * :c:data:`theta_angular_integration_lebedev` + + +.. c:function:: dtranspose: + + + File : :file:`utils/transpose.irp.f` + + .. code:: fortran + + recursive subroutine dtranspose(A,LDA,B,LDB,d1,d2) + + + Transpose input matrix A into output matrix B + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`dtranspose` + * :c:func:`h_s2_u_0_nstates_openmp` + * :c:func:`h_s2_u_0_nstates_zmq` + * :c:func:`h_s2_u_0_two_e_nstates_openmp` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`dtranspose` + + +.. c:var:: fact_inv + + + File : :file:`utils/util.irp.f` + + .. code:: fortran + + double precision, allocatable :: fact_inv (128) + + + 1/n! + + + +.. c:function:: i2radix_sort: + + + File : :file:`utils/sort.irp.f_template_644` + + .. code:: fortran + + recursive subroutine i2radix_sort(x,iorder,isize,iradix) + + + Sort integer array x(isize) using the radix sort algorithm. + iorder in input should be (1,2,3,...,isize), and in output + contains the new order of the elements. + iradix should be -1 in input. + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`get_mo_two_e_integrals_erf_i1j1` + * :c:func:`get_mo_two_e_integrals_erf_ij` + * :c:func:`get_mo_two_e_integrals_i1j1` + * :c:func:`get_mo_two_e_integrals_ij` + * :c:func:`i2radix_sort` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`i2radix_sort` + * :c:func:`insertion_i2sort` + + +.. c:function:: i8radix_sort: + + + File : :file:`utils/sort.irp.f_template_644` + + .. code:: fortran + + recursive subroutine i8radix_sort(x,iorder,isize,iradix) + + + Sort integer array x(isize) using the radix sort algorithm. + iorder in input should be (1,2,3,...,isize), and in output + contains the new order of the elements. + iradix should be -1 in input. + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`get_mo_two_e_integrals_erf_i1j1` + * :c:func:`get_mo_two_e_integrals_erf_ij` + * :c:func:`get_mo_two_e_integrals_i1j1` + * :c:func:`get_mo_two_e_integrals_ij` + * :c:func:`i8radix_sort` + * :c:data:`psi_bilinear_matrix_transp_values` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`i8radix_sort` + * :c:func:`insertion_i8sort` + + +.. c:function:: i8radix_sort_big: + + + File : :file:`utils/sort.irp.f_template_644` + + .. code:: fortran + + recursive subroutine i8radix_sort_big(x,iorder,isize,iradix) + + + Sort integer array x(isize) using the radix sort algorithm. + iorder in input should be (1,2,3,...,isize), and in output + contains the new order of the elements. + iradix should be -1 in input. + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`i8radix_sort_big` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`i8radix_sort_big` + * :c:func:`insertion_i8sort_big` + + +.. c:var:: inv_int + + + File : :file:`utils/util.irp.f` + + .. code:: fortran + + double precision, allocatable :: inv_int (128) + + + 1/i + + + +.. c:function:: iradix_sort: + + + File : :file:`utils/sort.irp.f_template_644` + + .. code:: fortran + + recursive subroutine iradix_sort(x,iorder,isize,iradix) + + + Sort integer array x(isize) using the radix sort algorithm. + iorder in input should be (1,2,3,...,isize), and in output + contains the new order of the elements. + iradix should be -1 in input. + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`get_mo_two_e_integrals_erf_i1j1` + * :c:func:`get_mo_two_e_integrals_erf_ij` + * :c:func:`get_mo_two_e_integrals_i1j1` + * :c:func:`get_mo_two_e_integrals_ij` + * :c:func:`iradix_sort` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`insertion_isort` + * :c:func:`iradix_sort` + + +.. c:function:: iradix_sort_big: + + + File : :file:`utils/sort.irp.f_template_644` + + .. code:: fortran + + recursive subroutine iradix_sort_big(x,iorder,isize,iradix) + + + Sort integer array x(isize) using the radix sort algorithm. + iorder in input should be (1,2,3,...,isize), and in output + contains the new order of the elements. + iradix should be -1 in input. + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`iradix_sort_big` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`insertion_isort_big` + * :c:func:`iradix_sort_big` + + +.. c:var:: n_points_integration_angular_lebedev + + + File : :file:`utils/angular_integration.irp.f` + + .. code:: fortran + + integer :: n_points_integration_angular_lebedev + + + Number of points needed for the angular integral + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`degree_max_integration_lebedev` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`theta_angular_integration_lebedev` + + +.. c:var:: nproc + + + File : :file:`utils/util.irp.f` + + .. code:: fortran + + integer :: nproc + + + Number of current OpenMP threads + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_two_e_integrals_erf_in_map` + * :c:data:`ao_two_e_integrals_in_map` + * :c:data:`h_apply_buffer_allocated` + * :c:data:`n_det` + * :c:data:`nthreads_davidson` + * :c:data:`nthreads_pt2` + + +.. c:function:: overlap_gaussian_xyz: + + + File : :file:`utils/one_e_integration.irp.f` + + .. code:: fortran + + subroutine overlap_gaussian_xyz(A_center,B_center,alpha,beta,power_A,& + power_B,overlap_x,overlap_y,overlap_z,overlap,dim) + + + .. math:: + + S_x = \int (x-A_x)^{a_x} exp(-\alpha(x-A_x)^2) (x-B_x)^{b_x} exp(-beta(x-B_x)^2) dx \\ + S = S_x S_y S_z + + + Called by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_coef_normalization_libint_factor` + * :c:data:`ao_coef_normalized` + * :c:data:`ao_deriv2_x` + * :c:data:`ao_deriv_1_x` + * :c:data:`ao_dipole_x` + * :c:data:`ao_overlap` + * :c:data:`ao_spread_x` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`gaussian_product_x` + * :c:func:`give_explicit_poly_and_gaussian` + + +.. c:var:: phi_angular_integration_lebedev + + + File : :file:`utils/angular_integration.irp.f` + + .. code:: fortran + + double precision, allocatable :: theta_angular_integration_lebedev (n_points_integration_angular_lebedev) + double precision, allocatable :: phi_angular_integration_lebedev (n_points_integration_angular_lebedev) + double precision, allocatable :: weights_angular_integration_lebedev (n_points_integration_angular_lebedev) + + + Theta phi values together with the weights values for the angular integration : + integral [dphi,dtheta] f(x,y,z) = 4 * pi * sum (1 where i is the basis function and psi_j is the j th eigenvector + + + Called by: + + .. hlist:: + :columns: 3 + + * :c:data:`ci_electronic_energy` + * :c:func:`davidson_diag_hjj_sjj` + * :c:func:`mo_as_eigvectors_of_mo_matrix` + * :c:data:`psi_coef_cas_diagonalized` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`dsyev` + + +.. c:function:: lapack_diagd: + + + File : :file:`utils/linear_algebra.irp.f` + + .. code:: fortran + + subroutine lapack_diagd(eigvalues,eigvectors,H,nmax,n) + + + Diagonalize matrix H + + H is untouched between input and ouptut + + eigevalues(i) = ith lowest eigenvalue of the H matrix + + eigvectors(i,j) = where i is the basis function and psi_j is the j th eigenvector + + + Called by: + + .. hlist:: + :columns: 3 + + * :c:data:`inertia_tensor_eigenvectors` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`dsyevd` + + +.. c:function:: logfact: + + + File : :file:`utils/util.irp.f` + + .. code:: fortran + + double precision function logfact(n) + + + n! + + +.. c:function:: lowercase: + + + File : :file:`utils/util.irp.f` + + .. code:: fortran + + subroutine lowercase(txt,n) + + + Transform to lower case + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`end_parallel_job` + * :c:func:`new_parallel_job` + + +.. c:function:: map_load_from_disk: + + + File : :file:`utils/map_functions.irp.f` + + .. code:: fortran + + subroutine map_load_from_disk(filename,map) + + + + Called by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_two_e_integrals_erf_in_map` + * :c:data:`ao_two_e_integrals_in_map` + * :c:data:`mo_two_e_integrals_erf_in_map` + * :c:data:`mo_two_e_integrals_in_map` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`c_f_pointer` + * :c:func:`mmap` + + +.. c:function:: map_save_to_disk: + + + File : :file:`utils/map_functions.irp.f` + + .. code:: fortran + + subroutine map_save_to_disk(filename,map) + + + + Called by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_two_e_integrals_erf_in_map` + * :c:data:`ao_two_e_integrals_in_map` + * :c:data:`mo_two_e_integrals_erf_in_map` + * :c:data:`mo_two_e_integrals_in_map` + * :c:func:`save_erf_two_e_integrals_ao` + * :c:func:`save_erf_two_e_integrals_mo` + * :c:func:`save_erf_two_e_ints_ao_into_ints_ao` + * :c:func:`save_erf_two_e_ints_mo_into_ints_mo` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`c_f_pointer` + * :c:func:`map_sort` + * :c:func:`mmap` + * :c:func:`msync` + + +.. c:function:: memory_of_double: + + + File : :file:`utils/memory.irp.f` + + .. code:: fortran + + double precision function memory_of_double(n) + + + Computes the memory required for n double precision elements in gigabytes. + + +.. c:function:: memory_of_int: + + + File : :file:`utils/memory.irp.f` + + .. code:: fortran + + double precision function memory_of_int(n) + + + Computes the memory required for n double precision elements in gigabytes. + + +.. c:function:: multiply_poly: + + + File : :file:`utils/integration.irp.f` + + .. code:: fortran + + subroutine multiply_poly(b,nb,c,nc,d,nd) + + + Multiply two polynomials + D(t) =! D(t) +( B(t)*C(t)) + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`general_primitive_integral` + * :c:func:`general_primitive_integral_erf` + * :c:func:`give_explicit_poly_and_gaussian` + * :c:func:`give_explicit_poly_and_gaussian_x` + * :c:func:`give_polynomial_mult_center_one_e` + * :c:func:`give_polynomial_mult_center_one_e_erf` + * :c:func:`give_polynomial_mult_center_one_e_erf_opt` + * :c:func:`i_x1_pol_mult_a1` + * :c:func:`i_x1_pol_mult_a2` + * :c:func:`i_x1_pol_mult_one_e` + * :c:func:`i_x1_pol_mult_recurs` + * :c:func:`i_x2_pol_mult` + * :c:func:`i_x2_pol_mult_one_e` + + +.. c:function:: normalize: + + + File : :file:`utils/util.irp.f` + + .. code:: fortran + + subroutine normalize(u,sze) + + + Normalizes vector u + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`copy_h_apply_buffer_to_wf` + * :c:func:`davidson_diag_hjj_sjj` + * :c:func:`save_wavefunction_general` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`dscal` + + +.. c:function:: ortho_canonical: + + + File : :file:`utils/linear_algebra.irp.f` + + .. code:: fortran + + subroutine ortho_canonical(overlap,LDA,N,C,LDC,m) + + + Compute C_new=C_old.U.s^-1/2 canonical orthogonalization. + + overlap : overlap matrix + + LDA : leftmost dimension of overlap array + + N : Overlap matrix is NxN (array is (LDA,N) ) + + C : Coefficients of the vectors to orthogonalize. On exit, + orthogonal vectors + + LDC : leftmost dimension of C + + m : Coefficients matrix is MxN, ( array is (LDC,N) ) + + + Called by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_ortho_canonical_coef` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`dgemm` + * :c:func:`svd` + + +.. c:function:: ortho_lowdin: + + + File : :file:`utils/linear_algebra.irp.f` + + .. code:: fortran + + subroutine ortho_lowdin(overlap,LDA,N,C,LDC,m) + + + Compute C_new=C_old.S^-1/2 orthogonalization. + + overlap : overlap matrix + + LDA : leftmost dimension of overlap array + + N : Overlap matrix is NxN (array is (LDA,N) ) + + C : Coefficients of the vectors to orthogonalize. On exit, + orthogonal vectors + + LDC : leftmost dimension of C + + M : Coefficients matrix is MxN, ( array is (LDC,N) ) + + + Called by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_ortho_lowdin_coef` + * :c:func:`orthonormalize_mos` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`dgemm` + * :c:func:`svd` + + +.. c:function:: ortho_qr: + + + File : :file:`utils/linear_algebra.irp.f` + + .. code:: fortran + + subroutine ortho_qr(A,LDA,m,n) + + + Orthogonalization using Q.R factorization + + A : matrix to orthogonalize + + LDA : leftmost dimension of A + + n : Number of rows of A + + m : Number of columns of A + + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`davidson_diag_hjj_sjj` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`dgeqrf` + * :c:func:`dorgqr` + + +.. c:function:: ortho_qr_unblocked: + + + File : :file:`utils/linear_algebra.irp.f` + + .. code:: fortran + + subroutine ortho_qr_unblocked(A,LDA,m,n) + + + Orthogonalization using Q.R factorization + + A : matrix to orthogonalize + + LDA : leftmost dimension of A + + n : Number of rows of A + + m : Number of columns of A + + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`dgeqr2` + * :c:func:`dorg2r` + + +.. c:function:: overlap_gaussian_x: + + + File : :file:`utils/one_e_integration.irp.f` + + .. code:: fortran + + double precision function overlap_gaussian_x(A_center,B_center,alpha,beta,power_A,power_B,dim) + + + .. math:: + + \sum_{-infty}^{+infty} (x-A_x)^ax (x-B_x)^bx exp(-alpha(x-A_x)^2) exp(-beta(x-B_X)^2) dx + + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`give_explicit_poly_and_gaussian_x` + + +.. c:function:: overlap_x_abs: + + + File : :file:`utils/one_e_integration.irp.f` + + .. code:: fortran + + subroutine overlap_x_abs(A_center,B_center,alpha,beta,power_A,power_B,overlap_x,lower_exp_val,dx,nx) + + + .. math :: + + \int_{-infty}^{+infty} (x-A_center)^(power_A) * (x-B_center)^power_B * exp(-alpha(x-A_center)^2) * exp(-beta(x-B_center)^2) dx + + + Called by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_overlap_abs` + + +.. c:function:: print_memory_usage: + + + File : :file:`utils/memory.irp.f` + + .. code:: fortran + + subroutine print_memory_usage() + + + Prints the memory usage in the output + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`write_time` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`resident_memory` + * :c:func:`total_memory` + + +.. c:function:: quick_dsort: + + + File : :file:`utils/sort.irp.f_template_261` + + .. code:: fortran + + subroutine quick_dsort(x, iorder, isize) + + + Sort array x(isize) using the quicksort algorithm. + iorder in input should be (1,2,3,...,isize), and in output + contains the new order of the elements. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`nproc` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`dsort` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`rec_d_quicksort` + + +.. c:function:: quick_i2sort: + + + File : :file:`utils/sort.irp.f_template_261` + + .. code:: fortran + + subroutine quick_i2sort(x, iorder, isize) + + + Sort array x(isize) using the quicksort algorithm. + iorder in input should be (1,2,3,...,isize), and in output + contains the new order of the elements. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`nproc` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`i2sort` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`rec_i2_quicksort` + + +.. c:function:: quick_i8sort: + + + File : :file:`utils/sort.irp.f_template_261` + + .. code:: fortran + + subroutine quick_i8sort(x, iorder, isize) + + + Sort array x(isize) using the quicksort algorithm. + iorder in input should be (1,2,3,...,isize), and in output + contains the new order of the elements. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`nproc` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`i8sort` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`rec_i8_quicksort` + + +.. c:function:: quick_isort: + + + File : :file:`utils/sort.irp.f_template_261` + + .. code:: fortran + + subroutine quick_isort(x, iorder, isize) + + + Sort array x(isize) using the quicksort algorithm. + iorder in input should be (1,2,3,...,isize), and in output + contains the new order of the elements. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`nproc` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`isort` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`rec_i_quicksort` + + +.. c:function:: quick_sort: + + + File : :file:`utils/sort.irp.f_template_261` + + .. code:: fortran + + subroutine quick_sort(x, iorder, isize) + + + Sort array x(isize) using the quicksort algorithm. + iorder in input should be (1,2,3,...,isize), and in output + contains the new order of the elements. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`nproc` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`sort` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`rec__quicksort` + + +.. c:function:: recentered_poly2: + + + File : :file:`utils/integration.irp.f` + + .. code:: fortran + + subroutine recentered_poly2(P_new,x_A,x_P,a,P_new2,x_B,x_Q,b) + + + Recenter two polynomials + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`binom` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`give_explicit_poly_and_gaussian` + * :c:func:`give_explicit_poly_and_gaussian_x` + + +.. c:function:: resident_memory: + + + File : :file:`utils/memory.irp.f` + + .. code:: fortran + + subroutine resident_memory(value) + + + Returns the current used memory in gigabytes used by the current process. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`file_lock` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`check_mem` + * :c:func:`davidson_diag_hjj_sjj` + * :c:func:`print_memory_usage` + * :c:func:`zmq_pt2` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`omp_set_lock` + * :c:func:`omp_unset_lock` + + +.. c:function:: rint: + + + File : :file:`utils/integration.irp.f` + + .. code:: fortran + + double precision function rint(n,rho) + + + .. math:: + + \int_0^1 dx \exp(-p x^2) x^n + + + +.. c:function:: rint1: + + + File : :file:`utils/integration.irp.f` + + .. code:: fortran + + double precision function rint1(n,rho) + + + Standard version of rint + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`inv_int` + * :c:data:`fact_inv` + + +.. c:function:: rint_large_n: + + + File : :file:`utils/integration.irp.f` + + .. code:: fortran + + double precision function rint_large_n(n,rho) + + + Version of rint for large values of n + + +.. c:function:: rint_sum: + + + File : :file:`utils/integration.irp.f` + + .. code:: fortran + + double precision function rint_sum(n_pt_out,rho,d1) + + + Needed for the calculation of two-electron integrals. + + +.. c:function:: rinteg: + + + File : :file:`utils/need.irp.f` + + .. code:: fortran + + double precision function rinteg(n,u) + + + + +.. c:function:: rintgauss: + + + File : :file:`utils/need.irp.f` + + .. code:: fortran + + double precision function rintgauss(n) + + + + +.. c:function:: sabpartial: + + + File : :file:`utils/need.irp.f` + + .. code:: fortran + + double precision function SABpartial(zA,zB,A,B,nA,nB,gamA,gamB,l) + + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`binom` + + +.. c:function:: set_order: + + + File : :file:`utils/sort.irp.f_template_347` + + .. code:: fortran + + subroutine set_order(x,iorder,isize) + + + array A has already been sorted, and iorder has contains the new order of + elements of A. This subroutine changes the order of x to match the new order of A. + + +.. c:function:: set_order_big: + + + File : :file:`utils/sort.irp.f_template_412` + + .. code:: fortran + + subroutine set_order_big(x,iorder,isize) + + + array A has already been sorted, and iorder has contains the new order of + elements of A. This subroutine changes the order of x to match the new order of A. + This is a version for very large arrays where the indices need + to be in integer*8 format + + +.. c:function:: sort: + + + File : :file:`utils/sort.irp.f_template_293` + + .. code:: fortran + + subroutine sort(x,iorder,isize) + + + Sort array x(isize). + iorder in input should be (1,2,3,...,isize), and in output + contains the new order of the elements. + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`insertion_sort` + * :c:func:`quick_sort` + + +.. c:function:: sorted_dnumber: + + + File : :file:`utils/sort.irp.f_template_261` + + .. code:: fortran + + subroutine sorted_dnumber(x,isize,n) + + + Returns the number of sorted elements + + +.. c:function:: sorted_i2number: + + + File : :file:`utils/sort.irp.f_template_261` + + .. code:: fortran + + subroutine sorted_i2number(x,isize,n) + + + Returns the number of sorted elements + + +.. c:function:: sorted_i8number: + + + File : :file:`utils/sort.irp.f_template_261` + + .. code:: fortran + + subroutine sorted_i8number(x,isize,n) + + + Returns the number of sorted elements + + +.. c:function:: sorted_inumber: + + + File : :file:`utils/sort.irp.f_template_261` + + .. code:: fortran + + subroutine sorted_inumber(x,isize,n) + + + Returns the number of sorted elements + + +.. c:function:: sorted_number: + + + File : :file:`utils/sort.irp.f_template_261` + + .. code:: fortran + + subroutine sorted_number(x,isize,n) + + + Returns the number of sorted elements + + +.. c:function:: svd: + + + File : :file:`utils/linear_algebra.irp.f` + + .. code:: fortran + + subroutine svd(A,LDA,U,LDU,D,Vt,LDVt,m,n) + + + Compute A = U.D.Vt + + LDx : leftmost dimension of x + + Dimsneion of A is m x n + + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`mo_as_svd_vectors_of_mo_matrix` + * :c:func:`mo_as_svd_vectors_of_mo_matrix_eig` + * :c:func:`ortho_canonical` + * :c:func:`ortho_lowdin` + * :c:data:`s_half` + * :c:data:`s_half_inv` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`dgesvd` + + +.. c:function:: total_memory: + + + File : :file:`utils/memory.irp.f` + + .. code:: fortran + + subroutine total_memory(value) + + + Returns the current used memory in gigabytes used by the current process. + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`print_memory_usage` + + +.. c:function:: u_dot_u: + + + File : :file:`utils/util.irp.f` + + .. code:: fortran + + double precision function u_dot_u(u,sze) + + + Compute + + +.. c:function:: u_dot_v: + + + File : :file:`utils/util.irp.f` + + .. code:: fortran + + double precision function u_dot_v(u,v,sze) + + + Compute + + +.. c:function:: wall_time: + + + File : :file:`utils/util.irp.f` + + .. code:: fortran + + subroutine wall_time(t) + + + The equivalent of cpu_time, but for the wall time. + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`add_integrals_to_map` + * :c:func:`add_integrals_to_map_erf` + * :c:func:`add_integrals_to_map_no_exit_34` + * :c:func:`add_integrals_to_map_three_indices` + * :c:data:`ao_pseudo_integrals_local` + * :c:data:`ao_pseudo_integrals_non_local` + * :c:data:`ao_two_e_integrals_erf_in_map` + * :c:data:`ao_two_e_integrals_in_map` + * :c:func:`davidson_converged` + * :c:func:`davidson_diag_hjj_sjj` + * :c:data:`output_wall_time_0` + * :c:func:`pt2_collector` + * :c:func:`run_pt2_slave` + * :c:func:`run_slave_main` + * :c:func:`write_time` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`system_clock` + + +.. c:function:: write_git_log: + + + File : :file:`utils/util.irp.f` + + .. code:: fortran + + subroutine write_git_log(iunit) + + + Write the last git commit in file iunit. + diff --git a/doc/_sources/modules/zmq.rst.txt b/doc/_sources/modules/zmq.rst.txt new file mode 100644 index 00000000..92a2fe6a --- /dev/null +++ b/doc/_sources/modules/zmq.rst.txt @@ -0,0 +1,1513 @@ +.. _module_zmq: + +.. program:: zmq + +.. default-role:: option + +=== +zmq +=== + +Definition of |ZeroMQ| sockets and messages. + + + + + +Providers +--------- + +.. c:var:: is_zmq_slave + + + File : :file:`zmq/utils.irp.f` + + .. code:: fortran + + logical :: is_zmq_slave + + + If |true|, the current process is a |ZeroMQ| slave. + + + +.. c:var:: qp_run_address + + + File : :file:`zmq/utils.irp.f` + + .. code:: fortran + + character*(128) :: qp_run_address + integer :: zmq_port_start + + + Address of the qp_run socket + Example : tcp://130.120.229.139:12345 + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`zmq_socket_pull_tcp_address` + + +.. c:var:: zmq_context + + + File : :file:`zmq/utils.irp.f` + + .. code:: fortran + + integer(ZMQ_PTR) :: zmq_context + integer(omp_lock_kind) :: zmq_lock + + + Context for the ZeroMQ library + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_two_e_integrals_erf_in_map` + * :c:data:`ao_two_e_integrals_in_map` + + +.. c:var:: zmq_lock + + + File : :file:`zmq/utils.irp.f` + + .. code:: fortran + + integer(ZMQ_PTR) :: zmq_context + integer(omp_lock_kind) :: zmq_lock + + + Context for the ZeroMQ library + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_two_e_integrals_erf_in_map` + * :c:data:`ao_two_e_integrals_in_map` + + +.. c:var:: zmq_port_start + + + File : :file:`zmq/utils.irp.f` + + .. code:: fortran + + character*(128) :: qp_run_address + integer :: zmq_port_start + + + Address of the qp_run socket + Example : tcp://130.120.229.139:12345 + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`zmq_socket_pull_tcp_address` + + +.. c:var:: zmq_socket_pair_inproc_address + + + File : :file:`zmq/utils.irp.f` + + .. code:: fortran + + character*(128) :: zmq_socket_pull_tcp_address + character*(128) :: zmq_socket_pair_inproc_address + character*(128) :: zmq_socket_push_tcp_address + character*(128) :: zmq_socket_pull_inproc_address + character*(128) :: zmq_socket_push_inproc_address + character*(128) :: zmq_socket_sub_tcp_address + + + Socket which pulls the results (2) + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`qp_run_address` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_two_e_integrals_erf_in_map` + * :c:data:`ao_two_e_integrals_in_map` + + +.. c:var:: zmq_socket_pull_inproc_address + + + File : :file:`zmq/utils.irp.f` + + .. code:: fortran + + character*(128) :: zmq_socket_pull_tcp_address + character*(128) :: zmq_socket_pair_inproc_address + character*(128) :: zmq_socket_push_tcp_address + character*(128) :: zmq_socket_pull_inproc_address + character*(128) :: zmq_socket_push_inproc_address + character*(128) :: zmq_socket_sub_tcp_address + + + Socket which pulls the results (2) + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`qp_run_address` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_two_e_integrals_erf_in_map` + * :c:data:`ao_two_e_integrals_in_map` + + +.. c:var:: zmq_socket_pull_tcp_address + + + File : :file:`zmq/utils.irp.f` + + .. code:: fortran + + character*(128) :: zmq_socket_pull_tcp_address + character*(128) :: zmq_socket_pair_inproc_address + character*(128) :: zmq_socket_push_tcp_address + character*(128) :: zmq_socket_pull_inproc_address + character*(128) :: zmq_socket_push_inproc_address + character*(128) :: zmq_socket_sub_tcp_address + + + Socket which pulls the results (2) + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`qp_run_address` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_two_e_integrals_erf_in_map` + * :c:data:`ao_two_e_integrals_in_map` + + +.. c:var:: zmq_socket_push_inproc_address + + + File : :file:`zmq/utils.irp.f` + + .. code:: fortran + + character*(128) :: zmq_socket_pull_tcp_address + character*(128) :: zmq_socket_pair_inproc_address + character*(128) :: zmq_socket_push_tcp_address + character*(128) :: zmq_socket_pull_inproc_address + character*(128) :: zmq_socket_push_inproc_address + character*(128) :: zmq_socket_sub_tcp_address + + + Socket which pulls the results (2) + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`qp_run_address` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_two_e_integrals_erf_in_map` + * :c:data:`ao_two_e_integrals_in_map` + + +.. c:var:: zmq_socket_push_tcp_address + + + File : :file:`zmq/utils.irp.f` + + .. code:: fortran + + character*(128) :: zmq_socket_pull_tcp_address + character*(128) :: zmq_socket_pair_inproc_address + character*(128) :: zmq_socket_push_tcp_address + character*(128) :: zmq_socket_pull_inproc_address + character*(128) :: zmq_socket_push_inproc_address + character*(128) :: zmq_socket_sub_tcp_address + + + Socket which pulls the results (2) + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`qp_run_address` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_two_e_integrals_erf_in_map` + * :c:data:`ao_two_e_integrals_in_map` + + +.. c:var:: zmq_socket_sub_tcp_address + + + File : :file:`zmq/utils.irp.f` + + .. code:: fortran + + character*(128) :: zmq_socket_pull_tcp_address + character*(128) :: zmq_socket_pair_inproc_address + character*(128) :: zmq_socket_push_tcp_address + character*(128) :: zmq_socket_pull_inproc_address + character*(128) :: zmq_socket_push_inproc_address + character*(128) :: zmq_socket_sub_tcp_address + + + Socket which pulls the results (2) + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`qp_run_address` + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_two_e_integrals_erf_in_map` + * :c:data:`ao_two_e_integrals_in_map` + + +.. c:var:: zmq_state + + + File : :file:`zmq/utils.irp.f` + + .. code:: fortran + + character*(128) :: zmq_state + + + Threads executing work through the ZeroMQ interface + + Needed by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_two_e_integrals_erf_in_map` + * :c:data:`ao_two_e_integrals_in_map` + + + +Subroutines / functions +----------------------- + +.. c:function:: add_task_to_taskserver: + + + File : :file:`zmq/utils.irp.f` + + .. code:: fortran + + integer function add_task_to_taskserver(zmq_to_qp_run_socket,task) + + + Get a task from the task server + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`zmq_state` + + +.. c:function:: connect_to_taskserver: + + + File : :file:`zmq/utils.irp.f` + + .. code:: fortran + + integer function connect_to_taskserver(zmq_to_qp_run_socket,worker_id,thread) + + + Connect to the task server and obtain the worker ID + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`zmq_state` + + +.. c:function:: disconnect_from_taskserver: + + + File : :file:`zmq/utils.irp.f` + + .. code:: fortran + + integer function disconnect_from_taskserver(zmq_to_qp_run_socket, worker_id) + + + Disconnect from the task server + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`zmq_state` + + +.. c:function:: disconnect_from_taskserver_state: + + + File : :file:`zmq/utils.irp.f` + + .. code:: fortran + + integer function disconnect_from_taskserver_state(zmq_to_qp_run_socket, worker_id, state) + + + Disconnect from the task server + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`zmq_state` + + +.. c:function:: end_parallel_job: + + + File : :file:`zmq/utils.irp.f` + + .. code:: fortran + + subroutine end_parallel_job(zmq_to_qp_run_socket,zmq_socket_pull,name_in) + + + End a new parallel job with name 'name'. The slave tasks execute subroutine 'slave' + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`zmq_state` + * :c:data:`zmq_context` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_two_e_integrals_erf_in_map` + * :c:data:`ao_two_e_integrals_in_map` + * :c:func:`h_s2_u_0_nstates_zmq` + * :c:func:`zmq_pt2` + * :c:func:`zmq_selection` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`end_zmq_pull_socket` + * :c:func:`end_zmq_to_qp_run_socket` + * :c:func:`lowercase` + * :c:func:`omp_set_lock` + * :c:func:`omp_unset_lock` + * :c:func:`sleep` + + +.. c:function:: end_zmq_pair_socket: + + + File : :file:`zmq/utils.irp.f` + + .. code:: fortran + + subroutine end_zmq_pair_socket(zmq_socket_pair) + + + Terminate socket on which the results are sent. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`zmq_context` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`omp_set_lock` + * :c:func:`omp_unset_lock` + + +.. c:function:: end_zmq_pull_socket: + + + File : :file:`zmq/utils.irp.f` + + .. code:: fortran + + subroutine end_zmq_pull_socket(zmq_socket_pull) + + + Terminate socket on which the results are sent. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`zmq_context` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`end_parallel_job` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`omp_set_lock` + * :c:func:`omp_unset_lock` + + +.. c:function:: end_zmq_push_socket: + + + File : :file:`zmq/utils.irp.f` + + .. code:: fortran + + subroutine end_zmq_push_socket(zmq_socket_push,thread) + + + Terminate socket on which the results are sent. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`zmq_context` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`ao_two_e_integrals_erf_in_map_slave` + * :c:func:`ao_two_e_integrals_in_map_slave` + * :c:func:`davidson_run_slave` + * :c:func:`run_pt2_slave` + * :c:func:`run_selection_slave` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`omp_set_lock` + * :c:func:`omp_unset_lock` + + +.. c:function:: end_zmq_sub_socket: + + + File : :file:`zmq/utils.irp.f` + + .. code:: fortran + + subroutine end_zmq_sub_socket(zmq_socket_sub) + + + Terminate socket on which the results are sent. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`zmq_context` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`wait_for_next_state` + * :c:func:`wait_for_state` + * :c:func:`wait_for_states` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`omp_set_lock` + * :c:func:`omp_unset_lock` + + +.. c:function:: end_zmq_to_qp_run_socket: + + + File : :file:`zmq/utils.irp.f` + + .. code:: fortran + + subroutine end_zmq_to_qp_run_socket(zmq_to_qp_run_socket) + + + Terminate the socket from the application to qp_run + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`ao_two_e_integrals_erf_in_map_collector` + * :c:func:`ao_two_e_integrals_erf_in_map_slave` + * :c:func:`ao_two_e_integrals_in_map_collector` + * :c:func:`ao_two_e_integrals_in_map_slave` + * :c:func:`davidson_run_slave` + * :c:func:`end_parallel_job` + * :c:func:`pt2_collector` + * :c:func:`run_pt2_slave` + * :c:func:`run_selection_slave` + * :c:func:`selection_collector` + + +.. c:function:: get_task_from_taskserver: + + + File : :file:`zmq/utils.irp.f` + + .. code:: fortran + + integer function get_task_from_taskserver(zmq_to_qp_run_socket,worker_id,task_id,task) + + + Get a task from the task server + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`zmq_state` + + +.. c:function:: get_tasks_from_taskserver: + + + File : :file:`zmq/utils.irp.f` + + .. code:: fortran + + integer function get_tasks_from_taskserver(zmq_to_qp_run_socket,worker_id,task_id,task,n_tasks) + + + Get multiple tasks from the task server + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`zmq_state` + + +.. c:function:: new_parallel_job: + + + File : :file:`zmq/utils.irp.f` + + .. code:: fortran + + subroutine new_parallel_job(zmq_to_qp_run_socket,zmq_socket_pull,name_in) + + + Start a new parallel job with name 'name'. The slave tasks execute subroutine 'slave' + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`zmq_state` + * :c:data:`zmq_socket_pull_tcp_address` + * :c:data:`zmq_context` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:data:`ao_two_e_integrals_erf_in_map` + * :c:data:`ao_two_e_integrals_in_map` + * :c:func:`h_s2_u_0_nstates_zmq` + * :c:func:`zmq_pt2` + * :c:func:`zmq_selection` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`lowercase` + * :c:func:`omp_set_lock` + * :c:func:`omp_unset_lock` + + +.. c:function:: new_zmq_pair_socket: + + + File : :file:`zmq/utils.irp.f` + + .. code:: fortran + + function new_zmq_pair_socket(bind) + + + Socket on which the collector and the main communicate + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`zmq_socket_pull_tcp_address` + * :c:data:`zmq_context` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`omp_set_lock` + * :c:func:`omp_unset_lock` + + +.. c:function:: new_zmq_pull_socket: + + + File : :file:`zmq/utils.irp.f` + + .. code:: fortran + + function new_zmq_pull_socket() + + + Socket on which the results are sent. If thread is 1, use inproc + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`qp_run_address` + * :c:data:`zmq_socket_pull_tcp_address` + * :c:data:`zmq_context` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`omp_set_lock` + * :c:func:`omp_unset_lock` + * :c:func:`sleep` + + +.. c:function:: new_zmq_push_socket: + + + File : :file:`zmq/utils.irp.f` + + .. code:: fortran + + function new_zmq_push_socket(thread) + + + Socket on which the results are sent. If thread is 1, use inproc + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`zmq_socket_pull_tcp_address` + * :c:data:`zmq_context` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`omp_set_lock` + * :c:func:`omp_unset_lock` + + +.. c:function:: new_zmq_sub_socket: + + + File : :file:`zmq/utils.irp.f` + + .. code:: fortran + + function new_zmq_sub_socket() + + + Socket to read the state published by the Task server + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`zmq_socket_pull_tcp_address` + * :c:data:`zmq_context` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`omp_set_lock` + * :c:func:`omp_unset_lock` + + +.. c:function:: new_zmq_to_qp_run_socket: + + + File : :file:`zmq/utils.irp.f` + + .. code:: fortran + + function new_zmq_to_qp_run_socket() + + + Socket on which the qp_run process replies + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`qp_run_address` + * :c:data:`zmq_context` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`omp_set_lock` + * :c:func:`omp_unset_lock` + + +.. c:function:: reset_zmq_addresses: + + + File : :file:`zmq/utils.irp.f` + + .. code:: fortran + + subroutine reset_zmq_addresses + + + Socket which pulls the results (2) + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`qp_run_address` + * :c:data:`zmq_socket_pull_tcp_address` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`switch_qp_run_to_master` + + +.. c:function:: switch_qp_run_to_master: + + + File : :file:`zmq/utils.irp.f` + + .. code:: fortran + + subroutine switch_qp_run_to_master + + + Address of the master qp_run socket + Example : tcp://130.120.229.139:12345 + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`is_zmq_slave` + * :c:data:`qp_run_address` + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`run_slave_cipsi` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`getenv` + * :c:func:`reset_zmq_addresses` + + +.. c:function:: task_done_to_taskserver: + + + File : :file:`zmq/utils.irp.f` + + .. code:: fortran + + integer function task_done_to_taskserver(zmq_to_qp_run_socket, worker_id, task_id) + + + Get a task from the task server + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`zmq_state` + + +.. c:function:: tasks_done_to_taskserver: + + + File : :file:`zmq/utils.irp.f` + + .. code:: fortran + + integer function tasks_done_to_taskserver(zmq_to_qp_run_socket, worker_id, task_id, n_tasks) + + + Get a task from the task server + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`zmq_state` + + +.. c:function:: wait_for_next_state: + + + File : :file:`zmq/utils.irp.f` + + .. code:: fortran + + subroutine wait_for_next_state(state) + + + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`end_zmq_sub_socket` + + +.. c:function:: wait_for_state: + + + File : :file:`zmq/utils.irp.f` + + .. code:: fortran + + subroutine wait_for_state(state_wait,state) + + + Wait for the ZMQ state to be ready + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`end_zmq_sub_socket` + + +.. c:function:: wait_for_states: + + + File : :file:`zmq/utils.irp.f` + + .. code:: fortran + + subroutine wait_for_states(state_wait,state,n) + + + Wait for the ZMQ state to be ready + + Called by: + + .. hlist:: + :columns: 3 + + * :c:func:`run_slave_main` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`end_zmq_sub_socket` + + +.. c:function:: zmq_abort: + + + File : :file:`zmq/utils.irp.f` + + .. code:: fortran + + integer function zmq_abort(zmq_to_qp_run_socket) + + + Aborts a running parallel computation + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`sleep` + + +.. c:function:: zmq_delete_task: + + + File : :file:`zmq/utils.irp.f` + + .. code:: fortran + + integer function zmq_delete_task(zmq_to_qp_run_socket,zmq_socket_pull,task_id,more) + + + When a task is done, it has to be removed from the list of tasks on the qp_run + queue. This guarantees that the results have been received in the pull. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`zmq_state` + + +.. c:function:: zmq_delete_tasks: + + + File : :file:`zmq/utils.irp.f` + + .. code:: fortran + + integer function zmq_delete_tasks(zmq_to_qp_run_socket,zmq_socket_pull,task_id,n_tasks,more) + + + When a task is done, it has to be removed from the list of tasks on the qp_run + queue. This guarantees that the results have been received in the pull. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`zmq_state` + + +.. c:function:: zmq_delete_tasks_async_recv: + + + File : :file:`zmq/utils.irp.f` + + .. code:: fortran + + integer function zmq_delete_tasks_async_recv(zmq_to_qp_run_socket,zmq_socket_pull,task_id,n_tasks,more) + + + When a task is done, it has to be removed from the list of tasks on the qp_run + queue. This guarantees that the results have been received in the pull. + + +.. c:function:: zmq_delete_tasks_async_send: + + + File : :file:`zmq/utils.irp.f` + + .. code:: fortran + + integer function zmq_delete_tasks_async_send(zmq_to_qp_run_socket,zmq_socket_pull,task_id,n_tasks,more) + + + When a task is done, it has to be removed from the list of tasks on the qp_run + queue. This guarantees that the results have been received in the pull. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`zmq_state` + + +.. c:function:: zmq_get8_dvector: + + + File : :file:`zmq/put_get.irp.f` + + .. code:: fortran + + integer function zmq_get8_dvector(zmq_to_qp_run_socket, worker_id, name, x, size_x) + + + Get a float vector from the qp_run scheduler + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`zmq_state` + * :c:data:`mpi_master` + + +.. c:function:: zmq_get8_ivector: + + + File : :file:`zmq/put_get.irp.f` + + .. code:: fortran + + integer function zmq_get8_ivector(zmq_to_qp_run_socket, worker_id, name, x, size_x) + + + Get a vector of integers from the qp_run scheduler + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`zmq_state` + * :c:data:`mpi_master` + + +.. c:function:: zmq_get_dmatrix: + + + File : :file:`zmq/put_get.irp.f` + + .. code:: fortran + + integer function zmq_get_dmatrix(zmq_to_qp_run_socket, worker_id, name, x, size_x1, size_x2, sze) + + + Get a float vector from the qp_run scheduler + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`zmq_state` + * :c:data:`mpi_master` + + +.. c:function:: zmq_get_dvector: + + + File : :file:`zmq/put_get.irp.f` + + .. code:: fortran + + integer function zmq_get_dvector(zmq_to_qp_run_socket, worker_id, name, x, size_x) + + + Get a float vector from the qp_run scheduler + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`zmq_state` + * :c:data:`mpi_master` + + +.. c:function:: zmq_get_i8matrix: + + + File : :file:`zmq/put_get.irp.f` + + .. code:: fortran + + integer function zmq_get_i8matrix(zmq_to_qp_run_socket, worker_id, name, x, size_x1, size_x2, sze) + + + Get a float vector from the qp_run scheduler + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`zmq_state` + * :c:data:`mpi_master` + + +.. c:function:: zmq_get_imatrix: + + + File : :file:`zmq/put_get.irp.f` + + .. code:: fortran + + integer function zmq_get_imatrix(zmq_to_qp_run_socket, worker_id, name, x, size_x1, size_x2, sze) + + + Get a float vector from the qp_run scheduler + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`zmq_state` + * :c:data:`mpi_master` + + +.. c:function:: zmq_get_int: + + + File : :file:`zmq/put_get.irp.f` + + .. code:: fortran + + integer function zmq_get_int(zmq_to_qp_run_socket, worker_id, name, x) + + + Get a vector of integers from the qp_run scheduler + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`zmq_state` + * :c:data:`mpi_master` + + +.. c:function:: zmq_get_int_nompi: + + + File : :file:`zmq/put_get.irp.f` + + .. code:: fortran + + integer function zmq_get_int_nompi(zmq_to_qp_run_socket, worker_id, name, x) + + + Get a vector of integers from the qp_run scheduler + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`zmq_state` + + +.. c:function:: zmq_get_ivector: + + + File : :file:`zmq/put_get.irp.f` + + .. code:: fortran + + integer function zmq_get_ivector(zmq_to_qp_run_socket, worker_id, name, x, size_x) + + + Get a vector of integers from the qp_run scheduler + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`zmq_state` + * :c:data:`mpi_master` + + +.. c:function:: zmq_port: + + + File : :file:`zmq/utils.irp.f` + + .. code:: fortran + + function zmq_port(ishift) + + + Return the value of the ZMQ port from the corresponding integer + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`qp_run_address` + + +.. c:function:: zmq_put8_dvector: + + + File : :file:`zmq/put_get.irp.f` + + .. code:: fortran + + integer function zmq_put8_dvector(zmq_to_qp_run_socket, worker_id, name, x, size_x) + + + Put a float vector on the qp_run scheduler + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`zmq_state` + + +.. c:function:: zmq_put8_ivector: + + + File : :file:`zmq/put_get.irp.f` + + .. code:: fortran + + integer function zmq_put8_ivector(zmq_to_qp_run_socket, worker_id, name, x, size_x) + + + Put a vector of integers on the qp_run scheduler + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`zmq_state` + + +.. c:function:: zmq_put_dmatrix: + + + File : :file:`zmq/put_get.irp.f` + + .. code:: fortran + + integer function zmq_put_dmatrix(zmq_to_qp_run_socket, worker_id, name, x, size_x1, size_x2, sze) + + + Put a float vector on the qp_run scheduler + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`zmq_state` + + +.. c:function:: zmq_put_dvector: + + + File : :file:`zmq/put_get.irp.f` + + .. code:: fortran + + integer function zmq_put_dvector(zmq_to_qp_run_socket, worker_id, name, x, size_x) + + + Put a float vector on the qp_run scheduler + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`zmq_state` + + +.. c:function:: zmq_put_i8matrix: + + + File : :file:`zmq/put_get.irp.f` + + .. code:: fortran + + integer function zmq_put_i8matrix(zmq_to_qp_run_socket, worker_id, name, x, size_x1, size_x2, sze) + + + Put a float vector on the qp_run scheduler + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`zmq_state` + + +.. c:function:: zmq_put_imatrix: + + + File : :file:`zmq/put_get.irp.f` + + .. code:: fortran + + integer function zmq_put_imatrix(zmq_to_qp_run_socket, worker_id, name, x, size_x1, size_x2, sze) + + + Put a float vector on the qp_run scheduler + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`zmq_state` + + +.. c:function:: zmq_put_int: + + + File : :file:`zmq/put_get.irp.f` + + .. code:: fortran + + integer function zmq_put_int(zmq_to_qp_run_socket, worker_id, name, x) + + + Put a vector of integers on the qp_run scheduler + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`zmq_state` + + +.. c:function:: zmq_put_ivector: + + + File : :file:`zmq/put_get.irp.f` + + .. code:: fortran + + integer function zmq_put_ivector(zmq_to_qp_run_socket, worker_id, name, x, size_x) + + + Put a vector of integers on the qp_run scheduler + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`zmq_state` + + +.. c:function:: zmq_set_running: + + + File : :file:`zmq/utils.irp.f` + + .. code:: fortran + + integer function zmq_set_running(zmq_to_qp_run_socket) + + + Set the job to Running in QP-run + diff --git a/doc/_sources/programmers_guide/conventions.rst.txt b/doc/_sources/programmers_guide/conventions.rst.txt new file mode 100644 index 00000000..ecd6d6b0 --- /dev/null +++ b/doc/_sources/programmers_guide/conventions.rst.txt @@ -0,0 +1,115 @@ +================== +Coding conventions +================== + + +General conventions +=================== + +All executable files should have a name with lowercase. + +Tabs are forbidden everywhere. + +Try to set the maximum line length to 80 characters. Long lines can be +automatically reformatted in vim by pressing :kbd:`gqj`. + +Use blank lines between blocks to improve readability. + +For existing files, stay faithful to the existing indentation. + + + +Shell scripts +============= + +Executables should have no extension. To know if the file is binary, or in +what shell scripting language it was written, the :command:`file` command can +be used. In addition, all the shell scripts should be under +:file:`${QP_ROOT}/scripts/`. + +The exit code of the script should be 0 upon success only. + +Bash and Python2 are the only shell scripting language permitted for +executables. + + +Bash +---- + +* Bash scripts should start with ``#!/bin/bash`` + +* All error messages should go to standard error, and should be prefixed with + the name of the command. For example, in Bash use + + .. code:: bash + + function echo_err() { + 2>& echo $(basename $0)": error" + } + +* The command-line options should be handled with ``getopt``. + +* The script should check that the command-line arguments are consistent. + +* Long options should be preferred to short options. + +* Always quote strings containing variables, command substitutions, spaces or + shell meta characters, unless careful unquoted expansion is required. + +* Use ``"$@"`` unless you have a specific reason to use ``$*``. + +* Use ``$(command)`` instead of backticks, because they can be easily nested. + +* ``[[ ... ]]`` is preferred over ``[``, ``test`` and ``/usr/bin/[``. + +* Declare function-specific variables with local. Declaration and assignment + should be on different lines. + +* Pipelines should be split one per line if they don't all fit on one line. + +* Put ``; do`` and ``; then`` on the same line as the ``while``, ``for`` or ``if``. + + +Python +------ + +Only Python2 is supported. The reason is that some dependencies use Python2, +and we do not want yet to add an extra dependency to Python3. + +Python scripts should start with ``#!/usr/bin/env python2`` to mention +explicitly that Python2 has to be used. + +:command:`pylint` should be used to increase the quality of the source code. + + + +IRPF90 +====== + +The code can be automatically indented with :command:`irp_indent`. + +Lines sould not be longer than 80 characters. + +Mathematical formulas in the `BEGIN_DOC...END_DOC` sections sould be written in +LaTeX format, between `$` symbols. + +All the providers, subroutines and functions should have a +`BEGIN_DOC...END_DOC` block. + +Providers should never be present in the same file as a main program. + +String must not use double quotes (`"`) but single quotes (`'`). + +After a `read` statement there should be no comma. + +Only standard Fortran is allowed : Intel or GNU extensions are forbidden. + +The name of a program should be the same as the name of the file. For example, +for the :ref:`fci` program, we have + +.. code-block:: fortan + + program fci + +and the file is named :file:`fci.irp.f`. + diff --git a/doc/_sources/programmers_guide/ezfio.rst.txt b/doc/_sources/programmers_guide/ezfio.rst.txt new file mode 100644 index 00000000..e96883bb --- /dev/null +++ b/doc/_sources/programmers_guide/ezfio.rst.txt @@ -0,0 +1,112 @@ +===== +EZFIO +===== + + +EZFIO.cfg +========= + +The simplest way to add control parameters in the |EZFIO| directory is to create a +:file:`EZFIO.cfg` file in the module. An example can be found in existing modules +such as :ref:`hartree_fock`:: + + [max_dim_diis] + type: integer + doc: Maximum size of the |DIIS| extrapolation procedure + interface: ezfio,provider,ocaml + default: 15 + + [threshold_diis] + type: Threshold + doc: Threshold on the convergence of the |DIIS| error vector during a Hartree-Fock calculation. If 0. is chosen, the square root of thresh_scf will be used. + interface: ezfio,provider,ocaml + default: 0. + + [thresh_scf] + type: Threshold + doc: Threshold on the convergence of the Hartree Fock energy. + interface: ezfio,provider,ocaml + default: 1.e-10 + + + +The syntax obeys the following rules: + +Required +-------- + +.. option:: [] + + The name of the provider in irp.f90 and in the EZFIO lib + +.. option:: doc: + + The plain text documentation + +.. option:: type: + + A type supported by the |OCaml| modules. The complete list of supported + types can be obtained by:: + + ei_handler.py list_supported_types + + +.. option:: interface: + + The interface is a list of strings sepeared by "," which can contain : + + - ``ezfio`` : to build the |EZFIO| API + - ``provider`` : to build the corresponding providers + - ``ocaml`` : to build the corresponding bindings in |OCaml| + +If an ``EZFIO.cfg`` file is used, the compilation of the module will generate +the ``ezfio_interface.irp.f`` file which contains the generated providers. +This file should not be added to the repository + +Optional +-------- + +.. option:: default: + + The default value needed if ``ocaml`` is in interface list. + No default can be set for arrays. + +.. option:: size: + + The size of the variable, which is one by default (scalar). + + Examples : ``1``; ``=sum(ao_num)``; ``(ao_basis.ao_num,3)`` + + .. warning:: + + The module and the value are separed by a ``.`` not a ``_``. + For example ``(determinants.n_det)`` + +.. option:: ezfio_name: + + The name in the |EZFIO| API (by default is ````) + + +\*.ezfio_config +=============== + +It is possible to directly add to the current module |EZFIO| configuration +files, named with the ``.ezfio_config`` suffix. An example is in the +:ref:`bitmask` module. + +.. code:: text + + bitmasks + N_int integer + bit_kind integer + N_mask_gen integer + generators integer*8 (bitmasks_N_int*bitmasks_bit_kind/8,2,6,bitmasks_N_mask_gen) + N_mask_cas integer + cas integer*8 (bitmasks_N_int*bitmasks_bit_kind/8,2,bitmasks_N_mask_cas) + + + + + + + diff --git a/doc/_sources/programmers_guide/index.rst.txt b/doc/_sources/programmers_guide/index.rst.txt new file mode 100644 index 00000000..2bfd9282 --- /dev/null +++ b/doc/_sources/programmers_guide/index.rst.txt @@ -0,0 +1,22 @@ +===================== +Index for programmers +===================== + +Index of Modules +---------------- + +.. toctree:: + :maxdepth: 1 + :glob: + + /modules/* + /programmers_guide/qp_* + /programmers_guide/conventions + + +.. Auto-generated file + +.. include:: index_providers.rst + + + diff --git a/doc/_sources/programmers_guide/index_providers.rst.txt b/doc/_sources/programmers_guide/index_providers.rst.txt new file mode 100644 index 00000000..1b296fff --- /dev/null +++ b/doc/_sources/programmers_guide/index_providers.rst.txt @@ -0,0 +1,1404 @@ +Index of Providers +------------------ + +* :c:data:`abs_psi_coef_max` +* :c:data:`abs_psi_coef_min` +* :c:data:`act_bitmask` +* :c:data:`alpha_knowles` +* :c:data:`angular_quadrature_points` +* :c:data:`ao_cart_to_sphe_coef` +* :c:data:`ao_cart_to_sphe_inv` +* :c:data:`ao_cart_to_sphe_num` +* :c:data:`ao_cart_to_sphe_overlap` +* :c:data:`ao_cartesian` +* :c:data:`ao_coef` +* :c:data:`ao_coef_normalization_factor` +* :c:data:`ao_coef_normalization_libint_factor` +* :c:data:`ao_coef_normalized` +* :c:data:`ao_coef_normalized_ordered` +* :c:data:`ao_coef_normalized_ordered_transp` +* :c:data:`ao_coef_normalized_ordered_transp_per_nucl` +* :c:data:`ao_deriv2_x` +* :c:data:`ao_deriv2_y` +* :c:data:`ao_deriv2_z` +* :c:data:`ao_deriv_1_x` +* :c:data:`ao_deriv_1_y` +* :c:data:`ao_deriv_1_z` +* :c:data:`ao_dipole_x` +* :c:data:`ao_dipole_y` +* :c:data:`ao_dipole_z` +* :c:data:`ao_effective_one_e_potential` +* :c:data:`ao_effective_one_e_potential_without_kin` +* :c:data:`ao_expo` +* :c:data:`ao_expo_ordered` +* :c:data:`ao_expo_ordered_transp` +* :c:data:`ao_expo_ordered_transp_per_nucl` +* :c:data:`ao_integrals_cache` +* :c:data:`ao_integrals_cache_max` +* :c:data:`ao_integrals_cache_min` +* :c:data:`ao_integrals_erf_cache` +* :c:data:`ao_integrals_erf_cache_max` +* :c:data:`ao_integrals_erf_cache_min` +* :c:data:`ao_integrals_erf_map` +* :c:data:`ao_integrals_map` +* :c:data:`ao_integrals_n_e` +* :c:data:`ao_integrals_n_e_per_atom` +* :c:data:`ao_integrals_threshold` +* :c:data:`ao_kinetic_integrals` +* :c:data:`ao_l` +* :c:data:`ao_l_char` +* :c:data:`ao_l_char_space` +* :c:data:`ao_l_max` +* :c:data:`ao_md5` +* :c:data:`ao_nucl` +* :c:data:`ao_num` +* :c:data:`ao_one_e_integrals` +* :c:data:`ao_one_e_integrals_diag` +* :c:data:`ao_ortho_canonical_coef` +* :c:data:`ao_ortho_canonical_coef_inv` +* :c:data:`ao_ortho_canonical_nucl_elec_integrals` +* :c:data:`ao_ortho_canonical_num` +* :c:data:`ao_ortho_canonical_overlap` +* :c:data:`ao_ortho_lowdin_coef` +* :c:data:`ao_ortho_lowdin_nucl_elec_integrals` +* :c:data:`ao_ortho_lowdin_overlap` +* :c:data:`ao_overlap` +* :c:data:`ao_overlap_abs` +* :c:data:`ao_overlap_x` +* :c:data:`ao_overlap_y` +* :c:data:`ao_overlap_z` +* :c:data:`ao_potential_alpha_xc` +* :c:data:`ao_potential_beta_xc` +* :c:data:`ao_power` +* :c:data:`ao_power_ordered_transp_per_nucl` +* :c:data:`ao_prim_num` +* :c:data:`ao_prim_num_max` +* :c:data:`ao_pseudo_integrals` +* :c:data:`ao_pseudo_integrals_local` +* :c:data:`ao_pseudo_integrals_non_local` +* :c:data:`ao_spread_x` +* :c:data:`ao_spread_y` +* :c:data:`ao_spread_z` +* :c:data:`ao_two_e_integral_alpha` +* :c:data:`ao_two_e_integral_beta` +* :c:data:`ao_two_e_integral_erf_schwartz` +* :c:data:`ao_two_e_integral_schwartz` +* :c:data:`ao_two_e_integrals_erf_in_map` +* :c:data:`ao_two_e_integrals_in_map` +* :c:data:`aos_dsr_vc_alpha_pbe_w` +* :c:data:`aos_dsr_vc_beta_pbe_w` +* :c:data:`aos_dsr_vx_alpha_pbe_w` +* :c:data:`aos_dsr_vx_beta_pbe_w` +* :c:data:`aos_dvc_alpha_pbe_w` +* :c:data:`aos_dvc_beta_pbe_w` +* :c:data:`aos_dvx_alpha_pbe_w` +* :c:data:`aos_dvx_beta_pbe_w` +* :c:data:`aos_grad_in_r_array` +* :c:data:`aos_grad_in_r_array_transp` +* :c:data:`aos_grad_in_r_array_transp_xyz` +* :c:data:`aos_in_r_array` +* :c:data:`aos_in_r_array_transp` +* :c:data:`aos_lapl_in_r_array` +* :c:data:`aos_lapl_in_r_array_transp` +* :c:data:`aos_sr_vc_alpha_lda_w` +* :c:data:`aos_sr_vc_alpha_pbe_w` +* :c:data:`aos_sr_vc_beta_lda_w` +* :c:data:`aos_sr_vc_beta_pbe_w` +* :c:data:`aos_sr_vx_alpha_lda_w` +* :c:data:`aos_sr_vx_alpha_pbe_w` +* :c:data:`aos_sr_vx_beta_lda_w` +* :c:data:`aos_sr_vx_beta_pbe_w` +* :c:data:`aos_vc_alpha_lda_w` +* :c:data:`aos_vc_alpha_pbe_w` +* :c:data:`aos_vc_beta_lda_w` +* :c:data:`aos_vc_beta_pbe_w` +* :c:data:`aos_vx_alpha_lda_w` +* :c:data:`aos_vx_alpha_pbe_w` +* :c:data:`aos_vx_beta_lda_w` +* :c:data:`aos_vx_beta_pbe_w` +* :c:data:`barycentric_electronic_energy` +* :c:data:`big_array_coulomb_integrals` +* :c:data:`big_array_exchange_integrals` +* :c:data:`binom` +* :c:data:`binom_int` +* :c:data:`binom_int_transp` +* :c:data:`binom_transp` +* :c:data:`c0_weight` +* :c:data:`cart_to_sphe_0` +* :c:data:`cart_to_sphe_1` +* :c:data:`cart_to_sphe_2` +* :c:data:`cart_to_sphe_3` +* :c:data:`cart_to_sphe_4` +* :c:data:`cart_to_sphe_5` +* :c:data:`cart_to_sphe_6` +* :c:data:`cart_to_sphe_7` +* :c:data:`cart_to_sphe_8` +* :c:data:`cart_to_sphe_9` +* :c:data:`cas_bitmask` +* :c:data:`center_of_mass` +* :c:data:`ci_eigenvectors` +* :c:data:`ci_electronic_energy` +* :c:data:`ci_energy` +* :c:data:`ci_s2` +* :c:data:`closed_shell_ref_bitmask` +* :c:data:`coef_hf_selector` +* :c:data:`core_bitmask` +* :c:data:`core_energy` +* :c:data:`core_energy_erf` +* :c:data:`core_fock_operator` +* :c:data:`core_fock_operator_erf` +* :c:data:`core_inact_act_bitmask_4` +* :c:data:`core_inact_virt_bitmask` +* :c:data:`correlation_energy_ratio_max` +* :c:data:`correlation_functional` +* :c:data:`damping_for_rs_dft` +* :c:data:`data_energy_proj` +* :c:data:`data_energy_var` +* :c:data:`data_one_e_dm_alpha_mo` +* :c:data:`data_one_e_dm_beta_mo` +* :c:data:`davidson_criterion` +* :c:data:`davidson_sze_max` +* :c:data:`degree_max_generators` +* :c:data:`degree_max_integration_lebedev` +* :c:data:`del_bitmask` +* :c:data:`delta_e_per_selector` +* :c:data:`density_for_dft` +* :c:data:`det_alpha_norm` +* :c:data:`det_beta_norm` +* :c:data:`det_to_occ_pattern` +* :c:data:`dft_type` +* :c:data:`diag_algorithm` +* :c:data:`diagonal_h_matrix_on_psi_det` +* :c:data:`dim_list_act_orb` +* :c:data:`dim_list_core_orb` +* :c:data:`dim_list_del_orb` +* :c:data:`dim_list_inact_orb` +* :c:data:`dim_list_virt_orb` +* :c:data:`disk_access_nuclear_repulsion` +* :c:data:`disk_based_davidson` +* :c:data:`distributed_davidson` +* :c:data:`do_ddci` +* :c:data:`do_direct_integrals` +* :c:data:`do_only_1h1p` +* :c:data:`do_pseudo` +* :c:data:`do_pt2` +* :c:data:`double_exc_bitmask` +* :c:data:`double_index_selectors` +* :c:data:`dr_radial_integral` +* :c:data:`dressed_column_idx` +* :c:data:`dressing_column_h` +* :c:data:`dressing_column_s` +* :c:data:`dtranspose` +* :c:data:`e_corr_double_only` +* :c:data:`e_corr_per_selectors` +* :c:data:`e_corr_second_order` +* :c:data:`e_correlation_dft` +* :c:data:`e_exchange_dft` +* :c:data:`effective_one_e_potential` +* :c:data:`effective_one_e_potential_without_kin` +* :c:data:`eigenvalues_fock_matrix_ao` +* :c:data:`eigenvectors_fock_matrix_ao` +* :c:data:`eigenvectors_fock_matrix_mo` +* :c:data:`elec_alpha_num` +* :c:data:`elec_beta_num` +* :c:data:`elec_num` +* :c:data:`elec_num_tab` +* :c:data:`element_mass` +* :c:data:`element_name` +* :c:data:`energy_c` +* :c:data:`energy_c_lda` +* :c:data:`energy_c_pbe` +* :c:data:`energy_iterations` +* :c:data:`energy_sr_c_lda` +* :c:data:`energy_sr_c_pbe` +* :c:data:`energy_sr_x_lda` +* :c:data:`energy_sr_x_pbe` +* :c:data:`energy_x` +* :c:data:`energy_x_lda` +* :c:data:`energy_x_pbe` +* :c:data:`exc_degree_per_selectors` +* :c:data:`exchange_functional` +* :c:data:`expected_s2` +* :c:data:`extra_e_contrib_density` +* :c:data:`extrapolate_fock_matrix` +* :c:data:`extrapolated_energy` +* :c:data:`ezfio_filename` +* :c:data:`ezfio_work_dir` +* :c:data:`fact_inv` +* :c:data:`file_lock` +* :c:data:`fill_h_apply_buffer_selection` +* :c:data:`final_grid_points` +* :c:data:`final_weight_at_r` +* :c:data:`final_weight_at_r_vector` +* :c:data:`fock_matrix_alpha_no_xc_ao` +* :c:data:`fock_matrix_ao` +* :c:data:`fock_matrix_ao_alpha` +* :c:data:`fock_matrix_ao_beta` +* :c:data:`fock_matrix_beta_no_xc_ao` +* :c:data:`fock_matrix_diag_mo` +* :c:data:`fock_matrix_energy` +* :c:data:`fock_matrix_mo` +* :c:data:`fock_matrix_mo_alpha` +* :c:data:`fock_matrix_mo_beta` +* :c:data:`fock_operator_closed_shell_ref_bitmask` +* :c:data:`fock_wee_closed_shell` +* :c:data:`fps_spf_matrix_ao` +* :c:data:`fps_spf_matrix_mo` +* :c:data:`frozen_orb_scf` +* :c:data:`full_ijkl_bitmask` +* :c:data:`full_ijkl_bitmask_4` +* :c:data:`gauleg_t2` +* :c:data:`gauleg_w` +* :c:data:`general_primitive_integral` +* :c:data:`general_primitive_integral_erf` +* :c:data:`generators_bitmask` +* :c:data:`generators_bitmask_restart` +* :c:data:`gga_sr_type_functionals` +* :c:data:`gga_type_functionals` +* :c:data:`give_polynomial_mult_center_one_e_erf` +* :c:data:`give_polynomial_mult_center_one_e_erf_opt` +* :c:data:`grad_aos_dsr_vc_alpha_pbe_w` +* :c:data:`grad_aos_dsr_vc_beta_pbe_w` +* :c:data:`grad_aos_dsr_vx_alpha_pbe_w` +* :c:data:`grad_aos_dsr_vx_beta_pbe_w` +* :c:data:`grad_aos_dvc_alpha_pbe_w` +* :c:data:`grad_aos_dvc_beta_pbe_w` +* :c:data:`grad_aos_dvx_alpha_pbe_w` +* :c:data:`grad_aos_dvx_beta_pbe_w` +* :c:data:`grid_points_per_atom` +* :c:data:`grid_points_radial` +* :c:data:`grid_type_sgn` +* :c:data:`h0_type` +* :c:data:`h_apply_buffer_allocated` +* :c:data:`h_apply_buffer_lock` +* :c:data:`h_matrix_all_dets` +* :c:data:`h_matrix_cas` +* :c:data:`hf_bitmask` +* :c:data:`hf_energy` +* :c:data:`hf_exchange` +* :c:data:`hf_one_electron_energy` +* :c:data:`hf_two_electron_energy` +* :c:data:`i2radix_sort` +* :c:data:`i8radix_sort` +* :c:data:`i8radix_sort_big` +* :c:data:`i_bitmask_gen` +* :c:data:`i_h_hf_per_selectors` +* :c:data:`i_x1_new` +* :c:data:`i_x1_pol_mult_a1` +* :c:data:`i_x1_pol_mult_a2` +* :c:data:`i_x1_pol_mult_one_e` +* :c:data:`i_x1_pol_mult_recurs` +* :c:data:`i_x2_new` +* :c:data:`i_x2_pol_mult` +* :c:data:`i_x2_pol_mult_one_e` +* :c:data:`idx_cas` +* :c:data:`idx_non_cas` +* :c:data:`inact_bitmask` +* :c:data:`inact_virt_bitmask` +* :c:data:`index_final_points` +* :c:data:`index_final_points_reverse` +* :c:data:`index_holes_bitmask` +* :c:data:`index_particl_bitmask` +* :c:data:`inertia_tensor` +* :c:data:`inertia_tensor_eigenvalues` +* :c:data:`inertia_tensor_eigenvectors` +* :c:data:`initialize_pt2_e0_denominator` +* :c:data:`insert_into_mo_integrals_erf_map` +* :c:data:`insert_into_mo_integrals_map` +* :c:data:`int_erf_3_index` +* :c:data:`int_erf_3_index_exc` +* :c:data:`inv_int` +* :c:data:`inv_selectors_coef_hf` +* :c:data:`inv_selectors_coef_hf_squared` +* :c:data:`io_ao_integrals_e_n` +* :c:data:`io_ao_integrals_kinetic` +* :c:data:`io_ao_integrals_overlap` +* :c:data:`io_ao_integrals_pseudo` +* :c:data:`io_ao_one_e_integrals` +* :c:data:`io_ao_two_e_integrals` +* :c:data:`io_ao_two_e_integrals_erf` +* :c:data:`io_mo_integrals_e_n` +* :c:data:`io_mo_integrals_kinetic` +* :c:data:`io_mo_integrals_pseudo` +* :c:data:`io_mo_one_e_integrals` +* :c:data:`io_mo_two_e_integrals` +* :c:data:`io_mo_two_e_integrals_erf` +* :c:data:`iradix_sort` +* :c:data:`iradix_sort_big` +* :c:data:`is_zmq_slave` +* :c:data:`ks_energy` +* :c:data:`l_to_charater` +* :c:data:`level_shift` +* :c:data:`list_act` +* :c:data:`list_act_reverse` +* :c:data:`list_core` +* :c:data:`list_core_inact_act` +* :c:data:`list_core_inact_act_reverse` +* :c:data:`list_core_reverse` +* :c:data:`list_del` +* :c:data:`list_del_reverse` +* :c:data:`list_inact` +* :c:data:`list_inact_reverse` +* :c:data:`list_virt` +* :c:data:`list_virt_reverse` +* :c:data:`m_knowles` +* :c:data:`max_degree_exc` +* :c:data:`max_dim_diis` +* :c:data:`max_exc_pert` +* :c:data:`mo_class` +* :c:data:`mo_coef` +* :c:data:`mo_coef_begin_iteration` +* :c:data:`mo_coef_in_ao_ortho_basis` +* :c:data:`mo_coef_transp` +* :c:data:`mo_dipole_x` +* :c:data:`mo_dipole_y` +* :c:data:`mo_dipole_z` +* :c:data:`mo_guess_type` +* :c:data:`mo_integrals_cache` +* :c:data:`mo_integrals_cache_max` +* :c:data:`mo_integrals_cache_max_8` +* :c:data:`mo_integrals_cache_min` +* :c:data:`mo_integrals_cache_min_8` +* :c:data:`mo_integrals_erf_cache` +* :c:data:`mo_integrals_erf_cache_max` +* :c:data:`mo_integrals_erf_cache_min` +* :c:data:`mo_integrals_erf_map` +* :c:data:`mo_integrals_map` +* :c:data:`mo_integrals_n_e` +* :c:data:`mo_integrals_n_e_per_atom` +* :c:data:`mo_integrals_threshold` +* :c:data:`mo_kinetic_integrals` +* :c:data:`mo_label` +* :c:data:`mo_num` +* :c:data:`mo_occ` +* :c:data:`mo_one_e_integrals` +* :c:data:`mo_overlap` +* :c:data:`mo_pseudo_integrals` +* :c:data:`mo_spread_x` +* :c:data:`mo_spread_y` +* :c:data:`mo_spread_z` +* :c:data:`mo_two_e_int_erf_jj` +* :c:data:`mo_two_e_int_erf_jj_anti` +* :c:data:`mo_two_e_int_erf_jj_anti_from_ao` +* :c:data:`mo_two_e_int_erf_jj_exchange` +* :c:data:`mo_two_e_int_erf_jj_exchange_from_ao` +* :c:data:`mo_two_e_int_erf_jj_from_ao` +* :c:data:`mo_two_e_integral_jj_from_ao` +* :c:data:`mo_two_e_integrals_erf_in_map` +* :c:data:`mo_two_e_integrals_in_map` +* :c:data:`mo_two_e_integrals_jj` +* :c:data:`mo_two_e_integrals_jj_anti` +* :c:data:`mo_two_e_integrals_jj_anti_from_ao` +* :c:data:`mo_two_e_integrals_jj_exchange` +* :c:data:`mo_two_e_integrals_jj_exchange_from_ao` +* :c:data:`mo_two_e_integrals_vv_anti_from_ao` +* :c:data:`mo_two_e_integrals_vv_exchange_from_ao` +* :c:data:`mo_two_e_integrals_vv_from_ao` +* :c:data:`mos_grad_in_r_array` +* :c:data:`mos_in_r_array` +* :c:data:`mos_in_r_array_transp` +* :c:data:`mos_lapl_in_r_array` +* :c:data:`mpi_bit_kind` +* :c:data:`mpi_initialized` +* :c:data:`mpi_master` +* :c:data:`mpi_rank` +* :c:data:`mpi_size` +* :c:data:`mu_erf` +* :c:data:`mu_erf_dft` +* :c:data:`n_act_orb` +* :c:data:`n_aos_max` +* :c:data:`n_cas_bitmask` +* :c:data:`n_core_inact_act_orb` +* :c:data:`n_core_inact_orb` +* :c:data:`n_core_orb` +* :c:data:`n_core_orb_allocate` +* :c:data:`n_del_orb` +* :c:data:`n_det` +* :c:data:`n_det_alpha_unique` +* :c:data:`n_det_beta_unique` +* :c:data:`n_det_cas` +* :c:data:`n_det_generators` +* :c:data:`n_det_iterations` +* :c:data:`n_det_max` +* :c:data:`n_det_max_full` +* :c:data:`n_det_non_cas` +* :c:data:`n_det_print_wf` +* :c:data:`n_det_selectors` +* :c:data:`n_double_exc_bitmasks` +* :c:data:`n_double_selectors` +* :c:data:`n_generators_bitmask` +* :c:data:`n_generators_bitmask_restart` +* :c:data:`n_inact_orb` +* :c:data:`n_inact_orb_allocate` +* :c:data:`n_int` +* :c:data:`n_it_scf_max` +* :c:data:`n_iter` +* :c:data:`n_occ_pattern` +* :c:data:`n_points_final_grid` +* :c:data:`n_points_grid_per_atom` +* :c:data:`n_points_integration_angular` +* :c:data:`n_points_integration_angular_lebedev` +* :c:data:`n_points_radial_grid` +* :c:data:`n_pt_max_i_x` +* :c:data:`n_pt_max_integrals` +* :c:data:`n_single_exc_bitmasks` +* :c:data:`n_states` +* :c:data:`n_states_diag` +* :c:data:`n_virt_orb` +* :c:data:`n_virt_orb_allocate` +* :c:data:`no_ivvv_integrals` +* :c:data:`no_vvv_integrals` +* :c:data:`no_vvvv_integrals` +* :c:data:`nproc` +* :c:data:`nthreads_davidson` +* :c:data:`nthreads_pt2` +* :c:data:`nucl_aos` +* :c:data:`nucl_aos_transposed` +* :c:data:`nucl_charge` +* :c:data:`nucl_charge_remove` +* :c:data:`nucl_coord` +* :c:data:`nucl_coord_transp` +* :c:data:`nucl_dist` +* :c:data:`nucl_dist_2` +* :c:data:`nucl_dist_inv` +* :c:data:`nucl_dist_vec_x` +* :c:data:`nucl_dist_vec_y` +* :c:data:`nucl_dist_vec_z` +* :c:data:`nucl_label` +* :c:data:`nucl_list_shell_aos` +* :c:data:`nucl_n_aos` +* :c:data:`nucl_num` +* :c:data:`nucl_num_shell_aos` +* :c:data:`nuclear_repulsion` +* :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_at_r` +* :c:data:`one_e_dm_alpha_in_r` +* :c:data:`one_e_dm_and_grad_alpha_in_r` +* :c:data:`one_e_dm_and_grad_beta_in_r` +* :c:data:`one_e_dm_ao_alpha` +* :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_at_r` +* :c:data:`one_e_dm_beta_in_r` +* :c:data:`one_e_dm_dagger_mo_spin_index` +* :c:data:`one_e_dm_mo` +* :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_beta` +* :c:data:`one_e_dm_mo_beta_average` +* :c:data:`one_e_dm_mo_beta_for_dft` +* :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_energy` +* :c:data:`one_e_grad_2_dm_alpha_at_r` +* :c:data:`one_e_grad_2_dm_beta_at_r` +* :c:data:`one_e_spin_density_ao` +* :c:data:`one_e_spin_density_mo` +* :c:data:`only_expected_s2` +* :c:data:`output_cpu_time_0` +* :c:data:`output_wall_time_0` +* :c:data:`overlap_gaussian_xyz` +* :c:data:`phi_angular_integration_lebedev` +* :c:data:`potential_c_alpha_ao` +* :c:data:`potential_c_alpha_ao_lda` +* :c:data:`potential_c_alpha_ao_pbe` +* :c:data:`potential_c_alpha_mo` +* :c:data:`potential_c_beta_ao` +* :c:data:`potential_c_beta_ao_lda` +* :c:data:`potential_c_beta_ao_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_x_alpha_ao` +* :c:data:`potential_x_alpha_ao_lda` +* :c:data:`potential_x_alpha_ao_pbe` +* :c:data:`potential_x_alpha_mo` +* :c:data:`potential_x_beta_ao` +* :c:data:`potential_x_beta_ao_lda` +* :c:data:`potential_x_beta_ao_pbe` +* :c:data:`potential_x_beta_mo` +* :c:data:`pseudo_dz_k` +* :c:data:`pseudo_dz_k_transp` +* :c:data:`pseudo_dz_kl` +* :c:data:`pseudo_dz_kl_transp` +* :c:data:`pseudo_grid_rmax` +* :c:data:`pseudo_grid_size` +* :c:data:`pseudo_klocmax` +* :c:data:`pseudo_kmax` +* :c:data:`pseudo_lmax` +* :c:data:`pseudo_n_k` +* :c:data:`pseudo_n_k_transp` +* :c:data:`pseudo_n_kl` +* :c:data:`pseudo_n_kl_transp` +* :c:data:`pseudo_v_k` +* :c:data:`pseudo_v_k_transp` +* :c:data:`pseudo_v_kl` +* :c:data:`pseudo_v_kl_transp` +* :c:data:`psi_average_norm_contrib` +* :c:data:`psi_average_norm_contrib_sorted` +* :c:data:`psi_bilinear_matrix` +* :c:data:`psi_bilinear_matrix_columns` +* :c:data:`psi_bilinear_matrix_columns_loc` +* :c:data:`psi_bilinear_matrix_order` +* :c:data:`psi_bilinear_matrix_order_reverse` +* :c:data:`psi_bilinear_matrix_order_transp_reverse` +* :c:data:`psi_bilinear_matrix_rows` +* :c:data:`psi_bilinear_matrix_transp_columns` +* :c:data:`psi_bilinear_matrix_transp_order` +* :c:data:`psi_bilinear_matrix_transp_rows` +* :c:data:`psi_bilinear_matrix_transp_rows_loc` +* :c:data:`psi_bilinear_matrix_transp_values` +* :c:data:`psi_bilinear_matrix_values` +* :c:data:`psi_cas` +* :c:data:`psi_cas_coef` +* :c:data:`psi_cas_coef_sorted_bit` +* :c:data:`psi_cas_energy` +* :c:data:`psi_cas_energy_diagonalized` +* :c:data:`psi_cas_sorted_bit` +* :c:data:`psi_coef` +* :c:data:`psi_coef_cas_diagonalized` +* :c:data:`psi_coef_generators` +* :c:data:`psi_coef_max` +* :c:data:`psi_coef_min` +* :c:data:`psi_coef_sorted` +* :c:data:`psi_coef_sorted_bit` +* :c:data:`psi_coef_sorted_gen` +* :c:data:`psi_det` +* :c:data:`psi_det_alpha` +* :c:data:`psi_det_alpha_unique` +* :c:data:`psi_det_beta` +* :c:data:`psi_det_beta_unique` +* :c:data:`psi_det_generators` +* :c:data:`psi_det_hii` +* :c:data:`psi_det_size` +* :c:data:`psi_det_sorted` +* :c:data:`psi_det_sorted_bit` +* :c:data:`psi_det_sorted_gen` +* :c:data:`psi_det_sorted_gen_order` +* :c:data:`psi_det_sorted_order` +* :c:data:`psi_dft_energy_h_core` +* :c:data:`psi_dft_energy_kinetic` +* :c:data:`psi_dft_energy_nuclear_elec` +* :c:data:`psi_energy` +* :c:data:`psi_energy_h_core` +* :c:data:`psi_energy_two_e` +* :c:data:`psi_energy_with_nucl_rep` +* :c:data:`psi_non_cas` +* :c:data:`psi_non_cas_coef` +* :c:data:`psi_non_cas_coef_sorted_bit` +* :c:data:`psi_non_cas_sorted_bit` +* :c:data:`psi_occ_pattern` +* :c:data:`psi_occ_pattern_hii` +* :c:data:`psi_s2` +* :c:data:`psi_selectors` +* :c:data:`psi_selectors_coef` +* :c:data:`psi_selectors_coef_transp` +* :c:data:`psi_selectors_diag_h_mat` +* :c:data:`psi_selectors_size` +* :c:data:`pt2_collector` +* :c:data:`pt2_cw` +* :c:data:`pt2_e0_denominator` +* :c:data:`pt2_f` +* :c:data:`pt2_iterations` +* :c:data:`pt2_j` +* :c:data:`pt2_max` +* :c:data:`pt2_mindetinfirstteeth` +* :c:data:`pt2_n_0` +* :c:data:`pt2_n_tasks` +* :c:data:`pt2_n_tasks_max` +* :c:data:`pt2_n_teeth` +* :c:data:`pt2_r` +* :c:data:`pt2_relative_error` +* :c:data:`pt2_stoch_istate` +* :c:data:`pt2_u` +* :c:data:`pt2_u_0` +* :c:data:`pt2_w` +* :c:data:`pt2_w_t` +* :c:data:`qp_kill_filename` +* :c:data:`qp_max_mem` +* :c:data:`qp_run_address` +* :c:data:`qp_stop_filename` +* :c:data:`qp_stop_variable` +* :c:data:`read_ao_integrals_e_n` +* :c:data:`read_ao_integrals_kinetic` +* :c:data:`read_ao_integrals_overlap` +* :c:data:`read_ao_integrals_pseudo` +* :c:data:`read_ao_one_e_integrals` +* :c:data:`read_ao_two_e_integrals` +* :c:data:`read_ao_two_e_integrals_erf` +* :c:data:`read_mo_integrals_e_n` +* :c:data:`read_mo_integrals_kinetic` +* :c:data:`read_mo_integrals_pseudo` +* :c:data:`read_mo_one_e_integrals` +* :c:data:`read_mo_two_e_integrals` +* :c:data:`read_mo_two_e_integrals_erf` +* :c:data:`read_nuclear_repulsion` +* :c:data:`read_wf` +* :c:data:`rec__quicksort` +* :c:data:`rec_d_quicksort` +* :c:data:`rec_i2_quicksort` +* :c:data:`rec_i8_quicksort` +* :c:data:`rec_i_quicksort` +* :c:data:`ref_bitmask` +* :c:data:`ref_bitmask_e_n_energy` +* :c:data:`ref_bitmask_energy` +* :c:data:`ref_bitmask_kinetic_energy` +* :c:data:`ref_bitmask_one_e_energy` +* :c:data:`ref_bitmask_two_e_energy` +* :c:data:`ref_closed_shell_bitmask` +* :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:`rs_ks_energy` +* :c:data:`s2_eig` +* :c:data:`s2_matrix_all_dets` +* :c:data:`s2_values` +* :c:data:`s_half` +* :c:data:`s_half_inv` +* :c:data:`s_inv` +* :c:data:`s_mo_coef` +* :c:data:`s_z` +* :c:data:`s_z2_sz` +* :c:data:`scf_algorithm` +* :c:data:`scf_density_matrix_ao` +* :c:data:`scf_density_matrix_ao_alpha` +* :c:data:`scf_density_matrix_ao_beta` +* :c:data:`scf_energy` +* :c:data:`select_max` +* :c:data:`selection_criterion` +* :c:data:`selection_criterion_factor` +* :c:data:`selection_criterion_min` +* :c:data:`selection_weight` +* :c:data:`shifting_constant` +* :c:data:`short_range_hartree` +* :c:data:`short_range_hartree_operator` +* :c:data:`single_exc_bitmask` +* :c:data:`singles_alpha_csc` +* :c:data:`singles_alpha_csc_idx` +* :c:data:`singles_alpha_csc_size` +* :c:data:`singles_beta_csc` +* :c:data:`singles_beta_csc_idx` +* :c:data:`singles_beta_csc_size` +* :c:data:`size_select_max` +* :c:data:`slater_bragg_radii` +* :c:data:`slater_bragg_radii_per_atom` +* :c:data:`slater_bragg_radii_per_atom_ua` +* :c:data:`slater_bragg_radii_ua` +* :c:data:`slater_bragg_type_inter_distance` +* :c:data:`slater_bragg_type_inter_distance_ua` +* :c:data:`state_average_weight` +* :c:data:`state_following` +* :c:data:`target_energy` +* :c:data:`theta_angular_integration_lebedev` +* :c:data:`thresh_scf` +* :c:data:`threshold_davidson` +* :c:data:`threshold_diis` +* :c:data:`threshold_diis_nonzero` +* :c:data:`threshold_generators` +* :c:data:`threshold_selectors` +* :c:data:`trace_potential_xc` +* :c:data:`trace_v_h` +* :c:data:`trace_v_hxc` +* :c:data:`trace_v_xc` +* :c:data:`transpose` +* :c:data:`two_e_energy` +* :c:data:`unpaired_alpha_electrons` +* :c:data:`used_weight` +* :c:data:`var_pt2_ratio` +* :c:data:`virt_bitmask` +* :c:data:`virt_bitmask_4` +* :c:data:`weight_at_r` +* :c:data:`weight_occ_pattern` +* :c:data:`weights_angular_integration_lebedev` +* :c:data:`weights_angular_points` +* :c:data:`write_ao_integrals_e_n` +* :c:data:`write_ao_integrals_kinetic` +* :c:data:`write_ao_integrals_overlap` +* :c:data:`write_ao_integrals_pseudo` +* :c:data:`write_ao_one_e_integrals` +* :c:data:`write_ao_two_e_integrals` +* :c:data:`write_ao_two_e_integrals_erf` +* :c:data:`write_mo_integrals_e_n` +* :c:data:`write_mo_integrals_kinetic` +* :c:data:`write_mo_integrals_pseudo` +* :c:data:`write_mo_one_e_integrals` +* :c:data:`write_mo_two_e_integrals` +* :c:data:`write_mo_two_e_integrals_erf` +* :c:data:`write_nuclear_repulsion` +* :c:data:`zmq_context` +* :c:data:`zmq_lock` +* :c:data:`zmq_port_start` +* :c:data:`zmq_socket_pair_inproc_address` +* :c:data:`zmq_socket_pull_inproc_address` +* :c:data:`zmq_socket_pull_tcp_address` +* :c:data:`zmq_socket_push_inproc_address` +* :c:data:`zmq_socket_push_tcp_address` +* :c:data:`zmq_socket_sub_tcp_address` +* :c:data:`zmq_state` + +Index of Subroutines/Functions +------------------------------ + +* :c:func:`a_coef` +* :c:func:`a_operator` +* :c:func:`a_operator_two_e` +* :c:func:`ac_operator` +* :c:func:`ac_operator_two_e` +* :c:func:`add_integrals_to_map` +* :c:func:`add_integrals_to_map_erf` +* :c:func:`add_integrals_to_map_no_exit_34` +* :c:func:`add_integrals_to_map_three_indices` +* :c:func:`add_poly` +* :c:func:`add_poly_multiply` +* :c:func:`add_task_to_taskserver` +* :c:func:`add_to_selection_buffer` +* :c:func:`ao_l4` +* :c:func:`ao_ortho_cano_to_ao` +* :c:func:`ao_power_index` +* :c:func:`ao_to_mo` +* :c:func:`ao_two_e_integral` +* :c:func:`ao_two_e_integral_erf` +* :c:func:`ao_two_e_integral_schwartz_accel` +* :c:func:`ao_two_e_integral_schwartz_accel_erf` +* :c:func:`ao_two_e_integrals_erf_in_map_collector` +* :c:func:`ao_two_e_integrals_erf_in_map_slave` +* :c:func:`ao_two_e_integrals_erf_in_map_slave_inproc` +* :c:func:`ao_two_e_integrals_erf_in_map_slave_tcp` +* :c:func:`ao_two_e_integrals_in_map_collector` +* :c:func:`ao_two_e_integrals_in_map_slave` +* :c:func:`ao_two_e_integrals_in_map_slave_inproc` +* :c:func:`ao_two_e_integrals_in_map_slave_tcp` +* :c:func:`ao_value` +* :c:func:`apply_excitation` +* :c:func:`apply_hole` +* :c:func:`apply_holes` +* :c:func:`apply_particle` +* :c:func:`apply_particles` +* :c:func:`apply_rotation` +* :c:func:`approx_dble` +* :c:func:`b_coef` +* :c:func:`berf` +* :c:func:`binom_func` +* :c:func:`bitstring_to_hexa` +* :c:func:`bitstring_to_list` +* :c:func:`bitstring_to_list_ab` +* :c:func:`bitstring_to_list_in_selection` +* :c:func:`bitstring_to_str` +* :c:func:`broadcast_chunks_bit_kind` +* :c:func:`broadcast_chunks_double` +* :c:func:`broadcast_chunks_integer` +* :c:func:`broadcast_chunks_integer8` +* :c:func:`build_fock_tmp` +* :c:func:`cell_function_becke` +* :c:func:`check_coherence_functional` +* :c:func:`check_mem` +* :c:func:`cis` +* :c:func:`cisd` +* :c:func:`clear_ao_erf_map` +* :c:func:`clear_ao_map` +* :c:func:`clear_bit_to_integer` +* :c:func:`clear_mo_erf_map` +* :c:func:`clear_mo_map` +* :c:func:`compute_ao_integrals_erf_jl` +* :c:func:`compute_ao_integrals_jl` +* :c:func:`compute_ao_two_e_integrals` +* :c:func:`compute_ao_two_e_integrals_erf` +* :c:func:`connect_to_taskserver` +* :c:func:`connected_to_ref` +* :c:func:`connected_to_ref_by_mono` +* :c:func:`copy_h_apply_buffer_to_wf` +* :c:func:`copy_psi_bilinear_to_psi` +* :c:func:`create_guess` +* :c:func:`create_microlist` +* :c:func:`create_minilist` +* :c:func:`create_minilist_find_previous` +* :c:func:`create_selection_buffer` +* :c:func:`create_wf_of_psi_bilinear_matrix` +* :c:func:`damping_scf` +* :c:func:`davidson_collector` +* :c:func:`davidson_converged` +* :c:func:`davidson_diag_hjj_sjj` +* :c:func:`davidson_diag_hs2` +* :c:func:`davidson_pull_results` +* :c:func:`davidson_push_results` +* :c:func:`davidson_run_slave` +* :c:func:`davidson_slave_inproc` +* :c:func:`davidson_slave_tcp` +* :c:func:`davidson_slave_work` +* :c:func:`dberfda` +* :c:func:`dble_fact` +* :c:func:`dble_fact_even` +* :c:func:`dble_fact_odd` +* :c:func:`dble_logfact` +* :c:func:`ddfact2` +* :c:func:`debug_det` +* :c:func:`debug_spindet` +* :c:func:`decode_exc` +* :c:func:`decode_exc_spin` +* :c:func:`delete_selection_buffer` +* :c:func:`density_and_grad_alpha_beta_and_all_aos_and_grad_aos_at_r` +* :c:func:`derivative_knowles_function` +* :c:func:`det_inf` +* :c:func:`det_search_key` +* :c:func:`detcmp` +* :c:func:`deteq` +* :c:func:`diag_h_mat_elem` +* :c:func:`diag_h_mat_elem_fock` +* :c:func:`diag_h_mat_elem_one_e` +* :c:func:`diag_s_mat_elem` +* :c:func:`diag_wee_mat_elem` +* :c:func:`diagonalize_ci` +* :c:func:`diagonalize_h` +* :c:func:`disconnect_from_taskserver` +* :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:`do_mono_excitation` +* :c:func:`dpol` +* :c:func:`dpold` +* :c:func:`dpoldd` +* :c:func:`dset_order` +* :c:func:`dset_order_big` +* :c:func:`dsort` +* :c:func:`dump_ao_integrals` +* :c:func:`dump_ao_integrals_erf` +* :c:func:`dump_mo_integrals` +* :c:func:`ec_lda` +* :c:func:`ec_lda_sr` +* :c:func:`ec_only_lda_sr` +* :c:func:`ec_pbe_only` +* :c:func:`ec_pbe_sr` +* :c:func:`ecorrlr` +* :c:func:`ecpw` +* :c:func:`end_parallel_job` +* :c:func:`end_zmq_pair_socket` +* :c:func:`end_zmq_pull_socket` +* :c:func:`end_zmq_push_socket` +* :c:func:`end_zmq_sub_socket` +* :c:func:`end_zmq_to_qp_run_socket` +* :c:func:`erf0` +* :c:func:`eri` +* :c:func:`eri_erf` +* :c:func:`ex_lda` +* :c:func:`ex_lda_sr` +* :c:func:`ex_pbe_sr` +* :c:func:`ex_pbe_sr_only` +* :c:func:`example_becke_numerical_grid` +* :c:func:`example_bitmask` +* :c:func:`example_determinants` +* :c:func:`example_determinants_psi_det` +* :c:func:`extrapolate_data` +* :c:func:`f_function_becke` +* :c:func:`f_integral` +* :c:func:`fact` +* :c:func:`fci` +* :c:func:`fcidump` +* :c:func:`fill_buffer_double` +* :c:func:`fill_h_apply_buffer_no_selection` +* :c:func:`filter_connected` +* :c:func:`filter_connected_i_h_psi0` +* :c:func:`filter_not_connected` +* :c:func:`find_rotation` +* :c:func:`four_idx_transform` +* :c:func:`g0d` +* :c:func:`g0dd` +* :c:func:`g0f` +* :c:func:`gammln` +* :c:func:`gammp` +* :c:func:`gauleg` +* :c:func:`gaussian_product` +* :c:func:`gaussian_product_x` +* :c:func:`gcf` +* :c:func:`generate_all_alpha_beta_det_products` +* :c:func:`get_all_spin_doubles` +* :c:func:`get_all_spin_doubles_1` +* :c:func:`get_all_spin_doubles_2` +* :c:func:`get_all_spin_doubles_3` +* :c:func:`get_all_spin_doubles_4` +* :c:func:`get_all_spin_doubles_n_int` +* :c:func:`get_all_spin_singles` +* :c:func:`get_all_spin_singles_1` +* :c:func:`get_all_spin_singles_2` +* :c:func:`get_all_spin_singles_3` +* :c:func:`get_all_spin_singles_4` +* :c:func:`get_all_spin_singles_and_doubles` +* :c:func:`get_all_spin_singles_and_doubles_1` +* :c:func:`get_all_spin_singles_and_doubles_2` +* :c:func:`get_all_spin_singles_and_doubles_3` +* :c:func:`get_all_spin_singles_and_doubles_4` +* :c:func:`get_all_spin_singles_and_doubles_n_int` +* :c:func:`get_all_spin_singles_n_int` +* :c:func:`get_ao_erf_map_size` +* :c:func:`get_ao_map_size` +* :c:func:`get_ao_two_e_integral` +* :c:func:`get_ao_two_e_integral_erf` +* :c:func:`get_ao_two_e_integrals` +* :c:func:`get_ao_two_e_integrals_erf` +* :c:func:`get_ao_two_e_integrals_erf_non_zero` +* :c:func:`get_ao_two_e_integrals_non_zero` +* :c:func:`get_d0` +* :c:func:`get_d1` +* :c:func:`get_d2` +* :c:func:`get_double_excitation` +* :c:func:`get_double_excitation_spin` +* :c:func:`get_excitation` +* :c:func:`get_excitation_degree` +* :c:func:`get_excitation_degree_spin` +* :c:func:`get_excitation_degree_vector` +* :c:func:`get_excitation_degree_vector_double_alpha_beta` +* :c:func:`get_excitation_degree_vector_mono` +* :c:func:`get_excitation_degree_vector_mono_or_exchange` +* :c:func:`get_excitation_degree_vector_mono_or_exchange_verbose` +* :c:func:`get_excitation_spin` +* :c:func:`get_index_in_psi_det_alpha_unique` +* :c:func:`get_index_in_psi_det_beta_unique` +* :c:func:`get_index_in_psi_det_sorted_bit` +* :c:func:`get_inverse` +* :c:func:`get_mask_phase` +* :c:func:`get_mo_erf_map_size` +* :c:func:`get_mo_map_size` +* :c:func:`get_mo_two_e_integral_erf` +* :c:func:`get_mo_two_e_integrals` +* :c:func:`get_mo_two_e_integrals_coulomb_ii` +* :c:func:`get_mo_two_e_integrals_erf` +* :c:func:`get_mo_two_e_integrals_erf_coulomb_ii` +* :c:func:`get_mo_two_e_integrals_erf_exch_ii` +* :c:func:`get_mo_two_e_integrals_erf_i1j1` +* :c:func:`get_mo_two_e_integrals_erf_ij` +* :c:func:`get_mo_two_e_integrals_exch_ii` +* :c:func:`get_mo_two_e_integrals_i1j1` +* :c:func:`get_mo_two_e_integrals_ij` +* :c:func:`get_mono_excitation` +* :c:func:`get_mono_excitation_from_fock` +* :c:func:`get_mono_excitation_spin` +* :c:func:`get_occupation_from_dets` +* :c:func:`get_phase` +* :c:func:`get_phase_bi` +* :c:func:`get_phasemask_bit` +* :c:func:`get_pseudo_inverse` +* :c:func:`get_s2` +* :c:func:`get_task_from_taskserver` +* :c:func:`get_tasks_from_taskserver` +* :c:func:`get_two_e_integral` +* :c:func:`get_uj_s2_ui` +* :c:func:`getmobiles` +* :c:func:`getunitandopen` +* :c:func:`give_all_aos_and_grad_and_lapl_at_r` +* :c:func:`give_all_aos_and_grad_at_r` +* :c:func:`give_all_aos_at_r` +* :c:func:`give_all_aos_at_r_old` +* :c:func:`give_all_erf_kl_ao` +* :c:func:`give_all_mos_and_grad_and_lapl_at_r` +* :c:func:`give_all_mos_and_grad_at_r` +* :c:func:`give_all_mos_at_r` +* :c:func:`give_explicit_poly_and_gaussian` +* :c:func:`give_explicit_poly_and_gaussian_double` +* :c:func:`give_explicit_poly_and_gaussian_x` +* :c:func:`give_polynom_mult_center_x` +* :c:func:`give_polynomial_mult_center_one_e` +* :c:func:`gpw` +* :c:func:`grad_rho_ab_to_grad_rho_oc` +* :c:func:`gser` +* :c:func:`h_apply_cis` +* :c:func:`h_apply_cis_diexc` +* :c:func:`h_apply_cis_diexcorg` +* :c:func:`h_apply_cis_diexcp` +* :c:func:`h_apply_cis_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_s2_u_0_nstates_openmp` +* :c:func:`h_s2_u_0_nstates_openmp_work` +* :c:func:`h_s2_u_0_nstates_openmp_work_1` +* :c:func:`h_s2_u_0_nstates_openmp_work_2` +* :c:func:`h_s2_u_0_nstates_openmp_work_3` +* :c:func:`h_s2_u_0_nstates_openmp_work_4` +* :c:func:`h_s2_u_0_nstates_openmp_work_n_int` +* :c:func:`h_s2_u_0_nstates_zmq` +* :c:func:`h_s2_u_0_two_e_nstates_openmp` +* :c:func:`h_s2_u_0_two_e_nstates_openmp_work` +* :c:func:`h_s2_u_0_two_e_nstates_openmp_work_1` +* :c:func:`h_s2_u_0_two_e_nstates_openmp_work_2` +* :c:func:`h_s2_u_0_two_e_nstates_openmp_work_3` +* :c:func:`h_s2_u_0_two_e_nstates_openmp_work_4` +* :c:func:`h_s2_u_0_two_e_nstates_openmp_work_n_int` +* :c:func:`hcore_guess` +* :c:func:`heap_dsort` +* :c:func:`heap_dsort_big` +* :c:func:`heap_i2sort` +* :c:func:`heap_i2sort_big` +* :c:func:`heap_i8sort` +* :c:func:`heap_i8sort_big` +* :c:func:`heap_isort` +* :c:func:`heap_isort_big` +* :c:func:`heap_sort` +* :c:func:`heap_sort_big` +* :c:func:`hermite` +* :c:func:`huckel_guess` +* :c:func:`i2set_order` +* :c:func:`i2set_order_big` +* :c:func:`i2sort` +* :c:func:`i8set_order` +* :c:func:`i8set_order_big` +* :c:func:`i8sort` +* :c:func:`i_h_j` +* :c:func:`i_h_j_double_alpha_beta` +* :c:func:`i_h_j_double_spin` +* :c:func:`i_h_j_mono_spin` +* :c:func:`i_h_j_mono_spin_one_e` +* :c:func:`i_h_j_one_e` +* :c:func:`i_h_j_s2` +* :c:func:`i_h_j_two_e` +* :c:func:`i_h_j_verbose` +* :c:func:`i_h_psi` +* :c:func:`i_h_psi_minilist` +* :c:func:`i_s2_psi_minilist` +* :c:func:`i_wee_j_mono` +* :c:func:`i_x1_pol_mult` +* :c:func:`initialize_bitmask_to_restart_ones` +* :c:func:`initialize_mo_coef_begin_iteration` +* :c:func:`insert_into_ao_integrals_erf_map` +* :c:func:`insert_into_ao_integrals_map` +* :c:func:`insertion_dsort` +* :c:func:`insertion_dsort_big` +* :c:func:`insertion_i2sort` +* :c:func:`insertion_i2sort_big` +* :c:func:`insertion_i8sort` +* :c:func:`insertion_i8sort_big` +* :c:func:`insertion_isort` +* :c:func:`insertion_isort_big` +* :c:func:`insertion_sort` +* :c:func:`insertion_sort_big` +* :c:func:`int_gaus_pol` +* :c:func:`integrale_new` +* :c:func:`integrale_new_erf` +* :c:func:`is_a_1h` +* :c:func:`is_a_1h1p` +* :c:func:`is_a_1h2p` +* :c:func:`is_a_1p` +* :c:func:`is_a_2h` +* :c:func:`is_a_2h1p` +* :c:func:`is_a_2p` +* :c:func:`is_a_two_holes_two_particles` +* :c:func:`is_connected_to` +* :c:func:`is_connected_to_by_mono` +* :c:func:`is_i_in_virtual` +* :c:func:`is_in_wavefunction` +* :c:func:`is_spin_flip_possible` +* :c:func:`is_the_hole_in_det` +* :c:func:`is_the_particl_in_det` +* :c:func:`iset_order` +* :c:func:`iset_order_big` +* :c:func:`isort` +* :c:func:`knowles_function` +* :c:func:`ks_scf` +* :c:func:`lapack_diag` +* :c:func:`lapack_diagd` +* :c:func:`list_to_bitstring` +* :c:func:`load_ao_integrals` +* :c:func:`load_ao_integrals_erf` +* :c:func:`load_mo_integrals` +* :c:func:`load_mo_integrals_erf` +* :c:func:`logfact` +* :c:func:`lowercase` +* :c:func:`make_s2_eigenfunction` +* :c:func:`make_selection_buffer_s2` +* :c:func:`map_load_from_disk` +* :c:func:`map_save_to_disk` +* :c:func:`memory_of_double` +* :c:func:`memory_of_int` +* :c:func:`merge_selection_buffers` +* :c:func:`mix_mo_jk` +* :c:func:`mo_as_eigvectors_of_mo_matrix` +* :c:func:`mo_as_svd_vectors_of_mo_matrix` +* :c:func:`mo_as_svd_vectors_of_mo_matrix_eig` +* :c:func:`mo_to_ao` +* :c:func:`mo_to_ao_no_overlap` +* :c:func:`mo_two_e_integral` +* :c:func:`mo_two_e_integral_erf` +* :c:func:`mo_two_e_integrals_erf_index` +* :c:func:`mo_two_e_integrals_index` +* :c:func:`modify_bitmasks_for_hole` +* :c:func:`modify_bitmasks_for_hole_in_out` +* :c:func:`modify_bitmasks_for_particl` +* :c:func:`molden` +* :c:func:`mono_excitation_wee` +* :c:func:`mpi_print` +* :c:func:`multiply_poly` +* :c:func:`n_pt_sup` +* :c:func:`nai_pol_mult` +* :c:func:`nai_pol_mult_erf` +* :c:func:`nai_pol_mult_erf_ao` +* :c:func:`new_parallel_job` +* :c:func:`new_zmq_pair_socket` +* :c:func:`new_zmq_pull_socket` +* :c:func:`new_zmq_push_socket` +* :c:func:`new_zmq_sub_socket` +* :c:func:`new_zmq_to_qp_run_socket` +* :c:func:`normalize` +* :c:func:`number_of_holes` +* :c:func:`number_of_holes_verbose` +* :c:func:`number_of_particles` +* :c:func:`number_of_particles_verbose` +* :c:func:`occ_pattern_of_det` +* :c:func:`occ_pattern_search_key` +* :c:func:`occ_pattern_to_dets` +* :c:func:`occ_pattern_to_dets_size` +* :c:func:`ortho_canonical` +* :c:func:`ortho_lowdin` +* :c:func:`ortho_qr` +* :c:func:`ortho_qr_unblocked` +* :c:func:`orthonormalize_mos` +* :c:func:`overlap_bourrin_deriv_x` +* :c:func:`overlap_bourrin_dipole` +* :c:func:`overlap_bourrin_spread` +* :c:func:`overlap_bourrin_x` +* :c:func:`overlap_gaussian_x` +* :c:func:`overlap_x_abs` +* :c:func:`past_d1` +* :c:func:`past_d2` +* :c:func:`perturb_buffer_by_mono_dummy` +* :c:func:`perturb_buffer_by_mono_epstein_nesbet` +* :c:func:`perturb_buffer_by_mono_epstein_nesbet_2x2` +* :c:func:`perturb_buffer_by_mono_epstein_nesbet_2x2_no_ci_diag` +* :c:func:`perturb_buffer_by_mono_moller_plesset` +* :c:func:`perturb_buffer_by_mono_qdpt` +* :c:func:`perturb_buffer_dummy` +* :c:func:`perturb_buffer_epstein_nesbet` +* :c:func:`perturb_buffer_epstein_nesbet_2x2` +* :c:func:`perturb_buffer_epstein_nesbet_2x2_no_ci_diag` +* :c:func:`perturb_buffer_moller_plesset` +* :c:func:`perturb_buffer_qdpt` +* :c:func:`primitive_value` +* :c:func:`print_det` +* :c:func:`print_e_conv` +* :c:func:`print_extrapolated_energy` +* :c:func:`print_generators_bitmasks_holes` +* :c:func:`print_generators_bitmasks_holes_for_one_generator` +* :c:func:`print_generators_bitmasks_particles` +* :c:func:`print_generators_bitmasks_particles_for_one_generator` +* :c:func:`print_memory_usage` +* :c:func:`print_spindet` +* :c:func:`print_summary` +* :c:func:`print_wf` +* :c:func:`provide_all_mo_integrals_erf` +* :c:func:`provide_everything` +* :c:func:`pt2` +* :c:func:`pt2_dummy` +* :c:func:`pt2_epstein_nesbet` +* :c:func:`pt2_epstein_nesbet_2x2` +* :c:func:`pt2_epstein_nesbet_2x2_no_ci_diag` +* :c:func:`pt2_find_sample` +* :c:func:`pt2_find_sample_lr` +* :c:func:`pt2_moller_plesset` +* :c:func:`pt2_qdpt` +* :c:func:`pt2_slave_inproc` +* :c:func:`pull_pt2` +* :c:func:`pull_pt2_results` +* :c:func:`pull_selection_results` +* :c:func:`push_integrals` +* :c:func:`push_pt2` +* :c:func:`push_pt2_results` +* :c:func:`push_selection_results` +* :c:func:`qp_stop` +* :c:func:`qrpa` +* :c:func:`qrpad` +* :c:func:`qrpadd` +* :c:func:`quick_dsort` +* :c:func:`quick_i2sort` +* :c:func:`quick_i8sort` +* :c:func:`quick_isort` +* :c:func:`quick_sort` +* :c:func:`read_dets` +* :c:func:`recentered_poly2` +* :c:func:`remove_duplicates_in_psi_det` +* :c:func:`remove_duplicates_in_selection_buffer` +* :c:func:`remove_small_contributions` +* :c:func:`reorder_core_orb` +* :c:func:`reset_zmq_addresses` +* :c:func:`resident_memory` +* :c:func:`resize_h_apply_buffer` +* :c:func:`rho_ab_to_rho_oc` +* :c:func:`rho_oc_to_rho_ab` +* :c:func:`rint` +* :c:func:`rint1` +* :c:func:`rint_large_n` +* :c:func:`rint_sum` +* :c:func:`rinteg` +* :c:func:`rintgauss` +* :c:func:`roothaan_hall_scf` +* :c:func:`routine` +* :c:func:`routine_e_conv` +* :c:func:`routine_example_psi_det` +* :c:func:`routine_save_one_e_dm` +* :c:func:`rs_ks_scf` +* :c:func:`run` +* :c:func:`run_cipsi` +* :c:func:`run_pt2_slave` +* :c:func:`run_selection_slave` +* :c:func:`run_slave_cipsi` +* :c:func:`run_slave_main` +* :c:func:`run_stochastic_cipsi` +* :c:func:`s2_u_0` +* :c:func:`s2_u_0_nstates` +* :c:func:`sabpartial` +* :c:func:`save_energy` +* :c:func:`save_erf_two_e_integrals_ao` +* :c:func:`save_erf_two_e_integrals_mo` +* :c:func:`save_erf_two_e_ints_ao_into_ints_ao` +* :c:func:`save_erf_two_e_ints_mo_into_ints_mo` +* :c:func:`save_iterations` +* :c:func:`save_mos` +* :c:func:`save_mos_truncated` +* :c:func:`save_natorb` +* :c:func:`save_natural_mos` +* :c:func:`save_one_e_dm` +* :c:func:`save_ortho_mos` +* :c:func:`save_ref_determinant` +* :c:func:`save_wavefunction` +* :c:func:`save_wavefunction_general` +* :c:func:`save_wavefunction_specified` +* :c:func:`save_wavefunction_truncated` +* :c:func:`save_wavefunction_unsorted` +* :c:func:`scf` +* :c:func:`select_connected` +* :c:func:`select_singles_and_doubles` +* :c:func:`selection_collector` +* :c:func:`selection_slave_inproc` +* :c:func:`set_bit_to_integer` +* :c:func:`set_bitmask_hole_as_input` +* :c:func:`set_bitmask_particl_as_input` +* :c:func:`set_natural_mos` +* :c:func:`set_order` +* :c:func:`set_order_big` +* :c:func:`sort` +* :c:func:`sort_dets_ab` +* :c:func:`sort_dets_ab_v` +* :c:func:`sort_dets_ba_v` +* :c:func:`sort_dets_by_det_search_key` +* :c:func:`sort_selection_buffer` +* :c:func:`sorted_dnumber` +* :c:func:`sorted_i2number` +* :c:func:`sorted_i8number` +* :c:func:`sorted_inumber` +* :c:func:`sorted_number` +* :c:func:`spin_det_search_key` +* :c:func:`splash_pq` +* :c:func:`spot_isinwf` +* :c:func:`step_function_becke` +* :c:func:`svd` +* :c:func:`switch_qp_run_to_master` +* :c:func:`tamiser` +* :c:func:`task_done_to_taskserver` +* :c:func:`tasks_done_to_taskserver` +* :c:func:`testteethbuilding` +* :c:func:`total_memory` +* :c:func:`two_e_integrals_index` +* :c:func:`two_e_integrals_index_reverse` +* :c:func:`u_0_h_u_0` +* :c:func:`u_0_h_u_0_two_e` +* :c:func:`u_0_s2_u_0` +* :c:func:`u_dot_u` +* :c:func:`u_dot_v` +* :c:func:`v_e_n` +* :c:func:`v_grad_rho_oc_to_v_grad_rho_ab` +* :c:func:`v_phi` +* :c:func:`v_r` +* :c:func:`v_rho_ab_to_v_rho_oc` +* :c:func:`v_rho_oc_to_v_rho_ab` +* :c:func:`v_theta` +* :c:func:`vcorrlr` +* :c:func:`wait_for_next_state` +* :c:func:`wait_for_state` +* :c:func:`wait_for_states` +* :c:func:`wall_time` +* :c:func:`wallis` +* :c:func:`wf_of_psi_bilinear_matrix` +* :c:func:`write_ao_basis` +* :c:func:`write_bool` +* :c:func:`write_double` +* :c:func:`write_geometry` +* :c:func:`write_git_log` +* :c:func:`write_int` +* :c:func:`write_integrals_erf` +* :c:func:`write_intro_gamess` +* :c:func:`write_mo_basis` +* :c:func:`write_spindeterminants` +* :c:func:`write_time` +* :c:func:`zmq_abort` +* :c:func:`zmq_delete_task` +* :c:func:`zmq_delete_tasks` +* :c:func:`zmq_delete_tasks_async_recv` +* :c:func:`zmq_delete_tasks_async_send` +* :c:func:`zmq_get8_dvector` +* :c:func:`zmq_get8_ivector` +* :c:func:`zmq_get_dmatrix` +* :c:func:`zmq_get_dvector` +* :c:func:`zmq_get_i8matrix` +* :c:func:`zmq_get_imatrix` +* :c:func:`zmq_get_int` +* :c:func:`zmq_get_int_nompi` +* :c:func:`zmq_get_ivector` +* :c:func:`zmq_get_n_det` +* :c:func:`zmq_get_n_det_alpha_unique` +* :c:func:`zmq_get_n_det_beta_unique` +* :c:func:`zmq_get_n_det_generators` +* :c:func:`zmq_get_n_det_selectors` +* :c:func:`zmq_get_n_states` +* :c:func:`zmq_get_n_states_diag` +* :c:func:`zmq_get_psi` +* :c:func:`zmq_get_psi_bilinear` +* :c:func:`zmq_get_psi_bilinear_matrix_columns` +* :c:func:`zmq_get_psi_bilinear_matrix_order` +* :c:func:`zmq_get_psi_bilinear_matrix_rows` +* :c:func:`zmq_get_psi_bilinear_matrix_values` +* :c:func:`zmq_get_psi_coef` +* :c:func:`zmq_get_psi_det` +* :c:func:`zmq_get_psi_det_alpha_unique` +* :c:func:`zmq_get_psi_det_beta_unique` +* :c:func:`zmq_get_psi_det_size` +* :c:func:`zmq_get_psi_notouch` +* :c:func:`zmq_port` +* :c:func:`zmq_pt2` +* :c:func:`zmq_put8_dvector` +* :c:func:`zmq_put8_ivector` +* :c:func:`zmq_put_dmatrix` +* :c:func:`zmq_put_dvector` +* :c:func:`zmq_put_i8matrix` +* :c:func:`zmq_put_imatrix` +* :c:func:`zmq_put_int` +* :c:func:`zmq_put_ivector` +* :c:func:`zmq_put_n_det` +* :c:func:`zmq_put_n_det_alpha_unique` +* :c:func:`zmq_put_n_det_beta_unique` +* :c:func:`zmq_put_n_det_generators` +* :c:func:`zmq_put_n_det_selectors` +* :c:func:`zmq_put_n_states` +* :c:func:`zmq_put_n_states_diag` +* :c:func:`zmq_put_psi` +* :c:func:`zmq_put_psi_bilinear` +* :c:func:`zmq_put_psi_bilinear_matrix_columns` +* :c:func:`zmq_put_psi_bilinear_matrix_order` +* :c:func:`zmq_put_psi_bilinear_matrix_rows` +* :c:func:`zmq_put_psi_bilinear_matrix_values` +* :c:func:`zmq_put_psi_coef` +* :c:func:`zmq_put_psi_det` +* :c:func:`zmq_put_psi_det_alpha_unique` +* :c:func:`zmq_put_psi_det_beta_unique` +* :c:func:`zmq_put_psi_det_size` +* :c:func:`zmq_selection` +* :c:func:`zmq_set_running` \ No newline at end of file diff --git a/doc/_sources/programmers_guide/plugins.rst.txt b/doc/_sources/programmers_guide/plugins.rst.txt new file mode 100644 index 00000000..5ad9171a --- /dev/null +++ b/doc/_sources/programmers_guide/plugins.rst.txt @@ -0,0 +1,30 @@ +================== +Developing plugins +================== + + +Creating a repository of plugins +-------------------------------- + +The purpose of :file:`$QP_ROOT/plugins` is to contain local copies of +external repositories of plugins. + +Create a repository, for example :file:`qp_plugins_user`, hosted somewhere +(GitLab, GitHub, etc...), and clone the repository in the +:file:`$QP_ROOT/plugins` directory. + + +Creating new plugins +-------------------- + +To create a new plugin named :file:`my_plugin` in this repository, run:: + + qp_plugins create -n my_plugin -r qp_plugins_user + + +Now, the plugin needs to be installed to be compiled:: + + qp_plugins install my_plugin + + + diff --git a/doc/_sources/programmers_guide/programming.rst.txt b/doc/_sources/programmers_guide/programming.rst.txt new file mode 100644 index 00000000..56e32707 --- /dev/null +++ b/doc/_sources/programmers_guide/programming.rst.txt @@ -0,0 +1,82 @@ +======================= +Programming in the |qp| +======================= + +To program in the |qp|, it is required that you are familiar with the |IRPF90| +code generator. A GitBook can be found `here `_, +and programmers are encouraged to visit this manual. + +|IRPF90| make programming very simple. The only information a programmer needs +in order to write a new program is the name of the required |IRPF90| entities +which may already exist in other modules. For example, writing a program which +prints the Hartree-Fock energy is as simple as: + +.. code:: fortran + + program print_hf_energy + implicit none + BEGIN_DOC + ! Program which prints the Hartree-Fock energy + ! to the standard output + END_DOC + print *, 'HF energy = ', HF_energy + end + + +The only required information was the existence of a provider for +:command:`hf_energy`. A detailed list of all the providers, subroutines +and functions of the |qp| can be found in the appendix of this manual. + + + +Architecture +============ + +As |IRPF90| is used, the programmer doesn't have a full control of the sequence +of instructions in the produced Fortran code. This explains why the input data +is stored in a database rather than in sequential text files. Indeed, the +programmer can't know by advance in which order the files will be read, so a +simple random access to persistent data is needed. The |EZFIO| library generator +is a practical answer to this problem. + +The |qp| uses a collection of programs inter-operating together. Each of these +programs is reading and/or modifying information in the |EZFIO| database. +This is done mostly using the command line or scripting. + +.. important:: + + Each command modifies the state of the |EZFIO| database, so running twice the + same program on the same database may have different behaviors because of the + state of the database. For reproducibility, users are encouraged to run scripts + where a fresg new |EZFIO| database is created at the beginning of the + script. This way of running the |qp| makes calculations reproducible. + + +The computational part |qp| is organized in **modules**. A module is a +directory which contains multiple |IRPF90| files, a |README| and a |NEED| file. + +The |README| file contains documentation about the module, that is +automatically included in the documentation of the |qp|. The documentation is +generated by the `Sphinx documentation builder `_, +and it should be written using the |rst| format. + +The |NEED| file contains the list of the modules which are needed for the +current module. When a module is needed, it means that all the |IRPF90| files +it contains should be included in the current module. This is done +automatically during the building process, by creating symbolic links in the +current directory. + +To compile the program, the |Ninja| build system is used, and all the building +process is fully automated such that the programmer will never have to modify a +file by hand. Running :command:`ninja` inside a module will compile only the +module, and running :command:`ninja` at the root of the |qp| will build all the +modules, as well as the tools. + +.. cache compile +.. interface AOs / MOs => resultsFile +.. interface integrals => AO / MO +.. interface integrals MO => FCIDUMP +.. TODO : molden module in resultsFile + +.. include:: /work.rst + diff --git a/doc/_sources/programmers_guide/qp_name.rst.txt b/doc/_sources/programmers_guide/qp_name.rst.txt new file mode 100644 index 00000000..5667e97a --- /dev/null +++ b/doc/_sources/programmers_guide/qp_name.rst.txt @@ -0,0 +1,35 @@ +.. _qp_name: + +qp_name +======= + +.. program:: qp_name + +Displays the names of all the files in which the provider/subroutine/function +given as argument is used. With the `-r` flag, the name can be changed in the +whole quantum package. + +Usage +----- + +.. code:: bash + + qp_name [-r | --rename=] + + +.. option:: -h + + Prints the help message. + + +.. option:: -r --rename= + + Renames the provider/subroutine/function and all its occurences. + + +.. note:: + + It is safe to create a commit before renaming a provider, and then to + check what has changed using git diff. + + diff --git a/doc/_sources/programmers_guide/qp_test.rst.txt b/doc/_sources/programmers_guide/qp_test.rst.txt new file mode 100644 index 00000000..4e7b3245 --- /dev/null +++ b/doc/_sources/programmers_guide/qp_test.rst.txt @@ -0,0 +1,35 @@ +.. _qp_test: + +======= +qp_test +======= + +.. program:: qp_test + +This command runs the consistency test of |qp|. +The tests are run with the |Bats| shell testing environment. +If the name of a test of its number is specified on the command line, only this +test will be run. + +Usage +----- + +.. code:: bash + + qp_test [FLAGS] [TEST] + Flags : + [-a] Run all the tests + [-v] Verbose mode: shows the output of the runs + + +.. option:: -a + + Runs all the tests. By default, run only the tests of the current + directory, and the directories below. + +.. option:: -v + + Verbose mode. Print the output of the running executions of |qp|. + + + diff --git a/doc/_sources/programs/cis.rst.txt b/doc/_sources/programs/cis.rst.txt new file mode 100644 index 00000000..ffbadf5f --- /dev/null +++ b/doc/_sources/programs/cis.rst.txt @@ -0,0 +1,86 @@ +.. _cis: + +.. program:: cis + +=== +cis +=== + + + + + + Configuration Interaction with Single excitations. + + This program takes a reference Slater determinant of ROHF-like + occupancy, and performs all single excitations on top of it. + Disregarding spatial symmetry, it computes the `n_states` lowest + eigenstates of that CI matrix. (see :option:`determinants n_states`) + + This program can be useful in many cases: + + + Ground state calculation + ------------------------ + + To be sure to have the lowest |SCF| solution, perform an :ref:`scf` + (see the :ref:`hartree_fock` module), then a :ref:`cis`, save + the natural orbitals (see :ref:`save_natorb`) and re-run an + :ref:`scf` optimization from this |MO| guess. + + + Excited states calculations + --------------------------- + + The lowest excited states are much likely to be dominated by + single-excitations. Therefore, running a :ref:`cis` will save + the `n_states` lowest states within the |CIS| space in the |EZFIO| + directory, which can afterwards be used as guess wave functions for + a further multi-state |FCI| calculation if :option:`determinants read_wf` + is set to |true| before running the :ref:`fci` + executable. + + + If :option:`determinants s2_eig` is set to |true|, the |CIS| + will only retain states having the expected |S^2| value (see + :option:`determinants expected_s2`). Otherwise, the |CIS| will take + the lowest :option:`determinants n_states`, whatever multiplicity + they are. + + .. note:: + + To discard some orbitals, use the :ref:`qp_set_mo_class` + command to specify: + + * *core* orbitals which will be always doubly occupied + + * *act* orbitals where an electron can be either excited from or to + + * *del* orbitals which will be never occupied + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`read_wf` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`run` + + Touches: + + .. hlist:: + :columns: 3 + + * :c:data:`fock_matrix_ao_alpha` + * :c:data:`fock_matrix_ao_alpha` + * :c:data:`mo_coef` + * :c:data:`level_shift` + * :c:data:`mo_coef` + * :c:data:`read_wf` diff --git a/doc/_sources/programs/cisd.rst.txt b/doc/_sources/programs/cisd.rst.txt new file mode 100644 index 00000000..8208dd06 --- /dev/null +++ b/doc/_sources/programs/cisd.rst.txt @@ -0,0 +1,78 @@ +.. _cisd: + +.. program:: cisd + +==== +cisd +==== + + + + + Configuration Interaction with Single and Double excitations. + + This program takes a reference Slater determinant of ROHF-like occupancy, + + and performs all single and double excitations on top of it, disregarding + spatial symmetry and compute the "n_states" lowest eigenstates of that CI + matrix (see :option:`determinants n_states`). + + This program can be useful in many cases: + + * GROUND STATE CALCULATION: if even after a :c:func:`cis` calculation, natural + orbitals (see :c:func:`save_natorb`) and then :c:func:`scf` optimization, you are not sure to have the lowest scf + solution, + do the same strategy with the :c:func:`cisd` executable instead of the :c:func:`cis` exectuable to generate the natural + orbitals as a guess for the :c:func:`scf`. + + + + * EXCITED STATES CALCULATIONS: the lowest excited states are much likely to + be dominanted by single- or double-excitations. + Therefore, running a :c:func:`cisd` will save the "n_states" lowest states within + the CISD space + in the EZFIO folder, which can afterward be used as guess wave functions + for a further multi-state fci calculation if you specify "read_wf" = True + before running the fci executable (see :option:`determinants read_wf`). + Also, if you specify "s2_eig" = True, the cisd will only retain states + having the good value :math:`S^2` value + (see :option:`determinants expected_s2` and :option:`determinants s2_eig`). + If "s2_eig" = False, it will take the lowest n_states, whatever + multiplicity they are. + + + + Note: if you would like to discard some orbitals, use + :ref:`qp_set_mo_class` to specify: + + * "core" orbitals which will be always doubly occupied + + * "act" orbitals where an electron can be either excited from or to + + * "del" orbitals which will be never occupied + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`read_wf` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`run` + + Touches: + + .. hlist:: + :columns: 3 + + * :c:data:`fock_matrix_ao_alpha` + * :c:data:`fock_matrix_ao_alpha` + * :c:data:`mo_coef` + * :c:data:`level_shift` + * :c:data:`mo_coef` + * :c:data:`read_wf` diff --git a/doc/_sources/programs/diagonalize_h.rst.txt b/doc/_sources/programs/diagonalize_h.rst.txt new file mode 100644 index 00000000..e21da7c0 --- /dev/null +++ b/doc/_sources/programs/diagonalize_h.rst.txt @@ -0,0 +1,37 @@ +.. _diagonalize_h: + +.. program:: diagonalize_h + +============= +diagonalize_h +============= + + + + + Program that extracts the :option:`determinants n_states` lowest states of the Hamiltonian within the set of Slater determinants stored in the EZFIO folder. + + If :option:`determinants s2_eig` = True, it will retain only states + + which corresponds to the desired value of :option:`determinants expected_s2`. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`read_wf` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`routine` + + Touches: + + .. hlist:: + :columns: 3 + + * :c:data:`read_wf` diff --git a/doc/_sources/programs/fci.rst.txt b/doc/_sources/programs/fci.rst.txt new file mode 100644 index 00000000..f4b8b268 --- /dev/null +++ b/doc/_sources/programs/fci.rst.txt @@ -0,0 +1,89 @@ +.. _fci: + +.. program:: fci + +=== +fci +=== + + + + + Selected Full Configuration Interaction with stochastic selection + and PT2. + + This program performs a |CIPSI|-like selected |CI| using a + stochastic scheme for both the selection of the important Slater + determinants and the computation of the |PT2| correction. This + |CIPSI|-like algorithm will be performed for the lowest states of + the variational space (see :option:`determinants n_states`). The + |FCI| program will stop when reaching at least one the two following + conditions: + + * number of Slater determinants > :option:`determinants n_det_max` + * |PT2| < :option:`perturbation pt2_max` + + The following other options can be of interest: + + :option:`determinants read_wf` + When set to |false|, the program starts with a ROHF-like Slater + determinant as a guess wave function. When set to |true|, the + program starts with the wave function(s) stored in the |EZFIO| + directory as guess wave function(s). + + :option:`determinants s2_eig` + When set to |true|, the selection will systematically add all the + necessary Slater determinants in order to have a pure spin wave + function with an |S^2| value corresponding to + :option:`determinants expected_s2`. + + For excited states calculations, it is recommended to start with + :ref:`.cis.` or :ref:`.cisd.` guess wave functions, eventually in + a restricted set of |MOs|, and to set :option:`determinants s2_eig` + to |true|. + + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`psi_coef` + * :c:data:`is_zmq_slave` + * :c:data:`do_pt2` + * :c:data:`mo_two_e_integrals_in_map` + * :c:data:`psi_det` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`run_cipsi` + * :c:func:`run_slave_cipsi` + * :c:func:`run_stochastic_cipsi` + + Touches: + + .. hlist:: + :columns: 3 + + * :c:data:`ci_electronic_energy` + * :c:data:`ci_electronic_energy` + * :c:data:`ci_energy` + * :c:data:`ci_electronic_energy` + * :c:data:`n_det` + * :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` + * :c:data:`psi_det_size` + * :c:data:`psi_det_sorted_bit` + * :c:data:`psi_occ_pattern` + * :c:data:`pt2_e0_denominator` + * :c:data:`pt2_stoch_istate` + * :c:data:`read_wf` + * :c:data:`state_average_weight` + * :c:data:`threshold_generators` diff --git a/doc/_sources/programs/fcidump.rst.txt b/doc/_sources/programs/fcidump.rst.txt new file mode 100644 index 00000000..b6e2a5b4 --- /dev/null +++ b/doc/_sources/programs/fcidump.rst.txt @@ -0,0 +1,40 @@ +.. _fcidump: + +.. program:: fcidump + +======= +fcidump +======= + + + + + Produce a regular FCIDUMP file from the |MOs| stored in the |EZFIO| folder. + + To specify an active space, the class of the mos have to set in the |EZFIO| folder (see :ref:`qp_set_mo_class`). + + The fcidump program supports 3 types of MO_class : + + * the "core" orbitals which are always doubly occupied in the calculation + + * the "del" orbitals that are never occupied in the calculation + + * the "act" orbitals that will be occupied by a varying number of electrons + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`elec_beta_num` + * :c:data:`ezfio_filename` + * :c:data:`core_fock_operator` + * :c:data:`elec_num` + * :c:data:`mo_two_e_integrals_in_map` + * :c:data:`elec_alpha_num` + * :c:data:`mo_one_e_integrals` + * :c:data:`n_core_orb` + * :c:data:`mo_integrals_threshold` + * :c:data:`list_inact` + * :c:data:`mo_integrals_map` + * :c:data:`core_energy` diff --git a/doc/_sources/programs/four_idx_transform.rst.txt b/doc/_sources/programs/four_idx_transform.rst.txt new file mode 100644 index 00000000..953d7b1d --- /dev/null +++ b/doc/_sources/programs/four_idx_transform.rst.txt @@ -0,0 +1,31 @@ +.. _four_idx_transform: + +.. program:: four_idx_transform + +================== +four_idx_transform +================== + + + + + 4-index transformation of two-electron integrals from |AO| to |MO| integrals. + + This program will compute the two-electron integrals on the |MO| basis and store it into the |EZFIO| folder. + + This program can be useful if the AO --> MO transformation is an expensive step by itself. + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`io_mo_two_e_integrals` + * :c:data:`mo_two_e_integrals_in_map` + + Touches: + + .. hlist:: + :columns: 3 + + * :c:data:`io_mo_two_e_integrals` diff --git a/doc/_sources/programs/ks_scf.rst.txt b/doc/_sources/programs/ks_scf.rst.txt new file mode 100644 index 00000000..bb1e9204 --- /dev/null +++ b/doc/_sources/programs/ks_scf.rst.txt @@ -0,0 +1,52 @@ +.. _ks_scf: + +.. program:: ks_scf + +====== +ks_scf +====== + + + + + Produce `Kohn_Sham` MO orbital + output: mo_basis.mo_num mo_basis.mo_label mo_basis.ao_md5 mo_basis.mo_coef mo_basis.mo_occ + output: kohn_sham.energy + optional: mo_basis.mo_coef + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`io_mo_one_e_integrals` + * :c:data:`mu_erf_dft` + * :c:data:`density_for_dft` + * :c:data:`io_ao_one_e_integrals` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`check_coherence_functional` + * :c:func:`create_guess` + * :c:func:`orthonormalize_mos` + * :c:func:`run` + + Touches: + + .. hlist:: + :columns: 3 + + * :c:data:`fock_matrix_ao_alpha` + * :c:data:`fock_matrix_ao_alpha` + * :c:data:`fock_matrix_ao_alpha` + * :c:data:`fock_matrix_ao_alpha` + * :c:data:`mo_coef` + * :c:data:`density_for_dft` + * :c:data:`io_ao_one_e_integrals` + * :c:data:`io_mo_one_e_integrals` + * :c:data:`level_shift` + * :c:data:`mo_coef` + * :c:data:`mo_label` diff --git a/doc/_sources/programs/molden.rst.txt b/doc/_sources/programs/molden.rst.txt new file mode 100644 index 00000000..23830392 --- /dev/null +++ b/doc/_sources/programs/molden.rst.txt @@ -0,0 +1,29 @@ +.. _molden: + +.. program:: molden + +====== +molden +====== + + + + + Produce a Molden file + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ezfio_filename` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`write_ao_basis` + * :c:func:`write_geometry` + * :c:func:`write_intro_gamess` + * :c:func:`write_mo_basis` diff --git a/doc/_sources/programs/print_e_conv.rst.txt b/doc/_sources/programs/print_e_conv.rst.txt new file mode 100644 index 00000000..19212630 --- /dev/null +++ b/doc/_sources/programs/print_e_conv.rst.txt @@ -0,0 +1,32 @@ +.. _print_e_conv: + +.. program:: print_e_conv + +============ +print_e_conv +============ + + + + + program that prints in a human readable format the convergence of the CIPSI algorithm. + + for all istate, this program produces + + * a file "EZFIO.istate.conv" containing the variational and var+PT2 energies as a function of N_det + + * for istate > 1, a file EZFIO.istate.delta_e.conv containing the energy difference (both var and var+PT2) with the ground state as a function of N_det + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`ezfio_filename` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`routine_e_conv` diff --git a/doc/_sources/programs/print_wf.rst.txt b/doc/_sources/programs/print_wf.rst.txt new file mode 100644 index 00000000..56f5b238 --- /dev/null +++ b/doc/_sources/programs/print_wf.rst.txt @@ -0,0 +1,39 @@ +.. _print_wf: + +.. program:: print_wf + +======== +print_wf +======== + + + + + Print the ground state wave function stored in the |EZFIO| folder in the intermediate normalization. + + 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. + + If the wave function strongly deviates from the first-order analysis, something funny is going on :) + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`read_wf` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`routine` + + Touches: + + .. hlist:: + :columns: 3 + + * :c:data:`read_wf` diff --git a/doc/_sources/programs/pt2.rst.txt b/doc/_sources/programs/pt2.rst.txt new file mode 100644 index 00000000..c18e466b --- /dev/null +++ b/doc/_sources/programs/pt2.rst.txt @@ -0,0 +1,54 @@ +.. _pt2: + +.. program:: pt2 + +=== +pt2 +=== + + + + + Second order perturbative correction to the wave function contained in the EZFIO directory. + + This programs runs the stochastic PT2 correction on all "n_states" wave function stored in the EZFIO folder (see :option:`determinant n_states`). + + The option for the PT2 correction are the "pt2_relative_error" which is the relative stochastic + + error on the PT2 to reach before stopping the stochastic sampling. (see :option:`perturbation pt2_relative_error`) + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`is_zmq_slave` + * :c:data:`mo_two_e_integrals_in_map` + * :c:data:`psi_energy` + * :c:data:`threshold_generators` + * :c:data:`read_wf` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`run` + * :c:func:`run_slave_cipsi` + + Touches: + + .. hlist:: + :columns: 3 + + * :c:data:`fock_matrix_ao_alpha` + * :c:data:`fock_matrix_ao_alpha` + * :c:data:`mo_coef` + * :c:data:`distributed_davidson` + * :c:data:`level_shift` + * :c:data:`mo_coef` + * :c:data:`pt2_e0_denominator` + * :c:data:`pt2_stoch_istate` + * :c:data:`read_wf` + * :c:data:`state_average_weight` + * :c:data:`threshold_generators` diff --git a/doc/_sources/programs/rs_ks_scf.rst.txt b/doc/_sources/programs/rs_ks_scf.rst.txt new file mode 100644 index 00000000..bdf8969d --- /dev/null +++ b/doc/_sources/programs/rs_ks_scf.rst.txt @@ -0,0 +1,53 @@ +.. _rs_ks_scf: + +.. program:: rs_ks_scf + +========= +rs_ks_scf +========= + + + + + Produce `Range_separated_Kohn_Sham` MO orbital + output: mo_basis.mo_num mo_basis.mo_label mo_basis.ao_md5 mo_basis.mo_coef mo_basis.mo_occ + output: kohn_sham.energy + optional: mo_basis.mo_coef + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`io_mo_one_e_integrals` + * :c:data:`mu_erf_dft` + * :c:data:`density_for_dft` + * :c:data:`io_ao_one_e_integrals` + * :c:data:`read_wf` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`check_coherence_functional` + * :c:func:`create_guess` + * :c:func:`orthonormalize_mos` + * :c:func:`run` + + Touches: + + .. hlist:: + :columns: 3 + + * :c:data:`fock_matrix_ao_alpha` + * :c:data:`fock_matrix_ao_alpha` + * :c:data:`fock_matrix_ao_alpha` + * :c:data:`fock_matrix_ao_alpha` + * :c:data:`mo_coef` + * :c:data:`density_for_dft` + * :c:data:`io_ao_one_e_integrals` + * :c:data:`io_mo_one_e_integrals` + * :c:data:`level_shift` + * :c:data:`mo_coef` + * :c:data:`mo_label` diff --git a/doc/_sources/programs/save_natorb.rst.txt b/doc/_sources/programs/save_natorb.rst.txt new file mode 100644 index 00000000..736e4178 --- /dev/null +++ b/doc/_sources/programs/save_natorb.rst.txt @@ -0,0 +1,48 @@ +.. _save_natorb: + +.. program:: save_natorb + +=========== +save_natorb +=========== + + + + + Save natural MOs into the EZFIO + + This program reads the wave function stored in the EZFIO folder, + + extracts the corresponding natural orbitals and set them as the new MOs + + If this is a multi-state calculation, the density matrix that produces the natural orbitals + + is obtained from a state-averaged of the density matrices of each state with the corresponding state_average_weight (see the doc of state_average_weight). + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`read_wf` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`ezfio_set_mo_one_e_ints_io_mo_integrals_e_n` + * :c:func:`ezfio_set_mo_one_e_ints_io_mo_integrals_kinetic` + * :c:func:`ezfio_set_mo_one_e_ints_io_mo_integrals_pseudo` + * :c:func:`ezfio_set_mo_one_e_ints_io_mo_one_e_integrals` + * :c:func:`ezfio_set_mo_two_e_ints_io_mo_two_e_integrals` + * :c:func:`save_natural_mos` + * :c:func:`save_ref_determinant` + + Touches: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_occ` + * :c:data:`read_wf` diff --git a/doc/_sources/programs/save_one_e_dm.rst.txt b/doc/_sources/programs/save_one_e_dm.rst.txt new file mode 100644 index 00000000..bf8ec089 --- /dev/null +++ b/doc/_sources/programs/save_one_e_dm.rst.txt @@ -0,0 +1,38 @@ +.. _save_one_e_dm: + +.. program:: save_one_e_dm + +============= +save_one_e_dm +============= + + + + + programs that computes the one body density on the mo basis for alpha and beta electrons + from the wave function stored in the EZFIO folder, and then save it into the EZFIO folder aux_quantities. + + Then, the global variable data_one_e_dm_alpha_mo and data_one_e_dm_beta_mo will automatically read this density in a further calculation. + + This can be used to perform damping on the density in RS-DFT calculation (see the density_for_dft module). + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`read_wf` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`routine_save_one_e_dm` + + Touches: + + .. hlist:: + :columns: 3 + + * :c:data:`read_wf` diff --git a/doc/_sources/programs/save_ortho_mos.rst.txt b/doc/_sources/programs/save_ortho_mos.rst.txt new file mode 100644 index 00000000..80cb065d --- /dev/null +++ b/doc/_sources/programs/save_ortho_mos.rst.txt @@ -0,0 +1,34 @@ +.. _save_ortho_mos: + +.. program:: save_ortho_mos + +============== +save_ortho_mos +============== + + + + + Save orthonormalized MOs in the EZFIO. + + This program reads the current MOs, computes the corresponding overlap matrix in the MO basis + + and perform a Lowdin orthonormalization : :math:`MO_{new} = S^{-1/2} MO_{guess}`. + + Thanks to the Lowdin orthonormalization, the new MOs are the most similar to the guess MOs. + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`orthonormalize_mos` + * :c:func:`save_mos` + + Touches: + + .. hlist:: + :columns: 3 + + * :c:data:`mo_coef` + * :c:data:`mo_label` diff --git a/doc/_sources/programs/scf.rst.txt b/doc/_sources/programs/scf.rst.txt new file mode 100644 index 00000000..0c70d00a --- /dev/null +++ b/doc/_sources/programs/scf.rst.txt @@ -0,0 +1,66 @@ +.. _scf: + +.. program:: scf + +=== +scf +=== + + + + + + The :ref:`scf` program performs *Restricted* Hartree-Fock + calculations (the spatial part of the |MOs| is common for alpha and beta + spinorbitals). + + It performs the following actions: + + #. Compute/Read all the one- and two-electron integrals, and store them + in memory + #. Check in the |EZFIO| database if there is a set of |MOs|. + If there is, it will read them as initial guess. Otherwise, it will + create a guess. + #. Perform the |SCF| iterations + + For the keywords related to the |SCF| procedure, see the ``scf_utils`` + directory where you will find all options. + + At each iteration, the |MOs| are saved in the |EZFIO| database. Hence, + if the calculation crashes for any unexpected reason, the calculation + can be restarted by running again the |SCF| with the same |EZFIO| + database. + + To start again a fresh |SCF| calculation, the |MOs| can be reset by + running the :ref:`qp_reset` command. + + The `DIIS`_ algorithm is implemented, as well as the `level-shifting`_ + method. If the |SCF| does not converge, try again with a higher value of + :option:`level_shift`. + + .. _DIIS: https://en.wikipedia.org/w/index.php?title=DIIS + .. _level-shifting: https://doi.org/10.1002/qua.560070407 + + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`create_guess` + * :c:func:`orthonormalize_mos` + * :c:func:`run` + + Touches: + + .. hlist:: + :columns: 3 + + * :c:data:`fock_matrix_ao_alpha` + * :c:data:`fock_matrix_ao_alpha` + * :c:data:`fock_matrix_ao_alpha` + * :c:data:`fock_matrix_ao_alpha` + * :c:data:`mo_coef` + * :c:data:`level_shift` + * :c:data:`mo_coef` + * :c:data:`mo_label` diff --git a/doc/_sources/programs/write_integrals_erf.rst.txt b/doc/_sources/programs/write_integrals_erf.rst.txt new file mode 100644 index 00000000..b940e8b4 --- /dev/null +++ b/doc/_sources/programs/write_integrals_erf.rst.txt @@ -0,0 +1,35 @@ +.. _write_integrals_erf: + +.. program:: write_integrals_erf + +=================== +write_integrals_erf +=================== + + + + + Saves the two-electron integrals with the :math:`erf(\mu r_{12})/r_{12}` oprerator into the EZFIO folder + + Needs: + + .. hlist:: + :columns: 3 + + * :c:data:`io_mo_two_e_integrals` + * :c:data:`io_ao_two_e_integrals` + + Calls: + + .. hlist:: + :columns: 3 + + * :c:func:`routine` + + Touches: + + .. hlist:: + :columns: 3 + + * :c:data:`io_ao_two_e_integrals` + * :c:data:`io_mo_two_e_integrals` diff --git a/doc/_sources/users_guide/configure.rst.txt b/doc/_sources/users_guide/configure.rst.txt new file mode 100644 index 00000000..8d519c6f --- /dev/null +++ b/doc/_sources/users_guide/configure.rst.txt @@ -0,0 +1,37 @@ +========= +configure +========= + + +.. program:: configure + +Program that can either configure the compilations options or download/install +external dependencies (see the installation description). + +Usage +----- + +.. code:: bash + + ./configure [-h | -c | -i ] + +.. option:: -c , --config + + Define a configuration file, in :file`${QP_ROOT}/config/` + +.. option:: -h, --help + + Print the help message + +.. option:: -i , --install + + Try to install . Use at your own risk. + +Example +------- + +.. code:: bash + + ./configure + ./configure -c config/gfortran.cfg + diff --git a/doc/_sources/users_guide/excited_states.rst.txt b/doc/_sources/users_guide/excited_states.rst.txt new file mode 100644 index 00000000..980d7bf5 --- /dev/null +++ b/doc/_sources/users_guide/excited_states.rst.txt @@ -0,0 +1,39 @@ +.. _excited_states: + +============== +Excited states +============== + +It is possible to run excited states calculations with the quantum +package. To do this, set :option:`determinants n_states` to the number +of requested states. The selection criterion will be the maximum of the +selection criteria for each state. If the Davidson diagonalization has +difficulties to converge, increase the :option:`davidson n_states_diag` +value. + +When computing multiple states, it is good to have the +:option:`determinants s2_eig` flag |true|. This will force the Davidson +algorithm to choose only vectors with a value of |S^2| equal to +:option:`determinants expected_s2`. Otherwise, different spin states +will come out in the diagonalization. + +The |qp| doesn't take account of the symmetry. Due to numerical noise, +excited states of different symmetries may enter in the calculation. +Note that it is possible to make state-average calculation of states +with different symmetries and/or different spin multiplicities. + +To include excited state of all possible symmetries, a simple trick is +to run a preliminary multi-state |CIS| calculation using the :ref:`CIS` +program, and then running the selected |FCI| restarting from the |CIS| +states, setting :option:`determinants read_wf` to |true|. + +Usually, it is good practice to use state-averaged natural |MOs| so that +all states have |MOs| of comparable quality. This allows for a faster +convergence of excitation energies. + + +.. seealso:: + + The documentation of the :c:func:`scf`, :c:func:`cis` and + :c:func:`fci` programs. + diff --git a/doc/_sources/users_guide/index.rst.txt b/doc/_sources/users_guide/index.rst.txt new file mode 100644 index 00000000..33478cb9 --- /dev/null +++ b/doc/_sources/users_guide/index.rst.txt @@ -0,0 +1,21 @@ +Index of commands +================= + +.. toctree:: + :maxdepth: 1 + :glob: + + configure + qpsh + qp_* + + +Index of programs +================= + +.. toctree:: + :maxdepth: 1 + :glob: + + /programs/* + diff --git a/doc/_sources/users_guide/interfaces.rst.txt b/doc/_sources/users_guide/interfaces.rst.txt new file mode 100644 index 00000000..c00b165e --- /dev/null +++ b/doc/_sources/users_guide/interfaces.rst.txt @@ -0,0 +1,30 @@ +Interfaces +========== + +.. TODO + +A few interfaces to external codes are available. + +\* -> |qp| +---------- + +`GAMESS`_ / Gaussian + Using the |resultsFile| Python library, the geometry and |MOs| can be read. + This is useful to make calculations with |CASSCF| orbitals + +|qp| -> \* +---------- + +`Molden`_ + 3D plots of Molecular Orbitals + +FCIDUMP + Interface with the |FCI| - |QMC| program `NECI`_, or the semi-stochastic + Heat-Bath |CI| program `Dice`_. + +`QMCPack`_ / `CHAMP `_ / +`QMC=Chem`_ +Trial wave functions can be used for |QMC|, with or without pseudo-potentials. +These interfaces are provided as `external plugins`_. + + diff --git a/doc/_sources/users_guide/natural_orbitals.rst.txt b/doc/_sources/users_guide/natural_orbitals.rst.txt new file mode 100644 index 00000000..3263531f --- /dev/null +++ b/doc/_sources/users_guide/natural_orbitals.rst.txt @@ -0,0 +1,64 @@ +Natural orbitals +================ + +Summary +------- + +To produce state-average natural orbitals, run :: + + qp_run save_natorb file.ezfio + +The MOs will be replaced, so the two-electron integrals and the wave +function are invalidated as well. + + + +Extracting natural orbitals +--------------------------- + +Once obtained the near |FCI| wave function, one can obtain many +Onquantities related to it. e of these quantities are the natural +Onorbitals which have the properties of diagonalizing the one-body +Ondensity matrix: + + .. math:: + + \rho_{ij} = \delta_{ij} + +where the element of the one-body density matrix :math:`\rho_{ij}` is +define as: + + + .. math:: + + \rho_{ij} = \langle \Psi | \left( a^{\dagger}_{j,\alpha} a_{i,\alpha} + a^{\dagger}_{j,\beta} a_{i,\beta} \right) | \Psi \rangle + + +These orbitals are in general known to be better than the usual |HF| +|MOs| as they are obtained from a correlated wave function. To use these +orbitals for future calculations, one has to replace the current |MOs| +by the natural orbitals. To do so, just run: + +.. code:: + + qp_run save_natorb file.ezfio + + +Hands on +-------- + +.. important:: + + As the |MOs| are changed, for the sake of coherence of future + calculations, the save_natorb program *automatically removes the + current wave function* stored in the |EZFIO| database and replaces + it by a single Slater determinant corresponding to a |HF| occupation + of the new spin orbitals. Also, all the keywords to read the one- + and two-electron integrals on the |MO| basis are set to ``None`` in + order to be sure to avoid reading integrals incompatible with the + current set of |MOs|. + +.. seealso:: + + The documentation of the :c:func:`save_natorb` program. + diff --git a/doc/_sources/users_guide/plugins.rst.txt b/doc/_sources/users_guide/plugins.rst.txt new file mode 100644 index 00000000..e9153177 --- /dev/null +++ b/doc/_sources/users_guide/plugins.rst.txt @@ -0,0 +1,54 @@ +============================= +Working with external plugins +============================= + + +|qp| has very few executables out of the box. Most of the time, +external plugins need to be downloaded and installed in the +:file:`$QP_ROOT/plugins` directory. + +Plugins are usually hosted in external repositories. To download a +plugin, the remote repository needs to be downloaded, and the plugins of +the repository can be selected for installation. + +To download an external repository of plugins, run the following +command: + +.. code-block:: bash + + qp_plugins download http://somewhere/over/the/rainbow/ext_repo + + +This downloads a copy of the repository of external plugins :file:`ext_repo` +in :file:`$QP_ROOT/plugins`. + +The list of available uninstalled plugins can be seen using: + +.. code-block:: bash + + qp_plugins list -u + + +Now, the specific plugin :file:`ext_module` contained in the repository +:file:`ext_repo` can be installed using: + +.. code-block:: bash + + qp_plugins install ext_module + + +The module is now accessible via a symbolic link in :file:`$QP_ROOT/src`, +and can be compiled as any module, running |Ninja|. + + +To remove the module, run + +.. code-block:: bash + + qp_plugins uninstall ext_module + + +.. seealso:: + + For a more detailed explanation and an example, see :ref:`qp_plugins`. + diff --git a/doc/_sources/users_guide/printing.rst.txt b/doc/_sources/users_guide/printing.rst.txt new file mode 100644 index 00000000..8509a2d8 --- /dev/null +++ b/doc/_sources/users_guide/printing.rst.txt @@ -0,0 +1,42 @@ +Printing the near-|FCI| wave function +===================================== + +Once obtained the near-|FCI| energy, one can also take a closer look at +the wave function stored in the |EZFIO| database. If the wave function +contains less than :math:`10^4` determinants, you can directly read it +with the :ref:`qp_edit` command. Just run + +.. code:: + + qp_edit file.ezfio + + +.. important:: + + The :ref:`qp_edit` mode virtually makes human-friendly the + architecture of the |EZFIO| database through the use of a + the text editor defined by the :envvar:`EDITOR` environment + variable. + + +Then, look for the word *hand* when you are in the :ref:`qp_edit` +mode. If the research is negative, then it means that the wave +function stored in the |EZFIO| database is too large to be edited +interactively in :ref:`qp_edit` mode. An alternative is to use the +:command:`print_wf` command: + +.. code:: + + qp_run print_wf file.ezfio | tee file.ezfio.fci_natorb.wf + +This program will, by default, print out the first :math:`10^4` +determinants whatever the size of the wave function stored in the +|EZFIO| folder. If you want to change the number of printed Slater +determinants, just change the :option:`determinants n_det_print_wf` +keyword using the :ref:`qp_edit` tool. + +.. seealso:: + + The documentation of the :ref:`print_wf` program. + + diff --git a/doc/_sources/users_guide/qp_convert_output_to_ezfio.rst.txt b/doc/_sources/users_guide/qp_convert_output_to_ezfio.rst.txt new file mode 100644 index 00000000..171e2796 --- /dev/null +++ b/doc/_sources/users_guide/qp_convert_output_to_ezfio.rst.txt @@ -0,0 +1,44 @@ +.. _qp_convert_output_to_ezfio: + +qp_convert_output_to_ezfio +========================== + +.. program:: qp_convert_output_to_ezfio + +This Python script uses the `resultsFile`_ Python library to gather the +geometry, |AOs| and |MOs| from output files of |GAMESS| or Gaussian, and +puts this data in an |EZFIO| database. Some constraints are necessary +in the output file : the run needs to be a single point |HF|, |DFT| or +|CAS| |SCF|. + +Usage +----- + +.. code:: bash + + qp_convert_output_to_ezfio [-o EZFIO_DIR] FILE + +.. option:: -o, --output=EZFIO_DIR + + Renames the |EZFIO| directory. If this option is not present, the + default name fill be :file:`FILE.ezfio` + +.. note:: + + All the parameters of the wave functgion need to be presente in the + output file : complete description of the |AO| basis set, full set of + molecular orbitals, etc. + + The following keywords are necessary for GAU$$IAN :: + + GFPRINT pop=Full + + +Example +------- + +.. code:: bash + + qp_convert_output_to_ezfio h2o.out -o h2o + + diff --git a/doc/_sources/users_guide/qp_create_ezfio_from_xyz.rst.txt b/doc/_sources/users_guide/qp_create_ezfio_from_xyz.rst.txt new file mode 100644 index 00000000..266cc32a --- /dev/null +++ b/doc/_sources/users_guide/qp_create_ezfio_from_xyz.rst.txt @@ -0,0 +1,169 @@ +.. _qp_create_ezfio: + +qp_create_ezfio +=============== + +.. program:: qp_create_ezfio + +This command creates an |EZFIO| directory from a standard `xyz` file or +from a `z-matrix` file in Gaussian format. + +Usage +----- + +.. code:: bash + + qp_create_ezfio [-a] -b [-c ] [-d ] + [-h] [-m ] [-o EZFIO_DIR] [-p ] [-x] [--] FILE + + +.. option:: -a, --au + + If present, input geometry is in atomic units. + + +.. option:: -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:: + + -b "cc-pcvdz | H:cc-pvdz | C:6-31g" + -b "cc-pvtz | 1,H:sto-3g | 3,H:6-31g" + + By default, the basis set is obtained from the local database of the. + |qp| This option is mandatory . + + If ```` is set to ``show``, the list of all available basis + sets is displayed. + + +.. option:: -c, --charge= + + Total charge of the molecule. Default is 0. + + +.. option:: -d, --dummy= + + Add dummy atoms (X) between atoms when the distance between two atoms + is less than :math:`x \times \sum R_\mathrm{cov}`, the covalent radii + of the atoms. The default is x=0, so no dummy atom is added. + + +.. option:: -h, --help + + Print the help text and exit + + +.. option:: -m, --multiplicity= + + Spin multiplicity :math:`2S+1` of the molecule. Default is 1. + + +.. option:: -o, --output=EZFIO_DIR + + Name of the created |EZFIO| directory. + +.. option:: -p , --pseudo= + + Name of the pseudo-potential. Follows the same conventions as the basis set. + +.. option:: -x, --cart + + Compute |AOs| in the Cartesian basis set (6d, 10f, ...) + + +Using custom atomic basis sets +------------------------------ + +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 +``custom.basis``, and the *xyz* geometry is in ``molecule.xyz``, the +following should be used:: + + qp_create_ezfio -b custom.basis molecule.xyz + +Basis set files should be given in |GAMESS| 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 :: + + 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 + + +Using custom pseudo-potentials +------------------------------ + +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 ``custom.pseudo``, +the basis set is named ``custom.basis``, and the *xyz* geometry is in +``molecule.xyz``, the following command should be used + +.. code:: bash + + qp_create_ezfio -b custom.basis -p custom.pseudo molecule.xyz + +Pseudo-potential files should be given in a format very close to +|GAMESS| format. The first line should be formatted as ``%s GEN %d %d`` +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 |GAMESS| format. The pseudo-potential for each element are +separated by a blank line. Here is an example :: + + 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 + + + + diff --git a/doc/_sources/users_guide/qp_edit.rst.txt b/doc/_sources/users_guide/qp_edit.rst.txt new file mode 100644 index 00000000..c9f94530 --- /dev/null +++ b/doc/_sources/users_guide/qp_edit.rst.txt @@ -0,0 +1,68 @@ +.. _qp_edit: + +======= +qp_edit +======= + +.. program:: qp_edit + + +This command reads the content of the |EZFIO| directory and creates +a temporary file containing the data. The data is presented as a +*ReStructured Text* (rst) document, where each section corresponds to +the corresponding |qp| module. The content of the file can be modified +to change the input parameters. When the text editor is closed, the +updated data is saved into the |EZFIO| directory. + +.. note:: + The text editor which will be opened is defined by the :envvar:`EDITOR` + environment variable. If this variable is not set, the :command:`vi` + text editor will be used by default. + +.. warning:: + When the wave function is too large (more than 10 000 determinants), the + determinants are not displayed. + +.. note:: + On some machines the terminal will be stuck in inverted colors after using + qp_edit. To Avoid this problem, put in your :file:`$HOME/.vimrc`:: + + set t_ti= + set t_te= + + +Usage +----- + +.. code:: bash + + qp_edit [-c] [-h] [-n ] [-s ] [--] EZFIO_DIR + +.. option:: -c, --check + + Checks the input data + +.. option:: -h, --help + + Print the help text and exits + +.. option:: -n, --ndet= + + Truncates the wavefunction to the target number of determinants + +.. option:: -s, --state= + + Select the states to extract from the |EZFIO| directory, using the same conventions + as :ref:`qp_set_mo_class`. See example below. + + +Example +------- + +.. code:: bash + + qp_edit --state="[1,3-5]" test.ezfio + +Removes all states except states 1,3,4 and 5 from :file:`test.ezfio`. +The resulting |EZFIO| directory has 4 states. + diff --git a/doc/_sources/users_guide/qp_export_as_tgz.rst.txt b/doc/_sources/users_guide/qp_export_as_tgz.rst.txt new file mode 100644 index 00000000..e498cde4 --- /dev/null +++ b/doc/_sources/users_guide/qp_export_as_tgz.rst.txt @@ -0,0 +1,30 @@ +================ +qp_export_as_tgz +================ + +.. program:: qp_export_as_tgz + +In some HPC facilities, the access to the internet is limited for +security reasons. In such an environment, the installation of |QP| is +sometimes very painful because the OCaml compiler and the libraries +can't be installed by a non-root user. + +This command creates a self-contained binary distribution in the form of +a `tar.gz` file that can be copied on another machine. + +Usage +----- + +.. code:: bash + + qp_export_as_tgz [-h|--help] + +.. option:: -h, --help + + Prints the help message + +.. note:: + There can be conflicts due to the version of glibc. The machine on which |QP| is + compiled should be the oldest one. + + diff --git a/doc/_sources/users_guide/qp_plugins.rst.txt b/doc/_sources/users_guide/qp_plugins.rst.txt new file mode 100644 index 00000000..18a41ba8 --- /dev/null +++ b/doc/_sources/users_guide/qp_plugins.rst.txt @@ -0,0 +1,115 @@ +.. _qp_plugins: + +========== +qp_plugins +========== + +.. program:: qp_plugins + +This command deals with all external plugins of |qp|. Plugin +repositories can be downloaded, and the plugins in these repositories +can be installed/uninstalled or created. + +Usage +----- + +.. code:: bash + + qp_plugins list [-i] [-u] [-q] + qp_plugins download + qp_plugins install ... + qp_plugins uninstall + qp_plugins create -n [-r ] [...] + +.. option:: list + + List all the available plugins. + +.. option:: -i, --installed + + List all the *installed* plugins. + +.. option:: -u, --uninstalled + + List all the *uninstalled* plugins. + +.. option:: -q, --repositories + + List all the downloaded repositories. + +.. option:: download + + Download an external repository. The URL points to a tar.gz file or a + git repository, for example: + + * http://example.com/site/example.tar.gz + * git@gitlab.com:user/example_repository + +.. option:: install + + Install the plugin ``plugin_name``. + +.. option:: uninstall + + Uninstall the plugin ``plugin_name``. + +.. option:: -n, --name= + + Create a new plugin named ``plugin_name`` (in local repository by default). + +.. option:: -r, --repository= + + Specify in which repository the new plugin will be created. + + + +Example +------- + +Let us download, install and compile some specific external plugins from +``_ . + +First, download the git repo associated to these plugins. To do so, +first go to the `plugins` directory in the |QP| and execute: + +.. code:: bash + + qp_plugins download https://gitlab.com/eginer/qp_plugins_eginer + + +This will create in the directory `plugins` a local copy of +the git repo located at the URL you indicated. Then, go in +`qp_plugins_eginer/stable/` + +.. code:: bash + + cd qp_plugins_eginer/stable/ + +In the directory `stable`, there are many directories which all +correspond to a specific plugin that have been developed by the person +in charge of the repository. All these plugins might use some global +variables and routines contained in the core modules of the |QP|. + +Now let us install the plugin `rsdft_cipsi`: + +.. code:: bash + + qp_plugins install rsdft_cipsi + +This will link this directory to the |QP| which means that when the code +will be compiled, this plugin will be compiled to and therefore all the +executables/scripts/input keywords contained in this module will be +available as if there were part of the core of the |QP|. + +Then, to compile the new plugin, just recompile the |QP| as usual by +going at the root of the |QP| directory: + +.. code:: bash + + cd $QP_ROOT + ninja + +Finally, if you go back to the plugin directory you just installed, you +should see all the executables/scripts which have been created and which +are now available with the `qp_run` command. + diff --git a/doc/_sources/users_guide/qp_run.rst.txt b/doc/_sources/users_guide/qp_run.rst.txt new file mode 100644 index 00000000..252a1bc8 --- /dev/null +++ b/doc/_sources/users_guide/qp_run.rst.txt @@ -0,0 +1,62 @@ +.. _qp_run: + +====== +qp_run +====== + +.. TODO + +.. program:: qp_run + +Command used to run a calculation. + +If the ``USR1`` signal is sent to :ref:`qp_run`, the application will +call :ref:`qp_stop` to request a clean termination. In a SLURM script, +you can ask SLURM to send the ``USR1`` signal 120 seconds before end of +the time limit with :: + + #SBATCH --signal=B:USR1@120 + +There is a directory named :file:`work` in the |EZFIO|. This directory +will contain work files which can be large, so it is recommended to +work in the scratch directory. To archive the |EZFIO| directory, it is +recommended to remove the :file:`work` directory. + +Usage +----- + +.. code:: bash + + qp_run [-h] [-p ] [-s] [--] PROGRAM EZFIO_DIR + +``PROGRAM`` is the name of the |QP| program to be run, and ``EZFIO_DIR`` +is the name of the |EZFIO| directory containing the data. + + +.. option:: -h, --help + + Displays the list of available |qp| programs. + + +.. option:: -p , --prefix= + + Prefix before running the program. This option is used to run + programs like like gdb or valgrind. + + +.. option:: -s, --slave + + This option needs to be set to run a slave job for ``PROGRAM``, to + accelerate another running instance of the |qp|. + + +Example +------- + +.. code:: bash + + qp_run fci h2o.ezfio & + srun qp_run --slave fci h2o.ezfio + wait + + diff --git a/doc/_sources/users_guide/qp_set_frozen_core.rst.txt b/doc/_sources/users_guide/qp_set_frozen_core.rst.txt new file mode 100644 index 00000000..09231c32 --- /dev/null +++ b/doc/_sources/users_guide/qp_set_frozen_core.rst.txt @@ -0,0 +1,31 @@ +.. _qp_set_frozen_core: + +================== +qp_set_frozen_core +================== + +.. program:: qp_set_frozen_core + +Automatically finds *n*, the number of core electrons. Calls +:ref:`qp_set_mo_class` setting all |MOs| as ``Active``, except the +:math:`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 +----- + +.. code:: bash + + qp_set_frozen_core [-q] EZFIO_DIR + + +.. option:: -q + + Prints in the standard output the number of core electrons. + + diff --git a/doc/_sources/users_guide/qp_set_mo_class.rst.txt b/doc/_sources/users_guide/qp_set_mo_class.rst.txt new file mode 100644 index 00000000..a0490f19 --- /dev/null +++ b/doc/_sources/users_guide/qp_set_mo_class.rst.txt @@ -0,0 +1,69 @@ +.. _qp_set_mo_class: + +qp_set_mo_class +=============== + +.. program:: qp_set_mo_class + + +This command sets the orbital classes in an |EZFIO| directory. + +Core + MOs which are always doubly occupied + +Deleted + MOs which are never occupied + +Active + MOs in which any number of holes/particles can be made + +Inactive + MOs in which only holes can be made + +Virtual + MOs in which only particles can be made + +To avoid errors, all the MOs should be given a class. +The range of MOs are given like the ranges in |SLURM| commands. For example, +``"[36-53,72-107,126-131]"``. + +.. tip:: + To quickly setup a frozen core calculation, the script :ref:`qp_set_frozen_core` + can be used. + + + +Usage +----- + +.. code:: bash + + qp_set_mo_class [-a ] [-c ] [-d ] [-h] [-i ] + [-q] [-v ] [--] EZFIO_DIR + +.. option:: -a, --act= + + Range of active orbitals + +.. option:: -c, --core= + + Range of core orbitals + +.. option:: -d, --del= + + Range of deleted orbitals + +.. option:: -i, --inact= + + Range of inactive orbitals + +.. option:: -q, --query + + Print the |MO| classes + +.. option:: -v, --virt= + + Range of virtual orbitals + + + diff --git a/doc/_sources/users_guide/qp_stop.rst.txt b/doc/_sources/users_guide/qp_stop.rst.txt new file mode 100644 index 00000000..0d783d51 --- /dev/null +++ b/doc/_sources/users_guide/qp_stop.rst.txt @@ -0,0 +1,30 @@ +.. _qp_stop: + +======= +qp_stop +======= + +.. program:: qp_stop + +Requests for a clean termination of the program. + +This will have the effect to exit the Davidson diagonalization, the +|SCF| procedure or the determinant selection to save the current wave +function and exit the program. + +Usage +----- + +.. code:: bash + + qp_stop [-chq] EZFIO_DIR + +.. option:: -c, --cancel + + Cancel the qp_stop order. + +.. option:: -q, --query + + Ask if :file:`EZFIO_DIR` was requested to stop. + + diff --git a/doc/_sources/users_guide/qp_update.rst.txt b/doc/_sources/users_guide/qp_update.rst.txt new file mode 100644 index 00000000..1be65fe3 --- /dev/null +++ b/doc/_sources/users_guide/qp_update.rst.txt @@ -0,0 +1,17 @@ +.. _qp_update: + +========= +qp_update +========= + +.. program:: qp_update + +This command makes an update of the |QP| to the latest stable version. + +Usage +----- + +.. code:: bash + + qp_update [-h] + diff --git a/doc/_sources/users_guide/qpsh.rst.txt b/doc/_sources/users_guide/qpsh.rst.txt new file mode 100644 index 00000000..4cf1a612 --- /dev/null +++ b/doc/_sources/users_guide/qpsh.rst.txt @@ -0,0 +1,153 @@ +.. _qpsh: + +==== +qpsh +==== + +.. program:: qpsh + + +:command:`qpsh` is the |qp| shell. It is a Bash shell with all the +required evironment variables loaded, a modified prompt, and the +:ref:`qp` command. + + +.. _qp: + +.. program:: qp + +qp +== + +This command is a hub to the most used command within |qp|. The power +of the :ref:`qpsh` shell is the auto-completion that comes when the +:kbd:`` key is pressed with the :ref:`qp` command. + + +EZFIO access +------------ + +.. option:: set_file + + .. code:: bash + + qp set_file EZFIO_DIR + + Sets the current |EZFIO| directory. All the following instruction will be + relative to this directory. + + This command is equivalent to :command:`ezfio set_file EZFIO_DIR`. + + +.. option:: unset_file + + .. code:: bash + + qp unset_file + + Unsets the current |EZFIO| directory. + + This command is equivalent to :command:`ezfio unset_file`. + + +.. option:: has + + .. code:: bash + + qp has + + If the `/` is set in the |EZFIO| directory, returns 1. + Otherwise returns 0. + + This command is equivalent to :command:`ezfio has `. + + +.. option:: get + + .. code:: bash + + qp get + + Returns the value of `/`. + + This command is equivalent to :command:`ezfio get `. + + +.. option:: set + + .. code:: bash + + qp set [] + + Sets the value of `/`. If the value is not given in + the command line it is read from the standard input. + + This command is equivalent to + :command:`ezfio set []`. + + +Running programs +---------------- + +.. option:: run + + .. code:: bash + + qp (run|srun|mpirun) [options] + + Runs :ref:`qp_run`, :ref:`qp_srun`, or :ref:`qp_mpirun` using the current + |EZFIO| directory. + +.. option:: stop + + :command:`qp stop` : runs :ref:`qp_stop` + +Getting help +------------ + +.. option:: man + + .. code:: bash + + qp man (|) + + Displays a man page for a |qp| program or a |qp| command. + + +Running quantum package commands +-------------------------------- + +The ``qp_`` commands can be run without specifying the |EZFIO| directory: + +.. option:: convert_output_to_ezfio + + :command:`qp convert_output_to_ezfio` : runs :ref:`qp_convert_output_to_ezfio` + +.. option:: create_ezfio + + :command:`qp create_ezfio` : runs :ref:`qp_create_ezfio` + +.. option:: plugins + + :command:`qp plugins` : runs :ref:`qp_plugins` + +.. option:: reset + + :command:`qp reset` : runs :ref:`qp_reset` + +.. option:: set_frozen_core + + :command:`qp set_frozen_core` : runs :ref:`qp_set_frozen_core` + +.. option:: set_mo_class + + :command:`qp set_mo_class` : runs :ref:`qp_set_mo_class` + +.. option:: update + + :command:`qp update` : runs :ref:`qp_update` + + + + + diff --git a/doc/_sources/users_guide/quickstart.rst.txt b/doc/_sources/users_guide/quickstart.rst.txt new file mode 100644 index 00000000..2c04cbcb --- /dev/null +++ b/doc/_sources/users_guide/quickstart.rst.txt @@ -0,0 +1,156 @@ +================= +Quick-start guide +================= + +This tutorial should teach you everything you need to get started with +the the basics of the |qp|. As an example, we will run a frozen core +|CIPSI| calculation on the HCN molecule in the 631-G basis set. + + +Demo video +========== + +.. Include demo video here + + +Hands on +======== + +.. important:: + + Before using the |qp|, it is required to source the file + :file:`quantum_package.rc` if it has not been done already in the + current shell. + +Create the EZFIO database +------------------------- + +The data relative to calculations are stored in an |EZFIO| database. +|EZFIO| is a hierarchical data format which uses the hierarchy of the +file system to organize the data, as files stored in a directory. The +data in the |EZFIO| directory are stored as plain text files, so it can +be opened with any text editor. +To access the data of the |EZFIO| database, the APIs (Fortran, |Python|, +|OCaml| or Bash) provided by |EZFIO| should be used, or tools using +these APIs such as :ref:`qp_edit` provided with the |qp|. + +First, create an `xyz` file containing the coordinates of the molecule. +The file :file:`hcn.xyz` contains:: + + 3 + HCN molecule + C 0.0 0.0 0.0 + H 0.0 0.0 1.064 + N 0.0 0.0 -1.156 + + +This xyz file is now used with the :ref:`qp_create_ezfio` command to +create an |EZFIO| database with the 6-31G basis set: + +.. code:: bash + + qp_create_ezfio -b "6-31G" hcn.xyz -o hcn + +The EZFIO database now contains data relative to the nuclear coordinates +and the atomic basis set: + +.. code:: bash + + $ ls hcn + ao_basis/ electrons/ ezfio/ nuclei/ pseudo/ + + +Run a Hartree-Fock calculation +------------------------------ + +The program :ref:`qp_run` is the driver program of the |qp|. To run a +|SCF| calculation, just run + +.. code:: bash + + qp_run scf hcn + +The expected energy is ``-92.827856698`` au. + +.. seealso:: + + The documentation of the :ref:`hartree_fock` module and that of the :c:func:`scf` program. + +This creates the |MOs| in the |EZFIO| database that will be used to +perform any other post-SCF method. The |qp| does not handle symmetry and +the |MOs| are stored by increasing order of Fock energies. + +Choose the target |MO| space +---------------------------- + +Now, modify to |EZFIO| database to make |CIPSI| calculation in the +full set of valence |MOs|, keeping the core |MOs| frozen. The simple +command :ref:`qp_set_frozen_core` does this automatically: + +.. code:: bash + + qp_set_frozen_core hcn + + +The general command to specify core and active orbitals is :ref:`qp_set_mo_class`. +In the case of HCN molecule in the 631G basis, one has 20 |MOs| in total and the two first orbitals are frozen: + +.. code:: + + qp_set_mo_class -core "[1-2]" -act "[3-20]" hcn + + + +Run the |CIPSI| calculation +---------------------------- + +We will now use the |CIPSI| algorithm to estimate the |FCI| energy. + +.. code:: + + qp_run fci hcn | tee hcn.fci.out + + +The program will start with a single determinant and will iteratively: + +* Select the most important determinants from the external space and add them to the + internal space +* Add all the necessary determinants to allow the eigenvector of |H| to be + also an eigenstate of |S^2| +* Diagonalize |H| in the enlarged internal space +* Compute (stochastically) the second-order perturbative contribution to the energy +* Extrapolate the variational energy by fitting + :math:`E=E_\text{FCI} - \alpha\, E_\text{PT2}` + +By default, the program will stop when more than one million determinants have +entered in the internal space, or when the |PT2| energy is below :math:`10^{-4}`. + +To have a pictural illustration of the convergence of the |CIPSI| algorithm, just run + +.. code:: + + qp_e_conv_fci hcn.fci.out + +This will create the files "hcn.fci.out.conv" containing the data of the convergence of the energy that can be plotted, together with the file "hcn.fci.out.conv.1.eps" which is obtained from the gnuplot plot file "hcn.fci.out.conv.plt". + + +The estimated |FCI| energy of HCN is ``-93.0501`` au. + +.. seealso:: + + The documentation of the :ref:`fci` module and that of the :c:func:`fci` program. + + +--------------------------- + +TODO + + +.. important:: TODO + + .. include:: /work.rst + + * Parameters for Hartree-Fock + * Parameters for Davidson + * Running in parallel + diff --git a/doc/_sources/work.rst.txt b/doc/_sources/work.rst.txt new file mode 100644 index 00000000..3d7291f7 --- /dev/null +++ b/doc/_sources/work.rst.txt @@ -0,0 +1,3 @@ + +.. image:: http://craniointernational.com/wp-content/uploads/2018/01/work-in-progress.jpg + diff --git a/doc/_static/ajax-loader.gif b/doc/_static/ajax-loader.gif new file mode 100644 index 0000000000000000000000000000000000000000..61faf8cab23993bd3e1560bff0668bd628642330 GIT binary patch literal 673 zcmZ?wbhEHb6krfw_{6~Q|Nno%(3)e{?)x>&1u}A`t?OF7Z|1gRivOgXi&7IyQd1Pl zGfOfQ60;I3a`F>X^fL3(@);C=vM_KlFfb_o=k{|A33hf2a5d61U}gjg=>Rd%XaNQW zW@Cw{|b%Y*pl8F?4B9 zlo4Fz*0kZGJabY|>}Okf0}CCg{u4`zEPY^pV?j2@h+|igy0+Kz6p;@SpM4s6)XEMg z#3Y4GX>Hjlml5ftdH$4x0JGdn8~MX(U~_^d!Hi)=HU{V%g+mi8#UGbE-*ao8f#h+S z2a0-5+vc7MU$e-NhmBjLIC1v|)9+Im8x1yacJ7{^tLX(ZhYi^rpmXm0`@ku9b53aN zEXH@Y3JaztblgpxbJt{AtE1ad1Ca>{v$rwwvK(>{m~Gf_=-Ro7Fk{#;i~+{{>QtvI yb2P8Zac~?~=sRA>$6{!(^3;ZP0TPFR(G_-UDU(8Jl0?(IXu$~#4A!880|o%~Al1tN literal 0 HcmV?d00001 diff --git a/doc/_static/basic.css b/doc/_static/basic.css new file mode 100644 index 00000000..104f076a --- /dev/null +++ b/doc/_static/basic.css @@ -0,0 +1,676 @@ +/* + * basic.css + * ~~~~~~~~~ + * + * Sphinx stylesheet -- basic theme. + * + * :copyright: Copyright 2007-2018 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ + +/* -- main layout ----------------------------------------------------------- */ + +div.clearer { + clear: both; +} + +/* -- relbar ---------------------------------------------------------------- */ + +div.related { + width: 100%; + font-size: 90%; +} + +div.related h3 { + display: none; +} + +div.related ul { + margin: 0; + padding: 0 0 0 10px; + list-style: none; +} + +div.related li { + display: inline; +} + +div.related li.right { + float: right; + margin-right: 5px; +} + +/* -- sidebar --------------------------------------------------------------- */ + +div.sphinxsidebarwrapper { + padding: 10px 5px 0 10px; +} + +div.sphinxsidebar { + float: left; + width: 230px; + margin-left: -100%; + font-size: 90%; + word-wrap: break-word; + overflow-wrap : break-word; +} + +div.sphinxsidebar ul { + list-style: none; +} + +div.sphinxsidebar ul ul, +div.sphinxsidebar ul.want-points { + margin-left: 20px; + list-style: square; +} + +div.sphinxsidebar ul ul { + margin-top: 0; + margin-bottom: 0; +} + +div.sphinxsidebar form { + margin-top: 10px; +} + +div.sphinxsidebar input { + border: 1px solid #98dbcc; + font-family: sans-serif; + font-size: 1em; +} + +div.sphinxsidebar #searchbox form.search { + overflow: hidden; +} + +div.sphinxsidebar #searchbox input[type="text"] { + float: left; + width: 80%; + padding: 0.25em; + box-sizing: border-box; +} + +div.sphinxsidebar #searchbox input[type="submit"] { + float: left; + width: 20%; + border-left: none; + padding: 0.25em; + box-sizing: border-box; +} + + +img { + border: 0; + max-width: 100%; +} + +/* -- search page ----------------------------------------------------------- */ + +ul.search { + margin: 10px 0 0 20px; + padding: 0; +} + +ul.search li { + padding: 5px 0 5px 20px; + background-image: url(file.png); + background-repeat: no-repeat; + background-position: 0 7px; +} + +ul.search li a { + font-weight: bold; +} + +ul.search li div.context { + color: #888; + margin: 2px 0 0 30px; + text-align: left; +} + +ul.keywordmatches li.goodmatch a { + font-weight: bold; +} + +/* -- index page ------------------------------------------------------------ */ + +table.contentstable { + width: 90%; + margin-left: auto; + margin-right: auto; +} + +table.contentstable p.biglink { + line-height: 150%; +} + +a.biglink { + font-size: 1.3em; +} + +span.linkdescr { + font-style: italic; + padding-top: 5px; + font-size: 90%; +} + +/* -- general index --------------------------------------------------------- */ + +table.indextable { + width: 100%; +} + +table.indextable td { + text-align: left; + vertical-align: top; +} + +table.indextable ul { + margin-top: 0; + margin-bottom: 0; + list-style-type: none; +} + +table.indextable > tbody > tr > td > ul { + padding-left: 0em; +} + +table.indextable tr.pcap { + height: 10px; +} + +table.indextable tr.cap { + margin-top: 10px; + background-color: #f2f2f2; +} + +img.toggler { + margin-right: 3px; + margin-top: 3px; + cursor: pointer; +} + +div.modindex-jumpbox { + border-top: 1px solid #ddd; + border-bottom: 1px solid #ddd; + margin: 1em 0 1em 0; + padding: 0.4em; +} + +div.genindex-jumpbox { + border-top: 1px solid #ddd; + border-bottom: 1px solid #ddd; + margin: 1em 0 1em 0; + padding: 0.4em; +} + +/* -- domain module index --------------------------------------------------- */ + +table.modindextable td { + padding: 2px; + border-collapse: collapse; +} + +/* -- general body styles --------------------------------------------------- */ + +div.body { + min-width: 450px; + max-width: 800px; +} + +div.body p, div.body dd, div.body li, div.body blockquote { + -moz-hyphens: auto; + -ms-hyphens: auto; + -webkit-hyphens: auto; + hyphens: auto; +} + +a.headerlink { + visibility: hidden; +} + +h1:hover > a.headerlink, +h2:hover > a.headerlink, +h3:hover > a.headerlink, +h4:hover > a.headerlink, +h5:hover > a.headerlink, +h6:hover > a.headerlink, +dt:hover > a.headerlink, +caption:hover > a.headerlink, +p.caption:hover > a.headerlink, +div.code-block-caption:hover > a.headerlink { + visibility: visible; +} + +div.body p.caption { + text-align: inherit; +} + +div.body td { + text-align: left; +} + +.first { + margin-top: 0 !important; +} + +p.rubric { + margin-top: 30px; + font-weight: bold; +} + +img.align-left, .figure.align-left, object.align-left { + clear: left; + float: left; + margin-right: 1em; +} + +img.align-right, .figure.align-right, object.align-right { + clear: right; + float: right; + margin-left: 1em; +} + +img.align-center, .figure.align-center, object.align-center { + display: block; + margin-left: auto; + margin-right: auto; +} + +.align-left { + text-align: left; +} + +.align-center { + text-align: center; +} + +.align-right { + text-align: right; +} + +/* -- sidebars -------------------------------------------------------------- */ + +div.sidebar { + margin: 0 0 0.5em 1em; + border: 1px solid #ddb; + padding: 7px 7px 0 7px; + background-color: #ffe; + width: 40%; + float: right; +} + +p.sidebar-title { + font-weight: bold; +} + +/* -- topics ---------------------------------------------------------------- */ + +div.topic { + border: 1px solid #ccc; + padding: 7px 7px 0 7px; + margin: 10px 0 10px 0; +} + +p.topic-title { + font-size: 1.1em; + font-weight: bold; + margin-top: 10px; +} + +/* -- admonitions ----------------------------------------------------------- */ + +div.admonition { + margin-top: 10px; + margin-bottom: 10px; + padding: 7px; +} + +div.admonition dt { + font-weight: bold; +} + +div.admonition dl { + margin-bottom: 0; +} + +p.admonition-title { + margin: 0px 10px 5px 0px; + font-weight: bold; +} + +div.body p.centered { + text-align: center; + margin-top: 25px; +} + +/* -- tables ---------------------------------------------------------------- */ + +table.docutils { + border: 0; + border-collapse: collapse; +} + +table.align-center { + margin-left: auto; + margin-right: auto; +} + +table caption span.caption-number { + font-style: italic; +} + +table caption span.caption-text { +} + +table.docutils td, table.docutils th { + padding: 1px 8px 1px 5px; + border-top: 0; + border-left: 0; + border-right: 0; + border-bottom: 1px solid #aaa; +} + +table.footnote td, table.footnote th { + border: 0 !important; +} + +th { + text-align: left; + padding-right: 5px; +} + +table.citation { + border-left: solid 1px gray; + margin-left: 1px; +} + +table.citation td { + border-bottom: none; +} + +/* -- figures --------------------------------------------------------------- */ + +div.figure { + margin: 0.5em; + padding: 0.5em; +} + +div.figure p.caption { + padding: 0.3em; +} + +div.figure p.caption span.caption-number { + font-style: italic; +} + +div.figure p.caption span.caption-text { +} + +/* -- field list styles ----------------------------------------------------- */ + +table.field-list td, table.field-list th { + border: 0 !important; +} + +.field-list ul { + margin: 0; + padding-left: 1em; +} + +.field-list p { + margin: 0; +} + +.field-name { + -moz-hyphens: manual; + -ms-hyphens: manual; + -webkit-hyphens: manual; + hyphens: manual; +} + +/* -- hlist styles ---------------------------------------------------------- */ + +table.hlist td { + vertical-align: top; +} + + +/* -- other body styles ----------------------------------------------------- */ + +ol.arabic { + list-style: decimal; +} + +ol.loweralpha { + list-style: lower-alpha; +} + +ol.upperalpha { + list-style: upper-alpha; +} + +ol.lowerroman { + list-style: lower-roman; +} + +ol.upperroman { + list-style: upper-roman; +} + +dl { + margin-bottom: 15px; +} + +dd p { + margin-top: 0px; +} + +dd ul, dd table { + margin-bottom: 10px; +} + +dd { + margin-top: 3px; + margin-bottom: 10px; + margin-left: 30px; +} + +dt:target, span.highlighted { + background-color: #fbe54e; +} + +rect.highlighted { + fill: #fbe54e; +} + +dl.glossary dt { + font-weight: bold; + font-size: 1.1em; +} + +.optional { + font-size: 1.3em; +} + +.sig-paren { + font-size: larger; +} + +.versionmodified { + font-style: italic; +} + +.system-message { + background-color: #fda; + padding: 5px; + border: 3px solid red; +} + +.footnote:target { + background-color: #ffa; +} + +.line-block { + display: block; + margin-top: 1em; + margin-bottom: 1em; +} + +.line-block .line-block { + margin-top: 0; + margin-bottom: 0; + margin-left: 1.5em; +} + +.guilabel, .menuselection { + font-family: sans-serif; +} + +.accelerator { + text-decoration: underline; +} + +.classifier { + font-style: oblique; +} + +abbr, acronym { + border-bottom: dotted 1px; + cursor: help; +} + +/* -- code displays --------------------------------------------------------- */ + +pre { + overflow: auto; + overflow-y: hidden; /* fixes display issues on Chrome browsers */ +} + +span.pre { + -moz-hyphens: none; + -ms-hyphens: none; + -webkit-hyphens: none; + hyphens: none; +} + +td.linenos pre { + padding: 5px 0px; + border: 0; + background-color: transparent; + color: #aaa; +} + +table.highlighttable { + margin-left: 0.5em; +} + +table.highlighttable td { + padding: 0 0.5em 0 0.5em; +} + +div.code-block-caption { + padding: 2px 5px; + font-size: small; +} + +div.code-block-caption code { + background-color: transparent; +} + +div.code-block-caption + div > div.highlight > pre { + margin-top: 0; +} + +div.code-block-caption span.caption-number { + padding: 0.1em 0.3em; + font-style: italic; +} + +div.code-block-caption span.caption-text { +} + +div.literal-block-wrapper { + padding: 1em 1em 0; +} + +div.literal-block-wrapper div.highlight { + margin: 0; +} + +code.descname { + background-color: transparent; + font-weight: bold; + font-size: 1.2em; +} + +code.descclassname { + background-color: transparent; +} + +code.xref, a code { + background-color: transparent; + font-weight: bold; +} + +h1 code, h2 code, h3 code, h4 code, h5 code, h6 code { + background-color: transparent; +} + +.viewcode-link { + float: right; +} + +.viewcode-back { + float: right; + font-family: sans-serif; +} + +div.viewcode-block:target { + margin: -1px -10px; + padding: 0 10px; +} + +/* -- math display ---------------------------------------------------------- */ + +img.math { + vertical-align: middle; +} + +div.body div.math p { + text-align: center; +} + +span.eqno { + float: right; +} + +span.eqno a.headerlink { + position: relative; + left: 0px; + z-index: 1; +} + +div.math:hover a.headerlink { + visibility: visible; +} + +/* -- printout stylesheet --------------------------------------------------- */ + +@media print { + div.document, + div.documentwrapper, + div.bodywrapper { + margin: 0 !important; + width: 100%; + } + + div.sphinxsidebar, + div.related, + div.footer, + #top-link { + display: none; + } +} \ No newline at end of file diff --git a/doc/_static/cn3_energy.png b/doc/_static/cn3_energy.png new file mode 100644 index 0000000000000000000000000000000000000000..5f5953209392bd505ac711b91ec921156c6d335f GIT binary patch literal 9347 zcma)ic|4Tg`}diR8S5~}7GqyS_T5;rWXYaThLEMQFImT)RLGuf>?NX76ftA@kPuNJ zvLwk8vLxF))93mAp5^uX<9S{)^SbYI-S2Z<=bX7-_w_#4by6)Yj2P*-=>PzXCdLNV z06+-OM!jU4^R^1;^M;3&tF5lS2n{EH%*+*2BSaYe^ROdk$~OVnQBRS z7#g7f>W7jtv;x2&00b^Be*n?|pva`17fcfblvvO+;hLH#g zy)^S?DiX;mN3r-FeBMN|Vn&pRJLa)^aC=|28TKHI9%A6Z4!zkg2}kGHA+eH=&^TLr z0m6eiJz#Yq36wvj`#%9>Ag@dryS1*xwRC8Gj`sab0R0XJ0%oj)pB~;=9~^$_xin^a zG^}tOGNWO;LkDa0{V{NY9fT$z6Pm1KO@t2wl4BqAv(sQJ6bM@E%L?yxWWz8mP83Bz3t{jn!cX)W8ZdMg_ZLLV@SysS~`X_ z+8f0Qmp(C=!`Cf8ygh+aW{_+$0Z#7+_0u0aJ(UqkTytW2pd!IeD0=p|5VBfx?sDyC zvH7y{G4wIbPSr8z%rr%_?)d!-hZLV^?)p-(iA#=T1M}J%B{u+h8^=-Hv7?C z-bP|(G@m$zjP6M`P)HP>B9WOKdOm zZ;O^q4t+Z%RG)h_c7`uN^UE>U2!b1T%B)vvCxN%+`Se_I@@7Lm)0J}4@cy#{!1X&9`i#tk!4`r46 z?@qyq%b4BZ&$QVJ@;zmDoHvJK2&UojhBFjdob*vOp3-(?G7k@BVbJPfas#_=}M|O z`XrzR7Re)p?Qhji-H9q-@);sUnDm93_j#HiAEPEDMFHFBUNuyrqk zjoM-8Pzw<2E&7Ud24t#?$=2FPs5u!!7>zpgRT&OYgJk@jS1i+L#O(XDG6R_{2QVd#ny5of z$e>c&Md9P(|#lY6Q+E~YFAyr z?D)e^$o5gCljJk8e8Yjmz&T$%=@7kYmN(Z2D0sTuSGdML2M)WW2Go-=6c@@n?3_UF zcSsxOZ7jiLN0qRmE^ztNLO5F(+v42Sh&gw71)6LIWt_EL9L@6UoPqIWwBDy3grvpU&^36eQYxA{*8ZvVB(q?l@Fl+uV zeo5Uz!P$MrLhb$ZG#o77=*BNOsx$hXK@*akMEg zo8r#_4X^se;=Y)dC9~tt;RUv8@ZM$N(805>#=0&bi3v%+60pv3H0Zl%vaKFCnFOz9 z@d9O)cnOAhlSJ^!$@na`@fUxKD7>7NM%U|`j=wq5tV$2<{D;{YBM6s9m{tk=SA&Hl ztc$k(lYZc+?ct}y!>!CY3rhW} zyd5qny|P6TRGs#dapw%h^*aI+ut0zikO-%tQzUp);zfAk($z9Q8nB9?Ne&#+aOmq@ zY!P6@U+9$P6@<%`WRO4{O=DAckTNID{Ue-e958&IQ9I>)<4WfTxEG*jt9CsnK*&sj z@1qn6XGHm6akyvvNUE|Wj=TR$Sy`v_ssLOr&i{IRD-PyxeSU%!sdy0Q4~3XrcGbrY z`!aW;hC#0MK<9NmV1q&hvwDHI7Mk?`r7M_Yku3Kg6o;%?SDqfoqC>S&QBua5I!Frx z`OS7V=PvJbo2^&L3a-i!Zjxl;g>gx^+{=wOjpjs1oyg{tSYxgNLdF3gSKKP7V&wFRVCQ`TCXpRA+Nevl z;J+W9;(zh@x&mD;+TK8bHQe@#y1-gQ! zQI*;<>4kn8!{6o zFbtA=57pR?e-tp1&8pwV@KO87FyJ2k`18bF_Iq%$4dy3YkbtO~z2h!?sCUsL{z6Lx zNCLl6nYdx_&#gahcPU!*EJbpr49O?OyV;!O2~U}k{^;^;eNb$Bovy@?jNjU5T}QS9 z(giHbp~SaPp+X#tQ)@8=ov(eMwvi&y!UXi=XJOz{jVrt{nN1oY$4FW9lO00k?c6MW2yuaaZdA2Ef%)i^UFc;biOP75ua#@zUZjqNgkvDcw|b}8^;VZoQK^+E}rlLrN)|haL@i2C+KNJjl`&2 zDC5Mnk%REE`;V~sE0cclSZIE=nZA+N=hF4NI~j!Pxv;6sH_p|%tD}bAMAMN(Epk-9 zQ?>53OE0IfN~ZOy^l=xSl^Xv2`{fyn$DcNTR_U{@+t5UMw(nAXyZdPd3+{3Ojq=Uc z6+gV;QMUOh&%`-N`m^d;Rc0_AqORH2^gTYXaMF43(N?XZT z=(5V~qaG?`T0p~ig=i`Pe=g>*X096xn&*~ZNqI?)4l`-3q+H}2q{HsQ`Ry0w8Bd+` zS~LovU5m%wWRpHMrQdj;P4m{36Inka-7T+!Fk~lW;}YLv6v^<`YS0y74-2w&eoE>4 zVzweps3+Sh+4v0S7l?l>Mfl#Y8oY!#wvtVHp``-vC^lcvLOXlv$`BlmI|(m?EHxEa zMTof-AR}4Jn_`nWOt99CYy*nUpOUZZ0*iE|-DgNa6cYg-8Q(z?M_M*e8HIq|lE5iFTVh?8sfiwxls~)zGSRzl_ramaG>+yvzOF5K?@mYcE@I~ zp2wVFRRm>BhMw$$cr>9h&jywIA;$_Kji9GjNx<)~{_ayA^|x-!|7g^GtKxu<3yvlg z>TYEE#`fUN!7Y@Ge%`U6qA>XkKOR%)?MA3_9$d-FMeFS#e3m?`d9** zYFaXzbmiF$DnY3V|L|_r4K$RKG>qNbd#-ZYfsydJF%OH>GbdY%RJuO24t%0R(E1Uw zwBq>Q;5Sm4;IR$QxrLX*BA$6-&1ZfOMwC7mmWeYZTOT7A-^NJMJTf6y+>BxrY4Wyt zmmG&8#_|nCtSKcZLGtYzZ5nNLZ#WoyFgsBO% zVGouSpJYG!M@u3xD?TOe)eNj@4CT7@IL{ZfJ10@sa(B5WTUL#$DR&9DTU7?n^AgOl4c%fq_dR zIgQE>*J2!fT_wV$>zKVp&WI;w$E!sr_I6w^)n(gDX=? z3M(NxpQaLINQ30O{CIu-Hq zYFOn-Dz6Spx2a8AhCL4EgHbQsidv+EQQ8GnEA2M+)}Y3>$uHCesu`TU==jp2lvitm z-(_@xYz#HGpd;SZ_rW>}W z8@JgsCBYT?4m?_@Y8FNMh{E~hFc1q!bb$907?Ldx2*2f7r%e=Y6p79&x7H_1gx9Ij zmoE2}8C_+Vy06dV%`=1zqKKc*VVvbb**c0Wj)Bl9+s~qo*%!j;_{{kvdJX1XS$DH8oueIeP4W@{5qUaKao{z* z9hm)$Qheqqd|DdeoAffQ?3c|(i_k`h#9n7Nx54nE`Lo(xE7D}bPXt;wh%*=Whgl{^w+cdx+*f<^^fjbq)tCS6xunvI$o=5u&uj?9V*k*7wn zd{7OuB$SmF@PW=bAEY0Dt$Me|5_`=1`GWSsy8puL@=&|w;0BJo{3}P0K1Eki|J5NB;>&6r@Ua-67m6xBBQlK+s)Ii0!%ic}6>+qe~2A9gBg zO>}C0;$vse&QW&d+*jm^E1Rb9e1kGji?hdAY_7heePo0A^|e!ocu>$1=oaE`3FqxG z)PJ}K}k$x=im zMbplSZc+5EekQx0%vgOfk{8jXib*-&`4PcfZprv5I-Q{wO%g%!!HRwP<>E0Drwl$5 zf0dygvj0%*`ts`0`8YkPYB5_oATv9c6bSfM;^STp-|dz$s;;%PEeOXwB2G1ZRIgZ@6tOsq0X z*!R$>l#xKRjx@`&7-J6=SbPMDZm+`OVx?WDYj{R-rPM?)g|OZOU-B8` z<}KYHb%VRR@{C%pyl*awp+o6*IRlE+=gwif6h^7^5L&3vD z%L~Hka6tvh$xW+`ElfUi?RnwNozitV47fabMoIqP8Vc0-rs@)?=WkXxb4aN^baD0I z4hKT+`<}kDmesmTaUacbw|HOy(& zh7nW)SuRllg21^<^eb9U(88S_E4g>C2&^LSa)GH_Z?v7tJL(q6&T+3Y12>z+@=K(I zJzApJpUU|*(!i9+mr9Ek)|;T+L;WKxHLSv0{MQ%v+u-rGVzl+l=HMZjX5&qFkovs& z&+bogI%eb$m=}HYk7ECuu}FN6gsSQM#UBUDC`VaZxy^dd6K}LSVWu3WsahXDI)U!b@K?%M2iw;*r=rHfN(rtq1#>&Im$IXN|2Im6rvl{yDJ$G1t`IzhuiB)19iyan_W4 zp5m7Bx7)#w1H^1M52Wega#N(`>l-b`UT1GSn|}orrh(c=T6+Z15`X%c8zKRQVuJVoI@;fd=(6-+lXI1?`2P?}c6m6) zWa!j_VaQ@(#Ge0Boe74)_{JbZ$=8e{Q>bEyCaMxDaD zQ%z~&N~jyJ@-|y{c|-8XnzU9h0A<7rOfctT#2BDj7$iP|{+))a8+xe#Fk&U0tAsDZ z8{Kk9STA5Y5JM{3Gn|_K8ZFVX>dV}dD!~QQ!Vn<_J@=RrH)=6L1iumaEN<4=Mu@cb z0VHT%>REtX?7AtL{o=tYM^h?K^OY~OSjqPG(I_ABFfTMI%=-gvqOJgSQ};Fo6sg{h zj~0(|p?kbM2@CB!Ez-e^8_Vj?y2pYWb4*V^N6o&(uhNdDo=jT)GWUC3J3pyvR^?Kp zszsgnp#??6AF4=ru)4ooBld8&LKj$l+K)^zJrAgK#i1)fAZxnA2AH1JTuRKn#&+1uoHj!aX<=n2g-#0E!CJVIumsrvJ?lM7 zet)MX-PE8f7G%At(L)dThSZIMw(OHkdY2xXMUx&H@)jg_h4U=dTe$Ne zY}An6h+A5|$S*gO*SdA;;TD=l!tS?1gQ|j~*nU6g#OdzdJiWF$QfagGjq=072r zD6~RB*uW1J-iO*y6JiNhRnIIg&5vHKzjQy|g$V9JZ8q+_kny68Mg{{Z3-XqTc}Dyx z(Kg&uHP@_f`n%D%*@{^@h-UXa0J^a8p`xO5_cN{p-|xQOQ%RQys&ib{eg8@&#G0-uH9G*Ugml~Th{HEZ&~1fKM(km?LRlD@e|VL) z69tzWk3WcZCw}5fqo#OC23v#!4Qv9tkpCoAVq6!^Pr)~ARhPo`h>(H&aE`s@ z|A}IpOl*&6&_aq)6Mkp%!};wZfUIPK+zY=946btByNY(BTpqdhn=!CzHcQv&^#pSw zh8iRvFvxdY3;jVJjp5s0{%gaSVfKti#-BB8UO5Wmr(Jc9d?H8J_&UgJuZy4~jrL=e z!KfG??f$=3!~d210l`u4t=6B@&Kbyqi&6=kAgbH~nIaooe7iaJjZ`rm?o&TjZJ#i{ zmQaymy>Y`Mqt~WUHhRZX2W_GGfmYL=#=G#tXV1L(!?aIQV$bTt zqtPv5RNw5EdX+oGNjCpBQTZKi4^K@!ZQA(fCm}7|o56?FNr-bqY#GPDGXRXUT0dIC zFgRQ552#tu@AJpH8PqBOF~1{;(Q95;tf>|{jQ&9=2@TexS0re6N;_5i0Ca0Og4+6Y znsQHzm`YnbEXj$hX`zOP3XCHWqRB2g?PJSJ=(}{0n%ULH(>78g0ukd_1vt6){!3Gq z+z)$cFL3;sBcPYhWerM83^uWFOYP(v?oP1qf*>rPoL{F_*P5`S)hhv$z8FZK*b!<2H+)7FPrlG!>fjI{Wx34bqP5x)rdX4%5 zlH+QWG%uhrL~67oMr2t-mTarzPImIsdDv6)4e&quYLaIPXpWz?XifjK#cEe?o$c*a za~&7+&_ zwAkc9==mUVm7m^vX7>YEZfc`u+y2vuStIu!8GGmZrIVXJS2sOh1YOUEi9_FU;Vd|+ z86rYNuZpU7hPx1ooi1z(6Cy<3g#NS-58~JOey6xjRZ*w;>*)C6ofkr|qWnW&^|GhT z;Ww?cIaalBVwl%*c;*U6<{G?Gn!iS*Qp?Ml;;erj+dsbVw5F=kzF~;q49KbR3ehYx zkj+58kh6~5ZBr)W4M_ndXC5rB&s_WI{k`(Zqnt;J_8LQXWZOo#9)G%c_!YIbgm2xJ z;gC`9W)gLjSN(E(07ayTyMLY<9WuFmUh4c{eP|JnOSnQ(QRr|N!#XBnMvnoLCWknY zAOB~@{V4ujYKxyha_X5IfPp)a_kQH0n)j;Dx7wE$p3pRXv&VPEXi^-YXnDS}jrvZ3>*2 z^6Y*6WSU2QCZLcb=0@r80f$?@LpFjmYZP#>cq!C^r}e_i>(`%r9T{J~(==KuCOY6g zzE&FW_U|zL<)Qyqxn9WSHTCcS^!?wn0RO#o|NpG*|8IcfXuJCKM78?)x6f-TlzHf% zuPC{tm{*0q8Xx>#d!tMbJYT}5`OUx^XI9TPLK{w9T|%AeGRnauqE6bXV`HZ9A3gv%*$qKfwArsX+BrK^Rm1zlwfr zzcJT1+1B=6yh0jpgd$OObPus+ui9)p5VWcB4cuDiO?bT0Eu*=m&Gz=AJ2&om5ErGL zciMPZ`P!#lcEWtprHQ5P>#c94+HQ#b+DWKcKnV~WZ4E1qSxKQ1H0m(bYj68p)IkgH zDKPb1i#9{d<9)_S!u*Fhx8Hs56RB&P<658(AG7lMk}$#z`Ci;n7(m4#8nc90UeWqz zGuX4kS#YON*!4hf@CJfAvotn`F&h9D(Kxpyn2eFiV2fWQ9T6JB4{=g5yK=7ho)}fB z1Sk-f#i1_$YTxD{xpE_ZZyARUB}cHeP0=o36(kM0w?^)?7`?vcn?`t_bRB_poyJ`- z)qlaBAO*KHh4fkZ^lUZ7?e?;1PIqEdj;bSX1o>W6i+Ra%>L;xK)XL7tZH9vv-=j(P zgfIX78 z$8Pzv({A~p%??+>KickCb#0FM1rYN=mBmQ&Nwp<#JXUhU;{|)}%&s>suq6lXw*~s{ zvHx}3C%<;wE5CH!BR{p5@ml9ws}y)=QN-kL2?#`S5d*6j zk`h<}j1>tD$b?4D^N9w}-k)bxXxFg>+#kme^xx#qg6FI-%iv2U{0h(Y)cs%5a|m%Pn_K3X_bDJ>EH#(Fb73Z zfUt2Q3B>N+ot3qb*DqbTZpFIn4a!#_R-}{?-~Hs=xSS6p&$sZ-k1zDdtqU`Y@`#qL z&zv-~)Q#JCU(dI)Hf;$CEnK=6CK50}q7~wdbI->?E07bJ0R;!GSQTs5Am`#;*WHjvHRvY?&$Lm-vq1a_BzocI^ULXV!lbMd%|^B#fY;XX)n<&R^L z=84u1e_3ziq;Hz-*k5~zwY3*oDKt0;bM@M@@89;@m*4RFgvvM_4;5LB!@OB@^WbVT zjl{t;a8_>od-~P4 m{5|DvB&z#xT;*OnJqG}gk~_7HcNkCr0000W zanA~u9RIXo;n7c96&U)YLgs-FGlx~*_c{Jgvesu1E5(8YEf&5wF=YFPcRe@1=MJmi zag(L*xc2r0(slpcN!vC5CUju;vHJkHc*&70_n2OZsK%O~A=!+YIw z7zLLl7~Z+~RgWOQ=MI6$#0pvpu$Q43 zP@36QAmu6!_9NPM?o<1_!+stoVRRZbW9#SPe!n;#A_6m8f}|xN1;H{`0RoXQ2LM47 zt(g;iZ6|pCb@h2xk&(}S3=EVBUO0e90m2Lp5CB<(SPIaB;n4))3JB87Or#XPOPcum z?<^(g+m9}VNn4Y&B`g8h{t_$+RB1%HKRY6fjtd-<7&EsU;vs0GM(Lmbhi%Gwcfs0FTF}T zL{_M6Go&E0Eg8FuB*(Yn+Z*RVTBE@10eIOb3El^MhO`GabDll(V0&FlJi2k^;q8af zkENdk2}x2)_KVp`5OAwXZM;dG0?M-S)xE1IKDi6BY@5%Or?#aZ9$gcX)dPZ&wA1a< z$rFXHPn|TBf`e?>Are8sKtKrKcjF$i^lp!zkL?C|y^vlHr1HXeVJd;1I~g&Ob-q)& z(fn7s-KI}G{wnKzg_U5G(V%bX6uk zIa+<@>rdmZYd!9Y=C0cuchrbIjuRB_Wq{-RXlic?flu1*_ux}x%(HDH&nT`k^xCeC ziHi1!ChH*sQ6|UqJpTTzX$aw8e(UfcS^f;6yBWd+(1-70zU(rtxtqR%j z-lsH|CKQJXqD{+F7V0OTv8@{~(wp(`oIP^ZykMWgR>&|RsklFMCnOo&Bd{le} zV5F6424Qzl;o2G%oVvmHgRDP9!=rK8fy^!yV8y*4p=??uIRrrr0?>O!(z*g5AvL2!4z0{sq%vhG*Po}`a<6%kTK5TNhtC8}rXNu&h^QH4A&Sk~Autm*s~45(H7+0bi^MraaRVzr05hQ3iK?j` zR#U@^i0WhkIHTg29u~|ypU?sXCQEQgXfObPW;+0YAF;|5XyaMAEM0sQ@4-xCZe=0e z7r$ofiAxn@O5#RodD8rh5D@nKQ;?lcf@tg4o+Wp44aMl~c47azN_(im0N)7OqdPBC zGw;353_o$DqGRDhuhU$Eaj!@m000000NkvXXu0mjfjZ7Z_ literal 0 HcmV?d00001 diff --git a/doc/_static/css/badge_only.css b/doc/_static/css/badge_only.css new file mode 100644 index 00000000..323730ae --- /dev/null +++ b/doc/_static/css/badge_only.css @@ -0,0 +1 @@ +.fa:before{-webkit-font-smoothing:antialiased}.clearfix{*zoom:1}.clearfix:before,.clearfix:after{display:table;content:""}.clearfix:after{clear:both}@font-face{font-family:FontAwesome;font-weight:normal;font-style:normal;src:url("../fonts/fontawesome-webfont.eot");src:url("../fonts/fontawesome-webfont.eot?#iefix") format("embedded-opentype"),url("../fonts/fontawesome-webfont.woff") format("woff"),url("../fonts/fontawesome-webfont.ttf") format("truetype"),url("../fonts/fontawesome-webfont.svg#FontAwesome") format("svg")}.fa:before{display:inline-block;font-family:FontAwesome;font-style:normal;font-weight:normal;line-height:1;text-decoration:inherit}a .fa{display:inline-block;text-decoration:inherit}li .fa{display:inline-block}li .fa-large:before,li .fa-large:before{width:1.875em}ul.fas{list-style-type:none;margin-left:2em;text-indent:-0.8em}ul.fas li .fa{width:.8em}ul.fas li .fa-large:before,ul.fas li .fa-large:before{vertical-align:baseline}.fa-book:before{content:""}.icon-book:before{content:""}.fa-caret-down:before{content:""}.icon-caret-down:before{content:""}.fa-caret-up:before{content:""}.icon-caret-up:before{content:""}.fa-caret-left:before{content:""}.icon-caret-left:before{content:""}.fa-caret-right:before{content:""}.icon-caret-right:before{content:""}.rst-versions{position:fixed;bottom:0;left:0;width:300px;color:#fcfcfc;background:#1f1d1d;font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif;z-index:400}.rst-versions a{color:#2980B9;text-decoration:none}.rst-versions .rst-badge-small{display:none}.rst-versions .rst-current-version{padding:12px;background-color:#272525;display:block;text-align:right;font-size:90%;cursor:pointer;color:#27AE60;*zoom:1}.rst-versions .rst-current-version:before,.rst-versions .rst-current-version:after{display:table;content:""}.rst-versions .rst-current-version:after{clear:both}.rst-versions .rst-current-version .fa{color:#fcfcfc}.rst-versions .rst-current-version .fa-book{float:left}.rst-versions .rst-current-version .icon-book{float:left}.rst-versions .rst-current-version.rst-out-of-date{background-color:#E74C3C;color:#fff}.rst-versions .rst-current-version.rst-active-old-version{background-color:#F1C40F;color:#000}.rst-versions.shift-up{height:auto;max-height:100%}.rst-versions.shift-up .rst-other-versions{display:block}.rst-versions .rst-other-versions{font-size:90%;padding:12px;color:gray;display:none}.rst-versions .rst-other-versions hr{display:block;height:1px;border:0;margin:20px 0;padding:0;border-top:solid 1px #413d3d}.rst-versions .rst-other-versions dd{display:inline-block;margin:0}.rst-versions .rst-other-versions dd a{display:inline-block;padding:6px;color:#fcfcfc}.rst-versions.rst-badge{width:auto;bottom:20px;right:20px;left:auto;border:none;max-width:300px}.rst-versions.rst-badge .icon-book{float:none}.rst-versions.rst-badge .fa-book{float:none}.rst-versions.rst-badge.shift-up .rst-current-version{text-align:right}.rst-versions.rst-badge.shift-up .rst-current-version .fa-book{float:left}.rst-versions.rst-badge.shift-up .rst-current-version .icon-book{float:left}.rst-versions.rst-badge .rst-current-version{width:auto;height:30px;line-height:30px;padding:0 6px;display:block;text-align:center}@media screen and (max-width: 768px){.rst-versions{width:85%;display:none}.rst-versions.shift{display:block}} diff --git a/doc/_static/css/theme.css b/doc/_static/css/theme.css new file mode 100644 index 00000000..b19dbfe5 --- /dev/null +++ b/doc/_static/css/theme.css @@ -0,0 +1,6 @@ +/* sphinx_rtd_theme version 0.4.2 | MIT license */ +/* Built 20181005 13:10 */ +*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block}audio,canvas,video{display:inline-block;*display:inline;*zoom:1}audio:not([controls]){display:none}[hidden]{display:none}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}a:hover,a:active{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}blockquote{margin:0}dfn{font-style:italic}ins{background:#ff9;color:#000;text-decoration:none}mark{background:#ff0;color:#000;font-style:italic;font-weight:bold}pre,code,.rst-content tt,.rst-content code,kbd,samp{font-family:monospace,serif;_font-family:"courier new",monospace;font-size:1em}pre{white-space:pre}q{quotes:none}q:before,q:after{content:"";content:none}small{font-size:85%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}ul,ol,dl{margin:0;padding:0;list-style:none;list-style-image:none}li{list-style:none}dd{margin:0}img{border:0;-ms-interpolation-mode:bicubic;vertical-align:middle;max-width:100%}svg:not(:root){overflow:hidden}figure{margin:0}form{margin:0}fieldset{border:0;margin:0;padding:0}label{cursor:pointer}legend{border:0;*margin-left:-7px;padding:0;white-space:normal}button,input,select,textarea{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle}button,input{line-height:normal}button,input[type="button"],input[type="reset"],input[type="submit"]{cursor:pointer;-webkit-appearance:button;*overflow:visible}button[disabled],input[disabled]{cursor:default}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0;*width:13px;*height:13px}input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type="search"]::-webkit-search-decoration,input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}textarea{overflow:auto;vertical-align:top;resize:vertical}table{border-collapse:collapse;border-spacing:0}td{vertical-align:top}.chromeframe{margin:.2em 0;background:#ccc;color:#000;padding:.2em 0}.ir{display:block;border:0;text-indent:-999em;overflow:hidden;background-color:transparent;background-repeat:no-repeat;text-align:left;direction:ltr;*line-height:0}.ir br{display:none}.hidden{display:none !important;visibility:hidden}.visuallyhidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.visuallyhidden.focusable:active,.visuallyhidden.focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}.invisible{visibility:hidden}.relative{position:relative}big,small{font-size:100%}@media print{html,body,section{background:none !important}*{box-shadow:none !important;text-shadow:none !important;filter:none !important;-ms-filter:none !important}a,a:visited{text-decoration:underline}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}@page{margin:.5cm}p,h2,.rst-content .toctree-wrapper p.caption,h3{orphans:3;widows:3}h2,.rst-content .toctree-wrapper p.caption,h3{page-break-after:avoid}}.fa:before,.wy-menu-vertical li span.toctree-expand:before,.wy-menu-vertical li.on a span.toctree-expand:before,.wy-menu-vertical li.current>a span.toctree-expand:before,.rst-content .admonition-title:before,.rst-content h1 .headerlink:before,.rst-content h2 .headerlink:before,.rst-content h3 .headerlink:before,.rst-content h4 .headerlink:before,.rst-content h5 .headerlink:before,.rst-content h6 .headerlink:before,.rst-content dl dt .headerlink:before,.rst-content p.caption .headerlink:before,.rst-content table>caption .headerlink:before,.rst-content tt.download span:first-child:before,.rst-content code.download span:first-child:before,.icon:before,.wy-dropdown .caret:before,.wy-inline-validate.wy-inline-validate-success .wy-input-context:before,.wy-inline-validate.wy-inline-validate-danger .wy-input-context:before,.wy-inline-validate.wy-inline-validate-warning .wy-input-context:before,.wy-inline-validate.wy-inline-validate-info .wy-input-context:before,.wy-alert,.rst-content .note,.rst-content .attention,.rst-content .caution,.rst-content .danger,.rst-content .error,.rst-content .hint,.rst-content .important,.rst-content .tip,.rst-content .warning,.rst-content .seealso,.rst-content .admonition-todo,.rst-content .admonition,.btn,input[type="text"],input[type="password"],input[type="email"],input[type="url"],input[type="date"],input[type="month"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="week"],input[type="number"],input[type="search"],input[type="tel"],input[type="color"],select,textarea,.wy-menu-vertical li.on a,.wy-menu-vertical li.current>a,.wy-side-nav-search>a,.wy-side-nav-search .wy-dropdown>a,.wy-nav-top a{-webkit-font-smoothing:antialiased}.clearfix{*zoom:1}.clearfix:before,.clearfix:after{display:table;content:""}.clearfix:after{clear:both}/*! + * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */@font-face{font-family:'FontAwesome';src:url("../fonts/fontawesome-webfont.eot?v=4.7.0");src:url("../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0") format("embedded-opentype"),url("../fonts/fontawesome-webfont.woff2?v=4.7.0") format("woff2"),url("../fonts/fontawesome-webfont.woff?v=4.7.0") format("woff"),url("../fonts/fontawesome-webfont.ttf?v=4.7.0") format("truetype"),url("../fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular") format("svg");font-weight:normal;font-style:normal}.fa,.wy-menu-vertical li span.toctree-expand,.wy-menu-vertical li.on a span.toctree-expand,.wy-menu-vertical li.current>a span.toctree-expand,.rst-content .admonition-title,.rst-content h1 .headerlink,.rst-content h2 .headerlink,.rst-content h3 .headerlink,.rst-content h4 .headerlink,.rst-content h5 .headerlink,.rst-content h6 .headerlink,.rst-content dl dt .headerlink,.rst-content p.caption .headerlink,.rst-content table>caption .headerlink,.rst-content tt.download span:first-child,.rst-content code.download span:first-child,.icon{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.3333333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.2857142857em;text-align:center}.fa-ul{padding-left:0;margin-left:2.1428571429em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.1428571429em;width:2.1428571429em;top:.1428571429em;text-align:center}.fa-li.fa-lg{left:-1.8571428571em}.fa-border{padding:.2em .25em .15em;border:solid 0.08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.wy-menu-vertical li span.fa-pull-left.toctree-expand,.wy-menu-vertical li.on a span.fa-pull-left.toctree-expand,.wy-menu-vertical li.current>a span.fa-pull-left.toctree-expand,.rst-content .fa-pull-left.admonition-title,.rst-content h1 .fa-pull-left.headerlink,.rst-content h2 .fa-pull-left.headerlink,.rst-content h3 .fa-pull-left.headerlink,.rst-content h4 .fa-pull-left.headerlink,.rst-content h5 .fa-pull-left.headerlink,.rst-content h6 .fa-pull-left.headerlink,.rst-content dl dt .fa-pull-left.headerlink,.rst-content p.caption .fa-pull-left.headerlink,.rst-content table>caption .fa-pull-left.headerlink,.rst-content tt.download span.fa-pull-left:first-child,.rst-content code.download span.fa-pull-left:first-child,.fa-pull-left.icon{margin-right:.3em}.fa.fa-pull-right,.wy-menu-vertical li span.fa-pull-right.toctree-expand,.wy-menu-vertical li.on a span.fa-pull-right.toctree-expand,.wy-menu-vertical li.current>a span.fa-pull-right.toctree-expand,.rst-content .fa-pull-right.admonition-title,.rst-content h1 .fa-pull-right.headerlink,.rst-content h2 .fa-pull-right.headerlink,.rst-content h3 .fa-pull-right.headerlink,.rst-content h4 .fa-pull-right.headerlink,.rst-content h5 .fa-pull-right.headerlink,.rst-content h6 .fa-pull-right.headerlink,.rst-content dl dt .fa-pull-right.headerlink,.rst-content p.caption .fa-pull-right.headerlink,.rst-content table>caption .fa-pull-right.headerlink,.rst-content tt.download span.fa-pull-right:first-child,.rst-content code.download span.fa-pull-right:first-child,.fa-pull-right.icon{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left,.wy-menu-vertical li span.pull-left.toctree-expand,.wy-menu-vertical li.on a span.pull-left.toctree-expand,.wy-menu-vertical li.current>a span.pull-left.toctree-expand,.rst-content .pull-left.admonition-title,.rst-content h1 .pull-left.headerlink,.rst-content h2 .pull-left.headerlink,.rst-content h3 .pull-left.headerlink,.rst-content h4 .pull-left.headerlink,.rst-content h5 .pull-left.headerlink,.rst-content h6 .pull-left.headerlink,.rst-content dl dt .pull-left.headerlink,.rst-content p.caption .pull-left.headerlink,.rst-content table>caption .pull-left.headerlink,.rst-content tt.download span.pull-left:first-child,.rst-content code.download span.pull-left:first-child,.pull-left.icon{margin-right:.3em}.fa.pull-right,.wy-menu-vertical li span.pull-right.toctree-expand,.wy-menu-vertical li.on a span.pull-right.toctree-expand,.wy-menu-vertical li.current>a span.pull-right.toctree-expand,.rst-content .pull-right.admonition-title,.rst-content h1 .pull-right.headerlink,.rst-content h2 .pull-right.headerlink,.rst-content h3 .pull-right.headerlink,.rst-content h4 .pull-right.headerlink,.rst-content h5 .pull-right.headerlink,.rst-content h6 .pull-right.headerlink,.rst-content dl dt .pull-right.headerlink,.rst-content p.caption .pull-right.headerlink,.rst-content table>caption .pull-right.headerlink,.rst-content tt.download span.pull-right:first-child,.rst-content code.download span.pull-right:first-child,.pull-right.icon{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:""}.fa-music:before{content:""}.fa-search:before,.icon-search:before{content:""}.fa-envelope-o:before{content:""}.fa-heart:before{content:""}.fa-star:before{content:""}.fa-star-o:before{content:""}.fa-user:before{content:""}.fa-film:before{content:""}.fa-th-large:before{content:""}.fa-th:before{content:""}.fa-th-list:before{content:""}.fa-check:before{content:""}.fa-remove:before,.fa-close:before,.fa-times:before{content:""}.fa-search-plus:before{content:""}.fa-search-minus:before{content:""}.fa-power-off:before{content:""}.fa-signal:before{content:""}.fa-gear:before,.fa-cog:before{content:""}.fa-trash-o:before{content:""}.fa-home:before,.icon-home:before{content:""}.fa-file-o:before{content:""}.fa-clock-o:before{content:""}.fa-road:before{content:""}.fa-download:before,.rst-content tt.download span:first-child:before,.rst-content code.download span:first-child:before{content:""}.fa-arrow-circle-o-down:before{content:""}.fa-arrow-circle-o-up:before{content:""}.fa-inbox:before{content:""}.fa-play-circle-o:before{content:""}.fa-rotate-right:before,.fa-repeat:before{content:""}.fa-refresh:before{content:""}.fa-list-alt:before{content:""}.fa-lock:before{content:""}.fa-flag:before{content:""}.fa-headphones:before{content:""}.fa-volume-off:before{content:""}.fa-volume-down:before{content:""}.fa-volume-up:before{content:""}.fa-qrcode:before{content:""}.fa-barcode:before{content:""}.fa-tag:before{content:""}.fa-tags:before{content:""}.fa-book:before,.icon-book:before{content:""}.fa-bookmark:before{content:""}.fa-print:before{content:""}.fa-camera:before{content:""}.fa-font:before{content:""}.fa-bold:before{content:""}.fa-italic:before{content:""}.fa-text-height:before{content:""}.fa-text-width:before{content:""}.fa-align-left:before{content:""}.fa-align-center:before{content:""}.fa-align-right:before{content:""}.fa-align-justify:before{content:""}.fa-list:before{content:""}.fa-dedent:before,.fa-outdent:before{content:""}.fa-indent:before{content:""}.fa-video-camera:before{content:""}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:""}.fa-pencil:before{content:""}.fa-map-marker:before{content:""}.fa-adjust:before{content:""}.fa-tint:before{content:""}.fa-edit:before,.fa-pencil-square-o:before{content:""}.fa-share-square-o:before{content:""}.fa-check-square-o:before{content:""}.fa-arrows:before{content:""}.fa-step-backward:before{content:""}.fa-fast-backward:before{content:""}.fa-backward:before{content:""}.fa-play:before{content:""}.fa-pause:before{content:""}.fa-stop:before{content:""}.fa-forward:before{content:""}.fa-fast-forward:before{content:""}.fa-step-forward:before{content:""}.fa-eject:before{content:""}.fa-chevron-left:before{content:""}.fa-chevron-right:before{content:""}.fa-plus-circle:before{content:""}.fa-minus-circle:before{content:""}.fa-times-circle:before,.wy-inline-validate.wy-inline-validate-danger .wy-input-context:before{content:""}.fa-check-circle:before,.wy-inline-validate.wy-inline-validate-success .wy-input-context:before{content:""}.fa-question-circle:before{content:""}.fa-info-circle:before{content:""}.fa-crosshairs:before{content:""}.fa-times-circle-o:before{content:""}.fa-check-circle-o:before{content:""}.fa-ban:before{content:""}.fa-arrow-left:before{content:""}.fa-arrow-right:before{content:""}.fa-arrow-up:before{content:""}.fa-arrow-down:before{content:""}.fa-mail-forward:before,.fa-share:before{content:""}.fa-expand:before{content:""}.fa-compress:before{content:""}.fa-plus:before{content:""}.fa-minus:before{content:""}.fa-asterisk:before{content:""}.fa-exclamation-circle:before,.wy-inline-validate.wy-inline-validate-warning .wy-input-context:before,.wy-inline-validate.wy-inline-validate-info .wy-input-context:before,.rst-content .admonition-title:before{content:""}.fa-gift:before{content:""}.fa-leaf:before{content:""}.fa-fire:before,.icon-fire:before{content:""}.fa-eye:before{content:""}.fa-eye-slash:before{content:""}.fa-warning:before,.fa-exclamation-triangle:before{content:""}.fa-plane:before{content:""}.fa-calendar:before{content:""}.fa-random:before{content:""}.fa-comment:before{content:""}.fa-magnet:before{content:""}.fa-chevron-up:before{content:""}.fa-chevron-down:before{content:""}.fa-retweet:before{content:""}.fa-shopping-cart:before{content:""}.fa-folder:before{content:""}.fa-folder-open:before{content:""}.fa-arrows-v:before{content:""}.fa-arrows-h:before{content:""}.fa-bar-chart-o:before,.fa-bar-chart:before{content:""}.fa-twitter-square:before{content:""}.fa-facebook-square:before{content:""}.fa-camera-retro:before{content:""}.fa-key:before{content:""}.fa-gears:before,.fa-cogs:before{content:""}.fa-comments:before{content:""}.fa-thumbs-o-up:before{content:""}.fa-thumbs-o-down:before{content:""}.fa-star-half:before{content:""}.fa-heart-o:before{content:""}.fa-sign-out:before{content:""}.fa-linkedin-square:before{content:""}.fa-thumb-tack:before{content:""}.fa-external-link:before{content:""}.fa-sign-in:before{content:""}.fa-trophy:before{content:""}.fa-github-square:before{content:""}.fa-upload:before{content:""}.fa-lemon-o:before{content:""}.fa-phone:before{content:""}.fa-square-o:before{content:""}.fa-bookmark-o:before{content:""}.fa-phone-square:before{content:""}.fa-twitter:before{content:""}.fa-facebook-f:before,.fa-facebook:before{content:""}.fa-github:before,.icon-github:before{content:""}.fa-unlock:before{content:""}.fa-credit-card:before{content:""}.fa-feed:before,.fa-rss:before{content:""}.fa-hdd-o:before{content:""}.fa-bullhorn:before{content:""}.fa-bell:before{content:""}.fa-certificate:before{content:""}.fa-hand-o-right:before{content:""}.fa-hand-o-left:before{content:""}.fa-hand-o-up:before{content:""}.fa-hand-o-down:before{content:""}.fa-arrow-circle-left:before,.icon-circle-arrow-left:before{content:""}.fa-arrow-circle-right:before,.icon-circle-arrow-right:before{content:""}.fa-arrow-circle-up:before{content:""}.fa-arrow-circle-down:before{content:""}.fa-globe:before{content:""}.fa-wrench:before{content:""}.fa-tasks:before{content:""}.fa-filter:before{content:""}.fa-briefcase:before{content:""}.fa-arrows-alt:before{content:""}.fa-group:before,.fa-users:before{content:""}.fa-chain:before,.fa-link:before,.icon-link:before{content:""}.fa-cloud:before{content:""}.fa-flask:before{content:""}.fa-cut:before,.fa-scissors:before{content:""}.fa-copy:before,.fa-files-o:before{content:""}.fa-paperclip:before{content:""}.fa-save:before,.fa-floppy-o:before{content:""}.fa-square:before{content:""}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:""}.fa-list-ul:before{content:""}.fa-list-ol:before{content:""}.fa-strikethrough:before{content:""}.fa-underline:before{content:""}.fa-table:before{content:""}.fa-magic:before{content:""}.fa-truck:before{content:""}.fa-pinterest:before{content:""}.fa-pinterest-square:before{content:""}.fa-google-plus-square:before{content:""}.fa-google-plus:before{content:""}.fa-money:before{content:""}.fa-caret-down:before,.wy-dropdown .caret:before,.icon-caret-down:before{content:""}.fa-caret-up:before{content:""}.fa-caret-left:before{content:""}.fa-caret-right:before{content:""}.fa-columns:before{content:""}.fa-unsorted:before,.fa-sort:before{content:""}.fa-sort-down:before,.fa-sort-desc:before{content:""}.fa-sort-up:before,.fa-sort-asc:before{content:""}.fa-envelope:before{content:""}.fa-linkedin:before{content:""}.fa-rotate-left:before,.fa-undo:before{content:""}.fa-legal:before,.fa-gavel:before{content:""}.fa-dashboard:before,.fa-tachometer:before{content:""}.fa-comment-o:before{content:""}.fa-comments-o:before{content:""}.fa-flash:before,.fa-bolt:before{content:""}.fa-sitemap:before{content:""}.fa-umbrella:before{content:""}.fa-paste:before,.fa-clipboard:before{content:""}.fa-lightbulb-o:before{content:""}.fa-exchange:before{content:""}.fa-cloud-download:before{content:""}.fa-cloud-upload:before{content:""}.fa-user-md:before{content:""}.fa-stethoscope:before{content:""}.fa-suitcase:before{content:""}.fa-bell-o:before{content:""}.fa-coffee:before{content:""}.fa-cutlery:before{content:""}.fa-file-text-o:before{content:""}.fa-building-o:before{content:""}.fa-hospital-o:before{content:""}.fa-ambulance:before{content:""}.fa-medkit:before{content:""}.fa-fighter-jet:before{content:""}.fa-beer:before{content:""}.fa-h-square:before{content:""}.fa-plus-square:before{content:""}.fa-angle-double-left:before{content:""}.fa-angle-double-right:before{content:""}.fa-angle-double-up:before{content:""}.fa-angle-double-down:before{content:""}.fa-angle-left:before{content:""}.fa-angle-right:before{content:""}.fa-angle-up:before{content:""}.fa-angle-down:before{content:""}.fa-desktop:before{content:""}.fa-laptop:before{content:""}.fa-tablet:before{content:""}.fa-mobile-phone:before,.fa-mobile:before{content:""}.fa-circle-o:before{content:""}.fa-quote-left:before{content:""}.fa-quote-right:before{content:""}.fa-spinner:before{content:""}.fa-circle:before{content:""}.fa-mail-reply:before,.fa-reply:before{content:""}.fa-github-alt:before{content:""}.fa-folder-o:before{content:""}.fa-folder-open-o:before{content:""}.fa-smile-o:before{content:""}.fa-frown-o:before{content:""}.fa-meh-o:before{content:""}.fa-gamepad:before{content:""}.fa-keyboard-o:before{content:""}.fa-flag-o:before{content:""}.fa-flag-checkered:before{content:""}.fa-terminal:before{content:""}.fa-code:before{content:""}.fa-mail-reply-all:before,.fa-reply-all:before{content:""}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:""}.fa-location-arrow:before{content:""}.fa-crop:before{content:""}.fa-code-fork:before{content:""}.fa-unlink:before,.fa-chain-broken:before{content:""}.fa-question:before{content:""}.fa-info:before{content:""}.fa-exclamation:before{content:""}.fa-superscript:before{content:""}.fa-subscript:before{content:""}.fa-eraser:before{content:""}.fa-puzzle-piece:before{content:""}.fa-microphone:before{content:""}.fa-microphone-slash:before{content:""}.fa-shield:before{content:""}.fa-calendar-o:before{content:""}.fa-fire-extinguisher:before{content:""}.fa-rocket:before{content:""}.fa-maxcdn:before{content:""}.fa-chevron-circle-left:before{content:""}.fa-chevron-circle-right:before{content:""}.fa-chevron-circle-up:before{content:""}.fa-chevron-circle-down:before{content:""}.fa-html5:before{content:""}.fa-css3:before{content:""}.fa-anchor:before{content:""}.fa-unlock-alt:before{content:""}.fa-bullseye:before{content:""}.fa-ellipsis-h:before{content:""}.fa-ellipsis-v:before{content:""}.fa-rss-square:before{content:""}.fa-play-circle:before{content:""}.fa-ticket:before{content:""}.fa-minus-square:before{content:""}.fa-minus-square-o:before,.wy-menu-vertical li.on a span.toctree-expand:before,.wy-menu-vertical li.current>a span.toctree-expand:before{content:""}.fa-level-up:before{content:""}.fa-level-down:before{content:""}.fa-check-square:before{content:""}.fa-pencil-square:before{content:""}.fa-external-link-square:before{content:""}.fa-share-square:before{content:""}.fa-compass:before{content:""}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:""}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:""}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:""}.fa-euro:before,.fa-eur:before{content:""}.fa-gbp:before{content:""}.fa-dollar:before,.fa-usd:before{content:""}.fa-rupee:before,.fa-inr:before{content:""}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:""}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:""}.fa-won:before,.fa-krw:before{content:""}.fa-bitcoin:before,.fa-btc:before{content:""}.fa-file:before{content:""}.fa-file-text:before{content:""}.fa-sort-alpha-asc:before{content:""}.fa-sort-alpha-desc:before{content:""}.fa-sort-amount-asc:before{content:""}.fa-sort-amount-desc:before{content:""}.fa-sort-numeric-asc:before{content:""}.fa-sort-numeric-desc:before{content:""}.fa-thumbs-up:before{content:""}.fa-thumbs-down:before{content:""}.fa-youtube-square:before{content:""}.fa-youtube:before{content:""}.fa-xing:before{content:""}.fa-xing-square:before{content:""}.fa-youtube-play:before{content:""}.fa-dropbox:before{content:""}.fa-stack-overflow:before{content:""}.fa-instagram:before{content:""}.fa-flickr:before{content:""}.fa-adn:before{content:""}.fa-bitbucket:before,.icon-bitbucket:before{content:""}.fa-bitbucket-square:before{content:""}.fa-tumblr:before{content:""}.fa-tumblr-square:before{content:""}.fa-long-arrow-down:before{content:""}.fa-long-arrow-up:before{content:""}.fa-long-arrow-left:before{content:""}.fa-long-arrow-right:before{content:""}.fa-apple:before{content:""}.fa-windows:before{content:""}.fa-android:before{content:""}.fa-linux:before{content:""}.fa-dribbble:before{content:""}.fa-skype:before{content:""}.fa-foursquare:before{content:""}.fa-trello:before{content:""}.fa-female:before{content:""}.fa-male:before{content:""}.fa-gittip:before,.fa-gratipay:before{content:""}.fa-sun-o:before{content:""}.fa-moon-o:before{content:""}.fa-archive:before{content:""}.fa-bug:before{content:""}.fa-vk:before{content:""}.fa-weibo:before{content:""}.fa-renren:before{content:""}.fa-pagelines:before{content:""}.fa-stack-exchange:before{content:""}.fa-arrow-circle-o-right:before{content:""}.fa-arrow-circle-o-left:before{content:""}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:""}.fa-dot-circle-o:before{content:""}.fa-wheelchair:before{content:""}.fa-vimeo-square:before{content:""}.fa-turkish-lira:before,.fa-try:before{content:""}.fa-plus-square-o:before,.wy-menu-vertical li span.toctree-expand:before{content:""}.fa-space-shuttle:before{content:""}.fa-slack:before{content:""}.fa-envelope-square:before{content:""}.fa-wordpress:before{content:""}.fa-openid:before{content:""}.fa-institution:before,.fa-bank:before,.fa-university:before{content:""}.fa-mortar-board:before,.fa-graduation-cap:before{content:""}.fa-yahoo:before{content:""}.fa-google:before{content:""}.fa-reddit:before{content:""}.fa-reddit-square:before{content:""}.fa-stumbleupon-circle:before{content:""}.fa-stumbleupon:before{content:""}.fa-delicious:before{content:""}.fa-digg:before{content:""}.fa-pied-piper-pp:before{content:""}.fa-pied-piper-alt:before{content:""}.fa-drupal:before{content:""}.fa-joomla:before{content:""}.fa-language:before{content:""}.fa-fax:before{content:""}.fa-building:before{content:""}.fa-child:before{content:""}.fa-paw:before{content:""}.fa-spoon:before{content:""}.fa-cube:before{content:""}.fa-cubes:before{content:""}.fa-behance:before{content:""}.fa-behance-square:before{content:""}.fa-steam:before{content:""}.fa-steam-square:before{content:""}.fa-recycle:before{content:""}.fa-automobile:before,.fa-car:before{content:""}.fa-cab:before,.fa-taxi:before{content:""}.fa-tree:before{content:""}.fa-spotify:before{content:""}.fa-deviantart:before{content:""}.fa-soundcloud:before{content:""}.fa-database:before{content:""}.fa-file-pdf-o:before{content:""}.fa-file-word-o:before{content:""}.fa-file-excel-o:before{content:""}.fa-file-powerpoint-o:before{content:""}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:""}.fa-file-zip-o:before,.fa-file-archive-o:before{content:""}.fa-file-sound-o:before,.fa-file-audio-o:before{content:""}.fa-file-movie-o:before,.fa-file-video-o:before{content:""}.fa-file-code-o:before{content:""}.fa-vine:before{content:""}.fa-codepen:before{content:""}.fa-jsfiddle:before{content:""}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:""}.fa-circle-o-notch:before{content:""}.fa-ra:before,.fa-resistance:before,.fa-rebel:before{content:""}.fa-ge:before,.fa-empire:before{content:""}.fa-git-square:before{content:""}.fa-git:before{content:""}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:""}.fa-tencent-weibo:before{content:""}.fa-qq:before{content:""}.fa-wechat:before,.fa-weixin:before{content:""}.fa-send:before,.fa-paper-plane:before{content:""}.fa-send-o:before,.fa-paper-plane-o:before{content:""}.fa-history:before{content:""}.fa-circle-thin:before{content:""}.fa-header:before{content:""}.fa-paragraph:before{content:""}.fa-sliders:before{content:""}.fa-share-alt:before{content:""}.fa-share-alt-square:before{content:""}.fa-bomb:before{content:""}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:""}.fa-tty:before{content:""}.fa-binoculars:before{content:""}.fa-plug:before{content:""}.fa-slideshare:before{content:""}.fa-twitch:before{content:""}.fa-yelp:before{content:""}.fa-newspaper-o:before{content:""}.fa-wifi:before{content:""}.fa-calculator:before{content:""}.fa-paypal:before{content:""}.fa-google-wallet:before{content:""}.fa-cc-visa:before{content:""}.fa-cc-mastercard:before{content:""}.fa-cc-discover:before{content:""}.fa-cc-amex:before{content:""}.fa-cc-paypal:before{content:""}.fa-cc-stripe:before{content:""}.fa-bell-slash:before{content:""}.fa-bell-slash-o:before{content:""}.fa-trash:before{content:""}.fa-copyright:before{content:""}.fa-at:before{content:""}.fa-eyedropper:before{content:""}.fa-paint-brush:before{content:""}.fa-birthday-cake:before{content:""}.fa-area-chart:before{content:""}.fa-pie-chart:before{content:""}.fa-line-chart:before{content:""}.fa-lastfm:before{content:""}.fa-lastfm-square:before{content:""}.fa-toggle-off:before{content:""}.fa-toggle-on:before{content:""}.fa-bicycle:before{content:""}.fa-bus:before{content:""}.fa-ioxhost:before{content:""}.fa-angellist:before{content:""}.fa-cc:before{content:""}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:""}.fa-meanpath:before{content:""}.fa-buysellads:before{content:""}.fa-connectdevelop:before{content:""}.fa-dashcube:before{content:""}.fa-forumbee:before{content:""}.fa-leanpub:before{content:""}.fa-sellsy:before{content:""}.fa-shirtsinbulk:before{content:""}.fa-simplybuilt:before{content:""}.fa-skyatlas:before{content:""}.fa-cart-plus:before{content:""}.fa-cart-arrow-down:before{content:""}.fa-diamond:before{content:""}.fa-ship:before{content:""}.fa-user-secret:before{content:""}.fa-motorcycle:before{content:""}.fa-street-view:before{content:""}.fa-heartbeat:before{content:""}.fa-venus:before{content:""}.fa-mars:before{content:""}.fa-mercury:before{content:""}.fa-intersex:before,.fa-transgender:before{content:""}.fa-transgender-alt:before{content:""}.fa-venus-double:before{content:""}.fa-mars-double:before{content:""}.fa-venus-mars:before{content:""}.fa-mars-stroke:before{content:""}.fa-mars-stroke-v:before{content:""}.fa-mars-stroke-h:before{content:""}.fa-neuter:before{content:""}.fa-genderless:before{content:""}.fa-facebook-official:before{content:""}.fa-pinterest-p:before{content:""}.fa-whatsapp:before{content:""}.fa-server:before{content:""}.fa-user-plus:before{content:""}.fa-user-times:before{content:""}.fa-hotel:before,.fa-bed:before{content:""}.fa-viacoin:before{content:""}.fa-train:before{content:""}.fa-subway:before{content:""}.fa-medium:before{content:""}.fa-yc:before,.fa-y-combinator:before{content:""}.fa-optin-monster:before{content:""}.fa-opencart:before{content:""}.fa-expeditedssl:before{content:""}.fa-battery-4:before,.fa-battery:before,.fa-battery-full:before{content:""}.fa-battery-3:before,.fa-battery-three-quarters:before{content:""}.fa-battery-2:before,.fa-battery-half:before{content:""}.fa-battery-1:before,.fa-battery-quarter:before{content:""}.fa-battery-0:before,.fa-battery-empty:before{content:""}.fa-mouse-pointer:before{content:""}.fa-i-cursor:before{content:""}.fa-object-group:before{content:""}.fa-object-ungroup:before{content:""}.fa-sticky-note:before{content:""}.fa-sticky-note-o:before{content:""}.fa-cc-jcb:before{content:""}.fa-cc-diners-club:before{content:""}.fa-clone:before{content:""}.fa-balance-scale:before{content:""}.fa-hourglass-o:before{content:""}.fa-hourglass-1:before,.fa-hourglass-start:before{content:""}.fa-hourglass-2:before,.fa-hourglass-half:before{content:""}.fa-hourglass-3:before,.fa-hourglass-end:before{content:""}.fa-hourglass:before{content:""}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:""}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:""}.fa-hand-scissors-o:before{content:""}.fa-hand-lizard-o:before{content:""}.fa-hand-spock-o:before{content:""}.fa-hand-pointer-o:before{content:""}.fa-hand-peace-o:before{content:""}.fa-trademark:before{content:""}.fa-registered:before{content:""}.fa-creative-commons:before{content:""}.fa-gg:before{content:""}.fa-gg-circle:before{content:""}.fa-tripadvisor:before{content:""}.fa-odnoklassniki:before{content:""}.fa-odnoklassniki-square:before{content:""}.fa-get-pocket:before{content:""}.fa-wikipedia-w:before{content:""}.fa-safari:before{content:""}.fa-chrome:before{content:""}.fa-firefox:before{content:""}.fa-opera:before{content:""}.fa-internet-explorer:before{content:""}.fa-tv:before,.fa-television:before{content:""}.fa-contao:before{content:""}.fa-500px:before{content:""}.fa-amazon:before{content:""}.fa-calendar-plus-o:before{content:""}.fa-calendar-minus-o:before{content:""}.fa-calendar-times-o:before{content:""}.fa-calendar-check-o:before{content:""}.fa-industry:before{content:""}.fa-map-pin:before{content:""}.fa-map-signs:before{content:""}.fa-map-o:before{content:""}.fa-map:before{content:""}.fa-commenting:before{content:""}.fa-commenting-o:before{content:""}.fa-houzz:before{content:""}.fa-vimeo:before{content:""}.fa-black-tie:before{content:""}.fa-fonticons:before{content:""}.fa-reddit-alien:before{content:""}.fa-edge:before{content:""}.fa-credit-card-alt:before{content:""}.fa-codiepie:before{content:""}.fa-modx:before{content:""}.fa-fort-awesome:before{content:""}.fa-usb:before{content:""}.fa-product-hunt:before{content:""}.fa-mixcloud:before{content:""}.fa-scribd:before{content:""}.fa-pause-circle:before{content:""}.fa-pause-circle-o:before{content:""}.fa-stop-circle:before{content:""}.fa-stop-circle-o:before{content:""}.fa-shopping-bag:before{content:""}.fa-shopping-basket:before{content:""}.fa-hashtag:before{content:""}.fa-bluetooth:before{content:""}.fa-bluetooth-b:before{content:""}.fa-percent:before{content:""}.fa-gitlab:before,.icon-gitlab:before{content:""}.fa-wpbeginner:before{content:""}.fa-wpforms:before{content:""}.fa-envira:before{content:""}.fa-universal-access:before{content:""}.fa-wheelchair-alt:before{content:""}.fa-question-circle-o:before{content:""}.fa-blind:before{content:""}.fa-audio-description:before{content:""}.fa-volume-control-phone:before{content:""}.fa-braille:before{content:""}.fa-assistive-listening-systems:before{content:""}.fa-asl-interpreting:before,.fa-american-sign-language-interpreting:before{content:""}.fa-deafness:before,.fa-hard-of-hearing:before,.fa-deaf:before{content:""}.fa-glide:before{content:""}.fa-glide-g:before{content:""}.fa-signing:before,.fa-sign-language:before{content:""}.fa-low-vision:before{content:""}.fa-viadeo:before{content:""}.fa-viadeo-square:before{content:""}.fa-snapchat:before{content:""}.fa-snapchat-ghost:before{content:""}.fa-snapchat-square:before{content:""}.fa-pied-piper:before{content:""}.fa-first-order:before{content:""}.fa-yoast:before{content:""}.fa-themeisle:before{content:""}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:""}.fa-fa:before,.fa-font-awesome:before{content:""}.fa-handshake-o:before{content:""}.fa-envelope-open:before{content:""}.fa-envelope-open-o:before{content:""}.fa-linode:before{content:""}.fa-address-book:before{content:""}.fa-address-book-o:before{content:""}.fa-vcard:before,.fa-address-card:before{content:""}.fa-vcard-o:before,.fa-address-card-o:before{content:""}.fa-user-circle:before{content:""}.fa-user-circle-o:before{content:""}.fa-user-o:before{content:""}.fa-id-badge:before{content:""}.fa-drivers-license:before,.fa-id-card:before{content:""}.fa-drivers-license-o:before,.fa-id-card-o:before{content:""}.fa-quora:before{content:""}.fa-free-code-camp:before{content:""}.fa-telegram:before{content:""}.fa-thermometer-4:before,.fa-thermometer:before,.fa-thermometer-full:before{content:""}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:""}.fa-thermometer-2:before,.fa-thermometer-half:before{content:""}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:""}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:""}.fa-shower:before{content:""}.fa-bathtub:before,.fa-s15:before,.fa-bath:before{content:""}.fa-podcast:before{content:""}.fa-window-maximize:before{content:""}.fa-window-minimize:before{content:""}.fa-window-restore:before{content:""}.fa-times-rectangle:before,.fa-window-close:before{content:""}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:""}.fa-bandcamp:before{content:""}.fa-grav:before{content:""}.fa-etsy:before{content:""}.fa-imdb:before{content:""}.fa-ravelry:before{content:""}.fa-eercast:before{content:""}.fa-microchip:before{content:""}.fa-snowflake-o:before{content:""}.fa-superpowers:before{content:""}.fa-wpexplorer:before{content:""}.fa-meetup:before{content:""}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.fa,.wy-menu-vertical li span.toctree-expand,.wy-menu-vertical li.on a span.toctree-expand,.wy-menu-vertical li.current>a span.toctree-expand,.rst-content .admonition-title,.rst-content h1 .headerlink,.rst-content h2 .headerlink,.rst-content h3 .headerlink,.rst-content h4 .headerlink,.rst-content h5 .headerlink,.rst-content h6 .headerlink,.rst-content dl dt .headerlink,.rst-content p.caption .headerlink,.rst-content table>caption .headerlink,.rst-content tt.download span:first-child,.rst-content code.download span:first-child,.icon,.wy-dropdown .caret,.wy-inline-validate.wy-inline-validate-success .wy-input-context,.wy-inline-validate.wy-inline-validate-danger .wy-input-context,.wy-inline-validate.wy-inline-validate-warning .wy-input-context,.wy-inline-validate.wy-inline-validate-info .wy-input-context{font-family:inherit}.fa:before,.wy-menu-vertical li span.toctree-expand:before,.wy-menu-vertical li.on a span.toctree-expand:before,.wy-menu-vertical li.current>a span.toctree-expand:before,.rst-content .admonition-title:before,.rst-content h1 .headerlink:before,.rst-content h2 .headerlink:before,.rst-content h3 .headerlink:before,.rst-content h4 .headerlink:before,.rst-content h5 .headerlink:before,.rst-content h6 .headerlink:before,.rst-content dl dt .headerlink:before,.rst-content p.caption .headerlink:before,.rst-content table>caption .headerlink:before,.rst-content tt.download span:first-child:before,.rst-content code.download span:first-child:before,.icon:before,.wy-dropdown .caret:before,.wy-inline-validate.wy-inline-validate-success .wy-input-context:before,.wy-inline-validate.wy-inline-validate-danger .wy-input-context:before,.wy-inline-validate.wy-inline-validate-warning .wy-input-context:before,.wy-inline-validate.wy-inline-validate-info .wy-input-context:before{font-family:"FontAwesome";display:inline-block;font-style:normal;font-weight:normal;line-height:1;text-decoration:inherit}a .fa,a .wy-menu-vertical li span.toctree-expand,.wy-menu-vertical li a span.toctree-expand,.wy-menu-vertical li.on a span.toctree-expand,.wy-menu-vertical li.current>a span.toctree-expand,a .rst-content .admonition-title,.rst-content a .admonition-title,a .rst-content h1 .headerlink,.rst-content h1 a .headerlink,a .rst-content h2 .headerlink,.rst-content h2 a .headerlink,a .rst-content h3 .headerlink,.rst-content h3 a .headerlink,a .rst-content h4 .headerlink,.rst-content h4 a .headerlink,a .rst-content h5 .headerlink,.rst-content h5 a .headerlink,a .rst-content h6 .headerlink,.rst-content h6 a .headerlink,a .rst-content dl dt .headerlink,.rst-content dl dt a .headerlink,a .rst-content p.caption .headerlink,.rst-content p.caption a .headerlink,a .rst-content table>caption .headerlink,.rst-content table>caption a .headerlink,a .rst-content tt.download span:first-child,.rst-content tt.download a span:first-child,a .rst-content code.download span:first-child,.rst-content code.download a span:first-child,a .icon{display:inline-block;text-decoration:inherit}.btn .fa,.btn .wy-menu-vertical li span.toctree-expand,.wy-menu-vertical li .btn span.toctree-expand,.btn .wy-menu-vertical li.on a span.toctree-expand,.wy-menu-vertical li.on a .btn span.toctree-expand,.btn .wy-menu-vertical li.current>a span.toctree-expand,.wy-menu-vertical li.current>a .btn span.toctree-expand,.btn .rst-content .admonition-title,.rst-content .btn .admonition-title,.btn .rst-content h1 .headerlink,.rst-content h1 .btn .headerlink,.btn .rst-content h2 .headerlink,.rst-content h2 .btn .headerlink,.btn .rst-content h3 .headerlink,.rst-content h3 .btn .headerlink,.btn .rst-content h4 .headerlink,.rst-content h4 .btn .headerlink,.btn .rst-content h5 .headerlink,.rst-content h5 .btn .headerlink,.btn .rst-content h6 .headerlink,.rst-content h6 .btn .headerlink,.btn .rst-content dl dt .headerlink,.rst-content dl dt .btn .headerlink,.btn .rst-content p.caption .headerlink,.rst-content p.caption .btn .headerlink,.btn .rst-content table>caption .headerlink,.rst-content table>caption .btn .headerlink,.btn .rst-content tt.download span:first-child,.rst-content tt.download .btn span:first-child,.btn .rst-content code.download span:first-child,.rst-content code.download .btn span:first-child,.btn .icon,.nav .fa,.nav .wy-menu-vertical li span.toctree-expand,.wy-menu-vertical li .nav span.toctree-expand,.nav .wy-menu-vertical li.on a span.toctree-expand,.wy-menu-vertical li.on a .nav span.toctree-expand,.nav .wy-menu-vertical li.current>a span.toctree-expand,.wy-menu-vertical li.current>a .nav span.toctree-expand,.nav .rst-content .admonition-title,.rst-content .nav .admonition-title,.nav .rst-content h1 .headerlink,.rst-content h1 .nav .headerlink,.nav .rst-content h2 .headerlink,.rst-content h2 .nav .headerlink,.nav .rst-content h3 .headerlink,.rst-content h3 .nav .headerlink,.nav .rst-content h4 .headerlink,.rst-content h4 .nav .headerlink,.nav .rst-content h5 .headerlink,.rst-content h5 .nav .headerlink,.nav .rst-content h6 .headerlink,.rst-content h6 .nav .headerlink,.nav .rst-content dl dt .headerlink,.rst-content dl dt .nav .headerlink,.nav .rst-content p.caption .headerlink,.rst-content p.caption .nav .headerlink,.nav .rst-content table>caption .headerlink,.rst-content table>caption .nav .headerlink,.nav .rst-content tt.download span:first-child,.rst-content tt.download .nav span:first-child,.nav .rst-content code.download span:first-child,.rst-content code.download .nav span:first-child,.nav .icon{display:inline}.btn .fa.fa-large,.btn .wy-menu-vertical li span.fa-large.toctree-expand,.wy-menu-vertical li .btn span.fa-large.toctree-expand,.btn .rst-content .fa-large.admonition-title,.rst-content .btn .fa-large.admonition-title,.btn .rst-content h1 .fa-large.headerlink,.rst-content h1 .btn .fa-large.headerlink,.btn .rst-content h2 .fa-large.headerlink,.rst-content h2 .btn .fa-large.headerlink,.btn .rst-content h3 .fa-large.headerlink,.rst-content h3 .btn .fa-large.headerlink,.btn .rst-content h4 .fa-large.headerlink,.rst-content h4 .btn .fa-large.headerlink,.btn .rst-content h5 .fa-large.headerlink,.rst-content h5 .btn .fa-large.headerlink,.btn .rst-content h6 .fa-large.headerlink,.rst-content h6 .btn .fa-large.headerlink,.btn .rst-content dl dt .fa-large.headerlink,.rst-content dl dt .btn .fa-large.headerlink,.btn .rst-content p.caption .fa-large.headerlink,.rst-content p.caption .btn .fa-large.headerlink,.btn .rst-content table>caption .fa-large.headerlink,.rst-content table>caption .btn .fa-large.headerlink,.btn .rst-content tt.download span.fa-large:first-child,.rst-content tt.download .btn span.fa-large:first-child,.btn .rst-content code.download span.fa-large:first-child,.rst-content code.download .btn span.fa-large:first-child,.btn .fa-large.icon,.nav .fa.fa-large,.nav .wy-menu-vertical li span.fa-large.toctree-expand,.wy-menu-vertical li .nav span.fa-large.toctree-expand,.nav .rst-content .fa-large.admonition-title,.rst-content .nav .fa-large.admonition-title,.nav .rst-content h1 .fa-large.headerlink,.rst-content h1 .nav .fa-large.headerlink,.nav .rst-content h2 .fa-large.headerlink,.rst-content h2 .nav .fa-large.headerlink,.nav .rst-content h3 .fa-large.headerlink,.rst-content h3 .nav .fa-large.headerlink,.nav .rst-content h4 .fa-large.headerlink,.rst-content h4 .nav .fa-large.headerlink,.nav .rst-content h5 .fa-large.headerlink,.rst-content h5 .nav .fa-large.headerlink,.nav .rst-content h6 .fa-large.headerlink,.rst-content h6 .nav .fa-large.headerlink,.nav .rst-content dl dt .fa-large.headerlink,.rst-content dl dt .nav .fa-large.headerlink,.nav .rst-content p.caption .fa-large.headerlink,.rst-content p.caption .nav .fa-large.headerlink,.nav .rst-content table>caption .fa-large.headerlink,.rst-content table>caption .nav .fa-large.headerlink,.nav .rst-content tt.download span.fa-large:first-child,.rst-content tt.download .nav span.fa-large:first-child,.nav .rst-content code.download span.fa-large:first-child,.rst-content code.download .nav span.fa-large:first-child,.nav .fa-large.icon{line-height:.9em}.btn .fa.fa-spin,.btn .wy-menu-vertical li span.fa-spin.toctree-expand,.wy-menu-vertical li .btn span.fa-spin.toctree-expand,.btn .rst-content .fa-spin.admonition-title,.rst-content .btn .fa-spin.admonition-title,.btn .rst-content h1 .fa-spin.headerlink,.rst-content h1 .btn .fa-spin.headerlink,.btn .rst-content h2 .fa-spin.headerlink,.rst-content h2 .btn .fa-spin.headerlink,.btn .rst-content h3 .fa-spin.headerlink,.rst-content h3 .btn .fa-spin.headerlink,.btn .rst-content h4 .fa-spin.headerlink,.rst-content h4 .btn .fa-spin.headerlink,.btn .rst-content h5 .fa-spin.headerlink,.rst-content h5 .btn .fa-spin.headerlink,.btn .rst-content h6 .fa-spin.headerlink,.rst-content h6 .btn .fa-spin.headerlink,.btn .rst-content dl dt .fa-spin.headerlink,.rst-content dl dt .btn .fa-spin.headerlink,.btn .rst-content p.caption .fa-spin.headerlink,.rst-content p.caption .btn .fa-spin.headerlink,.btn .rst-content table>caption .fa-spin.headerlink,.rst-content table>caption .btn .fa-spin.headerlink,.btn .rst-content tt.download span.fa-spin:first-child,.rst-content tt.download .btn span.fa-spin:first-child,.btn .rst-content code.download span.fa-spin:first-child,.rst-content code.download .btn span.fa-spin:first-child,.btn .fa-spin.icon,.nav .fa.fa-spin,.nav .wy-menu-vertical li span.fa-spin.toctree-expand,.wy-menu-vertical li .nav span.fa-spin.toctree-expand,.nav .rst-content .fa-spin.admonition-title,.rst-content .nav .fa-spin.admonition-title,.nav .rst-content h1 .fa-spin.headerlink,.rst-content h1 .nav .fa-spin.headerlink,.nav .rst-content h2 .fa-spin.headerlink,.rst-content h2 .nav .fa-spin.headerlink,.nav .rst-content h3 .fa-spin.headerlink,.rst-content h3 .nav .fa-spin.headerlink,.nav .rst-content h4 .fa-spin.headerlink,.rst-content h4 .nav .fa-spin.headerlink,.nav .rst-content h5 .fa-spin.headerlink,.rst-content h5 .nav .fa-spin.headerlink,.nav .rst-content h6 .fa-spin.headerlink,.rst-content h6 .nav .fa-spin.headerlink,.nav .rst-content dl dt .fa-spin.headerlink,.rst-content dl dt .nav .fa-spin.headerlink,.nav .rst-content p.caption .fa-spin.headerlink,.rst-content p.caption .nav .fa-spin.headerlink,.nav .rst-content table>caption .fa-spin.headerlink,.rst-content table>caption .nav .fa-spin.headerlink,.nav .rst-content tt.download span.fa-spin:first-child,.rst-content tt.download .nav span.fa-spin:first-child,.nav .rst-content code.download span.fa-spin:first-child,.rst-content code.download .nav span.fa-spin:first-child,.nav .fa-spin.icon{display:inline-block}.btn.fa:before,.wy-menu-vertical li span.btn.toctree-expand:before,.rst-content .btn.admonition-title:before,.rst-content h1 .btn.headerlink:before,.rst-content h2 .btn.headerlink:before,.rst-content h3 .btn.headerlink:before,.rst-content h4 .btn.headerlink:before,.rst-content h5 .btn.headerlink:before,.rst-content h6 .btn.headerlink:before,.rst-content dl dt .btn.headerlink:before,.rst-content p.caption .btn.headerlink:before,.rst-content table>caption .btn.headerlink:before,.rst-content tt.download span.btn:first-child:before,.rst-content code.download span.btn:first-child:before,.btn.icon:before{opacity:.5;-webkit-transition:opacity .05s ease-in;-moz-transition:opacity .05s ease-in;transition:opacity .05s ease-in}.btn.fa:hover:before,.wy-menu-vertical li span.btn.toctree-expand:hover:before,.rst-content .btn.admonition-title:hover:before,.rst-content h1 .btn.headerlink:hover:before,.rst-content h2 .btn.headerlink:hover:before,.rst-content h3 .btn.headerlink:hover:before,.rst-content h4 .btn.headerlink:hover:before,.rst-content h5 .btn.headerlink:hover:before,.rst-content h6 .btn.headerlink:hover:before,.rst-content dl dt .btn.headerlink:hover:before,.rst-content p.caption .btn.headerlink:hover:before,.rst-content table>caption .btn.headerlink:hover:before,.rst-content tt.download span.btn:first-child:hover:before,.rst-content code.download span.btn:first-child:hover:before,.btn.icon:hover:before{opacity:1}.btn-mini .fa:before,.btn-mini .wy-menu-vertical li span.toctree-expand:before,.wy-menu-vertical li .btn-mini span.toctree-expand:before,.btn-mini .rst-content .admonition-title:before,.rst-content .btn-mini .admonition-title:before,.btn-mini .rst-content h1 .headerlink:before,.rst-content h1 .btn-mini .headerlink:before,.btn-mini .rst-content h2 .headerlink:before,.rst-content h2 .btn-mini .headerlink:before,.btn-mini .rst-content h3 .headerlink:before,.rst-content h3 .btn-mini .headerlink:before,.btn-mini .rst-content h4 .headerlink:before,.rst-content h4 .btn-mini .headerlink:before,.btn-mini .rst-content h5 .headerlink:before,.rst-content h5 .btn-mini .headerlink:before,.btn-mini .rst-content h6 .headerlink:before,.rst-content h6 .btn-mini .headerlink:before,.btn-mini .rst-content dl dt .headerlink:before,.rst-content dl dt .btn-mini .headerlink:before,.btn-mini .rst-content p.caption .headerlink:before,.rst-content p.caption .btn-mini .headerlink:before,.btn-mini .rst-content table>caption .headerlink:before,.rst-content table>caption .btn-mini .headerlink:before,.btn-mini .rst-content tt.download span:first-child:before,.rst-content tt.download .btn-mini span:first-child:before,.btn-mini .rst-content code.download span:first-child:before,.rst-content code.download .btn-mini span:first-child:before,.btn-mini .icon:before{font-size:14px;vertical-align:-15%}.wy-alert,.rst-content .note,.rst-content .attention,.rst-content .caution,.rst-content .danger,.rst-content .error,.rst-content .hint,.rst-content .important,.rst-content .tip,.rst-content .warning,.rst-content .seealso,.rst-content .admonition-todo,.rst-content .admonition{padding:12px;line-height:24px;margin-bottom:24px;background:#e7f2fa}.wy-alert-title,.rst-content .admonition-title{color:#fff;font-weight:bold;display:block;color:#fff;background:#6ab0de;margin:-12px;padding:6px 12px;margin-bottom:12px}.wy-alert.wy-alert-danger,.rst-content .wy-alert-danger.note,.rst-content .wy-alert-danger.attention,.rst-content .wy-alert-danger.caution,.rst-content .danger,.rst-content .error,.rst-content .wy-alert-danger.hint,.rst-content .wy-alert-danger.important,.rst-content .wy-alert-danger.tip,.rst-content .wy-alert-danger.warning,.rst-content .wy-alert-danger.seealso,.rst-content .wy-alert-danger.admonition-todo,.rst-content .wy-alert-danger.admonition{background:#fdf3f2}.wy-alert.wy-alert-danger .wy-alert-title,.rst-content .wy-alert-danger.note .wy-alert-title,.rst-content .wy-alert-danger.attention .wy-alert-title,.rst-content .wy-alert-danger.caution .wy-alert-title,.rst-content .danger .wy-alert-title,.rst-content .error .wy-alert-title,.rst-content .wy-alert-danger.hint .wy-alert-title,.rst-content .wy-alert-danger.important .wy-alert-title,.rst-content .wy-alert-danger.tip .wy-alert-title,.rst-content .wy-alert-danger.warning .wy-alert-title,.rst-content .wy-alert-danger.seealso .wy-alert-title,.rst-content .wy-alert-danger.admonition-todo .wy-alert-title,.rst-content .wy-alert-danger.admonition .wy-alert-title,.wy-alert.wy-alert-danger .rst-content .admonition-title,.rst-content .wy-alert.wy-alert-danger .admonition-title,.rst-content .wy-alert-danger.note .admonition-title,.rst-content .wy-alert-danger.attention .admonition-title,.rst-content .wy-alert-danger.caution .admonition-title,.rst-content .danger .admonition-title,.rst-content .error .admonition-title,.rst-content .wy-alert-danger.hint .admonition-title,.rst-content .wy-alert-danger.important .admonition-title,.rst-content .wy-alert-danger.tip .admonition-title,.rst-content .wy-alert-danger.warning .admonition-title,.rst-content .wy-alert-danger.seealso .admonition-title,.rst-content .wy-alert-danger.admonition-todo .admonition-title,.rst-content .wy-alert-danger.admonition .admonition-title{background:#f29f97}.wy-alert.wy-alert-warning,.rst-content .wy-alert-warning.note,.rst-content .attention,.rst-content .caution,.rst-content .wy-alert-warning.danger,.rst-content .wy-alert-warning.error,.rst-content .wy-alert-warning.hint,.rst-content .wy-alert-warning.important,.rst-content .wy-alert-warning.tip,.rst-content .warning,.rst-content .wy-alert-warning.seealso,.rst-content .admonition-todo,.rst-content .wy-alert-warning.admonition{background:#ffedcc}.wy-alert.wy-alert-warning .wy-alert-title,.rst-content .wy-alert-warning.note .wy-alert-title,.rst-content .attention .wy-alert-title,.rst-content .caution .wy-alert-title,.rst-content .wy-alert-warning.danger .wy-alert-title,.rst-content .wy-alert-warning.error .wy-alert-title,.rst-content .wy-alert-warning.hint .wy-alert-title,.rst-content .wy-alert-warning.important .wy-alert-title,.rst-content .wy-alert-warning.tip .wy-alert-title,.rst-content .warning .wy-alert-title,.rst-content .wy-alert-warning.seealso .wy-alert-title,.rst-content .admonition-todo .wy-alert-title,.rst-content .wy-alert-warning.admonition .wy-alert-title,.wy-alert.wy-alert-warning .rst-content .admonition-title,.rst-content .wy-alert.wy-alert-warning .admonition-title,.rst-content .wy-alert-warning.note .admonition-title,.rst-content .attention .admonition-title,.rst-content .caution .admonition-title,.rst-content .wy-alert-warning.danger .admonition-title,.rst-content .wy-alert-warning.error .admonition-title,.rst-content .wy-alert-warning.hint .admonition-title,.rst-content .wy-alert-warning.important .admonition-title,.rst-content .wy-alert-warning.tip .admonition-title,.rst-content .warning .admonition-title,.rst-content .wy-alert-warning.seealso .admonition-title,.rst-content .admonition-todo .admonition-title,.rst-content .wy-alert-warning.admonition .admonition-title{background:#f0b37e}.wy-alert.wy-alert-info,.rst-content .note,.rst-content .wy-alert-info.attention,.rst-content .wy-alert-info.caution,.rst-content .wy-alert-info.danger,.rst-content .wy-alert-info.error,.rst-content .wy-alert-info.hint,.rst-content .wy-alert-info.important,.rst-content .wy-alert-info.tip,.rst-content .wy-alert-info.warning,.rst-content .seealso,.rst-content .wy-alert-info.admonition-todo,.rst-content .wy-alert-info.admonition{background:#e7f2fa}.wy-alert.wy-alert-info .wy-alert-title,.rst-content .note .wy-alert-title,.rst-content .wy-alert-info.attention .wy-alert-title,.rst-content .wy-alert-info.caution .wy-alert-title,.rst-content .wy-alert-info.danger .wy-alert-title,.rst-content .wy-alert-info.error .wy-alert-title,.rst-content .wy-alert-info.hint .wy-alert-title,.rst-content .wy-alert-info.important .wy-alert-title,.rst-content .wy-alert-info.tip .wy-alert-title,.rst-content .wy-alert-info.warning .wy-alert-title,.rst-content .seealso .wy-alert-title,.rst-content .wy-alert-info.admonition-todo .wy-alert-title,.rst-content .wy-alert-info.admonition .wy-alert-title,.wy-alert.wy-alert-info .rst-content .admonition-title,.rst-content .wy-alert.wy-alert-info .admonition-title,.rst-content .note .admonition-title,.rst-content .wy-alert-info.attention .admonition-title,.rst-content .wy-alert-info.caution .admonition-title,.rst-content .wy-alert-info.danger .admonition-title,.rst-content .wy-alert-info.error .admonition-title,.rst-content .wy-alert-info.hint .admonition-title,.rst-content .wy-alert-info.important .admonition-title,.rst-content .wy-alert-info.tip .admonition-title,.rst-content .wy-alert-info.warning .admonition-title,.rst-content .seealso .admonition-title,.rst-content .wy-alert-info.admonition-todo .admonition-title,.rst-content .wy-alert-info.admonition .admonition-title{background:#6ab0de}.wy-alert.wy-alert-success,.rst-content .wy-alert-success.note,.rst-content .wy-alert-success.attention,.rst-content .wy-alert-success.caution,.rst-content .wy-alert-success.danger,.rst-content .wy-alert-success.error,.rst-content .hint,.rst-content .important,.rst-content .tip,.rst-content .wy-alert-success.warning,.rst-content .wy-alert-success.seealso,.rst-content .wy-alert-success.admonition-todo,.rst-content .wy-alert-success.admonition{background:#dbfaf4}.wy-alert.wy-alert-success .wy-alert-title,.rst-content .wy-alert-success.note .wy-alert-title,.rst-content .wy-alert-success.attention .wy-alert-title,.rst-content .wy-alert-success.caution .wy-alert-title,.rst-content .wy-alert-success.danger .wy-alert-title,.rst-content .wy-alert-success.error .wy-alert-title,.rst-content .hint .wy-alert-title,.rst-content .important .wy-alert-title,.rst-content .tip .wy-alert-title,.rst-content .wy-alert-success.warning .wy-alert-title,.rst-content .wy-alert-success.seealso .wy-alert-title,.rst-content .wy-alert-success.admonition-todo .wy-alert-title,.rst-content .wy-alert-success.admonition .wy-alert-title,.wy-alert.wy-alert-success .rst-content .admonition-title,.rst-content .wy-alert.wy-alert-success .admonition-title,.rst-content .wy-alert-success.note .admonition-title,.rst-content .wy-alert-success.attention .admonition-title,.rst-content .wy-alert-success.caution .admonition-title,.rst-content .wy-alert-success.danger .admonition-title,.rst-content .wy-alert-success.error .admonition-title,.rst-content .hint .admonition-title,.rst-content .important .admonition-title,.rst-content .tip .admonition-title,.rst-content .wy-alert-success.warning .admonition-title,.rst-content .wy-alert-success.seealso .admonition-title,.rst-content .wy-alert-success.admonition-todo .admonition-title,.rst-content .wy-alert-success.admonition .admonition-title{background:#1abc9c}.wy-alert.wy-alert-neutral,.rst-content .wy-alert-neutral.note,.rst-content .wy-alert-neutral.attention,.rst-content .wy-alert-neutral.caution,.rst-content .wy-alert-neutral.danger,.rst-content .wy-alert-neutral.error,.rst-content .wy-alert-neutral.hint,.rst-content .wy-alert-neutral.important,.rst-content .wy-alert-neutral.tip,.rst-content .wy-alert-neutral.warning,.rst-content .wy-alert-neutral.seealso,.rst-content .wy-alert-neutral.admonition-todo,.rst-content .wy-alert-neutral.admonition{background:#f3f6f6}.wy-alert.wy-alert-neutral .wy-alert-title,.rst-content .wy-alert-neutral.note .wy-alert-title,.rst-content .wy-alert-neutral.attention .wy-alert-title,.rst-content .wy-alert-neutral.caution .wy-alert-title,.rst-content .wy-alert-neutral.danger .wy-alert-title,.rst-content .wy-alert-neutral.error .wy-alert-title,.rst-content .wy-alert-neutral.hint .wy-alert-title,.rst-content .wy-alert-neutral.important .wy-alert-title,.rst-content .wy-alert-neutral.tip .wy-alert-title,.rst-content .wy-alert-neutral.warning .wy-alert-title,.rst-content .wy-alert-neutral.seealso .wy-alert-title,.rst-content .wy-alert-neutral.admonition-todo .wy-alert-title,.rst-content .wy-alert-neutral.admonition .wy-alert-title,.wy-alert.wy-alert-neutral .rst-content .admonition-title,.rst-content .wy-alert.wy-alert-neutral .admonition-title,.rst-content .wy-alert-neutral.note .admonition-title,.rst-content .wy-alert-neutral.attention .admonition-title,.rst-content .wy-alert-neutral.caution .admonition-title,.rst-content .wy-alert-neutral.danger .admonition-title,.rst-content .wy-alert-neutral.error .admonition-title,.rst-content .wy-alert-neutral.hint .admonition-title,.rst-content .wy-alert-neutral.important .admonition-title,.rst-content .wy-alert-neutral.tip .admonition-title,.rst-content .wy-alert-neutral.warning .admonition-title,.rst-content .wy-alert-neutral.seealso .admonition-title,.rst-content .wy-alert-neutral.admonition-todo .admonition-title,.rst-content .wy-alert-neutral.admonition .admonition-title{color:#404040;background:#e1e4e5}.wy-alert.wy-alert-neutral a,.rst-content .wy-alert-neutral.note a,.rst-content .wy-alert-neutral.attention a,.rst-content .wy-alert-neutral.caution a,.rst-content .wy-alert-neutral.danger a,.rst-content .wy-alert-neutral.error a,.rst-content .wy-alert-neutral.hint a,.rst-content .wy-alert-neutral.important a,.rst-content .wy-alert-neutral.tip a,.rst-content .wy-alert-neutral.warning a,.rst-content .wy-alert-neutral.seealso a,.rst-content .wy-alert-neutral.admonition-todo a,.rst-content .wy-alert-neutral.admonition a{color:#2980B9}.wy-alert p:last-child,.rst-content .note p:last-child,.rst-content .attention p:last-child,.rst-content .caution p:last-child,.rst-content .danger p:last-child,.rst-content .error p:last-child,.rst-content .hint p:last-child,.rst-content .important p:last-child,.rst-content .tip p:last-child,.rst-content .warning p:last-child,.rst-content .seealso p:last-child,.rst-content .admonition-todo p:last-child,.rst-content .admonition p:last-child{margin-bottom:0}.wy-tray-container{position:fixed;bottom:0px;left:0;z-index:600}.wy-tray-container li{display:block;width:300px;background:transparent;color:#fff;text-align:center;box-shadow:0 5px 5px 0 rgba(0,0,0,0.1);padding:0 24px;min-width:20%;opacity:0;height:0;line-height:56px;overflow:hidden;-webkit-transition:all .3s ease-in;-moz-transition:all .3s ease-in;transition:all .3s ease-in}.wy-tray-container li.wy-tray-item-success{background:#27AE60}.wy-tray-container li.wy-tray-item-info{background:#2980B9}.wy-tray-container li.wy-tray-item-warning{background:#E67E22}.wy-tray-container li.wy-tray-item-danger{background:#E74C3C}.wy-tray-container li.on{opacity:1;height:56px}@media screen and (max-width: 768px){.wy-tray-container{bottom:auto;top:0;width:100%}.wy-tray-container li{width:100%}}button{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle;cursor:pointer;line-height:normal;-webkit-appearance:button;*overflow:visible}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}button[disabled]{cursor:default}.btn{display:inline-block;border-radius:2px;line-height:normal;white-space:nowrap;text-align:center;cursor:pointer;font-size:100%;padding:6px 12px 8px 12px;color:#fff;border:1px solid rgba(0,0,0,0.1);background-color:#27AE60;text-decoration:none;font-weight:normal;font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif;box-shadow:0px 1px 2px -1px rgba(255,255,255,0.5) inset,0px -2px 0px 0px rgba(0,0,0,0.1) inset;outline-none:false;vertical-align:middle;*display:inline;zoom:1;-webkit-user-drag:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-transition:all .1s linear;-moz-transition:all .1s linear;transition:all .1s linear}.btn-hover{background:#2e8ece;color:#fff}.btn:hover{background:#2cc36b;color:#fff}.btn:focus{background:#2cc36b;outline:0}.btn:active{box-shadow:0px -1px 0px 0px rgba(0,0,0,0.05) inset,0px 2px 0px 0px rgba(0,0,0,0.1) inset;padding:8px 12px 6px 12px}.btn:visited{color:#fff}.btn:disabled{background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);filter:alpha(opacity=40);opacity:.4;cursor:not-allowed;box-shadow:none}.btn-disabled{background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);filter:alpha(opacity=40);opacity:.4;cursor:not-allowed;box-shadow:none}.btn-disabled:hover,.btn-disabled:focus,.btn-disabled:active{background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);filter:alpha(opacity=40);opacity:.4;cursor:not-allowed;box-shadow:none}.btn::-moz-focus-inner{padding:0;border:0}.btn-small{font-size:80%}.btn-info{background-color:#2980B9 !important}.btn-info:hover{background-color:#2e8ece !important}.btn-neutral{background-color:#f3f6f6 !important;color:#404040 !important}.btn-neutral:hover{background-color:#e5ebeb !important;color:#404040}.btn-neutral:visited{color:#404040 !important}.btn-success{background-color:#27AE60 !important}.btn-success:hover{background-color:#295 !important}.btn-danger{background-color:#E74C3C !important}.btn-danger:hover{background-color:#ea6153 !important}.btn-warning{background-color:#E67E22 !important}.btn-warning:hover{background-color:#e98b39 !important}.btn-invert{background-color:#222}.btn-invert:hover{background-color:#2f2f2f !important}.btn-link{background-color:transparent !important;color:#2980B9;box-shadow:none;border-color:transparent !important}.btn-link:hover{background-color:transparent !important;color:#409ad5 !important;box-shadow:none}.btn-link:active{background-color:transparent !important;color:#409ad5 !important;box-shadow:none}.btn-link:visited{color:#9B59B6}.wy-btn-group .btn,.wy-control .btn{vertical-align:middle}.wy-btn-group{margin-bottom:24px;*zoom:1}.wy-btn-group:before,.wy-btn-group:after{display:table;content:""}.wy-btn-group:after{clear:both}.wy-dropdown{position:relative;display:inline-block}.wy-dropdown-active .wy-dropdown-menu{display:block}.wy-dropdown-menu{position:absolute;left:0;display:none;float:left;top:100%;min-width:100%;background:#fcfcfc;z-index:100;border:solid 1px #cfd7dd;box-shadow:0 2px 2px 0 rgba(0,0,0,0.1);padding:12px}.wy-dropdown-menu>dd>a{display:block;clear:both;color:#404040;white-space:nowrap;font-size:90%;padding:0 12px;cursor:pointer}.wy-dropdown-menu>dd>a:hover{background:#2980B9;color:#fff}.wy-dropdown-menu>dd.divider{border-top:solid 1px #cfd7dd;margin:6px 0}.wy-dropdown-menu>dd.search{padding-bottom:12px}.wy-dropdown-menu>dd.search input[type="search"]{width:100%}.wy-dropdown-menu>dd.call-to-action{background:#e3e3e3;text-transform:uppercase;font-weight:500;font-size:80%}.wy-dropdown-menu>dd.call-to-action:hover{background:#e3e3e3}.wy-dropdown-menu>dd.call-to-action .btn{color:#fff}.wy-dropdown.wy-dropdown-up .wy-dropdown-menu{bottom:100%;top:auto;left:auto;right:0}.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu{background:#fcfcfc;margin-top:2px}.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu a{padding:6px 12px}.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu a:hover{background:#2980B9;color:#fff}.wy-dropdown.wy-dropdown-left .wy-dropdown-menu{right:0;left:auto;text-align:right}.wy-dropdown-arrow:before{content:" ";border-bottom:5px solid #f5f5f5;border-left:5px solid transparent;border-right:5px solid transparent;position:absolute;display:block;top:-4px;left:50%;margin-left:-3px}.wy-dropdown-arrow.wy-dropdown-arrow-left:before{left:11px}.wy-form-stacked select{display:block}.wy-form-aligned input,.wy-form-aligned textarea,.wy-form-aligned select,.wy-form-aligned .wy-help-inline,.wy-form-aligned label{display:inline-block;*display:inline;*zoom:1;vertical-align:middle}.wy-form-aligned .wy-control-group>label{display:inline-block;vertical-align:middle;width:10em;margin:6px 12px 0 0;float:left}.wy-form-aligned .wy-control{float:left}.wy-form-aligned .wy-control label{display:block}.wy-form-aligned .wy-control select{margin-top:6px}fieldset{border:0;margin:0;padding:0}legend{display:block;width:100%;border:0;padding:0;white-space:normal;margin-bottom:24px;font-size:150%;*margin-left:-7px}label{display:block;margin:0 0 .3125em 0;color:#333;font-size:90%}input,select,textarea{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle}.wy-control-group{margin-bottom:24px;*zoom:1;max-width:68em;margin-left:auto;margin-right:auto;*zoom:1}.wy-control-group:before,.wy-control-group:after{display:table;content:""}.wy-control-group:after{clear:both}.wy-control-group:before,.wy-control-group:after{display:table;content:""}.wy-control-group:after{clear:both}.wy-control-group.wy-control-group-required>label:after{content:" *";color:#E74C3C}.wy-control-group .wy-form-full,.wy-control-group .wy-form-halves,.wy-control-group .wy-form-thirds{padding-bottom:12px}.wy-control-group .wy-form-full select,.wy-control-group .wy-form-halves select,.wy-control-group .wy-form-thirds select{width:100%}.wy-control-group .wy-form-full input[type="text"],.wy-control-group .wy-form-full input[type="password"],.wy-control-group .wy-form-full input[type="email"],.wy-control-group .wy-form-full input[type="url"],.wy-control-group .wy-form-full input[type="date"],.wy-control-group .wy-form-full input[type="month"],.wy-control-group .wy-form-full input[type="time"],.wy-control-group .wy-form-full input[type="datetime"],.wy-control-group .wy-form-full input[type="datetime-local"],.wy-control-group .wy-form-full input[type="week"],.wy-control-group .wy-form-full input[type="number"],.wy-control-group .wy-form-full input[type="search"],.wy-control-group .wy-form-full input[type="tel"],.wy-control-group .wy-form-full input[type="color"],.wy-control-group .wy-form-halves input[type="text"],.wy-control-group .wy-form-halves input[type="password"],.wy-control-group .wy-form-halves input[type="email"],.wy-control-group .wy-form-halves input[type="url"],.wy-control-group .wy-form-halves input[type="date"],.wy-control-group .wy-form-halves input[type="month"],.wy-control-group .wy-form-halves input[type="time"],.wy-control-group .wy-form-halves input[type="datetime"],.wy-control-group .wy-form-halves input[type="datetime-local"],.wy-control-group .wy-form-halves input[type="week"],.wy-control-group .wy-form-halves input[type="number"],.wy-control-group .wy-form-halves input[type="search"],.wy-control-group .wy-form-halves input[type="tel"],.wy-control-group .wy-form-halves input[type="color"],.wy-control-group .wy-form-thirds input[type="text"],.wy-control-group .wy-form-thirds input[type="password"],.wy-control-group .wy-form-thirds input[type="email"],.wy-control-group .wy-form-thirds input[type="url"],.wy-control-group .wy-form-thirds input[type="date"],.wy-control-group .wy-form-thirds input[type="month"],.wy-control-group .wy-form-thirds input[type="time"],.wy-control-group .wy-form-thirds input[type="datetime"],.wy-control-group .wy-form-thirds input[type="datetime-local"],.wy-control-group .wy-form-thirds input[type="week"],.wy-control-group .wy-form-thirds input[type="number"],.wy-control-group .wy-form-thirds input[type="search"],.wy-control-group .wy-form-thirds input[type="tel"],.wy-control-group .wy-form-thirds input[type="color"]{width:100%}.wy-control-group .wy-form-full{float:left;display:block;margin-right:2.3576515979%;width:100%;margin-right:0}.wy-control-group .wy-form-full:last-child{margin-right:0}.wy-control-group .wy-form-halves{float:left;display:block;margin-right:2.3576515979%;width:48.821174201%}.wy-control-group .wy-form-halves:last-child{margin-right:0}.wy-control-group .wy-form-halves:nth-of-type(2n){margin-right:0}.wy-control-group .wy-form-halves:nth-of-type(2n+1){clear:left}.wy-control-group .wy-form-thirds{float:left;display:block;margin-right:2.3576515979%;width:31.7615656014%}.wy-control-group .wy-form-thirds:last-child{margin-right:0}.wy-control-group .wy-form-thirds:nth-of-type(3n){margin-right:0}.wy-control-group .wy-form-thirds:nth-of-type(3n+1){clear:left}.wy-control-group.wy-control-group-no-input .wy-control{margin:6px 0 0 0;font-size:90%}.wy-control-no-input{display:inline-block;margin:6px 0 0 0;font-size:90%}.wy-control-group.fluid-input input[type="text"],.wy-control-group.fluid-input input[type="password"],.wy-control-group.fluid-input input[type="email"],.wy-control-group.fluid-input input[type="url"],.wy-control-group.fluid-input input[type="date"],.wy-control-group.fluid-input input[type="month"],.wy-control-group.fluid-input input[type="time"],.wy-control-group.fluid-input input[type="datetime"],.wy-control-group.fluid-input input[type="datetime-local"],.wy-control-group.fluid-input input[type="week"],.wy-control-group.fluid-input input[type="number"],.wy-control-group.fluid-input input[type="search"],.wy-control-group.fluid-input input[type="tel"],.wy-control-group.fluid-input input[type="color"]{width:100%}.wy-form-message-inline{display:inline-block;padding-left:.3em;color:#666;vertical-align:middle;font-size:90%}.wy-form-message{display:block;color:#999;font-size:70%;margin-top:.3125em;font-style:italic}.wy-form-message p{font-size:inherit;font-style:italic;margin-bottom:6px}.wy-form-message p:last-child{margin-bottom:0}input{line-height:normal}input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer;font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif;*overflow:visible}input[type="text"],input[type="password"],input[type="email"],input[type="url"],input[type="date"],input[type="month"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="week"],input[type="number"],input[type="search"],input[type="tel"],input[type="color"]{-webkit-appearance:none;padding:6px;display:inline-block;border:1px solid #ccc;font-size:80%;font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif;box-shadow:inset 0 1px 3px #ddd;border-radius:0;-webkit-transition:border .3s linear;-moz-transition:border .3s linear;transition:border .3s linear}input[type="datetime-local"]{padding:.34375em .625em}input[disabled]{cursor:default}input[type="checkbox"],input[type="radio"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0;margin-right:.3125em;*height:13px;*width:13px}input[type="search"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}input[type="text"]:focus,input[type="password"]:focus,input[type="email"]:focus,input[type="url"]:focus,input[type="date"]:focus,input[type="month"]:focus,input[type="time"]:focus,input[type="datetime"]:focus,input[type="datetime-local"]:focus,input[type="week"]:focus,input[type="number"]:focus,input[type="search"]:focus,input[type="tel"]:focus,input[type="color"]:focus{outline:0;outline:thin dotted \9;border-color:#333}input.no-focus:focus{border-color:#ccc !important}input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted #333;outline:1px auto #129FEA}input[type="text"][disabled],input[type="password"][disabled],input[type="email"][disabled],input[type="url"][disabled],input[type="date"][disabled],input[type="month"][disabled],input[type="time"][disabled],input[type="datetime"][disabled],input[type="datetime-local"][disabled],input[type="week"][disabled],input[type="number"][disabled],input[type="search"][disabled],input[type="tel"][disabled],input[type="color"][disabled]{cursor:not-allowed;background-color:#fafafa}input:focus:invalid,textarea:focus:invalid,select:focus:invalid{color:#E74C3C;border:1px solid #E74C3C}input:focus:invalid:focus,textarea:focus:invalid:focus,select:focus:invalid:focus{border-color:#E74C3C}input[type="file"]:focus:invalid:focus,input[type="radio"]:focus:invalid:focus,input[type="checkbox"]:focus:invalid:focus{outline-color:#E74C3C}input.wy-input-large{padding:12px;font-size:100%}textarea{overflow:auto;vertical-align:top;width:100%;font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif}select,textarea{padding:.5em .625em;display:inline-block;border:1px solid #ccc;font-size:80%;box-shadow:inset 0 1px 3px #ddd;-webkit-transition:border .3s linear;-moz-transition:border .3s linear;transition:border .3s linear}select{border:1px solid #ccc;background-color:#fff}select[multiple]{height:auto}select:focus,textarea:focus{outline:0}select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{cursor:not-allowed;background-color:#fafafa}input[type="radio"][disabled],input[type="checkbox"][disabled]{cursor:not-allowed}.wy-checkbox,.wy-radio{margin:6px 0;color:#404040;display:block}.wy-checkbox input,.wy-radio input{vertical-align:baseline}.wy-form-message-inline{display:inline-block;*display:inline;*zoom:1;vertical-align:middle}.wy-input-prefix,.wy-input-suffix{white-space:nowrap;padding:6px}.wy-input-prefix .wy-input-context,.wy-input-suffix .wy-input-context{line-height:27px;padding:0 8px;display:inline-block;font-size:80%;background-color:#f3f6f6;border:solid 1px #ccc;color:#999}.wy-input-suffix .wy-input-context{border-left:0}.wy-input-prefix .wy-input-context{border-right:0}.wy-switch{position:relative;display:block;height:24px;margin-top:12px;cursor:pointer}.wy-switch:before{position:absolute;content:"";display:block;left:0;top:0;width:36px;height:12px;border-radius:4px;background:#ccc;-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.wy-switch:after{position:absolute;content:"";display:block;width:18px;height:18px;border-radius:4px;background:#999;left:-3px;top:-3px;-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.wy-switch span{position:absolute;left:48px;display:block;font-size:12px;color:#ccc;line-height:1}.wy-switch.active:before{background:#1e8449}.wy-switch.active:after{left:24px;background:#27AE60}.wy-switch.disabled{cursor:not-allowed;opacity:.8}.wy-control-group.wy-control-group-error .wy-form-message,.wy-control-group.wy-control-group-error>label{color:#E74C3C}.wy-control-group.wy-control-group-error input[type="text"],.wy-control-group.wy-control-group-error input[type="password"],.wy-control-group.wy-control-group-error input[type="email"],.wy-control-group.wy-control-group-error input[type="url"],.wy-control-group.wy-control-group-error input[type="date"],.wy-control-group.wy-control-group-error input[type="month"],.wy-control-group.wy-control-group-error input[type="time"],.wy-control-group.wy-control-group-error input[type="datetime"],.wy-control-group.wy-control-group-error input[type="datetime-local"],.wy-control-group.wy-control-group-error input[type="week"],.wy-control-group.wy-control-group-error input[type="number"],.wy-control-group.wy-control-group-error input[type="search"],.wy-control-group.wy-control-group-error input[type="tel"],.wy-control-group.wy-control-group-error input[type="color"]{border:solid 1px #E74C3C}.wy-control-group.wy-control-group-error textarea{border:solid 1px #E74C3C}.wy-inline-validate{white-space:nowrap}.wy-inline-validate .wy-input-context{padding:.5em .625em;display:inline-block;font-size:80%}.wy-inline-validate.wy-inline-validate-success .wy-input-context{color:#27AE60}.wy-inline-validate.wy-inline-validate-danger .wy-input-context{color:#E74C3C}.wy-inline-validate.wy-inline-validate-warning .wy-input-context{color:#E67E22}.wy-inline-validate.wy-inline-validate-info .wy-input-context{color:#2980B9}.rotate-90{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.rotate-180{-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg)}.rotate-270{-webkit-transform:rotate(270deg);-moz-transform:rotate(270deg);-ms-transform:rotate(270deg);-o-transform:rotate(270deg);transform:rotate(270deg)}.mirror{-webkit-transform:scaleX(-1);-moz-transform:scaleX(-1);-ms-transform:scaleX(-1);-o-transform:scaleX(-1);transform:scaleX(-1)}.mirror.rotate-90{-webkit-transform:scaleX(-1) rotate(90deg);-moz-transform:scaleX(-1) rotate(90deg);-ms-transform:scaleX(-1) rotate(90deg);-o-transform:scaleX(-1) rotate(90deg);transform:scaleX(-1) rotate(90deg)}.mirror.rotate-180{-webkit-transform:scaleX(-1) rotate(180deg);-moz-transform:scaleX(-1) rotate(180deg);-ms-transform:scaleX(-1) rotate(180deg);-o-transform:scaleX(-1) rotate(180deg);transform:scaleX(-1) rotate(180deg)}.mirror.rotate-270{-webkit-transform:scaleX(-1) rotate(270deg);-moz-transform:scaleX(-1) rotate(270deg);-ms-transform:scaleX(-1) rotate(270deg);-o-transform:scaleX(-1) rotate(270deg);transform:scaleX(-1) rotate(270deg)}@media only screen and (max-width: 480px){.wy-form button[type="submit"]{margin:.7em 0 0}.wy-form input[type="text"],.wy-form input[type="password"],.wy-form input[type="email"],.wy-form input[type="url"],.wy-form input[type="date"],.wy-form input[type="month"],.wy-form input[type="time"],.wy-form input[type="datetime"],.wy-form input[type="datetime-local"],.wy-form input[type="week"],.wy-form input[type="number"],.wy-form input[type="search"],.wy-form input[type="tel"],.wy-form input[type="color"]{margin-bottom:.3em;display:block}.wy-form label{margin-bottom:.3em;display:block}.wy-form input[type="password"],.wy-form input[type="email"],.wy-form input[type="url"],.wy-form input[type="date"],.wy-form input[type="month"],.wy-form input[type="time"],.wy-form input[type="datetime"],.wy-form input[type="datetime-local"],.wy-form input[type="week"],.wy-form input[type="number"],.wy-form input[type="search"],.wy-form input[type="tel"],.wy-form input[type="color"]{margin-bottom:0}.wy-form-aligned .wy-control-group label{margin-bottom:.3em;text-align:left;display:block;width:100%}.wy-form-aligned .wy-control{margin:1.5em 0 0 0}.wy-form .wy-help-inline,.wy-form-message-inline,.wy-form-message{display:block;font-size:80%;padding:6px 0}}@media screen and (max-width: 768px){.tablet-hide{display:none}}@media screen and (max-width: 480px){.mobile-hide{display:none}}.float-left{float:left}.float-right{float:right}.full-width{width:100%}.wy-table,.rst-content table.docutils,.rst-content table.field-list{border-collapse:collapse;border-spacing:0;empty-cells:show;margin-bottom:24px}.wy-table caption,.rst-content table.docutils caption,.rst-content table.field-list caption{color:#000;font:italic 85%/1 arial,sans-serif;padding:1em 0;text-align:center}.wy-table td,.rst-content table.docutils td,.rst-content table.field-list td,.wy-table th,.rst-content table.docutils th,.rst-content table.field-list th{font-size:90%;margin:0;overflow:visible;padding:8px 16px}.wy-table td:first-child,.rst-content table.docutils td:first-child,.rst-content table.field-list td:first-child,.wy-table th:first-child,.rst-content table.docutils th:first-child,.rst-content table.field-list th:first-child{border-left-width:0}.wy-table thead,.rst-content table.docutils thead,.rst-content table.field-list thead{color:#000;text-align:left;vertical-align:bottom;white-space:nowrap}.wy-table thead th,.rst-content table.docutils thead th,.rst-content table.field-list thead th{font-weight:bold;border-bottom:solid 2px #e1e4e5}.wy-table td,.rst-content table.docutils td,.rst-content table.field-list td{background-color:transparent;vertical-align:middle}.wy-table td p,.rst-content table.docutils td p,.rst-content table.field-list td p{line-height:18px}.wy-table td p:last-child,.rst-content table.docutils td p:last-child,.rst-content table.field-list td p:last-child{margin-bottom:0}.wy-table .wy-table-cell-min,.rst-content table.docutils .wy-table-cell-min,.rst-content table.field-list .wy-table-cell-min{width:1%;padding-right:0}.wy-table .wy-table-cell-min input[type=checkbox],.rst-content table.docutils .wy-table-cell-min input[type=checkbox],.rst-content table.field-list .wy-table-cell-min input[type=checkbox],.wy-table .wy-table-cell-min input[type=checkbox],.rst-content table.docutils .wy-table-cell-min input[type=checkbox],.rst-content table.field-list .wy-table-cell-min input[type=checkbox]{margin:0}.wy-table-secondary{color:gray;font-size:90%}.wy-table-tertiary{color:gray;font-size:80%}.wy-table-odd td,.wy-table-striped tr:nth-child(2n-1) td,.rst-content table.docutils:not(.field-list) tr:nth-child(2n-1) td{background-color:#f3f6f6}.wy-table-backed{background-color:#f3f6f6}.wy-table-bordered-all,.rst-content table.docutils{border:1px solid #e1e4e5}.wy-table-bordered-all td,.rst-content table.docutils td{border-bottom:1px solid #e1e4e5;border-left:1px solid #e1e4e5}.wy-table-bordered-all tbody>tr:last-child td,.rst-content table.docutils tbody>tr:last-child td{border-bottom-width:0}.wy-table-bordered{border:1px solid #e1e4e5}.wy-table-bordered-rows td{border-bottom:1px solid #e1e4e5}.wy-table-bordered-rows tbody>tr:last-child td{border-bottom-width:0}.wy-table-horizontal tbody>tr:last-child td{border-bottom-width:0}.wy-table-horizontal td,.wy-table-horizontal th{border-width:0 0 1px 0;border-bottom:1px solid #e1e4e5}.wy-table-horizontal tbody>tr:last-child td{border-bottom-width:0}.wy-table-responsive{margin-bottom:24px;max-width:100%;overflow:auto}.wy-table-responsive table{margin-bottom:0 !important}.wy-table-responsive table td,.wy-table-responsive table th{white-space:nowrap}a{color:#2980B9;text-decoration:none;cursor:pointer}a:hover{color:#3091d1}a:visited{color:#9B59B6}html{height:100%;overflow-x:hidden}body{font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif;font-weight:normal;color:#404040;min-height:100%;overflow-x:hidden;background:#edf0f2}.wy-text-left{text-align:left}.wy-text-center{text-align:center}.wy-text-right{text-align:right}.wy-text-large{font-size:120%}.wy-text-normal{font-size:100%}.wy-text-small,small{font-size:80%}.wy-text-strike{text-decoration:line-through}.wy-text-warning{color:#E67E22 !important}a.wy-text-warning:hover{color:#eb9950 !important}.wy-text-info{color:#2980B9 !important}a.wy-text-info:hover{color:#409ad5 !important}.wy-text-success{color:#27AE60 !important}a.wy-text-success:hover{color:#36d278 !important}.wy-text-danger{color:#E74C3C !important}a.wy-text-danger:hover{color:#ed7669 !important}.wy-text-neutral{color:#404040 !important}a.wy-text-neutral:hover{color:#595959 !important}h1,h2,.rst-content .toctree-wrapper p.caption,h3,h4,h5,h6,legend{margin-top:0;font-weight:700;font-family:"Roboto Slab","ff-tisa-web-pro","Georgia",Arial,sans-serif}p{line-height:24px;margin:0;font-size:16px;margin-bottom:24px}h1{font-size:175%}h2,.rst-content .toctree-wrapper p.caption{font-size:150%}h3{font-size:125%}h4{font-size:115%}h5{font-size:110%}h6{font-size:100%}hr{display:block;height:1px;border:0;border-top:1px solid #e1e4e5;margin:24px 0;padding:0}code,.rst-content tt,.rst-content code{white-space:nowrap;max-width:100%;background:#fff;border:solid 1px #e1e4e5;font-size:75%;padding:0 5px;font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",Courier,monospace;color:#E74C3C;overflow-x:auto}code.code-large,.rst-content tt.code-large{font-size:90%}.wy-plain-list-disc,.rst-content .section ul,.rst-content .toctree-wrapper ul,article ul{list-style:disc;line-height:24px;margin-bottom:24px}.wy-plain-list-disc li,.rst-content .section ul li,.rst-content .toctree-wrapper ul li,article ul li{list-style:disc;margin-left:24px}.wy-plain-list-disc li p:last-child,.rst-content .section ul li p:last-child,.rst-content .toctree-wrapper ul li p:last-child,article ul li p:last-child{margin-bottom:0}.wy-plain-list-disc li ul,.rst-content .section ul li ul,.rst-content .toctree-wrapper ul li ul,article ul li ul{margin-bottom:0}.wy-plain-list-disc li li,.rst-content .section ul li li,.rst-content .toctree-wrapper ul li li,article ul li li{list-style:circle}.wy-plain-list-disc li li li,.rst-content .section ul li li li,.rst-content .toctree-wrapper ul li li li,article ul li li li{list-style:square}.wy-plain-list-disc li ol li,.rst-content .section ul li ol li,.rst-content .toctree-wrapper ul li ol li,article ul li ol li{list-style:decimal}.wy-plain-list-decimal,.rst-content .section ol,.rst-content ol.arabic,article ol{list-style:decimal;line-height:24px;margin-bottom:24px}.wy-plain-list-decimal li,.rst-content .section ol li,.rst-content ol.arabic li,article ol li{list-style:decimal;margin-left:24px}.wy-plain-list-decimal li p:last-child,.rst-content .section ol li p:last-child,.rst-content ol.arabic li p:last-child,article ol li p:last-child{margin-bottom:0}.wy-plain-list-decimal li ul,.rst-content .section ol li ul,.rst-content ol.arabic li ul,article ol li ul{margin-bottom:0}.wy-plain-list-decimal li ul li,.rst-content .section ol li ul li,.rst-content ol.arabic li ul li,article ol li ul li{list-style:disc}.wy-breadcrumbs{*zoom:1}.wy-breadcrumbs:before,.wy-breadcrumbs:after{display:table;content:""}.wy-breadcrumbs:after{clear:both}.wy-breadcrumbs li{display:inline-block}.wy-breadcrumbs li.wy-breadcrumbs-aside{float:right}.wy-breadcrumbs li a{display:inline-block;padding:5px}.wy-breadcrumbs li a:first-child{padding-left:0}.wy-breadcrumbs li code,.wy-breadcrumbs li .rst-content tt,.rst-content .wy-breadcrumbs li tt{padding:5px;border:none;background:none}.wy-breadcrumbs li code.literal,.wy-breadcrumbs li .rst-content tt.literal,.rst-content .wy-breadcrumbs li tt.literal{color:#404040}.wy-breadcrumbs-extra{margin-bottom:0;color:#b3b3b3;font-size:80%;display:inline-block}@media screen and (max-width: 480px){.wy-breadcrumbs-extra{display:none}.wy-breadcrumbs li.wy-breadcrumbs-aside{display:none}}@media print{.wy-breadcrumbs li.wy-breadcrumbs-aside{display:none}}html{font-size:16px}.wy-affix{position:fixed;top:1.618em}.wy-menu a:hover{text-decoration:none}.wy-menu-horiz{*zoom:1}.wy-menu-horiz:before,.wy-menu-horiz:after{display:table;content:""}.wy-menu-horiz:after{clear:both}.wy-menu-horiz ul,.wy-menu-horiz li{display:inline-block}.wy-menu-horiz li:hover{background:rgba(255,255,255,0.1)}.wy-menu-horiz li.divide-left{border-left:solid 1px #404040}.wy-menu-horiz li.divide-right{border-right:solid 1px #404040}.wy-menu-horiz a{height:32px;display:inline-block;line-height:32px;padding:0 16px}.wy-menu-vertical{width:300px}.wy-menu-vertical header,.wy-menu-vertical p.caption{height:32px;display:inline-block;line-height:32px;padding:0 1.618em;margin-bottom:0;display:block;font-weight:bold;text-transform:uppercase;font-size:80%;white-space:nowrap}.wy-menu-vertical ul{margin-bottom:0}.wy-menu-vertical li.divide-top{border-top:solid 1px #404040}.wy-menu-vertical li.divide-bottom{border-bottom:solid 1px #404040}.wy-menu-vertical li.current{background:#e3e3e3}.wy-menu-vertical li.current a{color:gray;border-right:solid 1px #c9c9c9;padding:.4045em 2.427em}.wy-menu-vertical li.current a:hover{background:#d6d6d6}.wy-menu-vertical li code,.wy-menu-vertical li .rst-content tt,.rst-content .wy-menu-vertical li tt{border:none;background:inherit;color:inherit;padding-left:0;padding-right:0}.wy-menu-vertical li span.toctree-expand{display:block;float:left;margin-left:-1.2em;font-size:.8em;line-height:1.6em;color:#4d4d4d}.wy-menu-vertical li.on a,.wy-menu-vertical li.current>a{color:#404040;padding:.4045em 1.618em;font-weight:bold;position:relative;background:#fcfcfc;border:none;padding-left:1.618em -4px}.wy-menu-vertical li.on a:hover,.wy-menu-vertical li.current>a:hover{background:#fcfcfc}.wy-menu-vertical li.on a:hover span.toctree-expand,.wy-menu-vertical li.current>a:hover span.toctree-expand{color:gray}.wy-menu-vertical li.on a span.toctree-expand,.wy-menu-vertical li.current>a span.toctree-expand{display:block;font-size:.8em;line-height:1.6em;color:#333}.wy-menu-vertical li.toctree-l1.current>a{border-bottom:solid 1px #c9c9c9;border-top:solid 1px #c9c9c9}.wy-menu-vertical li.toctree-l2 a,.wy-menu-vertical li.toctree-l3 a,.wy-menu-vertical li.toctree-l4 a{color:#404040}.wy-menu-vertical li.toctree-l1.current li.toctree-l2>ul,.wy-menu-vertical li.toctree-l2.current li.toctree-l3>ul{display:none}.wy-menu-vertical li.toctree-l1.current li.toctree-l2.current>ul,.wy-menu-vertical li.toctree-l2.current li.toctree-l3.current>ul{display:block}.wy-menu-vertical li.toctree-l2.current>a{background:#c9c9c9;padding:.4045em 2.427em}.wy-menu-vertical li.toctree-l2.current li.toctree-l3>a{display:block;background:#c9c9c9;padding:.4045em 4.045em}.wy-menu-vertical li.toctree-l2 a:hover span.toctree-expand{color:gray}.wy-menu-vertical li.toctree-l2 span.toctree-expand{color:#a3a3a3}.wy-menu-vertical li.toctree-l3{font-size:.9em}.wy-menu-vertical li.toctree-l3.current>a{background:#bdbdbd;padding:.4045em 4.045em}.wy-menu-vertical li.toctree-l3.current li.toctree-l4>a{display:block;background:#bdbdbd;padding:.4045em 5.663em}.wy-menu-vertical li.toctree-l3 a:hover span.toctree-expand{color:gray}.wy-menu-vertical li.toctree-l3 span.toctree-expand{color:#969696}.wy-menu-vertical li.toctree-l4{font-size:.9em}.wy-menu-vertical li.current ul{display:block}.wy-menu-vertical li ul{margin-bottom:0;display:none}.wy-menu-vertical li ul li a{margin-bottom:0;color:#d9d9d9;font-weight:normal}.wy-menu-vertical a{display:inline-block;line-height:18px;padding:.4045em 1.618em;display:block;position:relative;font-size:90%;color:#d9d9d9}.wy-menu-vertical a:hover{background-color:#4e4a4a;cursor:pointer}.wy-menu-vertical a:hover span.toctree-expand{color:#d9d9d9}.wy-menu-vertical a:active{background-color:#2980B9;cursor:pointer;color:#fff}.wy-menu-vertical a:active span.toctree-expand{color:#fff}.wy-side-nav-search{display:block;width:300px;padding:.809em;margin-bottom:.809em;z-index:200;background-color:#2980B9;text-align:center;padding:.809em;display:block;color:#fcfcfc;margin-bottom:.809em}.wy-side-nav-search input[type=text]{width:100%;border-radius:50px;padding:6px 12px;border-color:#2472a4}.wy-side-nav-search img{display:block;margin:auto auto .809em auto;height:45px;width:45px;background-color:#2980B9;padding:5px;border-radius:100%}.wy-side-nav-search>a,.wy-side-nav-search .wy-dropdown>a{color:#fcfcfc;font-size:100%;font-weight:bold;display:inline-block;padding:4px 6px;margin-bottom:.809em}.wy-side-nav-search>a:hover,.wy-side-nav-search .wy-dropdown>a:hover{background:rgba(255,255,255,0.1)}.wy-side-nav-search>a img.logo,.wy-side-nav-search .wy-dropdown>a img.logo{display:block;margin:0 auto;height:auto;width:auto;border-radius:0;max-width:100%;background:transparent}.wy-side-nav-search>a.icon img.logo,.wy-side-nav-search .wy-dropdown>a.icon img.logo{margin-top:.85em}.wy-side-nav-search>div.version{margin-top:-.4045em;margin-bottom:.809em;font-weight:normal;color:rgba(255,255,255,0.3)}.wy-nav .wy-menu-vertical header{color:#2980B9}.wy-nav .wy-menu-vertical a{color:#b3b3b3}.wy-nav .wy-menu-vertical a:hover{background-color:#2980B9;color:#fff}[data-menu-wrap]{-webkit-transition:all .2s ease-in;-moz-transition:all .2s ease-in;transition:all .2s ease-in;position:absolute;opacity:1;width:100%;opacity:0}[data-menu-wrap].move-center{left:0;right:auto;opacity:1}[data-menu-wrap].move-left{right:auto;left:-100%;opacity:0}[data-menu-wrap].move-right{right:-100%;left:auto;opacity:0}.wy-body-for-nav{background:#fcfcfc}.wy-grid-for-nav{position:absolute;width:100%;height:100%}.wy-nav-side{position:fixed;top:0;bottom:0;left:0;padding-bottom:2em;width:300px;overflow-x:hidden;overflow-y:hidden;min-height:100%;color:#9b9b9b;background:#343131;z-index:200}.wy-side-scroll{width:320px;position:relative;overflow-x:hidden;overflow-y:scroll;height:100%}.wy-nav-top{display:none;background:#2980B9;color:#fff;padding:.4045em .809em;position:relative;line-height:50px;text-align:center;font-size:100%;*zoom:1}.wy-nav-top:before,.wy-nav-top:after{display:table;content:""}.wy-nav-top:after{clear:both}.wy-nav-top a{color:#fff;font-weight:bold}.wy-nav-top img{margin-right:12px;height:45px;width:45px;background-color:#2980B9;padding:5px;border-radius:100%}.wy-nav-top i{font-size:30px;float:left;cursor:pointer;padding-top:inherit}.wy-nav-content-wrap{margin-left:300px;background:#fcfcfc;min-height:100%}.wy-nav-content{padding:1.618em 3.236em;height:100%;max-width:800px;margin:auto}.wy-body-mask{position:fixed;width:100%;height:100%;background:rgba(0,0,0,0.2);display:none;z-index:499}.wy-body-mask.on{display:block}footer{color:gray}footer p{margin-bottom:12px}footer span.commit code,footer span.commit .rst-content tt,.rst-content footer span.commit tt{padding:0px;font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",Courier,monospace;font-size:1em;background:none;border:none;color:gray}.rst-footer-buttons{*zoom:1}.rst-footer-buttons:before,.rst-footer-buttons:after{width:100%}.rst-footer-buttons:before,.rst-footer-buttons:after{display:table;content:""}.rst-footer-buttons:after{clear:both}.rst-breadcrumbs-buttons{margin-top:12px;*zoom:1}.rst-breadcrumbs-buttons:before,.rst-breadcrumbs-buttons:after{display:table;content:""}.rst-breadcrumbs-buttons:after{clear:both}#search-results .search li{margin-bottom:24px;border-bottom:solid 1px #e1e4e5;padding-bottom:24px}#search-results .search li:first-child{border-top:solid 1px #e1e4e5;padding-top:24px}#search-results .search li a{font-size:120%;margin-bottom:12px;display:inline-block}#search-results .context{color:gray;font-size:90%}@media screen and (max-width: 768px){.wy-body-for-nav{background:#fcfcfc}.wy-nav-top{display:block}.wy-nav-side{left:-300px}.wy-nav-side.shift{width:85%;left:0}.wy-side-scroll{width:auto}.wy-side-nav-search{width:auto}.wy-menu.wy-menu-vertical{width:auto}.wy-nav-content-wrap{margin-left:0}.wy-nav-content-wrap .wy-nav-content{padding:1.618em}.wy-nav-content-wrap.shift{position:fixed;min-width:100%;left:85%;top:0;height:100%;overflow:hidden}}@media screen and (min-width: 1100px){.wy-nav-content-wrap{background:rgba(0,0,0,0.05)}.wy-nav-content{margin:0;background:#fcfcfc}}@media print{.rst-versions,footer,.wy-nav-side{display:none}.wy-nav-content-wrap{margin-left:0}}.rst-versions{position:fixed;bottom:0;left:0;width:300px;color:#fcfcfc;background:#1f1d1d;font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif;z-index:400}.rst-versions a{color:#2980B9;text-decoration:none}.rst-versions .rst-badge-small{display:none}.rst-versions .rst-current-version{padding:12px;background-color:#272525;display:block;text-align:right;font-size:90%;cursor:pointer;color:#27AE60;*zoom:1}.rst-versions .rst-current-version:before,.rst-versions .rst-current-version:after{display:table;content:""}.rst-versions .rst-current-version:after{clear:both}.rst-versions .rst-current-version .fa,.rst-versions .rst-current-version .wy-menu-vertical li span.toctree-expand,.wy-menu-vertical li .rst-versions .rst-current-version span.toctree-expand,.rst-versions .rst-current-version .rst-content .admonition-title,.rst-content .rst-versions .rst-current-version .admonition-title,.rst-versions .rst-current-version .rst-content h1 .headerlink,.rst-content h1 .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content h2 .headerlink,.rst-content h2 .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content h3 .headerlink,.rst-content h3 .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content h4 .headerlink,.rst-content h4 .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content h5 .headerlink,.rst-content h5 .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content h6 .headerlink,.rst-content h6 .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content dl dt .headerlink,.rst-content dl dt .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content p.caption .headerlink,.rst-content p.caption .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content table>caption .headerlink,.rst-content table>caption .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content tt.download span:first-child,.rst-content tt.download .rst-versions .rst-current-version span:first-child,.rst-versions .rst-current-version .rst-content code.download span:first-child,.rst-content code.download .rst-versions .rst-current-version span:first-child,.rst-versions .rst-current-version .icon{color:#fcfcfc}.rst-versions .rst-current-version .fa-book,.rst-versions .rst-current-version .icon-book{float:left}.rst-versions .rst-current-version .icon-book{float:left}.rst-versions .rst-current-version.rst-out-of-date{background-color:#E74C3C;color:#fff}.rst-versions .rst-current-version.rst-active-old-version{background-color:#F1C40F;color:#000}.rst-versions.shift-up{height:auto;max-height:100%}.rst-versions.shift-up .rst-other-versions{display:block}.rst-versions .rst-other-versions{font-size:90%;padding:12px;color:gray;display:none}.rst-versions .rst-other-versions hr{display:block;height:1px;border:0;margin:20px 0;padding:0;border-top:solid 1px #413d3d}.rst-versions .rst-other-versions dd{display:inline-block;margin:0}.rst-versions .rst-other-versions dd a{display:inline-block;padding:6px;color:#fcfcfc}.rst-versions.rst-badge{width:auto;bottom:20px;right:20px;left:auto;border:none;max-width:300px}.rst-versions.rst-badge .icon-book{float:none}.rst-versions.rst-badge .fa-book,.rst-versions.rst-badge .icon-book{float:none}.rst-versions.rst-badge.shift-up .rst-current-version{text-align:right}.rst-versions.rst-badge.shift-up .rst-current-version .fa-book,.rst-versions.rst-badge.shift-up .rst-current-version .icon-book{float:left}.rst-versions.rst-badge.shift-up .rst-current-version .icon-book{float:left}.rst-versions.rst-badge .rst-current-version{width:auto;height:30px;line-height:30px;padding:0 6px;display:block;text-align:center}@media screen and (max-width: 768px){.rst-versions{width:85%;display:none}.rst-versions.shift{display:block}}.rst-content img{max-width:100%;height:auto}.rst-content div.figure{margin-bottom:24px}.rst-content div.figure p.caption{font-style:italic}.rst-content div.figure p:last-child.caption{margin-bottom:0px}.rst-content div.figure.align-center{text-align:center}.rst-content .section>img,.rst-content .section>a>img{margin-bottom:24px}.rst-content abbr[title]{text-decoration:none}.rst-content.style-external-links a.reference.external:after{font-family:FontAwesome;content:"";color:#b3b3b3;vertical-align:super;font-size:60%;margin:0 .2em}.rst-content blockquote{margin-left:24px;line-height:24px;margin-bottom:24px}.rst-content pre.literal-block{white-space:pre;margin:0;padding:12px 12px;font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",Courier,monospace;display:block;overflow:auto}.rst-content pre.literal-block,.rst-content div[class^='highlight']{border:1px solid #e1e4e5;overflow-x:auto;margin:1px 0 24px 0}.rst-content pre.literal-block div[class^='highlight'],.rst-content div[class^='highlight'] div[class^='highlight']{padding:0px;border:none;margin:0}.rst-content div[class^='highlight'] td.code{width:100%}.rst-content .linenodiv pre{border-right:solid 1px #e6e9ea;margin:0;padding:12px 12px;font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",Courier,monospace;user-select:none;pointer-events:none}.rst-content div[class^='highlight'] pre{white-space:pre;margin:0;padding:12px 12px;display:block;overflow:auto}.rst-content div[class^='highlight'] pre .hll{display:block;margin:0 -12px;padding:0 12px}.rst-content pre.literal-block,.rst-content div[class^='highlight'] pre,.rst-content .linenodiv pre{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",Courier,monospace;font-size:12px;line-height:1.4}@media print{.rst-content .codeblock,.rst-content div[class^='highlight'],.rst-content div[class^='highlight'] pre{white-space:pre-wrap}}.rst-content .note .last,.rst-content .attention .last,.rst-content .caution .last,.rst-content .danger .last,.rst-content .error .last,.rst-content .hint .last,.rst-content .important .last,.rst-content .tip .last,.rst-content .warning .last,.rst-content .seealso .last,.rst-content .admonition-todo .last,.rst-content .admonition .last{margin-bottom:0}.rst-content .admonition-title:before{margin-right:4px}.rst-content .admonition table{border-color:rgba(0,0,0,0.1)}.rst-content .admonition table td,.rst-content .admonition table th{background:transparent !important;border-color:rgba(0,0,0,0.1) !important}.rst-content .section ol.loweralpha,.rst-content .section ol.loweralpha li{list-style:lower-alpha}.rst-content .section ol.upperalpha,.rst-content .section ol.upperalpha li{list-style:upper-alpha}.rst-content .section ol p,.rst-content .section ul p{margin-bottom:12px}.rst-content .section ol p:last-child,.rst-content .section ul p:last-child{margin-bottom:24px}.rst-content .line-block{margin-left:0px;margin-bottom:24px;line-height:24px}.rst-content .line-block .line-block{margin-left:24px;margin-bottom:0px}.rst-content .topic-title{font-weight:bold;margin-bottom:12px}.rst-content .toc-backref{color:#404040}.rst-content .align-right{float:right;margin:0px 0px 24px 24px}.rst-content .align-left{float:left;margin:0px 24px 24px 0px}.rst-content .align-center{margin:auto}.rst-content .align-center:not(table){display:block}.rst-content h1 .headerlink,.rst-content h2 .headerlink,.rst-content .toctree-wrapper p.caption .headerlink,.rst-content h3 .headerlink,.rst-content h4 .headerlink,.rst-content h5 .headerlink,.rst-content h6 .headerlink,.rst-content dl dt .headerlink,.rst-content p.caption .headerlink,.rst-content table>caption .headerlink{visibility:hidden;font-size:14px}.rst-content h1 .headerlink:after,.rst-content h2 .headerlink:after,.rst-content .toctree-wrapper p.caption .headerlink:after,.rst-content h3 .headerlink:after,.rst-content h4 .headerlink:after,.rst-content h5 .headerlink:after,.rst-content h6 .headerlink:after,.rst-content dl dt .headerlink:after,.rst-content p.caption .headerlink:after,.rst-content table>caption .headerlink:after{content:"";font-family:FontAwesome}.rst-content h1:hover .headerlink:after,.rst-content h2:hover .headerlink:after,.rst-content .toctree-wrapper p.caption:hover .headerlink:after,.rst-content h3:hover .headerlink:after,.rst-content h4:hover .headerlink:after,.rst-content h5:hover .headerlink:after,.rst-content h6:hover .headerlink:after,.rst-content dl dt:hover .headerlink:after,.rst-content p.caption:hover .headerlink:after,.rst-content table>caption:hover .headerlink:after{visibility:visible}.rst-content table>caption .headerlink:after{font-size:12px}.rst-content .centered{text-align:center}.rst-content .sidebar{float:right;width:40%;display:block;margin:0 0 24px 24px;padding:24px;background:#f3f6f6;border:solid 1px #e1e4e5}.rst-content .sidebar p,.rst-content .sidebar ul,.rst-content .sidebar dl{font-size:90%}.rst-content .sidebar .last{margin-bottom:0}.rst-content .sidebar .sidebar-title{display:block;font-family:"Roboto Slab","ff-tisa-web-pro","Georgia",Arial,sans-serif;font-weight:bold;background:#e1e4e5;padding:6px 12px;margin:-24px;margin-bottom:24px;font-size:100%}.rst-content .highlighted{background:#F1C40F;display:inline-block;font-weight:bold;padding:0 6px}.rst-content .footnote-reference,.rst-content .citation-reference{vertical-align:baseline;position:relative;top:-0.4em;line-height:0;font-size:90%}.rst-content table.docutils.citation,.rst-content table.docutils.footnote{background:none;border:none;color:gray}.rst-content table.docutils.citation td,.rst-content table.docutils.citation tr,.rst-content table.docutils.footnote td,.rst-content table.docutils.footnote tr{border:none;background-color:transparent !important;white-space:normal}.rst-content table.docutils.citation td.label,.rst-content table.docutils.footnote td.label{padding-left:0;padding-right:0;vertical-align:top}.rst-content table.docutils.citation tt,.rst-content table.docutils.citation code,.rst-content table.docutils.footnote tt,.rst-content table.docutils.footnote code{color:#555}.rst-content .wy-table-responsive.citation,.rst-content .wy-table-responsive.footnote{margin-bottom:0}.rst-content .wy-table-responsive.citation+:not(.citation),.rst-content .wy-table-responsive.footnote+:not(.footnote){margin-top:24px}.rst-content .wy-table-responsive.citation:last-child,.rst-content .wy-table-responsive.footnote:last-child{margin-bottom:24px}.rst-content table.docutils th{border-color:#e1e4e5}.rst-content table.docutils td .last,.rst-content table.docutils td .last :last-child{margin-bottom:0}.rst-content table.field-list{border:none}.rst-content table.field-list td{border:none}.rst-content table.field-list td>strong{display:inline-block}.rst-content table.field-list .field-name{padding-right:10px;text-align:left;white-space:nowrap}.rst-content table.field-list .field-body{text-align:left}.rst-content tt,.rst-content tt,.rst-content code{color:#000;font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",Courier,monospace;padding:2px 5px}.rst-content tt big,.rst-content tt em,.rst-content tt big,.rst-content code big,.rst-content tt em,.rst-content code em{font-size:100% !important;line-height:normal}.rst-content tt.literal,.rst-content tt.literal,.rst-content code.literal{color:#E74C3C}.rst-content tt.xref,a .rst-content tt,.rst-content tt.xref,.rst-content code.xref,a .rst-content tt,a .rst-content code{font-weight:bold;color:#404040}.rst-content pre,.rst-content kbd,.rst-content samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",Courier,monospace}.rst-content a tt,.rst-content a tt,.rst-content a code{color:#2980B9}.rst-content dl{margin-bottom:24px}.rst-content dl dt{font-weight:bold;margin-bottom:12px}.rst-content dl p,.rst-content dl table,.rst-content dl ul,.rst-content dl ol{margin-bottom:12px !important}.rst-content dl dd{margin:0 0 12px 24px;line-height:24px}.rst-content dl:not(.docutils){margin-bottom:24px}.rst-content dl:not(.docutils) dt{display:table;margin:6px 0;font-size:90%;line-height:normal;background:#e7f2fa;color:#2980B9;border-top:solid 3px #6ab0de;padding:6px;position:relative}.rst-content dl:not(.docutils) dt:before{color:#6ab0de}.rst-content dl:not(.docutils) dt .headerlink{color:#404040;font-size:100% !important}.rst-content dl:not(.docutils) dl dt{margin-bottom:6px;border:none;border-left:solid 3px #ccc;background:#f0f0f0;color:#555}.rst-content dl:not(.docutils) dl dt .headerlink{color:#404040;font-size:100% !important}.rst-content dl:not(.docutils) dt:first-child{margin-top:0}.rst-content dl:not(.docutils) tt,.rst-content dl:not(.docutils) tt,.rst-content dl:not(.docutils) code{font-weight:bold}.rst-content dl:not(.docutils) tt.descname,.rst-content dl:not(.docutils) tt.descclassname,.rst-content dl:not(.docutils) tt.descname,.rst-content dl:not(.docutils) code.descname,.rst-content dl:not(.docutils) tt.descclassname,.rst-content dl:not(.docutils) code.descclassname{background-color:transparent;border:none;padding:0;font-size:100% !important}.rst-content dl:not(.docutils) tt.descname,.rst-content dl:not(.docutils) tt.descname,.rst-content dl:not(.docutils) code.descname{font-weight:bold}.rst-content dl:not(.docutils) .optional{display:inline-block;padding:0 4px;color:#000;font-weight:bold}.rst-content dl:not(.docutils) .property{display:inline-block;padding-right:8px}.rst-content .viewcode-link,.rst-content .viewcode-back{display:inline-block;color:#27AE60;font-size:80%;padding-left:24px}.rst-content .viewcode-back{display:block;float:right}.rst-content p.rubric{margin-bottom:12px;font-weight:bold}.rst-content tt.download,.rst-content code.download{background:inherit;padding:inherit;font-weight:normal;font-family:inherit;font-size:inherit;color:inherit;border:inherit;white-space:inherit}.rst-content tt.download span:first-child,.rst-content code.download span:first-child{-webkit-font-smoothing:subpixel-antialiased}.rst-content tt.download span:first-child:before,.rst-content code.download span:first-child:before{margin-right:4px}.rst-content .guilabel{border:1px solid #7fbbe3;background:#e7f2fa;font-size:80%;font-weight:700;border-radius:4px;padding:2.4px 6px;margin:auto 2px}.rst-content .versionmodified{font-style:italic}@media screen and (max-width: 480px){.rst-content .sidebar{width:100%}}span[id*='MathJax-Span']{color:#404040}.math{text-align:center}@font-face{font-family:"Lato";src:url("../fonts/Lato/lato-regular.eot");src:url("../fonts/Lato/lato-regular.eot?#iefix") format("embedded-opentype"),url("../fonts/Lato/lato-regular.woff2") format("woff2"),url("../fonts/Lato/lato-regular.woff") format("woff"),url("../fonts/Lato/lato-regular.ttf") format("truetype");font-weight:400;font-style:normal}@font-face{font-family:"Lato";src:url("../fonts/Lato/lato-bold.eot");src:url("../fonts/Lato/lato-bold.eot?#iefix") format("embedded-opentype"),url("../fonts/Lato/lato-bold.woff2") format("woff2"),url("../fonts/Lato/lato-bold.woff") format("woff"),url("../fonts/Lato/lato-bold.ttf") format("truetype");font-weight:700;font-style:normal}@font-face{font-family:"Lato";src:url("../fonts/Lato/lato-bolditalic.eot");src:url("../fonts/Lato/lato-bolditalic.eot?#iefix") format("embedded-opentype"),url("../fonts/Lato/lato-bolditalic.woff2") format("woff2"),url("../fonts/Lato/lato-bolditalic.woff") format("woff"),url("../fonts/Lato/lato-bolditalic.ttf") format("truetype");font-weight:700;font-style:italic}@font-face{font-family:"Lato";src:url("../fonts/Lato/lato-italic.eot");src:url("../fonts/Lato/lato-italic.eot?#iefix") format("embedded-opentype"),url("../fonts/Lato/lato-italic.woff2") format("woff2"),url("../fonts/Lato/lato-italic.woff") format("woff"),url("../fonts/Lato/lato-italic.ttf") format("truetype");font-weight:400;font-style:italic}@font-face{font-family:"Roboto Slab";font-style:normal;font-weight:400;src:url("../fonts/RobotoSlab/roboto-slab.eot");src:url("../fonts/RobotoSlab/roboto-slab-v7-regular.eot?#iefix") format("embedded-opentype"),url("../fonts/RobotoSlab/roboto-slab-v7-regular.woff2") format("woff2"),url("../fonts/RobotoSlab/roboto-slab-v7-regular.woff") format("woff"),url("../fonts/RobotoSlab/roboto-slab-v7-regular.ttf") format("truetype")}@font-face{font-family:"Roboto Slab";font-style:normal;font-weight:700;src:url("../fonts/RobotoSlab/roboto-slab-v7-bold.eot");src:url("../fonts/RobotoSlab/roboto-slab-v7-bold.eot?#iefix") format("embedded-opentype"),url("../fonts/RobotoSlab/roboto-slab-v7-bold.woff2") format("woff2"),url("../fonts/RobotoSlab/roboto-slab-v7-bold.woff") format("woff"),url("../fonts/RobotoSlab/roboto-slab-v7-bold.ttf") format("truetype")} diff --git a/doc/_static/doctools.js b/doc/_static/doctools.js new file mode 100644 index 00000000..ffadbec1 --- /dev/null +++ b/doc/_static/doctools.js @@ -0,0 +1,315 @@ +/* + * doctools.js + * ~~~~~~~~~~~ + * + * Sphinx JavaScript utilities for all documentation. + * + * :copyright: Copyright 2007-2018 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ + +/** + * select a different prefix for underscore + */ +$u = _.noConflict(); + +/** + * make the code below compatible with browsers without + * an installed firebug like debugger +if (!window.console || !console.firebug) { + var names = ["log", "debug", "info", "warn", "error", "assert", "dir", + "dirxml", "group", "groupEnd", "time", "timeEnd", "count", "trace", + "profile", "profileEnd"]; + window.console = {}; + for (var i = 0; i < names.length; ++i) + window.console[names[i]] = function() {}; +} + */ + +/** + * small helper function to urldecode strings + */ +jQuery.urldecode = function(x) { + return decodeURIComponent(x).replace(/\+/g, ' '); +}; + +/** + * small helper function to urlencode strings + */ +jQuery.urlencode = encodeURIComponent; + +/** + * This function returns the parsed url parameters of the + * current request. Multiple values per key are supported, + * it will always return arrays of strings for the value parts. + */ +jQuery.getQueryParameters = function(s) { + if (typeof s === 'undefined') + s = document.location.search; + var parts = s.substr(s.indexOf('?') + 1).split('&'); + var result = {}; + for (var i = 0; i < parts.length; i++) { + var tmp = parts[i].split('=', 2); + var key = jQuery.urldecode(tmp[0]); + var value = jQuery.urldecode(tmp[1]); + if (key in result) + result[key].push(value); + else + result[key] = [value]; + } + return result; +}; + +/** + * highlight a given string on a jquery object by wrapping it in + * span elements with the given class name. + */ +jQuery.fn.highlightText = function(text, className) { + function highlight(node, addItems) { + if (node.nodeType === 3) { + var val = node.nodeValue; + var pos = val.toLowerCase().indexOf(text); + if (pos >= 0 && + !jQuery(node.parentNode).hasClass(className) && + !jQuery(node.parentNode).hasClass("nohighlight")) { + var span; + var isInSVG = jQuery(node).closest("body, svg, foreignObject").is("svg"); + if (isInSVG) { + span = document.createElementNS("http://www.w3.org/2000/svg", "tspan"); + } else { + span = document.createElement("span"); + span.className = className; + } + span.appendChild(document.createTextNode(val.substr(pos, text.length))); + node.parentNode.insertBefore(span, node.parentNode.insertBefore( + document.createTextNode(val.substr(pos + text.length)), + node.nextSibling)); + node.nodeValue = val.substr(0, pos); + if (isInSVG) { + var bbox = span.getBBox(); + var rect = document.createElementNS("http://www.w3.org/2000/svg", "rect"); + rect.x.baseVal.value = bbox.x; + rect.y.baseVal.value = bbox.y; + rect.width.baseVal.value = bbox.width; + rect.height.baseVal.value = bbox.height; + rect.setAttribute('class', className); + var parentOfText = node.parentNode.parentNode; + addItems.push({ + "parent": node.parentNode, + "target": rect}); + } + } + } + else if (!jQuery(node).is("button, select, textarea")) { + jQuery.each(node.childNodes, function() { + highlight(this, addItems); + }); + } + } + var addItems = []; + var result = this.each(function() { + highlight(this, addItems); + }); + for (var i = 0; i < addItems.length; ++i) { + jQuery(addItems[i].parent).before(addItems[i].target); + } + return result; +}; + +/* + * backward compatibility for jQuery.browser + * This will be supported until firefox bug is fixed. + */ +if (!jQuery.browser) { + jQuery.uaMatch = function(ua) { + ua = ua.toLowerCase(); + + var match = /(chrome)[ \/]([\w.]+)/.exec(ua) || + /(webkit)[ \/]([\w.]+)/.exec(ua) || + /(opera)(?:.*version|)[ \/]([\w.]+)/.exec(ua) || + /(msie) ([\w.]+)/.exec(ua) || + ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(ua) || + []; + + return { + browser: match[ 1 ] || "", + version: match[ 2 ] || "0" + }; + }; + jQuery.browser = {}; + jQuery.browser[jQuery.uaMatch(navigator.userAgent).browser] = true; +} + +/** + * Small JavaScript module for the documentation. + */ +var Documentation = { + + init : function() { + this.fixFirefoxAnchorBug(); + this.highlightSearchWords(); + this.initIndexTable(); + if (DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) { + this.initOnKeyListeners(); + } + }, + + /** + * i18n support + */ + TRANSLATIONS : {}, + PLURAL_EXPR : function(n) { return n === 1 ? 0 : 1; }, + LOCALE : 'unknown', + + // gettext and ngettext don't access this so that the functions + // can safely bound to a different name (_ = Documentation.gettext) + gettext : function(string) { + var translated = Documentation.TRANSLATIONS[string]; + if (typeof translated === 'undefined') + return string; + return (typeof translated === 'string') ? translated : translated[0]; + }, + + ngettext : function(singular, plural, n) { + var translated = Documentation.TRANSLATIONS[singular]; + if (typeof translated === 'undefined') + return (n == 1) ? singular : plural; + return translated[Documentation.PLURALEXPR(n)]; + }, + + addTranslations : function(catalog) { + for (var key in catalog.messages) + this.TRANSLATIONS[key] = catalog.messages[key]; + this.PLURAL_EXPR = new Function('n', 'return +(' + catalog.plural_expr + ')'); + this.LOCALE = catalog.locale; + }, + + /** + * add context elements like header anchor links + */ + addContextElements : function() { + $('div[id] > :header:first').each(function() { + $('\u00B6'). + attr('href', '#' + this.id). + attr('title', _('Permalink to this headline')). + appendTo(this); + }); + $('dt[id]').each(function() { + $('\u00B6'). + attr('href', '#' + this.id). + attr('title', _('Permalink to this definition')). + appendTo(this); + }); + }, + + /** + * workaround a firefox stupidity + * see: https://bugzilla.mozilla.org/show_bug.cgi?id=645075 + */ + fixFirefoxAnchorBug : function() { + if (document.location.hash && $.browser.mozilla) + window.setTimeout(function() { + document.location.href += ''; + }, 10); + }, + + /** + * highlight the search words provided in the url in the text + */ + highlightSearchWords : function() { + var params = $.getQueryParameters(); + var terms = (params.highlight) ? params.highlight[0].split(/\s+/) : []; + if (terms.length) { + var body = $('div.body'); + if (!body.length) { + body = $('body'); + } + window.setTimeout(function() { + $.each(terms, function() { + body.highlightText(this.toLowerCase(), 'highlighted'); + }); + }, 10); + $('') + .appendTo($('#searchbox')); + } + }, + + /** + * init the domain index toggle buttons + */ + initIndexTable : function() { + var togglers = $('img.toggler').click(function() { + var src = $(this).attr('src'); + var idnum = $(this).attr('id').substr(7); + $('tr.cg-' + idnum).toggle(); + if (src.substr(-9) === 'minus.png') + $(this).attr('src', src.substr(0, src.length-9) + 'plus.png'); + else + $(this).attr('src', src.substr(0, src.length-8) + 'minus.png'); + }).css('display', ''); + if (DOCUMENTATION_OPTIONS.COLLAPSE_INDEX) { + togglers.click(); + } + }, + + /** + * helper function to hide the search marks again + */ + hideSearchWords : function() { + $('#searchbox .highlight-link').fadeOut(300); + $('span.highlighted').removeClass('highlighted'); + }, + + /** + * make the url absolute + */ + makeURL : function(relativeURL) { + return DOCUMENTATION_OPTIONS.URL_ROOT + '/' + relativeURL; + }, + + /** + * get the current relative url + */ + getCurrentURL : function() { + var path = document.location.pathname; + var parts = path.split(/\//); + $.each(DOCUMENTATION_OPTIONS.URL_ROOT.split(/\//), function() { + if (this === '..') + parts.pop(); + }); + var url = parts.join('/'); + return path.substring(url.lastIndexOf('/') + 1, path.length - 1); + }, + + initOnKeyListeners: function() { + $(document).keyup(function(event) { + var activeElementType = document.activeElement.tagName; + // don't navigate when in search box or textarea + if (activeElementType !== 'TEXTAREA' && activeElementType !== 'INPUT' && activeElementType !== 'SELECT') { + switch (event.keyCode) { + case 37: // left + var prevHref = $('link[rel="prev"]').prop('href'); + if (prevHref) { + window.location.href = prevHref; + return false; + } + case 39: // right + var nextHref = $('link[rel="next"]').prop('href'); + if (nextHref) { + window.location.href = nextHref; + return false; + } + } + } + }); + } +}; + +// quick alias for translations +_ = Documentation.gettext; + +$(document).ready(function() { + Documentation.init(); +}); diff --git a/doc/_static/documentation_options.js b/doc/_static/documentation_options.js new file mode 100644 index 00000000..01cfcd93 --- /dev/null +++ b/doc/_static/documentation_options.js @@ -0,0 +1,296 @@ +var DOCUMENTATION_OPTIONS = { + URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'), + VERSION: '2.0', + LANGUAGE: 'None', + COLLAPSE_INDEX: false, + FILE_SUFFIX: '.html', + HAS_SOURCE: true, + SOURCELINK_SUFFIX: '.txt', + NAVIGATION_WITH_KEYS: false, + SEARCH_LANGUAGE_STOP_WORDS: ["a","and","are","as","at","be","but","by","for","if","in","into","is","it","near","no","not","of","on","or","such","that","the","their","then","there","these","they","this","to","was","will","with"] +}; + + + +/* Non-minified version JS is _stemmer.js if file is provided */ +/** + * Porter Stemmer + */ +var Stemmer = function() { + + var step2list = { + ational: 'ate', + tional: 'tion', + enci: 'ence', + anci: 'ance', + izer: 'ize', + bli: 'ble', + alli: 'al', + entli: 'ent', + eli: 'e', + ousli: 'ous', + ization: 'ize', + ation: 'ate', + ator: 'ate', + alism: 'al', + iveness: 'ive', + fulness: 'ful', + ousness: 'ous', + aliti: 'al', + iviti: 'ive', + biliti: 'ble', + logi: 'log' + }; + + var step3list = { + icate: 'ic', + ative: '', + alize: 'al', + iciti: 'ic', + ical: 'ic', + ful: '', + ness: '' + }; + + var c = "[^aeiou]"; // consonant + var v = "[aeiouy]"; // vowel + var C = c + "[^aeiouy]*"; // consonant sequence + var V = v + "[aeiou]*"; // vowel sequence + + var mgr0 = "^(" + C + ")?" + V + C; // [C]VC... is m>0 + var meq1 = "^(" + C + ")?" + V + C + "(" + V + ")?$"; // [C]VC[V] is m=1 + var mgr1 = "^(" + C + ")?" + V + C + V + C; // [C]VCVC... is m>1 + var s_v = "^(" + C + ")?" + v; // vowel in stem + + this.stemWord = function (w) { + var stem; + var suffix; + var firstch; + var origword = w; + + if (w.length < 3) + return w; + + var re; + var re2; + var re3; + var re4; + + firstch = w.substr(0,1); + if (firstch == "y") + w = firstch.toUpperCase() + w.substr(1); + + // Step 1a + re = /^(.+?)(ss|i)es$/; + re2 = /^(.+?)([^s])s$/; + + if (re.test(w)) + w = w.replace(re,"$1$2"); + else if (re2.test(w)) + w = w.replace(re2,"$1$2"); + + // Step 1b + re = /^(.+?)eed$/; + re2 = /^(.+?)(ed|ing)$/; + if (re.test(w)) { + var fp = re.exec(w); + re = new RegExp(mgr0); + if (re.test(fp[1])) { + re = /.$/; + w = w.replace(re,""); + } + } + else if (re2.test(w)) { + var fp = re2.exec(w); + stem = fp[1]; + re2 = new RegExp(s_v); + if (re2.test(stem)) { + w = stem; + re2 = /(at|bl|iz)$/; + re3 = new RegExp("([^aeiouylsz])\\1$"); + re4 = new RegExp("^" + C + v + "[^aeiouwxy]$"); + if (re2.test(w)) + w = w + "e"; + else if (re3.test(w)) { + re = /.$/; + w = w.replace(re,""); + } + else if (re4.test(w)) + w = w + "e"; + } + } + + // Step 1c + re = /^(.+?)y$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + re = new RegExp(s_v); + if (re.test(stem)) + w = stem + "i"; + } + + // Step 2 + re = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + suffix = fp[2]; + re = new RegExp(mgr0); + if (re.test(stem)) + w = stem + step2list[suffix]; + } + + // Step 3 + re = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + suffix = fp[2]; + re = new RegExp(mgr0); + if (re.test(stem)) + w = stem + step3list[suffix]; + } + + // Step 4 + re = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/; + re2 = /^(.+?)(s|t)(ion)$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + re = new RegExp(mgr1); + if (re.test(stem)) + w = stem; + } + else if (re2.test(w)) { + var fp = re2.exec(w); + stem = fp[1] + fp[2]; + re2 = new RegExp(mgr1); + if (re2.test(stem)) + w = stem; + } + + // Step 5 + re = /^(.+?)e$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + re = new RegExp(mgr1); + re2 = new RegExp(meq1); + re3 = new RegExp("^" + C + v + "[^aeiouwxy]$"); + if (re.test(stem) || (re2.test(stem) && !(re3.test(stem)))) + w = stem; + } + re = /ll$/; + re2 = new RegExp(mgr1); + if (re.test(w) && re2.test(w)) { + re = /.$/; + w = w.replace(re,""); + } + + // and turn initial Y back to y + if (firstch == "y") + w = firstch.toLowerCase() + w.substr(1); + return w; + } +} + + + + + +var splitChars = (function() { + var result = {}; + var singles = [96, 180, 187, 191, 215, 247, 749, 885, 903, 907, 909, 930, 1014, 1648, + 1748, 1809, 2416, 2473, 2481, 2526, 2601, 2609, 2612, 2615, 2653, 2702, + 2706, 2729, 2737, 2740, 2857, 2865, 2868, 2910, 2928, 2948, 2961, 2971, + 2973, 3085, 3089, 3113, 3124, 3213, 3217, 3241, 3252, 3295, 3341, 3345, + 3369, 3506, 3516, 3633, 3715, 3721, 3736, 3744, 3748, 3750, 3756, 3761, + 3781, 3912, 4239, 4347, 4681, 4695, 4697, 4745, 4785, 4799, 4801, 4823, + 4881, 5760, 5901, 5997, 6313, 7405, 8024, 8026, 8028, 8030, 8117, 8125, + 8133, 8181, 8468, 8485, 8487, 8489, 8494, 8527, 11311, 11359, 11687, 11695, + 11703, 11711, 11719, 11727, 11735, 12448, 12539, 43010, 43014, 43019, 43587, + 43696, 43713, 64286, 64297, 64311, 64317, 64319, 64322, 64325, 65141]; + var i, j, start, end; + for (i = 0; i < singles.length; i++) { + result[singles[i]] = true; + } + var ranges = [[0, 47], [58, 64], [91, 94], [123, 169], [171, 177], [182, 184], [706, 709], + [722, 735], [741, 747], [751, 879], [888, 889], [894, 901], [1154, 1161], + [1318, 1328], [1367, 1368], [1370, 1376], [1416, 1487], [1515, 1519], [1523, 1568], + [1611, 1631], [1642, 1645], [1750, 1764], [1767, 1773], [1789, 1790], [1792, 1807], + [1840, 1868], [1958, 1968], [1970, 1983], [2027, 2035], [2038, 2041], [2043, 2047], + [2070, 2073], [2075, 2083], [2085, 2087], [2089, 2307], [2362, 2364], [2366, 2383], + [2385, 2391], [2402, 2405], [2419, 2424], [2432, 2436], [2445, 2446], [2449, 2450], + [2483, 2485], [2490, 2492], [2494, 2509], [2511, 2523], [2530, 2533], [2546, 2547], + [2554, 2564], [2571, 2574], [2577, 2578], [2618, 2648], [2655, 2661], [2672, 2673], + [2677, 2692], [2746, 2748], [2750, 2767], [2769, 2783], [2786, 2789], [2800, 2820], + [2829, 2830], [2833, 2834], [2874, 2876], [2878, 2907], [2914, 2917], [2930, 2946], + [2955, 2957], [2966, 2968], [2976, 2978], [2981, 2983], [2987, 2989], [3002, 3023], + [3025, 3045], [3059, 3076], [3130, 3132], [3134, 3159], [3162, 3167], [3170, 3173], + [3184, 3191], [3199, 3204], [3258, 3260], [3262, 3293], [3298, 3301], [3312, 3332], + [3386, 3388], [3390, 3423], [3426, 3429], [3446, 3449], [3456, 3460], [3479, 3481], + [3518, 3519], [3527, 3584], [3636, 3647], [3655, 3663], [3674, 3712], [3717, 3718], + [3723, 3724], [3726, 3731], [3752, 3753], [3764, 3772], [3774, 3775], [3783, 3791], + [3802, 3803], [3806, 3839], [3841, 3871], [3892, 3903], [3949, 3975], [3980, 4095], + [4139, 4158], [4170, 4175], [4182, 4185], [4190, 4192], [4194, 4196], [4199, 4205], + [4209, 4212], [4226, 4237], [4250, 4255], [4294, 4303], [4349, 4351], [4686, 4687], + [4702, 4703], [4750, 4751], [4790, 4791], [4806, 4807], [4886, 4887], [4955, 4968], + [4989, 4991], [5008, 5023], [5109, 5120], [5741, 5742], [5787, 5791], [5867, 5869], + [5873, 5887], [5906, 5919], [5938, 5951], [5970, 5983], [6001, 6015], [6068, 6102], + [6104, 6107], [6109, 6111], [6122, 6127], [6138, 6159], [6170, 6175], [6264, 6271], + [6315, 6319], [6390, 6399], [6429, 6469], [6510, 6511], [6517, 6527], [6572, 6592], + [6600, 6607], [6619, 6655], [6679, 6687], [6741, 6783], [6794, 6799], [6810, 6822], + [6824, 6916], [6964, 6980], [6988, 6991], [7002, 7042], [7073, 7085], [7098, 7167], + [7204, 7231], [7242, 7244], [7294, 7400], [7410, 7423], [7616, 7679], [7958, 7959], + [7966, 7967], [8006, 8007], [8014, 8015], [8062, 8063], [8127, 8129], [8141, 8143], + [8148, 8149], [8156, 8159], [8173, 8177], [8189, 8303], [8306, 8307], [8314, 8318], + [8330, 8335], [8341, 8449], [8451, 8454], [8456, 8457], [8470, 8472], [8478, 8483], + [8506, 8507], [8512, 8516], [8522, 8525], [8586, 9311], [9372, 9449], [9472, 10101], + [10132, 11263], [11493, 11498], [11503, 11516], [11518, 11519], [11558, 11567], + [11622, 11630], [11632, 11647], [11671, 11679], [11743, 11822], [11824, 12292], + [12296, 12320], [12330, 12336], [12342, 12343], [12349, 12352], [12439, 12444], + [12544, 12548], [12590, 12592], [12687, 12689], [12694, 12703], [12728, 12783], + [12800, 12831], [12842, 12880], [12896, 12927], [12938, 12976], [12992, 13311], + [19894, 19967], [40908, 40959], [42125, 42191], [42238, 42239], [42509, 42511], + [42540, 42559], [42592, 42593], [42607, 42622], [42648, 42655], [42736, 42774], + [42784, 42785], [42889, 42890], [42893, 43002], [43043, 43055], [43062, 43071], + [43124, 43137], [43188, 43215], [43226, 43249], [43256, 43258], [43260, 43263], + [43302, 43311], [43335, 43359], [43389, 43395], [43443, 43470], [43482, 43519], + [43561, 43583], [43596, 43599], [43610, 43615], [43639, 43641], [43643, 43647], + [43698, 43700], [43703, 43704], [43710, 43711], [43715, 43738], [43742, 43967], + [44003, 44015], [44026, 44031], [55204, 55215], [55239, 55242], [55292, 55295], + [57344, 63743], [64046, 64047], [64110, 64111], [64218, 64255], [64263, 64274], + [64280, 64284], [64434, 64466], [64830, 64847], [64912, 64913], [64968, 65007], + [65020, 65135], [65277, 65295], [65306, 65312], [65339, 65344], [65371, 65381], + [65471, 65473], [65480, 65481], [65488, 65489], [65496, 65497]]; + for (i = 0; i < ranges.length; i++) { + start = ranges[i][0]; + end = ranges[i][1]; + for (j = start; j <= end; j++) { + result[j] = true; + } + } + return result; +})(); + +function splitQuery(query) { + var result = []; + var start = -1; + for (var i = 0; i < query.length; i++) { + if (splitChars[query.charCodeAt(i)]) { + if (start !== -1) { + result.push(query.slice(start, i)); + start = -1; + } + } else if (start === -1) { + start = i; + } + } + if (start !== -1) { + result.push(query.slice(start)); + } + return result; +} + + diff --git a/doc/_static/down-pressed.png b/doc/_static/down-pressed.png new file mode 100644 index 0000000000000000000000000000000000000000..5756c8cad8854722893dc70b9eb4bb0400343a39 GIT binary patch literal 222 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`OFdm2Ln;`PZ^+1>KjR?B@S0W7 z%OS_REiHONoJ6{+Ks@6k3590|7k9F+ddB6!zw3#&!aw#S`x}3V3&=A(a#84O-&F7T z^k3tZB;&iR9siw0|F|E|DAL<8r-F4!1H-;1{e*~yAKZN5f0|Ei6yUmR#Is)EM(Po_ zi`qJR6|P<~+)N+kSDgL7AjdIC_!O7Q?eGb+L+qOjm{~LLinM4NHn7U%HcK%uoMYO5 VJ~8zD2B3o(JYD@<);T3K0RV0%P>BEl literal 0 HcmV?d00001 diff --git a/doc/_static/down.png b/doc/_static/down.png new file mode 100644 index 0000000000000000000000000000000000000000..1b3bdad2ceffae91cee61b32f3295f9bbe646e48 GIT binary patch literal 202 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!60wlNoGJgf6CVIL!hEy=F?b*7pIY7kW{q%Rg zx!yQ<9v8bmJwa`TQk7YSw}WVQ()mRdQ;TC;* literal 0 HcmV?d00001 diff --git a/doc/_static/file.png b/doc/_static/file.png new file mode 100644 index 0000000000000000000000000000000000000000..a858a410e4faa62ce324d814e4b816fff83a6fb3 GIT binary patch literal 286 zcmV+(0pb3MP)s`hMrGg#P~ix$^RISR_I47Y|r1 z_CyJOe}D1){SET-^Amu_i71Lt6eYfZjRyw@I6OQAIXXHDfiX^GbOlHe=Ae4>0m)d(f|Me07*qoM6N<$f}vM^LjV8( literal 0 HcmV?d00001 diff --git a/doc/_static/fonts/Inconsolata-Bold.ttf b/doc/_static/fonts/Inconsolata-Bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..809c1f5828f86235347019a50e78b4b486a6a045 GIT binary patch literal 109948 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 lSJOz#fX%lhbk8e1i0vq836dY`S4{>Iiq8{2xe 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

    bO)#R zarzLak8t`Vr_XWv_sz#`+U$Id(>I;Yv322Nge>_%4srx8xe zIj!Nek<)fgh0a>G=2uO;bqtxZPrJ?Y@O?Hed@@WKJ*a29xL00JQM$&Mq;JFxps0bkailezmU9|0 zQ|R1AOk}7um98>WrW&EL)JT=B+{Ξ29ypp!R(LOYK$fsCU(S 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 YaFbT>1t<8 literal 0 HcmV?d00001 diff --git a/doc/_static/fonts/Inconsolata.ttf b/doc/_static/fonts/Inconsolata.ttf new file mode 100644 index 0000000000000000000000000000000000000000..4b8a36d249a05a0fe1575dc3d96ef7079dba6b07 GIT binary patch literal 63184 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 literal 0 HcmV?d00001 diff --git a/doc/_static/fonts/Lato-Bold.ttf b/doc/_static/fonts/Lato-Bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..1d23c7066e095b5bff2c373d4064dc4f33659783 GIT binary patch literal 656544 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

    f8495bJUR}lganziPo-_m8XTO;| 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%0AXJ$}2tfE_bG!=1%jk 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 MBJ=^|GbTs>0dZJj*Z=?k literal 0 HcmV?d00001 diff --git a/doc/_static/fonts/Lato-Regular.ttf b/doc/_static/fonts/Lato-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..0f3d0f837d24834b9b5b0a6b735459c56f5e75c3 GIT binary patch literal 656568 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 w-9m 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

    {e2O2{s7^`lE9GCT@J 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

    !ump=_U%Ldm`W#$)AJp;TW26LE?`p+s$fwQ%}C zp)_rQwQ)K?p(H1P_0%F@igOy6s+I!NoUefC&M9C6wFH=<76ThvZvvY*{{a5nItcs^ z>kx2;>^F8t-t)kF7Gu}(Iq=tW!9}md%KUEJpnCxN3f`xq*oQn#=g@kB*o}-q`$^)u zTpul{CH5unLL2Ic74wJvRzy#OTE(FEdNF$;R^!fr?71;>)f!{+DR-watweX5F|jN0 zl9&muSz|1A6WxtsCb^r%tmVEeX0p3U%-Zf2G3&Tn#Y}Oxi<#=~5Hro)C1$$2Tg(i1 zkC+W{b_4b2&Ik5Fe=+qp2AGSJ6R0P(+SHH>M9x-#M)B?fV1kR9L!J!9lUzgVTCSmN zvTLYZ+g%2%<1PoLxGRCF?kZrKy9Suwpc>V@>NRhS^5;=+bbGr4@4Kpm)dO z{EBH+&4K-J?gaTkIE@{QQd@7>%vzhq8I)4LCWxUI<_!ubLTX^8>@UzIf&Q+01m+pO z#M|a=@HTocdz)~x;1+MIYrC%NxIwp~Tgm+yPMI)%^(ao_yn}lWK2{UJ?~HNAg5N3Q z>&@-kkZvcJUF8N`?OJYi{3^(Q0h)15VT|%FpBmmN;h;!3D8nHIaUZGwJF`=4Y`Qdc adHZ(BTZNev*8X&ls2nqVA4NVRa`gZB#}q{X literal 0 HcmV?d00001 diff --git a/doc/_static/fonts/Lato/lato-bold.eot b/doc/_static/fonts/Lato/lato-bold.eot new file mode 100644 index 0000000000000000000000000000000000000000..3361183a419c188282a8545eaa8d8e298b8ffaab GIT binary patch literal 256056 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

    LiF6s4qCmqR)As z$QH9@XWJG!)ZCNP5i>aQH`0XzZ5?h5uu@ofanhD9%yk8FJ!RAUP~<{Dkppf*`oU&s zQ(6>Zepy=dc89E55V>YjqRUlO^_TjG7xY>=xbq#rS#{7OfEl=fy$c)MHK)CHfHvau z9QPTu3e?=vLF|pQd_c$>%|K$5;$u_}S!ro@wq9XdG4xNcDl+`mNv}gQU0~ZuJNcq7xA?BcN+mQ7e z^pQc~&UaIz{8L_%{s=md#s^-X(h78wlH*P{-)<~-$>4{!I-Qwx%#^5}3AT~qRu?o} z!?c(^mJ$is@ZmqJ0M3bB>+s;kq+3<}w5LqOj((i8X;@E^w!8>Rjv8ZX+-nB2v4;gR zJ1Fb1R#>hCDj`RGK8;M^uC8|!rSraRt z3XjKdE9E36gqkue4JvV5hqbB@?5q##Pd%i{wQ_2Uo+6_grre3VA_o+6y!u0GwVO#%H(y z|GN8?yvb)P4ubM#A*Cy+Az3L!(hWhAdDQ>Mt=%V^ICF4|>R}`NVKu$brv) zEy#1BmDNUUpg`v+=Mt@gfL92Mbut(+LNR<|fyhEg;#~9~wDTfaWZ;W; z4`rBdRN2M~rA83DM{<}Ln)|Mwz^KF}6wlPi{$f)K!k=7~fSvvGM&U;?nehm8mHZRa zl=H*nt35UYn-iV*bB*Q69>dWtP1FYc_Oi*(lHxG2348$n2oyKo$%}DWT>2U}=-8<6 zea#g1Jb|z$x0O;QcU6D|CAjI(12!@ZGjMG@6JoSFTCi*u9dttjUQd5J-Bdt)hJnJv zAi&!ao*B_(RX^f^HeGu=j9W+!U)VkO+O+@JPRCLn!onJ-f_cH&0Rm*xTkt}&VGG#b z^~FGX8r8Br*->ebP!Mn4LO}2Mk^?wy7?N~2OehcjV!k$gwuuLD5W>jcP zXTpdNVffGQ}ljz29fN2uaS|iD(kO!Srz-llXjXY1G1f%mS7#$=u2s4 zOD@jA@nQ&J{R%djkK6F6Y-_TkNHCJGx>#FB5@k5Gj08}yC+y$Pn)xwQXIavo7JniA zs2t0(d|Gkn#*8;m*PUN1=Y|I$(viF(BX`InR@W2~94@?evPP!|hv-_3V_2v#b~LK( z;|@Eq(33gItfnwHhq8%5i>g!`W%-=bfzhV{$-OB+AL!?UrMAPY*g)(we*BI+0W{gz z(~xp_LV%bMWWU@%g%3y(Os&x!RbQBae>1V$N5Bx_I$7ze=-GPN-J(DrlqJN_ zI$Pp&K+6|WG%eTSMeEaKZnZ4ZTya%U)86wMT9{Dp7u{-hZ#D&~#t5MpqYV?5iN|de zdB}RD&7>?2fOWf!_cI+aBeB8IC@~vlq~wT{E8}2(@BP$8f!TFd9i%#IYD0LZUM_K@^mfVv0y9 zVcKO*5eCbm^NQ2!ox?^Jj?0duhzqt{;Aw~9o?Xpb!(1!BuQ2so?rs7;&Q-_2 zr2P#&?AFr6Eju!8UVZl<5aUeI47jiy(Q_h}T%8TPup!wp&Lz+oE+WKqigLezhjo6f zEjHY%Cqd#TMhO1g{7A*!F^tSkY?WNZ=tZ{T{GBGXj9=8 zivZ(3Al{Kz+CV*hTj0UsF0393u=TVk&TZ{*{5N9GBeh`=KECOIZ_R^X-K;M66ZTEy zc2wG_vC!OcV9nA}5OznGUHS~mI-*^{eWDzQzZQtd_8HumrdUrjXv&V^Q$$Iayu%Hh z%tDtHt*|c7F_c;KUz7oF@ks=%wri!>to%T(;oxm3y#%<@plv6RFLhs31_)q^lu9q0 zEn+d2&TNt-t8F4;jRA0#aDz;`KtPC|V#^ofgF<4nPhQ_Q_H}8N8wiJ#fGv};cXvj; zleD6+Z{Bg80a1@uF|}QUDhRZU;MZf?Y}RX9&buYUnb+IpK~7^j8JYzb62tJ*ShSWx zQ8i-54lr9oVzw$3m5jGikC=XDm zICLXiW7cyNv&cATb!xY!YP8uG5Vjj$TXx2)%(7MNvQ>_O8(Hx;OJALAe|5E4{7{{nwjt5@WRiRVXbvXdWs9bf@Ss{E zHyvI$aQq%d@GvpsR@30}SyxRZ{JHw$6g+_=q~vLoKx7+JRIqr*rDhKl(2oa6N}kb< zz&6{!Ph13{S!Z^dUx7C0Lv!l#d{I7QIv;p zc|!Qu(1q+TVM{hW%l6j*Gal5GHQ}P|Jy2AUeP*DCu0uoIn>anjjvXJ1I;nmB0)3`f z#v$u-Q0-u^dtg~ezzYAd=QQI9J(&Ug_O%S(D}CuLfQ5IOFSOjEi{)4puv<8QZ@Q>CW5XRC&qGf_UAi~h@M88(jz7-TzA&zVvwE*Y=k~meB+(L z!A5vfV>LvGmO&wJr1m-yqLi|rz(h7d4U?V$wDz}-8lykq-!Lvnhp1qVwDd}w32&1J zNiqRr^V8s!i84Ckn4<|i7_mHLJi%ZoayiORvGCD6vahf>%ns#U+x8LLO8wTVnL|>2 z>{)v{ky^*T%#;+kE7Ay1{ew_%9~~6udx_j(OQ|zaG}p*IHI?oF$(^| ze{LF1f@uN%1BSu>;x-u6*KE_MDp^4+5_8O_<>=C04{UP%Aq@Kmo9G`=JRZq*-Jh`f zWE7xATbt<6;vTZO#%X=OmoY$Gu|QDf^IIKCJQ+>fXBv>nn4rruk=|Ir`-r@-aUkXv zc=CN9DNX)4kfCk1pA%vL^l5%1)Eu|Ms^rWmRTjyH#H4tUC|Xkd(a5m@pyR z87W-QDtUY?RZOw0<0!Qrpi46LKlYzhD^eN|NX72>C7ym=&ZyGJG4&Vaj4N(QslFNF zg|j)ouO#sRb@vXNS)C8r0y)|YvL*NKcu8A|ak*&PRjurBdoMCd+>WJ|SE9T}|S*e@Vw3#i>AKQP)Tb4Len_Pwd zHQay=`#LJ~Jh36{%kEhkZ7P>f7MA-uJz|_iE8%2;$_Sg4Yn5Bzb=2KL5>Qq1 zLt5x?7Z!z-f@f4!{YmCm^CETi^JedHhB6tcBju*OHg&7VL;m%$lT*>{&SOw9+r&y9 zJ+7`tn1&TXC~&+|z5(OS2(yT@W;%3965sB3banpi|APFK@sZs%i9!5Wb;Z$WCom8g zHJ#GFr7>Wa*F(eLa2mVzj6DS{+&`1?4s*KjOp^a&tZ6F_GzQZcs?>BH7x7qFH?Sw- zK5|HoND|V*cWzv8Ur6^GVBd^+RrNOv}++1Y+e>Nj@OX$fjST0=TCPzz~f+ihG$L6L*VbT%zdN zqj(Wa+!ujF^~x~teVtmN&DL>N0_)yMD}RV*A@9&pnGBsjKF!=>#{;Ok@E}0>20Vqo z#=7Bq)I7Pf^lyK=D&b^(&4%0ajyxmZ)Yai|*!oyS#!+Re&{16>x*k9z{03@C@evpY zE3Lew^VBUWEf#iIR#vj;2A2xn2z;kygB1S#;1m6W%Hwd#(o$$;9_~u!$#cq^atl1@ z2qwTd6gj9R-#jr;v4Wr=xUbL03&ywUonsi`UD6Rk$&LNV1027eLlh4977E($(z*O_g!1*w$YHVqs|2qBt~HDFi1_MLU(u@cgoCsDsr zG{kab=1wJ`4r%xU*)a2oP`w5 z8EtG}6+|3%z|h;{%~tK7U-d!;%}Wb1%}B-+go=#Of!TH(UWV{K+#8+@JmlrANXd?r zK#UNvGD?miB9;mmIz`>E~fx$ME(ji!)r8-C2eqrHp?yM_9U#NppijAV9D}Qe!vuJ?aD`D zb=_4%49IY7IdX}1#NSp6pFCp)e^7`RDMi2Lo$Z6EdEW1K1hj}KbN9g+w;@r;%k1G& zzYDAYk%NNT%VJd^f=*LAgOjf=+0+|AK-v1s_1J5gKz@|>QSq}jQls4o4TQWPyk!BQ z*|`Z}Y=1#=6X5GY_MR%qDTH~^%iR0{qVyUg5VGfVFcZUIBPn#+n(M)G9KqvgVydg@ zMkH~*YX}IXa--S+m=@&#uI_*seN=cxSci&tl>NOseCN3N1^n}r-PQ4SlrYgcyMIo0 zTDpB5eUJI&GbKHCED!%tp|TCpAZW?8@p0Nq+!BE5DADb_e)IoZ!vl!-@GS@ZTl19j z5z!6&#k1I5=gvwN7&qpN)JNc<0AV3YxNgFfQ*gh4%tJ?fh1kn#)iN<6;uSzywkTg>B0?15ClM1fSwVKLcb zc_LxYlj7luz04}t+5o6Z%%#~xLqggOTpDaZ=oPlX#~_sQ5uyKwo}_)u^I`pDelE+H6bQ4fZ5V$@N2710UI4XDB$N?*%Zkw{k* zjNno9urvj7n&WS0N4V|$N{f=fFpsE#AaC$hvQUaran8rTf+1$;(_y&UN1g_Zh6qPp z_S>dv`d{weYt|rTCC;Cuw`{=BM@Ej6>%a$6=%}mh*p>HMb|$aKQDI#95{z*Kl4xlxOtiNZk7Qd$%5kA8C7VMgc&p;Ot-zQ)yC-p)Pu`di-bfyY z&ajwvY1jVB0=i;zEB=oY_xis{igTEr&-uRt1&l@r#9?bJbEah_4gJ{=r_j5^0mD&6 zR^fxGM1Y`hmV{Ct5>l5?iEVfn(UJ>e`H48_al30Vj`PpY*n3DTsK!&G;(cCVy_htP z?jtxn!3u!uWH$q46z$oQ&RJS1z;egeY<53GeVXGuX|a$AAt%=v^UGf=&HnC>CPrm-pO{GHKDMKQiIYlRS3+?(AgmRl*G_FGTBRa;E0{pb0!$2)gHrcXH)>`b$iFrarMp?e z2>G?w5r0|2WNPV4{!~HzqxGi-eYP$fZ-CGPrhcbCE4-QnZz?jLuD!QBTK1|J3( z+?l}!*N?lqyTh@&cM-dH7m-o@Dl0p?x+AJ1swyiV*QwUnx7C}B#^dD`2011MF$56o zn$U{Zq3xA04(chss2t~7KTq3QRNKDtb)#m8p~*Dievl0t`2*3aL;ssJc+XPWM5NB# zO(CPFd2u+9M)=qUD^qZHfO)!MU-xqC0iS`j#fM1gP?TYF?m!flMdX>s;(dXFx=O{N zH5CLai3<8_MV1aiYcG>*RSzR)VW|!;R zKb4rJp{G2ZQ`KjGVAFiwz1Z>3(ht5N8tN!GdHo1%@1gUe2t9Hi4d-VFMw$u?cd2c^ zx0pTmR}K(Sf5ZJEzB#i&&}Hr|xad7GA0088lPFU5`iOHGr~!NYbzce<3&-6M_zE-e zxZE0f?{v&vI7*E6Zs3oPL|*qSNY|wnEzfbl@pd1sV`Nptd8$7?(7-DbqlG!UfjN_s z5)|XWuDG61J;6QFHdBc*D&fXhYCvCg2Fc=ufvMlNnXXbS&J zFy`Hq&}}n`5V5VD_8zAWkJtEt&eQ|ODw}$3?v)fWpJ@aTlq7w(q~R0{0|QVHgv+&V zo8-g*-W`(CCj0Pi6|d}An(4C&N{a;hY@JaY9LsQ zs3Um!?|y7LDKHR_H#j2WLn{!$F@1}lw=Rt9%r9|FpRBId_nM!pHN}`>-)uN+sXB4ro(yn5ATH|< zb9a4DK_&S@a1=Ju-I6F>W>obrkJx2U0Wwg2asxy@wA0IkXR9LN_1CR5z!+wpJWiwF zWx6Zr=*O2K+`x0+z1Zb}?hw+?g9)6s$+o&i0{Yv6u&hi;V}sA$@Jc#bW~SOSEH)}I z?w7{2A>!&@5LsrVXZUA^jvp{wqxwVb-j+seF3F3US$5JVrL4Gx(F!;a%%vwX-yg|l zc*CQKW6#BTZR|xVaF&#K#!7PFLRvM|MG|>(NNs}2D)%xoYdd4@#qv8T?8jLoS2{KA ztMh4tQx{h#Y&BNYtq85OAL9+U(|qZPooSh+DRetvVToQRBjj-HXkZL>D)$W=udF-3 zaK2~y|^;BFHE&sD=&w;adhJ>HlRT^GV$LL?@Q7OCEfzVec5m|HX{+aqhC({Bqg zi)oF@O&+lL1L@4d48lNb)d2+OYVAjkP0k5B=uJjuf<#6h69OXskt#?dWR8!h4&_Uj z$z-+cr|$A}BeNFUA(EevOq}4o{pnxyv12k=fnt`+FM4%{7Jn7mqP{8Pbw-?jIo5h} zo{V-*5m>{VjL>qV_(Rm0E*`&E#))$OCX`%lEPoP1O|Tr@ef?PW)H6NLTbU|gKUiP+ z%EA#SVacEfKer4Nml8Y05mX1d=OFwGPR8!emJ^JSx;H`TExwcr%o=u0OsC&FIYM${W1F$CTYG>R6hI@x(-Kz|54Z(>6er^h>mMMvl>T2C@eriWB zx}3uUS4vMgAyVoodWZBJKQM*}Ag0MZB~hNm{59{x_bP|_x>sXqFQ6sffNxNR3MqJ! z?eha|F*+EUkF{$3qP|&+E!d$ja~Vx6mWl17-T%zYbQQ-|zxhDtyr@ z9SY}OIYyU+f@-<@p)1r%`{RB41g+KR8@rx#r>HHHn6cV;Fi>U53Y4F8dHe>(n^kSo zbj)mUBrns)J_F|Jd83LwuA`Jef>z)J{dCv#+RDVp@i9@|;fZR}klG;fZeXIEvs1R( zKLKkQ4SKoP7Y!?7HS-@tkA0@%NJN^gNp6GG-a3lpAg+y$kPk-LEt;Da~?>tB?@p$s5!_?O;8Q$r- z{gJIxikVm66&%~Hz!X>#X$cm63xzc_0u$hu`ZBkRqK8I{d76Z$SCJIj)ctYsQPU)- zSYElb(15Einq+gEk_UdK|HkGPx>Poy&^EkCUn1Dn@gtu2_DPPAnw6>)KEzf-)J@HP z%F^xNtL3w;Nu0_jS0Z0uO-{rCqD7dR;y25BM!TL5jbO$QAAtS#O%sj9;@-PuGL(Yf z9UJ;modJ6L4&!H=^pJu{IxVRT(>+@)4-AiIMf;t3hcuCUp2Iz~|10cugS3x^>%i(J z@{VqEeVz@KhnHp8_LLRVW4AgAH4TlzH%l6GBrL8TH^N_pv9d1dt1u>h(4Uc)V*2w~ z4{7F;DTp;+o+wOv=KGoolq3ALLj3oWqah9nI&$L%OgSuH5LmMkfBDa@N)2pf>mQ#} zV}k_A5R6X%%#5C7+_+*Lwypwx#E+Xe50Z8#KHWBw+_;sLrtYC$jd0FF^P#O1ZA0EG zKE#Y35zE4e%L`f8O!v?#LBw~sek6(e;DjMOhlS4bW@0`>%tfhU)8c3@qo8XTo@G8H zuwamtgg_%?CS~s0@6regs&`_CIcnR<6b)GGg%MVXg88fi-`~PuwJY+p`Tz%}N)hWv zU3jKgszIUKp|W?ly&U9{)gUz>N35BKo&o>eVB~#knJsO>iWeAeFz4+l7tkgF84ul2~tP} z(^3qi+uI_UeL5fWRVb)G!+PcZP^}-+%VtmvB4b&J^1_os)n#?gq){Y@SN++~nnqM=@Et-Jbgly% z)={}IVXL%dj8&O%ilPe93b2u{;&OGhAhMc#ak04`H|gja=$ZI!NR%yX{Ep;__j!pM zSh6G^#iGEuM&n*m+F}(oF%B5=k0J>&pofd!U49^tAiHt-1=8>u?=98FOyxw|s}lIi zxY@YbvypE(;GX$yzt@mxrA(qR`8-O{2eCJlnMDk{%sQ!V@jx?GYgRAe$}EK)$W&D; zd~807N=u7}!DyY%Y%=#nddVooS12xdBEghu8{~oBd;J`oEY1{|BwPRN)73L7_BdU) zEmU$NO#szNF&vwET=e)8AzY-s2m;lpt4thTU|&~SLa#j>?VkjBe=XSZ<{bCFXra%? zx;xBv1ji-PtiDjb#8tf5rP3RG;lSsi^*AGh=s0(NmUie?vYD7Juit3|_q zX_NU#QH>v((m_p#OT5K>ZPHJi(#{MQ64|Yw(YL!Kv?q>^IHM;oG+b#t<$TId>Z>vF zdKty4I~Qeu&JUmkb*XuFm#+8vSil5vN>6fsCc?C2&v(c|qG<45&$5`ElCt$_mitlc z@NpxW>$e1XS&swXFovo0MD48M<8K_GW&-gKpFgmxSckZIKZ2dJ+Y-bV5tXX=_1F!o+9@Gfft~HLTYfSbq>+fh zboB`IDy<8>R85}raKR}c(wP9!6l@9fv?gfc*MB}1iKDsCA2lj1v*w+nXW}uEbxmPr z#~U3gt5RB5X!u%l(P{DT#)K^u!sl8(LvZK(78R}8%CV07@d$F{l9fYvtWac)t0g+9 zZdqsRz8o<5Y?j5N{XJQqA~E+%Ij#nPJ3EtWpw>-)hK-9i6DdiwUz z%o?H5#4A%{UjGiu#7h{(?X+ZX&Ep8k7AkX@$k@2k5=fK5V`Ko?2;c<0N~^HU7<+B} zlt;gMt(~$*`+FkXC#Z`dBj+v>fSBtLi8K|^2XW@QD61*Htt_7R+EAkgvMM8093{h z%d|w?N0O{wiYN$7j&MIMOK-8SODkrrDwe{J@--L`#prfCt?y|h=?SK&T>p6B8Ed%i z>y%6h$z8oSm2F3@yGGxu0$8I+q@mE8?pojO4eG9oc*~+KAfxR09)Ip2Q6bL_xJ%Mh z&|~<}RM6IbX*{4q?k3n(%j)5Nb9J4!7pE6aOZE~h%qhNoXLxm_bSp59Qsl=3{_EC| zksjHc0qt-xS`(d`yIGJM4K(Tc=})D>^(sND_DQ{*?o0a116In7isnrT|?=u8=+cRKY zb5>zI46Ss}%->LTPtyP}Y(=~0;}+IVXDtR48$k!XJLUro%GbEkoxNO~j#0YdT2S$24EiIM7KLNf@sCN&>zvctx#?xvZ1?8c(!G#o;PT^#unWzAv-7 zUlY;R^Xk?C`Gve56h?}ULZi|`q7L?~W4c8qc{d;}bm3A$g4M^y z*;7U;rg+|`vZLO&t!Z!!mu@z#scwV2%;8J??vrX;ejc) z8>a4PCheVrrL&5WXU;RX+T6B!YhN2KHdO_E|Dr0`s_j+8pQs{rX0UNZjH^CU+cXVHvRI~g1kAS1X;l1Njkk>9Q;asue~=c_2mVQqdYgzryqRPt`yEB4(o|kC@(e$Y zEn3IU^u+uh^1Hnwyu2K}JoqkBbh0m^!uts?JE*Q^ZfcZfRsyy?w{v64_}qjG$}J(q zZ7e;1RCR#+fyKzfh`lTYx!OZri`0%>Lf^_GwVY)Aq@gRVhg~+Yb!yVXJh%dkhJRy~ zH}YeUIf+XQF?;mnW#k$W{cVn(D$6fD#ERmqO)`^F0VVlL6xn4)0u8XUwrnCsIk;aO z-`M3I+=hOrx5a!B*fNm|suv%PXJz&!{R*c?EX5O%;{E7w!;>11Un}APfm?6vEa4is z=plMggp*O4>XyEij65?bl%a2dty{L(lrb|=1p0N1oL8FEW0vEa-akjATV+WpZMN9G zc|{-s8%V`m>uYg1)p}Ote$6-R6Jyp%o3k!u=wwf zP%64r2egS-8I|6Lw(ED(A+GAcPW!LFWC5sMLrPx15T`RD6awl4t3K-KoskC7U2^zz zPj{;FJJP$$OW$!8EbOA$nGEz9tv6tdt0y5F+qJ2~NFu?BA}qpQa$VnVJ)6gau*9mZ z0}PWm(EOA$Sx8*E*IV-Hhx@rzg)!>fg4H@&nD$-F?4*tYHaK`Ch9)8vPr0);by&l6 zPZ^FeL}Hp?IsO`V8@&=Avn1_;ZQ8-dRfsk|e-cp->(;nuqtm@&SVjZ>)ABo?o2PO}>2?L+ za!5W*B3Cqg7+Hmr@Nl<#{^pM4SVl~vw>!BFywQuBYfh}=1EDRk-NeujxK?7*Qxwo> ziE570C9eG(;>DV>qw80zSG!(QZTsjvTx0u~^BRjBbJF2xC-v%|e6N(ERKo0z$9mPJ7qN(gxXYL#WSFl_U?2O$V}e17-)M!23(LC)S4&<1W&R3gBUu5AXy^< zylKErGr%X7l;qD%cyQQRkbOD>)=N0@hoVAsnI#RjHR7;ZE<#Y--S*B{J8Jy zQs2ts!}HB%=2XZt1Aee0P*WYlM$Ha+&-=}hn$O@57Jm4Ap)%v0nF}DU8L}+?v}-Ah zL4b#S>YJmszD%%NKZI9X{iIB9K&wF-lxavtz}{iK70PSV(iJr#>ni3rWBe{O0LQJOLtxRU;sxqG3iSQcdC3~IbYLA zopC`>C%T9DH!x+u3Xgv?`9gxdDQ$q_!>m1#5CYcEgLIuy88J0JfV3IuEX9XZE1vjK z9L)?M7zOsnl|*2EsQd{M#nsw*BT{qd6{vn^v;0e=f=mu6)h(limzPS0J6@f=OpNu! zT#Gsi7F*R_9M-38H0-hJ+{n}^FcL}isUA*ZeyPLl z3fb5}xaHwWYpfp&VjTtntkoCK6o2?*Z{LZeO+eD{!p*3cMq_{_6#C$EH^L@rHuf{M z%t+q*@kh@i$$42I-0@1~7dUo40cWa=2$oE9THL*$hBhA!cFHkjQn-pR-}o9&efVhB zNg6hdzoIF?>h4s0q9@!nj?f&ozdJ{;z7D#pVpTpvZ-Ve>i%BDm3lKCjPnGR>7~RN) zxT0yT_A&ZN>gtW|;iQ*7{OQMITG+9cuc)scun9Ylax1knWtZ)Jt8@6%jmK^shsVfp*5MK9?iPLE%OXdFZ~ ze1sfsVoN&H=ytvf&71LJ6ibXYfFUwVl{%?`BWRyOqNVQ*&(dabY zBc`};#WrVwR^wNYkdZ!_%y@iN;HiAccd5Cce0@}=;M<7a_K*)hREupatsLXvXtHKW z0_L!9RG0O}<~pG23K?++CP}LpQ+am7W)cgQmEqXDveP1yAKQhA^@!@z(e!;p@z{LS znPIOKjFbHArU>;{F0a{~4!=sK-fI+%YY5U3`vL$?{`6*>-R8R3-}RP=-;+1|62Id% zf3qyxmMOw)tm}p>qbF*opG!R&^+V#zS@H$ptocGqAy0KrQ6pq>%_bOE`z+{bH$x%C z=H3pxL~H)ey|WnT-F{Y?RNvyR!Lo~Aa-rSOs{5kmJh{(1AJqnn$5yj z$J9`Am>?Yq+^Hd`hkUvefm#qre{bHAY%m)9Y`YEl(&i7me2?*es(UL7q!`ZAr{GPPZ=u7n4X;_CIqnPNRO*tgGjicXfct?NwHHJfCPB)i!}A0K z5E{{I-@KSmROS}5hrl#jNQTy2a6KomfqJz?9WM9SW($^{#$i8QzCxjeJz%Acjo7}X zcVsV~1y8@FXranEohp&qlE9yKPpX(J57WfY{>(;E#bR&Vne~!85!HJNW8W+bQIMem zVIPw{G%Bs-(00hnx<8rb>j7~#>jrZ3-Hdh+$axTtj3+&RH~7fzZt4htVip<>)O}up zj;Z=3HeY>+c*5u{%I4jLSUitz%{kYK;c7UGT^n-#Wo_&3;4ln1I~y1eDOmi?@Fbrz z_dcxSXmXp7`EHxcN6Og{?nX`I+LIgGZ%M>YI_G-NbQLy0oy6(z%4cFHbO6rLlc-Om3S`oe};^ z1$r(nfBp3bPwG1n5z3MW)smz(*KyE4wTx!-JlIHWEpDorondX>22z zg?hq5PFN7^S0Bk+vcDlv8A?G7KPSG9_&u0NS2U!a;=T=O%J~tNp`!e)apNrAB5J$o zgs~Thlcus{)Q>*2g&HD%G_8XIZC|G0;Ak)Ru1N>U`&!(yY-vX{S%Zv6ns-^l*Wd1C zW=#2xh1opE$tlek1+7_lnw?tA=N^Rd;!F=TeSDHQ)hH8KT|Uo5Qdj z5xF&4*$3HpoMgrJ<d`6rh3ujn7!(07T{W1g8teB z>OUgU&M>~-%v=#Mj6dyg;cn0)VD2hz;P-;HGv^dzTwG${b3Cyyr46}ZEK-OvtlT9_h*`ErMJW z>K0!Qe-2YrM4>R}9aa&Jcbz+$b|BMnH{p^la0L8kQ!feoNc*lAtQ(TI_xIK?!5Fh* zbIu>Z>@RM(0cEm~)KCRiM3QqJq`f__xG`pha)ljjL9#5IX?JyLAO4gIgy7T70P_`b zs7+$gU`(KD14@UXIJIBF<)j2y2!Da%Rq1Q9&k<*n2P%a5g2;<&y-EKCjY$H@6?Jb1 zjU_?g@xXLDg2G+nO9F!HoT8_7`&u>G~B8$Vvm$xR*{zeKHehwwlO7YdR8g#j;?b=}@M9!a-3Mi7ZIDeed2y`%k%yuv->fK?eq#t4Oi!GoPXUKRNV82zE@-ruo9 zycTO2U%>Iva>o_RkE=bK_Ue##z!+?m2a=}=gEUU?ICbyMgggxM^Z-1_mb8~|O!SY^ z@`@C^9glw?TKwHGdAkCvTz#dq{yLA~bHcWJ6`dS^av2r&92SEJv)&@?s}+cJb&n1F z>VUNSIO~);aT*5CsIrflimg>fw}>0fBfM#J5c5nYlOVNPPQfZMc#X(NEZty6>M11( zwO08Bp32iF4~pi}i)$}KFwdqbicl`!tX8h z1>pB_J!HQj986`g5$l#fz+-v;Km;UPAm^9*q0`S$_>w5~at_paM2=MxiT)7-cjECEX1aZ) z8oJ|oVfovTwn#m2^zcY69wq-%M&t8Gzu&(-gu{imz3`Vr?p6xKa*SB@3dQ2jSod0Z zQMC2hmgI~vauqn4^QsK>pN>NFh!03|@Y@fIJ`c9v%ef;UFjI3>`n3lyv(~?+M%rb- z-P=VZRbg1ypV@Heq96BOz{I)jELERId2dRK?RgZEe#H$Uub9A^=rm?2bc`>YCVzff zVfXo5ckmN3=}X>pCX-0s)amal6-ULgiwPM$qV37q#h4J1NFSeX__(X(C4}}&zyxqs*ga?KH$dEe&Bt^b$ zA4z|>^#Ol<*#PK6HQa;!3`sGG{J^UPqz|NJ3ZTw;o5!)*l9pu zayUbjwwRcVlx6TNnZv5(xycdhF*A6S9HS}Pmdz|teN6FzyEZ{>BU+cHvZ&hU9FmM8 z0Cde1KgKlrSL~_4%P!}^Ho3)L@S)KZblmnMQxKJSeqK}EAz6K1vvb!pxVZFOS>*J9 z(5N38hESJpBGgm9xme1NZE2+lmeDjYH#V2wP_KQP8F7T%Ua&j)V!gZ#OPw0ALN=x1 z!}ui;ma7y=na~5cO9t7qEXe?ne8Ap~kr53l04YfLX(_FH#%K>i{7215I3WCZ3RqWztIuy=weslzj7L{889P>jE~WuCykrO#O3l!zdj|F zde@1pxEK_>7_*0u=Hy*dV2q}-SuZt**@g)WrMk=Ya=Pca9nC&I@8h_xE@R3|g3aAE zxo~x}SH*ke+|^BSHCsu;%tjvk!I^Cd<4wJQJW{%lM%Vvk;3*bWo)mG-B~r8v~62pSrY zUt=GnCDE6z1zRQ-Cr`{sJ2M=1r2gcQotQayrvKWJ{F6ttV-}Q`eqtff`M)9Kj(B?> z-i?{cYC5BZcyk`!s7;cso6_YXC0I3A_lpmx>T;pzzeD9*T{<67TOD?bwyf1CztagVEJQRo>tK4|A4|^`F&lUXwWFzTo+h&Ul(o2RlGuq z1-k^*5`A@UVwzrsOr24)btfcPqwrWc@N|ICv+pMtz6RedA}F^R62;wr$&=FdIY^oi z37_Hq^L7v;+guA+c0w189>h@lUl5KDgm^i}4VE6zg+l-#y3RI&CD(OHeL%LCv-M!f zWrGC7)btlygnzsS5|4H4kxBvPH*<3^qIF&G;kDMoP>O0>cbbElsON zF1Qf$3)rAa3_THCQzBb_d2yyy-5UI!!a{4%(T$D*u56Tzsy#o@Djjn3ZIw#!=&B_n z{bPj#Uq3{BUqt3DNmc@H@&54W&A~rPh*L%X>+o;6WLCk7BTM`jiL~2;UPRm8FK$a1 zZ&JFq@|u~hGhE^Ui~tjylr|Sk5kzoho@^A``Oc^J;MWuu9)k`sv}kZyy6nE|*_Kup zeXw8(6PiJ62wD`lY*%*g^7Kusi7zO^GS*yf;6>#0<+$j*BlqOPPvrFBxM-jw*Wq*9 zvbXlUP%=@SDcOZy=dW6It?H>p`4rmAaT_Tk?Vq6IKUOne>!Rr?%j`VYzVAe}k|g## z4;&il1l)L!^&V&U5#WEFqvhte{{--@VuS4G(hBu<#n488AJj~ z>CZ$0S!L$6*z1U*Z)<%q^%0aZ7yeOZ4yZS~Tm<$)T}}bH#LN&B5JMJ zw4{KDYS6XPUn^g#FKU3S7tSd&t+XA*onJ38`MD!@iJUL1UBBe*l@T(pCb=DCo3v{) zKBL{2*BGi|4wag*pqN0!MLaw7IZ0LHkeOTL5&eZZ$w7-G+vDtVWg;?;9KErJ>Mc{h z;D?Vj{Bd2y&MTLnsrq9Pg?&;^H4_DCfi5RWz*^*B~Zo z00pzv1WlP=3QY}PYV~7cY5K@FYZkSVAI0^MARQnzo0F_#zrTJ%4~xERUJ3o77k6jd z8U)l!y*tCxbt_NAM3$?1o5Z8@IG zuZ(j`x^I)G`O3AhqRVGREqq;}IH&q&KOW8jZ~mnXWmmxqc0>CKh9k&y7KZ0l#z+t) zkAH^Hsw`>5<>f~o=;D()5Nqbgucji!oPHJW*Eio3UcZ+0JBjSMgxGA)m7)m~GcH7$ z|ALTycA_i0{#H!w@b-0V2%o_&9JAvoOV*R?G~MUGzU3=iRD{5YweeP4G0DBOtKwI@48C`#+wMqz^N z*uI`UZ+8Jg+=%|QCtpPcIU9hO&3~Q zj8PQdwsz+d!p)9e>)BHL?`o^qpN9M?WOBV?lI#5TRr&6)JVV=ga-8_d*?3OhDHHh6 z7aVQPxu?!ZObnT|IGgF@1&a#QCG31UIg;1Vn-ozo8J5RpFC@kg!8jD@CtWmhkD zFk}~9m+SOa%N7m&l20|K!C69=CHEt56=pDXJKFtT_qx;DEg7Q+CaIVzPCE_UyYS&D!JtWj87C4Rz z1hr!wcC|-Fnby)h`Y-ITLVm9^uvH4L)3Dus+gfnW&smWOl`pEWoUvD|GSWLpLDY?3 z1)UTUOW_1>>)f4!u>2am7)dR8Z=Ve0ktl%w-t2SHQeT+#-x~c6x}OsPFLe4(@qP~w z&*Ok+8vUmTzX#KsLx3GJ7$J%H0yD%42hpo?BClTyf1kkS3F3?}ycPBU&?7BH3~31p z1z*pSeh^3wwU?6Vww@uS27mRGFMy=9FUd;@xBN~Vs$-Gy*cSSzihGT!z)3y&a0BDN zlk{*kR`uFaPv?TgP|5i{0gcMuvIW=J1ppUyX&XHEv~Fh_^=SNXC7_)Oin=kN$W1Sz z8V=80Q`E(pTN?9b%&-@KLz>l>d*f9^j{K;7{C6`%^c*Tku70cW3?$Sn9(R$q(y;;a zOmE$;jwN@4y`Ko!&HA3i_9UO#wx1$h%(> zPWTk{|C0Lz_4{}uTiysGy^ZIoVv(t0;hK=kz%mo-*8iW>qD-_>GF|2TSJJa^(eOkw57ThZA0E7;p@}9Arhn6aU|Wvh zCz{Zh{!#pa%{qctX+&Y_;s2vQScZXEW>MLZ!^dU5!t(h8z|gVUDx*T-z{r>D5i7R^ zzY+w7Xkx+5+Kzo4L1w zPvULqNaXcn#t*^1X~z&e{fjp!tvN{M+N%^-7~Uam#e4i(hU5MZ*hdFm!pFN^!}4co z45K3V(ZjueMX!qfoW8*NbrbYJ@trRBxOv>-t|C;g0DE{8Jb~EL^gW^yRM&XK4*ABm zb*X^WLr7?S*vljt*kUuacn8CUhy6#AK!1kMqtI1HhC1G(NUhf zBt)&Z9l$m`-$gFBZ_?1%PLT$;$XG1$Bx>w08(k|R!@lbAtD8J^X7`t^tlio22gf2> zQ=yKBahq5baJ`Re4WI7iPG$0LEf{guW*IOzQ?(yIU_p_h)vd-aYIaD){0~8kJ{ZuQ8e#Fm37W@-NNVr)H;&Sl#|d>FJfa!j2{a>-WoD zo3GoKUQ8CfgM;TU7hAr5Z4~Iof74CJag| zn~M^oI|jqG*=XaMz=O|yLyBB(nJN_H*k>Qdli;uc)7`8zvh zf+CSs#);9%i2QHQjAKJZ$rU=Y@n?S}E)MNxxb$XA(;2s%h?GB!BfSOP48(zXZ92c9ODKo{fNkTFobL#)Kd(^G^tdeg;>}G*W(`ln$S8_$74QA8 z$49dtgRqj2$Q`R^c_cPiyce4%M-Bqlucv30Q%?_{;mbRCO-M?R?FMN^Azd!YHSnujV6`aao3^^^`2Ppp}IlcNj>1cQl&O-54YRO3Cszbn{tA~V}NtixgnGYjO zoUtHW=dI2gMe8Law91Xny?8r$r>|#a>R^XH`m3JvrblIRUxzx`t8UGvdu8%Qhq}vu zK)1@-l@9gbm)7%-tIG3*_Da>4R_Bk)${G#l(?;-->&J&(fR3wsFX(${E?=`!Bko=i zbNsZ@L7j{z_1Mv zLe$>IH6UkTpJ!7*%?hMYEqAxdZj@}V_tNV1aXE4h7Wnz|rKR~}a^##<;K$GBriXv? z4TT3D0Xp>326jiG9GDP0qyGR9Kwq`N)_*=k+8~dP&212#E<(My>+CfMN0$gJ^>h?w z&O|8U0@oKPXaq5<25<&dfC!9J6z64Ftw%Sm;#UJ`ruF{X*!yLJoSK{PsnyJ#aD?9z?A?gNvxSZv^wIQZ^L%4lJq)ZZ2U8tF>LyN!SZJ??+QPY=(HXPusCl~^x zKXlS_z(kullu3P#FJ> z3}N5j$uR;H=3SyF9yRRnd1Q_8!mJaXH|huByF;XV2gD z+(nGb@PUYmy=qq7cCH!%i{(V{SIBb&CC9=Ey=s|6y)tPQ9)bP1JjoD8x^wCtrhIA& zK<&R81XE$;Hn~Ifb6av2?!ev8C0QW^>rRDMqZsXP>Rgy+$-`=atuo98uUh%)jnlXo zcT>=8zO_=1`e<4>>SsW9wa2~AiYuXeGYkZBKQ@_J{VJ^$^#~wkNBO>|+MJq)sY$D* zJ}^_}WfgEXJr#$Qf+|16LaVovp86vF+sR5_7*{&bN_QD=o#0gt zE|Bn^1~UZfK|coQR~^YFJXONJ@Rjf4#U5Cg44wVS8IFuiiG_0Xk?W`T#$%W}q>>ON zM*GE{wcH?Kuv<(7a{}!Ev*5n8_#>L5EVU?^Qd)MQQc)+iA{Ioy7fn=_PkT;#bYP8U zp^R(ACn%S)jE2uvcJj5~TlU&;Eu(ezrwtS2Nah&Y%5D+XZci6R+`nK$Y6kW-sq>|I9l9VCVHZM$o~cS$BMkja#sh2&0C8m{bo|9dJ4g3S77?xTiOQJ zx%-6!hihAr1eiKaj2bw!kQ~Heu9;SGjh~30Uo4JMXBrV(RE*{WqtM@L7pG&t#6-Q< zV7CPe`WIH$nMU$0eW%_QqrCdJN0*rpW&Y_@bf2U zaA^~#YoRzEr3P8NvPkFpxWqNmZ(SMj-xNPE%J{17i4*(1t?xxKuu6KWeYBwW{Y6&3 ziS$w3X}_rGPS-=(BfPy+oP9dGt(_dbl15nfPr?bmtTQH!&mu%+EGrD2)CL4?TS5x6hK$ct)z* z(~Z$!?9{Z9fk20gqHV*LH=kqz-c!Z2J(pQr* zAgC_FDb6&)O#LVu)TzJM@~L>R{r*>BU2-Jzb9rc|`RSnZGH7vXy~+ z?088+d{xL@E*jT#NUVPMKjkn(m`;2(5T>UO5vll_aX3&9m`n5Tsp@IW&&XbEy-Kt0 z1bF_*t!TJ5Q^%Oikp&D+vq~*bZ5Q!p&hL90R>&2F-~&w=X_^Ah|B??edzt8#rxKA5 zqIkl!(H%2{K`+OB#yZEnIQB@!4uFi#qOlCn86j%t)kCm=qO*rg9sO0rx+MT|E3kF^ zlLtV~0Mk%wUo82gXJ3>hgb6Wh?M-wl`2X2;o)2W7lbSNj6bD#jS z^7x7Kdg=h{15O0ws{|L3jfx>SdWQ7YJxawWACCL8?#ag;4O1D0)-a90WhVuYRyGr2 zejMqa89JMj{)906G4ZJ)0MDADTeMp^Sp18Y*0ZZxq?#J%IFh-le7=W*!!%!~e$KV@ zy$0S4h6sk!h8Igz1jCVFhpKX2l&L?!~9OD$A z&1SM0xoOx>VR&{X75Z9l`dhqP@l$ijq&e}{{Mcso=+GW7u(mctZ^I^>`4~g-Y|SAs zI&Lq6C*=;QsEZ1v=+@{CDeDk>ul+153ata-YDFN7yaoxeAE8eIH3-)L15+8dmihQ7 zED$fS4CYRZ6M*<1a9btZajXYkO&8YXdJm!N9L4plqaLBg* zk<%q52`T-**n97&rn9wSn=S%s0-<*VDWcM(2^c~Lg(L(BfzW#mA#{`~qM!oOMT&x; zqEZ!5kS?7-=)Fi4G4vwpi_V-Gb(|UJob!C^eZKXsdvot=U-!ND{*k{}l%P`yQWvS; zhl{q1?4zV)>bDeaL8<5I!zefgf-k`|sxc$(8gO*fwI4IF>gdACX zlT^h_#I9vkyl{I;NFM98xjp#c_+ZNRKx515=Y`xZ*5s=DAq`JZrM9{8K?hr9NEijE zRkrlQZ1LK5$gQ$seu0|!f^ZN!Cn>maU5;wyw)sNU#>ovc+YWF zK=Yd12l1FN4zz=oVVkKXT1a4UPyD59;<;Jbp4MSMO`&_@Y2;7{JiS%5A z?1lN`0g@nC#Gd{Ksxn#`!UwAI{J7Lebp~mTe#+F_Q?mwy*-ulmj=en%BADk?fi`;L z63^{Ss013Od^@bURGrl#5{J5aSmlQ>AzyqBf)2TpZWSiPT#g)g-_&0SNJx=fx>s0| zAp+JGti7$_xA28R4uyEREhF8jvtaLNBc4-_$%*V155ci zcJF7mVeB;1pNnnxaR&zrwB=%%7rspF=c)s1T{`dkIa(aVUFG>)0Wq;ls@e~6C(uhY zS&~j7^cj-Hpn1tu zlEQM7Bhl7cGyGODdC(}wvaMC#cX(lxW7gIxGCZ}IEMS!7qb+tmeCP{q+G3l+ha}1T zMp?c^q42?CGM`bF4qJ#&IBPMf+d$u?8r*u8rf_TMtk@aWCX7c%;RJU|PUOn?PB zkJu+R+dzx!E1zgCd%US_Plc4E@HOb8xKrN2#=-q}&c>YXO-84jPc}$Bod$Vp4^2wK zTSh$1zCrnN=N+sqQ>J3SgYuV--9vlmor@cNIusY)+lAZ9lg|KYngdA+#M^@o8#+?A zhO3o}WLkHare5xjovgm39X$H~aksdes?(i_n;((BXL(LbbT-7({dxe<>>J?*il zCs}djdbLH8iMZ1BuDv<5gTJyJv&CH=%Ee#X>>t1g1`DlyDC!E6P51u#Hq|O$XeB5-2cFptG!ecH+O^0l;;{0mMvY4d%emFoe z%NoFw%=3unk>Ze3<9Bq6DY90!Ln-7UY<9Gt=nm(fs+-m(WolQ(zGe-BxW|u$U|+E3 ziwr!}D>*xOVw~}wd-B82cLwo3<`imYX-B@A&ps@f-!wzJ26_3paB=c6m%{;vY`Wt7 zG2XI;r2D>wfI^lPfCrh!5plZWkfZx|icTfCoMhcYLNHD z$F-zd*zy`f61inKt$_M@hFr?XEIDcSMskaZ_=>N$(Z2-;S%l~*Z3 zZQS10=ptU1zQdfUq;B=x8!F|XI~300-3p>Pn)IYSCy>m+J)(K!VXLBLopwHHgLgeI zSbd(b{PXP>t*wgqw+H=wSO-HTN4-B!61b)|wmu8^$dk7>QciF!Gka^#>Qo5aQLwl{ z{;5`=PrTm@Bo}#h=WP>)Z3yf*)*$RH@g_KZv;g%7bBi}YUN@b}ovPHiPo=#`xkIwY4ba4gcZ> zx*aLEU7O>tD9%KOt&iv6>!Qixt@z)wQhHNz_tNg#Rw49phjK`IDQ;?x@JR?DDX;Ag z%WshFH0`SFHt@(?Vj3qO;znQ6j#U;QF;G$MY2CH$@{{-54cxVow;b}Xutiz2d2VNH zm-${J{X|kNS$au3$K6+h;!L_N$gFxm`Bc78GYV zr?z*W3VZnm=vsYnsH{zt0Mn;-Dt~Db}hT^jvR!Ky|{b(YW$jemRGdSN?&q8tKCujFi}PWflZU zvl9s6ogNsmnm%{9=t!JXZ8= zrqx^eIKP;bKVSIETA*5x@Xc=M4iWD!i}~q=f*atMegu58YkxDqUlxpN`F;U|?%)Cb zVo+2Q6ut@FUqHWFbmA#8V*F(a)T|3o&6x%qdGJk97`YpCrxQw%f%lh*`KCbj7`k%` zO7RZweN3C;D3au78LwnD0~9=A0Vm)1fv?t4A}PX z5P^}sh3*{2Q~X{iFks7sZwSH2mi7x!ice7g19-K77*s=n0qB>)8|cmdy>S)5D|2V+@!J;A@#M z(md#PK9u4l)Zcx-z=Il}H(-v2uT{ZFbD`T0@f0Uw{Ot&OZj*be;{pMdp~qXJi$N30489xdBu>7zMh%Fi?jyj5f-p+IRf$`~XsYhvW2LgY z*8+?ewu3Tz3OMpFAiQrAZ(%M=IyX_SU0Ph7p=_m5}u4u4T=4S!2J-03h z+bOdsvtp>PC#RN}!lVq7M~`rd4}F5Ye%T6X!3Um+NGDbxSEA7eh65}vUEsmTYo57A zFN>>JSv3|naOfTd+7o-L8Ibnjni8l|Bf9Pvz%pV(HQgY~`Bk~|uq*?vZZY5z@guj= zvw7=F9?!wKHpj(W={u&mnYLaNLRl+ZvXez5UHx@O#%abRuIZ)@c4m5yJ)3-fu>6Ch zt@LZ}^it1=xQ?qTGJL+JYR?atQH>oqLwT^%%wPV|r1V>n@cs{jj!HtF$_Y+KU5+C8 z9v-6kl@C zi=Ueb(thqm5H()gAv&75yu76I7!eZw>@eejHyglw z9o54rh-|4+wvEP~nFn3w8T?qNawyLG&3~%R55?)e>2VcAid2DfqCK9^GlcQ2LD% z_WiC8RDnN5dmNdkf5+2%vJmwsPVHe&KrV7$e~k7xG*ADAr}tPPsxnS3swZF$c|hq` zJRU?&g3t@ljuAD!hGCd9;-@btxqA2JBFnb zU*itLo`i!QmJH^msJyK8xq;(eX6Y2Ial4N_ap!L|#OFGWdx@n}sKzY|d!h*RFn%z1 zP~|1W=NgWCk)@Nr#;qKCA{6v+eK40*r3&H`h2x%O=~Sq3yMjG21$qb?yf>&)3Gum# z<9^N3DO=+ff<3YNMYF2BsP(ymtb z4a~ZTspA8BmvnQcAX;mU?Qsw#7F={S>%x!p80*5hIzC755 zhR46~PddKSgZ7>fB_>?-2VUZaS+8GTojUZ7F?&`;k~al|FrV;21C|a(>et$??@}o z38_}G6ua13MFKABiIA5UW*)#a-!UokrA28+)fgIGb>-7OZyvxyG>C0csVx za97~0Q;0e#WA9`LXEm-BV{8Y2DBy8dpsZ8SIw_cUGMuv-@lQ2O9RLr+BMw55Q&43o zC^i|&SPdP<{H>mZDoa4I@leJA=r9rLmly=e0K!-2Q^@8a!Ok*VqTC^1CezXR3(?FrKPeG^+@ zeMuMsxn z%N!9)m!&RiUS_!*6AqHs zvn{a2Y7TL5J@pRLl~g7jXfPoCyn)|BBhf`tV{&{XelZ#V;cvjKlYMf2AY$M4n7ve$??z z`3G`2%*VTbDn&DBpNibD zj=0}3mzJ|E^Wm=R+2-eeFW<`SJ$IEk_}nSuV1!8e^d;)7#*-jxwWDfBwTiU}YB!Zf zq|&50xbDB<kAF|rdjyxA-%=ryvXp5b0Xhr0ue_h{~4mY$C^V01T zd6%t6v)ay%6pKpgF#k$2IzK4?loUNXTr7G-rzr1+Mq=KweL~i9&}i2GuuP&}c1p;K z2pXFd6&NnwJ91tk@43d$$OGpk=AWx2ihQ)b#M|+HB!^CBx7d~HO2upj1&rfn$*kLb zWwHnl+1cxYdYVz=L(!sC#YJ;^YV&y?k`k2M0(i4%f0G*G5WDx2;MZg{f)`XnU(RWM z*#8BE!~i8rTHc|k5vpj3`m4^r(rmHXAIsm%uo0>@iPyzyTbdsn666vCxGZUShyJlt z+0txxh%Zm{;j(n%9Sj@cYLnnE{yXW&J9uk^i%x>CSml*wTU`88bsvjK$74IUX1EUR z@>P<*l5cxMQF?Xj;-!Be3A=pHRbElIImH)7_?S&P2n^ob<2oD@nN2>-t>a z;5nd@c$i=bHp&)yA%LB8IFzk5Jw#}(eMGo5J<+Z%fNFkNpt8rWn>E2z_Ho3ypa<`oZ zg=y$xJL`2DJe_(A@S^s5O6ZSzSb)cpY4;NEwo3=y zyu_m0fH}qcCG$M@2t-nJm6I6ds=_{JlM6Ia9+#~epr?2Ny0rj#3fQCDR?2?H+dUWQ zbv^Pu?9JMkfeIS{z3BDxBu1a->%Y!h=T|?Ire5@O`RlybB38JQ3_LC!TOsK;2x$g3 zC$5lom4l3OwG5@1vuC{{ z=?i^a1a-yX!-@J2TRgF(bu7trQZClnR!Uk9rrk|LQ1=BUE4(?|{=D?-%wY|%5;bSd zbYBP$St@q^04I*1=yz|!S5YRbQ{B^w@J{_uQS&M*R2nKAwa-H4Rk~lYM=v#YGmEbJ zy~P3VfEG2Hp_v4M)frL>hxa@bN&)O@-l*MPF8VD?GT9v{Dx))$}K(kyjI@=J8&vP|V2BOl?be?9gqwf(6411ZYaT3mnQ+-6>>eUk68BV$%- z&={#G-*9pLk#nngr5a!4Wa@=6QU$(Y$$HvztC6MZNxrj=jQ=%x;N0pwaj2*}UxLtMU)`{F%Jn(V>uiS7xi#)#Xb0(+qAq5#i~u z{~;;3^Gu}U52;k7+o2+xEk~KPx3N*wsa-twUow8cnk&WHtz{ zfm-Ea8SIAthWsS6aojcFO8H?#=#ue>*EEizSx+AGz(;UA4!|DTn1l_7IVqi^^X zqt=wJ=^QJ&n!ywyVmBQ!(=oc2tthj0##QIw*K#CVL1spC{-@d#-rzCZ>;xto|jlxl;B->+VRB`FMFYu~C{OuXDwMifaex@WwCHIJE z>*^0xvC(fMorX5ENMRMC1}4`C+iiPsN%D5iq?1=i$HEnktx3-4oZpVDWcs0;lec|C z`r+!RQuvu;YqT@k*R~@nnf_zx^@jAq)j_3j_G7EGGmvZBjg_D|`EO-0o_!2<(E%}E z0NKYf>=7X30rFKaXt~=fTRDh0cmnYsN`P^4PS6>r!RM^B6zuYYij)U(F6UStV%Qm~ zIL~1GhNLERLh!-!ghv98Kxi(#=btJxXlLS_n`PZ!9SP50%yKy-yZrIp4$;ZxyyIAJ z5(D9#=T>Z3X0l(?qeG|2_GHw;of-&+ndt%B0vGyFg)O{o8YC5Bi~Zy?)53{@ItHwo zs(qBL1{|7NOwx(6ExoYpO z<`tC475&8hS!v*x`2aHXS2{Lx)?zG-WXGesT7H^jr;A{r5UHp_vJJ>u(SI-+JH0Yf z_zMp}vxxc+2Eh?La(Q+Y+E>v@hQ&823qO)v!zkiyeYGplo`zuz>|MJ&;TU;Mn@w$I zw1OohMm7hk7Y;BQgzBaFUA4(Y`w~cCMF69_;4j&jQ#%8lI#CZjWeL^A#>iH~^3#Gt zV&s}^E^1q$bI<@oA_I^Ek*AlogLX3-*q@_*oj;)0jrUEaURtH>_3HM%E;4#VW`lGW zS)8F*b9IY%7dNcP$tX*wTLyk6j;rf4n{^dA7-cCJ1{TzVIpe*iRECV-^t|t;13F<^ z%GgM}!XZq?8$GY!6tTV*^}ejWxG_kIm=``2l|dSq1Nn>On*$jq{l7fXJ^26n5pg*X zZqjcOGbv60@*kyxtKV-YSr6^2JBy)u#~^!*Q1 z-Gf&i_nQB2lP?B;^vGT2*~n8whDUI{GVl{X{{w`3u*c(nB#llHogcw&l$kvN2tLq% z7kvIP{$=(*lGcx4on@v^05T8s-Gj9r<1?}iPZ9rCUN+N}WHiLS_*g7Vr){O(qm9!} z*THD_$w~0o%4^?1pX+PWr-W_CM3~(fW5pqA0pBG?9D)q+=gBJqh(kaCUnl)gfGh4# zk|R#P7U1a3H0ejX)Pt^ma{zOXE@UZ>&IHo%CN(AmA2tz!i6Dv03|nJY@pw-XQ6QUb zv!uO&cIun3ZzxQ`oU4WXMbfT??O?u57QkPPW-V+G^H)g@qgo4N{ha*#Jp3?_{rR`# zi-B~*{wBFw{!PQ@GmseYR|%Tz^a*$?xB5)4B;_;()&_eF>#H57qqj7qSq_lgfQ{7~ zI+6S{JW~V)cp%`P6RaAb^>c|~VjF|%hW+43ba?7R8$P05b>N zl#ODEc{X~6go0pEZF2%}LLZnZ>xTZyLd?5?nJjL`MzNSYoF0NuKq87V?*eA}x)~V7 z5c3e~_g^iae%XBd>EWM)S?eItTQ{t7)85|wDNvC9$%B7=iq_J@_YW*nzHB)DbFjG^g|G07EFHiep|J?dNJAdsT z_IFAB)cIK&ON=j-kH;Twj6eJv{|vlB{ImYef7m~^{@wZL<2MgyUS6_&`D0im{8jaj z8(;O?5OR$oln=~}zdtPrR0tcWLADPJAtwfsEU%k}FTK>Gy6xl4CJymXSy2Y6D{FJn z(+IW*Hs>}AHVZc8eu-?qap7^{{x5M#_)BnV^QaCZCg8Bw_Z;>Tf~TR*hIG>r7)7L6{*{vN)5Og%f5l-$E$iHL=pynawPeP*2SG zoJxHi>CH$8^_WuR*T6-nBbJmoI+^_r-PgXXFeS;3R%RT8I!wv7qrVv&p_cdq7;waz zwS7)3gj!6=pFs_=MAlK;jEV3WY%D*oAZ8#!4W@+UYoI4o6H9y@QD(mZfKZJI{+vpX z4iC)S2;;=22WBpWaZGWt!<`?(7%_a2Fh(ricBn9O`U2j+OuwzahnfrYJh{3z`OLgd zH?C-~oafo2=MnVRCqX-+RnZdYakNvwq=oi-w7g;MP0p2_;IIk#C-XuT=tY7OCThU0 z2tEJzV0`Nbjox+yMPih!-BtAL_kdjcUSpzI>_Ux4zf9=Y1jVnw*Dlq>WIv&&2nxig zZ=qZAt92ZDf}ntjLfXZdp4m^ot-gh(9~Ef-)&F~S5&e;HhIqBi?gwDj@op zO}3l*9;{4$(YpkB;?-@tUG(2TZv$`!tO(K}H4OhL$obs(I#|(0htn_&xE?HLqs?hp z_orY~_}BICx1P)XM$5Hltw;aQzQZ!f03xTnm=X)^;@< z|9e0filB7~%*2o~8xiz50y8Eg*@o{gz`Xg#b!`F@F=X3D9{n9)BuQk$wQUVYfomij zzf7|6+LneRz%}q6K`I`?J76VY+C=cir2Gc5Ry3xK1TSLB4*(Y$EcIIJf+0Jw_NM^w z{W0|fFH8!H6`ARep?wHgTP?M&nJc-F=R!*j4e-FrW{95M?nSnLIQc_x4hD^Yk>c0RnDM((jg_S9a04K(5 zTloJyU`oa_cwg9iy3mL*m|lzVzmKrE9sL@ui*`Y4qNUJnXhy{$=%uDJJp11(J&Gpn z>tvvQ3(EZKqm5U;z1&!iPvzbAJsno9QL7T{eRz;sGS}mcCfQ860@;`|7==i=Yl?#f zm#WWD*sN>I>|fGBpnl8c``4Fz|Ebx=l88}gsu>ypyM79e(trDq-=Fu(i-(CBu)vxk z32@9J2-pP{18FK7B7O>BKiBr#nT>q}7%@iHLfh2vXP_JXS8d&e#CevB5R;znLd>sF zZEO$+P+n1qRqj#;YK?6vo;~zAWPT4h`3DuBWAWDz zsW{$4e)+qItms(mSRDI0HtPk#zlyM&uzP8pAAgV5kNYwI`WpY+U!$G>bGRA==L8FU z6Z{6i%kJOCjl%qe7r#dI!k4H@FWryRUxk#3=5+;A$d+?r>32~wr}gT)Xf&0k`z~nLtct&j zBO|wlzlo?KaYD6`j$GO-ts~T|EsbDk*p}IS-216fymSwhX@8Y;K^i)(_0&me{Cp&` zpcy54OI%%CaY)&LDKL5UDLE1~ej_bX`MJ6z_4GxA#9{6Mo~{!k;*njx-B8?KCHrV@9R3lmQWC{2`Ky?=hC`{3c{Z=NGd8(6;tO_ zQdvrzjn&AAx~&XP$(m~@GOAwElkk*ut}J3~9m$Z2iYvOUVpa0AEqQ-yJu>_Sx8>Wq zvs!RJvD6?T8E0!QvHjx>nb@M@)`PsBO(|{!E=?<%fP5sLU$F~LSM~+Th=aF7qpsLZ z1|1ocd(nDu7@co&*3>>`V^e$V0_QJ(QJ<*Yb22j(PXUZLK(zgFjdYc1$J zr&8Q4`b3|)Ai}|R3@u6ccR)PmKiDiuI4F9E)=$Pe(Zcc8L|mkuuS7^&Ihu%Wqno^} zy9g<(ccw4*r zo%1K#WBZ!cdrNbQ<%7ZW5Gk9#3EvwXdgQ7ws#qF^9-;1= zVIW^w1V+Ar%|7HYiK7N~UoNA{NdEbhM~P zc!?R~;cUdF%>7+~-4r~H*0TPFrDN}e71C>2RteN zW00_=9;Nc69JuuVTTs>PHS_@Xk%-r8o;K9lhjFIg`8WCh;Om#@FJ29v|0`cTDMKw- zA3(fX^M4k40ODXxkfAc{-vv9+KRbaGtO_zvhJgV84`6gi>*l*bNpAKIT$0D}%KbM+ z6`;IFqU8Y)RMzOMq_h{4S{{Q_dFBKbF{a^tm^pJVUhX_^?#n`I#y4?qOA91X@_xO& z%y?KgqE9uQO4P60p&wmfv4MXv0Eu)e@%-5FAZCNn<2-+E77lW&w?ZdRk7wE_0uVhdzaxLM5RhP%5Yq)GEd@=3Xgp;&%kCK*~yl_@gg=jxKl37>y zB+h;82JR(MvIxZopkZ+91DI>n`x&u>!I=YC#FGeI+2-U79zuIqKR+RAcC=0vR> zlc_g*2u}3y?a7xTMJ8HojhNe+lkMdPO<(m24u=7xrUJzGe_kYBW-jjV_+EKe+EaFY zx#)AL;WZC#TAXpLoz)TCBz+3Jr;zJPcAaom{rcmo`3nS6fS$qi=Z89&0EdFfFb}re zRd8l^OAMxI0!A{)eM5BaTXdPeU`E8Zfs@!$EMFijlD5+<`MNdT^0iWt=i9c2HdB>t z#bTEw9QCK0_1u)tEXZN}{59SJQ~FL`TI+~9TQu!Bu1|qn&V5rZZIwawoU0mhbAOp*){WZp`gnP| zL?aRfu_8eD$#m(&SYC&wT5a!wVuw)&l#BIw?YagVDzj(}ToijyjeSa`7~M#Bd3n*E3(v# zwheFt6=1t8oA4ogU|yVbut!Z|DOB4wRntamFKmx7sranl@#GR)T})K{Roh^m@X{C{ zd&NLFMa-E-8c%NngNv~X$4Qv=ZAfHTFCI0Dj^xU7{{ z+8mE{Zw;I{btvKRZPjoUs(Qad*uxM?djF@K4jDC#mf%N`d|I#K`;sYGtD}hy#lWT> zKdGxzmE2NfzJ$w1;Kx*r+NeEKYgl}UL(R8rGL_R}Fb#f|XP|=;Dm`W(oz_Mv`u_e` zd`r|?>&1Q^=VG{$pe-ytNd7mvykqt?R>8M|Lk?1>J;bQf`qxbl1eWNFtS8!>zJjPl z=GHAd;8IcO3fc}lJf+LlT-aMndpwR=>MozgC`SjkyD}$Wj2@=K_h|HlP=i&@E8tV2 zWWej@5DUJtG)BwESk>oh7(>1%kp!2`d|{ ziZcc%TrOPO;a9^tK$z+Fnv`e2O|V`ghj#++dxNLO7JW*Nuh4I(&|tP1b3hr$4;o}v z4i+ue3YIX<`rg8obMXRgyO`VnUQNtIM!_l*eZBZlCJ&y=yu1Fb5i#}zb?@DI%qjzz z|MXcNe%FE0%iUcxXd`pO91Fl(*p@YXFlrTfBql6j7#!izQxxlupUj7?8R#eJ-gchJ z_m06mKXLK#07G!r$>JAoJ`lm1`|tV@{qSbiw93->-HJH;#FHLq;`r%8&-aS?E zuxQ)nP)kbAyQo|4=ECqul^!1_Xwiu17-0Vd38P{Zu1O3*suK7)qlIr9;f;mjW1;3I z`~RNQ3U$B#Y(3J}Zs7X7iNo%>zR1r*0RjUj6$P7x$zv zt>dbgRf&*m#$*o*@Os0eN=3$t$WkQC+c`qHT;5=2Ra&n+NsPZsp+7#_#6!$^Z7R#G z!P1kb&qT;ePa2uoP|pl3>wmk}o#{o4WixB4*f=yA8SiSuPpC2ti~D6P30XAx$Fq3~wl%^?ePN2ez*rTJrkp&k z71x6?Z_kg3hcDsk*@@b+LiygWb1F1YUfDdau(D2m-aI{?Y=sY&UM0PmHq@r}_R0w33LjF~`nnLnOEzIel@2Y@ z(R~1HZ&(Iq0Muaz57KMXGYlrT*Evg8V~9sep@H%B6YOKwCwMpjb1;EA?l#ErwZ|(K zjDAv?VSGSDGz8h0+%6;P{^XV7Yh!FiZ~G{mNn0@IjQ(5ibZT$#AkzMcugD;TH#>iQHh2+pE_HH&^_#swQ zid0&ooy+tTh5$c*vB!h86UnBW_Y7#-({0RSu4vKNer__+0}%bpc|k3wwB5ds*{itH z9-QIEdv@=GikW9~S>U3D@&(jpx@N)S4Si!eS9#m*+qh@fLBY()ynb*NDrDjiSA#SE z0~$3|nn$B#I-CbmupGv#eOFyG)>0fONLUY$6+q8d^EU5B`}-!=tgdzR?edZWjrv+b zNGbUZcw?maC_XX6Shn1o+2O0(1-=OtEe2(E05SIPUPh`L8@53^V}dC7%&xQPGv4bm zz;>=<3vqYHJ*Q_8$IjGDe7H%{|AM!faXM~wd4%QC9sTH?`w_gBvJ1CI;>j$RP z)Th9G1?#{NQmPVU(6|A1b%6H8Q73_#wAgF1bngv$0$*fZ-GBqX#fALswggN(`pm9!Bz}Jz7R9=JuU1*ESK0 zJmLK5XGw7xN}Z~1s>h=rF6138K^%{pL_p2g^iH}_9S1*{ykDGhGodblA?EJ=q@gXC z57b9+|5f)B*XA)jCR7HzQaqjHJSu&glaq<_^ymq+55K+H>0$0EJBus&e4J7`U^`XW zTprMSod!Fqv-6k5_l~k`hPB+%xpTIBsZOSq?%{;IcyRFB%_lAKvNoY+eaVeCrQ#(L zlmlfW8Jf%FUll}pa_KWRKl429pQ1}+Z~AF)i>hyjByl>ij=bm@;b~i6+xYRVsl*m< zbwjU2kInPa+J?5$s)-fZsI5{3SDOwCMIr*a`{6G}A zAk#XJhH8KRWA}{pFjCTe$+q6AiEeiIvZsgBK3dnuO2uEPBiFu}lW3|WB>DPwY>kRu zqAkZv_3btoDd|p+iZw^JRs8Z)rHR3-%~xc}2`%i1Mv1_VgW;2t()6i})$BJsYJKZg zOee$@x)TiAhOIBC)B4UXoUIM*ZDs)tc>_&pU0ypX#a%0%GjRkDqcB;*WM!ps!wB|Q zje(7=7wPEe7X6e$ubzH~6H+z6oPKuea^pRJ?E@}*!kiMTUgwA2)(`nbl51`To|#bv zB)Flb8wi6Ns=)c9^1efDpJ=aKRX?N(qziN!!lsd_lZMh$kiu9vx&Q=9F>0tQAndfkk$Q5OUbZ2Hk{&7Q2h(P0dm!KOJ=^#_30Ew z6|hea$5IpTg<1(j9P9DABR+5rh0ZMdP^pp!gB^8>-XL~x3$G)VEsi;kk?d6bU1PPB zhjq_G|Sg2XEE2ctx{cWTRs9W)Ea9U?t<=;OJxRW;bOoVohU{Wm#wa z$U4t%#=6RiXLDhLu%@#T+38uOI5^ma*dS~;);)F+4rm>JBfcrWslGnEGs}CG1^+Ca zl=M9rbIH@XGR`hn+*OE)4+WkS@oX#W=@bm7IpAL{fKdQecgG@D?USv*e3(XnMIR8} zZ3faJP^!IE?cp`-4ghJg&{wB>m@$a<3!}Ty@j3%#%Iuz4M(DsnXb6PfKte@|ZD6p* z*(03+)E{EXXNz!8POI7RC;?fF$!T_L_b{+HE6aO87@B(W%CmwQh(@Q(GR~{IxSWLE zsVTfU%RFFibiT+{>Ucrc&^_h04ma%Jqww{S7@0RTJ|oiCIjif;lvS zt+x>@HQ>bRWc=;zXkh=1c+CSk74|(!17W~Pg0klc!_<>6{75C|rRk(jiVpC#FN^&AkLQ`^P5>Jw5BFSxJLUr)K?dl|(V7<6TFt6u zE$KT+9YgOE%X~v)9G2%4Lf#rqXspwE03|AhP^v9{6C{9554P2IgY&4<_pdWr<;nWn zP*H!VIdU?2==5QK1eMr!7p=sbgfl~ms?k9XG%WKWGVnM?LxXCR6{^jQ;~am-MlS(0hOYn`_Yq((mSKI6P4(m3aSTs)E(7lknMIJ(FG4 z_yA4P;JQMR?sqvZbf4&9+@6_L`{!0g1ToIaSYDeEeQ|qrXaw(!{7ql1h`~(SoZ_O zB?F?NzoDLihtVD5J&5!Z8Q&ecn3~u$qhRd<5#SWU+icqd%t~y9Jwe37DD=1WNlfwT z054b!tX^LTQ4J?r0!;8c&~SvTX|*=qErtm%3!j1wAdsdp%22zuh76N9$garx|b-4{-VJ-qRP`%8%#nxZiwyHJ>?CZ|M~Eqt*~^=<@Uf_o`1DCqF*8P;z5i_if&G zW@TZ24D;M!&3yRroT{J=-8dn^+{=*}K-cPf%;_0cx{UeV_ebxh6io-ut)9}*Wm&qD zSA55{U_9|GN7dRRYbUB4_41Ig;f-7x-MUA3rx5<~3ggfxAM}nKvVM?$%=?8;_)(%e zr>nQzJ-(p^?{bZW6Zb0xMV-ZiJNZSx<@THDU5kebY5NbOg`^6P^o;Q<>ru_~7v~a+ zt&fthZPf~?6`K&u&N-afs{W`nzU(O^Tgu#9g>gtL@*G`u7P?e8*H^{A;QZ96whEAE zq!cvqM(#thy-M_)()ri3ccb)$N8bq!UO#Xa9VfVTtyt0Zrroh?XJp&w?K-ZWVsXVB z#vi@WUuP~Or?K5P`=Gi)XES2e3142kE4@cEBx`i-HRx0D5l(S;B~i)4uB~UH1l+HSL-^Uz#4Z;jod{Wm_&NQCIJwB2)eZ`SaP-^*>`>RCewA<3S zG@W`$_vjWrj>|$jYLpd>olj46?ik(83Dbmc-ap(;qt``_72LB^YCgx8o}Os+V5r$T z#mMR4{oBWmTOX+&J7%SvVsDrRn>Z3nYvf{PAr*TBF~TdBK^QZ3Ko$0O5keh=ZyH8k z4`T28sGG-B5HfV=RxaSsD}JviLEdZI4C>2sT}Le6aut9cqo3KwRdq^rMWdDu7oHB& z7`g5ve3+a5ot699w&lf_?6GG*yj`tyj{A7*Elt^(Ir}USm!7JtGynNuyAuc7rB1J^ zN6|RT9%@w|pn=J3mRp?d*(}%SlP+J8RIgNOLbays3g1qR2vTSi_ujI8rXEY(am6oY zHimNUnC6FPbFETD@%aOxFP|pk^d5Q;9A(s+OgxTbd^=tYLwB#J23pT?P#jgl>%8<{ z3x3qj74!BTQM&S3_1nwI6#hwGqi57-Pb+?Si7BssceXI!XF9@BL6CZW+FfR5B+4S9 z?*ihW`P|c+VRb>r;`~|Omi8@#b&)Y-cvIr=cg<0B&-UeeGBp4Dti4)O&xZkLNqPnS zjdtud+fSD|$Xh(Ubed8Zc9G%(c{|f3i||imYC`goJE`j}Jr(Ygy+TK9vGrJF46y2q?xE(f(Szj%gv6R~R$ z;45K+fco!D(%$0qW-)37#?D~NSB`79RBM&q53x&5Z5(y-+VtzY8QlTq2Bmh6D$((p ze2Z~rQc+0hGk{?g=ChaEIed>ebmmm`oMdarI7>QRioBj1zFaPx(xXtUdD%Wim?u;C z?%}iaI{OixGIbQej6Qu*n4|)K0ph!bN3AG+37Hb(ie|xRWZU5x=A6*rO?=n9kWqFz zeqfTKs(qd#2&Mq*5M#p_A7~Jydpp!}TE8sPQw4WKa3cIe+k|fC{H}NQKKGTLhgEXj z2-P_%8RmW;6v}#XARjpU!1q!!^H@KhRx1WnZrm&+D9&zY8mhji!fvB|aXX4Fb5rMn zvYiElyc&|!!m4eWp-4^w{WVa4IEu3$8>1B3-)Get0;Ssfn+Dc+bq^Q5e*F)c`w6+9L?<8LB?&~yJhw3+(MN&tBoJoC!cPtm}YxuW2*<9PHD1Uffg~cgrHWSWcO1`EnKv)v+1%J9(*J{tE*MBY2;zr zKa7rRVhw4}6wNCuOX|l2^6rWZd%$nPx8Z^65PP;f`_Ov}-DypT)ejTTzT3*Yudw=e zVb9^jbW`|nfze34@e2@j?fyvJ?rzf%%f%0ioEQx?_sjO6#tS{FUp5kjJ#nOVSRsTBJ&LZ5adJBG{&a zGV)PJT#O_`5>0@dhBs{sO#oiK;apqL<$@|hF^ST-VNqvn16A1j!->g@46&mZ*~7Bz zp#!KrcS$4anr?Sc#lICCGCOgLOn!rGRx7W{m#jd|ggZsin-x5Ow6JgF%ID|#{)(yJ z(vopW8(jq~bUk1y-FF`my|bDWsA!rUrSy?G~LM+i^Wi69z8ppbnl2 z=cAFzx&Fd?4=q(p+vmtICEUl!SwAO?n zi>h1B(+R>ie{pmI+j17b?0~EoQ}PhFC96n<1GU;ulH%lbEc~TK4Te&~QbziSPG#(G z9uuXBpSR@bwWXC3`B@u^CEJ-wS3XB=FdJ3v7%q=1ts+oJzHgz=>A|o-UQ3`9!l<_h zPpC%MaG5$Th}A+=*&Qmji-$TH2IrBsqPJ?J`RF`flp1MKq+_@_|e-)^Wf_PPE^qkKgi=xSx<*TE&mDHSTJ{Fu#({LUVoLgV^D9SEC?Bs1cBA%g zHt2V_uB(Z`YHX~xQOfuI=bb|wI+sj*ry@XOv+$=w>;7fJeJ0aC4CV|CQrIJeWXyO5 zs9r@;J_GWLYk6k?UlzqYX5+tY<59Hy-Nw6&@G4R`IrW90h4;43%Sh*hpZpNB%6rG! z;>QkB$om~Jn;thPga<8?KTqZNc;zr>&kS%{W&C&-_-kwabnV?v3WcM}IE!sRo8^g; zwV@n|Mj_dxb9W6DZk~1cr>gSREXS;FOcX%${+qb7V*WrpH_kq=Ov2Qn`wWnI06(Nl zN)p)Y-8fRss__WgrM$Hz1S^;UWG%j0g{{3HSRa$AX1CZv5Qemu^4}>ON=x9EIF*6JZ$CvBJN5n-}vX zyl|xX?M!D&IRDb-gS6x~w}l)2z8G3}H`EjePHt%PYsYcp0X@Ls&@pqWH>lGxjB^7_ zInpHVv@!nZoUYHJ?@UkW;Cla*oSN>`3ESmU&xTi{PiV6mv)tl}FaD8qi_iYffz(xl zh{rOIUbt?!r9+;s0n7~?s9QHjKW-y2Q@U6Snu zaj@)=A_H@F(5eM*UrI$N`M8ja*vw8dgr5rhygq())drg79GG=&Nc#7Rx2J%@O*xND zVgo%ox!A8b`DqTn#KH`&s;46dC5E3L= zKX21B*;ifO@6j>*5ppz9Ts#WtTs`UA(ac$zn%qf>{dU1+L^VrDA!IAT6p-SVxzr$? zcDZ&96ZGjsnm?%j0JP;|oV#~@TKA7J-MoN?kx2Te=j!%A)h0c}-2^=qS~7)@&HtnqEXG60^TO$z@R$O5+pjI=3rWoUJ+3uUteQM?+8ZIG!kzMGJS;bO&baeh{y z?*hFB;(GUSy?eOcU0ko7p1Le5Bc&{*G&tWL%<~_XeCm*z6xn5YD}O}&TLTYAtcPQ` zhoh&5qnn4L%YQg|5bgaEQu8tG`EcPI{~LJl&A`LQ>3`r>JaBf7i=!RHW$#&&E;^Gg zi*L=ix=1MF!e}Q^Sc7CTKxgo>MJhg;H=NL!#u=bMX#^q=$gIpdi*q83I<-!g^=67y zUh9o^Kuy|+A|&Ji&eR9~8Epjyc(Nj*q4rneX!?PfDX!= z6xwP(DP{${kK8k+%ZA*&mkE9HTdV zhxgi3qQEJ)YalKZj!q;p*XW?EAjBmRcY6nJ8Etj8cVE0J2f0Tl@$`S^*fLWnMeF!xN>ZbbXrtDeoP)`33 zMi5z$1t7>;wfkDi>P#i2O(i2JGH|2;#UgU$RgZu&!Y9LtKz%sghNxwcf*Jc0V{_{$ zC=PbV{5>z}?=-lV)M%JjPLS{vw&6SRuO^?S4kP`W)47Obma7V$i8o>TI3 zx!-rnh8Z7|4p7@`yn`hEZUpY_9y8^${*;q{HF|D;`coFIqJNArcCP8)DE4Ez!FjK1 z4xGGR!q-*~Cf&*W`N*vEU{CSz+VnKF!0|rKp|{bbt5NUKE@jt}s>3xa$;gvjkjs1^ zl|2864rOBy>rs1JG`kHrAa> ztS(qZWsJ0L9(akGe$j5f$sq{+C&VjG7!>3e*Xb4n-O~{j1ghy}$A)b~xGL88w@8&C z&az%=osF{t?d&BW!zTSt<^`Er8x+7QZ|$k_lr$mKEMT&57h0ye^htnHF8l394yh z1jc1BGH_U|7_>iyMjO8MTZyLU*9x3wi>N>6ZxrbE!5-tAma@1se(8-yci_#_3O6$!gdF74s^AD4nmP`g85xYonXGm0M5n7 zNzA(BQ8|YCTJ5QZc>el;Bp<&dAKxS&9|PUu;&~AJ`_NnO*Kv(@Wuo1p0j>3V53Ne0 zgeHc`-WLxfDb4*fe!QB0#Oiud#wmANsVCu9x}FFDpNozSQ;sog+$^Hz8adS&Eqd_M zX*&`AZme+%=laoN3du~j^xf`$`fOxTJ-V%6`SY>xArPK1y84^7;I1t7`$^BnzE>@S~Qtws%OeD$;f%|+DB+_0*?g<2+1oUPxI+X=3xnLBF+-HDb)*Q4jr z?PyNWRbcb9z}1Wr#YuXA5+<>eI7qN;r=9d*Tc@4L+)>*TZ0@LCDv8QKt^Ju_r_l+% z7mv_lfw4HSm<($TYgM6^K-4G-5&%!YgMEKm0O?fU1b^Re4~Buw^IsU;qye`$m{t@< zhqm|@MwZQ(Kw;jLBytkK=N%s4)8M-l&Tt=85{myi-Ro;4DutW0Vob+s9$pG$0U$9bt!p(=Y}s zzG#B@r><#fWXI3+hf#LQQ!^wkvCp%?qInxWm$wF~ZlA`K_{<@}otuScXVvrc@#)m} z2PjXIKb_de7_?jk8L>N~)h>KPWbLR)t~6Q%Sy-K%)1=yk&)LHGS%If6?Qf7%(**cT zTGvd~z*A%JL4HS+h*0B`n%|c(I=B9!$qE$Tyn9#g&>mzJXHP~(mN#qql-X;6ZpE>_ z-+f4>T5_+dcCd|lIa8-3^HWxYcqr>$lC}BWztgC=mqJpRRW|SJVbWC*^DwU`rgkyv zareF2*-wqsrY7w(ybai*NZv-mLIOK7MH7>YJGQ{-Kaa#ZH&-$Zube5A`w=r)lagp7 z-@e*;L9{LUFWo!Nvc}N&x^|r|!~Gz`1J!8tPYBn(|D)x|hIFvM>{ZTH1W2D8bpxxiAxU zl*Os~gj)>o6FzN-G;N%qow!E4bB#TGhj~n!qr)({Eo~*Phio)I$H~8xoPJi))$v=`--Rzh>>H1g4!8ZPoZgtgGz;Y6S#R& zTEMuE3^e@IE8^pD%HrKm=`>j;a~lHApUM2bjfsBV5Dvf^WMj?WV^0JiCEVOahk2Uuv&?{o9RN zX!+f35g8^BY_pKY9g!V+i2X9=tVg}UJ$%6NNx|an(OsTIq@qhfm)^}@VPzNI-@lgs zrZkFQ`9zH*4IQX*-Zdj_9lS6sd1|)ld|j<7@ho&p`YXBh&X1jTC0piWS`j(-yTf_A2h=LJ#)P#g8+S4G zsEtKRBjI5Q>@II{W(j(FMLqPi_c|r^JU8uMi1qeGaLF>exraGGt3s;?I?rZhffBcT7(GOdOyRdH^tWKEAY;kvx+RkP>b5d6o^4**FB{Tn;;=>;9S4x@vv!N55p zId)h*EWWA_K(KcTa}rY3IEypEerp%)gvCu-h7NUl|`ORUY#y*q9pr;;drQLniVae>Him< zN!*wpuf-q;8`hp2jQF9M=)%KsO*S}n^X%^iPw978y-0siDe{tbRBGTIX-UrWD0_vB z9WgCfr|zGP9G<@waRz_T5}HGp zQ{zO`v|%|Bk!>&xLb?sd=~9ZvWC68jC$AZwDv;Oo{WC0ZrgiQ>&E2*?y=@m=Z2J4f z7R>xL+E9afBK4hwp4G66M2Pu{EwNuAO?3pbjnsCx^fW+3rt73y@ge7xY(0uhgewi{ z#F>g|+!EuMM|K`w)1p=VV=?A2(niT+{{7}npG_rL_#`d1Ecq>8rAc@kwQ8Hb{K{T$ z+nMKT@C)u_;7FM%!=`R?oNB&#tLm#Q?z+0~0y&N~b3bdHe>KPPk=SeAXPs{cpFJl| z{{|>>fx#yhS_&0raCa*vv!QD8_=Cdf{Y~ud<}jNOZm4e~9|2!4m^_}G{F+^KQKZaW zMf8oN=#KY#0N6z9%QZvCQ_<>vHnTU)I2YQ+(}avM*=hm$HnS&&QX!4G3-=25T^W*i z2NKRSy?)Wq9Erwi1S#`Y5W5;NHO}Tt1Wk^anYsr;RKI3s+9N+FO+B&m`%MtRMrE8-)_59DDJk*{e%o@d6CV%` z+Mkt4`FY;=R3QJ0yOQ`o(5R3;f_8CCE+c3}@w{_%=N)B)iiUL%Dqm%BIO)FkID>MG zm@Kvo-OqU6>08Uz{A*TE`=1mK4PBF5{JIS1GveM3r-YU$F*^Otl`)$@WE@GP8ksAI zZR&@3*1)zR1*B#r-XN;VMVN!i!fuDZYNKsvxT>ArN41_mYZ!`Wod3-Vj5l=bJAp^M zqARYFxS;w8+$dRWwDW!rx7DLfnOeHr1R~O8-^wzPq|O%zOHao?RE$FYK*M)1|e^t3_OqHyRcc z552x~MVoX@TXJP!D^ohC^$g1IT~=j3;y|xrD}&XPe!p+nXyB8F}K@$>9;;QA0E{7 zQ2y~e{iG%zqcm+yhC$Gp9|lJ8E$yu({6_&Kol>^p&`#$b?V7;Aq@z09)rNEjvn~=5 zipBF4V;3-!vP9Z3t)*C(0<%R+hpoMU&T{fzdD$xebo0u*Wg&mNEUsk1nPIK0rG`*I zyZ1AFX8p9ZPmh}4v`CBDpcWRWtgW%4IYP1kS{A~>80`F<{q7Lo>{SjL?Y+%hEidY6 zcr5LYz1O(5Df~PlOw*n@?DW?Btnclda9h3o-+FRe$vWTM{=MIN#ay-(SPN|ktq3#Q zgEBS4Fh00Fm|nM@M9I$wyK$OY_QXHC+-b5w8ctn3i3~x*CKUutroaA=@=Wwn3j9+F z@c#i>%$%{YxM73tb{qK4)HEQp0K(B8*f^?Nv!)zyC(H-?k#Mls#i>t)#U=ai%W^1? zHV&GZg<8gKzN;@2J8v|%5fJ(a6W+hcexU~|3LG+`C?V8Cp3Qr17(B-1_9naPs|Oq$ zkDSXt+IOqpjR6XQ^G8rg5E#5Occ0VPS}5ikfCIQ3|ya_kpUzRZ6U@~Je|HJGzKXzgCtaeR91e`_YVb95$B zM+#6{a-*16&~}oh1cQLL(3-w}&CNzHHGG;i-Oc}Ukohc|Z@h!!&o|nxRWqoK54^(d z(o(kfhv90T!+Ax$Zuzz6tu&JHx8-sR3ms6cInOu>7!-Iu(|cb`CfmT@Jl>nFelv&> zcB%jM#`$a1htlcR@`-N7$F+cVk!7`Zvfu{~MphRZ_YDMpeqec?dgsOMCm(SJH=fm1 zEDqs;kGLkrtgrZSzv^daqt=hXx&bIDdeN1=UqdLf=d|FOnss=rjwJHH?aEnQa73D3jhl`b=-Ill^mAevux@$guai}6kN!n-BbF^#pXGH(3`w_gH z{zv|8u#K81(`xGzXbOCprwC8o2LF-w)Bwr*rSs!?%HQpWV;rt>FN#8wHa}YL0qe(r zrCdzyACHZ$15cDM_}=NlR6Bo3ExeYidL@X^L*URWXqvM+bTztB?s?*r=p3pCMT;Wh zBmLZcdwnN;OlD#r?T`-Q3>*rlgCE0%;Y@JfHh#}E$$0I;BuQa$y`UT1$2NPPA4^#f z2|qu({ro)?cGF6k{ro%Y_l5`=R0Og4Z5YtEkKF3sLt;~rzpnbK%Vcel^~UMb)I=bN zq3!7`wd`Mvj-BKanB}i)z+eY|KwvlaUU@<+Kh#P@%yJ>iq#lH=kHwvbs|ji{f>sB+ zMt2AEBEEaxU13^8z-Y^9N?T<#Xj`W%j@4Ud?@Q|Seo*-X`PXb}FVWp9%6m)0bePPP zsrU)iiOtj0gwq_5p3r3&=nb{JJeQeTt={WeU5eM#t+2#r%BwhCs9wR&-C)6}GuZ9B zejU?mt9CQ4wuG-|uc+v_4q_WmDPfHI(Z{AV{o&xK!CZy6;G2J~cne-Gl`)oCGY#8B z5?))~!F{WNz9Y47vhH|wV~fcG$H0#0bDdLQFv~>QsB?f{berruhcDU}s)Ck0`4tv_ z5FwSp+bCwT>y6e=SZ*DZMwl+Ok=vejVkxlkK(=wt9N)adv-p!YPuO3KgaD(33B*QyC*L*(HjLv-8#qreHI;66v z!-~Idz#!!CT*!V}qLF>>lMPSH%s?7jFSRiG60n@DyJ-P$cj?6(6^gL5KM6;LXzF(i(+(;w-J{#>n3XuqDweU`5gB>w*(?A3 z0u5Z>RE<{CJn4qETqm~ufKXVh@S;16RLCjYGT=k_Ioh!?s*p`zlMgj4P(B6d!kXxkmu*zw7`5x$<-0uu*t^7@>9Vs2rrZ31$@>9`*#!u9iKQ*{W>ULScI4<|(vQq4 zIu?Nf6!r5@~UiiC*Qqtax%mN z2;IGr{z&sh90}_KQ~_~C0W=Trhl{atQ#HVOf#JgWfEJRd>vkU6o#PidyH@UJ1DWa) z9II8PXLh_+++QP@T15X_Ob{(6R~i=$v>MydP3pSv$-XjR6bl{QK7JwpZ)dLtZu7!M zLD0be?4N?HR@+Pg`Tndz`^v-J-)#x2IvxK&rYg08cjlKKETZw^-$TXuE288bdjM z%J$d0PA$2>gh7Y)mrboGuPFcR@?6)rpbv&erX9R!_yyb(4!R4RqemgKk+JZqKI_0u zuD$1T)Hm?yqk7jM&v#TWn;o{AehEBxrzo$6c^_>_biesbVZWO2qn^>mYHLSYAPW9M z&U@+Zw7|}ZF7DVZD6MoMRG8U7`TpN@=QnPKJI4YA^@P-Wm^-L)+_%#6*l{S~VUvXr zdxTAb=h<%m+y`Ec_BXr*g_dN^ZO_W$-raTK{oMWc8OSmkw`5)hpkU)xKFIs`kTZC< z6EP9>BRsH>;}pRya|cLV%t1e-U_4l#oy$j0GfMx9_x&E$NOdDAbMrI`{nbaVA%gsPrHcKrKW4sx_JB?^OZ{^@ThYpH8_ z24<5-ozWDY86U{9aoiRo2`9IHQ{nz%XQvt+D2{mr-7oG+>@l-^GfktsS$T443FCN5 zk9n6-Ub3f|TO9kgwPURGvck7N^=rzHJ2u4(AW8kQdb8l-BCi0UrW2dZhNQ8;*tG+e z(eqQPxPpO~CJTJs((ff-md;NZ1gPG2<BHzZ;FB*@nlG<$SRz(W*Y*CVk)*#XQct`z3UDdr2H` z#tJCytsltTuEhgmi43Lr+ds_jJ|DV1B)KbD>sLSX{N~k+_)xq`;mdPJhv*wAK^~P1 zq#wBE2QuD(fg+RsBHPzS-VIXrl6{R=p)Ow!$&<^pO5f*tEj{EZ^Xf0U$t!XHLB?Kn zXK<2}B0cBIYts&V1Q?u^7sbI!~@MxVN zB-OO=Q;rQ)v#ySQ5H;TZVa?lL*eY<}fmpQPDL%Htpm7O8Na)4f^Ec;t(K1vmlkg^{ zwD43>`s0TeJp(oe58MMh9C?-oHcW#(WbSi`%{G+d$AwLHqa&z(Jn>QH#6|PFU^bt~ zkLDtih>vz60<}Gng~RZjhz7HJ`6uY1B-6h8(yeSmT+XRvTAmKW+KtCR>n(?Msu~d^ z%~MiC@BFD;!*JSEmr$8d&>m+VCR(CtbTHFsDtD=)D)!UdbJ0(o0oUw%JVnF>U%U#Z zXb2FD>)$c>mv*~DfUU|~+O%2lQk2mmvR*cE^kM>#RK@dp@slbqYrnDEL)Xfvru8SX zZV53PkLm0?soC4U3Ecjz*00v6X7KMv8Xe%tC`DA>Q|-Nm#KgnKU$IZbhl~~^ILW;T z{}_p*Ia-Sg%QGHJ%R)aG{I;LKEL^9&7Mzt6xI6hzv=&QJ&3Ww_N2)3x^}oz4;;>Ax zd-9E}Gwcqk>}jXX;lwJCZX){0Ed@w6z_!Ym(|*PJ71*ztPtx2aTpLS$|{ zE5tv}5(TA3DhPISo-9XTb{Lt=J^wIh`TkOMB)gC2UiKArHUw6i`!3x3P+rAl=% zexq;Df2QyuNTI-l4l0quPFz)MeRbkMh3>MPxmJ-9clw5Kc5^&PDE^^4B^6~-D! zlVme(+3&EDqhvT1)#Gxv3zlW91nBE@vL5Ce<{IW2xj8J5Ih)yUk%Ur`)or$jbjT0Q zH{r7iFjjUrhAQg@z>c8-26gxR-H(Elu>M|0F8;xF5B%@>yZL)4A+-^kqlx2v;~t}% zTo|4{zEgn6t{hpoLPBc2c(9zmijH5npEr-E?OIn|7jFwTAoNMsM`o6?-8W>;fz(}L zxu$-|&nHHTb{(UKHI-cv{tFR#)$U$-A{Tw6w9*FAbEq-2D87rgPZd9Tt)` z1rBv7=lac#@{Hz!Z(!#>eA2Qx!vG(g_OhAN~LrJ7uE?hvLxlDYljptMlPIa0bV%Ep3dYTD@P$ zCTCj{SXIH;N#{ChWn7NM+sC>M;vbmRri`HJ_|He z7O!mtwLp41*64+W`?f29cNw3j!(&@fChaJO+sF1Yxx$FbtM-NJF@`;pGM{WI>P8 zu}-lvsAcA5>fl1y)eQxxH@Vps4D{rgH!3~GynOLi*=I>1F-Ltyjw#{a8e7=dH-+HD za5ufb)8`7Xgw8c9-tigPjf8zS{kf@6vRkq$vO5XsZlEPbm1{{bvC+((SQXhM{{qVy z)`ckG3b`HT20$lrLM6b^=_5%cNF_vtR)tQ*T_yKR^b;2ums>8%D{#Ym*O5=29)I%@ z>~!q7-WHe*#l|>ib`E#6bUf(*m8vfr8^ULadfYTTN`P~}CV!iNPXTvo9C@+Uq0>A% z>Nfdivj{i1Ho}f5mtqDPhCG0sjuMALFzu*Tz>(0(MxvEf0{8P=@pauN%Aq1R}T-Q!M~T^Tz$6dAe{ zOeaxPwZS}b_ofF{Iav>VD0fZ|sEB9$x>{$w<-qELVe*?Nxm5fo!8-oIcCHpnV~%Wl zyL4njC#+pT!P?Xqy74eJ_$~z*y31u+x3F2e`s#(uJ)xvBXweG~pHL6gU~ z7TkFvDD7O*K09*p+@o|rrL#Ep@PMdvyspG7MkkeC=5?9u$e-9%$J#zAr1d8l|{Ahq<1n z?5sg{)>v6~#Y4$97T0BX@7VMWx{Y|uJeG~W3S2w>w#9(^$i2h(` z__enMjwzU7JXsE&lGEdB5Ek%dUlMiBgrG?3VX?co@%u?b71m=qPeW*a-Tt5 z3trSW2p3EDn53?m1*&vs&uWgGR0Rg^S+?tC#$1`L@F^Fd7e1)n2t2I=rWfnq*U1iH z;OSahNrbwrQ~V8!v#z9JtI!=6*Y+b;%=a<52^qzI!~ZSjJv+~`$$e%qe#eRWp=8Ip z(t~p3FtlW{V^a2xfYbVoW=pZRh#O6(^kaCC10!fi+kd@W`{>|cJ%^Jr+W9=f;wSez z=jfsQj-ee4SDO**-u^a8Hc6H-SHva|N*FZ|%bZtJRKzJ<&dd`cI`yeVAkgKEPW- zZPAt@NHus4vKt;9)^6<5=tyuxz&7q{EK;O-`Wiw!ZXS;LjX`l=5pR$W9{-G4bg|nt zek9zx%As=U=ca#{vEcShyASzZzyLbFm%_UjwakpOjnq@Iii_mg)d~bV!63vaBk$h; z6vseF`+I8CM{lXn*A4b-d1%|Ql-qV+_%};qTJ;y4p1riBd4Vy{L6)0qn46ljAQ%yI zh+#xGG7j!fL;`$vY@x^#DA=k26KDgr4w$l-4t4=!+9^@h zs6VQz$}?g1G*dP35+w;SFUld8AKC$J=_y?+*;}70#Uvr_Cj+#6exP?Vqb5A|hR;oX zr*^ZXKOG4Mx;L3972-Iw(@8m*8&zC_cJ9mrPJFrn*85X^={!|Rf)CxB2KeU#tYE^k zf|<>g_UE|4driIzt_o$-nRc&2>{WLZpRm!Z( z4Ap*@qkbp5knwN(ECZ2v7xdhH_EESh8l!7-5tgLaS02LHD^cbH_>kupep?uj*=quNx{boMBJ6lV(FT(4f@IXD!@_d{B<)<6XOj zAKYDysHguRvG3#o87j22a%gvUPvrA=s=A~XaS|=$SJ2_D@ z8j{OI4?Q6tTFu(0nJwRc*z0egYiHyeT{bk)&!Twy-sax)nSeFnY~j>`7kN+4^4L|TjFd`kg`)b0m4|6&>vl2QoDjUp?U)5bpAZQZ=LP9D9E>D63&g}UH`^vWDi(}v1Dh6|VtY`(&G+D9V+Pti?Es;10U3IN~U0i>wtM>ttGRaw7 z!km8@ju~Sa$BgBW5JbK?=Oyf0>_n)?$w~J&8tirKHS7UaK9tbRn7BrXYS`l+?3cgKMhO1j+caQQ*aPsh!{?%$FOLiKR(ea71N8ZtPx$lxTQMY`gBndLZ z2I-n9c=myB4J4Gz1!`?adrS-H+6b99?d9`@KiQi)_p3lQYQO&Xzaf5aQX& z@T}(NSjQxMAop zNC!*N{QMRqY+P-2w2wcWOMzra0RM=myN0C~#5;X=-A#`;6zn#>tpq+gBfE>{PIBP-<1U{Um>ONNcQpB9T<3-~k+FJ!K1G!?1a9^Z|f7mSpz= z4RoxyaMN1TFl&7-9WL0k5tsY4Csza)QVDN}q{|$zw$DU5O=+4z$5-R76q258yUmN>hOu`7 zwY9|(xH;|RzT9ld>|{}SM?A^gJD3#onFVkEt&t`s;;7L69hjYA0*OfMVrNg zxjkmA61v|0iALs;HRB^|U(=;x)1~skrD_!;1yTpQ*jvch$$j8}>7fUvVC&I43*-u0 zTWf}axU6v9nDt=f>|ms8wgfn>)HI=gFac}d%wXT(H$lH$FK46-Tz(Eb4i^TP>(_|H zNq;_B`3yzSLyXh!nE2-;aLz%f1U{c@$e?sW%!?sB>F+-O9a(^VSkT&}#TZ?nYHnAN z8wALILtZ}Se59%Y2?jRrgPV^Pn)gb?oGRs1GdWWsEW=@JmXzQ*x6EnXmp-CniPb*fvFkh@p$rLo*1HyTx$HB;v8JA9_C&SO-L8~WEELkdPWG*w zVn>Ed?aqlSBhl|L*3kAZB<|XPDK7Xt(0->3b$#_hOS_x8>=hLs;#qoprC6YR-$b0b zUsZn9jUJixqOj8RN+Ojv;(-!T<9PGy4 zf3vCB5i|8qyHryWTL8h+Vr02@#Qcxa60Ex`s=3s)B;7FmZWyH#)_$eu6ztDgm)X{k zY+L(mf3(?-J$4g`k<}L}0$WxQy>Y48DysD^E(}e;IY7nT!uYmCSAf4OpvaZ2Pz@=n z0`k`;Gj{fom-peOow5uChADAw>ZSB4aZl$DmG|N5>;TJ_3+0kwN3;M_)UzMfe4Mt8~dPF+ZxxQap$dFc$Lbg5%J zsspPx5@~3OZTv;{n2$#S?p%KZ->STk7v9zZ>}NwR9H*%{$#BgXPM|xwRJQd@QuMuI zmWFOL7+fA&PTk3Vb!l*l=9ZJe7S%fo;5Xe`zhW9E{=i4Nt+sLJ)(eUk*d^Nsx$BLR z9ewQVWT7T;cUP* zPMbc9K1MSqqT?%O*O0p zM{4n)MiCCydk`GTZP*^b#-oKqxg+f1Y+x;Ul(#DUaN+AJe$xDaf_SP+ep@3%sQx=3d=s{uI(WbJB`L7;uX7f^*8~_XeLV!E$a9|N|fqj7w%Gbt4{B3+t z-Znl6OCS!6FhFc0RuE`&2_ylz4L5@eUZvBWp>*a>@Q_%-xK?Lt>pW=WXKT&6{teV^ z!4s(NQ;I)3Dw+5{M12QT6WtSUfKUYt5Fqr9fGEB9&|63#fe?C=4he+bAtE9uy{lA3 zZ1k%1-lP+HN8q#2i=sZ>|GabF-n%<{&b>QlcJACgyE}L0_t=m=2d5=+?*Ek9h)d*5 zuX$Fh{}k~ZzCQs<3r@3!V=B#g&Fy!drXN3&hQERI?YX0j&zk172#2Eq$JV^ zz6OU)SP^eR+qdBmcxq+OyXE`Lw>4wNzAWgjE-rCbg-1~lmY&NFWF9oNPIP46s>v^o ztDJb}_QCjz&F#h8nFWh~$36z#g!CCys$Ywa(g$vPkvv$UHgU<4ic8gOZl49; zUUbm2kvxV5lbN4{%|I`7pn)E8J~>C0gF3cczsD9qx>BsMzfPKiV#Dl!81`hFYc6|p z3#Q3QR(g@x8l?8OYO36a6TTOg^S8ikR~@>HVf0LL{8PH+xFlP~1qrJ?oZ66{A`ceO z>C+KKRVd-upc1%J5bsXz81SyOQrx9nb3s8I1nwYiEPep}V5RU(Ex)>{Px1h^lP66Y z0nbm~P*<|-Cp8}yhWyODc<#{k5$W&9@iL}>dnwP!=ElXE=Tex5{4^Jj8(Zx(YRZ1r zciZrXn7FmL<+}iJop)OAW-8Z8BAPn?F@A{ctvCjx0&^%co)v|)T$(rC;dB@c>Nqxg z-jPOnpw0K@VezX-;rMct{=v2M&(4^xhs!&J<45ExbAZvEJWP}jRk=h2=CO(v*{e!{ zH(yHqtEa0eY687~2#V)~az~NaEh*?12HOSg7&i2vr}8Jg?xpegRg?J2``4~In$@$B zqxL4GQ<%B#G`Qzzj7ymNBP49hQ2s~>oL`_g`y180TdmyP9pVnq9w|<+_@lw6x%ls~!kBispfIubn~`1l~m3 zc1jF>%9>UQ1Pp6k215uAGs;$*ZWez!hqoTqvj?7~4_Gd<7g2Wg(Syvt&CiP3|JroS zsAo(!j-kE*eK-YcdJY5(n(88ah7{f%dA<$bylwGu(AHwW_n{IVV3XJ4m)Fx@mj7veFn{WJ@#IPEF;dYH5-Zhp zC?3evo~Pa~Fb3*vA|azI;iy^5&7D}AxIL9S$vUY|vJxt*#z-t!G)A8c86N5^Uye0= zBfDTEiCOEg{AdUZe1{T8Da4!p@br<^RZ~Gg^NvtpfvbQ}aK28U9SeQj37zd z!T7$b7EUbD-g&7rZt(6-CAtz-8CamkMWRKPJ%E3+kG^pRD_Mof>a4BJ`7|;#kLUhQV8>ST8kPG<}g0oG@v@A_9)q zsy``i?mK$Wz;h@bk}b)#Pj>Jc6@vD+gsxCsr6e3N3=3-S#P9T|x8C`H6MXWY#K?cj z7A%Kh-=a)xqOJHCXNvmo12Zem{@Z#p)Ov@zh9_cEt>MRrDA|ttq*;bt7{6Kr_e*uF zJLcX~qsLnGmL141Gcp+_)%SU;cv&t4+!xB9*SNSB=hm2|g{4Kf#ETVws#(ainRwl) zA?0Gliz@z>6sKNhERraI&*PA1goS8z5T$!wu>|1FbISuI^S$*l(GWybm(l2Eb zWbR6r$u=qU$Zg5F%d*N@$yv$XVF_eWVO9X~oM<1vaT6peayRw`m>qG(<~K){JJaCq zS*Ij2qGN?qv|?2l{yVIWRc!VvHyXCLL%o`fVR&fRY}sSj*%1Sq8OIP?{w|Jr{nd4~ zhH9r+guRBRvs4=d^UQM2ZQq%apZ#PMZu}Z_9Gf}IW%u8N5bK^5V52vDZbJ(p& z#mOD!)d{^-F5@cCa*V4*IbLxhHucDg8OG)Fh1%TH-V<4yOa@d+Bk!8-Bz5gV`|Rv8 z1d;`6;F|)ia36yPaBTr!0t4}o-r6|m+^AB4D$D44zV^xS`%9L+=0(k5fv(^f4lsZs z%=!c}HDm|wJ@qg;0feDR(PMkmCu>4kVhRXyzt)V zvwQe0rF}Bj*Er*D>%5tIpG~93=%Ph+$gYKgxzkigx~-(&`rY+FUcD3UQ<#Ogm4_j( zOEoBMV8#E3xSpz!j}9k7*ybGm(?XxNmgz-8_`(P!^0tMFl?(EpWs{XV(jVnurHy)K zA%XmD?vIi&mq0q0cUWkfXPW0C*DUUucOXx!dQiD2cO)yy0%e8lvAks|fl`38O~*`C zsK{^FS~qNh{2jvv4Si7KmflF0$;j=F)nJR$0gCumgb{nO*6F{AWcFnF`;yM>hF@)d zFSN>k%!7w~cz3Kl^6Jjdmu*({{?G1$UnVxmWf)S}#cU8hR*L#3N#6cw^ZH{B$?NTp z5)(tjze*`ddzO2z*nK|&xg{_L+1+t|6Exnxo6S{e_g8q~?=EFiTK91KxxCP0^xG-# zu>prW+AouDxisgG4hNR8=e>)6@9%nXr*Xjd&Do#(N@S8}9Sp8(&m-jC9E#mn^f4Q@ zRcM^>eRIexrWkw=|6_dEMuXP+C9U<~dBZ6=Y!J4;h^XrO9%(H`6{M0yr0=)BrP&pc za3(9(LN@*d_%DKgjDH+r&?$Lale;YG-5&4$5kF})O*LK9Rg1viM!Adw{ex_N{TE!k z`U23#hIHNM-Xr?(uV(GhO9-*r)B=v>0pGt!bws;XyHzwQ+KZNHZ-_rzh2F`-u^ISw**aDMg;HvgJif@PE({qv7iv;`NpK<9|(Cj zn=@Y=3SVjdc=A-o3G5%u;MjRA=g_p)-=hg$8TTw)|IV^{LpHDEqM3m6WHfhx&P7Uy>ed zODru~x>aZ`m);G9*5b(%U}gNd-`+WOnAzUVu3o$I^(6Iu-fInY-{j-1I>wn6=t=-ezP&L-?cbz&YrF}nyeEQPm{WVH^0@LKoTeBZO ziqc1Xg|>UpYV6JOueiHi-wTG%P9IA;P(_|we2y~#?X23s9=OskHj-cJB`)S%u0&0* z7*0Q0qo_D}_;*=s#Lt&!40ckuM#5kBP?%QiU;Y}oNJ;DO6D+k)I5{9PUW+`jGIYj^8Up6(mG{*8lugs}cB z)#^x@xm(e>CVCq9^iJjLl`7xbZeu)>ZRfd2H%>7MU)nUxRz6UYtz@yAo?2w$Nf4ea zQi225mP(RO7FqL5D%UVF<8{|5Q+2fET@>$@+ zuXz>99k6rZHM0L$Z}Qd=C>1Mc-FTH99~T-BgfpCH`yF@9|FgYi;Huo+25T9UN%g+I zdm^|dNC|oUINtZQz?yhU-Lr_%yD4?B*L$qr)wMdvGkia&uSqhG%~}hw$#;u6)PsLW@g|c)te#)rPCWpn=aST zU6vx?LH!xX{gvhYsYhxrd8uLFu2!-Zxf*wL1UVx~#B%JoL^!8UV!D(i=!~~(*DY4^ zMcC&nb26};>1;?stQw*Qv5ZlkE7-%)&N zt(7DKnJ*?FdfaC^wGE|I@Ea-YPc`QXGs1)99el3k;zaQdVB80)_t z1>g2oP|dG9jf>M`Impb3x*ASaOk zkOAJ1a38-ovY+Kd=f2I23nV4T5V(Qjg!@2oAQOQESWeg>6cBO(AW;Wnd>kjZhCfBs>Au-}F8q)BrPpe858>2XKc#3KRy?1EmR6Kx$w&uz;@M1a)WH z_~{qaQo@rk1Aj685ADiR<__8~nTv{ReS}sYt!|irZP5h%3u(iaBtPd8?JGL4P|M)0 z!d9=L7WfA-=F7Xtweau8K@KcgYb+PBFTCS60>6Rb;iGxeQ}bS$4gkwouEPd~jHw_@ zmQVaq@eHEe9s>6UZThHpLBBayO1_T|fZ2Biu%;dc4KWhHbWuWRK?}H{z zFlrdiIQDq{?lsLV8;ls8-sJoPlDB^-Wk=D)8(zfZg#5;Vl-@0q*t_Z=%sWp*FJ z_IEZUR7a4?4WS4(gF5MElR$WK)U7i+01V(0>wDv9YdaJ^6gZS&NmXun+D1w8wF(N< zzl;IgI=aQsJ?(2*1tXZd!pp77EePhlFhzVU&tWzL#nh~2mC3e`;;ly_H`n|eHr|d2 zgd8>TVR`dk$9?mmv&hra*gwy`ZfCicH@HrR~t8(-_hCK>mUJZ8`;qEuAfcGVLB% znHd=@0jjM-<}DEI;#B6O9WG!_Js36#&e18nJb+TKuyq@*T#Xv`8IDkoQm^gziH=$i zvf1rxi&|6bdt%re*ldPuJuwTIA#FB;$=w`SSV{?3R;qKu# z-!@%h{F|@Tcq})gZN6+QR{ywzQlMw7z>7EWdrCV+leZw&g-Y#?_Z{;|J~f%^sB6UR z&V17D2AwKF1+_yQYE5BxjOw$Y6I4y{e&P02K)9=%^Z`@aN3pSwK!9*nQ7)|SDI@X74I?DyFFKiQ-O@9p!aGPx*Bz`y z;3~_zRW`e?;TkV3=W=eC>G}LO>gp~&3{9_V>J;h}xC7q|BChZ2>z&XVnwfJhNS1}= zQT{heZEC)}I*Ax)a9)=cUy3bk3s9WAl69&N#{1U$;eAi>_)xr1JuO}aFI5jbMaIYQ zn=9EG>XUTof#WQcAcGKINNV0#UNWRMPdx8;UMl2go<`nC9vfsILJARq&_JXhKnO5z zFz;Tg^Mp+5Nc^#?t~27ghsVYx)?Zf1x2XHjAaCWtbvMW7unc~vzB7*oqqzqD@_?@_M-sqHk`6vrKa zY8e_CN^kxex=vqDk521Ms?J_d%1)QhdSV{iy|Fj6*;Qj->QVz)y}?l1idru?h&n7d zD4|<0)~2Gmj}3+llyt-3pO%UyhM7<{IxAN0l7pnK;)^WHHmLT&Py3*;flxKAMCCb$ zZ2X!QTVQ*m54AuKf~~sb@AbzcP+@PFp>XcgAxWjoXm*ry{UtT9aMrPbXZH@o^C&wK zCAE~QUnDs(6K5g1P94rU?`@j&a@{~3D=Vs+bYFEpi+RA~gVYOd0|BDZk&RiY7upzx zccm%`H2&qayWRw!Ls8{Pk`rO7b4CSezcsxDac=`x&>D~$M#L5T&HvM27uEbQsh{S= z1BO3nOS}&2%6#D)&2CtvAJ8KP%lAJE=LzippM_7_tW#!U(r;_JUzx=_)$>9ydBvS5 zgFvab0M7+&QvLdvJX%rOlA}76T>Wtka~}9hD;|q~<{Ef<{5Kwvq7w4jrQDFwmp=5A zD>zA6(EF!q-@b}gl`S;3J%2s9Yi2=qX*k(s>9aBEpnf=K$xv4>BFISAGl-b%6v?_2 z*)arV&ZzsQZ?hwE1hRhTd*?IdyJQJu{rBQ-!IL7U z!nXxIX(SCb)xjm|rNz$cnX{l|o}hmw4(|U#V%&H<9fD%QJKSSpUK+0jYiM;u#ptZz z9rXSg^5{C~#sqa>5C)Nof s{<(clwQg3=<)-@D0!{cz8wVg%-}BQRbn68e9Pksf`j^XLr!u4OzGKGi8Ct+-+I3#Q=6C z`^~2!ag}|md-rKPqapJ&^~A|vnwzv`qmvB;+Ny8)`u|PVe*RPO=gw~5-}2uy9RMY! z4&Mf)MqO(S4coZak$&?Bna$IvaeJ8QQ`l4MalUV!-#mRH4prz{z&lS5`5XeqoqS|O z(n|O1m~t*wHGIaAHn-r&^?oan{p3x5D#>2Qn zR@Qh`IeXQKbjl600hTUbIXa*2*w}cOczEym?rD3}@$&I1@L_7#qrUtMPXT)@@@Cbn zWLhjfva>fz@%1R>wd1wq_2xC<)#5X+!DR@{DcD5o(E98(@;$BHr#>32i_0lox?`s9 zL8HF?Ofiq#|1ziliC1Hn@M>^p;wr@mMOXi@-bi9+f8T?V;DO!M2VKF$#QwR3SDlti z^2@@D6pO;0SFUWk%r?#E;qQV){;GVrtEoIK;GRbhR#wxX3xxgDoe9BUHW92*{co}hNL zaLxoW=IkGfib=LI5_GlP4t3>lz4d)6&mI_F9P+DYe239W%B|*IfH&s;BL=N(UmB-M zT=V4klo3yoZ^}f8+|C#Sq1=Gs)9-@|yzfc4-&z`95uC4}n(w99$))W4J3mv%=U)+Z z|I+v_4n1lJ|0X9W(?IVFDqA3?y?+>?PQzDYpMKY{$_c-EE%gfXQ25yPIJrZH1a+6@ z-^An(--XQK+q%UUsjAAyClCoHBVLCc_A_$&*dG!3ER>yo8Go#z>_2PTA)k8;o6wjT z>Au_%I`R9v?N@8W>?)&}6E}IL!fLsy1{)T2MQvNSn!4I=qg*EyJL7y$T$s-nqfC

    e%(0iYj&EXukNATHEDg7`I$3rI1V3=iPwxr$LYjHCoIPQim!^V zjCYN-Q&Lm3a->_|S@sTBarml@R5Y>a0!9=JZK4jzZI_!J_3^y31S0J36eQI4LzL7j~d-&BdxCsOxu7oR_r8NYk zzXzx7ij;1oW~>1=@F+s*(v-1@p+-bdY#$m&afI|M*tPP44z*g>5tDQuSbQ?du*^4J zu+{z~ACO=rHFDY!{ANZ(Rs>|thz4GkVccL+udW$2bBwn>GoqbmH098^S2~iOl6NFU zCGk=jX|*>cTM}RqI?kS>Wg9T)=BOeWo3S&!Wc9#-)5pNV0AXN1Xn8|H>k!HD^!=#> z6pMY4r-AVL$Cf9HH{4$wH;XF zR1H+dA4$yD3i{5%z|NsPC`)Y#m8DNij=v z$??nx8Zv${xc4=YiNcdYk%Bo$jB24Aw`FmFTHVD$ncNvKjb7Nn1J z8`E+_yyB*K_SY z8Mv>PSzc>LdPVwOYhI^NDN-p=N&2MLk&%78`_L{XaDu=J-)07FGbI(dC(&R>qqO<; z7Pj>kuJwq?dc?~Pe#5q4F}VfNL<;p^9Q^KhBXC$KqPG_jksLWa^`~bK?|OaA#4h?M zNSyOG%;t0*)(bSdc9mQ0wE5;!ZR5&13=YlLJi#-LOJ+|o&oj?wPoYL^>}+fbZLGyv zsbc@5>DKI;U8(5Yu_reQ(vmZHXe6gOtF>c^3mye0TW3gd2ian!fyc&(w;yw#DcEUU9s6Vd3oNx7se-dV zjEu#-38MTR!KTgX1~LpkIAEPy)K%>NQjZ?g;mC@pHwx2c_c*@I<2=T|yW*uE_!I*n zpEU_HUxlgYX;Wn!{@o#8uQWfIA8)_VQkvIto{~8o`2`odEE-oFV(4<74v=$jWS=ye zrkSpts9F(1RiGMBGaBehg5dQfxBzy4(M^Xo^bJYIi6~3!Jexb|kQPLAm%vEy1j_d^ z_ev8Kfeb*FUU>pduSYLf2j5E$3?caHI0BssAv%saJ_KuYKZrk|^ZMg`y7}@5U6+ZL zqQ0aBYXQvcqZ!6(MjTT&K7b8{3=LP&1RAsb8@gOM3SAu7oeX|#&Yt0quRkeeI7tv1 zas@>zPDpFP_W}^VSwBBee1Dj&@Kbl{>#5FHSH;_fJC_fW81Q{*yiK2W~8OHZn8pSgsyg( z#F}01NTsxsta;Tv&*#6awyZR9z6=7bFkCS-fP`2!r>dq}r_vKwZ9cQ2ylM!{p$dT5 zqdsPud6c~}3@CJIaft{u4YdnJhDrc>kEEEC=X7n9O?&x5TS;Utw9>hMx)~`)^@?BC zkbFDg14~>jP$$j<(g3x9VG^60f&%mdHb`>W$k~M01lWur=+pgE6x6kwrYoUqW~H~Y zcNI98b(8qybcoQ2?>ZgQ>F-^s??Nu>^nn)%Yv5&_<=(}trTW$SDMk;A_DLcAyGEDM zdCkaxcqye@nF>{b5wXMqp(J1n?9;rO)_^pz0MnNpM-n)nPaVvc^oE02oHSn=B3ZwH z_m9I*4}v&_)tiEVM|;(IxnF}tQK613$BQ{xde@)Uofjcr9*}{AwI=LbU-jGzVvIV( zv3QK;jhpMB%<=E8QR7OE0Lucdnc+*fVy?Nr_OTh!SX~h93<`mN{ujm#jBRCbWVtlp zde7FVDPQX#0q#4T_p?MHVuI+(q%e4LXEzMXXYtV zGnETGj)5_N#F*o52a)|wY3bR{=w%gdQ01QLz(?ah{W<7^LL$}hazTIa)WN7=gt7G# zHaO%y{%@>#Q9hiwaLADkV%u*q1|Z0hR@Mfc7E(dqO%4?wJ?a$r*MKSGU!*<_gL)}B z2&{})Q#-jmT($~Vdu-sH3&A9sn9rb^@E`G?@j3X=-)Dwj-O;|kW@?gEv}EhOdCrNJ-a+SJXab$f{#M1hFD#)PDb(hx)}KHJBQU@sY*hN z>_uo}+&JNbdxsk5#qRZy#-#^zv#9Kn7>XImyL3WkqYH}^4Nq69;BBUGx#0&I>AZ&p!&q4kc3*(c zWhp|P*b1xNWLTx0J-t(5=}Kl{q=1-WN}s|Ip?c_`Z`u#xn(M{L;s($H8U^_}rAK#J z+erX(Q7GOaZm%T2Jyu`^Iy`}_P$G$C!=WV{MnPwoK)oP+`ze!KllCU6(t%;6+(%qs z7JJ2OSK4pF;4t+V4?CQ^W!JK~;_ck%p8-0NphphX0f9bN%@>o4I`+FhwZ4^J;0)3L z{FI|-^px5naz3NKnwcTbUO3!h%nnqlLv+@GIP2w>8eQ(8Dzst!`O4GH%i7Ju)h>Zf z<&d!QL2*Xl)R#Pm+0D>5)z+*(2jcW;?`dTb;cFM+1qKLb1^CbnFdEncz6dujaQheHR0PE*NZqWQRa05%PF^sj?F@*JRj zw9tdQkW$_%2R4JTi7^0)Uj1_5$7`-zmxfrGcNa464$D3O#6LKed~mj_c%@OfY;ynE z3o4R_!^i;!hLXFXCtCM)62579{j8?`kv4sA%HOYmKb#jf^Vo z>55E_)Nb!-_ud!&dpoW0*~&Z!@uWRNKyUl)rW;rpaeHv0oZVtG2R+>gT|FFC~kna z&jVgwk+ zVYU{`lzSXk7k9fZ*0?&j?qKE}JK&_j{tDcR1C1QkgXu!j13VoF)TL3@SoWoRPbdBA zeunvVg0}@Hoe=Uf8LiXKfNdhhq~OiIqEZ_46X*{A{^B<~l9Sju$=(IQj-T zwe8lrvX-58W)7GPj$rCTi>56?JsF>9u4Ue>?(9}OGGVwv*9Uj5GFnVQHcRautUC41 zDzajeCo`TUV{H!k=M-6MJ<;!s0fx~K*6LW20U>u)Qfl-&+#m_wpiY9zlKJ_exTT_* zDL(L$8E49@{AMM(%hH`_XyOygTkm`PfT9rdB4Q;78b;Y8cf&-?{ zhP#w%Q{xdW&Pq<^k7GN(=-{zGW@hLCopVW%Q~Xo8Hu-EH*z(vG*gms8*Cc|(R?rTl z%+`8=W0yxm?ZuVLzG(;J)!NMMMF&<3U97xtM&>V}cI5$`MuC)hXTY@GC7g_jppg4vSE|NTGw-sU@0isz)w3T_XLftw?u$@I<#Fj9nmj9#hLw zQdjfMf~}n|2BRU7@C+fqd0R5rYnS1&x498Il16wEn9$Xrd(`nC+TUjeh96OIxCyE0 zhw?T&sGNrzv7O*$9j)*O_`BoMvE7b8Mm>!0-3%q8Pc=w`E1(;-;LUF0$yMu%&ATm! zmBxe79W=%n>CZ&APv^&HIJ*#R^=xECLHgzADNyF=ar@IHIisVmuX=>={JSRQ23Ecn zsw4@3c~qL%2q0`L9v+ z4o7eHm8bECsmZ`u;eOJ$9Hd_2RVBb~oe^nzPVaKdBn2$1ZIZP@AB(}Yv1 zpbt;R<#FA&Ka0uRMdI_>o{-8?v?V`{B9q4n*Mm(c=h?wg{`obh12ZBPRPCl!OuGlXzkv1 z8MiF7mYUbI5D{DJq}Ynrw3Ay<@R-HQ3;vJ|ST)@h*vpV?Vh24kcbVrsDoF_y=dI*W zGbu$_c0aN4Cn@?#lJ2!?UBt^RGi78VFl^%SkuM*j5@wZ9rV5^ZB}K9+IK8Ivf&Pm% zZe@IGOE$k*bcps~l1YO4q@FZpplM*BI_O1BPE8KfDw*MjXM;suw%2|vbG)#W;pzl^JUn539U{bEJnp7NE}7njy+{wvJEE5|fWK6#nNoV#n9 zyVDcL%*h5`ysb>Nr!Gwo2?$ToyHn|Bh(JNFjh(Z2NU4rE#tYzSk6 zr~wMx;`egN2zS=PC0D6lJ=2QmApN;f&l_n^C zIpI-8Aj?42J=o++IHuH?|*bDb4Vv~pxf z1yYYg|7>z1$b_j@8U08Z4VDKEo+@(3dAfWFfzq8`Rrb3NsbZKe=%$8fr9v$Bk zvgUrc`T39J)4QNe%SU5cYru=KE3MVo**9UF+XMW+-e>Q~8U4IcpIW&_m|8ReS_UQ1 zJq~qxQuX9Jvwq8(4s?=kJCmmF2RU}D_4eme398G5?4jVcUIG>>QxY}jugTA zm1EtK17-<^CpEfM*?2t%$CGBC9_6?Xb)}^|$C;32Vyz75yN)4Zh8fAW&h!C1SN28z zOoX(C*Ji-XpaTQhAVeGQz$ zY#R-Ob@SLp`}JYL(K%`Iu{7-Hlbn&{Tv*^=kpyw0r^sM!3cr&dbA<<;c(pGX=5<*| zuw3=E3wn_3v`8RZQJl7+kunD7HpN)Cf+%7&59`)i<`7+14o*fI8K&Avz5|hr#U?Zp zIhS=axf@lz=kWPj5&5u#!1EDbW980bh_NwzkC}RG@|=AHNf+RSWBigGuyr|`A%b_| zRvfOEAAZ$!T6mllW)ZH0rogjZiPv(mzlJJrC)R4o&xMwCaW0-$2 zOo7=MNIA=UNi`m?9|wPorDKkhTAzuVS=8yRU)){;E+hLh1&@0KW%GK-eNr~nCoN>8 zx!m9@n~Pkpuus5`74grcElILU_}PB^rRov<;R@B**z7sBmF9|XU?%nzVfjJ|7#2a{ zU{Y?^-i4dzKB*03)M28Zm(g8vK&7;_57Tb<%h z>mgihzdH4L=tB58kyG{KZ01VV*19d0VGc?<)_PYrbc1$7D=Zuz9W^sI)PQTjIbrhy zgCphrpnjyJ-EPn@=_a|yZY*6>T{&H}-J0DxZ7I*XbQMty0pWGLU-4(meM-FA`ntS! zu3q752{i$JT_O-OJZpDM7>dEML{3s^Io}#QEyfsz1xze}m=BFQF_$_(gqWo+qFO1o zOUGAMaZwD$Nfg^Y4nGm+Tqt3=vm!ED=Z8B-9OfME5Yf)1zm5y_I+sO3zK4df7)2e( zqGmKG<1nPtA$a68n-Yq>AV8)TF~$K=C*vE~1x)~_QxuOjy^OfHK?5rrIoE{Kiy>{3 zmUyQZO9@dK&2qa*Me4b1D@nLzAl=|YO(vt3F6ZZT!PHk5ids2xM9-oJ3`%qP{ZgAo zPiie}A28igeN0L`tdpBP-Ul0Vx^}V{F=S?s*db=21l7Rvj5M`mmCMMCQxlc_&1SAl zxawYZhqomPZXijn{-ZT^_nME<^q{Cv%Dr1Q) z?jr8vrHuqHr}dQ*2OGS$x}zAB0thCKvHhFOmmbp7SYzjAbROT3y+Cw>q3t)4>NG4o zR>saJE}(80|L!?drVRY$@iDWyV)y4^{HNzo*Tw~>$Hz?E!)^LqL+2~Bmt(M@^Mwye zXWFiDzlRlrl}-{|V>!D|c<`4&wN!PXZ?&U|N{g{b&FI5>p!KQ8mIbyN_y2x6z@5Kg zU;AV>Y!&$!+4^krbMh1JD4?0ntebUiaR%9n41=| zj7Q5l=s=E2oC1ubCmjsItidFj$()ccrPAQs=B&}@PUd!}Swvl8Z0HR!Bz{;5=HK ziqm_}vPjn5Z^vNYrz8PE^;txZyO*xg+-kvihRh6Y)Ba{xIrH70m;n}iQ-(B{tOttg z&>plfMfddCR`zU-li*Q%TxMBWM3-PZ^OD>5xN}$wsB0mM9u7w zaDhm>*Q}M1#c@62Ub0!lyEpf%@R$1AFn*wQ0s7Nfrq_DUpc@qcIba0&Ifjz+hg39yhM0VtL7sgU%DJ~(*?y7InFc(*m2Q)8x^*J-$_srHvEY9 z?T^rFZhVI^wYs#vu_20jSqL%YXY=^Ur;cYS--13_$$p=DSw4-NB4F`@U3xcT{J<$6 z{%S%76n;n&Af*VNybrp4XtLx?+cTC5Wvcsrtf@jMH;fBmV_VStw)pNP^j7hIy7xkk zBZuq(15u8x^WSJOp4s!*I;~zy5)6)=;qM>CjJngRF_O-2x&Jq|>@pMUvjhux%umK&Z!CNorhYQx zS3t@%(&N)xZA*BvZO)DmwjH3h|MD=v#N465|5kowYEPFyaP0_1caY2mZ$M`{(yeB&PvCwpBG$BJS$D1Rs_dnZNtGwS?lL-rKa>Tpo#Dy-z`=|62 zbZMi*NtMCQgwjH~!$NPxbga4a*o^!!^ zryLN;qpBhc5zC`K4kwcIfgK{MIVl;2=pq-JJ^Es|F8bw^ol|x(gxi_-I zKZEAnTj_nJqzZ@YM>RG#)u$jl47{c zUoeeQcs8QNfoFw#}L{#4;dn68{b_vq~sw2xKzNQc>}8bjGi@yL@YElCS;-UXLY zt1t_uAMBs#N-5QNcAH((wkF`Y4s*R*nW4t>5A40sez=6 z^XmP3m=-C`?x{n#S9<9^eO%6WNW)qFjxh$b^~|%h`2OhpkvqP#k|hyl2+s>%!;>?< zv`cHw)ybmCX%@V5E$#Od@@rb2v^UJ)vXmKU^fQ;ds;%YCd;73RNH10ZuHQg^4)Pvl0)O~g%dNB4DJWjq}(?jmDhPIHy3 z(Zx)gpxJf4I|!DrarlX*N7j%`kmQw%c|b=EFf=~ntE?!QMN0%j#xgxjJ@$u3L7O!{P$&x>r9|8ZkkXosWaP-7X6M|UCtY(gcX zb+Pb5dRg9hB%9ahN&FbPV0-JK=QiMHllu$IA}^L-vjzoEmfBDBqK_Z|n4mrni=D8l zhiMGIm`X*SE8sdpMbgTq)humoe~M-ClHKfE3hpze@sL}x++;6kx$PAYu~~myfy~H% z7D6FPrb62K%Pm$>+`GL-a@f;=+%t$sybBdwAVU1&pUHA64z+oVsNN{TF_tpFC>? zcnXNm-Ujlf#{B?(4{(myfw`hwz*mLP*b$xd^>$FK`bRWn#$OKJu z?YFLT9+2_Sw#fcK51NXi3Y^?&4Y_{C|97G=X`OX@L39NtIH_C3a`nhI|JW+Qu3v<0; zQT<_HiI3?`ndg#Odz!>o+=p$ej5Pn$^^X9C8tcpuTzBM#c?2FLx`_45)-;wT+EGa( z2Bi^skJerpOh{%h@_KJq=>9Z(pu|fG&`TP&~K594@{H{ zH+}rOjFR1V6VQ}=vP^?ggA#+2gGUDPgJk&G>3yTiq8Lth+wf&j5o5OiRe*`AmVE@0 z>F;f#P+N)pwfA}@%`%yViPs1Npj8y70ClW!x^MzHbvunYzH>5l`r{<;SbO6*OeQAw zN|8#HO3g_1OP}kV!_EWbP2?kk9fPBS1LwjTL-AM|slVtP-t3g@PwsVB4YOlunV{^6 z474Pb(-R>SJTzA`tzYKUcc6?$^v`-)qs*y{vUIczUbYP$0LYS{N&H9@0rDgm5_4A#$U?IlN%5)R`QcgT$;_$bG4Tw0e0malf<6g7K0S^-A)IoaET4hT>d!gPWKR{( zJkD<5$EZlCD`x*bJ%sCg;NbtT z^`B8qL|ywh3?)&~dYrP-dwen$RomqR%x%S>CXJ+=fu3F7oJBDLlKm~mfKNIr$ z^GKxWWL2QUMsfWNZhpgviEhIxxn7NjEh zzJs>Wi3wH&gWKqBzIjWJUZC;WVE5Q~0zQf-u&y__ja>B%Xb8Mwp8WiI-46@!>oLmZ zO}z-Rfqv<&y7gQ3?gMX%XIDppNNs)~-xVkdDsYJRl_CXs37qm=g5Xk4ZAdrLGQv|R z-Cq{dYmnz|kAk-O!`$kfP%bRDm4G0J8MkV9yuZ1Fz&GAW;427#k>knczHKB_fVoT8 zJz|IbpFK~NPlIj%-+UjZD}C5T`Z~0G&-oo{y+g`P${nD)fL(T8krtn!4>G?OWt=A> zhNrk$r6BZcWC%}k5MeCX6O=)jacwhW1-Z_T0ZI%mf8ca~+5E^<-nH(GULV}!^_;4h zuZ6CY$%_;$wUd|ahR*N*b9A|Z5x<;nzBF+Dm{U(cVp6}pjEyNgsk2`-=Y)RH9X+v9 zin9bw&q}FOK&MMrsCD?Hx=Xd_1=SwTxw71DOp6-SC_hnm!224c-g7~*pNH3g$t_ao`Acl1*FVYHuj z)DD}ljLtbifFT6(`hcJ%-FhqNtk4?>|aiS#r4wDZu9Z%A5*r zDW!~246Sf229yq!I2@NNKCjNfigpg3QC1H!;Rns)ZIGGGRq?MsOjandQR5*8q+ZPL zmx8v)`%+|oxg7O_rpu6~INfNZl6)MhMeJI#gp1`drq17!NUaN?mlB`TH4Svpq*Vap z^DR*yd?oM7&t3gib05Bvf0F-_6L1KN=Xxdd{@2^8vt-H+YAv9ysEFr(ZXlf^8~8Pd z5*Qma5GWB?A86?Ft_IR~WS&K3P>Z^&96AaK4bcOn0W=OVU^@2AZ6?_2F#D>0t1drKnMG!HmO@vbqkmr&=WWlJ%OSA!Ho_F=v<2M$zdd_T&^UAu5ne zaTnKdam}U!2fQ&c4FTn53@%`$c`u=8a`VLKPQae-)>b>I=%!5|a zKpyo8D98E~5FF(ta0R&v;2`ICZ&m`zvpx-!Z5|Y#R-XV$6}P9d#Akx6mE)*v^DLm6 z`|;GnM=|`6eNtDVpdW_r6O@ZG)lMC_lnpq!C|TH3VQ&mFbE4eoA);GM%rd3#~Z zPiHmN;KWhk;EOC$@c#8ZA`v#0{@EAba#qW7xjCpA!C6B>+qOo9Fzjyb!rom&0O(PJzFGG>L;eKZP~wpH z5SGvnouL``$lwg~GfqDXBXqR{Z=_taAa*E^-6-F7_g7F(nd4d8KTRDiRD~2iF7$`1 z!FCdO=4{dh%dR5FHN}(9l$XkLJQJ>y(+$0AFj+*jzo|e?AkU_TTZQ(Xt~krI`O9^c z{31ME`+on@={;w|k6^i<{k0QJWY0^T9F@t4Jzen8HtfLI`VM#2`vrS_w;zQ-`+=Y~ zlfRla{gC5Jjs7m&PnRG^*Wm;Yx4#6LFzFAz)2Iby#3|*Fk89&)o{8Hm--Di_-|z1H z0Qs+ zmVWE1%LGa9mHlr2ehnH)V(Ff~vn6QhG9R=WRVy8%JhhpYD|t#{x3nx);iintkN>o; zt(|w>fSFux>S@WjE^~$4jKTcuxo8yRCThwo7v>f&!dDL4frU0Ym4@?0GhA1tV8j1h zDXY7-?FjNsmxafe?q&}<-b05dRER?BA)}vI_SzfW8LZf$Dfmf?*!EP{FIwf=i3MG| zZts?%x3&3AmOcJ9hw;a4a7SM!txqFAGTaU;yw7Bpk6yWKp0wVD55H$2z4Ysilff^; zjFS35m7_x!9h|8#l`C(}BS*gcu;M|6ZfS!6%0q)de?b-|x^pj81vo^3Dtaa{r~-u$ zFRD0pM9?W3SiF1)B**(;j0i6sY!Xz|%f{)&&+LHdcQ2`!pU{j-l?owr1^Nf7#zHxPG=PZL5)rCU^B;SxM>L_iP$lRI z9;r6kd&S2*G2R^oM`f^_1kUvyD7a2Dnw`*0r}U5v-Z)n4xt!j<1elRb2(k=0k$9q7 z+E22gav&DrHr6qnmUOkmpCEoKX)qU$6!ID!MODd5d$YCM0I|acoziLkI-T5s0%ysb z>>x>~1;Fx9QsnCb+Mgr&{h`hFaMnaFQ*-D(b-}Ou z9&1=NCnUX?+CsBK5SxnP`_`r_H6nda#N#!0>Q_2d=QDT0{${?E%@0Meg>~6-yiP$| ziY0Bm<*&2z`9Db?juQ0JK~UGa!KwY>`tW6^R7t&FAZ48*#j;RqbtgNmE12zvNjXd< zPW`1HbEuJ0^}!eypB!_V`d~+?R`yJs`Uy?kIWe9 z^Z0G&8x4*)mu?_8)L#JP=zx!o{gqdn%IqY>OwWntG@}V0&Nq=i)`u)`w#;}Kv9Pa@ zYIF@E#P2L77>w9u-|sl(afircIoZJ&$$!EJWI=Y_Rt6L`SKdU^lavueD~+rV1EpKO zSbAqi0&A<-`sVj#!zT-0(Gc}F2{EmPUCh6UQ;%HAaxn3N_re>+%)8kGf<_56`?u6m zD^)ashdMX9_Mxg$=LT5x>E5*AZJ3cmy$(nh&_2T7;e7WX!bMq~F@b`LE4)3KZB>wb zg4{R90THlOez6hA7MX7AsU0HhAdh4s--;OwXu!U88kanrkk;z<*3r}< zD;8V7cX)dyi2gy~+WBl9_OQ7X8C5Ez9@_<*sS%wdev0|V4@3Ej%bj3Ow2r-sWVL;g za>)#<9N-+Vbw@iu(^}Krx1VmMJLjRZqK&zlN*Ag36ElfcgecKX)Dk5hlSEp~r6@fv zfYr^!KnWqj)EJQKTB8g8Q)@tDL?|h_3#<#@e-J*48g(p*Uf+{zLPutRBx4vVG7 zLWk5ik(%0Kx#rzO%j9O=bx=AACZMCBpm2~1Dp8;gN(DuMvIXhqUbO@TzaLOjLS~QD zzAI9IEQv0afdD{)%90+nt&RkY)_Ta&u;Njn$x}KKy}&RQ7*j)ZhFU=_93zrzbl7i@ z1RAyu4@3aP{hPl1)+6Q6ix^`Kj3J@f!IzaV#3g(q)DUWk34|)bItC3{CO%40ol=`u zl~6C!Ue^X_Qt4g3pAzlhhDn#ig+76_1T#uqFwK*ez^4E+XdZmp75Oo^Ve;y-6W`O! zh3UqJ)8I@mU;@&Ep8?Fe62xh6HO(uDNdPAD>2}n-%gSINg_%XmuB6=F2g`Bjf$2cY z389F`gSR2SxxE(HHcco2jo4(@xaf>+CZl@HPJa)^ev<;Vh7KaN8rWrU{oj< z6M>(Tlw{enP)|`+C=G->(jJkFIEtv`ZC^27P!pXuMz^4c zaCFR3!@*Z^sE2$XKP?_B-O@ z^6P_5lV!)+t4}n1Evi#1aYq)FXY%9ORRBD`HS;K7jI362RbN{gsFCcU4(?>aMm!?av9-vL1U*Ay`fKPu*pkJFT+d*BF zuWq<9iHs#JDjO%U3m?Y~>it-=0zXY;Sh; zlSjSf$%2nvFEKAYybmkSZb|@^3#g=5_u1`L?R36uL z5X-K)+`;Y2%_goqnHe3(d*!#B6lJVzoKoYGB@5V9G+K5<6gS!kRa_JGJga-tRMu`W zi=zzM%Q@$!L{j&1F9|=t(g0UvqCX5;%B_mtG8FY>F%Q)LqT9S9jUPAsdlh>eZ7d*MBXb4zX7v z0s!2f+R{&>Ip?y!HEc)9{kGn1R8v!}*$`d4v+JPKf%ICNn%}9}liA+3plaOgHSt?4 ztIw&pH(0)}<)=N!I_qDB&MmQy-jY_)MZYa>bmq6R=l;rQJdx*1^`$sJ13Gu-Q#2}+ zlTA&b{qL%u?5wx0kmhs<^oBL)K>}697ikpo8Vu%oW9|))(c&jZ0#?S8)}QaT-8UE1 zNsdiLk%!%mL5_9Z!X?^M6577%8^aE6I-fqsr}ftoC*}g0D4hK3yQ<*xQN(*rA7XKb zgdt!|OzyTj{@>Q(aOoy&z+DG6mbYC$zscS0a-3JA+_52t@4$?35vtHQO7hZELZA86wPskVK5-e+LVye5iyLpK8Bt~n+yV|)wiceuu zAWhjU!wE&A&0lHg+PI4)-AeOI*I0d9h%qlD+D>>CBQ(ZZ5j)yI$``i!L`P}vqg@1+0=qmthPfchOzxZ z$#&-oEpN4Bu*<9Zc}>mM_{1boZ||+=#?Ar>4L`EB$W_V8d|Rpmp*PqV zcbuKlp&9v2(_OTt($LllonZJ~Kh^VGd7-UCGqWY))kHJSz&*Ho(knBdZA+V?mO(&a zVD=3SS;P7_#;?AZp295(o|&X{1j~>Q|CK6&y}o_RPkrYTM8|zBvps{~CHmQ{-AUXj zF3Hh z&))m%(h*I);iSZUT zcOT<$xX!Y?=t1-Sr%p_tF~ZSWRNTMI==bey$jRK?Y|Bz#4z?+!im8V zsn#?d>{@?HjVLM4J+=Q=)dQCUZjH&*Q;!`PMpv?G-)UzfC-J0m3E&D94POxI3vsIvcovW9!t& zK;m!%EiiK}Dd~@>=pwhf-y`&$p{R%s?e53#t&b}nF7VPx;>%;!^dBeIBgWIzUl{@!*+6lPk$8hAoLvAN6I?X%j2e2NJ z6{EqY3bO+i4}y^m>O4#49^*n7;$j?T;EZ=Xpr0Weh^5X8>r6&-WAZt^blf7Xh&L;w za%-MiG#G0T;d>g4CX4qMW#YZ1by2#JtP_HNM1Nn;Fyn*luKG}x$)FEe&$+TrYwA}| zMG1luD7oeF!Ka1vse!j-8JL?rOrrSd$SDHz6$*s-?GD(hQ|QemayA(6MDM&!<=6@h zH@C%O?U(IQo~Zef2HWwk;Wg-Mj*OT5Z*Ha-2L%m^O0r_|uC-DWw7KG7r0+1Ki>7abg!BsoEXRu)Aw2m3Gi zWjUKh*D&-C*K2uKY+lxZD|NLUoA6XLH=fWRZb&FJ8G7vMO|K1$I54|IW{QqB3f+W9qLaOJmw$dweyaM zf(IXC&JeQw;z(O@N8GC%8hbX&C5n~W+74aBdq$)K$KI$HpliIr#D*&!hUq}eV{s($VN3++h?k+<5KOIk?)4ZQ848UmYn zIqz4Mm9f`HGylF~K$@@RuCA17M-pdJ!!~bNH_zr?SS@)*z?~XRKDSwONXCfKKJ{c@ z-j%gc;6d%}{H*c)L22)c8EFF1PqkZ%ViaEO$G*Xl8irfx6#-OxFc=83%Q zl_P2o#{AsQr5Y+&HRh$R+G^uoeF>D`HaBjalBd4*TgSOuH&cH1+?QtcnO`qE+L=#^ z^2%4^G{d^TkZ$fB$~=10`gp`A?74$;W!Cn2(QE&JTlHdJW4HeT?5UH1ms>;ql^kUD zU)Jsq<;gS;H1}HH&&A~0=447Js+>`4R}O{k*4B)}@m}=b5^naZ@xp|9!X)7jf&I`A zUhMGK{whH=-GZ4!wi>XymD7`pr59*K|Ds7P({65jOdjCvk5_Rrn%n(jJ0FRyI`Is2 zKxjrzYq2G+KnB# zgX%}!Zyd?JxAQq7N+H$!{OhG;JzdHT+>_fs)!s(=D`!g^A#Rnf`E%v7t#|*_<0;|f zX*b}_W+%=oJHI(cG<QL^nWlMEq+H0D$%bHKutM2sY%2q=;uYdj+ z@`CQ8hGbghS&!O>!s)&?ni*BL%u3lhjW3+7Y1YP zNp_wQHXV8GDofEJV{d(xzDtE$zQk7U4Qz&-SI%n#E-1 ztE(uaGjzV;YJq!DDI+tm4rlJ_A%8Ruy$5BFgql9Wu6gH-c^f;*Q9rV+!SYkVl*a)! zBu%h{yly9UZEs2@wK7)ztwV^aV{%GFZUlfHvk;yp9(* zm-!?RA!Ios;>{7+P^LGwv6!I8*eS{)yHYsMh14J@<8vvX03O=#*{VWAM2Q47F*&M<7_Q#y&z=09IQ5nY*mubd2{kn zMoOHzWRPx}L03S@4vmfe_mSH4@+akANkb#mRa?4OJJcK`iP{!TiBIFxu!D_R>+yS! zIe-4JLf9&;J>vEe;!3%O?eJVk%o6ZUcWWY4iZuym*5>7Dx(l+npQ%mNikXgDy@ma_ ztvi?3mr~-{)r@(kZ%;8LITO_x;7s#r}%% z`bL}2Ck|1#NtRFuTCZ>?ulqK^!}_A~shCJ;YGaB}?;^p8{XOGHRsyJrb-&nouY%(* z_`y@nSowpH)S&qU7we@mi%d!+SaOp?{5%W*cSy1`E5BaYH>#|i<^0Q0b5!HHj=XA{ zd7gFRm93*|#cL^n%Y-gM@yZqP*Zl#dbp0-`a#8WGes3$xA#?N3E_dwp@bS#8SALzW zP0Ex$ueTNY^D5`pUQc1{P$ARVFA+C{{W&2 zyHI}#7qj{R;q93BuAkZxC{_k()uUiAMPH3sg-FA@?*JVRmOnN>Gi#)>z((RFCGEtMM}KGtdJsJdH7wrwlM& z5JLsi&hP9l_l()jJy3r-;~B%*L>42wFzzthuHeYP?ohDO0aC=5-$391WaN&`cf zlXz1PiWT!-Kmj7czAkn2Cc{VcBl`@p3l-x=;fW`u+Qh&E^JI2M@!kKnY8ijiYl$m7 z?GtR!>~dhDp)0b zv_*Yd+GEbu8vMy@&9B1*4%}4gpW;H~I9YXPkB=adJPI&6F`R8vta?oRS<4!%s~zPO z=N_xB|1v%a`vLm_uji}g(?@=EO}|A3SBJ-Z#@QmZ{j(68*tckJ^j8E9W3eu_`sY^l zU}c6!TLwZ0R_nWnjX~)kb;z||a-ov$Qu2+4PJIYK@^zHu)yc~%W7Vlas@(| z0|Q>hXs{c{h_Q`78DL5_Hijg|z_)zPe&CVs%qDQ67*_=MP)&F{C)Z4H8e|WX##atd z6cescA|VRQUcOJ1iIYp@sV56967ClxLfBjCz)W?)CEO1Z*~>WQ=hS}7pjuTWpUmX* z#IJC>q#8|%*VJ#06X#Unk%6{@c7?cG0WlsQtp7~>!|XKgu+Psww-TxPVmQ+;&ATIU zeJE#n`6KAXfRe9`^U3h$A&G*OLt@TwCC7d7H?&i@x!EiC)h0&Yc*ei`|EF$H>Fd z5L&Riz7?2z0#OHI&h18|mGgS!z-<0Ha6qM8xq0;iPuC$NVBItKJwR{5H+DTOCvvG1 zFu_yuaWawo0+_3PVwlppqBj`jm9l45Yw#0wU9{u^DB&k!pZZGsTJY+sC5=HQ;VJmsLbdORs5q-9t6%x8#39=9#E>s_9kTLZ;uCU?+^mt4zErIK1s4^Q z0?WOie&1uxd7U5;y>tb1S5Vi&na`9z371u$;mdBE6OChik6T6L7>fB+?FWux?>ZZX zNqk$bQ$9V+yz|@1Ftgc4Vruz}a>d{&lCO)j>H6#3<15xGZT!69`$%0s`7retZB~lQ0-m4D44cusuG0TC&By`|2Sh3lopE)#6`* z*Dc`gcZZoR2B+Q(IKC~-?!FbNS*!BmZE5Pou8+qjwmGyIjN2_UeO_Q+w@}u+3(;~P zh7)q8+Lx;awY=8zmYez?KX_Y+IS-Rak6l2!5r1VleyUi~I=Y+yT%DXzmrq;ys{dd! z?2P-nQ|yOwiTJyWUi;vN#h`x|SG}*|4vi|%Ld-3(Z%|L38?BT#Gn}s8S#wn0@ACxk zM2S8+%Z46y@S6GL*FN`T%%6^hcI|u{mFi>GN*5)vlcIkZ&55cpDLZj{zg=b(~tfBBa#hi(|xXM;7%-=iNQnu**4y)sBA>c#zk?466X4b%JFk~cUUv=P8 zhguq<$edbIk6E=|AyVm|KdEiQ|9Ai?Io5;-k=Dw>6}N7o17n@2f^5co$WMpzty?l=tmO9VufZl5(u+ z0pQTXfWBZ;vh*{U}}b7~G;T(d9#(H5NaR@ZKP zI03fZVx_FA^+~*}#@L9P`%Ko_VU6#tM-%pGh{ns)q_)$4mAkaPPQ+=MzIqapC%g8o zxBl;WO}*A(`T@`npaE!c_1sj3YGSW0H>q7IX;ZzR(=FW~!XnKgjUL%3Nx!Rcr0idr zb6LAau?Ai9D;Lk*z=jIV%?dvd?%D-Ib1SUcQtzoQmAe08}dbTB2MFB0_Ih< zK^c*IEM5($I6yq!7^qoC?b%6;YrMdHPmKi@3|PD5xzM9EmRonwWR?F6yAcicX@I#; zXeFS6v9qM=bPE{h--GqI+^x5)n|+6Rb;Vq*fjQ;s34If7(VE{A3b^9UGbC|wVi%~T zKNTAUDl1ILn5Ygd%S~u}XMkAyGXK#4VAyA1qd{!1*4q|CkIpvoC~8{2n2b9PwUcyM zb3I=jBL;u<|3CP|{~z%6%x3GKUWwuXY-@NS1BMesjD;#ha4dpc4|bhU=pgBLi9do{G-s#9jFXr3p!A(&$YSkj9W*PFvI|X!eAmQcplDY;R9? zvE6Bmtycx_oKeB3V2x5qPIhf+4t&Z-=)B`8ckM(_v$@#`xwScMwE>Y97(VjPFoK%G zWnkh857oI4H3A^f1O=}^V2Vb4o%QSW3}NSzDE3i~XP2*fA|F@|F?{)il+eb?Z=5Lt zmo?`YNGp2B{+pZ+@sAPA-^>(O&2RP30)9Vt_3KC96rV1GVX3h3*@c-JvRxP2Bd*=z z;vH|??XrvEu`Pv;NbL4`1vA8N}xI5SrcX{{4pjO9TLpCVfo;jvxo&5tjc7~NQ z&_)gHZ^Ssx2X3Sb@3$MW4)sd#6TEo+2&tHbvH^t@|5$rAE*cij4&9p{XMNn_BKJ^| zs6$G!?D7A3^a!<0>`^x??7trEYTZ;D_MzY7qLU2;hX8}3cf4E5@RDHte0I2((8KdT zNw_~bV^HEGu8yOSj6WD2fI7=kUK?~H!P2)bDciRmFq0RQo?e=Mzn)?99y=f-DE!5Q zoPtcrXk;j6az|N9FM}}EwvA2YE6$}Ll;lkyBX*r+9dwIrCp`+td${v(=LtJE(B}|e ze?5aTK-l{^cdrLehrG@JUW})@s0q&hzb<$VO37SsC)u)N7uWV{Dz|FKKUFgwvGyvF z*Pql)NjL#K$_-k-kvqT75U&0cc(h7g)0>{x+Hwg=wcxc%{HqN{F`fFwlwovwg#TGJ z2jc_d*eOID5IfbU;5p+sczbC*?u+a4eXf+x*%b6W>c=NZjY78&`byh`da8FLzYPUY z6sBT=T*M^BDQ(VbZf+KP{tr5$7&=IW@Xpf5mwt1({p15sRUeVl6RAMDtHq^W2c$t3TF=C(wM%7QHu9@)Lo_5Kppwy^{A>AuJCL{d?x!`Wje z+S5~CDO}sxdn>hzZp7RDQqgw_G5Z^MA+Y3w_syvYS;iJqzb!j9zWzH2doXSlxW`Lt z5$;>lYj`$tDawjxNS?@0k}_=k{nhb@a;h=?=!GoAwJ94(a~&H=NSF3K>UBoFrZZuz zP|8S)N57AxLnhLO!*w+;;Ck9WWrrpkO`Uv`r+g5}+GY*B-qUvd>&{cp6Qm683^mybZm~WXpHvLD|4#r;BC)Bv? z5MFaIGAHD{)1KON{4r*B*~Qy@`KLeWBIMbX*PU=xDU?_Q_q000?qsWiJyH$6>LW52-Lc>zHMc zvbuSPv!C{B_^@4DoCY)TPoI=$3E#ik!OHT)FZ4Cs`S@D6B{0RR*i$2Kijt@m}}EJh;G%#EwnVrt-u6x)t0exI4ooBn5JLrw?sAVjE;>| zm^A%k`Oo$~8&cwmwo2E-(GP8%3BJJ7x{Ew=FA-6mA*E)qT;`zpw_P&fg_dIHUShd_ zBy8{THn$*39(IPFmsX9Pv0p%7n|6qeVxy)8^*!?lqxZh(mN zopD%$GbDJKNV_&lDL92%Ehs@_uuFM}VlEo;QuxWg3?-olQ0I-~>4+43jtTP_qRBVK z^EWaNFDA{|$8$u~BQe-~BAW#1;E&+s+#di}@MW2tOFR!e-F*tRbYJ*3fPkR{ZAF3b z&92nqI;H! z_x$d|r2>x%t+8o1C#Q&Ts6W@9ih!J9V1W(7Em#3@&M5^&2%U=Md}qoA7=-P{OmD8+ zz8A>Juhfk*%`KbwpPFf{)Pla)? z9M@X|g^U%31t9Rbdl#X6x8z)|#y7jfNnK5gWQM;-`EeY#m+KG733YW+*3i=MTr%X> z`=xjfJk@md;keXFVz6bzod3aYM5QJzQvPm42b0^qvspn99a@2l3BH|Nq}7uh=@Hh@2Z-za;mDY@CP!6cyvFZpe& zkFtu@{O0x3?cr6E4JyzzH@~n#+EUjpa+y0-uw&}PUO8Sah8}c-RFfXzc?)~w^v^4o z7kBSZ`^R}V4r2^*?EOL}0@k1MKi+nKKcdT-VjkzeLswzeVC%4{&?Uvwf!xH(GkN1s zW%8vVg85$BxC3N>RTCO$2i2i20el&402?jfN=C|f%d%;Rs=$>HsAvK8Dd`wy_srGk z%0xMuz9D|o6J7WTvR`ql4AimKptUdEdJ~m%5gLPRPJ*!EV%^{|+lBVrgUC zX@cM-5w?`e%o6J2W^jL;U6aL{V0!@_0vVJnZjRLLnv+J|$~Z6BiWc~eIm@N6C70HL zHo~3wl=E%cA)nn}fFL79jA9ox+agpMk=MGqT;=!DE3}5D7p(Of+uOeK7(Cps~ zlZ&OeQPQ|ruopXR3X@~Ego30jIdK{pj$#$OB!E5x$LIs7i;tiT9AF3I9M6$g!WZ&G zd0&Oc#I~vD4MH5d$$7=L2PSTg7tdL(loCSX@j&w z5~4Uy`ANs_U>Y&agd76~if4jv^r84eR`?Zo4KGd}|0zNmRfFNWP?G^^0$E&&+tShh zL|Z23BG2u=SQM14_^W8jjAQqxZLdC z%lKai8Hz(ljP-uNFTO!Iv03mFyF#o*-*7HNu6uB;21c|x{PI1)p`4um=YtN%hzyDz z=Ln;kpNeV2{PBx$<_0c_rE&SQm@Yg9?wT=WN1b8@3nsDdz822iA?$6CI^bbJl}&x4t=y#jF)}%HQ?20pg0x?TyNtjM60#QG7uBb! zczyoR{6>U>UtpLXV$;bVTtFyrEFkrf3L*+%zkU7YaS_|+^T7_#lFnsw*J24uD(hxR zAf@?i@RW-4%LHx9x6^hL{l+v)k}& z_L}PnV^?hURhuep#kUdodBeL;VmN*9PK(8JpUUL|MTJ;%TZj$74{@VZ~hi7Q9iyn+}1_1jITN3b5v z_W65W(L(`Q`ae(J0oT`^Ds1l`bZj~o_@(fOEV+xXxUIZ!_zb)%*mGwj5^Nf9*lU_$ zcBS`ia)|$y0TtXcZnB5Jm15Vz+Aiq^&5F(%;?=PuaQ{qCyM;sp z#G}y5jvYoRSzA2k7QTajw6(k<9@G|n`OezD0q(Mx*N#$59M6IkYm5FRvbN?er&~*O z{*q1%l1_}0PIQ+}gr~tawM4)3mec0ewSILHPtaM0PbhEP$;qlf(LE|_e~wwK73EzT zIe7u)c#%(h1`yqppv9Fz-?9JfXvOL*$$}&B5krwim~iAP#31R6`vkJeRWEQeJ`4WB zu1_{HoS4nf*y!-Buy;^&kB|gw)E&KR3fZTQZE@_g zCu7-f{P)jq1$)<_^W7A;M=0te>Jy7?`?WZp1;7Z+8{e{$;d{k&8PfCV{o0c>&tT}21VKn^N@l08!Xp?~hhZpP3B~Fl<%!Hg z(uksOIob1H43-bUw z>uZY`)L(g|RZ?EjA~r+W;H8T~MYO)qrVi;!-z%Xh8{Lju3O=`&B0lPwFUFJBxHS>kGXKv(%{?a3v|Jt>u^|k)TZvB@M(#W9mL}&qb{=7lY zqy7qy4t#3XHpSfeESZ(^C3P!<^H26nNO?jcLL-A0B3qL6ka{)+rxrX6x*y4~Bny{| z604RAlU}4v5UM<1q-|m+?D~+3)IRsVi}U{Tc6Qiyz*r?1uMY(az!_l2UDaa0%P=wv z|L5j~D<&g9$;Zgl2CVY#Wgx?EC z4fb%@kKQw^ORjf@=H4*)VX(fzzb0;)U6?cAHXzII^=`$vg!v!v%#T1VoY*Dt=y!a=zGa3Pk8{pIh_@sGtncNc+GMOABtEVAPA0kX`)M`azt;w$yKO{RXE z|6xV;3;nws%qukw^#EOSY17AB3R8Hd zD#q`glytG=u!6rV)sEK9r3{+Yvslv;fQdEr#=*QD#p|_`}-nNugrphM&{vW)($# zqF@*M$3Aticx zPgo_Y68U534jWPlA(}xULP#3K=@6T#SD4GA36XJZY)*s8YAStg>*6D6S9a(s2noz7URlD617`s?l!I#?@E{ofq06y6zk`^xw=Rb%#`@X9zE)|J^}(`^)( zZvM7tW6%Q{7Er0)9XIvTOow&9pG3lWSE}cmPHUSpO0JBO9Dk(f?Cky?Xnshg`1SZ_ z=dcXH10ZcQ-6JW*E+hZl^c+OaiPzxC_C%!pMfdnR;7=|(;a@Kw0P{0&v=1T zA4u==?Bqzuh1dOOG_??;Lw1aKh7&`s)LNLz;|At$E5JRdbovt`mULQZ%SJK9*rjyu zr64J`_kiMK6*-#R>0SGkXt2@7efIesJJPIF?W!ZcMo%0oTp#*kb0l;^rK-wehgN(B z=aRCI4&2o@Fqr71&lwG2x~$`aR2zmJEVQzFd$(-jv=yqW@6( zMcjkv$%lm-lYVP?(zVU4m#-vsumgU-T1l6%vu7wxCPn45A+kl+FzO{_u{s9Vr2)F@@Rx||<7X|J}Pn7*p|z{=v~_AC3%?d-JYt>w8{rBI*M zf0a0Dso%NAxIHO2kP(AVwBi3yOFC7I_jniN^Dj)YO{2qNYDK})BI})erRc&xMw3dh zu~n&*i$^o#>gR5ejJc&ZC!*szhv!VS4APnZJMByYnO{#NW(`a7jMa`){1{g)=XM0I zi67qsWE#T^MJcw$CYQm1eAr_aL^d4T1cD6kAPL#!t4J zW2s4WMDiJmon}#%#{|YiFT8-qVveGy1@kx;)3JQ$H3iYh#N@3z7v-znwV!AGoTz~h z)0>Z2*mk;g`gb;xwaMe;2(tF<_$-VvuPy5oZBH`dM<;vbw|;u_*;im{o{@mxhb84&7sYPM#r{m`HDqIsb6 zSGyvtaA%9Bp%a*e%?z`a{I?Z(G@&D^QJNKCY(~sErHZH=iu~_OQA2g7ueU?aoIGFl zH%S-Huz^yxzO@_5zNxD6dveG=NN`A2n)v-2jI>(yVpq={g8Y0i@zl07645kA{6niOWY(j3y=~yJ;%fT1jlOYm_QR_f47hD=Mvpj& zO}0CQiCDWGE!dHKt(35B^2hWovMH^4a7MTM!-#aD?HSD6f}~@#PiHK7@;zahN{WbL zm)J@5GLU)eIj*}7`2=sPN_snO|Cx8cZnax=vyJL)(ZBab9O^*vm-o+*{hOWN$^ZOz zTDu{k^H1V66Ss^xu%567w-wLm>{~+I<=t|Jxy%#)0n6UHEZc_M`4_S_A{1BshA~DR zzayIHTesQ`a1P2nFy(v(zU6*yV_;dG#EI75qb;loJM|SAmuYJ-H_Q#W<^Y*j;n7l* zpj0mAZ}hOEA)Mc0E;?hwxmlcCnQ;UD2bqkgWM(x$#uio`P$}b8QdSiMVa=J!&ay(3 zuW5;*q+87>SFV+BXJ(b4#c3&n`GgGRYIJ5?+pmWxxZCkrY-*Bc!CC%qb4NXl%m33X z$;g_xhDeHu7D-m2@MsBVOpONP>w^pIl2vB6HI>rY>}xKn!Oa2u+jCH@;mopeZL_f0 zXrqjo4!-C={Bk6@2@{-|A-37j_s!m+;+G?3Wz<>MXNIh}%Qpq25g*0zTckP{aUY_& zL69_2+QJ~n0Ap}Gv1Zquj)*u7z`u4F& zsBX(Zgrw`e#-H;#7< zK?Usf*hnDLZTnVS6ZQy>C{1tJ_|_sFNH5vc z8VE(@3Ge;j9Fadncp%bIJYDk72>Xt_s@xz*opt*%k0Q`u=%Y)ooqsakj&mF_SXC{r zLcsm_u@{d`v{k`q4i@Pj#O$7GfJ;+&LnEHvaEapTyM*D-PE|^`-t?E6Kcvz$IKnHj z8_!k9Q4q9NXDR^RL?1uk2NgKQ4rE^1QVDJS)_Ud`#6GvHU}(Li&uvY?CwQ!6>P#qi(Bekn*2<(`7pX*)W5w#3EGdH_umJ+AEsO30$`38KMPjcw%K8c z`{E&a(uqY84`B$R*zD}4j2ThvJBHKroI7-t9R!H0mb-~FIJPIYCCxB6ByrjtXKvy4 z@rf~XF@VTs>-6}wJ(G>%8EFYR8eqMHX14`hwrLlqX8~F_x*$O#b-{UdiKpq=+(n_t zhygiAKDO5pLY9&3Dq^4v$!(5bvEmUG5xnU6aJwy*ciI4LNCIkLbjU zyyJ<*d+Iy|J6$sKA5BBXr4!%n>2QZ_)=7UA&ZhJ6by_ESwfmb??;hJ7qaPpR?9k1e zRb+~LO>swJ^Uy?%L{efA{W#s}mT2=18}v?6t6w2H;u*T&wMjk-`Rg0AyDy7my?FTM zx;?=@F3lZnty(CZChb5N2?*MMpy`Ef=kTXV(@-Fz)L18oIIVq^n<_N<7{{PPWc^|{O!lMRk>K!-Swc>dquX`;qXg8XxS}HU+QHlGWDDzlq z-3Hqw&pETz!J9c9l;t#hvenwr+&XE!U29kHFDgYek2O86^p}2G@D%L6nHWc?3;cT6 z5n&&T>Ku-657U$xh$TY5^Isp_8ZWVuAa0e}IBh1rFt2hnqfy!JaVKQRj=;b+|L4w5 zhonBykN#?v>>Sa$CzQ%V|BuMKE*1elVcANBD3~SS6Zh{=P+<4Z|F-|P{UntqCQRG= z9#NNL6X5`M(y`02gN;!&KuK(0G4397p<~ez69*`LG38dG%_C!| zYP^;$FEP=o#Dy1sNF{86pkecQkJv8-KFYDi{#A*(jiF#rMki9liBK_JTc8L#ni+M@ z^T*)Oudj=-0B`3a#W?U)I*x&)C61`07o9QhsML^{XB8`)%cdf)c@%yRHv%D6@vnh* zqwejUgEat?<1`aD5}k6~88K945buyFKFEI2bQCLVAM|+{flJ#sx}{Hj3*uwW8q`P~ z*>xB5=GL53s0}+Dg&+e9(4Z0T(x0WpZx@3K9!$$b0~d>fxZ>pGBxPCW~Pg?n{K<>crbUAOz-Ur)8l%Yq-z&=ZkzY6+xFtE z?F#*mxSww46jmPJvvIIGbYFej_+idjP|6EJ7fsVRyqT*Znl5x$%N=}(CruC0JmP>< z&ex0sm^Ars#N*yK4$qmX2VyMfxa*h3!-6&4OJl}Sa`@bT zjp()<@@A3f+vC#0+*x--SIyeX@@P{35kS2KCL_qM96)?$qYx9B_S1s=)ym`DmB(8j zHJ=9;o6{_b;vav>)txgb`Fr#JbvEUxz1N*xOzI-k$e+J`2!s1JS-SV=ercU;|Ldak zC6~T?&bLk6>F;?SdB198<+-}$Lsih+SQh^90Ja59(!xg6WzsXVQ;hd2%!}a%yGIq^ zoTC!EcpcLZy^$58j~qSCAi?T6X3$ILHX_D>W$;Du2Z}vmSoPiN-D$*j2fLOiB(on2q*7 z*flMxOueb{_DUY7NLOG|K1a@jdZu8L)$;D|a!%6izFg$6^p|Yy>Ed-Bwdl2|25b&w8vJ)FORJvI? z1P*m9p~X9L;(&fk0W=Za9>P!t-6PJjH6!aoU;1d?03OAz+J+%*e!HjqN$6fUq44#j zAI5a;+AE2ap`<(eGqL-ZzwO>^+D!P;um=#(H+~tkIzJSz9Py7wq{VTl==$pgCs4|; zfYYC}TbuH_pq2w+CE}c>?VKiWY5Jefwh|o+cbw4+maUJIs9eThHl^AcG#?3P`YYSN zZ*eB&4Kix`J60fddB86bw8wQ)owOUH#>w8Xe{Bt!%G$;~4j%2}fqgDZy`=}wFD5Ejb;X1Pr1ap_(h>z z$^hpfsk{WX+PQO$dv$4P-kO?JHm&Kg@bcCiKG5irw00R&ai;$4eSLq1>Y5%{mfh$0 z+Sw#@7XWLaCW17*)rjdBZ7zC0Egk}N{{-(0wqR5E2CV2{w5%ssJd)Q~{VjVAWR!u2I#j z3iobZ-w?~0m)zC4MtTaFICob1LXP#zgi8|hS00vq%Ocrg_-?$P4UBPr@A8HLK0PFd z%q9Bgq-2IPC^P2QTENk)n}^FhH|{lF$x_GB#HAKf;<#z*j^>SRxBxJNk>Z!ANUEY6 zSavo!xyO|^FX*_C_ue&nM?Pq}g(l6sUY9WJqxa7Ga10Q06Oj0&VEB zEy&)L;Vs>q1hHt|RXzTo*q4);U48e}vv&2+h(_Mes%m@XnS15&doLoUvhI9H!nx{lFlz&6$bn*^AzN5)LF{4qb9saT{| zr1y-dUch-bjkB_Wk~wTxn+%M6WtfObVuH)jTIO% zw+-i~#9wg#^ADF@ww|4FRvQhDX&Vr}695-@+G_vlPrr^R3Ruzo#&f^X|Hw(vx0Bab zFVHOykjowub=9+`+|wTDyL=a8KEi2B1o?f~Q-zB@<-4N?yQ9<$+5G~ZrO$nwV6n!8 zZ~nAc;ZW)Tan-6{LAN#-!9Jo%uG7x5E(nNoqHoN z2njN(XzPG^8a(1&wf6yjI`Y|8yw~rC*U|8qANw}X#sTe*YUts|-P@p%Qu&V`^RL-= zhJv5tCZ0o>bW`)_r@`0a9d9F{>X(9g?I&`17X30|#xy{?drYqFnp0&gE`K1M;9*cZW#y-}KxUc&h!{g{`j&CuO zvY~{ofmn2<`9ywc)2`pJ)JaNc>KxyugbX5Qjh-Fy(p~D!v_)I~TWGCINVKijyiQS2 zHuHdYnz-k8Hph~dx96v}f>cDtg6@v!0VROEL*L*H5NZSazHluthT+WMt;Hld)#2nL zK3hw|nEVV{I5?_cp?I|e@u`8$cI+4bMSY1_7W49`uZ`iOj(P zqFdP;{HHTURcYe`M#xB;92Jhp1CaBsDdQSd9XLJGgcozsw*|Oz?g29g4+vscAri1r zYDG+J(Dy+hV6Oz)32QSN#bDC#;Gn@3T&tZ}G+j7;mF58y04EK|4n1*f)M!2mQ{$9? zYT0`Z(q@}+5N}2oO#0bNXVP}<;xALPLGwfQIA7-nS5F`9pABfeOj@C=L(*vW zP>5tskOHSZ^?6>hYtFeL3zxbV-<;T6+*grL?<$_`^@$BzXYY50Vh2G?YR3R1eEMz( z8R1=qoi?%H3&Fw>?cK@3C?qqOGy3sM^z_#3yzd~Ne_$&nzG4jvK-u;E+= z;+T8RCviEa*4~eB+aJ~&!eCyU8^CPAaLm3vuXBzqBZyYaypFkzZzt_~0m#(fU^s3b zt`kHElu`2j1O66Vg}7LA_-_IdWT6N|xQXduX!~pp3ckyJ=dh3NHseKy*o__+n;4Yy zyJBKH>IYj~3j!yy8}SI^5c;StZr$ai%cv+UkaHI_IdlYvCY`j|6_62QP9u_qyJn7c z|7L0hWpp_3l{jHXZ7mL*2QqJcv$P0lCV^q56y{#rq@3&k(!m4i;v}b?XmH`~Ik%3j zpKr(Zc+Im5f^O|}KV^St{(Y@Ro%#%Pm)+-pFk{6wc*8!e`G8}GxbWZbnbZcm!vf{3 z!}tdEKL%sbI0{Ntk0U!&riBjg53y{uK7?Lx{fe1K=7n_sq5Os{m~ATc>xj6%#N=%P zX+Uo9IDC%3>I-12;+${Gh4oE=JIZUC?-D1ldu9&Y(eI|?BRQ(T5+>Y*()W)KpxFao9&$NFI*FM!P~w$o)6wUgYgXFwi|s8> z-2N-`9;q0ea%tu?806-F7I5a0Jm7r_n>_Y3iHJ0bJuJs1W7jQPTjFiaG@x@XhM0GU zTlmOo`cjN#ZriN^4Jc;Q-@w9HS^-$Q=h}&wVO*_3MN?i3oE|!@Ws~{)Vw`y0Y+HEJ zd@`%R7%352BJ&O5PD?f^4xb(HHLLaBB|_}!h*80KAIhz=RuxNlGjBdoe1R`QF9l`s_rO`IELwX1-l;O^a(qQiaL(j@wZt2nBfuZ$E7BFKq9- z84K>3?$;!Q(o2N$m*)d0_Iqsa2f#?JvT$x%cpNj__uN|6fV|2y1Wsl$=@qD1J?-)O zuV{tNmz{Fe>F}dWlrrr&dx@`?nT^|z+0RYVkTDZ_T&Q(JNp-||#|~pNOra_YSPeD^ zIW(*M8Bi3KNY~knG+T6z8Vz(k-ekRb*!kD1{KN_1T;yu%at_rDy#IA(Qr}CVMv3`T z(NuEri;jgi@J*8EU!&>4D9G#7rvq|Q-75HW{ieJ=iUesoyc3)BydfypwLMw9Pwb)` zOW>6{50}}Ipz4MLd|PKx(#i(<4;6W2SQLtb;ZcnPa+1SKkDjKD{?u8KRyNm)3;l)c zY3oc_`RD%EAT@l8hcoe7(%4dea&-h`US^^A)BUdw6fvCYAQSH(--ir(SulX;;~+k9 z5F=0rP%?H+7R_DK5R~99^%6x4L$VvY3CnQ`6d*Qw78@sjgB4D&A}p6Da4Cp?shNB* z<+chpnuFR&Jw#et05yUJQ2yj0PcwIV8EWpb0RZj#b`}*bix|i(xc^UDQuLn7Vj#?y zkTZ56)zTU4DvMMd;kfMEBl=*pj*yZ=1Tto-guArBT}&)#D@8HMG}O}j_g4V}p4&+9 zlu6jyQ_)BSEA2Bha7Vt@);qu#;fE|j-5l6A+oUvL>99lJKyLw2JO?jC$C--~7l&Lp zWl;3aiN^zG{77_R&nai~9}2EUxGzZC_&lN?^~zhvbXNw~X$e5f4#2ny7I6jurzH<8 z1|tRG6Y6K>yZl;M!1}eP;!C49^L`?gQnMISBB^$}CgSPHSnKYvE@I#2#`pz;kKw)O*$b+247lWxI_mgV^^r%rT7F8#l57U$lhW zGT`i@p~aVvw*l|x{cabf`yD2ltMi(H=gOX>FxZyY8aR0xrYZ$-ll`US;8@=8CdSGi z?`K#(J+TgLFN3}(%m0}5`V;XlYCg>EjmS6q^L3|o!#j+8?Htm2aJ^`l&#_CLk0(l_ zO&)$s83ooGc2^KVpG#BGFy$A?RmY+kzBe2nchskW!(7k41w^sEm4%s(%E3ED#{>Y4 z(dy_6b@^=^KzOP^X$?Qo1SdEFb=^{Gz%-82<#`Jh7?m zW5LfNW5zJ&E2A8bE8;k(Ll?y5R(yK>2=(%&q&$+ivk7kZ!Y%NI|7>DYRFqTh|bT4Qz39^@hH${*(8)`sQba%*5qu$1<&tY5p7j8}nSF`ps~u z%U7<~3*(o=l2@Qw#bG%jkh4W!Z%F}*PA1+jVyoLp#>$fYADw1tH>SUWXiC<+nr_A` zfVn*8G_%$wJ+gLeUq;9*h_!%Ci-=I|Yu2+TQhP9yHbq;R<|IG#$nPJj2yuc@dVWL? zuYYeuv&ec`}zlV|I{TZ_%<^we6uoh}vOeQaqRb48j7oEvs3`F7#cCK&Ri@TWy%yfU22HFDa zFgXfo1jjt1AS*;0tW>nxB{8r#H7)wNv;wtd6F&ga4)I4DFsl@&^(_c*^h`ENoPx-* zvkp17U zA(i9Ea&Z}1Uez^6iw=Q-b9_;5fiB)glV2Zm{MW94q}rVBUP+gI_$Fl0`Y2l`R(I8Ywu(tRo4MulPA;EC=eZS?{wf7Z(1$MMLI9Xy+QUpZ*kEEqT#* z_4V+tuREkl`umRJ(eiYl&D&2c? zb$KNEsvJ+D9Roq!d*cKVJO8l%!8F#qDOICvUN6u5pltEcGb$u!Ju$@Xyj$1&Qt8V= z%u}BpHgNL7zb?S(vX5>GVt5v%=dg1jgtQBTAh#eHfEvyzPJmuhxpPT{o5sngU4CXK zPs!rhd7(-H|5v8{5607$w38f8B-A~r{h2qif%}}Weq1ZRu~^kSc}tIaeA*b=t8Zgq zpbheR$aq?!LOti#Q;}j+S?yR|3wy3+oAp%%S#R|{+A=L9Z)EFc4E0qOGUoEc%PS#2 zKT{XKehw%=Ki0b{En~Fx{E1A_Io=C>6$6<2^j)wMruNSTx&F8rA|} zZffgsj?NDq(yFWJc}sLdii*H|1;B=9VNT| z)wC=Biv27e*!!j?rxAXj`mLFB<;1R4XK~M$e4jI8ICuTg+5=)Z-ssVD@vqi$fZ4df zG{fMu%Q16IffC1N?s z-a~bSR^343VOzf|3}`FMS}LJVDD<3%x7-h=K)q0}7B{YDvQCYWggud^Kt-%>i5dB4 zw~+aQ%ycsC7#KR-lhbshwc%|2W|8X$gw;R9)&7v+@pAex*uv#;+Z(D(9P?kMDq-6a z*B|d}JBGeptT2&T{a;Gemk%LcXL2d=Av^O{)=1Hs7ivdYUtgpnHL59k1;>BTR+JYl zzdGsy5{x1rvH$74k3|41!soPOX^2LZHzEBKVAav}r_)#cY6jk-+bV}YUy|=Iiaf*f z>M`}dr#X-x#TL~{La%H=I-$1OW$TlH?f^TVwSR@YS-CGQaf^Qe^1-h8RV?3i5ZSO~>XZ!NTi(b{z zfvJYc@{40MOw-O;l9EvoE+t3;3V^w?iIcies>gbpia$+?FOO(Vo#*L`zMXl?IuN*z zy$7gxzl$$%y{KwLQD}Ec2ut~qbsKP#%B_9XOZF5^NA$VlZ@mSZQc-SZESFoiP)h0D zAT>l&+QD_c*LTd*I)N(S#KGxOE6N>D*6O33$9nOHbM)D}LU;nb<<)C9;mhM86tks(EEVccsUqxP>yq)z!8K)2C`|MX&;c=|IdwBMl_qF%K z3rECuR>$N-Y5~XYjziPwT81E}7v-E^$`GB@%|*OW!C+=!5fY6QLw;#;JwEN~DM_@Q zFS7iX8*nYSQ@b1MzeF3Om!W^1O|ib&JbjencRuaWr4U(XI;Tm9-mlI$fB%pjIqB8N zGe@x1CMH$y#Z;%^nkH~LOh=~ZP_9wHFXCqcsEOhyX`WAg^-E+x2j`#-i7dd@R{b9v6C7rCxE zo%a9Kd?GuSyKA2JX7fj~I@Wm;_tHi}!SY&ItK6;7caEoh?w$;~#BG%s(I5r5-u#-U z^>y09`v9k&neO#I?z5-k>Gl_=zQ;1gTU^n{R!9~g$7iq`b7F1D>m*e=OI8M`uW**Lo1yNe3uGq+DBZEM zG@2PdwlM1ZphN#l-N$!jn(zrg+kIZ^cpErQ5xa~UvKV2OPpfbKVis^p0TNDO;W?70kMxUb`#B|v^ z6}cbZ7t0lp`vnf}1r?3^cbm_dHctnuK3J6Y4m(W!x&|G`=8T;+4m#d2<)o7{##?_n z>_+v_;&Y7;d95*J+!fBh3_~nB_{%F;>7C@j#z&eq!WTt@#vNuC=eh zi7m&`4Xn`;p(Z{^nP?<8sfCQuWI$Vt1>E4V3vG>G@ba_ zI3vU)wNKDAHXOX=ycmgW!vtgRd4fxOXnh17hm1(yo@rtiHowbTI9WGYxexs?BhDe< znZ(cUWTOLhL*gL-yy-dKG~=al{TB!7>iWdTg|rRnGh%H#5E{sUa6 zE{qq^9z@s0KNU*+PHL?gR5LalZSG&1WuDo7(f?!FTtr5>h!X~PJs6TBrl{z}{i>5)PM#FuRgxOA5n;r16%Ng9lRldoP1%(^u z_bSVk^>G-(P8cbaL=s>&lBef`)Xv8c(J{>yn7u=R)sC5Y zxS8O?7@ED4MRZEYPIDEz^=}TB$<3!t8iR0fE$H8+3db;1r7Y%8XH164%B4Ip-ZNp) z<6&AOVNkc165-F6x(}r~el`Qtjpz}&d1ck0Z#oh|Mb;)1M*y`8G z_?s^>pM8HIb$#ga>Cg!($UJ83ow3b_=pxUB)Y(7Znx)uU9OrXjbvpss2F2I_Xu70l zn|2R`O8YG$108BjxkTjzgJW;CCOgaM{@olZL$Q%bw+>%>Q7-`3tYn!nr%pO%Vou<4 ztgi}NI$Y@g|xk>xpAQe?SM0DF7R{ww** z5$s4({cMgP=GoX@#hvF>M?@CInC-SZlT7fQU5i}Rf1u>i#oO|cN5f1nDnVM)ImHQ? zcmBfkJ0upLg-FHsHCY{mKuE)$GJS@n2{L{HKYS zFI*~6T~Vj2yg@QC{4?)NYXvql{);yk~a*FCh#nw z-?{9Yu{;~FTRv1|C=u{)t(act6W8Z7Z#ryNbH)K3CEYGQZ@)@v#cN9HlNv8I$jc6_ zW_9N!F474U(}Yq<-QQ9RZXPt+1h9V#=WGM)(XpSKF=CYOBFj*P?&2ZcVXw zajp=ya)=HX*mJ{211Aa(39V`bPCf`m64Q}@VMYuL)2t>Tx6IZ0P$kMwrqvc3wd*?X zptB|JFbW*icr79%Xd4nSDh;E~$01&W0z1-Ntd`r=)6YtcpC_mr;%*M|`s8b1J@v*fD9rG_+zOZn5MK?S8;Q+7pbB-wmp3Q@>a-brs96;#X3b)1WfsUlB;SXs!!VJ7v@JgR)Zn z=15~(wtH^fWC3%as$sR1j7WoRP^-bc!!{c1nR@nlwHs?M$lMRdPLsU)B3}EJkqNZG)oEBjnI^Y8MDRFb?em_`XzSN1_*mkI}R13^QJ2{I%;jW^Cl&W-!=$ zXKUUlAzR|s6y)}vz^NdUg-_{d!_Z57TX%a%yvUp@81p=GzO~z3?tRSUBb1iiEu=lt z3Q5-Wf#2~k6D<0tfQm(}+ll2jSV=1bM^2J1O76NW@UESiHU1iqmddbt)+pg^<15Vf zIFRm{;d&g+{6wcs0R5HA&U znJ8t@VE32#DQqc+arZz5Jak`+;N^WqLpf;F{)ukHyhm*rJYm>rt(l2)AIBQ-jjz&Tb(|iuighccWtii_3o?ESvk*jS? z6$47JAk{Oz&MI}&qeG8S;>5m_U|cOp)n^GPQFF9E9+mGy zNXrXU+xwSVB!vJ};-0l*^*8(50zO!|8T(V<+SZh`DrdSaWOkDd2PF zI}DK&uUPx0iNBg46VJ^l02L1Q;VULTXCfu-zTF*cRcbiukiVv_{`e9en+}teUA13y z^umfIgrIr2vAiTN;K}wn<*m#=Vs3YU3fz6LFh8Jdqx7ybz;vxb6-h@jPs%}F=-K-yr;&5jztDuIdx&7JaJH^Oi z+PN)Z(iTm6X`jO!NI@2BWDmD=LMm!#0lAI+@~)&~YW)XeW)BuE%sV$V1kW{lSisep zMgHkN2+h3CzB3Ld8z?XnQ(Q;Q3zRIzD9qIfs=PdUJ)|mTnxymNA!S@UPA@`M&*BZ` zgd0~S^d6-h5XOXjFcl(q+Xr6?7J|@li(YN%MymOsr+PQP-hDDusktTOr9=H2S6^_y zfm=%f9Pjw#x=#eVe`@2kf;u2=-d}9=wk@^cgOP8814=q!7P>ZI4h&T|kGT@o7-}Ap z!|mTXNcpS^&vq($v=Q#qL7vKyiwSqO$Bj|Cb*{(j)<=vjlRMrI{K`!+OFgK;CB!2$ zMji@EXnLQF5K4a7vD!kFmA8pLDH^=(DXU@8?~2o6J&c&VIO;mt(FTjS_SJYK-y(YO zk=S5M3q*+Ls!5aH8T0vx|t1JIQ zQ9II<>;LI6%YpE6^M{&~lY8W>A_+&=cj_XM1~-A`>#~q4YLMwu2J?Fe7+!kn%j|yxXyg0YJU`$1iQ6Bo#N{<2LL7mV+n& zbox^)p!%8c&-Km)xK3lYmzkDB!Nly){}CR=RckWal3inr^>`mP8N*~1yyr{!KOqhP zpEHKtfYSA9Q3~3j*%2hY&Kiom_RBoMg*H%5a*R=f_H2PqD-U^Co1|bF=<2EM_wf4I z4XPfUbh$H|(yrB+%{6TtDiKhy-KA)>9t>S-Ec>V(H+*a|NlsJC^}QZ!3f)kUGP!}~ zvEQ9J_%!04;!p-^ z8(Z*!f;&9tKR3o>nH^Lh+qpp*);^gjHHooovzV~haxKwfWM7&UaUuEZHC8o_!=priyE}Aj6P+deLB~nttP16tw6(~&lRgR zkX=2gZHbGR)aiWS%B$U+2l|BZsTYy`*d^t9PM1Hw`jd7{wgG9@@=B00u&Myw?G`TK zI?1qPl7rl^htP_s-UW{^fb5KAq?_JF(v~IObpWbvDmoH!(&Jz)EOc9o6g7EbGAhTQ z>T_38UPO$yOMYg4M=>19eEnpcb3Q3XRle0-ryK@yCO#8SIQBf*L zMPQe(qZ1yKfoVeIFQh=ZV92;N&Q9jK5SsZHL7oYTQ-cJ-X~VpV+$ z7kjnAd+w_An7?Nz=kvz|j$Y=BPPKGy`kgkWk3qrbf!yxgAdJL?x`st}qx7!DrGmRN zEw!VhmfA6)pGi4`CNoK3KRFd1Dgd)~wKR>qd%u(S7tDd`nh>c4wA}_jsRI}4f|JTf z=IsSDWWMKrkx!UCL!GJOsWRjM?Uj}=*~2w!>TUxWq=1kG+{V=d+;x&l&)i)J2x(BzU@89(^%O1s^}6nBe56tQv)QaRPR9kaRacGuMlQ;C31#UbEo-PUYRPEL764{vIU(maPCsuiFMKOYY71`#QTFlX^usU6`=cKNMf{MgU~g6s7etKYa4 z$(;B{;P5XG8J`jhsVU%=#3#E+8vWt#%!{`w1o5nKE{~(C8Rz_2tk?)WTKGpN_($XT zN00H3koZTw_(%R0hCT6`7xR{5N@z1O&5yD$2q?A5wC=q|d_=pD*(EnEE>g0;EIlH3 z^J;mBMNZ?VmpAF^q9n{GRqWalSpC7JO@h{M$Dq84J&}nA`ku>qY$IVzLpPP&dk#Q` zBTDLhAi=>{x2tm7xX39E+c5sYcEx5wA)7&?lH^4-I~5TFH_!c2jPfL>n z5C!%N_jL;$=A&ObadjH>2MGk&8pJw2S{g?UD$J(&5Nj~UuRL={j+dOc4KBO0$bn1t zVAF0T{`795a?3ev;~y+R)=ox4AO(2d#(1kONNmu+Jxtyg$3|+k2f395xDS4ts_Q9a zAN&=6H0eU9g!C$m|0kMtA+n^~O=BF1742S_`t= zHazba%HQf-i$+TP*@M_R@bkM&@YxuG`@doJ1@vUO2a5qx&n$vw4<*PS1_;G+v-ks#AGRn$u0o zxG>{KXxyJj1K%apNz6|PnTsHpJTdp^uZ=ui0{1BDG1H+_d{hi?72Qu*c;hN!zIO7) z3icjSl;;$fG!k*^AN!iWeWXa#=1Y1T+zE||QhE$&3|&o7k&6&m{Vna;NaBep;(6^wuXiD8t`4b5LXCc+y<|eiYhtm!}w&e zZg&+BrLA@nLKn?eY|-O?Tj$g@FuEXpKK=`&wWipPYwp45gn2vB53Z{TDbDc>wxs_M z)-3h?idu}7zPNT-Q~cp9Eo4=D2MhAOG$QnsMQClMncV8A677T->QkU96q?~VaGBRL zKzRPRz-ssZ!)ipgGdbT}$|%U@q96~yyNkSU9`)b^pU_$h(*woWGsjlcJjq@1?2yB$ z!b_nVPw7z%EA-`~SrZky;C-mM3quuIB5SB4DsFh>ah-^WR&$g;9hUYMIre};IEu!p zq^i6Nh3B6nR=h;8QFnM9yS|BUrg|#WXRD|;6?2Z!=pZuBaME}6;+!T8!`;COwS_CQ zisnhHer@(ZaBb7-9RZNRUxI$%ph3wTp3FN2&7EQ=q`|9fLHq`7in;%9Bj2~NRU5*~ z;Y&aGI=LE{dJg7Llk%-!2N=SX2#YFehNW`SdEB$sD84I0E*?%w^F{Wvv=hEZV@KU2hZ;L!+}o?V`ih^I#{iJ*P7PdSem9RneQn^jGPqeuTznMJ&E8;5!7Y)1oi*$3Xc=gTVPhL~;P-jm8Va7}HFXU^I}#-a;X3Iq5|3*tro_N^gt%O$y_ zp;_n@xjvqX@7m* zw}c#9_SMkSJE3F3WqEDI#&7{f^lGlr`RwSI4;}wP6n;g+Gjcw!++(CYi(?3n)^}pS z=eDAQh0hNxcK(G?G*h%=Em3tptXg6Q3S3(La4MkL9x)s6x*5~m>_VG57qiq&Bvc`t zxytFkpHeAbTPmR3@Es{YlHBtYBA&=O$Tv*UFJ(noBq*k=qJixMH*?SUGx@MW zgg}j}yu6;Cc&wY8yq^9ju82_R2bYI7vEqZKM#CWA;a3^kwCEJy`yslP6Cpki8MRBO zE%2QW?IT-Lk|1_7c>STlW!uJZ;!UeFSu-z=+&WP+*J2jVsW4MlLmj16cr0FsCzu_; z-g;DYy|FA{4x&mHPluOMAGG`pt{iY&P_nBt+PSYDhvuy^k@Ki}Cn$xr?< zUsVA0tv;ICLpxldU=Q_6Fb4MKKaZW5^mW&Z7m#+M)mH-!_e1BTwI*Ub-+we|ColIG zMUU91uv}{=A&y>69Pb*4AD)a`8eW*XX$_}Q1D_#+n}>%DZicL0b4U+N#gbBNFgY?~`s17hWn@iw~ZE=)|gWUk(cCHA< zUC=Sz>8sy7SV(4H2>FLcL$5q7co^Ag^1v2?{`dTiS02Rq8Q87RkI&O9I032Y!YrO! z#pLt_VWUlbI}kVSt$A@TDVpiH-(MW}7tSz2LI7Nb0~TTa*T~TOBReT2KdFiYM5g}( z4tyo~u<5Aw6`ZNBjWa??edsmVAl8jVZXSmsRoT40unUSM_dm=$P**&iR0)Cx741^x zaa0M7uQj>OK*AZ}LFW#^hV-gn0_w#~KN-5Iiz6v$Do}=rI z**~;ZmoT}GUoS6jana0OE{;f3W<54@wTRr$5IIr5JHl@TWbb*U0J{}+bk;831%~4C z7uTSwb*9mU z2jPFnlWst|P)Q&b@>@eI&wX$FC_xW(ljDq(?wY9G=7p#4*+fyXw@+`tdd>Igz~=-S zv=pb>+=f2d*Lo55jq@G3nd9v4F^4hv4B|s5#V~*v=XWf291}g2oJo;Db0vHDB`_5s z(-PzFE0k@9zXX9|+(o_m0 zWkKP2PM(cXL6x&YUEzwfoV|l+3EGL#z$^HFglm{_POZ7pd+i1UX$%dpbLzr# z?$KrgSH{1B(qbk+>*NF|4BH0AmqD4)F2HBAcN7juYM=T1#3N*uVrK5YEB^eV%ou4NmR? zlULX59o!hFl%0)F)(qxb*n}??8>h{Ly6Q?>|My|msuaRE4`2Bl^@!sKRiQ>a3w`hO zUnCkNZ_jQySZ47ueA_waMhgy=W1d4}XS6sm*Es`yq0!P z8MNW7V|eJtw883k@Q#1=sTCmZULW1jFEcl50AQZ?#7{ZdNTlQATQPn$mx!Oc0e;|@}2RYc8h1f z$5j(~d#rEhC660cw?=((@cx)YSE=^^}#qZz%u62FjDsX4XjS` z*!QM<|FcI9SHFDK0T4KMZjALPs~B1(it8tIF-BC1p9ba5CF`*2rAmrlO;qOUrsldR zLeRMT@9mXWkf?~)4D}Ih`9Dz{w2*UTEqmh(ll_EQTR2#)=VWKG>Xowy0pQ<08|Mx-e6&7NIg)N>Y(uhQ$$ z?RB>~qPp^HSRduP*9)06J<1qyA1vOd*8K32`nJNsqkPdQa>5VQS5AH=OT-nsA$vbV zcBe}1?pWCmBdVdU0svo5iTOICUGIHWgh7OKWaM^spdt}au}Jk4u7NLwUV0LB)!0yA z#Fu`ICW(=%fKuvsUM6aaATo9QwqhMi`2=cyH}R{IC;7l-x5FtoRqs!G5?DFo?PRkVR(hz$+r6Y z?87T`c-j$fPW<^%KKts-1_woFK_&+~PHo=iNoljMcF7!uD)d4byiw-jvaM!fB1-5j|GxqFGot(1h^XWvbAX z7^2&~SxeaL)&*Q2A9!;;*(w0RSe6rwa#swmTp{3Yzqqww_4BUhvWbx?PV1lZUcnpa zmR(=_zx>6~xHxHNi$uTrztp{#Y}pt_H2hkya<1a41iAYiVN({9$Fn*Jv#+XDRsklX z(h14fcg=BM{S3;F{!z50E^ip7CR`aW{q?E)MC_^CKT2}_#(NL3>W6HBX7zUtv*9u! z@nz1z$+}e-)?ec99>4h~_3O3f!=JO)0y;_`*4%u4cB!PO+-!lcE1{fqkaVX+Oi$UP z$@R!SHL1y8%e~|IY}LQtz(N_y&CzW6jUT7&-KSmXMi4xo$U2jPy6-#6eh^4{9 z{DJ3X=;M^3>wEt9<0_3os&AgMyyMx|umyt|D&I)(SVvtID|ZkJaJuy1H~5%M1?F<& zO6l5cpZ&t?L)tXC^S8Ry{@y&AKw{)pgcP8A>X+3;veL$7Iw?mnfjHgMYeegVY5{?U zE2>eYI~I?Hq<^eb=R}3v67d186{n{x&>UR*$M(Tj!Evd#@5f+m@TgjH==sa44HAhhjx?ecUd ztj|Z@IykuD+PVT8(SD9{wE*Y;G#VT3z?$~+IxKottmF_1Rrqe z+XsYzD$_>h3lRkaMBvq!xLw@#Wf(6{9w4~<0YCDTKP&|vov(07C~c$>%iMS6JLUoH z0uA9R`$?fU`Jcekjcd8X@f+f}=4!>;P7M|%s%ZjsV1q!mG5LVk%houAmW91VrbQY+ zXr>p9A4MfC82efwL*$GR)Qq;3P>d6*q^NmJe*0%K>eA-H?PqkK*ovp%O5jAsD@^)8 zA}uIs?$3tN#sK5?JGlFfGFs`8Z?TNO^4)yFoj@IR%}N^ zZdjXdPdShR0frDv0HVZ52NzBWMaH>1V%#H4+9ZF%E&wrJXPc*kH3oC^AW;?o1PYO*=L2x1Jiz+8Q;HrtDkH8NTf zCf4scQo1Er1SKC(UpfEBKB)vbm;%ksauk`+q}3NYiVOYXwxpxA%68iU?I?7K zaeZLK{pIXG?LXu8NZo?Sh|>0`C&yDs#Al149MkrU)Q>Cz9Q2|-v|eMJccf5OeoXT1 z!NsMFmn~9r{cPpds?ocb3i6#$_=3mwp1qEbR84@q7DePiIp!~KIg4mir!Z6i{R9Y$ zSXeGWcf#wZz{QWZRz2ZP11O%AF=6}s*2SX{$3;8m!81#ket(tEeXlFHFbxmRtVUtn zCq^*!B^*n}*#H9WxMUerN$;x(Gb85J{sFT{xPoG?pDMR_oFR11mk0^snWFB$_07_k zr%a*QbOsSo(;4L^s8{9!B5StBz?gLp_Tg6G<**4W2pm&=Wz7dx+?6?d4C)pcXM9U0 z_jDk=klvrI#+8^&AwcA!5195@A`@sfl#S{CXFOZ}T4Dg^caPvHoKy0dI!* zn0bAB>7&o6zJB`X2=n4VPZ&{nIzxAHz=TP57Z%JJY9Q_GhV!OOa1sxeAN5f>9z1=M!wMqY~Q- zsLba2!K#j|c!2@&r2f0yE_Z^cLfg%BNgt-~CZsLJ8vk?-XnpubM$9jjI6vW2s}!j$ zW-XS)5k+?>j4$^^a0^~{8Ygc44AP9}X`tKVsWu;-+y?!$rN5{>c_KYzAS?W&zhtWe??MLas29Dk?%Ec)4ZuPFpM48;X_bKs$Kt3tM#Go zkMPmVdQ$rXg|01McuR*|oj$GUUxS`!8KmVZS%U7qEOa<79`^kivZg)Pm0AF27$t`v zUtlZeO0YD9>{YI%KI8ZUfF0SvJ>T-|*X(|?Un{z=C~Qj*g^@dQZg1D<-xU0|`tHO~ z{m4@HQF~1C%<>nip*_3c-=%zAIH4uyCd#kq2J{H%W|RGB^ccnrFef`e-JyE#%omh& zg*0R|7u3kSKGY*tb6u8lcX@BOG`(E?Uq$RMmO<869Fr@kjwU%3q%tj9;EHU&%khIG z1QgoB_U*(DF=vEStw9ci=|3xZ+El4Bj`=9A{gZpfClf)5@q5rDqSB7^L02)!vJ5?n z|GmHWFpnS9-Uxg1kthxbNRf@e=0SOX`A%jW3)kxX(zCV`g$7L&2A5zI-`$zwfn6G zr^K^Q=o)WV@9)e?j7I&9+R}Z~2_W0U@=UOi-~z}#N{WMSivRUqIoWHR6YI^8I62OT z6gSRNO@F1Zcsq6Kvs&ec6Ter|q-OiAA@D9;Q39tWrtI0+suCNf%;(V?ON@|Y=@fh2gP^IZtyenai5$ZEy0T2D9^HP4 z7uSkyuMgrICW0&y3jT-QCqA;?h2xOmyFI>W(HWR2xgU*~slRXeq&qz*B#_;LA%Qq?frY_>7xaR#P9Wrq zkSyAFLBR)XPG|?!Sy{n>5`;#8(1LHCk9rxK^tY0veFZWNV!q=*+%Ty0#!-VWLrpNj04rNosB5s}X|IpJeP0bgU4!UhZMSkVAMmWLXIT`0G3@1GI74SMs6M2xz`{}P~1wobN zM~wVossu|vJ;ws)fD`q@FSD$Vof9niBAte}GH+ScWDNiOmTrUErM@BbQSI})MB)uG z*jGYjO-Ic?pRNT5j^ecaz@ZGOeX8ttO{h)CZ&v&gBmGtsTA9f?}a(<#p z=r+Th4K*vs@m;BE<`ndkVH}f+g8p$c!N>@PZ$DG5MYI99Z=fS&(6LX|dc_NwLVkyypbAjCtYKVW|e7DCn&GnewQ zPtqT~eqR?2W@trLc4&BqdbM7BAi!-vl z1dNd7D(Qf)kr_J|+AoysZYYAmDv=W}l&r;x_)p0uZDHi=Jv$dl9{hhw#_^04+RHc_ zc4%DMW2qYWB?EsOsCd5NFI#=@dkL@F`+l9Mb&@>CvG#aISa0eO9`Yc+t8oX@+9HMqC?jb_If<{v5|f zYgO??PULMA7uXoVK4Q}Mdni(qIFMJ;k>%KBN9uPNwDU z0@HTOJ_*u!UGc@>ZqoW3JkaJ?Jr+)c=eeVD5t0~nxioiY@Tu<8+ zPkdlX#b{s4ZA!Zttgw?1P{|+Ik=D^a*wJs$G4ucuN&-hNA0bz@A3!pD*Qt$sk*lVk zc8BRt3t*1aLCN5GTAq3T$b$oIo%_#`tGW&qd}B2>HrvQe9j8SN2cMv!-9@dPh`s8T zCEmMe#Coj_iz@Me^N(8w)o;r;(FOK=&{@MoFJ2}cdP3G(|NOBM{o^y;m@1?{7sa+% z%>>O6=zxyEC^3(ZBGiFVb|hI!!L#kO^rU zj^H=Pn@<_lehh>+fry$DSZ;Z=m)9I&rz7}1;>!~V%YeRQiA-m?;@afVZ@Onvpr4)P zK{o>RAG~*|U}<<>)yw`~RQL2&yCqA*N#vNUgX+U)s|QC1GL7bAve^<8$8;(t$wohM z!NV#mytC9QEaeePn;NLabW^4?mHPS*?rU`{k=f7a^?x49fadj{{Q$k-d)8n4=^=7E zBqZ3itn9t)wC2OM^P=dV&w>ABd%tptT)8P;cBB3xrb5~FTA_$sV`FB#+FQr?uPtve z*+_|SUrEAmumi#+(F}W&#&*}56bOv~zIEBxxL-zNLq}Yn(nV^b?7))oiRdJee1R|V zq(TO-4u>WWyEh#HEZD&mb_nT_{i-X;hRg@~j0(X(ioZyO-4m#5F$;V47*gS4{Bpe6 z9;SUZ^D0yT7(%RTTE8i)szC_m_)`Be>-i7QkkhZ=8Rx^a@sj6_o*`R~W!*cHO>S3Z z1@y-frc|q`&Ynv|hm1Ltz0Uhmcf=rT5FWA!9m_|QHM4ux34vtqT|9j^r9B4|LJL>z z5Snk|dJ#e``=G zpx2bV^MtjPN01itA-CCP&o0EBu!QtNTY&Np-)~g^>z0XXDm#4W`SwLg{q^_3qcU$2 z??_gUWy@fmje&nvwLkk&AM!qUp`mP#m8sh2tlm6D#_nD4L|xhLd%tSdH^H-AwEGKZ z>=Rz6$!56#gDwsGGjScXW~=(}iuT&<$YX6>lpaAjJMFqRgTB=2H&o!-oSzmCMVZ`q zq6uC#R@Y;{WfaDq?ihHA7)hvKJ60gJO_cGN!R`e)#-bnh?=uSBIRBo|Hg?(L*DZ8$ z!QNZ#wVU8)d)+s{T_&F$mbYL&5=#IY@}=D$Q}m&l&})Q@yFGKDM9`scV65Hbbu?V)5fUGXK+xeN|3;-z0|y3$225?cKb?Aq8cd{B=8%8gxu)Ob5V zgZh@<{+-70A?ucCaL9!-JPMGs)N4(`g8d;g$Sk%qqPk^EFxjJ~OYJM>`o0PQ0(95L zs$VpY&(*~`Ba9(&C=0e_;*d7U2hs^lfMA0OF@R;Fq){G~bBi762J{zTd%VsJD+~Q7 zLT(hAQ`#;~(BS%TcTQU^qHmmqw8b`%pm94RmSd8Qw(wA1GBN}&lwkUpNoOwrJ@73- zLzX#~ttCMNRAIWo91G4!nqF~GFo&}trXZ)NWdI|{cY(>MC4%Inq=l`QptQ)v{<(Uj4-MD|WZ&v6}#C>n;nle%sKG)Vk%z7_LsWow+Yn0f=M z%J}ii8L1w8AoyNRPc%>%$2NHCe{j3>DDq4FSxnPL&CRSUW8ZP&S8kWRbJdtIJbV7j zH!X!Yop7wV>-AR@oLymk0~@|#Ts^)${uI^1)rHhV240+~C<*j*fc^wNL(+nc!PGRi z7on1Z){mm+7DKhZG>S7l2fe`g{im_0w~^JyKgN%(nR&|rY9xvs&qcArEVkX=Ii4AC z9s1dM%}w(GnMuvyGJijvfY;rVU*6GX-`))H?Q6S6muEZZ_;&o^Nwi;K|3y*YQl5)o zSpM|khVuh@#%OK)*LXZMi~5jT!ksjq`WvZU(G=191GpLju=|LGMxqbj!ehFbsJaLaCXK z8j}J4Wx})COr@x*_qla>eBN@H?!F%x%r&p?1l)+aJH*{}Koc(6Epk6nX02FI%V~+x zAd1l-LQ3H9yhVZ?KJVredO+2+Yqo5goLA_tP0L#yjY`lX?r=hBq5p3W>7(MJ3D=*MK8ZK5qu5R$>Mp$!N0)B{(n@@#OL_6XyBXM7Dtdc4lE zB@oxG&&KX)#6I$NV62|K}?)AhTVZwbgUIwav4J+mY>i7Lj_oT?OjTvJl}&{hJQquYNg$c`FW|I9R5HE?>PPl<=WxV*l%& z3HPSuJ?*}Ukc#81!$oI1Ts3b&xRJdpmLQC>2%NR|VcV;H4@*1&n=3Hu0`5qHd#NTu zFB&uBpNQoU>;#ZJVbJeY@4FbsRI`M)a(1G@qvL30m$%)~lFNQCXg%4oR1gD1a7EAC zoQ)an#?qIvJua*+tj~MgkQ^rta$T^p6R=zzfx;fvNFXwUBs!e9Z;yp1W6cL#zx(bM zsaUD1^!nZdvG9sy!pe@ToANa(T8Gco6jZs`SFTSb#%gN`F0cHXvv}!y+@>2o>@%&# zFyrKTb1>f9H^tdMTB0|fSo2Yb#lCJI9QfQe(Dv=&hwopqaz`{ovv+p<^L`Mg+i=Dj@o5C^7f%e zcZb%UZOYfBEBC!W0v4@3>7sp)x|C_@ZqEORzI*f+j9;LkT9?k){o0pnMzkcpna>Q! zPru545>3mTPpD0K?qv|K=f;WlLYLGGt&9`-b% zuyacDcz-xpDE?@fi}v9A^wZbeQdOAlANYOYU4!8e-03EJezuE&^FE)KWJYsd0*>1h zwhnpS7Q^!r3*^Xa*&K&vbjESF_ZLY&5fj>?=&v*O7qXX;qQUlrJlH-6ssl_nQsRSn zAT}F^~dN@#)KNO@aw)vq~($V!<3wQIjFgg_bnZ2=O zxZ=TEh9@GN0!!J|-TomxFfBlZ7tR&J683h|-6+qY*Y)mix^Trqwb8|z-7j|o08716 zqBm#0YakB^2^*NhL@v;0^I^FY{dEym5XqPpN8|+4 zml(k@!3~mFvS%-F@W`_WOR2+B9G&C4f(?WIxQcn9I}KAIOm`ca++v|je-%pijU!0-Nq{zq^583J4W%P$`UE2oU6jF*Y1k& zaImQxh))JL|Ed~q>al3_J@3tI|B3K{g?l>c znZ6@}rkc(!-p2L}kh-gK4H@f)m%&4wzwA%xfH4vr*P6tb9{%O=x1|%+NJ!Yi8>$mHMc%#UdGzb)D`}UfAzlk4rgF1 zFx?uQSyQ;S3K(q|xc4;o99wI4Zg##49_tm;GlMK=L-v|7Za1GtZflJ{LR2~{nW;?z zNopdiDwrOR`-3ze6*`87fH4M)G}kE5;`fdafzr}R}Yqv9`N zN$8#=&Xco^xC<8VNhcPxbzTLVTn9lVk+4s&{8RWFI=HgVsi{oh2ZX) z^<(UZr5WIsdPDH`kPwV{x&>YPg{QS82Np4iL>koB>c63Dw zqnd9mKr)M0O}j}&aBp$td>UoH%dJ`FjzpjFcL&%;W0w-*_(-%lu&NKvk6 z+YQFM)!^Fk1sIsGBJ`rlA1$O0^^yZYB80XDbX{-i#klK0;(-7TtI=b0swmC58=WD1^4mLN|_ zkbC6H@0&8dZoUZo0Zt0!-*RWi29tG8>l~FGAi20e>{J9dl&V)7h4swiwsl#V6W&+B za|atFVmm$WJ2S>NSd+rEPyyg$$=YAv8}27d<-}&iDx_Q2`}*CoH|Ty9Dy_o|I8Aq& zAzydopelyuJqy2{B-m_?Ea*oe<=LPuM!+h{b2c~MvG&lKe{YSQL^G$)4xN#}BHO}M z7pm?ZsPUMR5?*dzP=1gu-@VHT=M>7JZ49hI49-E5Nlw|+!DvN7(8<*FkqTrt96y%l znK6H&i~IzUCN?5Wp%-DDki9#=>|5FoBu|~y-#e>Y2U2RoCvOgVA;Ems#S@<+CX#?| zM0Z^)RzH2}hG)(M#OIPpEwOul0K`oqGBc-DyO&q2IyPFp?SG+u7{(Vla!EflR~ zxtOIpbuHT%W;+8-#3WChK6tF$5U~ zpgQ>vfEf{Upok!Vg$51dZ#}_T^@~s83G{MMyyM zkV4!$#=twjjZg3GIi~8FPxJ-HcLt}W1+A1zDOQbLpa1lzcuc2fw(?=Q#~-R$Zo0;n z&<1=_F3fe79Ns)43S?+%mfy(0CCR1A}MB;v?$lWi0 zMzh&-eC1x!`NuKXlce*O-}bi73!y7d$^Lx~x)HDrDk4d(I*vlGdCa4G%xld-ZioK0 zKIYBnTlW1mJT?HR(i+&N`GYVe^Y*#?u}d%K1Q0FV;ap_0EH|41iSYj$Q&?3h5V{7c z4TsgSJG!Y&GLIlr^44a=z1sqod*d4NOYVTVvRvmb#RA7CsaqABEor?LA>1KyjV^S|93zfo^xb%APqffeRz39@66j#2viY3%449HI& zhlE{tgUe^_(p^T9Aa9Evyc|Mv*~75oL%ZA*q0k;uf&&@`3?R!xJh1qMT_1a2EEU0u z4*`Z8gi*{%*^u?{_0I}0U?`zqNU5;HvSwZFFyuwloa z^f+40W<_9+EvlJ6DPOdH1?e2;DD;OGA;Mq#zG{XlzbkC{}DoFX=_e=n4m z!3B{4RVypBm|r1cHCKS}i_|gDfSqgEfkTW#wC^_Ds)eIS zdFq0m?$-5>_O9oWT1B&;*QNfDc1sq@OAmKT6XeMs75rX;p30|k0BNSDn`*ftiNCiO zIWrX~eVmG$oGuSOTy~9evQzK3yBnVf?{!@srS#Fh5#`&yJOLT@@K<=_uS*exoN7O^ zju|dE#UrA9DhmSeh}HX7Sc~b{oNPt9QcKQ;X0`Aht(Ro?7L-K)DSCUTn)rG?A>n!3d!O2vFy7Mt-7i!ZTt{z zLIe|6r~qh2!R3`3Ss$hZN-!pkz#_oJFt{t3P8-0V;JAB(@){}1PW5?02B8k=!L0XA z@Y`F29gVST4%BGpZ@Usm(4d{cAkCt_i{bkehl~V%4uE$OYS^UPX86%>H(Kz_InPykp7)z2hqGlrk>S`1sd=V<`*$h5!G zMEZNml&4x8fT(wl_4V&hXf?%72`>~?cd5m7<&{DuHDY(dGVLEvJWQEw$;RGqJ%+F@ zEd}bDNqGJsI16IA4^p&C3Dcxc{5^t7!)!rf)73aL->SwXHZ@}P}@=_AdmnpZQ;TtI@c6Ntc8G`_e!8{E7MH=<} z(tVr$hI8gwo*oxY5unf2QRnvpOB+xR+y}@o3cwDYK{;7jl7=r{*cBFWy;ljQHJ(bm zR+mI{+rY9Xkgg$Q{0pgfGT!yLzZtKrD=#zlC)fgdrseJPq(u{WW>;=kQb8pnEVDNs z0%L)w`d#gVoLity+uZMBMc$eA%v>9erN9G3p3k)hox45D*jqpQa)SCU^%qa2oK5j? zrsm8V^}~bgpKT~K#^0g;8B4FoavC++FBcD)`dPyn-zc+#6GbG;#5Z=iK56vESzPoG zEqXxWRqUQ=?W{!)0ucWVlP$i(5EyP>k#ekX{E4H5iQ}ckPC0#i?bRTL?d($t=94ti zKl;7v_^YkiRuSBm9;E+o=#DM_4Sg9@;ihx@@v-&JbQbItuwf+Bf&K6EA9xW-g0hq* zT=%^PM{$9D(bQ*GNB2$^Ns%@0pYo5B<`a2}&FDqexb;qx*^1-U5bW7|-aq9UI1pJ- zi3aif#k63&Ik<~>oN4z!npd$a(=Pp@3+p)49mr`9<9L?!n7(VWzUiXDc0yn$)}<6x zJI$r#9G4c{1}}yI+2u$T_EsjOdt_Uf94OZq_lw|vqo`)$ltE-$k#*%1 z2q(W6)%=-6OfGR^nqkn*d|<1zn8ubb?7G`bf@OD@r$RitTxBwEp?+JNMYp+sD_g z(L36KP0gX9G#pnS>Iy^pX%ti$IBb}VqwvC~s3r!wTj;j8tq76bIDwIuTKv7h z39<6stOVCrwu2n(GHjtZU!=Ut>7>BFVdZDCtqn4;VfnavD2*-7FwmZ zh{DOaIOFr;R`Xh3h1QswgNTMON}_S-kM)(V=%LJ5DJCkNf*|!-p+eun!6Nf>y5E-% z4LwIbFh5{n@`S%N7Rc}GG?x{X$$U^gr!o2Uf7j81$X}Tq(rv_+%mzb6@%NACP<(1s z>I1C{r4)ayxd!DyTJX6;(N~l6qK>oX&;pzv7oLD(v$Bl97q?}N4_Sf#JIq14age8S zEhhL7X&4ELBFQ_;M0ZW&@`#SsTbQ27L$@?xV}~hn3;bO}T9R13{#l10v#0_m*M|7W zK*~}*N7vp`0X4(5PRYNNE&nwUu(}AhIrx`s=WXB|Nf6iLa)W+NmXOqK;y$;Y;&{T* z^hPDdwI-!Equ}w>{Wu`8x}nLcRZR&pTs%82RlaH6t*Lsh$*P(iexB8V@3`(_FqNfg zlXUC72ld^hqLD5bW22|juCnV~Pu}b3+!7WVt>leCWwXRdh9CyOWyezm^V{gpf4w#0 zbs5NPjVFV8N=vg}p5%#{rl9ecZ#Qi=qP}%z90fmW2`k&5{gS4u^5wxzUNLj>_iN^a zxNeulnka#R_RIpgH zH(H()Df!hdy{J+P^{z}vW<-_&$ldkm^{1<<3%?=%sQ64j5x!agvG%V~2j?*02bsxE zmDa?d?cl;&Y&GsRQWw{bYQZ@&WuyZ8@Bp`qZ$EIBaLb2s4VE=+)y6`>W%O1i+&sjV z20Nc^TbDar87unXfRkc`{TLB zJ@nn&-$DS(r%2HTwg6>;w$I^Pls`wC&pv;m6WGdn2$TseIU?PCn_Q4Dw2p*u3me1l zz=XgnXy7oU2gS#i;DftI=?*_43EQ(vQmRpd?BJyqZu`4fi{V`v1T~}$P3C5ciWwQO zH-c$k+AfH0t}Z$jcMCE6EinkcecDD8l;$G36QbaCPzQJ(*D^$1!HWo*PkYMP*nBT+ zm!0ir?y8Ht@-7XjpS%t&M@w+U&qDQgBaiYnp2`2ziqHt<8zeMi(1P#*`@_teK|b!u zwE!u-;9|B&1>Ffrc((nNHV|or#__vNyHS>B$RvwCf{vI5KwMLj1YJkBapepqgefSI zQV{7d=FkXk#yO(#Za7c|u?>|%4_@Hv9X*A6z|RzGSY>FMAbuzzJnstboBg=9UT8HR z)u)6=D;EAa@j+wez0L|~l(rFS5v>(IZ@l1!)_^~wC~E`4BKX0BC#N}anD+xVI3ymMY*M1E@W`j{S&UlWQPT5@hn;v<~ ziacV?%Dz+?>eaa9$>_^y5$SJMF7an4h4$O0KmC_%R`J?)TmqsGqHeDv`Q=C8DX#u$ zQ*wP@{`l7^9kQB9X>b-cyX$kF-wx$zRiqAm(m0g++luiZb#?i?eDwVq(uHeNZ2gz) z=BLRPY=wC%TPQFj0i*rHi`wq;h_CLdxXY32d(2xq6H2hj>8z3oAYA_$|5llc9Zg z>r?vT(Uq&M{s&nT@|!=yytFqZxzS^r-Oc_4wod{^Iz|c|rN_0;vJM%1 zBh;bf-D@XAoEYfFMrSJB6{ecvj?yTwmtnMEaVlN?i4Z0J;SKED#oMzTKBsDP#>{Db zr5oEF`s5Zs2*Y7Y<-u^1&h|Zqu6I$Q?z)mwr+E|q+%{_HPOvxnBlJ|YW?5suC7bCx z4Tt_7xEBQo@=;7)quIY3n-cIS_--P!7y zPj?S1Wv4E3?aFWjOfQmA#&IQFVs=XXjN(*Z&@rFivHdh+E|Injr3Q@{-ohMc@_RCnAa#?VDbWLGQkFM#3ET1f9DFq4- zqJHx5{>Z6p2X2b67Mx6`H@sNmswa_p<)!d$J53V96z#d->SsCv7o7jsn4#98FT>^! z#D{40WWwM~Mm+PE4IZX0B!%6Y5N9N&8B|3Z+iQx%C^n9SX8<70z-t(1u{M}u!st5T z6WB<^BLeE`Dh2xlI+JlH$_D}=$hl?(F4T%86G`x5&p;{rx+R_~wtWR3;#vg}REM*OZt{m5;c zb|e*{e^nC-h=V#+R+nmL`%`dazGxR8=-k=Qn-t#<9h|QJ2OtmD`E9=VPg#vy3My_U zY$2?D6bRx49fA2E!x`#vG1h{>zw&ryd@1c1Wvu>qtEM4R9P=Sk?Msse5FVpTD>9Qv zmD)c4eM-q6XU{**5hbI$U1BI=1i|0Wk96~;4}5v>-i76@}P2S=L7F^dd?DBld0 z5M-YfnI=853R*Z>b28fFcVHFNbM zaLIx)%E1SQ=EmYStrj2$kY+{zNUz=^0~dh_>Tg_T;Jn{jGeATenwr{Ld+;put8pD6 zUV)y0jlrj;hpK4tA+F-d5#uUoy=TS;&??x`#?}h~162kPBQI5j$tJH&lAzvJ_3Dq6 zGpoS25Yrd+kAbBiSx^;34tivIq?!?mAOQUXTSLa6{Ih=bA)vpAD=@2J5L8PE;0FpN zlPDDx7Q0V3?z0GjmTDoOYu*Sm{ZjJ#)om$@H3N_++0bN{AwHz)@!wJEml2jB3Hl%V zcN#asb$oq?F~!nL>PHn z!2{aN>&+2^;4TwHAZQ7qXVzt!p_Wl%C;(|SsOLjafrd%J(|?$NEPva42lRM zQ`JH&`}fc2G>Dc4FP7oQSA+=bmRxfF0{+E65t-D3lDXD$#EV zsWoynTZ(EQJC!#Np^i?}fCw9UK*==M)V(7>5@6}SW{JB0n5d+Bzb~&Vll(KM4xAl| z$UC|{^@+1V5VDX9Ik57w!mQB36;Shrp8=rYZLl?rTtypCeG57`!T>0335nse_}=(w zxRB!HUchJwI%Julits?NAojrY^*LhqT~|w}^r;xy_P9A3!Xyf%rI}T*2ZYi1$Z(o< zr>zLQI+jNcGOi>|PY00aPp1fw9kkR$&L zad5ra8VoT55r^19ZC`490zlfo`qHdwpdbVV;zCtOB_k|o!mrPiR^>?D zJDf}cbOJGl-Zpq{pvZpy7P)fsy?+gff{0s?>~N9!kx3&Cz-$m8l+#knh|I*+lvXRl zB1+ZU{4p+5)z;;R6!dno)ldK`XL+P$EddO|)3%4oK`w1Mw_hZUUh&D zp-CpC)*t}{9Via$3UM_Sj?BpW{&fG(cOYAyy|I)5NE7tYFb)!AwC0gf1DZ8VUGoQx zL5!>bUKzn4InXt@*(Sq^ObJv6nuRzTx|(FD3Wp5aLBJGX~cdCb#V`Wm;>#&?1V&j#K2om!SJ5#Fjf4V%3A9m`_jhHUK;VpURZ(i$> z_3%e9MeE1&e)B4?a!%^GA+GXOLC+6$tDkFLXq8mFB&n7U{RVEae?gkgsd(y&2mL2g zgX|(~r4j_Z!M}`h^lSJ5H(oB;==0bo&!tPQAX-o@e>WuMNr=w5R7j@ey~UIBWj~7u z>SD7?i^z_~#pNf`PfocHYI>>I+00HPk0awgVL_5^IhvCw>+4(|nY24gYOqw)JWC(t zTonfzuSI^Z-N*8)TvwzBp29Opi|QsIPG>$BJT!eVvI4jsOMv==RMKgj+>Ge&DK9)p z>;(UDnYE&f4ABt3i?Hx{k`qH&0p_Z&w7C6OeL5#fmp_EpWWs?@fze=P2P3M9y@$^e zT(mw1BmHkk^fPAeCMl+GnffTvT~>;6f<^o9iAg3Wu37ZSWGm*6{6lTOlUoh2@PN$d zM51E3>0X(K1O3(0Ml{BG(iaZ%bJ7uC5YtLw4eM0mDw5fJVDDr7IE|*%q=i#`?s+Za zY-Ww|&Q-DRkgfpA4TJpErBoZh=Zs2@2QG(K7)HoUk-L8hSDI5k)`@Hq*Ec|9wRB=3 z)_5l2{-pHSC7aPdJH<}oCmCnaN)zFQq{eC}=*qZ%PNCZXVKUjmx^2;ui6|b142kGlexy&$i^@|_zXwz^=0M&ECY|n99 zVKS1ZJSvyss%YfPpP01j5DC_&<+mxWuCi*#VN6W5Vx@`ZcTYk>PB|U~d7r*P>s+=F zHVU^M1^j7+sVk>_x+DsW{~}Oxq@3s@naiO(&GGU43HLXS&%#&nSf3cb!wmMf2haS> zVmxfZ^)<#n>}{>YWpbjK${%S_gnRu`ckiY>!aH&~D<>1G{Hk(8)*f}mc`Viv6yI*^ zXW_Z5-ARAL%7VSZBnDSwzN@Xr@nP3!^nNoM5!n*9=+_`OMcOF~Dmy<{6s=_d$UzB+ ziZ_Ozhijbtg|It5!*5c)jVT7;B{MxcJ|3pJCUc4-I^?K^u|^GU)^m1#38SJ_u~Wq! znQG#Z+Gr=6jtUYlw*2Y!mH$+a~hDhB!X{L8ZcW?XuC^3FFHE__9?SZ+@UoZsng$oq#g3QD60&lkt+%`D_#BYOIdvk^gUzX@da0e$zC*_g6iOl*+p>c+Y$ z0z)M)cb$|QV^0bjQ-68vA5UGl9pyJnJ`40<_raLIEYkTt`1^-W^g9uZ_7|5iRq$jc zOEJ_uzuxKI0=~@&Lm01*GT1`WC|@@UahN$;t95d48>8l|wR9~eGQU4kL%;U&o27KZSko?rT)w0xHbQ)#vyA zbu5#jojBV47x;i(i>>@~ecic;MNnh61SY!?5t5Jk;rnaDXP@$Yh|`?dYb6}X)P7mr zK>5P0)wJlR3sN6GV;r#=zirFwZaS^_TpWE-BhXOHYLM%8Lcq;3&@^ba@p8gm_YX$P z{>#K2Y)RKqKcMYO{Iw9nESLRB7gaHHU#-uqVCzXqeN1td?7h&-W-iwD zXcIiqoBOD&wk^ohRsROo_Sn^{KeV(jzVo`Z}uYL zQ#%G(FQmpD@C5fnRxgm>>gv;MLjaPzltF*R!VE^hsoHh-V6;DfWzsYzG41X?nV+vd_&16S{;7D&pjSux`?-Ir z-&KhmI-98V_-`LULB>=eB)resOu?t^?AOBi0GmchSR;%Omm)BkdHy0cro63#qpc&g zt#h=kjkn^XRbOkMHJ zK7dK|9^JLuK&GH({9mW!q&8-Db$RO*hpPye*(J7?y^^5nhct+X#}P$S_I8 z@4h^EryYeD9feq_4_J&;lkG|zbdiwb9+WHI;qsbVL!P*5pot@JJ=c`43lu9)>)Mj)?p}ZtsnTm~c#HeWA!@&5hXr zdZBI?7_fcO|6UunPRe6|q?xyv9RJ)iC}VpER;`aIA24qy8^?6+sjv&lT|SW%^zJ@$ zcbl7kmI}Z^ZT<<1+2C2D`#QSFOddohvJ!5J!-PE3jU!bI`xRqoqv zLelh&F&*rs*YaWYp%Tx{e$@y6ez1&euecI(to1?F+GxyZ}k{01B8Iqaf#>gZ>1Jh^qVBFkywGHc=bwuBfXTD%jXIW6vpNdci zclgXq#EV(D|Izizsq3-~Yb3|V_*F@~P}{oFqQR^A?-TZNBD?Po3t73KbZ(QwF20jD zlwOw~TbJ5JW=u~+gjSrUZ2!fmD8b(z?bH z+s_FwMpo`cc0|_R`mCM2l9iLC4s27N(Iy4(PmY1IF2mc%CWvlK)*obQz4j zSeBwk{}6o5_J22cH1Vnu^lRTbY!=YE4@VZ)g}C=8-I%Kg7CXX~UM%*=#$hQ^;JjQh z6B3b%d*u&Wz|B-09R8&?>s58k!-qVE!7tG=Mz!ik6mvho zLQ*6YA_~!5wd$uSYRd25eA286yJ+SKYcMUkq&d|2Qb~)~nC+{&$hu@r+tPT_Mb`Z$ z9Yd(?+Z(4JbEW40QlA||b`(5Pzf?iKMUeZxUNg#ic1-yZ_^(3GL3Vfk%jJt+wB?uN zFQ%YTYf)ng8Mzlyqs)SFJRmc4c^1S$()MnN1eB2pOdYjQC8Cl3a zyty2J-ff$86?soicxp==A{zEEio5JT7P4|9`GxGM>LzGU;>XNv#50YgKX}f~;7DYi zH_yw-vxeD*zxigP0XLh5>=o`+KOnst@P;!dwebKKIT6rIC=B*{@nK1WU)$r&B=%#b z7P}`S+E$;Y%sz!((70oT}lzMyUlG%`O32XZrY@AS7=*)-ZgOU zF$)Y|lsEGWv$yYXiNX2fkd3b{SiS%Q)f2n2j72ETLEkcj(mg$>1ZXS(uF#qq4bLRP z<51o#Il!9v8(GJyOK565EfY}U+{M>>Ob*0JI-|5rlTV2ro$E4U$swNI#o)1s zrRrKGvK+_vj+y0LT(!Oh(($Np%Q;Alc=aD-zr(G)LNrj)xL;jKkwjFi@8y8{6uF(yynsG$2LQsQrN^LBX_n% zB36dzVd#Kn_ma=3ph3`l$^T(8PCHkRi07Jitlluw zveMPYA?2!hF{g0(`6o8`S4mgHH~RA;C8o=$gp?JF@XHvsEgf%N4D^>LxU{_T6wJ@R z_PQ2gi?+`U57s8>0%m99U|#*^b7)(UD0L-AD6JG7=J$e|*e}&KZw`SZ%m8%;hV8irQeMiak z;Tw-7OZs$!Dcggo>dLGC0z3<2hFmxLEtk*8H~NhWv1vB?ZRF0V7=i(eh1j~mSo(ce z!Q4!pmv1zR>5hM~{teDqa4b5?7q9>>1lTN93`JmF9|vsh%?1(;mde>OsxcExH`Xy~ znx*z`^iIS@_G@H!c-XnybTDTzsIKK_cYG9O_rb@rvJ9Qa4TQzOm{AkiV-#!cOqR4T zvjwp90vHocDE8>?Y;upNuV>Z++GP$5ZxehDV@FTF!Ub4mS76C74cx$bM)TQYJ z2hYEc{1J`LTsL4m_sw4w^_Zvj-3(>DJkFf&$fq`+5U#ph^H)B$9mp?tSU0egqgh^2 z2nikSqeh|$MVmJkfKojbD2ra$*RLw!g9DN>(;`R*+amQa`%GWUjrWB#6℞{!~>f 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 literal 0 HcmV?d00001 diff --git a/doc/_static/fonts/Lato/lato-bold.ttf b/doc/_static/fonts/Lato/lato-bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..29f691d5ed0c2d3d224423bb0288e6bd59292511 GIT binary patch literal 600856 zcmdqK2Y8f4_cuJ{?n`tUt{YUu4vJ#$ zyBq zx?zM23q*T|r%q~^s2!sgrpbDm^6R( zo2QHvBC)Q75;k*AV?)>bnpP722HHz6n$@s$uGiJ{Q(n) zZeM1G-xhsxx?jt)`c`cR%IbufZ=g9s)cwv8gc$oz_xpXDvDT9>UNZkIuZkRe{s3-l zCJNrHA@yVl9)1mQJe8y=>@gw}A}^H#QDs+m$R8n%EDL1$$c!a3-9To z@`cN4`jZ<8ak`X#&gFEAx}V-@B^0BAL1yw^1Xf~^DoB#Zp=eK@<@!~g;X0-EbA2zz zl09-V8DQch*`r7Z2=h|y@N8ZntApHhR7#6Tk(5G81lY?YQLQG4`kN$C z9*%e!;xCazsfi^06V!Z?q~_tBJTnyWj=*zKhgnWTy<3rf4(UN?>k^Wv`5IR z$#Q9`>q_7_Z6@_V33ZZnQYslvn_Ul3r|Ut)mkY2fNj&|DtWq|LcRW~yKCT2G-a|MS zc>?G&I}V=A0gnKs9%w*&52B9IB#9j((d-*yV?U7?c{PcaHDU*%MO+Ic(dtHG2cpr& zToYEJE9Jyr3M7gYMHIe+bZ1A&U~VH-Je7=Ly-?o*(wBviM1(19AW5V*BCkK%m{0oB zJd#iIUB}oG#Cwyzd>hKnB~@$@$}dEG0ZFF!;Mvb4njR!kcvix?6Ut{mt|ky)*2Cpw zlq7L0so_@FpWI5l5JyOIfoxBh3<>r}e26En0AU(1377~>04jhc;Gidb3E|biMZhUQ z)cFFO$}gand+q z2l}9&6+Dp?OE-ac50Y_m0(g=^7D&~ktMo9&DUfJ*Udq!Ump_s+X#trfy+TU3gB0^e ziJvr{%ux(d1QhcRTuvp0%uuqxKPwge$fr+{GN45I4)pYL19W<8wS-9t}hJ>!eaedMiDU7I}TiKy5kMqkV+l_bCaJzXP5isnYdke~bAE$Xk^g(kbu@^^P>3 zgn=LZfU86Zow$bYB$fO$89?76BUl7k#5kEwKg3w6WCVSf^aqA4LBnSPaAh@qjn-gO$5TvYtsEM>mJllqZ7DVtiDG5Ulp~z%2PAa1MfzV(a@i1Y!Zp#e#F9c(v{us`ibo!352vjmXsO9Ca)ynawdtCdys)x z({0eJMbc7IDL)JuxCOE`(=}0k0An!K^%mPpcFWMG+GXTQMRrXzZ5o3NP{Q%v%g~#} zq(B}C{Rdk{tPk>|WV`&7>!fsuBuh7-%#9egD@Y3TZnf4Q<9IdjJP?Sv_X0_fe;}&j zLuzC{5-48-+eg?!9MA7S-Qsx;*5_HIw*)&(n(I1_HGjFZ+jWG$jCDlVJh8;e9(OIq z8ns-S3^j9)yFQft zQD09|$nS)1n+84z+d?Ht$|>k*z_c^!A-lJ`{xsX(PP(zDU7IkM3i&$du59SQX9azD z4|RaHES>{-0ZobpJnqEiI>)AhjV0_96}AcV{v5O;`YCK3u`a~%W9V0_ttV&)-T*)9m639JDQxIG*mNz#t~>&}vpe)gK5UOf(g0g?o{4ax%N4F) zAiG797i^_Bq2I@#uBpV24+s5Mk{J3usfCTE!d6+%Ge|G#cJS{_tUY_d&wW@QdXY-l zo+bQM&~-f-3fUfpwNmsy%)|iV3wvjlbP#J?Z;a8SDASFo@}DFC{Y&RdNj#s4^<+HO z^{!|;6gH-?30}rnjVE1s0P*4%xIlKCW*=?@$9Cz47}ldiB) z^VvMurQsx!%^)!*F2mf|it>X=81zVAHjH#(Q!rPiz=n-Qd?EOPG<5b{%+*lHdXN+i z`}IrE@Bzl+C~T!4NCs?pgEv7h3wt>U@6IO)Xtyi+prFkXx&Su*G}v{yq>8SA{A_T2 zY^LXtO1c+yZ3VW0js>oLW*y7icC=`l{*HHhyBzdo%>5lCj%|l6F7)Ck=swuf)CJpr z6G@^!yH4U+9(d6}_oM9>P;M~R>b>NElur)8rW`}JkdZ(gOUGPJ$9nV@#uWg6Ze`z* zy96*^m$e7f`eool3i|T;`%CL*&U_5_@7y|Mh#I4Y!Vm~_qb>X?X5208mpxeb-0GoFYY~E=3BEq1*v!pjk ziZTd@zH@s;Gu9J>gp2h>iFP$(tzQngNx&RR;9o%(9YpzSkhc@q0lnW9 ze1nZFzm8{;%pA#^3b%=NY4Cm%qT!M0718i@>hB3|i6%CP@e`BCVpQLy2oP`(cO;&#kU>~CZV zHvI#npF9z3+yYVyTS?fsDX@`;B8*n=B8RkjWT^5uc|`F>Um2;^-zNpwBjn<_pZqv@ z`!(k5<76=E7^G~4uGtRWT?ah{yAAYBN4Smmq6xg0>o@r$*DLZz?0Pp^ji1v(9mSD{Y1S@*>6o^GcgWhO0|3 z7Pq;+(^QPBiWJ+=t8aseRh??Lh_q)L7gWAP#OKbuH@y^IV1T~0n3`=66!5#GB`DaBlEAQOQL zFb^jJ7qDV75zn@GFrD=yo3PIs$a=!Q?+F`zE4d#iWhhdF2iosJs;~#? zi@foIXFv~NBp~)8T>-H#5qp|KAPHrYffU5guBRXJE0HhuGQmLW-e&;ft$QEQes`c2 z5Mw0juK;>_(s8IG4M;*d9-*kSFKZ(6knZeVv7c&t7jg04*?ki<)dPaAYC!Zu&>#bX zMzO~dGzc06AH*I`@L&Yc$^)@~6ZG~51YLOWZF>Ck$(jCBO`ekSuB9~ zWQ21tCO?86{54zLp`gF*9BmTfg#gab1aC++(0aDkcJ_v6Z-U?R@C;{X=DAx5_PuW) z{}S}^S5KZej}!0025>!t5OoUvx>g_*XIf%hvccoN=D3NmYuy`)bGwfF(Jj*F&qU)G^ko1Rr&>#D~{__1m6YwKnR^H z*TWVbggKYtx(@bugp}?2OIiupchf1(BySRSmW(rZF)xs=!J4(qoFfIu!@fnFt(j-u zSCCtU%=6o^20ud%z{c-|bMQ6d{7;ST$l_ z^#ch;8%y{q*T?)Z*PZ+loF(a`l;-1{@gC?e*rvjUG;QBn;=|%`_S7Bw15Z7;W0)Zz zXa&T2Cm?t|1pE?vZ8L42J>aZB%opU{<{8u7VxJCsY7uPwY3Sc_o(!A%7zsl849MmC z2u}ba3;_Z>A>_3M>#CW?Jx+@^P!3?cT1tR8U@LGVfOChINx++csOK2~>v2mcfcp;t z=R$;c0~aEWI~%ht(VnPFv?J>N)eWZ&;T?d;N8ejU0yV%?Pl$Lk+7M^~ZO$iPPwi-bf#GcXli~0P=Hr}op_EmPB-JZ zm{aW`=2|8ZOLLe?(*wkN+mjpu(y z(CDF4+_{>laD6MsVm~6#gIL<)BAtZwqdmm^Y(Jc*2>mYdv1XhNV?WuWi@P7(-*&je zZN1CwB$U&z7wshfOrGntGjZs()wtJaE#HLou{GWyba835Q<7G<{3NY*sfbg=zm?Xz zdLkWWzT>%9#@?;EGnjjBvG2CHhPK5;x&vHXk)4tvxBP@~0?ubugcRv-&9ueU6M5e5 zcmBRC8|=CWXCr{?RS#Z3njro;!m9w>d%Jo8B45NsI0(2N@gqP8fU>y%G@m(tW`kP< zjc&pg9#^=bH@3_bcw_(*gHS@=z~2Ye`mA4LavJCAfow}0;KyhHYGSqE&8y`2*9 zAn-_AdBgRS1fPua0q6Cmuf~5A{^1(*AC(tv{DE_}e&@6mBaX1vN1KMuVkd|EtkJ%Ka#k=SEBLtDr?gm(i+fY*T!fOqL}GmbP#LHceM;CcaJ z6VCNH?jn{WTw|7Nam6Bhfc15~iFZUjds!FPLAS4rYnwX+P2%1Qegsk)S&nnD;o@uz z=U814&Zj3`F9WXuH?fOI56OUU%@yYTkGKPJ<4c5B<2 zDc*7I{*T`i?U?U+!q#|a?XNa{j?T#b9M`YrSuo~&yIlBBoe#KMQ`*pgdrA0M{kIUlS)Jk?ob3retxkNk*noEaTEb^*B^g3*CbQ@u z*B_?ORw>SWgwK}n*Yfym;ohh({SEK6_t%;N|BRI+!t~jyC;q}`%k-HNzEZ+ZYOL!v zWiA<~jK^9%-q`>Q0G>p8B0}UlD?I5f$~af8xHtc&vbaYr{r>~vuH&Cz`gt9|-Kg;Q z`d@F<&E9`L#+{jEDL(kPqZssOHYKf|2NaNQ3)3p_0+;QUDV zoe99-?0*W1@LTivt10kV``-e5G)&(&;q%ts@2$N(D}3ODU1<8e3BR{ihpgyK!k4W*;Mdmb&nEoUa5r!IrwLy+3ZF9JcZM_J z$H+etvrjnk4tfXaVhyqIRJm4 zRy>UOBX0j7;Um-@!e8iY$T;Ud8`x)G-wK>1!0*`&j&nKC(+(~N&hXYC4`=wMkJ1E$ zZNR(m7os>PI0Mvyy?q<5MBMZx5@9=RY!?^#jliP-+7q<2o>#PmqP*!>gb=6it#G%C zHq(*Uims?*G0qo%K%NOahi8`?h{qz{inkCK^h)SQDSY#0;$7U|35dAc7YU)DO~CX? z5}_wP8DSfQj}p=*gs+l#CVZ6;nqcr*LfnM#T|(T1xT|l?7rso0n_%#1YRiXjQ(GK9 zPKcY}@O47mgg8q@ybZ$t3274yeo%;;5dKhzn*cv##7&$PpMZSRPYR*nlYk`dxlJ6x z`LyuAc?v!U3ta1YsjG-T?>fQLT+4YZ2{e5{;KL#OH(Gr+_&@k8x`P((21_6mF+##kpM8R~0`F1$A=~{# zB>uZUM!VB-bUvLfEurJ-SXx5|(-HK3noIl9p0t8)rd#M%x{Y2*uaXwg?b2d;HO;4a z^bz_HeU$c~^`J>1D!vt9Azs9r_z*u5Kmu{Tj=MP$Mk0xo*hn;qA#v~zOvLvAl3{-j zp;dG!9gX{~J2CS!NG8dJ6!j)!$#~5E$+(?e2#K488#xM}fgQf8(sNej8H+ikW#T&E?c-RW|!ENi~C0DT!} zooiiaz0rEW)0g0OeHmaIYFlU9;^~VY`Vtx)>FG;-^hC2S)|mR3<1wxdeYrFCg?4>e zoKl~%5Pb=`&5FJdr`7CByICr2FnflN-=n^Qb|B=N_|_Z|ew&VeDeZGw)_KMDJ!>n9(W>HAQs>(LL7cK!IINWU8;KD&g7Pvs(0+dN0ttI=wV3L4cM zb&R@Cj}%Xh49lG;`MK9sUQc*E=k4zuE^-O+j`6Pde$M+#Z>Nvulj4)%Q{+=mh|g-D zwLa^8E=KH9pA9~j`@H1yn^~Or{NfJ9r_c93Klm!Xnmflg5MS#G^bPi;{6!i${sO*n z?p)8aa9@+A);!-}-!zoU^2N&Uo9A0(=KtTV`55$$&|6dJY}%LBL0>hHE1-X#gx+o> z4?(LvCM|<+{oT-8qv#;=H2h>X(Q;{}v`Shnt$~J0fyPNQ^`{ICx>8*Q{j*j*;?_RI zfJXHa8c6fi{OE%uTpMNTp>f(O0#7aI*pgRPr-XFPhC#( z)eE$@)C;w@)pgoCqzgRt)@X02w`eZ)R-LGOb*kQ`GkAg3I-_5`jT!_U)H0E zKWS9qp`m`Ohp5N(O!b7GO{S@*^q%T3dM^?}X2{>kfh3qr*Qj2lNqT>c>HUoNNH;QD z^VjRN0DY7esE-!OW*)TSotunf@?QAt0!Pc;m^c(sut7Ua;6kE&S!Oq68vFt*&j$O^hvGr^RTWWl0 ze8hGdZ(CllykvP%{YyQqmuMEPi#}8>)$Uc_(c`ozeX=%5e_orczo1RgU(}}RFKN^C zm)S*XnRcIAt~u03?GZMfU98@&bM;5PyZo{InP%0eSgw!{%TKFI)n(c%>K(eo>RE%P z=mXSj?M8Ki_ORAnU#?bY52=;fes!z%ow`jsuD+|Ms_*G3noVD(Me9qoB7K8atY4;0 z*WcD==x=FN`X+6#zQeMKU83Hn`?3k_Qr5^WV-wj1wXfEsUa5Vq+4ZSfjPj=zt54J7 z^y%8g`U$p?UCyo`Q`jc9S*=p%YR{;@YQxzUw$*YK+on!olZ+7cD(wsPdp(^^W>>N) z`g%5%UB&KZ_pp1}eayj{*gkeYdw@O2_OpkKXW0SvupG`F(Jkyz_85DdJ;9!22jvK3 zmY$@{a#}d!4<(-ehmFx7j=FUCTE1 z9($jCz&>Ojv5(nN_6hrxea1d#U$8IPSL|!{4LioZWyjff##8KjcEWg#{lI=?Ke3aR z?Ut+A&+HWYh5gEYW52UM*q`h##haaG&8)?c_-aEjy!aZvmS14_8$p&kEO#338t-E* zy_jFbFX5LO$Bb|JWqbqd3J2dv9#Vc#0_3mc&*d-VFR|WUA-Bj*th$@|7Wf9ct&YR6 zK%V5=5+;we++~ThL|LpBnEppj0T8N?(hQQl<1W zJ~zHl{!mI3Kc!sx#&WkM(UN3Iwxn7zlrZJE^1U+15~%c1>MZfbmlo9$VaZlQ)UK8u zmK+vt$+Psb6k5_PMV4YqiKSfivQ%37TKZY~TLxMNTZUSO%iS!smQj|mmU>I0WwK?O zWu|40Wxi#RWtnBAWexU)Kgv~>t@7{kAI3Z6dvZeUVSJ@tq~4>xrd?okGiIvY)k)+C zc}`ugU8UYlo>yOmr_2j#vnG=lwIK46)`PsP4bj$;SKvYXDtS$PUAxdoH>!*w#tdUU zd7Zq0{nFdy9r7-DkGxMl)bq(lvbpOMeWm*flb75SQcL%zk%^gH>eu}&Xr zTxjgzxA5Eeb(VWA_wl>=9sB`)1HTux)jobbzlYz*@8dV|CMi?Old`0IDO>6(b(eZc zJ){CDN9rx*N`?G(ey8@Vo?$%9Z{>Tn0)D?b50<8b-z7gG|0(~aUZP$~yBH3tYyH$W z)Hl`d$e-jd>SY`-9yA`IRLvnj;pX5ZIi+4qej&e--;4*y@8l1)MZH%GAfA zV>DX-l-g-5jid22fhN)G zR875UhEy!|mrA4oQmHghDw76DL(4C>nu-L4qBeJJS&fqNAvys3;q!QQtPF!B|qa#;{gAPKg_@8kMM8gU*!}0 zQGSd+#=qr{^W*#p{vCgkf6ou{6Z{bWfj`B6lz)?d;7{|Pv@QH3Kg@sT&+t?HS^f(@ z!hhw@@!$CK{CEBW|AW8C|5U#*nvBEzCH@zGnV;sb@MiuhZ{e?TCx4y0)MM&+?E$r3 zdr+OIJ*wWMeaqjFh~;6+W5zz?8RLHAIsT?Zjs3<;#zV%-TDHD~za=rtBbLXFgT|Z2 zqxw(AWBN(sas6lG3FCGCw#1DmjW_r^lEmMYWd5F{@b|Ts`3I89Ka@27k)-pFC4(Q8 zEc_Fx3;$H|;-5+0{Bz02c-453TX+}l#l5)?_vL=vp9kjxr2=B^6c{d)$!+8Xc zkoVz5db94-UA&l=@KS^EGD9_VUTzq?f>-jsMi;}!@a0v!pW(-=d4E2D59EV* zjiM@8z7#{TC|&qqK1A{2L*;Mf;|dPr_%MYjT#@*2MOG9(f{*02mY3xyW46AU*YQ!> zliEw#3B8M+CtLMOeTcqBzf|9Dxl(^m|3d#$yWg@|w#m`5-8f=-R1cF~e6;>1AH&D$ zEqojw&+84!8w}1T@J2q7PvVpL6h4(txm<0~4yaSL$JA-sebp;>JIH|b*J`?x=TBz-mHDE-l@x~L-$jg zbbsst0+eVyP`zJ?QQz0QsUPSG>Q8zP^`xGo{;cP!zv;cz-}OTE55152r(UEw^)l6^ zmup0?&{Tb(rs;z;U9Zs$eXtg<&(IR|nOdSgOH0ycYq|PLEl*#imFO2~rTWEMnSO~@ zuGqC|eT&u~zltzG-=+=Juha(VS7{^kUD`-}w^plPqt)rxvT6D&+D!dbZI=F;Hd}vP zo1?#>&DG!0=IQTh^Y!<&1^NftBK;$6vHr2PL_ex6*FV!%=$~ts=s#%N_20Cs_20D} z`X73b5~qKn|7a=GuU2!lo76n*W;I{CMeV8Gs`k?Mss-9@YH#g!wNSf5?W5hP7HM~> z#oFC!iFS{Anf8IYLHkhMsC}efu6?Xtp&eB>X`iT@wNKS8+GpxpdaU}k9;$WK$7`W_ zz1B@{(8BZyTDab*Md%Z?NPUuV-1x=#&iK{%-uTTpVf=3VVEmyq>PNJR`g6vQ#-GMd z#$U!sL7K1I@suE3^4i|gN$lppt@VVPQ6yWLA^%3-WX=o8Y7HR#&Dy~7-@`FA5agd`_)I( z2i1qwhtx-nImQBGp0UW7Yb-S88;jKs)lbxq)z8$A)KAr;>gW0#eZD?VU#QR37ih^^ znwF|%XenB{aglMEafz|fxY*cWTxwjdZ8UZo*BZNx>y2H;b;dQu4Mw`q6i!NxMS3T;OE=5R@Qj}zsY*MuRtb9a%j?SYKBs;rKev>xIZ_$17yYl<;+wuqUJMw$-hw?}A z8*G+k3w@rxNME2Y(bwr4^cDIteU-k36S)U)g7yr3N{XQeq&RU_CnZWr(s+5EJYQZQ zFO(O_i{&NwU6W<>740 zo5QYWH^@!$KKXw60r^4k3j*T2j`Sy^tDkJ$Fuc~mVjCXTh(;P4?GwUmHV3J5kWzcuKAfeL)|aF@Xo|yHKRMOG zQmhlLj)OH0DQ?uh1ZtF)HU2C)3!Zy@e9W^zzHb+rinAMRdVtI9S)+TqMhKY^@ zWO-6nM}~NwAxa*sskMTL4GmU@QBzxw9IJR{h**w@<knJT7#a;sP>m0N`)gh(WL6>!6lRTlsDxSC-7oQHfzP!=F zlWfQ@wQjI(K;2ClaxA(vxVF9~tYJu9t-TIUi-y+XQJCnIr{z?KoZ?VRllKwkW{rZR zy~GX{+e;c8Y{Fy*ZAAMHIVshlrdS1$meR%p5}AM^AhW2xP86vxGl|qv_Nf+9T3(W5 zYh$*a(vkUwyB3-Z5=znIdTaRxdxIDVlT##2aMNK81Cgy%I(V$Tq0HTc zmq-mk$_uGfhYzapHCbW>2O2@P!@IQJx}o0c@CMUT9lj~m!)lwPiDh*$4zEe}rKt|T zlyzhq<4NS0MZ1X&rh}3HmGRF^C<8>O2G3L`Z-gEG~7B!hMud zbD{*KkS4;)ht)cK>?PK6hXq1u*dcEv)_OGmpsz2*{X7%3Pj%m zl2aW)DNR&_!Qit9LsFW!2)m{#e02pL#K#4G0}6Lf+C+9I45URLrDw2yrE( zt<$MwZ^*L?HTJh9AWEr@jJDyS!H)E#CYc76*Fp`6LC9>+nR6d!rC58I^k$SQXM(}R1`wkh~l{z z5)vG1O|w>t$qQCiZP-w0uY|Iwg<6MN#Ej0NG$;`5=RwN^V}js6vxq}4O`fzN&2F_8 zY(QQ4XC7PA+;uo4)QM77N4=QuMT2YaXI5?vyPw7JZgnL>2Wrr!Xb&ygD=_;onjNPS z<~>bzD|=R2Khf^sr419IhFEDs7~=JHn7e1c(*Tm7nC%q}d0}?6P=S6SFk3-=oiqYM zgtC;N0Kj`00tMB67A2^$0WZgzMBo!EjnHyu+JZ#%6g;q^bve$%1A75j)62|uXqezu zYlXd1G$ux?z+{=|fQO@GSZ$iM0BfV5*prFM&ahmGMXCyq+E!opK%FaG^>)w5fW}lu zZx02ftwU2Umglp(*gBMjDRyg`;93O~b3t8NQyLA#1nkq6jnO=lUDTFsmTrBuLz&_f zM_zL4lMa=Zq&V`EH$aAjux!AzJf~p{OPV7M?U$PD5(3!DT_Id{%!)Kj5;u)yP#VzT zZIasB-+vax%FYDizmYz{H=$n&?0I3fcH?cU^Uzo>n9<7A3ekU?;JhHw(~q_;SE9>7 z?#YSO9`i6D&CwlmvF~~EtDtjfV1T0s%JfTdR9xL}ZL8BO+r(nF>V4i83NGUX&4$dQnD18bp~AL?(zbBGM?z zh{!}yMnop1IC{3Rd9p}23XwgFFY2mY!k8MCqAkOcb4! z;wWenqI1lcC_2}SiK6pT9KG9$&KC)@=mIk)iY_!`qUfTO`*EqzYCM%BJG4m- z9#gZlb;*G%5sdNYhQLsvo1mH9=J(ttqLl2PJ*pxnS|&*%QPibD8=&=8615Oj);w7= zl#vR)FRWN)Gs{x)MAx+eYkk%lYZc+dqNA8^$rGfg?Vp*)CzdtE&`Sry2EDYlNu=UL z>Jc2@QmN?DMi^qqgsELu)TL1yr1epfwNO>=l5~K&E^T1S0-DZui)D|lv&5G=uobGdoOjQN`A?tYp45HD{=Fe1iHgPz1{Tw zfVWUUA&#}!IFy2sh0y_r2aKA?Lc^E^Z{jZvGQEf@GPe`{mK+<}SV zNm*%jIrt7gB_uIBH7X-5CNn0?C)&3rC?+c+JTo>ZC^j=ZA}c1yc?bWw*}IreYu+KP zNb3_<-q0&|P_LxenBe;Pu|1Mw6SM916mMVeh?e;9Eb&@actmDQP*6;!wBfH&<#GhZ zhq-=*G%N+}8txJC13PIn-kYkN+N0y*aZ>4xlV)n;*Ezhxy}iP{?&G(;W>2xqY`J5m zmKOa6%cuSMBN$f>-HA4_voIJ+o2I^ z_vS%?!P!}YJt6#>wkF@RHRev3UR9=^-Ev;{z_>{NxafecJ{H+uZcj<`f#8TC#krG` z&Jgt1C`-6KAvn@5DUz=cP3HO@z5vajPlk^V`fheSz!n7GkRV%I=Y#mQBYf?Cr&*s& z+Tx7JV)@Nqq_q6G*{gfZOY9RVlSQ+~vPZ?W{Lb!m&Uw{2?UEoQC?-j82MhD2VLSP)d_3E(tR1vRPZ)jh(UwUXo3JGdmI)HUYX zc|~ZEk^!!t73sA3?}km(IcjRZM`EVqzK7Y6%H zuXVZ}*yD8VZ<@I3~BQy3}R_)8T##W-Xk3 znELLynfe@_HFemkF8+R@k)eL&>mFaW{D}+8yL3y8)GdM@=d~t1eZdEB+G=rV;;4c9&qk z*Bj?q(u1qJN9V)^S}X%Xd_w&rLM>~(mOMq-&cE%8pD90LY{d;B#und@rhyC$#zfAN zg8gN4h!HPj@~zVkI)A>k<$V@^EA>7&-T8f=C3j4BenUg2-?5|*d-De8ZwIH#duKf9 z{OyJ%kFTp}Rw~v#?v_vZ4#@{lzb`z`+DVQd#M6(8W`aCz+IwXCu@9%;vAC#cv01m_ z{Edd1&3PJs@WFRb?Gn*|bJ#9twe*_VpxHRvxQktg4w$li2B3nLp{%q1X?A@081&NeYV-8e#=766d@XQQ|WMT@$r|~m0 zASc%kUFc2as@Z>TYI1(|;_T^9)8Kn*cdeV5I>5hYw5??Dq>>r;EHA0NVE^2j)dl;z zMXOAGs810l9oq!1qH-~`}e*0v4tz2zN9ibf+`U~J3Ty>C${m}4_q?; z$rGJFx70a*rrr!1^RH2CY0IVZ-j;1_Hev8W#7}?X9S)xlLc!WtyXQ3wd=I37Y^lDb zj@?FY-Qlii#|}{y_1+rxVoUs!w&bqkH_nf!$mYR8=a(2agJ_FTb| zeT#FZ=5vknh%mq0r2N`mk<^Q^<%c))^YTupNeB+}w)I^wgu_wG(-(QBhh8X=TpSYj zqEt~MX^4=>c$$V~OmK|e+b1r|pKcD#O*-ZbO-{4*=t_S(k&*7}oDz_gKHPbVdhxzN zA@omcXv=N6AzhN~Eu+J_vEZ=amh~RqV9xWO5QiUdtdMa({!?=k^*VY~-g_Fq5DMQ> zBKhJuRD^i0_UPV6G#wihsLFnlZ*$WFkyleMIvF0gM~^a}QIAA>4`dIw9K8R*M6cVO zweYlciFt@NUW2!(@RZ|ZAI)m*r*a5&i@D}!_v@ZZm1G(nFZ3vq!l(#AJOuotg*;n1 zbV6}fM-{~tML8?DbmB$-Zb5z;ZSsro_Kx(UcWM4X-TZ~D@x6J)%`f)q#q(@MVa=oD zy-f4>Y5v$+786^J>q;Mg4MtfjpM~rSOF_(&cp7}B;WXOAPoB8JnjF~TrJT6JFEqg4 z!hYkDXdx(+A1=vjhD3AS&$~I#UKW9`N4e{CUSrM&vrnz7fkzy2ded`TNEo?sLXY8@ zVOoTrkKI;X-QssvYZr{%I;~eg(2R(HE~CaL@FzQK7{9UQ`bm+X7tB@Jt-IT+2FcXm z?N&xbnkLlvEzX}0O`m>S1LBla(fTQp?r>5}(lOP=e>()uZA+%M?gWb?p z$uywd3Z7etU;Sb=3RWW7^ zcEw384!jExc3qoA<6%~;YU^Pd7F4X_=17JJ9c3;FtY!Sp>3Mn6caE>$H9bFn`Y!o0 z+PrndiEUS%x_A8edrw`p?ZgN^r)7;;7+&pr@smrIJb6jqzL$vb;=bCukBpx_=b2W% zPOpE&y+D{WVa`Z*KsLL;R~y!j+seYM5Aax5rUGC~`pvG2iRnAL`uXR#zO|vW;_^4I zc;0!6y&7BI*t_Sr5_`*^?A@~EcTSpi-|7k{M|Ee_Ei~eJ>b3=)r*_QtcRQ{Bw7mBZ zv;O|huap{-pP1*=V~UwpB6un^Sh}f(+pS!tsi@NNtwPr-gwn~Q83U|uWzXn&wxA|d z&n#zeiuK=Z2bj`$`kHR`?#cbVvHy?AVJj(f+Ut+=nsMLqAeDji`Bob=&Rj= zTV9m+_MW|KOx1}%V|3`fqdCl@6K0VH{ zcvnl2nI#G5?I^`}ABc1%{k6?Z%9`<`#VoL`%8A%wTv?@ojyG;cx6j}v)zG$ z7I|;;^$U;ep5$){v&99uHW{8_;SCz#0g`TFLIN0e_UMuWco$0ho1?M;fqkG zH|h*jg|RJ8DyR_oi@LRRV?UmLz}v!(wWLXDa%o!J>0|Fs4~+GdBHn?%%yj+4FO!0> zf6Bqz9$~}F*xceUNLWlzDjBT}X0}A`k>Cy5+)1RX@O~{^W zkFx~F_p2G5TRgiarCYCYm+fCvJG5X>L1tvP7z^Dmhb86Nit}>w*z}uvP1`oIWoeML zpS?#+fW2aBdHjHi!n6opFr_iv9vo z?5PX9srSZNWh3%pgJQf(6C0<`?mp}B-jQ|Fm-gLWX4&$NNs0n$tfkB(7>!W&FT? zMOl&DK4p4TOjMZvpuvM{2UL$NUH!n^@Yo>ielf1g@r&t6@+**6NUo=wreG;*k9Pfl z%(=}+zic`$sWCTybW!x&X_eD63U@TrZJv}?rPaZ}EVNb&o7u_0rawfauJ~@@~Os&YbI|_(t$8l0QiiJck?!UY|Kj%EpmX8=J9G zV|lK#;65WJt311SLb26eGOkyzs;tI&J(?TLn1=b zYgY{#vUX%@ggqi;lweKerO&LMcj$_me&uMAlsd09+b_kM@ptD*ywyH%pLm@`WeC5e z?5@#XYT2a zw7X8KFDQ}to**%$&QuV7;*?lXv6)Nr97+U-K#6xs_SwwE{>yW+oUO{G1zQ@1T{trJ z_Yt*4bF+R|Y^k~7IYWW;$R45R>q^H_2#ECy4DK=cs_|u0hn89?zbdaHf6C?&EeqHc z=9hC5E2c&kjSzSjw1;s?}q=<7kk!$&cy+52pP~`8m_Y zkX}^9hSyxrI@#)<#lL?kcL6c}?jDy+9$XrwP?{DR;p6g+kNVtsC^{j?=0it(5|QNX z{L4EsGVd&&{*%DA^}cIFH%goD^$MiDf`XmvQoH&jggCteLg_^z-p(Ys)<3*GPh0u) zld>Cp!uOaV=R#k*PpPo|YuzQ_{gAzAy(AbDG`4&@5=5P<=u&epVF#+ z0>M_FR<`m#&oE$V8&e~~i%R-Lv}3AYV%JW%`VY#g1EYoPF;Wg4|0@)}udp!N&Lzy9 zS8f2r(7iP^EgDnD`!Q!yV}9PKqUea6ff)m4X8gV*(<`WO&x~Q0Ps%M^c+;d2%QIMW zc2d&tb#oqk#E~gLd^fcZ_82-5-!HUXKdrs(^ z!hO?=hIB8QP!b(qI-2&#A5&~Ez3|}5srxRhE?#oS)F+n*HI8^D-KR@vbxD8UZa!2G zpY-Uk`!c<|1l^M~cKh_$lFaa=eiQPm=Jb!3{Igc=*f-_MZ}to;UH#yKF?(0_yLkG} z{Ivr^QoK{T21x-C@m+`e6=uw<2~LEii++@dU-!UTu8Ci;plxOoZ*MlWc0<@kik>!cSIG`Zg96j4aL!iNaDodCr2I83!&MShnV&1r4_>F6|o4mShYsid{Z;`=ABY zvEk9-p0#}A%a=@h__CV9CHKt9gK&Wc*r;wAaDm(z4fOmwxVBr>^Ac8Y{m=mWIh(q| zo)hm}RrzgrBv+8yBw(*mz`Zd-9=+aKFc%k)Oo(N=dd~d>XzfpY2|gv4WfH zxm)2rRTp93)uVA!U1e{XdWS^%rIcrcQj4>N_w`mH!Y1{vy?jFVfR)~UIuA%6kYDC# z#+RQ3e-dFcDENN?0_K zWD^AaE-1}k@zjR&VI#)(3~g^W^7ZGMg$Z7M36%{d!Je*^iMvQuSLx}3GX`aAU-T=` zmm%U8JkHClGbW8+r^al@?qUnrp@W?>+U!u)$kCIFY3KbP=I+1YbpGy~gKbtjYuVGS zp5_Rx@b-6)P?p(E4c%;c=2c2 ztqRMunWE+H$$4lWE&8JCDyXK5_qkb`{06a}-KX|LjxN~zo)#0baP^^eNh7TqON(w; zH`vZr{_b4op~E(A&*D0+Hlo4Atl%hN8j1Zr2Ft9ty{=%# z%ZCMSx;)$-Fm>pHN~>AFsR??ndqaLBHRhC0;4BtX+F0bNzkS>0+(uit=RbmTL#)po zM=3Z&EFIBGYrAeb;^MJIH!nA`%^oHVT38*H5@ZYMmF4bT-L2jc-V^X;T4Q3DNT0jD zI_7C}(U7&Z>9TrBfLH&z#qQopTP)sF4R3E_s#h0^n=0I=iN5~=dhGbWZ`e%=tMSRr z{O^z-0NbVleCe=OM>6@WH0_{I&+ZA|6dacw5tbPn92}b&7LgqnOveVtX2VrSmQ=e%MV(cy5%eP&u!R(^irYi>`rr1)^?nfe>mrQ z2F|l!xOHq+r?b?f3t&Si4`MwyXKdW30OruN(iUJ&VqyKZPA8MRQ4#jtXOq`^)sySS zjQ76o@(8>Cyx^+I#gXo5eI5!&*Iv=kJ+zw>Q+-Kj&d{Di-E&LO=$0#WC*&%c3^V7^ zz0!TH^GsdcF8_Y%p4NG$&O^SKXJh}-+uDN2h%a;jl?eVZ}g(MD!^q;7^LF9=zOcPeZZEgO<-MA>w;$zE6;4_8sC3N&oQ%6;vP0Qbp|GC8d`(gJGtnqHKvDt#)e>vQp^uQzc z=m+$fs>5ExU2aF7n){KzJ;G~M#WH=bvi znItorec$(eGLuYZCX;Ql?<;{MWQUNjuVF{_9b6C;0R=$;Q9(pRt+;EoTI<%j_HFCe zxAnD(b*qg<^5lQ+^UQ=KfbIMJztT4I%yRF!_nv$1S$^kSnl9d0vJ&HVLEQN!u-T#Z zBgBXkuF!#yxmobY0)}$5c`|_3Wc?Bp{hE@=Y=eXl=aCJSH{^Gmm4KG(qMVNAI}N z#l_b|ff@ol@tAY+Jdmzfk6fLBQI{_5>fA&1-iQ(7eheL-_F}|Ga-ESg<|gRl8Pr__ z1$CYUps6E0fkxUO;}XG>!5>6A_<$H@kjfI7Q~=Xn$;zXOjDSbvzPY=0O>4SF4gQ@n>Tco(h-31S z3Sji~E}#+d5avjLA+91v3h?}K;WZFLfTE_ouZy+}&Z?Xl7(z&&k|o`B`Y2bgP`Dy> zIbal;jrnB_fu6f&N0B!+&`=Upr=?}!!$H^alMft-<>60WsqVgaut;k4Yq~{ZwO;Kg zo|;*2$}kElwmiRb{ zhlYH;2j*HT4MI}m7?_!{u&HHJt9PiqRqwZ%MAr^);&As|Q8eE&5KT$lBIQk8SdbZv z4&2s)-#omuduEE%43J`coKO#T8};rt#>Xxw{+*Z z^m_k(oQg);u3daI-y;{GZ#3VM>-M}lp%4-(S|NnBnAk3}pGaSv-+wm3i7ozFMS=C! zjgSAg68!+JXkY#R>4(IrRX0$opmhwb0=^Q)gD_!8WCI^Em}tmYSZUrfbV|Q#h)ll4 zm6m_yNBps}y=HzcK4Tb=Jzz7fh2Q=O#eblRF5=n8l3t+s8e|Sz!{82rK)V5SC+z~%Q|0wHYe5Z8m9<&5(nxU+&Eo)2& z9ta?|7(zDL_#is;3QeLm;p{_gf^9U~=2+$h%_JNeBUi`u;pwvr_N2|bO?Y3d z3{g?JK5XGz9BxVbq2h8x&Yp!4o=jzwuYS$=_{rQ}`%3eLlPl`+qSEJAAmVgdzf>#Y zyj%9-Dnw&WjaV(fv9s(F-8`T)h0qAGy;m_7(*W5pI~bsHU%h9 zPIfyT56ysBZCdQ;ywOPLY6#s11SnkLZb7lydTUYcQ52?qdEFp{X+wUhlhp*=8}AqP zxRB0F7~k(W5E9ex#9s679!PZBw#q+5gO9Fu`AA`X*_M~+E@NS;h64f%^;t%pqjjYl z#HHy}pG3S;&S*xi8RO#8L-~gW5<%(SO+lmtjf+d;?_EBNy<60nh)Wk|=Op$j5b)nH z&v4+-Itim~10w^(l%7}sI`##&v{!h9EQwH%t92Cy9ipMz?Rpl`*g4zq3$Y+o=__z64=4fT~-chY~tmZcs^Ne3gm5ao#aGAfV*;CQp1-*u59h?#B z?`nwaec`HXZ_Fj}RCM%oRCqF{-QF|jksKmNm?l+83o=bUv&QI(wG~va?FfR>5?A_U zW}niU4j*}ndrMRkb#AoTGN-L>WEyCsg3Eq`)BpSz>?BC9#CVs^PXHy5fP|F2h_#j2lN zvwa{hr+0Piz3T%{Vns2nvnp%^>_K+P<|sQ2Br41y;BwF$f?ogsgirn-PVJ5O%hPsa z{`!A3+c)6IjVU+e$p5cLnF8rqHFN5wY;5ygl`J)R{(=mDti3EcsW2EWaGOBKK6dw& z0P)eB$2L_V-T@s5e-&s4{ffz!Pq;G>Z49pBWyZOZj0cR~VxNNcw~%FYSRR6(@{ES) zPcO$^DvW$JL*C&ZSa~S^$+`-lyMc2Adxu8BoycPRH3-KxW^)PSKsF7gq@6QkT^h9B zY64k4gT^i0G(zjG7-$qQE-TRRC!hhwCkciaSuje0Y#bJE)J0>--2`~NtCS$4b{sXZ z)i>c!>;qt3f}VW`sF65Aj&?6$V(1&j4>jayKNnbRWz~Z ztE4@DjkgN{TCQ<)T_y9nC>K1*0

    8(RS%1n6kJInt)@EwW0s*7{=S!BxlrK2Yv$^ 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%0DlAp?9S$v1aS+zA8SL`rj9s3ipCNfYQ`8n;ahbfV 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 zBEc*Y%p$=o63imOEE3Ej!7LKYBEc*Y%p$=o63imOEE3Ej!7LKYBEc*Y%p$=o63iyS zY!b{S!E6%DCc$hH%qGEX63iySY!b{S!E6%DCc$hH%qGEX63iySY!b{S!E6%DCc$hH z%qGEX63iySY!b{S!E6%DCc$hH%qGEX63iySY!b{S!E6%DCc$hH%qGEX63iySY!b{S z!E6%DCc$hH%qGEX63iySY!b{S!E6%DCc$hH%qGEX63iySY!b{S!E6%DCc$hH%qGEX z63iySY!b{S!E6%DCc$hH%qGEX63iySY!b{S!E6%DCc$hH%qGEX63iySY!b{S!E6%D zCc$hH%qGEX63iySY!b{S!E6%DCc$hH%qGEX63iySY!b{S!E6%DCc$hH%qGEX63iyS zY!b{S!E6%DCc$hH%qGEX63iySY!b{S!E6%DCc$hH%qGEX63iySY!b{S!E6%DCc$hH z%qGEX63iySY!b{S!E6%DCc$hH%qGEX63iySY!b{S!E6%DCc$hH%qGEX63iySY!b{S z!E6%DCc$hH%qGEX63iySY!b{S!E6%DCc$hH%qGEX63iySY!b{S!E6%DCc$hH%qGEX z63iySY!b{S!E6%DCc$hH%qGEX63iySY!b{S!E6%DCc$hH%qGEX63iySY!b{S!E6%D zCc$hH%qGEX63iySY!b{S!E6%DCc$hH%qGEX63iySY!b{S!5k9IA;BCH%pt)X63ijN z91_eS!5k9IA;BCH%pt)X63ijN91_eS!5k9IA;BCH%pt)X63ijN91_eS!5k9IA;BCH z%pt)X63ijN91_eS!5k9IA;BCH%pt)X63ijN91_eS!5k9IA;BCH%pt)X63ijN91_eS z!5k9IA;BCH%pt)X63ijN91_eS!5k9IA;BCH%pt)X63ijN91_eS!5k9IA;BCH%pt)X z63ijN91_eS!5k9IA;BCH%pt)X63ijN91_eS!5k9IA;BCH%pt)X63ijN91_eS!5k9I zA;BCH%pt)X63ijN91_eS!5k9IA;BCH%pt)X63ijN91_eS!5k9IA;BCH%pt)X63ijN z91_eS!5k9IA;BCH%pt)X63ijN91_eS!5k9IA;BCH%pt)X63ijN91_eS!5k9IA;BCH z%pt)X63ijN91_eS!5k9IA;BCH%pt)X63ijN91_eS!5k9IA;BCH%pt)X63ijN91_eS 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ͻgzEstkwjq)Y z1gzEstkwjq)ͻgzEstkwjq)ͻgzEstkwjq)ͻgzEstkwjq)!16XYb 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 PZr+dgQO8;Dp|bx6Kf>?& literal 0 HcmV?d00001 diff --git a/doc/_static/fonts/Lato/lato-bold.woff b/doc/_static/fonts/Lato/lato-bold.woff new file mode 100644 index 0000000000000000000000000000000000000000..c6dff51f063cc732fdb5fe786a8966de85f4ebec GIT binary patch literal 309728 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

    F}woT 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"bt0}@AlIHaMn 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 literal 0 HcmV?d00001 diff --git a/doc/_static/fonts/Lato/lato-bold.woff2 b/doc/_static/fonts/Lato/lato-bold.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..bb195043cfc07fa52741c6144d7378b5ba8be4c5 GIT binary patch literal 184912 zcmbrlV{|0Z8U-4g6Wg{k$;7tpOzdRhOl;e>ZQHhO+vu0M_dc!n^L?xObl2*xbJkbu z!`}OJxyXq!0|5g80fEfP10jFEL(^aafy^EQfq*W5pZ$LfC-Tz^cg6%lAE=xZ%GU%s z83P##Ch}7_e3%!Q9fTBg>laFZ4+!iQKM)upcoi0;?}9Cy?@z6Ky%%>tw~NKKJ987+ zBV~BtSYfP`gDMdo{o&nFop4 z$oXL1NPsIf!3NQIe%V|P5t^GcXU(bIn+oI0I-(Pi^QdP;c44Z{(p8IrT9|(o@c+{e zgFiYyCq`u`THS?5MRLK*ACtv@7{O^c1iE!ygQLbBi~POQITE#|&AQRahOEN*6Bviu z#%`Bd5HLp>&z67^M|l0_dyNq$5JR2#J5fad3AW7A!t?I8)8oR9TY~KYyU3s)D_i@a z11yTUQ)MCg5_;oAoKd9dC}wRJky=DZ3=JvjJxLW!MJ5+ov)_-j=o48=R@V7<8*chuFk$gZVlS)hW+XSPcQ*yv+ z=dQ`KU~~{yCXCLFHNap)&|4zIBLxaPG_@r27@b>6$c;ER39AK`c+&{~)fCy+)Ig^PvF=n>)aNXs*}#Ju zC`&4U5IMy(qO#`8Y_#Ys?CTE^s`)AFmSH$sYFB_CNIC+A8b(OuA5gYTnteGD*Dim| zm`< zP-qKPZA-Z>wQx%4dq;`5MrqV1Adlz@(6rq4=p0eJHO(2$x)v2Xv>#SI=tgjq_mNM9 zSeMolu4dJTrum0spvic0|>+0s3Ne%cRrmsLmeIV24Ar2*cj6sSplOh!8 zG?K8l$+r+eJ3e#MsuF?ogYl|3*}@g6HCUr`vfyTs(`T%XWXiE)ciE_NXF^HEffX2? zI$||g1S7@f6e1;ke?#WV+Y?yfl`LJDJ^rTN`JFgSy+`z^1NpRMKtVR^P4P(gusxb< zBNolQ6$;!~r*uw}$^R~|`5ehLYe9|kOv$!e;!ly~cxQk%%-d3`>u)YOc~*SF*S!~6 zW)&%G9L!Y@BK^~0?R1zbEB7)rzc@PjTKxASy0iaM{fLMlNCXk6Do2sS+v>!#gUz|3 zru)rL)JLA&2MA~f9rT#M+j{u8Kk&>TA~~dg1NUKq=e4(HYcC>L>6Ce+_fGzr3!%8` zgw16sXLJy)>yov~W|G(|%lM_$=E6pSw_9#H?uyuLhjRp_`*G5STTn6z_|X$ZAB9uA zD?!>G)@d3rSBLjjf?2zi3M2`V8pT}v3`}~&@zRK+@AlIhWmu0GR0$^)KM{AN)D5p{ z(*(mCsm?v1wWC960!6B;-z5$swmZDRzj_256s6!zjU zKe^e=IL+RdZ9Q*kxKk;H!%=tziX$o0|hyWToE*?^U z#qZ5^`)PPeKeI+GpJpWz{$eb?OjW1cv0bvE0AEaWH)?UQ$in?tCw#irr)k1UPC0CUjx3q$d#}W_Qwj#)I`PN>ta=2vj+$Z7=E@r?z94qmL%Th^&Z}Rrs zEJQ=}m_OoZe>7$ztW)M6q=-5DWNp*UOhoZLngnSoX`K>k~HciGo)FP1fR z@m2nMjWP{ikro4YY_MZd&4={`p+u2}$j(dD$rV?U$avGHlCbAOYKcX(q)PC6 zOGH+&(_`3gxfAb%CsFTnpL44XUlp}PSJije9yXeu!IC$A$2$=JCUHz{=bXC%lC=ev zV=nBxe(@Pxt|Yg-SL+wrLlm|)E#uO@qNxd$%>1WM^;|3%7R6Iv_4IJ?j$Gj zXgOgvNu34|YteFA{4}KcU)EAdQE15(x%&aHOEG8;qijYzBu4O92IC%8WZMrs{aMD# zS!&g;4|EnHixxi|ao8_VolB35+rlsirm=WC1aqbPmKu{4Po})->pS##s;e*PvJw2) zEp!16e1E(nBC~cBG#mSj=b95%y5Qwz_v@m-xBj2nY{dkPZii*OvbGot3Y z6rX9(KwkC+*QwcaIUl*O^v-%J)13B6iV6Nwt4H8h%`!UlCAMXcn$&b9h?oQgReeRD zW*b3f7rJDBsRA_9g%GVPtaD{mZ`~L=2MC79GA6lnT{s>C?AhC5W#Hi69s;5mXmJ0a zbsr|GEjv%QB#Ds7gQ7t)TKcD{0(!3_GyF z%O&UZVGPG5wK?kAAnVvIYZ&1s2MX1bMm#$$@S z!*`2Ezhg#xH!A_eWEKb&bg=a=4Rx9!6D|7av*-4+=aVj!$oC}n7oUjebT2i&Zdn{B zZWT}Bl;4FZM9Jnx0SQ{@$Sv#Itzy%kSRO2l^O?!&wIDyA{-BGuyj+zIaH{V78Uy(j zQ5Ix?8Dua5s>5!{l}UaJs){W}uentCSLl}BQY`EZXvAUQ z6=y$NaKB@`4S3c%c0y_fZ?Fjde%KFv65<|}sYc$OFe@_<{5^kaNiE8iGO+dhGM#%n zollJY*0;_uolCuCz(~jw!6~5jYxt!5fJVV=Gu~k#0PLFNg;ZsirpB`emkXxBvJ>Xz zjvOmt9yQ6rEn`S4r&>V|Jq%rp#yc`%%tCy`sX^uz=d*he!2Q`>4dg{x4#8DX_>up` zcM7Qg0{`S&e1&oR;l%k6AliKbDF4bn1EhapoB`Uuyjibc$<1$2bn|#i0NHQP=YWVW zhI2s37snZ(>FfF2yZmeV6d)bX!a*hN;EMRL98~?Q;Gx2u1pOFc79jqad;$pn3V+Zm z`o1Lngiq@jZDyObXj5UV{ghzVTjUck<4u++v>>P2KEBYs0KoqQ%&v+p&siWWa=*mA zxww0LY!|0gt7-7emwV=ab-n?LodN)I(blMqG!|%oY}A{z#8=ub5NM~W_j)3#YunM(wy476!s+e2E#TWTr9oYk~bot zT~9|Ce-KLWULX$(*HB(CNAxc)TzLa!SNG#M4hYcr=vdBEo8wXoFGRk5zFNcZ-RT}r zE$&!tz>9P(8L|7t*gtpEX^DUV383e(&--e&PvjaztTt5C5y*MwH#*ZxOwg;NKfOv0 z$Ur>b#mMc6G&FzqV{Sebeo+G0`cQTkz9uiKNV%!vm4|RY48MQ{!oa9z4}EIvdQyg- zzWCSAw)ts9=`qE}_{&R#rx+Q9!$J&6MRP4Trm!#$pF~=pf727Y+hs)gzZ3y$9>2OSR|Wp4hF3i! zaZ!OvlmB_cSU4&_EPet^=zlbF*B&~wpDwDsEz=-D$A(DwiTNygcMfwaCI6ct92((D@~+`GwfPTw`fCxYPsQafqzQ%%AH@2@-|Ta z{L!Fh16HU_9kic;^qi5T4r2n3VhOgJB6betC@m~4G&k#|U_=h?lpDxmG9|xm>l{^H zmAhQ!^GNlP3qu=EECXC^?LrwoM#zwZ${CA@V(QCP040kJR^<7x<}&W2biGx~2{AU? z`0I+WVA7!Xh(?K*qM`^xE65`&Fv5bO)PUyedVYHEUwV7e5Lkyf{8*}+iZua+lHmcq zsNH=BeCqZ;T?2I@Wu_u+GNP%gD*~%I_Jr{htxC?T7{I{DN-nQ1D~3Vg?P37g*zMqp zD4>eWv*JB{2vvfwTwiToJXk@g*M~_K{yODM5|*t&zR25^ZHec+1}vL*&P!gB`ePAO zb12&=T)m>{&ymxO_JB0)rx+Vb483oC0?h!yARw*ngOY+7HB!#Ys+Bz*VKRL&_Finx z4SeBCWt3y4-jm$qwm&9z-9-Bl9J>eidFFP@10q(*7XnsEb8ar=quK0O{Mb7q+YwVN zt6Lw~;BRF9+B_+ThU0I6pR+NXz_Zwg#P_L8YADi1qUphN-D|dMb(V_e`%LXS!tnf;I5KgpwtDDa8QK1Yh?&%S-X z%vi(nD8uqjO8D>>ur26O5B8qB$$ok?;LxdScL39i_*UH9@GT$f@T*!j4}((KU1(`& z>?Q|RmC3`!OQ-WOh$F_A{77g0XkOFjTfe8EZ4-_upe9=pkU0T&R^qd^rO~@=_i7w7 z*n!Ew{X>P`=ZkQPvR9GWq7XXd7s$9`*Ao~16#S&VwryD$sLdd}YQ(0C>TBkzC<3iR zegk3u1;%(*v-7Zipb1@x-q@u{@LQj$2Zufa5SZ`my?w8UD)P?-?0?>TdqK(dA7}o3 z3Jdd2i7#9_0ENDLrmrXyMM@B$l(MVbP*}7%lJxX$H07gBzWj8o>e(6E)A zlpQr5h8TUA2k7Z5qeKxEW*8e*R^<>DVKY$ZZJ8cp**7djKEo1tz!AN&QDPsk zgDrv-$J+>c)Z_XZidYf&Yk6B<8#O%@5{oJU(Gg)WZys2?PywasRtyivz^=cB>)vWx zv%Er6VlW6t^RdHN6|7cn5slCUBQ_oX8bxb7k-h9g9SB-set@fZ(IwhAt>aWm^2pj4v zw?N+4U6tUdkmx&gZvfC9+@44#D($xyd}R*cBPA3B)lWX2f5qVY_-|B1iRS1odfA`*v$Se5O1;{)Qp73QF2i zyd3Yod&m&>0lynj$?z2cLsI%w$~V32)44cLU3?gh7ybZ$e&c>tBZwI|H^= z?YWn-hJX$Z+LZ?bzvXFs;*&=A7+@fODXm&1NtN)6kfU&c;U`43==iW3{g#zB80wxT zDI`IyE6;N9T`ljuF=Qo0sDBXh1KIQ}@lX!=C}CO;)9pkLDNt<%s&B(aE;9^31o6Y$ zqL4Jt?a%$qaSb95i+}9nV0(lVPt2;Jx6l3QiRr5Q{G}O5nuR21^DCL@eaQw(%lA`> zXAc=WH(G&`rD%8#9fO!8&%lhn&Rys7)|_Po7+12+TXZp0EaVI#$5%MvMu@l^b~1_r z68lC7v6wO=ld+1Z;4rYgGJkOKRLQ8A6J3|j9Kk3j5&UNhFpg!oWNTL5&r!2_<)YTO z+$Kq$kLXY3Li|Tjq+ndaKfPbT#HZyxW_a}d=T+c@7&0RBF1Vhh{OioXJz%}oWQWNQ z#7%#UWZc*eIGWJVadLUNG53UobuZI2yR0R$9p=Akr0CIlh*b1g#P|9l5FCBwM6}w> zw5um-detMc5CbW?<6eX$0|kB&ym6BT$mcw) ziZ`&-6E(9o8mRY$Qr^KlrT|_Y&jI8m8jHM8b zVaTAuoR3Z)qUydfi<*YW=f__`c}EAw+x^6$_4c+2asw$!K(~Q;%&@OeXS4@J*ZxHG z0UJ|vIz3#6yd}p697+h#ER0*x^R@LeHRSX4gjR2_z~leb_v|raG-q}aDpeH5QCG^P z=n=&P=yoC9$-jFPK=Vqz;=on>x&fIK{cu?}!oYSNh4sxaQM73s#WPb{0BLLjPMmGA$g>T-s*$FMm(F4PS z_XPmBdhs1=dSrWHx{~BDK&n6Gi}noqijlp65%A`_$YBQTE*Otp3H!TOHdW&V=#pkB zOKP537^&5+?8z1SF!t?Q7I3&n8c&h~&{%SyHZb@YJZIPy4cdSbBS ziJwDb$H(RDKx<+bGQ%W_77r6?9`_cr;CtCLa2kI-Bm1jY8b$<>Ug!@Wy4El`M`gZL z5}L8I48O+1)rY9vz!2|wB9rI}2!9-*b@XK!izkr*Oy2stLPM52Q0IjwxRI;%)69!P zExopn5Gz}cYl0Fpf-~@fY9GL*keEHT7st5*{~W!FVjtuMV4K2Uk9Q?w+CoVJZdCmGgT@f15ni zUz0)5q>$(RoFM+lbuD&9`t5UI0AC029KZdWNm2>wh|-x+O1$4(K{&-(?MElT(omZb z_~P5YdaUh|h7JXQeQ|JGM86lGXO)?6YgI%Qo@K>9uybQfeeg-=D@;(7^zBfmI@D@{ zmu2GYfnRYtIe?(>s&jN;mYK)5yD$I#0Tlv=l>Ws931-SD>7Y>^6*H^qOEX5B0R`SE zgotG77F|(y&hb52W*-P9D(uaS9_-c^Og|o??KY^dSx-Op34t}BJ`YUpPapWURWL)6 z>CU#q%z>7I(!#n*{NOn>OsZWDXG^knXM|rIOnD1T#Yk8eQbaEy+<ciatH!D%$#@mh07a$-mRg<)SS0wP z+lX>B2;URdY`n;sP6=2D5{KHBSS19Hc@f1h2>Mjn<2-F1|9NG26Gvt9b>PXV|Mb_c z!|HyG^Tg!8<*{GZpQJsK&kQ_Mv50cSQ_4cfXh4$ES^$F8g zg!lZuO+$t85HK+pNXhjJZuTA7HZy`bPy#eP6a@s8aEu@jaW7w&twzyxjY3M5RY)ZH z{&Z1&CE+=dDP=mf1X?%XOpVQ!uk)(3aN}6)GH1EF)Ovy!4LiRY!q-O6%0YbePb>4* zgqW{-BBk0nl^mr5xp;<*e-W)IyaUymJiRiKaM%F=FlXE@l6T(k3wEyX%2W86`z5cb zbU3NbH(NS3nGYl*8IUm+KQVY~PGB)c#!8s2+`Rxs0 zT)B;di($ww2xP{`Gm?}W=}Tql&~)n0@82$*rydb=YE}7-+%RzLa4>Xekb!mlnq?~W zl2vznNGY-rPSfKNDY4Y!dgh-IQ38BAXGzNQXS1hQ$K)YqA5&P^NNONHJ@KmPd_Y4!Rq?FTPJSnFQiMUW}4g!Gy!Mk zrf1CTFtLS>E|?jB?X~jFQTR)muAQfa6dy(rXX^S_p4Hdt2N#fcm%bHhW$~&ZWivv> zlCh?$A+@wOKxL;Uh=G*8qasQELiW2pvsCWt+!tXfYZ+_(YDRsxcwel7d7~xm&2y1v zA$;7N{E>~*P#R%^TN`2L*zNZF<|M$|n|~7?2~oMQUdMd~?3mUck=uWdh~S_$GaH zhLZAe&1D3uDEzn7ux^e{eRZsb1Y#`(#A7rSVJy%DDhq@Klp|u?26Xj+V-JkSu)^>T zA<>x`A4ZkN%ZRsJD;96m7r7W<*rHw{%2WaB<(}@wYBhTBP6R`u0W>2JKcC;5YO4+s~aF6G2j)ThX(O=f8NEsY9FP&21;aS8#=MR*k7Lw-ZI_CLPpjR z4-gIs2@&oH7ch!ZPr4F1pj^mQdDRLDmyn^%UHbUD8QW8d=YWDpbg;DC@5LR8v`3sF z72Fm0G|lbwMiK1#v5{heW(>B32h)HMW5aoJ$U`i=5PUv$GZ z+Lr@CkA`Bo7EfF8VPtLBdGDW_=(N4{FZ}%HG%|E@Ka<+gvqn$r0Md8Fvj4^=5heZk!jKp3ana@R%@W8BZtNg;pFk&MCPhY_V1Ow zAXUrU7&f(njp6?WgL73)lNUJ*D#P-mEiR$r)+bd#R&gacfuXL$J5{4!i1zX5?7^jk zI&|jYucUNf)XD7!+kkDkPu&aLDB299UNmXa-$}oa|Gd4U3%8n#u8_(RIzrpF!2%4q z+$2wGB7bg}4cJe3Y1QnSA7PxTHD+&bIOho!tHUTj5d{!O>~Th6r4^-WO-T)`g($7i z;ir@l;rq?r^qPJ!r+aoTO~}f2YiEK7auT8rV(!Cth$p!)2k%E?fW#DKFB?35(#8d~ zO(!4zNsvR<9@HEB zg#)4I^t4k=fE9#m?{OEHO}>5Se)ow%&i8I|R~}5-?c(zqA5EtPwy1;U|M&j*W7@}N znWr@@zv6`!hop<8c!`a$|$5N;u_T^H87cwNqg%CGJXo!g9b%1UjePWgQG{SvMA!mZ9O z(`J@9oS{p+_lXP*HZO9WCC7>_p4|NQ7uhcd6WMYPPm4csHN@;80U^?ei}WlC zsp!~v9}`H%C1k0Jb#>?A=N+tY z3j*g_i~qP4yL&UTD(TpUN&x-2U#wJBzotk})k$ngeQG5_7#^)!o`RtR!uLPOB$9|9PmSfSZ|<+u0b=}Lf_}%A^?-eaXIdPkEbjG(jl{QA z&5e5I@EGVlyP`|p@NC z^GEm%1QRGl2|E!wL-KRYce~<^SQfojoyu;S!$Sd`ZJtbTj7Qrk3|e(C>Wl*ydJZOk zGarQnZE|n47eX?$ZpRC&uH~K!!IFqGPI5z1N)c*oR*+zEy{Oe+MRb6krp*MzkLd-3yz`eXA821en>_z z<-VI)2T1xXqWG(#Vxe`BcS;0gt${F!bjIo1CFM^L`qNWm^dU3Vy<_bz5i&v?qndj-}JyxbRAV?nQ74bH;5Y$e|UuyO-d9AJ9AK7(j;+U`CMgzDGN*iCT*b@g}2#=Eq&Hn zT!xhIi#B)TEOnBgL4}M2iC}Up-V#=yc`GB4FNh6Oc z7Fe6|*F6q6gbZ4M@K*8GtLqp)H;|2qD3N1rf<(;`$2bGO6Qc@sq|7L@L%FVugTpPNs&KtAWCGvC{vGXsH1iJ3q+kjP3bhqSujQ!ghE=FpDN8ce%qH) zZPy1yvPy}Em+sJ^-$YASuW9g`BUt@>yV_R{5^2}cm>C2GA|TY~7T{D z&-hd_vQ|xg1CBcTuM%h^DO`W9Ciz(Z;(>-pgw$PmwQckpc<+Vql@e8~V_bC>?9p){ zFV*0npWS*K@_rr=3UY?r^{ccwVY11!iclO0b6YHvk`Z$)U zzzB6VdSebj)3qb%&s;K&>)J!Ec2B^=;#s_LR)zG`C_Nxz-p_0e?NvPvx$&bMjdZt+ zfBIK)K|MnlbERRUPiQxKczP^mc8EJQxK=d=>WnOHpn-1KrNi+Ddj@+NsaWFi!}4ep zc}A5O%s_Y4sB?G}Bq`*TIJF&g@r{z`GR(>kxI%c(um?$dx6?U=>{4&S5Ji!0Pkuqe zl~Nh4#Y*Mq%ZDSZti479UinxZIwX*4yE92OW=}+lMX}2>M;{#L>QmY_O&)fT_mR{> zU`EA-j7FGQHoi{PjrExO7rPwDh^ccH8V1B691f|ZSGCI$-xlI^le)s=8$HO3M%p&y zMcb)u>RkW!f4oN2vRA=(qm_J&Hjk91%wP?-Y4$AgdrpY|tg)_k{49 zK>iu>m4NS4(+e6i*BmjE5auddC|?j!i4t)nb(uR1_7R{U z;nbE&>+pkXwO{L$g*Z>15*5a{C_?FiCop=(-@7<8bXRfY7U_w1Zu!7uDbWU@H=|Qf zj@xcEnj`*dYKebVC3~x-I90e%p;+`>d%plVEwX74L^l78wvT2{*=prw5_;SGp);OB z^QhVBoQkmP^Q5z4SN9fGGq1`;^>M3?SAA0q*5kB#w*rpfw#PKY%B!}F*ph@OzrgkA zRKXLs9~9oL#h&jnTtr55Bf&${(L)OTN$2A;_e0t1@-Yjqvv>XZt29@SG) zEHhf(8Y2U&yJN_01D3ttE3=TeJQ)HDaSK1Gv~(jH#*%=C}OBpGW-<&teshW}a59S|g=bu;7<^Hx_ zo(s(;ip4&l9Gurv?+O|tqf#=P` zxUP~NeWJSpihREflZ@HRt(-L!*gg--Mvg>gVKrBke|ECc+h}!o2z*Sg>!J>B-R^B9 zR&U&QXUEAu0XjL~L&8EyNaeeKo_3_L7hAg)7#m61c{$v{gh`H3GgNcY_0T=7Nv^=! z8)3C7a%_b=APCRhKG$L#|1JGnnB64qBBhOk$KweqMDiO&iDgH3#nymn51;iJgdhV+ zG;fBFY}QsH0xnQ8pCyHsy;$2G-@6(enk9B1uG5`V4W_fhQBq=V;fiM84t8vl=hytz zFf`huhL2pOrral5J1%UexR#JYCYvP14#h_dTRa9cS%kvoBEFVHxj3$O#LBT|}W32_( z08#(o2=7yD1s#&k_s^}&+Wor&gLsdXLO9cU(Vvl2n9m)CqyC0tF64iw(=-Q-+!%VQ zSO^Zbi3Ay#Y!98dXJNFojI}xk@kFW`$W|n?-^37|`AsRTufw9_R%2oVU;HaVE=@Zl z>WMivD=_C1HvOe+e|bE_xW75z#}tchPt=*?L(5`7?lL_f zm!YsCU7OUU+C!tA@~euP=L*N7=T)t&j;$2G2=q96aSzyB1XYvp+V?1nGtovs(xb?a zJ`uFuQrJC1xDZ@$Z2BKN6lXq`IOWn=6;@;0jft$oJjn&?7OmvqnvX$^oo?Z69O$N* zw2QoTJ*PVvv`q+&n}jH`8iR?}&xf#+4`zn_9430~gPmACGs+NDJ^02Z_4jx~Ar$eC z`Z1beq`#20=Zkr!uc$6WOMMTJltUcZx+lV;6wfq@;@7ry@9B0QI zEz@)^j0l(z>Wp@Yx+4|5nyL`5{)kPxj=>2KF9_X+=dGK+eDwQ>&5QM$S;L#N>GolJ z8=9%u6p;#OOy?Fq**@GRaNW79RV*my5#-1s3!TFkY!l4l=rr^hWLh>Ecen$JaH#uC zv6^iz-wKRY4_yyMP+7?3n^K*(nL=bAoe#~y&acb6q$lKFfdyZ)qM=;u1z4*3H4m_)5mrY)j!reNKo8F^36iRWk%b8h95O(mUd+}2pUoYdRahdXH{i@sjp z$3B#jF?_9Izcxg$+8WmxdAO?N<)K%odz4!nRt|QC^?POpHXyPv)>s*FNqydOcZjPl z>p_)WKVN42h(<0mE0m#gbN(i3xaP>d+PtWV0@YevhrA8f7f}L3l~JB?m=FDmg#8%nx-Ee zfxg$1T}0PIR3y!&&kTAON9hVk zc?DIcdBFf^<8SN|dB`S1-qDUn%5|73p^vV?VZ3Q<($drxXe10NAY&l1m=LQ}y&@p4 zHw0_}5o#|K6uDx&ka8>2!Mj^fUZqjjaXvj2k%!gUYi9UUmr<*Nz5REx(pZv8|859V z*e;mFsaese@lRbO_zAxRA1r@#l;#tX4jS`6%uM@Z0|pq}VR?hDgixubPlmq{|E7vL zHSBZ0BR#P88#){=7y9(t8x@^r&P)uDlO-#J-7&vl^WE3}t{?rQM0)zI37D75-Mr-1 z)%Ic`(+#>Vv`?nAP-t?=2rbFBl`yeC!S8q2mW7_`vk24eaM1ONs`KQFWV?;r@7~Q` z!OF7EGE|0bMN{VG)t@v1Nh+{PSRHI`5OD(*b*uiu+`rfQeE2ODo~LZyW@}2NHzZ1H zaGjLIPqm$trC+(@HlN)v9-E%i;W0umqBBm>457&6Q25EnD&fn5!$A1hLP2~#)8zxv zt~8(p2?XQsE^iCeSjiuKs0Mw zdt}P?@^Iu>){76drYwi;l*@=6m5hO{oUU#S2+0rmJ02Zg*v>aS2E2iKirLr9KxY_;L?b`aTI5v(7SX5RuxuS0(yUR95BqDmgdfD%D7 zB~wi82&bo3O2m#t{|`a`hZ*Q|^IUhNZ2swU5<6k*ulC&ar zotBuZPRyZiIljGBx0dIu1-5R}bsC6J1iHww58)SqEz)0u%Mc>f)>k9kO;H=`vdnE% zoZ&Tc8Tn1}r?6jhLDp4Y;!yB5N6moEw0ypHkH5ShX7$`};!A-4BTW1cD-zQ4T;Qbs z(;=?x+Kj%blFRy#;+%BSFOYxrrZ8$R26xcTufUP@cdm=gE53E;3=vsdAhMJ9mR2*% zo4T=vGzZOe<;c~Ck1z1|gEHbf{ScJM1myz`6^XUB2bggz6GT7cT`dF{D}RHeGP9=U zd~YgJ#%j(zVTPbaoJvYvFs&7u8^UJQ!T-b(2aZbYMDff`;K!FsQ~nY_41iL_2y+lm zL2!}W10SW9@{IANwL3#POZ`t7bK)IHkm5OnBbKJz7o@hfva@lH-LK=XXiDGQs#+&R z!2A|n{0dGGFAlWLICg5g#H22)pO;IWEp;p7*xzR3Ua|ke^&%MvrrH=;Xp~oUOY;P1 z1Jfkmu73{xQhVO4iL z#t_woN!E*bR`goy5Xiq*pAmDxbMj$Lmx}(etN82Wcwr;!+}BS!7fpq!{72!KiZWTV zMgO8j$Gfy$TfrGRS~!z`2Itw2TXNMTu(@{gz{A>0s%FPDm0(3={6t~c*G0Y*e ztJxXH4s%Qc+8%owo2yDgs_ctLx}{g9q3fx954|BYwPOx&v1NWmv#a>E0*UQPJX!L@ zNq5SUljTH@*u@hIzeF}wb&Y@4J>>2f+z(@gs|_MZyjMx5$m|d{No9U4b(7%jpe(Ho zLKZqiTZ(k)K4E*RU+wXgI_PC!$;l~2Ni{cxpF>Hn90vnsvuRa z*vWU}FWFGX8cnjT1a7jHBBy-}+lc;JwcexC=y`a|CJyu;##O9@O&fv7* zevJK*cgvOe%P&8#U~1MA3$~tMTE|}o-})&yX*R6G2iZQCZO##{}&gB8U0DZ1JMhP_$n_Md)<6Iq$v=;p#IF7i`m)b83He`LY&f*VrEbla_U%K_Rlr_^HLXfSXxn6QM=8~ zu1@sxyIDD}kqKl)kz81fTUC5EC(|wRp0d)iB5%vU=o_iWF35{>^cWu{6@|&1gNky_U zKFP9!;aQ(>;D4Rwf5PLp>fx*_#_n;VuAM~!C3q~MAA$5EOZx58o{=N3h1YwFN)s^V zOd}Mqw63BvIkcg1WDVUkC@%PqQ(Cy!fz-5 z3d@4FVKeye19>=)npfSdJhGKSD$cco*GHgZ$(bLn)Gxo0Fhj4AJNn10>J zVgDzurpsiqat=;!4=zq_o*yJbEIxl?F(pD6`;W|2gi{3my}4t8gSz`)77ow<4aV9G zG@JI*o&`J)HBvuy5RrMP2EmEwCGXQYmus|(?aI;XZ^mWn#NqkdcN!6)J2Sm5AN4dT9qKD=~_EcnW##PoV2X8l5RLKWQwxK zyKwh@=QghH7b?Pyom6nHO+X|i#h4~ns7x4823`}Fn8%lPhv3wJ8ob4ML|34t{<}YV z9Neonvd5MS2dkE=VyJ!6w&MqD;6X4oG^E-A7W$_2jsWuwlJtRqb^<3s5&i=Je13w0 z0#W_@&)I*5Qna1_;sP&w^@Fa93sFl=Un`=bkmeP~P*eeV6o+KF1v|pY_Rv+9&6hN8eP=DPUTAZ_Y;}^ED%WQ-0KH6`>iWMqw`)#&{GaZ zl{>oy@G!R`VS_V2PMKd}LK%$9$Sf3`Lfl&+T-#_#Ip|GKz$rmS%%)4Z>|h{W4O)t; z^$l3Ed=g*=PBaP}Q*s4>`E+uSgl9!E)WafK6v7I$myej^R@0_^(_<$8((UQ`&><0X zVt|viK|=8RF^t+t#tl$uiEyv)vu37;7Y3QCE3NmteP>R}S=pDD5% z`uK-n2%Ep|p#NX-2mXJ@Uzg7YHvT0gTaRzg=W8w5p(#Q= zM`3K6(X?#fEn|6EYN2JtHC}26uLjd8zXp z|Cd&?bg9QmTQrYparfanm4Rx9x9OA1ofEj;!03^NFSwAYB)>7UmTJfk1f7Q>nVfAA zU!v#xVF4lCXSaQhzm9n7tEbcS7fr*u?-wpTy=@oUX#WzBOv9GZVYL6$!DH;iWPbH{@85$NYS`oRLue=i&6P* zU(U$s>Adc`EgatmuFHo#v4XbnpU@lgU%6nNKZxQM#GNVE^k z58{0UNns$-beINyKxX?;j{YBXeFan;UAAuH?jAI_1}C_?yM^HH?ry=|-AQnFcXtRb z!6kTb$ZO!Axijy+SF6#6Ue#5n&e{93qVo75D>NA*&7)2Zao&ff{$o`A*ExeQ5Mw4G z)Y!(>CQcU*GY(|eJ_9yIOu&w)>+~ISd!IJCGu}_z^k8<`&tp`SLG^$eRcwX+hqS_x z)Z4-CzL0&+`)?L&_2!vd6w*;16n z_4D05+06ad=0;7%FS9Ge6t+Q$BK&sJQ-wUKu%1*F&{aRQ!%K0Kd4d(CixP}PYc3IO zc_~c0JqWlo=>BH>at!-P*6k~7E%8A5C87K~wkFcH8qRJM7k^bJ_fnN|-`c(=(S}^s zQK4Jm&-QisYzDvDmKYHa_7LFQp5zH3_EB6iSNVq-WDMTFi|5@t*y}Lh5R*-QG(pbo zG@Exe%a1P1Ao#C=*kD7v2qcGw!%9G2S&dgPG9-OPW%l<=NpJrFEK{p~cqO57T0xwP zkUSE?j2(t`8o^eHA4fpcCm8Jz>3Vco-+o21bmQ}Y7et}rLdrfmc3F{M5eL-{lc@Nm zo{8q=$ken#0pO-uzM@$o*r__roXDFOiJB{ZU;`K0B)UU9S^A@f^_}NKMb(jE5`_sE zMRUrQTNlu!2*}n8#_3awV-5PMSOW3NZK@KMaVUktyHD`rB5l4Yip3DLP$={vGumBg zUr30kf)opjaQMyNTcEf+oTP0U-Os?Y#`*Qsy}ZfhNM~+l4DcV62JrHmMrUD0S|?1> zbWKVZww7xp8Q@_+ip4B@87qTUaWV3iR2BIwT|~e9d^%hMj__kh?T3QnT2Uj*|?^@ zuY-fpaCpqTBN2UQQa($4E5Xh>-+kTEe0Zymc?}oue$S%<0ARqG8WP}JAM;oM=J!9; z&D%6%vSV)UyIH~*P|`14QKCGKm8iV`lC`NbT}Z7$({c;1H}RGWcF3<3MAwgrgB*!`&lsQoKP4UUv#IXe_Bj-1`D^m*mSB^Y*Q8 z4u!F@L@P*qiTs~7`_C6ik1Pa~SJ)%-Dp{pRugXf4g?-Em%;QfQK5u zP=34qGg;jui9cy58Fd7`G}F#4?M_q}H4${>WK#=`HFvlmmaZ0;*&Msvrv=<(muBVA zuWCL(5#)-+$6_5#{(ImFsl+mb&nW5(s=>o<%Wilwkq{uzRbj_sWlKtVU(da=3bgz>6`)N`BIKiHD{9W+EpT z{O$3%srKNP{Y6SfkZQd;#QG=pKUsbBYX@}fFd$)6@PHh{JNm(FVpmyI%E`-c=YIsL@4Y4IP&>Be$9Trkz=!mRpu%4XAgiHEP(e`TG2|hE z*Cwk36mpt{5ESrE!e2OT2vI-kFAa>hIs!KTqEd7N7$7zQfUbi|j^voi+GvO|Ba49Z z+>)Q^H#Gp_&0yU=W-iw86%UdH5jpyapbA(T4W%hwz?^^SmaqFWyFX(F10pI$R*b+l z653`STOy|<*~konYlK>aIrDODb9`m8 zsOj^h2Xk@OAh%gun}@Mn!4r4RSuCKEFeC&Z54GF?08D|>)sdry*-AB@uul7Y0tccv zAOK%bmS3S83EhI@3tUCbV(I!OC^tvKiGP$>bwiS0EKsz@HeEZk@`cZ}L8bxxs357A z#;SoogEP2gTS~`}vWG49GgCI80<=8BC-)rHcN%tZePN7YY2?(<=L=X2>&{zLdB}tY zU_q_@L+#yrg8epAz_}%8)ISu_T1Rcb8wyLCWeqF%thnC?G8z`IQZGx!1b*jfyAkQ< z{6q$7h|1DmM0&vB7)Is1lF{VKNmnYpp-~3T=HR;fgStTdtD+)@(#QGsLbmE5^J?`4 zRFP$|y`e+S42%`fgfcv+ErMRxHh00*ctdl`786p-6u5&cV;nZ7^dz(3`|FU;8?=_* zI;IoMd;S;}3*ATz-?~xIwTDI_2G}0V&sP$sV{^mI&}(bNlh~~U$^)ueYotPGm#UhA zvJG*vzx3rSr6`}&DUnx%;1aOgJXT%Acda*panM{Ld)>4!V9@Oa)Rb{1K)M3_M$}k1 zq8~>1kG&n$$i$e$D(AU(ak3ghO)PioFfhLy2uShRd2uTdoJWLbIZ1^c3lKc_=eM!u z&!3APS)WDGHr31L^epTZt+jg7{cJd^;vPK>RkHA0m*~nmftIP&EX(RJ^sJ;8OX?Rw z`~?D{JYa?@e9Y3`f*q?TEBuo|aFyJ6H9(?KV~h9G9J7nrhTJOVQGx8YS!>Qwa{KJc z0{vkPRYvMHmQ=EyRZ7#GpJre43HIda8Xk$b-HhM~0sYhaHDwfBabe>3`pP1*VxdAo zd7*)6NOT|YD+57@AV_3>QbNTg6ZB}{N#RcixFW@SrES4{lI!Lnan?_Ao#p(KgB<-; zC;W-CN@D<>uO^ITI7d}5oIknAWtvzNKTci)!;l7O$pWEUDG#M=8OxbZE`;hZK~k@gy6({?ZjjK6^wzbP$fr+ntN-z-1uF6&`8)fK^&FE zSQ;fUnEIQ3GM+MrlHL!VZsO8q)V#vxx)Txm1(9mHE&-Zv0<{Et*Y#=y2JRVIwtex< zCI&?~CIH+J$aWLsh@;6MFFWstLfzSO!Xm zg1ds(+I6$-$>#>}P*xxmvagRhR3l7z@m<(dFn2`Zo9CmOcV~G6nD%HXxk@b}srU{e z-YI0OSp;qvZ8uu{u%RI17#)dYfM2MaB{}-=Hf+FvVS&vv5@P)AARGf~5xfn=eMw)_ zxY6~`oJoe~!<|u4X`0?J4xS9$ahXqW#AdzLxz=2=Q3o;w8H=*E>B#kia~;4VnM=$s zd7^zKFbq#8z1T5}I`X|19;O0MNyI2odAkTwPP(YC;j<)xbt+4{TkP_n)1Oe*NH_OO zE>UYY{??6B*2WKeM~;krd4=O&L&?~a`hH=)NUBOSYsEx$mBrjcGEp*Pv)nWs_Vx8g zq(e=t@QOaAcC9zxYM3jI@5OY*t_TH;vruR33!ACsBQ37(u8r;vK4=*{qu~0MfLxSo9j_4#ZmZ>>7GZik?pQT{$JMjZlupk)6zT6^}f!O#Gm>l3IbRbNg~* zm4H`+trv(QIupyk2Z~E0UJqh31(H@nH0iP7N`_PqI-XaTWBP42cS06gPCU=4#``mV zl(v~H%~z_tRZ{9t)Ud>=T+*N&unI69X}-Ij6+$=%8|^S|auRN$4Q6xUqhpL!17ax* zdOc?BDW)eKzl4V)gxW@pdQ|4&Rm&Hn@`V1#Dw%3XfxYdq3yrd)(5}2u%+J;{w*=Zy zB%@WJB;kdJ#(~H!LmV=_CD}8Kx zSRVB3?<#)j9la>EN2AFO6Mgin&Dh=XtO&~K$U$2`*#2aO=m~H=b8Qb^cb^X5>&HaR z31Y$D>VcPrp3oeoKm-s;)yA0JAPM#Nq#yUh*Lf%nCB>%B-b)V?9QN!aJFj&Bt4ODa^_$r7Acs{#8I`e1yZ)n{E~R1}B>@OGQlwhW z+k$pKN%8C!s+XqY;ev6rS z6&qJTkL})}{>%RQ@>v*WU=1+kg2K0g-(8{;pKfR8N-*)1{1&!ZwYOHYZ+AXETcJF0 zV%!=hHX!zc%ei=%o%fH)7xA$MB+f&|KR8U2YQOewt(ypsAv6iUp4OICDSMHXeprPK zVW{Q*tp9m%U@!AHAOSq~Kqj7h&GWZvf%trb-H$a&w~*ur#qtkjqcy@`U^NVuKc zOAxk~bw8$9K~hK3Eh+q>yw4XIvS$+H-Me;UIe27|;=c#V5{h~Bn0 zt8l=h(k!Z1PcHH*F2ZUGgy#B_`bQ9agyq>2oUu8hg(Br)Fgf^yf+vV&7q4Y-_?P2N zWwLHbrTlV*Z4-U5B#W0?1UnN+%?>){O}CD{{WWd!Zi~moArmijxK5$9Fz4uly}OCi z6VEBEE5T@!duw5TJI{3)f-@pS#wvH4=dJ582;dF?I6klvoTOv>6*zm01Z5G;{qmUX z;sT(gLLX2mJmUpL(o8bHwQm3Tk!I<{=#04S5npxjspDxD?BW+bZ=DayHOfO6Q6te2 zvP0_FnDibYF0Psyu7}5$FCO1=Ku$0KClG+AY`phw8Ia?7D?1N3{lrJW@%Ec0sW?Mp zOx;Ezy`A-TWI^Z)pD-|BKgr|)K!*(yL>XV(xg2_yi{1d2+xia174+w@j7O`g9Le~R zEv5M3u1cjYOkQJ`(($-8oAAuswjFop#qz?%U@VZNFE&g-R9O%+8GUAmC>+lfG*(!3 zNl65uMbu0(oG%Sa&i(jhToYo_?Qp+jaw2<9iFXoTc-z`ScMcKlly|6!;wov9aG2Q4 zePBlxYhsRz@uL!YLbpz`-7zUElKG8v1htnj?B8i_=uQ%7a$eYQ7S!47FV-?&j9g$; zTYk#1IQ4v@U-1lbdvSv1`8D=nIr1zjaHnCiS~VF7~e*> z;R1=Pg{k9d5~%A%;r=Z|JX&EsJ7PKD76c@f{9v6Q`FS`9GFs3jO)pu#c#=**)Ay!w zAQeg8(m(Tl*7a@ez{}#^WYgnD)yr?!zdxr|?U_&Z4rpV+NCnEmiZawZ zbIA+z6vHb#c$s3V{e9DIAq&YFGC~S4sDS;Y2(Z7D4$X*t5n%>I!YKDQr(Gy{@U8LzFnOZ?Ub5aWgweiSmwaN&mGBz@w)MQiq0RQSFd z7It77;Bdev`{DaQ_(#ZL)dOx3fZgoWeVF>mv^JeTel$Xtv{C3&5(B&J-DV~YrWls`}>4i<= ze`!$<+ItPl*n!Mq1k_riPIv|U>zM|_#N<)_X&)70Rf5@AuqG_%^MGF@^m|yRlxGYQ@eX367gP1Gy zq}js+?zJ5(=nrPNtr=VRIBnhrLLDBDN0|v5_428O>DkW=EKF>StYDa=gus8c1)m9T zhJcMUYv5^uNAeRVR{GAu8DM5+WMyDsa<(~Sj@z3nr~ZlC<_VEf5cOk{_-?ugSm6xN z^YLc-D2tZXB=|=I^iOfYl=dH5lE%R=8}KBz>RrK6jh%!j!SB8gOWJj5!^~;(rXo_H z&4Y=L3=>yn!PVHEW%L`$Xc&%7!bY6l7lw=>8tXQV+_bAd1b&T!8L1K}B;>K;0~fgE z6&{6);o<25KfVQ8za^~T*_5-{c189%3^R6 zDxhKTDYlQcF_AJFy%aB)ky0c>lE7)v<4mQEG9;3SD0Cny&=V7qNAS-aW^d1|dH-@f zW|cbpa&xQWt-L;HW^>Q_c?8O&jzIWp%&YOKBb*U!6*Jd8e`&|`2|+Z(dB>BW327W# zk;*MkX^}Q+X++t>nBv;!o4G5&hsv(i7z}+a@!1nDwBK6=(BM_hF56s))04Xw5Q1+* z2m|Pn%Ksnkkmn>8IhyBUj(M{Ee1@j7eD5dCUs;W>g3h(Wza?GaLk^H1{WDO41m_}5 zO>ZKYCJ?N`pyV_^oY#Hi76r%M7TVsv8HNY9A?Wq~rV~?{UTk=bVVz$?!h3pfLTc0s zqk%A5gPf#B|2IOfJi=PlR2Whe*sv$HPQA!WXX86A8(hFQ?-w>LJw>@LMc|Cg@Ny}q z@hSRIfx{tkgNJzLiWekG88XreJ+AR2=X-##%B3DO7Vjj z2E|bLNgOp*5aN}vw>*~_kK43$BNY*PvoJ|x|B$X=P$`-FP@X!mDrjR>RZG!LmOKsy z^kbosV$eNzT-Muo(xAT^O5Pbct0gbKL9jf~((+G#pXlRABVUr{En9uVuN3)^YP^O} zmZ^*WLpel}d03LYYzg3p)|P0Y#O8(gFPGQamLre}JG74e>~mCIShM2|>kC^53wvRN z-pi`_D!a=69B~n$rW$ky`rk|vkTyY0FS!j?CYk^??{>YzcM%kfh(V+ul&B7?*q`FO zTX7q%h|Uz1U@hdXntzG~I0Y$xK3kVURz64X^{E#6E|Wv1Pku$?;5l;hrz4D^Tt%4r z(ME;Ii(JZ7q6u}Qx({3Z8}gI{)(ukvbdEmORdU5!c;D5Xx2o@w0}i=MfXV3 znoQ0##T|&JJbpmm+^v*8XO)!$_Ru>P%18{LZ>|ba9vO{Vk)67|Sw;Wgo7~|e-CU_M zCPTGt1+HI&cWxUTh4e*0(6F5d;|!wl!(dRa7xJ?iQ`s%>aq`^sh}x*I#W2Qy&JDZh zF2#95HIuMIZK8*a5&L@wHukWwpkse15pUAz;(0rE@zJizRdtMWkz-+$JXLmy@8D?I zy@C6$39d(~vA|!Q7kYAc`l*6*4a3`Sm=ryP<)4n_ev7xq2A4jXT^5No8ts;i2knO0 zH+BS$@gy~pMQ02S*_=M*5H;JFs`=`DVXWOjAUG2R;SBGf7n7GP1YdYI~a(rxjRwSJ6zv$yMf_JdqyC|vOmBlEE)9<{*W|LGsx|_B~uzmtZ z3m@<8a69~54IXVp>_^%Z%tf>y!~i*}d3=V(*d&Mt%xtt^`e;>X{UJTexEk?~mG0_8 z0nD9AliPTyM7t2{?wJKm*7NVKQW{zqS8@NxRD$VnhsEB0)KmOi|1NFQx!a9{O2%!* z4H{eK!9at01EG_U)M^p~q`}Y8@q?Lz)7u3X*B6%;zqgAA&!Rii7TLQqx@68N;wUa% zKFh+GC>1q0u<6K8SMGSn5*QdvIuNckgA zPee*=l89DRwns!OWype*##leL5Ha^3_tzUOBWsWNZyxNA$AsKW3|5^`QbHqW8+Cn= zCT*rSo~w-O-bv7U*m#GVx!-racfB7|4{fqVIRT&S@FTyUseik;q3iyirpEe8t?z$$UPLC6Rq2C(m2&s# zh?67JEEAuxIg-2^L)4+xPf;|?^<@i?qDGSb?KQMB{aARJRKByHp-UTieEnAt(JLT( z7S;bzBAO4&}krZl=0w`0F; z)b={<3xC1>;O0_s$W)Z8JkZcjJ*uy$E?qdv>RkU(iIg_>C|Dks4$#PgVFx{+-)F_&Ap6!o(^4n=9b-6Qg#W)qHr)xO z?Cnm@3Ls`ukvh{JHw`Eu^u*cNbEw(Q*I$KwUmJyxV$7P+^k!6*FELbRmHh2}RM$5N zZ69zU^x&=NU-jE8gVMh~rm>2+cED9}9VJjWeh8iVt%kUBlWl~nnX^3o!r^Sa@ASP& z;MHg~eTgJE*!5~Md|wk9w%t!c#Zyk1W5qA)l3j4dQYrw%Cvzs*pJFJbXP*y>$FpM{ z4SfOss#hAR`g;0FfPw(S26d}#?RueAiBCJ9E|lvWR}=NrKyW#El|7-2wym`N4U5DL z7DL5pV@GxX-{n;kP30#FAc45gPt#BZNl}hyw*M>(X_IMa@%5gm#H(Tu>qYgU@u0=O zyYz1M9R+dt2tG3i~moPoLlXmdyFqje?mSZ<>|w zpVKuxUd6FAX5=5@{oWgce|ek#XVufe89RRUW1USXGl`U>jFuXvGI>AWn^39Ou8ka_ z|A8d&*PrI@w~b69qQW0PKrm?QkyyR;*g0uuWdSxH)ysfZuz&C3?j88{yLEG-w{A-7 zzY9|!>Xn`u5$y2Q&62}~d5r4I8OTTPxzVfg`{mj52m_q z7u|x~OFSKlgT(W&p;x>ez1VDp&`sNNjFj2H*>_2XU?lW>@Ra=?n?;FuAawTGzz?6*Bs3a2tZ7-X-&uN; zCunhhdD@n`;<-sI|6wrRl=(L+Z{r5c37PmYbsZ{6kU`wZLB`lnz4yhS)T(!RM}$tR zffMa>!o7&|-i|BnkPhD0oXT)(>(;5APfpplT|&_nOSB4^{hf%9BuklVljz< z@~A;jmhovJM>-#tJCVJl;cGz2n%vjttG<2#aD%{W3uPs25q4*Ay^r6kSR8U(*T@dH z^$p(bu9y}!u+Wemi2s^RftW*hqIlCj`VadNvPSN^p+Vk@ACs5&^`0MfE>$|#FJ&(2 zHtyGJ<3%(-WRAm;`w6^44R77~`Bi4tekyE)2s)WOE7Z{p%MJ9OkMI#b2KzUvR3QGZ z!3}w20SDNx!3_Vx3M#~;+BgU@ulM02Qq3C@3K8F*tA#hFeVg_7-S@=uQi>j@<l0znYo4E$sKR}f#eX>u!qo&Jj^{z6s1!f}%^?#u(ZRHjyVd<3> z(GOK7hvE;aDGf&6pL^Yt$fOjhd&<8ugVDT$Q$Wi+(478eZ%rD-FcwwsghQn*5Gv2Y z_6zV0eCT2)$vcW6=fYesW=l(fz&WgW7_25_diYkPAOm-ZFs(Un#xoer`Bbnx8RQLC zUsk^D@^2$9po++e0US1fBu0CTPTo|y*2$p_mvflc@%2ZvQ&kJKbu&hiY)<<9=NRWYVJjw^06ZQ@k&G&fjLqfapsr&-#P0_>VzQ zHpjN-c4+B5hF4?m;YLG#zhfR{xnTrFXTl=|a*p5+|DzLSgpDVk8YrezOR0P^aY->| z_kauIG*`RuZHTLyJ_^Q*Cm(v#XJc>{B^y69LuhVqe=9ssP`fAc*}P-z%8ze$V6YR! z|J3YZqXT8KnV(#EB4D2({zJC;uDq&tz_BY)Wo|fO|L-M(gZu6If8@1}S1PTH!cDJP z0T?P^Z=RBrq~A?fx8@$ZtDA5MXMwmh1y*&d1nqbb)vL}`gFo#3el_%i?U!?TE?E

    %B(P!1;3@XzqXU{_LB)TXZF4iD`l?3CZEtLuvNHIQ2hi|&y5k8&`(n}qnxXZ0S!L03&J1g*ZL~eOVj{& z_o{a=Qng^nx*y{b2)ZC zJ`JL|;3Nhe@P_kl!etFnDkznZ#XHX)3!6;)XHz`z_&r4eR-ItJFA-0?CN-(WLHW6P ztymg4D=5AsNax%DP{|neCjbQajPEQ}o2N1=eRD`uuUPNR<+>2_ZUDCV^!M)X7pFlN zmU{)U#G%rH;FJZ!e+xnd6O4ztQh3Cq%^H4EWk%k#1p64gMynabSVxo)!F*>g?^wmJEyq7WJLe61j9nT{;I^mr2R*c zWO?(fp_d0TRHLjgA_RP!EVQ_dG7DG^M+E#z_^3b8rk$&MF#1h!zA;y$)<}DyMrWNjA5VC!wNZ==VB|S5M@8>>dX~FhdX1bv}y;&C?etHCd z#WS&LVh_@S;!ZcN(oCLtMPyreR-7zS)5rwvs61y76d3?W0PaT;00$oa6&0&e=kpS7 zw!*?l6!{XBRbw^@=izpO>~6a-whJSSihEzi6g{LsLjR+Av*>cl_5Kb5{7?{HuLvAv z+9C8RvQPQIAW5a7oG2sU5{6d(Z#d@%0rl?2R%FH4cEEIEN)8UWKQ?k6B^hXZE+f1B6_H10>=KvR#3{0u+q` zs^DI~dEMsl0d2r91fCUe2|7QWzW)4k@5wuP#r^&WL=FVfSBWLS4fgHN0Xc7D?EO^% z#ycplMg`x0)RM0k5&+IvVPhHds)Mec{jPxAe6)!H#;iLe|0#v`|D zdczT^WgD{5e5VxE*)WfgsPH473!PvZcC|45?^8STZ0h4fyWg5rfe*!WbLRn8j9xCQm_vORFSu+dT4XjRe=! zU9%IDb7x;TZ>`qo+Ls1+?~l~3a%Q3KMsao_Ogv``w5dR7qMjt!9x?^JA1Hjf@zYfv zz9zJ<@^wGbHI1JFkB1FV5$KNv`0h^)$bnS}tH-YOdAT=#+2(a)>|Cf0A-qs4h4n_| z5#_Kz!2X{K9avQV6Up$F3dF@{hzOI?G?UdoLLtGRYIx)Z{`LDmRWT>oL{k*gwo$C7_%Z?oEXztDT2oNWGI zle^*Ps}Up>XA!qfTN{`BZ`vD;B=YRrr$j}FPZ=xT0$@JWcDPhWM;g4AXqA&H(HmJj zM%{HhBYTS{PKzAH8Wdx5R(->v*IdmVCxSh2pM_|y1Vn|2!h_;I;S3W)c}GJU7k%6S zx>Fq^XA&^y`=$07i=G`%d)FJ*yo#NWWG&nWALa*74rXw_GWt(T!%*lmRAC;5TovDy zz_-(6Wm+wCxXe(i;OorgbFnZIuHsrBa(~Za_&c!q5bK8BrVa<1jB?Dc|G{jb?&hQ1 zB91brlCy6f;XsM=r#=%`32{$Uz(eXJg$8qujkOUq)xpW*KAp@#)>cNVM;y> zlKwxlM=JdZU!-srp5ZlL#kH&7^Vw3_fQ|@{=rtaQn^y(9Of;7R31Rc4?v~?$;`z*T zkNKpcNuqm#J^kOnKR0}doR5dm4g~hF-r&pVLa{hsh4GW@jW+jzBWLGBuDLEbH1IX7 z4sn(HBA#?FvZ0#7EO~G!>msAF1k`bips}XOp<@|vjp`T;G9wVFW4_|&Rj0Hf9peo@ zW0iz6>F^zWvRzlOn0h0x;Qxz2@K~S$dA2><{mxgRye$Q_h>T%@IU-ybH4_{Jg6#j+ zir$@8e2bleA59G;>sSze=7>muJ!mjC?n4(77GWscm3dSMh6jHger9j!Bd>ni-a5{& z-ob^LPm=C^SJ?Gy*Hab`mo~X>%-|6)EDk5t0%K@e6k>SnCE8n6^pnr8#5=aQidhSHk$7zqDuAz`8*GJ8lhX{OQ4WCt?;lzKK}XmjBtciCOxC?5 zSqgI5brI|!KZ4s5*5-8rkRH8uN1&brU<>OAH5S_kM_5YLix}ZYevh*vpUd0F=4`nS z1Jk*3YMG!!^ori)bT<8SFF>+zj;LW;K*jQGV{l*K+_81*r8&}-ptIJC)4S_v);MUk zPaCsmB2ps{54NG_#2$o{R!`1j&by|@zfDZ6u&XUwz17aPbhms z202cD76XEBs;9Y9<_RRrN^Nqzb#-^9ud0S-2Ap>9C)D3mG8*HsF!%nu>}>6)wNR4o z;*a0^C_D6O(L*B$A$(DlGtKcn_;OT^GXt7qB*EZp*te!Am;>Ozf^mpo&?Y!sn6N?Q zH3kK6Dh6!xxjEdYb8m0lp7~0b4$J0hiEz{vsU#q|sM1dL zTP*t$;m~wk{&Wzs7)+^whh+u&^noCZX_{%)+<6M2al z4fx}RiW*T^1D-)>z0O+O5DrP}=C#oV_YzmKx8lthgjUXFM8PD}4G~}vh-C8(X;F}V zNv~IBgm{k#DXO0azVK_n+`s*j6dVEn_Kc{xR8w(92iV9@y($UF)c`q)g$o6{Q-`dT zkO2c(b?LQOYe3lIUT&3S2O!!~v8R`tl%$o{efL2VIs*{~C) zn=rt(fTqCd9RLT~Vh!KVKipmD2Ap>yZ0BEbx*Gu0D;0P+{owmgT;8iI6xav6^>Zgc zB+#9p<>zN#Ea2P`R1arFJgl(nOAtz?_^O49sr~SZ+93n!ANPRiK47F>N64gB^%DN4 z=A?U;KqlJcuH;~1s@(*&j~H^mms-@X=W^y(q+DyT@@SK9uv+=&@m4zl0IxspAp&R< z-hK{{2LP~(orkKe6Pa|0LX#UMk%jf&`d7^8bNngdVnT`ImF)g zTsI0Z*!RBdze1fxfxOx6-QN{00swy|CGaKa08=;TO5@TZiJ*1!55_T7oH-rFeCQ3a z??zL=T>}Sg(%a$Md8^{iJ?ly3<4hxzC8+;u&n>kALpwa@nCe_oJtAQ?Fty{fm0$}c zy`qn7f`;{5G8I0Q)9OnDguHz0Fn6 z+)P<{C13&on(lWx%bKN9R;s|#6giIc^?9OynSMxNUJp9}0JK2GkV?3BLtDG-=HX`X z$Fab@{>cnfIc1r%Mg=_hclnZ>Id7P6cU1q3D5cb0SG_Scc7?J%;DFj^N~2+WWVcom z;sf4~>Bqczy=M8e>704*YaQ;p$ME4R08rqa@`+qYy02$uW(Jie7|VB?J!)H?Jjk3G zx>qBC4R!m<_F?-HT8a#B5+ucRW5c4)lvF{7Uc`gLx&!ua%fc`LJ2nHm6b4EzIFUL7 zHd&y}KUc#rbB1bp)ru91uyCDLHm&`s&vX0lZ>4W<4EU*`Tp95Fy{Om41_hiO6S#(0 z`a{3&SY;kko#cBl-}NQ*)%(K#+EKi3Q|mx85^&?De-X}Mzw0qE25yi5*Jy(2u`yB! zQtKx~X)PXVd{i*`o-OeKok6z-UDlK>3L@ zB86r@%s!z@$l~ol$BS)BhN28b&p!a~)?`YeMU;UF9;*nF7QjGV z&W3_wXMf_c*LtJ-HT8&GmMwpyBM2)*9-Cm^3+O(joE81cr$>Dmt9q?O>qT$qYqv7z zQ12*HzMN8j+%(viY9X^>m44`~wy6U-7<47U3}|meGl?VZ?X|Av^5-gdxqkGV?_7Km zFaJhwiB+aMLTlK@FpWR6W^rQw;AHegI=S43MTb3)&g=>A=^BmhLHTEpo{@+0L`Qml zFfRG%;xzp+!EBlz%zGR0UpkXdK>TQ9H^1s7hi=@W?P6gND&+~3k}q5l0{{p@S5f&x zUwk%@`K`GH!uN~>6aLlj#`1pBU&sBwwl26Huf=d1$Cje!mThbx!Z297GInw?{Wee+eBnDNE^Hj zrKjV7Jn@Ykdvb~rX$NDM4V7$oYP$`Gl&%;vojC`2!WwfMWOS#xcb9w>Rvs_j7T@W3 zba$|V%n!5rh=;P+k862J>NYvDzXKB(Yg=&8S?hPL9#Rt~|MXjWtF?S*n<$BNFyC%l zZpvZ%R7$ob7I#e|aUTorP0GO+*G4GO9c`%e5~Nt!-|*zwv(dP1$prCHwsNz9$Y~HeCK}uNL}5j7MtpeDcQd0I+bsrI zVHLrWmmG{zgH4a(N?odseN;M&0t>L&mKB*eytd}Q{#6EN^a~?f1d|m&%N>B7eiz= zVLioMY0_ayTwuf&^ulXS3oyfqnYOX5^bscHUYm&m8s4vG^J7`6IJ$2y8nG->Xr#1W zv;%7M4;F1+ZxDeN2BpA!R?T+C+H##TwtpmF5e=8Y7_VuI#iIy%49GaIF9A&o8`=Hq z92^L6<<1buS26~UNM)pYoX`UyVlE`T?gh)t1C1Z&X7B{3yiio@38So z?mW2C;Wa3dY9wgqH1=WEe?n>by7^l)TH9+rdKDxfIB9F`^8gg$CSQxfb z3?c7J3DGD2k2ZG37UrfHEeut57qU|4;?+YilAa!f?HL# zO=0q4!Rr%$T~rihns5A@VN&4mzlNt;Q4a&}PEXS(syDSMW4a=DZ3@Q-=uF=1>qzf> z7hAF7&c#68K9gC?wX;!g_sG^(h<~;rBeh=JizIPip)+dJu9m7jjRM5w3*n-g5*7^uFgCzt!NB?q2Z_ zKM-d@c&v%uE8ISpnVtOO{t{3^h8{{^y`BifH8klUCv>n7~lR>Nw zjE2)-DjnyI!p*_DLaG`4+qY@MN!rD^AC)N|SYSk>TCOqqaT$@z{v*NyOmU~iS|}sWYgNweh}W*e(FOtc_}9K ztBI%`F@8NaaEqw$9(w3wF=0V4M*8&eE#RMT3l)h5>#?LHnECxE6FipCg(s?8uRsEF zusb{=p+J^KSeE}YQ~TmPu7dLs$p!*=Uyh~A(~hT+H_So$9ADiK9Pg;#Cmu)c%y*<*J=Cziu|km+}+ z3Uqh3!|!!cO09BRws0;;lamGxh7-*wV5>tzbbur{F0JWL)X_j9=q>**@wJHp5+B>w z9ygC#10=LprJ0_j64|x%VKZQaFnSfcQl;Y^czLY#n00qawPU?@?w-5KUq$|sfbMVVH*UgDgkSIJ>VEYnuXi;5eo9!q z&3E&;yFA<48?wJ-GOrw#T$2ZJS9+H#*v~Byk^pI|uI>B;Gk!UJ-s%8J|9fZ=S zAVdh^Cqjk>2lW&0|MYw~G$ILYuhMD%asI*7i0ECm5&xP?4aBtGG#jruxjZWhC#Isn z{9RzO?wjg$aW_HHXjkyf`chAsVU*_$y8c6?JO%Xv@?e-}OrmQ(ZjOa);@)B zeYfS>9FN>k2I`+=s1IXKl5=P)5$RJmdQ8h4QQJ*6ty~p;DZ}o!B_7TjU~=4lP6nhA z{wkjuj(-IO#gN26*AIKm73Tc#AthV|7Oh;J<*5>){4NLz874xgSveu$8iuNaoUkDUsqEBRu4>wKLYLKMN8-$Q1_(x=wVS)1j3H ziCX12fLRd&I5LpDJ~T<;kAxntFi)fhpE(H@yrk43VI_r-g+q@LA*FW6h5Kb}N|Ey{ z4Yiq>6nOyN73V8dW^X8qmFh|xf1m}3lU+k*F%_Kg%ae-c1q+U_js(MOA@7=F2KjvLk>>t!;?(X`#XkxH2};WO`_SdHh*RBaR~WznRNf2}&( zgJ8wg(T^~oKMD&Am-{!QVZAH_b$0uxnYk48uI<{+8L!Qu9I8z*AI46_y0X%JUd()7 zh~9yt9($|bxQuVA@_$K5Z-qeHVLeC*e=|2{PPHUXHIE=Jnkw{fN6q~8`8!SbSY^Hw zVm5GBI{YR5_u|QMKCjm=?v08D&`j+;<$mz(=zUWvu*ijjDFdRDAPDgTYV1$Z4Yz9% z)XbVIgS1G&Mr(!4FjHD~Nq79M=F2tO#uD@t8BQxcGHx8FkJULzadf2BxIhZ0=Ks+3 zj^UYhTh?}L+qPY?ZQHhO+qP|1#kTEKtg2M(q>}HhdiL(_-Cw`!&T-^V{v^4swdR_0 zjB{|A9ibYk3icBfdi1<`$NpXj2m3#IqqhYIC&!&Vb+1tHc{010vvc&kMEiR0&-c0^$5 z7Y4H(zlTTVunsG}>aqKloin zWg`j4sb(V*b!pG~W49f%-tA}lPjFVN1iqS$4-ay zLNkhhV;MVID$=YB941`fn5wn zu(TK#6b7w`llzN#%?!?$8pJtOH(a%(`w!&qI{`vnb6HXpxpBp$DG_2$={czQo7Z@p zhWX8D5?1ku=csTgP21x2_WY3AI(LE2pz<0Wm$i9rE@EVYM2N6xDqST}R1rF-KM@T8 zE>vleg=#qgU5)!!8WtLihqU4kZCY=vP-yjaJ_H5=e=sBzvF zGj#8NI|%-fabzVpAYc41IUGbL&yvGg3-1TWYN$$B4%Rt+y@!AiExXdJ%7C(!MA{1u zm@igB!Xg-sSV}yAkG9F`-NL-Ju>{6uW4FJdxjOtvg)Uly6r-(BAXS`>fg(im`bQT;lZ`>1guI&3>pZTNnyBW z6^M_w$JEX%qsK1(+VZ1jx1Q-?#=S0x$m9E{WePFn*5>(Pe(oc&bSx(rS(KzuDi}_= z^i2v@4O{deR!cC7a7R=0aB}fv6->3bT1{4Fqtc**l@vzuQ?*F69R!s&_MD+FhB!Nc zlkjTFc|Jys)dAdMxK@z=PHnJFkB)&b6j`KHZW5u!+p5jL^DhEs*Y`zNMtNpC|qnBOgJCc z=rQ#6V_-aod+5=*PjoOcgh9MP#DX6E`d_+(SA%&_TD4GlrBKjiESZ{3xUQKUQ#chmRqR7yrWeXh5O$o7f)0;NAE`AmjCEtm zuY`>p&huONV%i8x@|9xgE{Tyzh>@wEXre3)vsE%oHRq!4s-MeUsYTM;M1|8^G)FXH zMrcIDR+6fEzLUh1!%9d+*0yF$XKlOGrx@n|?=MVpT2_rM@i}Owv{NG3WOE)C!?S|m zTkIH@=zrLC{jSgRpHm9hi?H3KpV37Ld+tc9;T#U8#n4p_g&d%{&?C6vL@G`#XG-Ek z(CRM#NZv5Sl#!tsA9nF??aJ2~tdV*3)pDReZSf0cC~J?`#+w#t>e{GcXSf>q_2HR) z-PA2w;Bhd=|7~639>*gw=2TCgwVZA$1S~-}9zqL;PqoUqgqf*!eXx{$1p@I7DgmS0 zGS)F4BQ6LyK1hgCoJn&*4q~q4T%}ZiOKUm^Sh)~ht0*3;0xvqplWSsId2`WygfATM z9KnGki^J(ZgsbSz;K)+MXa(m!&SN=`rCt%z8@f+!v=7%uhD5=nj%3FqjP2ws%gh8= z{miR0WM@;hpmv_&?$h+hVtC1C9NzX39_M-zOu?0$xM!l0YPz6xes5UOI zlB<@Viawh!$IYj3EO@UNap;x^F}(m~gZ(7R4rg-DSa28NBQF0b`ypih!A{P&w=pJDvs7$?!8*~PwQjIl``%dfFyK06ZP9RUc}vbV z=*eJd4_2RVd2FZUKwa090x?i*h+?Rt43zqXmlxOzI;|PGf7o>Y^5Cc8La0e-fKTc; z*=E$zunHMtRaR@xbVf%;ce-zQ@;e>X6jep#@JdGzR9U&w?xkSKSOn#~eqqn?L;Yp> zTnV9t=Wi_@6F!qZ-I~wl@1%?$EeE;#dV9YI5QjrgRbCjGxwRF1g8F)lRajkIF}(*a z;uQxInXhn)*K^AGT`e5-5&9gsf;UPMRj$#|R*(T7^yrl%cD3wI*`;y>l?JPRHtS83 zO$TmMZaFTA4t$gg7?%(|Q@n)ftAtrhj1tVy4za@#ni2XDgA>T-_1I)mX47f3yRk_d z8k?`n-O|Tvy^3#S52sWLm=%{Htrb?ExOjrt+>WhG8igzIWPc!kHp9b~v{07qOU_t~RK$Kz8jBvFAJ-@NV<+ zCUkkkw&U*WUXUV05walXcP3x~f=q8=y*W2{kROz*7>m3%?$B{6^cZgYzJ#opdj=vS zsT!Gmaom)RKn@l;5m`aixgjB0iH2vB)p~S(XQ$MDQYWk)8^#;z{Q_g|Tf9|!OWKx# z58;}y8Dedq3Kx`WIjK$#4PUO(IbxsFqQN_%YGIcscw7jG+AhVBu`^C`8${Vjr(qET zHY+fC(26zho+B$aS%-x(>6tn8*uBpu4(K=aLs^Tx#L(Q0VW?PX(iWP{c5^i9gv9&{ z&?2z5T(+pR-?sYS=Y=A=8jS(m0MO-!nyS1Jr*wZ0YeRf_jHJtN$ioNlxGug$j4 z!C$f$b)NQLC|!0Ran${6o#t?Ytj%esnumDo3keDbFu&Z7$e|JQ^M@Cz2t+uq+M(4E zdn0|(3MkqNR6KCByPfoM9kOq68#Zxp{h8KBDgYw(dQ)yd9l9<%n#N93bZbkKTaVK= z9<4QP4m}vHZUI!ljuQgXjK!GKK?!s5B_p?USP6-mfs~6Qb*Ja=l z5->?M~GI^~W0ArYXk^D~(@pUsh z2ONUSrf*DkKw`5|o)Q(-(5AI&>24q*hJ@-4oJlTYBlfP-0m_XloQ3SSZpfzG6`P1k z+7eC2m75hEUfpMhspd(=QC*Q^6uFb^T&=i!YgDv8?kHGHp0H9$bU8WB@6(p=l-O)+ zY>ca7HD%!&`C#Am+sZq22vC;;SX<0R0-gAcxTYj1^5`yH8&>R{I_2_V?;V5kC#Ieq z85YDar+$gamf&^35?xl!Pii)9DV4v<-d9gHc5eFX`V}Y&5T&zrtMq0Wg=3p%8buO^ zV}XoaANo!v#p{~+s>hcX$LRLFv8vj~wKvn@KC}ntH=_YlQ_E^K5VHZ< zRfQmf#e?CH=d1&wo1&tjaU4E~8P2KM)4(K=wUwt`Ipn|1$bYRU^(!7W#v=xiB#%tZ zlLny=&lHZ?8D%S!9j%3iR<^GtNv*2vWN*u88uzw^-du#ED@g{OwxJGX$sc&B#ai)f zkjhLqQXm@5WP@i*aX@yw68mL!tocS8ft6Bn8n(`zb4f*1LUG^jYpA{ zZbXJ;lDohr!Fp5?(feYKfpfy^qORDostGyEbh`%zjoaMQFB!64^c7}fk;K2M$GX^E zV;6-^1_opHnl=O44GnqP@j{eRLbqpo4|ojMPw@Ty0=T{f1%Y_2!uV{{3wZVM2LZ;V z__#=Pp>4gk$czcj<#IT8bMFcq4lp#T)KkearT(x_AeB_{ffV3(_DUZb>;HAYd;YjR zqz6N5MWe8u`Zf30ox5V}tqw34l2B~|^l14S&8}imrCC!JTgR7|(fug=MgVO4nPYJwTow}A;V8~keCI-bInAEs7rsVWHpEI`vZ=+=GD>P9c?x>g>>?jf*q^Zyd3V0RXghshB=G#%HIUc z*U{wCZsz#ipQ@ZUv8raxFG`{)uo$zflR5PnF`0fJ&KqoOJ8bV{ibEeWk08DTSAV%_ zMwW(9LDahhdvu)ds$SAu@4B%EwUmSGonp*oqMB=zDA63XX`i3UxYnjj`e9Djou`@V zl+I2hROW;Z_byB;bZO1}tRDPo%e0B;ma*H6dvU4naQK^H_KNxiv`o;$4fs_*RKA8w z-Dn$l|8;*Cj!RSUw}3QLnD)<4r$@UA-A0;%AOThE0py2}!iL9;Lk9cOIx(9s+<26w z^LNY#%Ch+$Mbo*AeoCDQK0OMad|yZ%Xg)#K!Y+Ex5>r1^LXQL>assUeib$5Ir95KR zQV&9Ty`Az6qWz@rEs8`{-Iy>xqlC4Q$f;McDT(#7qP57OO}&uO8Px1FW4kHNA6)l- z<_**vpcN=DR0HW_j!=iLaw~|N0aIjA(p&U-iJoKq9!6ps!&11*1dE_RSOg1shkNTl zPL!20kg>{4wq%(KMGpd=$HL69LWGb{Y$V=-H5|OauV6^U{g#t-jlu~&3OZJZ)2K&C z1CqCjik*vPQD7+H5PDiyJcsj|k}?ZX!R-iXvx}{Q3+pHz? zp|d-yw3OyrHEA`GU_jf-Aeu@g-2}gU2=0)bm^sf`GPt-gXyJU2^`;3(D z)HM_fB)Ylt>PnNqjX;4hW_&jXv0M}Z>vLeY3G%q-;YDp0GLlP7b3QTrwC4))+Y`5u>MT@m1myl2VWzS?}9zsBg+q&9cxOE9B`&wf#Vru`x5Pkf4;3>xsX> znT%$kMw1&I^ZVMxH8rP%TLE|90@O0m%BKfgBi*dC?FXhG!Gf-BA1&*VJJFY-8$37MJiD&T0#;I(~Yfl73K_+lJ zXZqmGmRHpmh0kU{Z>F1{SDdHE0q%rG30;8DqgsehCxxZ~^SMAJS06y0b*8hP6a_RNR@y7vKpH zn}eY7-;j*CL_DUXxW7>f@}bY^Mih2vtE^;JX&3%DOE_3jED<+n*Xt|&6J!3UbjC|0&WBo9e^fZ2!^UErEXK#`v9tU=R#XF6FQwjNCoY@~dRDVT@IL&TYs$J~ zjRR|#{nlkJUUZD7@h$-V;4I<0ku{-rOiRw0f%Jyqd-;=q@NOFdfgo80ahCI$PCNp- zf*1B@#dAIeuc7Pt=Hp3(2B*YbPsWSj$HDG9$U$VzBs-!D?dzmVE=UjiX`T)&%_q2i zd3jy0F@=ras?!Sl8tfuLCVFztmW!P+B(qH(R<-q+T0#xy)ee<*I=EB6$#P6F*rbpE z)Cn<{C!b?+43@RX8ZdlW5HQR(pn-}yJi{g3&~3G+w!WvseO>$ zrV-(SxxG;=v5{5+s2HMKWL%Y{M66Zxl)(i02jDFU-yKJPooeH?)(MK&7eDxMj6vYo zy#N_iz(VxSLG>#2*3yi*&hVAYwR0kb+sv{JZCkGhrs;(PC?vi$OSIz0B^^G#no}~B zS`&l#uFZ;)yF(}(0s;cVyS$_UN7Zxk-eOBe1VfoFPDd+tst0jm%l0AfFH7zpbFP6H zQ$`@%w|H))KurvEvNVOtQH;4VyiCG~-73&+&VVIgul@|6uNGa1)J>W=B52K($5)|k zqrgDy8FyQrI5V{uUh_i%m5+4$XnpY%9WdZGZg^#->wS%YHCtCUI;Ao0El!kn&gS>A z<$*s`G+AI?KbQu{e%CDZ>!6MQ2u(pMkO8?wU+*=V;`xvLloqa+g(<;D@d|t*y@GQI z73qmM&bdOeDAyg?1O$*GIZ2w@-WSl;r*2-jIt~!5z4$TXzVP2r5)Hh?UEMK#>HPv5 zU|{C&4t+C0f~TG!N~?^=Lij8I1r1$C&Svf;IU<8S2KyvPy6RBreCY9Siql`eV@mFS zxgys03=3rb2n7NprIzV^*&I@WVS!Yum$O@e^7uhBoFvlw#pLDnukh-K6Znwu{}rSP zC(z}BmqDaL@1T1T;4hXS9|%cYwV@Z&sjg?YVvjEeqVjIjTpRZNWKrJ1px&)-<#>N0 zb^S&$@-DYAlIwDqO2{C3FsMEGEaNbPfq^91)QJ;F9Tb|wLW<=J7MVwGepMvbLo@QDdtPhm9%rlF z{${NSK>q~wWJ8TH42UGgSG7)Y z>2%yW2)f&JTGI#?9=s$@5$roEl`?Yjw8}CKD(ZtIQviqe%m9Il1V6@@wGL z{bowt{yb>B2i`Exe?@-xknib~_Ju;|K!Hubs-#boAc61;e7lGbmpzLANai?!Fj)NH z#Q#ctu+v$g4|vX9U^X~wimUrUIL)=ssKbC^Ark^ao0U5jXH$StVR0cd0uwWH4@zic z&7n@1?l>^jasQ~;Uh{!_ZR#RQN|lfj$NutOzERMx>e*eHixoyVM%gUYxM^ z8?h5${T@XBeq{<8ks&{7+YH9_g7ysXVVaw$ShXAFT&WEDtv3HWa#7edu7eKKtGbg^ zlL?R#HPx>(hDhY0k&O`c^gsR?-5q&-FQ#a!uU*p%7hOx%XIK>yVj*GxFXmAe`07pN zoQw%BNT4s4+VIg-Cxvp{^HAdeva7O)mwAwI!F)1~tu{!h=}@izKo$VJ%lUvA44vO< z?i05i6*Iil^Il}Q<;4F5IU)U|u=VzKV6Lk8N`i`9OAL7u zba<+yTu9pd7s^x+F!)WPsXsA9N4BY|tN?2rAZ&Z){{86NTDSEwn{uLkW7bXqECCuIJr+yJlEhUMlcSzOrH1zX{&-mvPbOu3pOh|Kl~>(FwM zpy45;dK*@sla}+a==vsK5>||OC!sZiMQ*8yNYw1+(fWiwI;MdvZts) zVE#UIe!jFwL$_4oc=R5-Pc8{;{(V6zeItSqfW1x_hvBoqPUgpCojo1cbRH)nS)|nT z^~Vqi5mC(Un`@<|uoO{@pya{DoGStt;h-4_SvMOw=rLC-nAH3h8>}|1DqI6+ViHYa zY=0475Etq($;q zur*C#B(EcfN(XR|pvK)0OCDNRrFk81IzJI2<;%E#cC7y$L8A|d<8tfVCJ?p<{_p+# zd>GaSlAWoJBO+%u_?P?h=(pax9zyr5N~6papYjjKq7BcssS@lV5u)VvakNK0@xK!I zTu#JiXCycE0O1a({{YHbPuUkP(*#2C*cJG-laZxbaj(1vDfs?i#i(J$yCQBdV!W)v@w8+aw2y_h6lAgo42` zz%kQYbhVJ@pjTg}8DQ1qR;V;FV}!+-z+yCMBgK=wz*J6i?O$0{z!j$~?aZbE8XUFm z+8S(breAye@rDVPfz2J2NP+DtykZULT%!rbDEJ)Xb!n_Em(m$;5bvGf_^^?O*i&9( zIvQrA9MCd%Z1zCFRbdV@3D(wD5m|{k1iGnOaL(Jza{a8zLVm?U+5Ss>4g@6I=8y_h zC|U*FX!oiPn7cU+jex4yV?vk|Yk&d#pno)`Kv?GeH%6+!qU%;ax8H@SmhQJ&^H-V| zYc}TY7&B((o-{u9z=;A+Oyq{W2-DOt?TAZI0t4PVf03`s&&$&U+Esq(JLxbG= zI#G3`ySFP%>_ccwJQpwDAVsotNi%0a4$Z2i5CCrWkGlqu?{*zkf$we`ma%70H=qu@ z>_9l|l3UP&aM@{!3ox>FV-*tU{*V$BwPAr-i(x2^$Zyr4s*jQUjoZ}BrO{=Y#*((I zvqDz>@UK{mj5NBw0*gM266FL}*{QO?w5jIKA{YYa<1GO#I2454a1ekz=xQwJbmLmO|FY}{#tI+9}J>DUgLYi8vn}o?4#cECT zT&4poN^7&kz1sWMd62C0JKwp`ZG>uzHZ z5$6)+4u>Y_^=}-)*7CGD9)M{ip0WX`Qu6+WrpvA6PZqB7K!R@;0;Mt(O?gqdDQpGk8;WVIgL{BV@i*xKh9PT)sb@^c4^?-WTtQ z*B^5GKO(0Ibp1A=(!K?K1wIS}g+##PblmIjAdF`izIVhfggulD%?)FfGE8wl;*)np zQ#^r%PBbR)Fe*?y;L0IGvWN|WNY6HlQPA@_VC7pg_27rU92(n*;4+T?iiiWJ>G*Q7 zhqO*zW#pLIb1&V39m>oSWom9@W`fD?@-8=X{u}h<`flpk1=|CDv{lJjtaN4SdZ$tI zf+g%&-U$9rP;;*CcJWB$aS{G(#Kj0loC!RtCCLceJ}JOB!+6p0<55a{PHv;|6aw6B9`k+ zy*t`Ae|%jwndks4^o_hxP2TU>Zl(jfYp|_T*nJli;ckFC$#(xR%Uyuv`w&-xCEgAh z;Jlfd=I7ZRmYF?O_us{6ADCjS+OJc>ibGGeqz0T^AI$6~qhdVVcEDAx69^+uM z7On-fOHk#uRNmthWX^tl@n%XbJ=ebx=8u4`*FB)ZeyYG+2HIxAfl?4c_h}YLI;OEZ z@E!*Sa)whzXpJ)1!UdG5Ktsf*QepK^h+(F<3@EgoCXfGBHp2H(kNop+{!bUR?bt*7 z0HV4hV0*e{uVY98<1$?CA;q0}9#It84`n?Fh%o-g9FPuu73S?ULw}!$z6V*! z#)3W2qFDekt~n5|Gax*GVVg3p)ST~nQp8NIo3BCj#GcNvREH_vjl}- z1J5f#Hw{x+kPoW7h>UEXRoE-qVL*d8aZtuM31rgQq1;e2MG3%pgG_XJvlako5efyq zQJi|-5QQFh0_syjOnYg)C(<>#1Utet=oqIW)K_PJQ+RUSoI*`U)TaQQEOt*|!(UTC zpdYF<$iLNHC_x~?A%8$Hyj3#>w-?PoRnyTr5FE_9P&6-GPX(B1(VSQCU4hZa5IouR{-DCyF3>7Yf(!z7;5ke}Q&sUVM3e>pOh-!AsYXG+1 zHKYfG{IHF4{O}hPB!Z1ebe40TX=%`dYSeP^PUie|@E~27AxROB4Qe5Rr8Y zD@_FILHbB|oeY@86w4Zo>UmL#jhV4d_}Q4&b!-UWZWgX6VJ}Pm)|vsw2#G~4Mf)|3 zF`OMw^yrpm)}%g;`WoyT<&uKeijGtGRJd2rV@ogg&v)3eEDSq{&-=44j2PQ8ha_US zOn4H9_qP9iXmXeSyp+8*Z6UKm5MOw9Sr$a zS@>|Lzh;Gt3@Y6q2wJj+fMA*=p5OdkK=O+?&U(^Beg3je!D8;Ag%h$$HpBp0xotg` zYRX#T{NoSBzLmgHAZS!*>{QNy!?46s&fEn>Q6eC)K^U9FYkt=VkhUhoo77!4=H1Q% z+nA0S1Ty(Xx9T7(+X!VgPz)Y2Ta&q|D3OXY54>^dVwHPDhcMMr&d33Dqgo*%SJ&E` zMl$QLu@SN*mRK;9SebLHhB>yo`%1unk4BnUJ;k4lq8~X0TleqOS5OaB2j4zIxm@4e zs;PC@J?5Dk&3$bKaUl5b^jnkZ1u*@V9$uM(2XwthgrIHRf7D7xj62e*wlX~uJ-6#; zeh0rP5-U;eh{rRgA2p!B+D0K-Xk$;r{}y@EemLe1rE}+Xhs%prwH5=jv{sr^_9lU+g;{AccFtdY`qq%JczUKok?;6~vFOp&59XrQ=r!7v_ob3xqR#5cBw+{mU zr@II^*Tr=_hhY98fpXY+K0_!aS65q$brt;S8~)+w{rgCb{f}$v%?YhO#DDlMHOaO| zFiX8|%H3m^HA$t+v{MESpyZRK6RFGnXS5T?4}tDWfUYZ1KHjIEL zPsu5y$)`+%gUcg8(UoiVA^7tYaHPE|?GT}}i5ZYf1RjLpZ3ifVU6hE5afho>DnxzF zMZJ_oN9NPX;2AUd2Nl`M!_V-n&qfhXDBq!@imt)&KpBEerHsnm@i8DzY(jX!NG6VC z=n#tA$7%k_q22uVB@U27i%Ryd99oAb(p>#WIHy=5(2Z6>qz!?PL?ZRw@(M-o9r?^Z zRr|kI%d5isN!}cgvQ8Y@k!F*Mn2q2JwKdS=QHj}zSm+fWOV9TF96eEN4es~K=am;< z{MP*?`@~`UKJnB_xI`SyGKwdm01C^ZP&O*jB1bV~Ik=|b0l)yE;-V}$JYOlxyYV6) zB}fV)gqgKGoa62~Eyrl5>)ZOaRUshfK`VX_Bc}mPQMs)|I*g*J0-jOS*x$|&<0Yr9 z2^w~d*Xato-Fmx3r@B%^c z?eeWUuq*Bxj0R>WSp2kK$*S@<^E5)+%M=(38a|!lDC-WKgw^VrwWYm%@y{GrHEFkB zE3soOY91dA6Ff654t>|rADaDG_MkSTTV!c75A^XZD`F(cl9>B9RM?_ZKnr<@lnUKh zP=jQfv=gfTI*d)NnnS8AJX2-wP0J=2ma)Eqi)U3>-W4MeQ|R|(XL>$Z8!N|i{>VH$ zUa5(S(rB2=5xmZ~-S9U1$xq6G>At|o4=?6XGkfym3D02BG2 zP5{W5O>5_UC*0qb3h;k0f1u69{u;#nW}0foj>1~@3GQqbeG{2QWy9Zk@SU7T6J$uN zw*F}R0bi2;`cBq~)?g5x028^N6)M^Wk?5&MRLR4AS19{XdX4t1{8?J=#$8KtY?CBv zGI~#yST-wzZ!kS?&vU8l3Eg&>F(UaGp{MV?nKT{+mPh`a3=zhJR!>zNMV!w02e6ge zqq;cHN~409Zqc}0Af{|^e9b!VuZSkj4K}lE0@zrESev#upTQ0|<;ul8z9l6^rKQEk zu}cCQgWQdca*EyE4GXCo1PpLCQM{d6MOEBsg+~KU$nq27=SYSHp4NL^&GGjvaeeuE zPOW#5i9u=H<=nO2+a%q;&2j-H@+$` zEsfOM-U{S!U#((-KP8hxFG{(oDLJJOu$1*l((_@m*HH0mH~(t5UtzLmy$>>U68DuL zx3GY)wCD73>!j;_Qv}ycRdp|BtSQ4IzDc-~I%R6SJLvOQsMMFE?|xwAC)#}_2DgND zs+bK3xIr4YA8d#PLav(+l5VAk{7UUe#o}KB(DTh=o)kamglA<+ZUedt1YHHpF&>fm z@%rFC^BQ0147a3;j&PhQU*OSF-qVE3S+3|_QXv;weV%yA56`3SwO$RV0)(C${S^teuyIn!|YM;D!@wey_ z+!M#V@x&=p6{+J`MpH6bcySR`2M)zGh&#+-{WQw*IT_+>T)y+g<)@0J~@ z#su+#&&&|(f;&-iO6Bw+0YBEGG&=Lma4LDS1)P-DphF`FuOaENG&w!N{?H_2Wl6HM zG&k18v|5~MORvd((7|{5-9hA2zAlKQGJY*rPM7Bpfl7A+4Ia@(%e2YxgYimzXOh`y z4_yaBuemzvD2Yio=KfwS?`yTq$j1q+0RQ}%(udV{($cNkCH;kn=XWa6c%Cx<_}&=8 zVX$YjL@_rfuWw98qo?fa%G1S)ba30P0w_8MEl zGZ)BboH2WjC#kl1knzA&_WIXRNomFy-*|BUOPGZC_T#tNvRGQbj8E|!;mxHGP!Go~ z=fn-|_59&Mb*{g>`tUtM6p=a4n9~X(b#?V+}Hso1ZLt~N1g(Cr^&gqd8UR*F7>am!Ix^>GfrRh(=t?w5u%v4u7wsjxa0e?zgK%Ew&{f z;B&j4&1+@pzyE1-pAJ=Q{jWCnkOy=gcq5=8OV9ncF$?(V4J*6FS+t=SESx)@eTJ7` z^b^ifDWaIc_GL|$9EF(Ti5rc>J+)D;SRu(%anme~Az%yl(2#3o!qoG5tPjl;TgxMs zS(o`FJANr=m*m85j8i*u-0W!Jk5Mq_WmrN{%EvUy&|+=-*6iQUN#^s=ycy`UYpdYn z4~Jn&PbL#Osi#V41wML|Cq`OEPp5G@4JOKFrzg2G(u>)l)Q6z}!_sL`DU?M2tA3s(W^ZN7phrc&HY}7y8 z0qE;ONMH-Ei^)V##pIj*{7#>>C}RDh$yT^Q%aY;5(5yh5uohvMP6%YqOX2J4rNMNL zTBth2v+&@X6mr<6$HZw@-)PI^C%0O;U)a`vZ@N~9fP`f-NnR6!e=H#J*qb;U5(!?T z^!7$WjGkE+&GeCufsV>; zW0@VnYaB)mPzkTe*zHJ`aC~A$L%)kyWg?Wyw%8k^7)Znzs|#F#1F|dvca$l#>J^99 zS_Xp&7LIN<7AH@AEWwLU1FJUTY-9Ug7o-2hfR3zeTi#DfT&Ni>5U~>vWr3oco{|1| zKMTE2($kp_2m~lY1_eL`WRY8%roQ2?$STKXEw>s3wEX+IQzQFC>BfFyWCb-cF)=Th z$<1hxlIca7CORBuSkZ=TPQq=$8$g!e60??S`sGlD*&=q}fvI9W>EUgrmsH-Mg#unt zHQajj!-k*1#XA0Up>UA^{!@Aq7QapMBXdK418G{2c7Eodw-mHG;++7?tU;^YC|rKq zZ-3ZWW}wQG7MHpqBd|a3a3IJ5KukQ7PyV9+CG9F(aHoHbKEE@stOKW7SbHbU21u#c zEuaRnyuBl|Zjv1P$h6%pew>MB){~K8{M|t;3{v^hfe#$SI+z<02a?M02MIWiTIm=OBg=A-GlsiYb;hEW%#gqK;_F1Kk8)sllean$fd4^Q zZ2;*IUolT_wF|7nIzWl_82Kv`=cIro^*H6MrN&Z;UQ0%+M>L=Y+nHcmoeK_@3+F5; z_C6|9GjzIVN}eQ6eP7=$-654jvJxK7dfwNUNvC__a%0EOwpmR};nloiO&A$vh2duf zK_HqYlg*5aT!e<8JQR;KSaebjSz-^LcKZ4;`n(7BS$UBJN2k2)dSCUzGnGR^z`3=O z?N0e`H$*M|ZRM7Hd0hhEmtGTUIn+;o-3;29cS@;{uk)d;!XS0b@N^5n1bb^@Mhc|& zVe_iEgZ*QLSN^*MMT+C?P07@T&U_;VT42r|c3E!OoLuwjm*?mSQY0Vs`t)a6W4V?3 zOsd_+SHwTmrS>qZ-{eYm$y=PxH`ve+qEGNS-10X`+BcF0?M1e-_fmoOk$Qvm-HOwx zl!}Kx(<^17?Zp6h!xb7;8mV)Ol*Q!ZeIG!a@1*6+?I(Xx=5q`N_Ey(x`tS?etw^$` zb56HFklQn=bgCxOt;~T>l+(0yZj_`irPJ*d zcC01=V3HtRw-Eea7)u-)ZDl&0Kl>d=4ih_RPUQ$$N}Dz7i0TptkLHZwve#2qu`BeN zosf6_y7U2+w5dA=vs5y@_II_p6g~C8Le8Jb!r3sasg*S4&bc?h0;D@b5} zo+|N^_mE@h)$hqM;)pB}#IJTwLRlc1R=k*@pR9J4xT}``6F-zRo7q^pt(3qIuS32Y^NAl z!}gr*>jUpa!kgzN(@8EjbKVRM7&5GI1skjrU)muiELKqr{_4SXeagBQaLFPmLE-cT(6ru~$zLsdlmJW--EM0pZW%4Q2`&Iy8HEC;D zRfTxXz=Z%n_{ux&onV{w%FS@NjJ?mEl$w~EYK{A!-A7Q3x`BUl)K-t}AxQ=A5_d&! z$3ADmWr4Mwv&TLi&NlTjLXC_D-)=K24Bm7X3}y#9Ot?r`FbwQ(4bjBVT>i52m?R;! ztLM4gQ2v+LC=3N0#=&-bUn5m;MciEJ9N$<I^=MOjzNu@*khGbrNjTTd^b;@8885dOTvyvf<~ z)Z6zlsVP3P$`?O-F4&N=_N&Cll>e#q?wtR}PA@H{e~$;o&*H#KVZTKIk~DpKH2!B= zTj?m3ugCk}PG*I3?ZCtfy1Onq6VaB19To)2&oN^F)yMrrXbrrOM`lZ(HQl_knZ-qt_)J}xP6el zPTiS+P?pb1W)}Uy7pl0;a#HC}!hE43Q#LeQX?dcR?W?*!6(BJD-2dkdQH3!wm?D&` zm|B~)**|L4Ow({M<)^^Pe2dGm-LFWgF&uRJygtAgb}XVELp>fyxQT_;(~zvo;_|c( zEcCH~Y{A_Y%f_V%HFu_8CkVf;S z;s|1Jj!?QhB+qc{HJ@Xl5v@|n*`HD{E9!~_OJ0>MRj5EF%r9iB0EhIy4Ht+bH?_4I~tRYcZuyB{Nvq8uy3Q6M1` zXBilWi*Trrq*E)SsnWHKAmd6TLQzrxQ?)7_(@nHO69l4foEFGa6FqbF7P3ZZXfjay zHH~pO2HnB_U7)}e^A7jxZwi}^Rx?pmiVm98XmK?{&gI|LM^RsXeW2H2*A6*C&+xRt zSwErG-VZ!u6&n@5Z5;PiSg5dmQzF&;#izH%nr}f1c(MPbi$EOq|K!meiKJ|YpZm$$zp5Ha+ ze%~d)j{kAkFj*V7m^F~7&}UzdOqk`pofN=O5yZz}Fn_t*1~o)#$;?^-99J$k`6iVq?}YrBR`*_o&uw4Bpa(+8Sb>i#s#X!N}{^Hn(*hd{U!BoNVTVJSrB*J z646OYKIu`I19w^M@dG}<8DYTn7Jp*yjDA_#YmI(wY@@ETirBOCK^_zo^>g_(xfY~s z8?^5z_wzDJKetW&lk^k0WiKjCJpcCVV`f3$z4LujsfsT+#VzdXra z+s?eORFuPdU4(VkOh<9wnW_&D1}w1X#JU}8TI^|G4rs2|28A7asC$;HyMEeM7+sNv zp0)yt{99`%W@D(CLsYi40$(*)s2pkCklbpy!IjexiE$LiuSds+glJAI0S=7;456=r za}9cxg-|O%iV;o6pof`%^Bn*AORz1%H{;^M7LVkI z49Rm?pz6;}Z2x7YbQL&Q6}yOHw%xx>cyIpesIAU`zc@)@0mf{C3JZ+XH~ZtkK@Gv? zm5UvmC33HvweHm;_pQ@bdvwlg>?NL1ByczM~@IWg!C;cRrvOl(*BnkF1^(q)nsyA41}dBTT`KiBvQ0u z;UqDx_k99?ja{BA9Pi&mU@yJbeZk->V5ASv@&xj$c$H4a9`nt{1xf=9r<#5JtA!C3-5#1q`Z*G!G1iuWIt3`)n+mhy2f#R-a%b5*M&-ml55DwsRa-sVp6=Xi?Xoh6|dWCKj1}MafBlNEA6?i zEbueqKR*NiCrZsfjijCsikl=kqPTb-toqw`_YdSSJB|Aa{2RKZfkE&wh59_M}5o4SnQ7P&d%a6U^ z9Kqyzgks;bzW@SK9a)EKGV!7W=C{m9Oex`gWPi>~uz@&l-y-uS`5Uk@FsQWCLmREq z&;Ce}GEtxGv0g-`bHfU5B!Jb!>RHbT>~*K#`-^_06M=JLf@Bo5C9pHZ-ELtz!t^PX4eXpGb4864gpVq z2vwW6OwPaaO8-EVzd5VltnzPKHj>6aul#%S+}imP^`%sW`WG_~P=6}AAsZJ;twF|a zLS*mwAXyfDF-46zArix_o3T8b#562k>*g;gDp~DLd2m8YD1g(+y>r63gA1 zxNMYyPL3vVXlPs(whU}b(z?7*9q!?#iv?W-RYd~|p@?2!%fsVfxHhduol=AI{DLE_*PEw_n)jrD>Mqy_FHoP zw-7o_%*hn(_7Es0%-O7APKCL}hZ%g&uvXt+XZ*vk8*y%oB3lGw)P=pn<(nuFHambc z1&ZlPq_eY$;dZ~pOdW3Ll?BGCwHiBquGTj=9R<=Tu}7`$4i@Rs=&Hv*r!P_`vk!yN z3EXlR6>%_!n{g@xx&z-zEu6$c+16vVpO6r!ZIB{0qNd4IYE&n>O+{1ROOMfN=*i>kv?i#Goyg9 z)FUtIL}J>S2jj7R>s9&YBOE>;6_%)R*NBm9V)NB+Tp)nc>UsX=`xT6&sM_B05nM0W z0WSJ`cx(XBEhL@U|IZs5sq^*$!!%)`V17$DNl{c$sto$mO??#~WR1J1B! ze9sp#3hKD1a52fydMq|UCTe#Bi^WZVU)wH5f(D`x zTMY-qDlD>_b5|if*6tFjvi8ZbJ8{44;LbdNv!%~L)pBtAwR;-(^6Pht{}0hG*>sQD zVB}$UM`>8kjER_+TlIu0wYKifMqBFf9oRZPVz!=Cna!7oMjQ4g$Dj0_Q!VBbZp#_A z8~T1~mp~BBs8*2yZi6C}6#?Lu5aryAgKEf#i4X3#%XC6av}}C>Xz#LeXupd|(1()V z1ZclU{-@kh+CgnZ~dLtq(R1 zu>`Vcvd@GAo#QsJj5B`c#M~7qG&FCKw2tgrjoNNXm1>Jc#)fOi44`3V=9ZFTWtps~ zrC5SE#>J?z8(jic>^cc^2RZ@Cp~K^2&^a3TJl?1}R9UB1t&WIpr>`4$J^Bk$a#lf- zG$eA`AmswsJ-o*bZ)3Z7F!WHwMgqgqT!tA1u@GiFA7;Sa{6{)oS^!VF#cyg1s5v4E zDjf6L(3&&EBfI20b-a;MeJM=JLh{UxJ3-pW62J96ex(m@xS~%sGrOV#o3Nu*O8B+} z1QPv-Y$|T5$*t;*WTF_l-+eJO!epwck0`jVg{SAJ(TW3lMerjrjIlP}%pPVnf_iLI z+|&1;FY0-gY|}V*<%dC>&>F4rs8LqVdMTs!kQ1p}F%6Skg)HH23;ibuWLfWpq{^pPhH_FR(SVJoO?bdFMi!P(}X((a-bX91$)32_pR%NdgvJv-WCfS z^IxZx30!D`wT;=qvVspN2$Q4(2vV$LnKm*TzY7~rvZoD)!z7@$ESm4$N}cBoZ>-aM zq&JyjbdfS4G3`SyxyGCN^uO8QP^dmmu3>|I-LWBig#~Hx>F^Qp=Hx(XV$D&K7BE0Sb*>HEpvT^&R(3k5-G2oc4$k{dYjuS|sBNnahpLD}! z7VKvUJ#$i@)&zm9${1}dUrbZp4+KDU=uhCBkcXoM(nSi9$rRjzCKzl&EiJ48R%i|N zV(@aBqQ@(39Zth28)S#RZsJ;Q3uet-)YY?je1$@|J#5#Jm0kPhG1-j1k;UM;m{4EA zJWjHy@}g{46*-~JHhLjE1^HT6Q=nw(HbKpp@t{dzDRw>(LKJaSYm_&N8l>v#Q!3Z( zYtRO*?aznMxB&+olBPa#a(7sD?uWK>`z$3gi(mhnEfIx|`kn8Xf6+fa`s`s(w1bW< zpc6h&5q3gIm7FZu3%%`-hRHCzCEktJnGU*lcSM3_+$xD-p2n(+EyYs*R>H2XU0XBR zM%XJw|JN2nDe{lKU`k&r%+Q@{@-KG=ZhMMXje9Kas4g9q&5$$(ng$ECgTfr^_O6SG z9i+}~TnrqBVVcW2FjC+@O))L|YNsIzJb!B25uh9q;Iqw5Y1tq~a5gHKhZMz^^GOV^ z4WM^*$~&i{20z;6<>>6l7Bh5?cTrIE#p6}Fqp-e3hU^r5zu-9}x9v=H-cX8aBSmA7 zQY}*9+kLe8%%9|9^r%~o2f1Fp=q-tn)?u98vXCj|OQP za<&Im{Sh=0KLon~q8)Isoy3;QZ(lo$=|pI*MAkWXoQZsFI9Z*x{Gq}q5@{$Lb%&-A zCCM0v)uYtXIM&C7$gXOQ#*R}FvsN=To&dZ9qx4p{3kXs$fvR^Kh}77QMxE_&R4rvZ zfD5w>p?1trB*o&G^i>XNI}nZ|oizqNJ+GOjMK=JPi8`dsNU8UMi_iYU%W^uy@)oAO+KvqH-r z{V^0%A*d)gPNeS)0?YtG3a;;XU%)z`#+pDqzaM}ij*#Oxf=nq5;XW2v#RG&0f)HYL zpl%96ih2QYQ9s7u?PoNofWOjpRa}@sAecmE%e@&=74A=ynm|iq66Hr2gG$T8ZC;eV zQPCt4>LpH@@J7N+u}}sz)C}pVVy$>%$7JiDr)VQ8Whfk20MR&9<8(7v&P|m-@ghMw zSfwI~B%F}99^ELNo!LTb&wj(e$rem`rJCR6wEv_Ea2D+jN9>M=VQ^jqV@nabi!#dJ zcZu}0H2>7SSn;UiS_ll8FD%V0tF-jfDX#fC$qYeiU6eJa1bthL~#hfdisXYE|eJzN-3Ju z-&?&N46ParBktkGwO^yQwzgS-f862SJ*%6#F9QWjP9k-+5-1Pp<7qKC4ke=qTh935 z%pbopKJ076J*~TkMB-Nlk*Cm33qB0jGlr#GNgMLp!iqpu1AYR}e8{obu;?Fe^2~3D z?ow&lU$r#r11}-HA(u*r*5T`qEe%x9)1v=gb+4~Mwdtxj_AqV3%!U+-3Hdp^CiqNt zo&fYMtIr)`*pnBk{D|G*p7~K_dwm*oVnc{Q02At(wFsNCXRhWz2c{pDRkUxHD`t=;n?HVa}<{TTmWjB@*t(Z2$ z&;*t7cvzju)|AD?X@ycbDO@8rjObAhevesZ|TyD2$#P5M+jaD;oK!P~ObZ3o8D~u!3%f6xPV+9^171Ct4Zdyu5 z>+)WR_Vp|8%IL;p-sl`@25AXhDOX!nR3>mNu6yA7D@J&Kfm%Nr60z<1%)0Nsv|_HW z5mRf`$r2XpMz5E#f&T&swYN-K-R7oR+PXj+@-pxfL=jAppO72mSprxo4naWJB-{W} z!WK9+0`Ne)5?D_h=QCA zL5TS#!Cm|CS(KB~Lf>M|b*_EUTHD1ye%kwG3;(eC)q>RXc&An|zU_m#y+u@NyjDW1C8iMM< zpprX`0aU;hZv|As2H+Z?)(1Vry2ApR&&i-=X9yf9DA-K}74VY*3l0GtgaCnLjf{@&Uf+tG z$psd;YL_*>!rL9@F_(rogKKjvAPuC~8|5C#q9t3Qio%Ot*NyqgCf!LdI7A#!2?wGC zhiGQ6U5TEKK#?>JbEb|G8j!+iAyabyNG@!fvx18xVUgsl!8MI}{@`!D`~2BmY=kua zq6&o`5*l1*LX^;unvhgX$m4o$;j;)5L!roaCA4FSiER9mb1pF=4We{jC1e4AgnR`z z3XKg#f^~VAN9X}JBCbcNS3a%q%cP&J%F${7L~ks`7yRkovl(t`r+nLV5_=4wtJD>5 zum0BCItCj#k4L6QAs2ME=!P#TZx@J}0+6{W1==0QEl|Jl*pVHpdh=SJyt%=mb*D`9 z7CzC}U2$Bh?Df;T2r*?X9j;1++R$jSKmlqH^2hl}go)bP=BZ;5<8O!=8L@I{)Tg6xb=eSxE2IW6^ahUb z2Z_Bas71)6MC;AM1a4;%)QK>EfgsqT;<$z!Jg3eCk4QW$4fn{zr+E{pb%T+{RH)tIyEyN2}?)=4aa>{lRxZ*P79H8Re>dCcusrx4yBdRf@&BigTNgzK-mp zl;%?So`Ua4vqdguS`&C%PkCQ52Y9Jm>mJ5)%83V~m5Yx!Y}@VZn71H}tx=?RW~yv< zP(e~?1sK{y6Ft6K@r_MBna-ebhIX`u@Zra3;XP$ZYO+o?2F{wZzB51#NTqDDu3Ozf zfes<>lb%%A5lJ!vUOg*;n*m?KJbKy2T6KKn4yK)FeqZ^pr7GfPzspwTf<1+Gx{s@H zGP>)auuEgCl}UBeIIM6y4tvbBAjG=#hGl8P4rfZFdeJ-q5S>f_$t@ed8vHhtIA2-kxQ{iOcuw^V!5qit5`Ea%WvQQ$O+)j9UBkxS@Gaad+zK zML09dR)V!W!d-g%ajpz_#sp`hb(&-lW@{@Arld|)= z7izK2fzIkycsBen)|>5VqJFNg{+X2T=Y15vnL4uciy5?bDEhS|fxXf1E5y?<=e3QN zDPL$+D77;F0fY4~@kdN0q6G*0K0F&Z1vNBdv)4ZJ3NHS@B?|1Pk2R(AsnP34IPe|g1!00ascC}3gawIdQL2s~x{fI-8% z*QG(~s$<;0fer*APEX>PCX+D$LIAJr2E#=>ZU>XBd&v3qdS|_yvYz(w^kceLxoj65 z&eMB(vrT$TkFf$#Vd)zHJ42y+Mk=J7W5H7=!2;LF>Gwx11|qfO?$y^!lBgmCb?m2$pXGsw z*bP3^l#t=>X90rI<`mRS68Tng}<(XYur21K~ID*WZgCKzu`jiql z;>?>PAVm=wDB%R!!jSZf3~``I|1_Wrj0s6HU>hzHZCgo`JrX;qwjG{%|o%L22>#Q1C*FT+c5ss4bYEVJiITc9?f@-1oGc zgzxE%?XC8}4AgPpJqn!Vh|oa$#y^^uYmIw_xvF}40g{*vc+#6LrXJYTpCC?MRwqnY z+4q&uRQWNjzIytSaMKp`H1UPY2Y&=&>-+}|yTr(nq^vT{D994Lk@$Jj1zG_5`fWrDN4?PNvSR_l=_TVp&@-D zJdxb@jHx`Sx+^9nL+4P{<-)4_VRW<1=(E)YL%c(BwTD;eM6rh4P`r}9;bg*GdZ zx5AT&hY4(IXQCuqYuLN@mOMY;FIq0&%BF9qS!j5O$mj?eDLZ7ZX6vuR$Lzn}0-D62 z(N7o`@JZPx;X7-h~$j0Oav$D()?{2kJ+FX&`h*BM$~NYP3)R z%SpnHI&GsUvcx%e(Gu_J*`lPEDUcxCNH7v11IUf=r}PK(UNr(h0@z{nA7AQHzta27 zHK=v83##|2Qx-qHGY|_8BCLS15R7Bjegf=hi4X>MFo3RK^JDSs;Sl6jm@tZwP{GCl zg>g+J6qpB?4*+JuzaFFC1%SHJ+Unl%MWoN@y?4R$RRU;V# zQ?+E}v{@2JK-MH`3xXCUW|}_B$%7Y0zT=i~k-idZc#*!y;3YOOi%B+Uiit3xuu8?I z1T;<>YY7apVE!zf7f|Ql4b=K7rpljinqI~N=jO(hQ`EEIk%|Jx+KNPusR^7L0U!W$ z-KGL6?>-)~edQ-QmzYjtWJGDHohoq|{_(|wpzy3p;}RiUfpW24{OOe_5AB zSQU63&n=MmosBJuh(ZKokK*A+{|+*<=cPY|HQu||`P=MJ;5L>jOAp+d4U`t)Y*M}7 zd{K-wUi0_`*hyE2yckqg4N$9z)+I@GqtiDPogL6o!D-vE_vx=Sd(=i1&hc)HO1>w# z$@=@(BpoaE{%@BazmM8dJ5I98h8Pcrs3%u&0?gx0AT@&u;zc z%s*@g7<8Dd0vRUVN&%*l;)`e;PqjkyTTO%~D?&BX38T?V<@13Mupa}u&G@3;qPTm* zbfl_5C_!#|yx(hdjWMM30I+*`Rd;-NzTU~#Opz{>5<%(cw>(#1_l@RS7B@}Dg9ca` z05!RS1A9Q23sOMN!}D1*WI*)2#4fyqWKY}JP2b)DG;bnNiO(NIt@BT5?j@*o%inR@ zGE-ja{0XdJBx>Ziys{0BpElcojK_&AGu4AAN55Ri{8g7_JRYJNpF@an zzo9I1gt!XsPRer(B2Qny9QD3|z2)y4Fxvv;6M)=d^y`R#+>Mz$QIKb=V)RdV!^|ls z4HTVgWY0pA-T;I?@NJ{v_ulvOs0 zva*^bHdd)3VkkKn4zdV^=RaRG6 zSz23M-zOj=EN@XMtybIFY6dc7Wxr`?4#dw$=KhrU$7 zKW4NW&GcHkl+6UZ_i}tdP?=b;0s=;g&S<U*bg4mb%KYg!Q` zqka0fMKc$EJfnxNFdDjkIt*g`6VJ^!ct~%4rNGM22rycbn!w&WaZ)}t*DN;Xl*{}e zLWE|jpaBFiNz80i|T9PRFZ10rBi!Z!c}|5#zam9GDog>Xh@gW@$; zIomxjz26BizW;9lNJN3Z!6X);2kw6(;f}?1(j<`~LEp*YsX^-h#(DmR&Qyz*PX4tH zrSx7I2m}vef*4U0grVkMg9i{gfM5lYBM2&B-~bvpx&tAGjO-W?g~VncMft0<$TW-~ z{_uvDp)JWxanr(=vomrQpH8vjZp-b?%I0lO>^E^;^>T5FU_Q8Wk$qrIX<1Rd`ng{* z=oB-KkfxrBLrBT|i;0R%__1Rjb1ah@17A{ZLSB05UNOcE#u)F6V}!R?beQx2b&2%> zHb%6>^Z+$vz4JA6r1CVg)5%!c>-UAN1p z+Ipv(D=p^4(13xZsjV?~@IOyUR{i@(vo5~TcuA|?g=H1v^wZVu$-%{+GxP7m$i16y z<=d$EKS@29g+|hJx#nk`fdM;QR&Q)rD>h_)V{F%Qs6+6FJ^ubVnm4lBIFZ z%B6sJWr?k%hp4MX3LdNV)B`|85&4(A}#=) zXsLUyE6t`WXiszTx$q7|4=QK;B8i7(8r$)hn+^7wlO;N$#=tnQ_d8$jG+M>^Ai}&; z3Zui#x;)+7+l=$FX`W9gJJVca8nVrMp0ta)NshA$-(6@veO(tH76yq#Qnn1U03Tiu-5Sdcc%4g z@5ahHgAi8@TQGDXbsW2_KT=3QJSM5F@6A4lH7ja3N0TdTht5({p{8)YFVw*|;K|~Q zr7^S8Y(l-yz@33mUWswXnI?jl&ohZK1om-an=Bz(!bI2CzB(x4G&?4n83WhSmh^is zHW0Ab5S(~Obd&IgtK7k-87x{G5HpBA@7o{`ws^dC_ljBcGDBGB=%}1(2hu4E@%6gj z@4&4jxz?>w^R0GsFFR3tVF(ggPi(-H(JqrIteEf_lvRSD+wJ=4d!s%{7QUf0O$P6V zMeMb+Hd2R!l@L7bMv-)I? zp<;f(&_pCx7rLRmkR}E$0{wWTU;4T*qd_b&pv`?*tw6SK&fd^{a+u9b;Y<9(BY!%w zq++m}euYCOphpZ^2DqeEdPr5YunZ(*iR*(0LKkR=@V8{*@AA#!g+36F6%^ ze0KeW6_1QZmzY5VzGpggQh26RZZo8O6B$r*>q_PRQ(1GfF?E!OF{WK{Cr;I?HyZPy zOR{UJV{ajqgPsEW%5-U&@^P1;rz~4OolaL+I>ymIwJ*kVEp^6ViR#P@>=Vs<&)7-< zn7VEA%Jj;$m2$b(`3AQ==ap}diUz-dJ7jNe+D8pfhu$7!Uc-cqw=G{>!GSj)9h}vY znfONMWq8;?9`Dn_yoj9#HvKD^*fQ?0!)n1`rT>FHEbGjF+Jqxx2_bi`L84KQ>I+*6 z*mjBAczb4>+1FxLyl^fy>ohz~8`b|~;|kcGpm5hzN34GwPT-Y6jN9k2#jyZKt-OG$2R(*n za2)HD`hl{Co__%`<&KG_RyHfQ%HRS}Jah(+3-YAHiN*#nvLH~ZPCuFtj^qTcP7{8` z{u&SF_O)$)lVLO0%_YM;6sPte(Mp?mhx#)Tb@+EdA69Bw*mcpdw332wJQ3kleB%9H zAG!N^FFL;CNj#nRTRZpqRq{Oa{ga=N2jNA0R=?H$+Tkxc0Kl9EiswWSwUqetE}qer z!Axbwat*~LM9*Dpc@tgo?Do*2A;JV>+qf`Eg&3RWHr-WK=q-vrO#v>m09LePKsP~; zBr*9+X0$~6A?pV8;>Al_g)E0s@+>;TP#%C!EV6bZ58@QyaFO*Qz%Rjy>924-`o0yL?fyzX7nAsAvMi_(rB#4m{!Z<4dwjVk&=N-CB$^tw4#C&vvW=~ z%|Q4yBtlgZb5>X^#vU<2XF+4Drfe~=el(Kcpv)_v{ z<+U=S`E^e$fM(8oEC>^|vYxwU@|j}ie0$RSbh5c*9$P>6F=!1g0{7fEZ90wh;2bfc z$=wn0>7~POw8HO3>;l`|vq-Kk-EIK!6A#a-nBOIah2&}7wdx+_-mKc8Sp|VdXLi^d z8LeCFltVwpTJfHc+kRlf{5YI>>e1%TVQnhnMz3_nt9+W!8Qgp?nad*>q2XjSm^bs7 zl+4pNo*MZT&FmpKK>4aDsLYrWQEFwCD6_yqo@cv|;N%8UVV0KU>6@ibm7U9hDtq4rT;F)F_@0CG36Dd$eJ%2KTRM+&OYbp4p4#%Y} zDtA=nw~M7`EZK%>pP2dny5R4VXC=!`8lM&pkI&*=O1Hk-02kEQM#T!`e&<^ z;tS_a>BE#D%RrzrFu%7Pbdcpo2-Lb4N0{}(HosrH-WE`v;+&VoG|lIT%i%SB>m9KC z2@k((*Bc58h1MnFgt|M?k)CbrgMzcoDGdMR+DDc!oFKW4EFVq9yj*Y*l9z{P<`CkG?)r%}T3 zs|D}A(rP!W>=)1Um4T_-Lc%C2?v>0FWzO_Acm&7SS054XyZP0I{uB1XkXQdGnJX{OYm|juJ3r>QFAiK2gJ%Y{8+~;ZFpZd0Dwh;GQb`~ z#>;TYb0|BmPcb}lQ`AJ@h`I4gBEAqsK?xZwU=TxO63c|?+?>}%`Kd16=-tD2dRC@m zad}iHVX5h;7hjXttIunFT;uICW~$~Q=Qppy^!Wp#sgA!ZpNN9okGjnUBfU{?`LP&H zz25f%2NJ9(@<0LjUSs8%ss1}Ku>u-yE=(dQJcqNEtK zu1A5Hbe2w%eU!!K@0Ilbwoxnu4HUN3cmCf^i-!IRKzMMVfTXCbF!X;`ll--J*5knc zO~A{YpHLA-AIJ-^A({bhJ!XjSC)4 z3=12b43$Xz+1ZMc?_ZK$q&CZ1eCmTLaQVQ>)LQ52^!y7)5vx*u_&y6rlQ6#jy)F@f z^xIIbiXffkxcpKNO6AI!eZaSV9vx&O@(+o9Ac3|6BWW zeu|ZSw6}YGfBSd?`mI*QL{|btio!bMA!sP?IR8oq72(K{q$o}F)H;#$L%;wM&u9GZ zc0fY<5dr>ks=gEaaAZoy>68sH-ll(&|9-1&KNpowH7&~?cK6BHe(dX1d=npjb^Tfs zrpElnNS}<$0ue%zrm2~AOt5R{;htq$jXhYMgsZSwW{k5mU(GXHTtMAPb}ZL5O|LXX zj%ZocRq;LWW62*zJ(&4%#FjR_7_DADhW)YXS(_T2@agjrFD(aiYdODPw8FM+`+xKS zuTROV3*s+ZGr;8Vyid#KeQ*EoRzO}@SfX#I+8B+PnVOrNogSiyL}-IQ$c7cs!HclC1Cg&qIjjSai|7Fwi} zv526gGPyiXY>3c-1Phv6iPFHoBQ$C1;NOv|+}lMRJdY~%Jq(skz6UCct@;~5^d8C7 zZDF<0-*M|q{e!|a&i#UM`{n)p?}7Ax9yb>@IZ`CDjg?|CR%xvHjI!UT;|?oE-4d3u zlM>Oea4Fg5Exw*RpOfYc)RJ%bGaw?v0qJkY)ov7ZS}1UKO9(? zSee@xR@c|KIkYr4Rx@yQH*M|hXV&pC^U`y1C#SLwO@BWcXRq)ct{-*gJ-v$babVZ{IZa$(b_Q6J=(n&@1+eEjGB!upEWU1s94as$uvvL&wfjhlssiI0(& zxv!psg^P`kF+C?sUn4s+Hv^l#wt8mcq}`13Y;DSs&N=JI8?XI-yyyp?$L}?-O_z<` z3452jq_VoMi=0c}lSA%lJl%GehY`h%%ctJ==jWHRr@X$fKmWF9M`s*$Zyx;H+h2e0 z`@TNBu%s+~zGA0qFLSqg3#(5{7cN>p=tzFT6*`q@Rk3H*{M~o)+6m6Kstpbo@)Oa5 zMyM#S!q@%(+QR?fQ^)n${CfNHL3=Ul&zx-{$L!L;Js;}cU6Yg6n`_--c#1u4BSxMUeQ52SWwx5q{aiI-jKSmzIy!5Zh4U z7uK?elbXM-sAyH;NImq0*M$G18!ft)k;^4<87%Z>c&xvHaYdb}B53x<+>TnIZYaNa zBGo2xpO-^A*c>E`D*J z*HtTZ6rtc?f2@P8dFvhCPO;W&0((&5$?`k{Tb$jNKYHgqzi!%1KqCO0K<}>J4 zSwO-Dnca(2pDpR+nfNMq5DnJs6KpmiHP!<#&r0@B%yQL@=2@TI_U?I=r!V0d=_X>GX`a$KY zD^PKW_f#w-zQVA2a*G~J?3LQSE8uby>iF1_*hPTD-)tCgiorj)`hfOnE7qh~kLP*z zMDE@tQD`tsUW+Q%Sqp}h;M3zxKDf}En-$!=HY++V`Ap$4_*i=WqOvyGiUpOE$I+FW zSvMc)>wvT3O(1f#&eDXjMSPhANUXBSvn)F(roAh|26!<_?}hF!7i#bB0fCO;6NRUi)o|sk@MA^ z&|TAxjvEKk_zolZDBq$VTnrVjv9+m^0%K@dxSV+`Efu5`!oAc;x;A*+7(#X=d05^} zv_&ay?hjP3HoVw6-(1)4wrym$Fk&4-Z#go#kc4yK;XG*H-dfTA?Qia)4ilL=(`jOn z2-#6Su^FY;$E`GGxyt&umtQhxFueNJ!@P_iA|@y}PdkyrSQ&yW+sAtDjnCxsc&>s% zC7SkFJ>2n0J<1|H<0Ow#R{*DzvO&`Qv)S^8gZ$jj_;k6#;u9^cPdcT_`3D{gD)1jY zDS^yFIZV*Cc2dSmz3{ZGk>wV(TVwL?XBvK}3MK8{>vpG@O{dx}q8!52i3>&-_#bMt z(-O4xi%2}p6v#!r742Wz39aMx)Vjahz2;UMU7qTHEa(6X%?W&6HWNxF3-0f@07*eh)V_RAs zO}vn`EkDcQ{4xn;stWX(%|Dk?!p8Jtc+(_E;hWgaWeFQ(MT-^mZB?Ep2eOoFx1Gt( zf>X^0s*i6=pC5FLg6#~!l=Z)y8zt25AN+J5tB_98qVJVUJjKN#dj}q(%&=+B-Vs-- zMQ)Y&gA!X?i~72Jb>Vo0*C6b=4yrokoRMC$I7tU>%VLi9g#C_w7WxLYq`8@rZaB@7ftP&BQcV$o z)zcE|a@#ixTyZd4+k9B-3f{AbpIcIhWJT{gasbz`5Jg|EK_ph%-S;${V3p5hkbkey zY$uO_AptU}J!XcV`KYLIP*hWLj+P|HY_D0>viOZ4kVcgwPV~#2GMiR+FnQGP8_7!V zkvmOaz#nfjPJS~|rh?LkrZjBWKgLW;WZHRQ-z7ofC%%Be>|(v*!Xi@-&;5$XMlJ#! z5fQONIPjXDv@g0Nyub#_(3FC77t7(%yz?{?+>VKUA$Ym{foTrBCG1(iYt7wMlT}a4dR^=e#Mvb+y44@nFyaBtBsACD%vCLp=jn@h}?IY$WUhV@8bLQ$v z7DG)l7&+cVO^>hyF&MIN+egGgjfL&+=qWbUQo+y!QhNbPTDr{@TWnm|rGR}QWo1Ju z9$T+^=8O(R`zA9tV$JLkw&Z8xhDi1#V=DE;fMgDHyMtxu;qmdri7CN9u`-Nu8xobep7&vNN&Se2)Tw1dbebm)%JHVyG-N^?7zQIDCMX z&|9f25a%QP*yWjTgaq3&Jl1B zZoQheJ0MWFFXk16=7d!jjKeH>d%l(!iVhe8gC7yTRJ!_B+CDruE6KD-e9^E1@;zRt z%4QX2;4?BG2USAsA?i?m5flq$C|I~+k;yzZBZ~k4n?bSg2y6D{>V7=}uT%W&ubE#y z@5lHl{=wCBZ)>8-E%WTK{qkjg+Sr_%v&?F`BA4og$NVXYxq8Cx{EW&eT3a6`Q(^xuKK zDxeaZF9rBiyBIB#&(7azp&6xK^tB`^7!WC~d2QpGD=Ke;v=5(d`b}Y|1*Uaujx4J)XUnRTVxmWLl zzu24%TxRvsp;LO*Vd?Ohyy{1nj`;nfBR~E}=6$KaPkw8E>zw%8n9j+Uy-wBtDC8&N zYXZ?T<6j`axlIS;55NK-4SVUd{7|_o4qy>r1z;Uu3t$&uKj0|f9>7C@Cjid@UICm0yaV_M@CD#Iz%PKm0-OmbKq>&B z@&TyIK-C1QK2VK;YKc^F<<-_)XKQM2R`XiYs@Auq?d|PwCwtde(|zk_YaqF!!XJxr zczgJ-V7plRPLvqzFj)Rr@7!ZmM)CG!KT&}vUO4k-Fz$F1-1G^j^dXk@*os9q5!+Yw zI3!{iS~xn+V(Z1}-*JfDhp>|mR|P_yIVi#N^#UgAfn@v&N*Ig07I&up`FY>LFNx}V z=KGcg1QI`BpuoHyo_*eX_2@!#0Wf^mKDx8c65=+5rGA z%aj1)-G9b*2OW2xM?B>PuQ}~KpZLlTe)CV6fQgEfw?}ViYH91}>X}%!V%3^;8}{rw zaOfOBgb8I_Nae}17q8yD`!M&}f7yZ`zedI;re@|AmR1N8%D4cjw6%?`oxOvjle3Gf zo4bdnm-hnw&pZI|+3<-E-PrEf?5OJ;!M?g&n?}P*!$vt+%>ip}Pd4Dw5!pDLS(3SJ z)_CuV37d5N&$a)*k+eAR{uZ9P5;Hiwqtx!euK#2S**KR}>sFt_ezBW_S1-T9fn z^%lDG>g+$x;(ADpJqNJKL$KkQ&ee544?UY&X%PC|$5RL%qk%KPPx&?~#P@oH+nd&F zjSzGD80N}8S-V_4Ou@P;F3(bi75hvGYu+!&PMg1t7Iv7guQ_!^4!ifU`C;0Qd(G@x z1{u=bO%$`JFm+}PTVQ%oK6M$v(yZ66!n5&TP9W=8`2^8MEt$J2i(JRfq};n>@mT`h zfpde&sia_BYum>8`!xuKl}R~7_lywiG!9CV&OUydk+wzuP57umJa+b!aHH8&(t9+( z`@fX3)@~mAcj4jk^e@JDjOd6a@qA&eZE=XWM&FFLWo{#-ZZbLmlHf1&2H6D|Jk#2w zG~i$7%C-e)a5s731DeElgR?asNwu#R2+YsCHyw~S9rRwClRK5^_e%eXF?&XK$?Q(5 zBky?!6Y*oyr(E6FRJPWvKI0|dWRVljkhOk?JjaTS)kpo!hVq7Afg^oF2D;#!;3;$N z>>-mA$z~rMYRB-~Ogn{G@j1EP?q%cGd=g??*L}rS{M$l2Q}H_2j-fT1ba0P?zG;oJ zfe3j@{uirhlk+5nXMWzepQ-)}Ajfv4tn0+tPXmz`6r0m8xSGiT5QOHs&*vgfgF7~2 zvhCW!E%h>|6oK5J+Nij}Z2}L%Czw!5-0oNpIe#f-&;%p4 zNiDZIzSy{YxK-KA)^?^Q;`nKH;0H12;%1m#{!0@XOsH7Jq6T$C)AZ9Y|;Q>uk~zcCVR z5gIR|cUC$r*<(8_#;&ZO0yVKzSv^M;@`>}Su?PwnjmTOcHNr&+87EciY^aT4At-HUA700cU&k~B{D-J`B>Rn%bVZ znKG0*iN?VcKtI7EvIub)<|Ug`u`}3ih)n4H8sKEGwerbwR+es_7F z(zuLJKegWl0lIssIAK?C5Wi^YK) z(9+Mskzdy8U?CzhDmo@MEMy?^dz^8{8-IccCz^PYmCB@`X2WV1rw2SD0RBEP@9~-_zo?{gf(cf0L5HNnvB({D zB35DPWN#-*=jxO|m+Nu`U8!GEb+v&BbiKiWZZs^=N+a%}n|+c(-Rg_9YJPy!Qc*@n zK>{a99q$?>VEnNfI7W($nVAzian7H3Adx(hnDkfT7@0Q71}VrAtdU)#qh4L_X1FJb znB?1J3K?}D?Co|NF<8oXwzt3qBFK=3d=#Lp09QKOy-!*h)E?0#eI(OqR|bm@>= z95RiejFHA1@Ev{5(q1mej^uHF?MboE0RoVg33tRN-wzR7Uh?wS-~f44P=yEy&1f-W z2O~s;EIIN_v%qm|Py}-2SD1v>BVU5RMnE+UsL|05PLL!i1{h_EB`CJ{7|yq`S{gw= zrGBsDg&9oo)DjCjsk0(Ksk&nK95RpefA)1 z`<(k`SX#v6(;9T5P&%3p$?R1vT*MN z^TwYMtlj3soo@#II5$1X3>PUbF+VOW&fkjYW*vGB7_}$&|L5*pA9A~Y8HuL06O`Rt z{(r8|7pW#!ahAVV-V`;OwCXZobbb1hw<{*iyzf?Rp`71+?{|h#g3w~di7(-OcZ{VZ zd8$Y2gI~{>xWWX>q-ORw0bRi zKZ>7w-@lF$s8HCV&d(AqDJ>HRZ>7wyk{pG~)fj6+wv62Gs|2aC;XGH~YTB$xt1bgZ zecF>>ZZ&VdTeXGaccxz1XY6)BD3$h0NB)eYn@*q=%KwSW!Qcoa3P5A9I6RT`pr_#J zz%P;9TjOYr+#36IysdHeg7abBLa3N@t+BO2f8Tuqch1sEg*98e8L? z_$0Q2K}fuCzj-lTX8*DDLx6D0AMKU)e)XR!5hphI@-yfm21bS z>eN;3>}sR_tGBTx*LA;MvRC(iNiOOEb6@`tvGt&9${RkfgZKU8+a7Xd6+x+}HFejK zHv{$yewM%M*w?I%{jce9m*Ps?fqU>6o|4=<$GZ@MhmHQ(J%;D4e~!9_ij|o7!rtzo z5)eY70%{BmE7fcCTC-L}9lG=w@C@z1Kq~hL2ul%rOR3I5fid1RRE0R&M zOj)w!$dxC*Fxv{(S!P-L|67LQV;}jF?&`TZ4VnHXi6)gLn@o;edGZw~RHRsmQqRPRmmpD65tXdVzyH-8ZX4B?a6dci9AViPw;`_5 zhPphL@5Nwh~~cu4<;r#j;b4m@u@=-6tq$H9+AZ^5$s5xDy&nr{IrjFmgSIN6sRJqcbyXJf@qnk;UTc<~b?jDet9jaqf; zHG17p%)p>TiBU8ii844WEq8zN4=h{Zz+X>|{RjiBA0?Z--obUW=o)E_=dQTM`}kMp zx$5>hXPt1W+7F4+L5Cf+?X^Nhij{corBY?eRdn1*zrFB^2-m7N3@T32N%vI~Dca7z zcNn#)YFGHG1vD~5XXOvjU$g{CwbomI169@@v5vaysk5&7s;Ra*@e(~&&}0oY*3|1b z+R>X@1|%JW#19bHNgk>gu`sCvi7{;qG#0`Qb=<3exEy0Akv8Hq!4r~fX%!<)T`@i0 ztmEDGUi7k89@clrC|_Dx<$`@tna?;Xh(WkO+$3$FE7t0v5$36@UA}(ns~cg5CbzB@ zRm!8emmD`dL5gL_^m_B!5Vh;jsY|yWz54XelvmlsF42>Es)hqH-D0}xp^cTW3)t~# zrbSsyVtV;=jmI9Z9GI%vqH!Zf>Wx*ohlT_cOUB0`;e$CT& z)G}hf{P&XEkF0Xu9vA5Sal=0P~8;p+#Qpyj3^aWV0={X0*c)Mm-q5t0SJ(2GALJ-E!MK6j3o~) zy>CfJm+8uyH*AZBJ$bFJuHlue@v{;X+%nt|=w7f~AYtYTLxj_qh(%x-N{FjpKjzx~ zMOUenNY>R_8cVdB$g=VaiH&X`iP?R%Vp#@^=K=3b<$J-eK+21Km4GwCMnoV!Nm@UR zmCJdAVaP+i6cQmwCM{rsgh^YEo?%)hWzV4W6MFH{^B2= zx=Z_a5Q2dc2$FbySQK-D_HzgjEdMhDpoFTK&14a?FKsMO-F^pFpkn!kL*;_L-@)L9DH@g-*ka-E zz}@c=j5P@NM?_;i;{6H9{(x+(Lq67`n7^UfKQYZKM9!QsJftKKE6*cQVI>3#EuS48Srt3vtJUeUXG?TU_S&iJw-KTI zobn6GFDbWEent5;bX$2&2Hf^-ziq#7JGWii z?k7RzB?$~h0RnJ<2Ld#ygnO`za$TW+6hG@91rx1B2Y>(wKmi7D-~=P$2KY?71_%vf zsTcw|(WMZBZjs&86cV#A%k)b2tsU3S1sMIych&&|M!8ts85OGh0oug%!IYPl(Sw!J z{^zs^NGNC+SU7kDMC3jZauhO&NT6$ujuWLQbS*ZX6v><6SyC#k^fJoq{(GzV@-Rv# z0b6F_BxweLIH>aAxz@b> zn|B$585$+^n%hS)YH9P$*Thttclnf4B%-A(b!kgq#xnQHoBHv7)KB&QdZ~m;SZG9m zz=LSoT?;!GzmTY6r7Bdb)2Ky$gVD=NSGnzV$qxy2ImsO+?`TK<;wFwdcuXUvstljgXzMjaYU20SzezFkP`WhX7MI ztt(;NfsrmIE|-OSv`Wj~>Tq3wKbvZU}|>frDaF z5HUrfPTggp$z{o+Yy}s)_mBb1_-i+9Xv5{mQxf^~P)IS)DdAN*auqRBYc&{2D8+uo8Xtv|j-9PG+g%G4k#0R&N{iFp@6aFOACR zr}t^^TBk>N7bPmp2N!~dvZdT;3}cG)9g$?qoTa^;JL@~96IGV+wNjFuH3V8cVWB<#$g5};0_Sf%S6H55TJWtuf$?3(Vy=W^cbQECP$caO=WatT~2m&KKEW!zY9AveZb%tP}y{967~0T6%$Z~)>c_~!2R z|9qafiY0mXM_A4Oj$LOCuNv!p6W#*(4StbR7tnu^Z<*ZhT#m)6f6POf;RTF8G%x+X z6lIB9-i61MUJu&6KOzwde|Yk3j(^iQ3(tl0&94J6Wp9Bh2VWDw?w|V5k<~c%;6B73 z^1+@@KO7#k%@p?iAAQytS^o1yZB@sIem&n}@`0|Vtmty7n(4|U8t7@k&OCL|tf!G%s_5&LL!{sD6Z5B@ zjolKmE|2vTnO)XT(4Cw}a_YC#YpeI#yiQzO)=6E~ zlY2@}Jv%WjXI|DP_Le@mpE-G)&;zBo(`OV)98&C|(PxlQ{+P&b$z3u&JZ166k_4v# zz9JD|4JcrB0GuXq26JS^UUNZrOy2JDp#}Zd)5oVhV|)gadS;B{edajPXOF=?Yn<#0 zv^z_*Kl$TkUp;R1HRCo`r?YZg>)VG#QeU&^X~z3vr*N2lA)x>82ZII_45*t_voAJZ960kCH3z7< zXLnTi*^0hX(6bFw8!)qxBxWVpL=^j+63awIBGK^v-f+y*9Cwiup5dftlaORW{fE0g z;~s4uk>?4y9%pLPi@DPcYG5;qEw0iPG^qGyHM_wjlvq+_C705iQvZ-mY@WVtEWM1& zY{>KMY3qR&l-a_DHM~Vvw+kCxR!ho$oo+IualLwPN4d~tPZWeXZ{|GE0U zxicUC6MlmA@4rSUQ!L0Hmc5%b7?$OTy~tTFan8$}_X=@dEoLT656#T(bEM9#UX5V# zu`B9F?zH@F#n<#l`eW|;^0>AlA;{Rquo(=V3q5n=FzPlA&-~1oTMpZM#@19W+)YE_ z*nqJUKwFQYb@+OVi{2#Z-7CM$ChxVZEpBb^x32E3-xc;Pk7WX^#Pt1wgjJYZO|`qt zZF(~@u+7cd)unTGZtU9HoG-t*^Q!pjYym5Cy13=tS}!Z>-HtZ2u}ytlLYu$AbGK`2 z+e&Qv9c@iJ{{(ta2INqC+S|VNci``rJ3{MM&=Up9ELc|A<&;}q`4v=nU-olF6<1Pe zWtD%qCsDXV-?PqFQ*CwC*HB}d+wvu!0cxqWw%XhJMW005clrhDZ0D7{(k+J5NK*jF&oH&dfZq=h@5t!almz!FTS}ob;1)5>N8M zyc@6MWS>-$;Y~hiy2E?+fs7do*7NXWaPBTl=E*wQC+EU($9eP?J#cc-Jb5o|x_r9I zZ{x{7*n>L-r|=Y=VsldYeghAlYHFzUK7#?pZ7|^KsHcHOns^Q2vhPr`+IuNVb*!>< z7yfz*S9CTktvjWa*sTu)c2N!r+RbyA5EeELF5be%>O1c~BUp}rkXV`|%MSiu{FdkB3>~Cb)n3Zp~a*mbaaqbn@4bmq)y=oFCTP zGy(U)DCcAtWyW%Pui({o#|4OOhHPtoO-E_-scl@c)U$ytQBKQ2$EB=FR zd*Hr@9w}C;O!<4S*5s&atM`vlNseOOnsV`BPl+e54f<%j^~O^vJZ%x_GNmsvL*~M= zWXyVPy6T?McgZ<$RbBW8b?v%?uEC3N)oiO zw$p_w>^i@#=Nu3>X^zR1zjaP&dww@P+>?14_o#iVb zg@11FLqs~~eUE~M{^m1$o1Qa%f1mpEeIS6~31&&el!%9d^11nFEIxxm-`OwE%YT)q z7%%Z$KK$1qkZoTwRcT*TlmerMjTSC?K{3J?a`euk`9DIF8||8>4Gd+=Vqv-j#fdY>D@ z^+4>8#TC}>;&3CdUGj7vXj|WSH-otCnK0cOJru_hZz92@fLlTB3G8+-F2T8m;I^0C z4ap-E&j4Pbd57T>mTx$I;rU0f=U%|z2}BYZ1{Mw;0TBrq1r-e)0}~4y2Nw_jw|M`Q zkcgOsl#HB$l8Ty!mX4l57^83zOd^?C?(2Spjs1RQR*Mt}TREyKSVP?{G=dSTVw250 zNYxOBf{KQY@f4(%Mq25lrxp4j^z(Ac9y9<9Pfj8W##6XV&+ zV@)~ii@DG%x!R7Oqs8w2#i#!qeBC|V;q~nAPz&Z)fm`tk-u>Qh6Nv5x=E}1m5=%@X zPP_z(k|ax!Dowf!nWVC0lgW`QuP}`Y6e=Oz`XxTPI+k~-8IfKx-Z=9)OrI-<=FPGB zaD2WjESU34;=+=-xD+ncf&ORRyT;|cWOc6~?=@?C!}{K`F)TYH2_=7%Z98P&PB~t# z`0aYdcgr7l+j)B{V(--0do}mJx*Jk&pVi+N4faQq{apf(DntPcK@ki^2@GQk7>y-$j3T=M}peZ(#QBhx)z`Wu|56!=HjEA+nIUxc00 zWbL$AH*MArN$+&nFccf7%ckkEdHQUb0h2Ri&y1K_3g4E)!g5*MLzec4@5|%I9`kcg z_%($=`_msFTY#R0=v#z=#lS5AVJS$k_Ox{yn{)JwVaOTM)A z?!}(()k^mA+Fs6OUG5FP5tn@H9jz?I&Nn|;%7*3G=K{j=s7W}1F2 zGtTT)GtDr|bfws!M1dMPCqIYLsYo~)hC*PDW^h!pW)g6v$U7Z^8V9MU^O0s!&X^vaaANUAuJKpE>8YrCYl;T{?Q4Eo+u- znQU^iWE>U%B;k)g?$~4Q$9z*x=sK}Rq`U9eLP_D)I~1;IBQ|a+OI^~^mcEP)+0bQf z*gCIzHCwRJNb4dF<*aS@euH9RUsqN(QR^lX2W?|2{j2?}+e1dM`-R4SShp2*_l&n6 zq)VTHE=1FT5W#5S*-kgaFJ#s$NmCO8@4W*DNN?$?*Ya4u?if+1oZi^9BQ|{(#dGJ= zj}|>f%viDG#N9K?S+01(Onz4Gl(L;h+qu=Oavug(Q*XOpx z*h6g3u=n7HYdu-;Ka1)xFlm$O+|^=afj`*iK!2OY(sVMOm9?!;4|aWP{K+tJ z*^2n&5KYt^HIl-6>8ZbRpcBxY7Fl}pkJ98Dg2Sgo=K<)koNDY&sMr5diU(sycIdnZ zdI7ij1Oj-80fb1-rvV0aEFO$aK26Qj1YaC2c0MO>-i=w2*h(HxcEU2AZ8>JOz7)Y; zk7>TE-m(bO(u4^MJcuQL+x{wwwyEstB*nU-cS#56FqW(s2ZEdpNTidT1564+1k3BO zU~4PkED~50-901c0E;G*vyPj)Mir_Uqi1*Ad2xgZUz8_};oi88X39rY6538>%hjEn zELT`OyXj2l6jF0-Ex;yR-I;)47QoSR>9`4y$BJH0ksETxMSx2QSgBY?|7>bh#6|Qh zx!hdl`Hk^7ajSqY;%#r}Meu2OeGz~KffZH8deLG`E>57WWP*B2T4*>BP_rtBajSFs z4Joe6(wJZY>eZ@t0R%{yUYhbMOd@$_KHv6%5;jJLps3CRr35)k2=uxx^;TjrQ*H~U zV2Nv>jH28eSlZ(;o;MriRWuHZQi~QS=bOFM?0ufEQu44LfeOCaPH%P(u+E=Lt1?!y zK^eZUtuURDOQZq<)Cu+2@}FQi2huj_VBJd1a1N};(Y1)BCA`(qeCk~lLN}{l;j9H- z$&ObAUfkr1^FlNLHb(@m36b{GnfO2z*IF3FUZR3UEy%M-+F+lf3Uc{fv9*p$0gK~p zt#Tp3>K%6_2ddei>Q11B4SA)u80;w~!eSvRHg(0JzPL0LkH+G^sHq<0BcNIFeQ5c4 zw3us*A)lHgmZYK0kJN!4S&zI&(WC5X?osuiee3RkmN5IH|6Qnf*37=%nJc!XRXNi- z*8bcWh#u%8V5GE?7phhtSQ{3+l7!K0z~q{}q>V8eJ6*F#Z4fBe(P9;!vbk33uB>lB z8`rR8uss6CP?Uk%|5)pvpZC-rwAM7c9WYaaRlP{Kqng` zReMdnRv?e+Gq1)aD@(pAwdo&cMl4QU)41mB?SO?qEi8Y)@;yoE&dJ!;q+x^!S<7to znqa5=tZCS8Nqq9XIXzBN0s2m$i)#I{? zs=7~Jx*t#c=4ukG#FqYJ23}dB{(>Ba7A+0y=<+O;*9vT}kDdqw473q00C_gHIyeWP zY7W@+pOQ1MldQpp2Lbz`3OtL&Q%ismcuF|T1;VS=Y$lz04d&gRcFrY-W^Oa^t&Ud% zFLjb{^r~JV^34RC+*5K3FMYG8dYT)TTr~9-`)JFZq#^gskfwJ6?nB3HMR+j%t8ee^ zuz+F>)?vlS6as}v>XW|+EcF-=z@tmEECkk~X;7aal-8TKuWP)VGKS%QidE!+=+L#8 zgS8({UuS)mj}wN_bRY9)y{%LobafK}qb4y=?S7&O-sMb>IRa$SBG@%Ro|?2ThoO$n z7lbdNc46wZ93{xDeWVM;CKq09M7s$|Gn4{he$4Nc}^oP?I zSe)na=$80{<3>{bWM5xE0N4MgxBM&bUxcE@Um*Pf%4&jq{S5#61T=d;$3 zG_&XE(+aqLB}eTwjnTqlH5)nnU!=@C>QoGy@2Wtl_M3PiSz2d_P$x!w1vJU_OQA)J zUIW>KaIJ|q0hXw(4WViqa-^bfHIyD`xrwO8cLV?+Uux$zYC6cNkqIPN`VA0gI z$VrYf+v|@$_!Mh80^#8pxc`SJ+r(jVC)PVHc;wK79oE9gcpTn`76Vg(lzbHlSq|B; z7oxd%k86tV7N7a{xS-&bfSlAM{1pBoUQAX}#+&d4PzfWT9w%6t^~5;{$qVy zewYHaL0llUHw`aFB}_wA=|G}vh}<2QnTP8b6`G(o1q0<{^ErpgNzy>LH>^Bgx{O2h z3K$bA#Ycqak!uF)Y)ceX6j&f(?KTi+WpW7swYV)1RktPQ-s`PF>!)^n^i{onUv{NB zWg@+KScB-~IrG-D;!%{ts@Pm41DQ_y7eXok<&5GIyR6CmnW(UD!5G($R$MRpJ)J;o zzU%k#6JXfIPFohX$5I|eeN%XJ>JaDQ(i3UIBiPlTS%oyB@oh`dz2P3%RP_1=JsY^` z3>l_j}stx)8?}T79?yZ+m)O zwAZbd|J$Y6zcgwW1i>S(;*)SxP}MJoz0ynMl~dAXlU;PBn^q1cT47-4rJ*=gDIU6~ zsR)`BjPQzrdaa}dx^F^ktJ62SQ)775S{jkWC=ib2a?Qt1!yV&#;P8TsGH#479VxCH zEJ1vY?!pjkdr5v0Any{gM-syTSTrIQ&^RsCyA?pWv=q$1iUNgAb|{?!$Grxk9^gw|oDN=3kErB!oGvv$SBi{Vs%*(ArxdNU}Jy zR2#Mda;PyCu8^4X{eXe-@BLNucuWm z5%c@}a*ufW-D&vt_{ZYz_FE6HVi#ltv13~tcrtI5^azYL@UV;4r;U4Q|FTE_cg~Pi z{SBX*r$6D}UW9{Qo6v&=0(GF3(OibCGT14afrq2GovC`f1n-broH)nW<1B#INa_k&XM1#%{==0YSF%v9L)@R z&Xddb+jxv9g|sM*t`EgD5se732Xs2A>W1qgXd#8W-Qz@l3C~*|8bjFFA@(^cl+q>*J$9BL8sj*hKesGiz3-?DhX?Ps zy-9?d7!kB7G&^U=&Z)n>@%eSUzP43kcL)(6AtywE=nbDndWo6uVWA2{7f}r_Be~LB zZa0_18K!6|;f<+PhcrK%$336q&sGR*A;D{A$F2(wrD1`*xe$Brz zSFQI;-}NMRqUPo?jc=P-I1GDf>ky|J2p8qX{&p3#N@PRyK9IyIeJP9w6S~e{)hd z`xKmP#HYW(Tu$;{>Q``-t?by0HSlu#bDoH&t=BoXV0ICqf9Si%zKcDbXWOo_s=>W|nM6w{!UkM)DG!*bSU7-*F+OvkP-Z znmKQhhs!RZ!&icFst|jG6{Rh(0dGn%mx-MQNmAHLdhQOdJ4@3xVveN+*OG;T0jz-p zsZ|C60$$PYE;Lv`Cu0f^tU6x^c5|hoYGIPXS-^ZNeRe12fAjDj)Q-ha9iL>(HqPQ~ z0t7|Ca8$8%n0B2%8sV5FUz$CeY=eWU=)C0&o2X?G2-KG=OQ{Gg0b-o_+fK49+JqQ7 zv;BFq*;X?>=(K~-S?UpJ|!TaH+m7W;&#|^}5$Z~J8;O)S9AgZAh zuIxV#$JtPQ-IxUroy|+z&Zl+k@Wu64Aa-YGcE2~37rTyf5L(2hhtI>g-!!WoA3uMo zd?6OG78VV7awY6u{CMX$bunlkkIbSKKNFVyf^Y3Rn;H|M^Jrv60U@!z-F{bZzI<%d zW%9H2o?n=$+)a%6dSQwsVkw4y76nFMhv(x?+Cpsq8`+ZYn?_(%cnRBK==%qk81%6C ziXO}zzKw!NScGWxOnD)vN{uZ1K~9XF#{FL1QHtaQgcyTBH~|4ctU^R`fYca4I*^Xp zdAuAdb+IhNirUr$vAhI zWSp3sMSK8eJrfdmNt8@bEei8AGYDt-l7yU)altuez)(+Zxn^bVjU`QQz!=TLVjwTH zxW?U(1Kg)s(ltE>M3Z(avAe?VDtBc>4~Mp`l(C_(iA{hUrdt;y0kk^yjAU?SvJn+q zcP51A5^4dG`!beoZ@yq3X+ufVg&bT3DXg&LL)?QL{_r^y#B74^C7bQnx7~7SYZ(|L z147!&7FjCw1PD>j69TA|p0h_~R!+r>s*)}yk-DUM$d{vz$QO16Nj?SfOs%MzUW!@a zP#{6&)H4Nu)`hmA6n@VuYvTyVF@`y@eYE3I1$ACVvSjcl|88<6?zmiMpqRiunjyA#K9_O>?N3pwi z`?k#pVhm3@bZ}cIz}4%XY!DC#^y8DaTrPDoT|fTew*H8#6@LG&@5~TZ(2gb;y3w3V zGPKbL8MP9ty7pG7q=SAdB%izSW

    x{o9f|7gEmo2*wv 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 z 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≶M9Zv|5`G?V+t`dH%WEMXqpk;_3Hk#c)5bow}^>GHdOg=@5pYx=49b13Ly zrJynzDRebu8rnRSaDCBo@|9g53n?-Toj%;)7@=UY|Noy}Ma{<^CTZW`I9PGat{6t2 zaDw4J3oUfqrNwG{*q4kXjQO#)d%E?I`6unq0@g?R`EPa45Y|xpiRX?D^@^QqfPjrp z`1!tA9;wNGs_VH%HtUBo8*1_;v~g)avtfdTTKYQ+w|_T@R1|@!z4MWbhw@XQ#{r8n zFBZwGL~*S&Epds65DN=S9LDmC%OD``N?Ja3mq@-KYHmwkg<5GJXlu`C1U~hF;}GUt zEV_svDDRB0pxY;h0iVB6!+t9MoPjoUN2{tnNvmp71!_;3|F6OefCDX3EgVYSHa&Y~ zU}M_~aPglu-?Am;VW9ar%IVbGkq@`{Tq5wAt!;iU^4x0?c1udN{X&%ux4V&|KJ4W8 z^-G%6%-Mk6r|NGgPt?6Gz6|&!zRxhaV4(F`GZ8rK4j__!PX?Q7^;*CQ1mh5%DvR6C z?e!IxGMT8~xw^^9NiPO6=pQ@SRODn~Fsq8jD|VmScW#=CFmzog>dWa9ISWyD>bX6* zxnZ#2TwN0;af`pj^X|5h-UR+^#wtJ!B@tKiK!pf5VjK5!fZLt zzX!?qwZ#;g@k9fI%Zc#zkaZg@VAO57d!5O3Ue&0UhOx8iALeb!OI zRvYFgz{G^aMMxIXA9Q8%Ks(ns{Ng8LwsDMRXV9_!HbeTZg#-D*^A&&kWc>8s7s|rI z=ynSoO>Z_is~m>%blt}gX#It_>e2=$ntV|mjceXzzfgYM^uWLH4|qn@T1Vx$y+(mB zr_oTl_0pJ8ZR}4L)pN;gX0*r7gHMr7oprWF%6?*dA?da-61JtJNHWwP^#36TIN#Kl zHX65H`VqI9GB?_ee-?H!Yb?FpyYadu!+UaImNKBnpF_sZf6ay)B7}^R1hodXNP?eK z4UhCNG=>^Ra(w)t-DekO(;#W^pCZ0-I00f84I3?O?7O zB%x)J$UIIl{lRxlFHDbkes}4Xh27aeZ@lufb-e26$_f|NxU&YtVUJG#2x>BxrM_VU z1LCx!(BL?8gDF{Vq$J)xNc>yL)$=)7I*g|%)(&0-;j8CsUSvGa_^S6DVMpH zb8v0T>G{!ohHICj*>1fftNM+zZtws0KCZLv(IK>C_QT1EH@fD(8$2iPv~!>Y4cV!P zSZxtr!>L43HPE+4<>ftO;-5eywKK$aj&E__@NZF$Ub2O545&GURXRcHZf+@4Q*sxY zWp376swn?@b?YH5czxG41HZOjt)n5ymnfWVn}~l0v!W9f09Qb$zl@4>j!2BD$PIWy zG%tHq1co&qIS~ddbB3;u@9Dn~xdsYnr5s8^`W*i3m@VDEnOB&F?o#)Rs5v1eUah$w>#9 z(>0sd(bH1S1!0KMO_Fm9-(30B*tAvEi!I8bj@kN6Z10~`=5`eh*Oh@TSgc~GARo=W z<9@k$y19A1xpq3jbDRG4LD38!4XW&4?>FThiiaoIiVSTRo?|YzPPb-muv!>myEIOW zt#-bt4&U((ZdDWewL`sy(~|m2`BN@QF+Q{|G9ZCrd6ta$KC*E*TQ_G)_3NXw*H*CY zbEL^@$wN>XGaLNe4bu&0*GJMUg5zS=CN)LQyqHShcMq=mcw_4h9+%ozHC=V~`$%?N z`DWW#&TppMgR}4%!g!nK9J8-_y1Mk=F&oUrC@E68`W@5@I(HpHbiw(p1ld9~Keub^ z`qq-^lE(GMES@?`16xSt_yAA?b$A0;omip zd;&xiYAZP+=TTDO@|)ZHN*1!_{_wQ@i@zy5-UG{`HCbB7dqN5AgmRL@R~5 z-KAmZe7J3gow^U;9@e_R+QBj&j{H=={FCM3!&hwmwI9#NDh>OjBmRdo%0A!wRKaXY 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