diff --git a/INSTALL.rst b/INSTALL.rst index 1796a332..34fbec57 100644 --- a/INSTALL.rst +++ b/INSTALL.rst @@ -8,7 +8,7 @@ repository `_. .. code:: bash - git clone https://github.com/LCPQ/quantum_package + git clone https://github.com/QuantumPackage/qp2 Before anything, go into your :file:`quantum_package` directory and run diff --git a/docs/ref b/docs/ref index 065b2cde..58cc4721 100644 --- a/docs/ref +++ b/docs/ref @@ -4,7 +4,7 @@ * option provider :option:`name_of_module provider` * subroutine :c:func:`my_subroutine` * module :ref:`module` -* provider :c:data:`my_subroutine` +* provider :c:data:`my_provider` * qp_command :ref:`qp_command` * linux command :command:`qp_command` * linux command with option :command:`qp_command -o` diff --git a/docs/source/programmers_guide/index_providers.rst b/docs/source/programmers_guide/index_providers.rst index c9d65302..ae661a45 100644 --- a/docs/source/programmers_guide/index_providers.rst +++ b/docs/source/programmers_guide/index_providers.rst @@ -207,6 +207,7 @@ Index of Providers * :c:data:`element_name` * :c:data:`energy_c` * :c:data:`energy_c_lda` +* :c:data:`energy_c_new_functional` * :c:data:`energy_c_pbe` * :c:data:`energy_iterations` * :c:data:`energy_sr_c_lda` @@ -215,6 +216,7 @@ Index of Providers * :c:data:`energy_sr_x_pbe` * :c:data:`energy_x` * :c:data:`energy_x_lda` +* :c:data:`energy_x_new_functional` * :c:data:`energy_x_pbe` * :c:data:`exc_degree_per_selectors` * :c:data:`exchange_functional` @@ -445,6 +447,9 @@ Index of Providers * :c:data:`n_states_diag` * :c:data:`n_virt_orb` * :c:data:`n_virt_orb_allocate` +* :c:data:`new_correlation_functional` +* :c:data:`new_exchange_functional` +* :c:data:`new_hf_exchange` * :c:data:`no_ivvv_integrals` * :c:data:`no_vvv_integrals` * :c:data:`no_vvvv_integrals` @@ -511,6 +516,10 @@ Index of Providers * :c:data:`potential_c_beta_ao_lda` * :c:data:`potential_c_beta_ao_pbe` * :c:data:`potential_c_beta_mo` +* :c:data:`potential_new_functional_c_alpha_ao` +* :c:data:`potential_new_functional_c_beta_ao` +* :c:data:`potential_new_functional_x_alpha_ao` +* :c:data:`potential_new_functional_x_beta_ao` * :c:data:`potential_sr_c_alpha_ao_lda` * :c:data:`potential_sr_c_alpha_ao_pbe` * :c:data:`potential_sr_c_beta_ao_lda` @@ -831,6 +840,8 @@ Index of Subroutines/Functions * :c:func:`davidson_diag_hs2` * :c:func:`davidson_pull_results` * :c:func:`davidson_push_results` +* :c:func:`davidson_push_results_async_recv` +* :c:func:`davidson_push_results_async_send` * :c:func:`davidson_run_slave` * :c:func:`davidson_slave_inproc` * :c:func:`davidson_slave_tcp` @@ -1213,6 +1224,8 @@ Index of Subroutines/Functions * :c:func:`push_integrals` * :c:func:`push_pt2` * :c:func:`push_pt2_results` +* :c:func:`push_pt2_results_async_recv` +* :c:func:`push_pt2_results_async_send` * :c:func:`push_selection_results` * :c:func:`qp_stop` * :c:func:`qrpa` @@ -1341,6 +1354,8 @@ Index of Subroutines/Functions * :c:func:`write_time` * :c:func:`zmq_abort` * :c:func:`zmq_delete_task` +* :c:func:`zmq_delete_task_async_recv` +* :c:func:`zmq_delete_task_async_send` * :c:func:`zmq_delete_tasks` * :c:func:`zmq_delete_tasks_async_recv` * :c:func:`zmq_delete_tasks_async_send` diff --git a/docs/source/programmers_guide/new_ks.rst b/docs/source/programmers_guide/new_ks.rst index a505f0c2..58e87c2a 100644 --- a/docs/source/programmers_guide/new_ks.rst +++ b/docs/source/programmers_guide/new_ks.rst @@ -1,5 +1,7 @@ -================================== -Developping new functionals for KS -================================== +============================================ +Developping new functionals for KS or RS-DFT +============================================ +The |QP| contains all the basic quantities to run |DFT| or |RS-DFT| calculations: +* Handling diff --git a/docs/source/users_guide/quickstart.rst b/docs/source/users_guide/quickstart.rst index d2de32c9..20e56c75 100644 --- a/docs/source/users_guide/quickstart.rst +++ b/docs/source/users_guide/quickstart.rst @@ -18,9 +18,10 @@ 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. + Before using the |qp|, it is required to load the environment variables + relatives to the |QP| or to be in the |qpsh| mode. + Here we'll do it within the |qpsh| shell: please run ${QP_ROOT}/bin/qpsh + in the current shell. Create the EZFIO database ------------------------- diff --git a/man/cis.1 b/man/cis.1 index 7ecc6ace..62ce6a66 100644 --- a/man/cis.1 +++ b/man/cis.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "CIS" "1" "Jan 29, 2019" "2.0" "Quantum Package" +.TH "CIS" "1" "Feb 04, 2019" "2.0" "Quantum Package" .SH NAME cis \- | Quantum Package > . diff --git a/man/cisd.1 b/man/cisd.1 index 20954d68..3daf00f2 100644 --- a/man/cisd.1 +++ b/man/cisd.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "CISD" "1" "Jan 29, 2019" "2.0" "Quantum Package" +.TH "CISD" "1" "Feb 04, 2019" "2.0" "Quantum Package" .SH NAME cisd \- | Quantum Package > . diff --git a/man/configure.1 b/man/configure.1 index 2bd704ed..806c7515 100644 --- a/man/configure.1 +++ b/man/configure.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "CONFIGURE" "1" "Jan 29, 2019" "2.0" "Quantum Package" +.TH "CONFIGURE" "1" "Feb 04, 2019" "2.0" "Quantum Package" .SH NAME configure \- | Quantum Package > . diff --git a/man/diagonalize_h.1 b/man/diagonalize_h.1 index ed8931ba..0360ca4a 100644 --- a/man/diagonalize_h.1 +++ b/man/diagonalize_h.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "DIAGONALIZE_H" "1" "Jan 29, 2019" "2.0" "Quantum Package" +.TH "DIAGONALIZE_H" "1" "Feb 04, 2019" "2.0" "Quantum Package" .SH NAME diagonalize_h \- | Quantum Package > . diff --git a/man/excited_states.1 b/man/excited_states.1 index f96ab6f2..d28ae86b 100644 --- a/man/excited_states.1 +++ b/man/excited_states.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "EXCITED_STATES" "1" "Jan 29, 2019" "2.0" "Quantum Package" +.TH "EXCITED_STATES" "1" "Feb 04, 2019" "2.0" "Quantum Package" .SH NAME excited_states \- | Quantum Package > . diff --git a/man/fci.1 b/man/fci.1 index 97975d6a..082634e3 100644 --- a/man/fci.1 +++ b/man/fci.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "FCI" "1" "Jan 29, 2019" "2.0" "Quantum Package" +.TH "FCI" "1" "Feb 04, 2019" "2.0" "Quantum Package" .SH NAME fci \- | Quantum Package > . diff --git a/man/fcidump.1 b/man/fcidump.1 index c8791248..17f0917b 100644 --- a/man/fcidump.1 +++ b/man/fcidump.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "FCIDUMP" "1" "Jan 29, 2019" "2.0" "Quantum Package" +.TH "FCIDUMP" "1" "Feb 04, 2019" "2.0" "Quantum Package" .SH NAME fcidump \- | Quantum Package > . diff --git a/man/four_idx_transform.1 b/man/four_idx_transform.1 index 41f89b92..31fc27a0 100644 --- a/man/four_idx_transform.1 +++ b/man/four_idx_transform.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "FOUR_IDX_TRANSFORM" "1" "Jan 29, 2019" "2.0" "Quantum Package" +.TH "FOUR_IDX_TRANSFORM" "1" "Feb 04, 2019" "2.0" "Quantum Package" .SH NAME four_idx_transform \- | Quantum Package > . diff --git a/man/interfaces.1 b/man/interfaces.1 index f9cadd99..6642e43e 100644 --- a/man/interfaces.1 +++ b/man/interfaces.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "INTERFACES" "1" "Jan 29, 2019" "2.0" "Quantum Package" +.TH "INTERFACES" "1" "Feb 04, 2019" "2.0" "Quantum Package" .SH NAME interfaces \- | Quantum Package > . diff --git a/man/ks_scf.1 b/man/ks_scf.1 index 00b42a45..eb0b726c 100644 --- a/man/ks_scf.1 +++ b/man/ks_scf.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "KS_SCF" "1" "Jan 29, 2019" "2.0" "Quantum Package" +.TH "KS_SCF" "1" "Feb 04, 2019" "2.0" "Quantum Package" .SH NAME ks_scf \- | Quantum Package > . diff --git a/man/molden.1 b/man/molden.1 index 1ceae1ab..3cc26592 100644 --- a/man/molden.1 +++ b/man/molden.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "MOLDEN" "1" "Jan 29, 2019" "2.0" "Quantum Package" +.TH "MOLDEN" "1" "Feb 04, 2019" "2.0" "Quantum Package" .SH NAME molden \- | Quantum Package > . diff --git a/man/natural_orbitals.1 b/man/natural_orbitals.1 index 35b0980c..30695eef 100644 --- a/man/natural_orbitals.1 +++ b/man/natural_orbitals.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "NATURAL_ORBITALS" "1" "Jan 29, 2019" "2.0" "Quantum Package" +.TH "NATURAL_ORBITALS" "1" "Feb 04, 2019" "2.0" "Quantum Package" .SH NAME natural_orbitals \- | Quantum Package > . diff --git a/man/plugins.1 b/man/plugins.1 index 018cf648..dfddc020 100644 --- a/man/plugins.1 +++ b/man/plugins.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "PLUGINS" "1" "Jan 29, 2019" "2.0" "Quantum Package" +.TH "PLUGINS" "1" "Feb 04, 2019" "2.0" "Quantum Package" .SH NAME plugins \- | Quantum Package > . diff --git a/man/print_e_conv.1 b/man/print_e_conv.1 index 21a083f1..1805fea2 100644 --- a/man/print_e_conv.1 +++ b/man/print_e_conv.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "PRINT_E_CONV" "1" "Jan 29, 2019" "2.0" "Quantum Package" +.TH "PRINT_E_CONV" "1" "Feb 04, 2019" "2.0" "Quantum Package" .SH NAME print_e_conv \- | Quantum Package > . diff --git a/man/print_wf.1 b/man/print_wf.1 index 515b8a91..545c746c 100644 --- a/man/print_wf.1 +++ b/man/print_wf.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "PRINT_WF" "1" "Jan 29, 2019" "2.0" "Quantum Package" +.TH "PRINT_WF" "1" "Feb 04, 2019" "2.0" "Quantum Package" .SH NAME print_wf \- | Quantum Package > . diff --git a/man/printing.1 b/man/printing.1 index 0ba10e53..16ba6c07 100644 --- a/man/printing.1 +++ b/man/printing.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "PRINTING" "1" "Jan 29, 2019" "2.0" "Quantum Package" +.TH "PRINTING" "1" "Feb 04, 2019" "2.0" "Quantum Package" .SH NAME printing \- | Quantum Package > . diff --git a/man/pt2.1 b/man/pt2.1 index 91ac2941..5c78a1f1 100644 --- a/man/pt2.1 +++ b/man/pt2.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "PT2" "1" "Jan 29, 2019" "2.0" "Quantum Package" +.TH "PT2" "1" "Feb 04, 2019" "2.0" "Quantum Package" .SH NAME pt2 \- | Quantum Package > . diff --git a/man/qp_convert_output_to_ezfio.1 b/man/qp_convert_output_to_ezfio.1 index 43c10485..6a0453ce 100644 --- a/man/qp_convert_output_to_ezfio.1 +++ b/man/qp_convert_output_to_ezfio.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "QP_CONVERT_OUTPUT_TO_EZFIO" "1" "Jan 29, 2019" "2.0" "Quantum Package" +.TH "QP_CONVERT_OUTPUT_TO_EZFIO" "1" "Feb 04, 2019" "2.0" "Quantum Package" .SH NAME qp_convert_output_to_ezfio \- | Quantum Package > . diff --git a/man/qp_create_ezfio_from_xyz.1 b/man/qp_create_ezfio_from_xyz.1 index de6a6da8..7e9e6f19 100644 --- a/man/qp_create_ezfio_from_xyz.1 +++ b/man/qp_create_ezfio_from_xyz.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "QP_CREATE_EZFIO_FROM_XYZ" "1" "Jan 29, 2019" "2.0" "Quantum Package" +.TH "QP_CREATE_EZFIO_FROM_XYZ" "1" "Feb 04, 2019" "2.0" "Quantum Package" .SH NAME qp_create_ezfio_from_xyz \- | Quantum Package > . diff --git a/man/qp_edit.1 b/man/qp_edit.1 index 3e222910..d5407ee9 100644 --- a/man/qp_edit.1 +++ b/man/qp_edit.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "QP_EDIT" "1" "Jan 29, 2019" "2.0" "Quantum Package" +.TH "QP_EDIT" "1" "Feb 04, 2019" "2.0" "Quantum Package" .SH NAME qp_edit \- | Quantum Package > . diff --git a/man/qp_export_as_tgz.1 b/man/qp_export_as_tgz.1 index 0950a030..9f83c3fb 100644 --- a/man/qp_export_as_tgz.1 +++ b/man/qp_export_as_tgz.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "QP_EXPORT_AS_TGZ" "1" "Jan 29, 2019" "2.0" "Quantum Package" +.TH "QP_EXPORT_AS_TGZ" "1" "Feb 04, 2019" "2.0" "Quantum Package" .SH NAME qp_export_as_tgz \- | Quantum Package > . diff --git a/man/qp_plugins.1 b/man/qp_plugins.1 index 7e5db588..754de3f3 100644 --- a/man/qp_plugins.1 +++ b/man/qp_plugins.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "QP_PLUGINS" "1" "Jan 29, 2019" "2.0" "Quantum Package" +.TH "QP_PLUGINS" "1" "Feb 04, 2019" "2.0" "Quantum Package" .SH NAME qp_plugins \- | Quantum Package > . diff --git a/man/qp_reset.1 b/man/qp_reset.1 index 2b62d8ed..96f39ffd 100644 --- a/man/qp_reset.1 +++ b/man/qp_reset.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "QP_RESET" "1" "Jan 29, 2019" "2.0" "Quantum Package" +.TH "QP_RESET" "1" "Feb 04, 2019" "2.0" "Quantum Package" .SH NAME qp_reset \- | Quantum Package > . diff --git a/man/qp_run.1 b/man/qp_run.1 index 7ec33303..0e706fe0 100644 --- a/man/qp_run.1 +++ b/man/qp_run.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "QP_RUN" "1" "Jan 29, 2019" "2.0" "Quantum Package" +.TH "QP_RUN" "1" "Feb 04, 2019" "2.0" "Quantum Package" .SH NAME qp_run \- | Quantum Package > . diff --git a/man/qp_set_frozen_core.1 b/man/qp_set_frozen_core.1 index 7077976e..241086fd 100644 --- a/man/qp_set_frozen_core.1 +++ b/man/qp_set_frozen_core.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "QP_SET_FROZEN_CORE" "1" "Jan 29, 2019" "2.0" "Quantum Package" +.TH "QP_SET_FROZEN_CORE" "1" "Feb 04, 2019" "2.0" "Quantum Package" .SH NAME qp_set_frozen_core \- | Quantum Package > . diff --git a/man/qp_set_mo_class.1 b/man/qp_set_mo_class.1 index 01c71fe6..ce3ce0e5 100644 --- a/man/qp_set_mo_class.1 +++ b/man/qp_set_mo_class.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "QP_SET_MO_CLASS" "1" "Jan 29, 2019" "2.0" "Quantum Package" +.TH "QP_SET_MO_CLASS" "1" "Feb 04, 2019" "2.0" "Quantum Package" .SH NAME qp_set_mo_class \- | Quantum Package > . diff --git a/man/qp_stop.1 b/man/qp_stop.1 index 47cc7559..3e9f42d4 100644 --- a/man/qp_stop.1 +++ b/man/qp_stop.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "QP_STOP" "1" "Jan 29, 2019" "2.0" "Quantum Package" +.TH "QP_STOP" "1" "Feb 04, 2019" "2.0" "Quantum Package" .SH NAME qp_stop \- | Quantum Package > . diff --git a/man/qp_update.1 b/man/qp_update.1 index 5acad761..319e3ecb 100644 --- a/man/qp_update.1 +++ b/man/qp_update.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "QP_UPDATE" "1" "Jan 29, 2019" "2.0" "Quantum Package" +.TH "QP_UPDATE" "1" "Feb 04, 2019" "2.0" "Quantum Package" .SH NAME qp_update \- | Quantum Package > . diff --git a/man/qpsh.1 b/man/qpsh.1 index e7f22a8c..fb05f1d8 100644 --- a/man/qpsh.1 +++ b/man/qpsh.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "QPSH" "1" "Jan 29, 2019" "2.0" "Quantum Package" +.TH "QPSH" "1" "Feb 04, 2019" "2.0" "Quantum Package" .SH NAME qpsh \- | Quantum Package > . diff --git a/man/rs_ks_scf.1 b/man/rs_ks_scf.1 index 1fc27949..e08761b7 100644 --- a/man/rs_ks_scf.1 +++ b/man/rs_ks_scf.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "RS_KS_SCF" "1" "Jan 29, 2019" "2.0" "Quantum Package" +.TH "RS_KS_SCF" "1" "Feb 04, 2019" "2.0" "Quantum Package" .SH NAME rs_ks_scf \- | Quantum Package > . diff --git a/man/save_natorb.1 b/man/save_natorb.1 index 1b06061d..4a6b50d4 100644 --- a/man/save_natorb.1 +++ b/man/save_natorb.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "SAVE_NATORB" "1" "Jan 29, 2019" "2.0" "Quantum Package" +.TH "SAVE_NATORB" "1" "Feb 04, 2019" "2.0" "Quantum Package" .SH NAME save_natorb \- | Quantum Package > . diff --git a/man/save_one_e_dm.1 b/man/save_one_e_dm.1 index 5899cdfb..d41ad7b3 100644 --- a/man/save_one_e_dm.1 +++ b/man/save_one_e_dm.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "SAVE_ONE_E_DM" "1" "Jan 29, 2019" "2.0" "Quantum Package" +.TH "SAVE_ONE_E_DM" "1" "Feb 04, 2019" "2.0" "Quantum Package" .SH NAME save_one_e_dm \- | Quantum Package > . diff --git a/man/save_ortho_mos.1 b/man/save_ortho_mos.1 index a3183723..aaee4f8c 100644 --- a/man/save_ortho_mos.1 +++ b/man/save_ortho_mos.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "SAVE_ORTHO_MOS" "1" "Jan 29, 2019" "2.0" "Quantum Package" +.TH "SAVE_ORTHO_MOS" "1" "Feb 04, 2019" "2.0" "Quantum Package" .SH NAME save_ortho_mos \- | Quantum Package > . diff --git a/man/scf.1 b/man/scf.1 index 9ff63737..ec9803d4 100644 --- a/man/scf.1 +++ b/man/scf.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "SCF" "1" "Jan 29, 2019" "2.0" "Quantum Package" +.TH "SCF" "1" "Feb 04, 2019" "2.0" "Quantum Package" .SH NAME scf \- | Quantum Package > . diff --git a/man/write_integrals_erf.1 b/man/write_integrals_erf.1 index 71b989c6..6180b2d3 100644 --- a/man/write_integrals_erf.1 +++ b/man/write_integrals_erf.1 @@ -1,6 +1,6 @@ .\" Man page generated from reStructuredText. . -.TH "WRITE_INTEGRALS_ERF" "1" "Jan 29, 2019" "2.0" "Quantum Package" +.TH "WRITE_INTEGRALS_ERF" "1" "Feb 04, 2019" "2.0" "Quantum Package" .SH NAME write_integrals_erf \- | Quantum Package > . diff --git a/src/dft_one_e/README.rst b/src/dft_one_e/README.rst new file mode 100644 index 00000000..4ffe01bf --- /dev/null +++ b/src/dft_one_e/README.rst @@ -0,0 +1,31 @@ +dft_one_e +========= + +This module defines the most important providers needed for the |DFT| and |RSDFT| calculations: + +* :c:data:`energy_x` and :c:data:`energy_c` : the *exchange* and *correlation* energy functionals (see :file:`e_xc_general.irp.f`) + +* :c:data:`potential_x_alpha_ao` and :c:data:`potential_x_beta_ao` : the exchange potential for alpha/beta electrons (see :file:`pot_general.irp.f`) + +* :c:data:`potential_c_alpha_ao` and :c:data:`potential_c_beta_ao` : the correlation potential for alpha/beta electrons (see :file:`pot_general.irp.f`) + + +These providers are then used in the :ref:`ks_scf` and :ref:`rs_ks_scf` programs, together within some |RSDFT| external +plugins (see ``_). + +The flexibility of the functionals is handle by the two following keywords (see :ref:`module_dft_keywords`): + +* :option:`dft_keywords exchange_functional` : defines which *exchange* functionals will be set + +* :option:`dft_keywords correlation_functional` : defines which *correlation* functionals will be set + + +In the core modules of the |QP|, two functionals are implemented: + + * "LDA" or "short_range_LDA" for, respectively the |LDA| and its short-range version + + * "PBE" or "short_range_PBE" for, respectively the |PBE| and its short-range version + + +If you have designed your own exchange/correlation functionals (see the documentation of the :ref:`module_new_functionals`), +you can use them in all |DFT|-based programs by setting the :option:`dft_keywords exchange_functional` and :option:`dft_keywords correlation_functional` keywords to "my_functional".