9
1
mirror of https://github.com/QuantumPackage/qp2.git synced 2025-02-07 01:04:11 +01:00
AbdAmmar bf1ee8f8fa
Some checks failed
continuous-integration/drone/push Build is failing
Merge branch 'dev-stable-tc-scf' into dev-stable-tc-scf
2023-06-02 20:28:12 +02:00
..
2023-05-15 00:31:28 +02:00
2023-06-01 21:42:02 +02:00
2023-05-07 12:44:59 +02:00
2023-06-01 21:42:02 +02:00
2021-12-07 19:30:32 +01:00
2023-05-15 00:31:28 +02:00
2023-04-26 08:52:06 +02:00
2023-06-02 16:10:04 +02:00
2023-05-26 11:48:08 +02:00
2022-03-28 20:08:35 +02:00
2023-03-13 10:25:39 +01:00
2022-03-24 16:18:51 +01:00
2023-02-07 17:07:49 +01:00
2023-05-06 20:42:39 +02:00
2023-03-15 10:23:48 +01:00
2023-03-15 10:23:48 +01:00
2023-02-13 20:12:33 +01:00
2022-03-25 09:30:43 +01:00
2020-04-07 12:19:17 +02:00
2019-01-25 11:39:31 +01:00
2023-04-17 17:03:16 +02:00
2023-04-24 00:50:07 +02:00
2019-06-27 23:46:30 +02:00
2019-01-25 11:39:31 +01:00
2023-04-24 00:50:07 +02:00
2023-05-06 20:42:39 +02:00
2023-04-21 18:08:54 +02:00
2023-04-18 13:22:46 +02:00
2023-04-21 13:44:51 +02:00
2023-02-16 11:00:25 +01:00
2023-03-11 23:40:52 +01:00
2019-01-25 11:39:31 +01:00
2023-03-04 13:07:12 +01:00
2023-02-06 19:03:22 +01:00
2023-04-21 15:45:32 +02:00
2019-01-25 11:39:31 +01:00
2019-01-25 11:39:31 +01:00
2023-04-24 00:50:07 +02:00
2019-01-29 17:09:08 +01:00
2019-07-02 23:30:36 +02:00
2019-01-25 11:39:31 +01:00
2019-01-25 11:39:31 +01:00
2023-06-01 19:59:25 +02:00
2023-05-31 11:01:51 +02:00
2023-05-12 16:04:45 +02:00
2023-05-17 16:55:29 +02:00
2023-02-06 18:00:29 +01:00

==========================
The core modules of the QP
==========================

*** How are handled the DFT functionals in QP2 ?
================================================
    The Exchange and Correlation energies/potentials can be accessed by the following providers 
    energy_x
    energy_c
    potential_x_alpha_ao
    potential_c_alpha_ao
    potential_x_beta_ao
    potential_c_beta_ao

    These providers are automatically linked to the providers of the actual exchange/correlation energies of a given functional 
    through the character keywords 
    "exchange_functional"
    "correlation_functional"

    All the providers for the available functionals are in the folder "functionals", with one file "my_functional.irp.f" per functional.  

    Ex : if "exchange_functional" == "sr_pbe", then energy_x will contain the exchange correlation functional defined in "functiona/sr_pbe.irp.f", which corresponds to the short-range PBE functional (at the value mu_erf for the range separation parameter) 


*** How to add a new functional in QP2 
======================================

    Creating a new functional and propagating it through the whole QP2 programs is easy as all dependencies are handled by a script. 

    To do so, let us assume that the name of your functional is "my_func". 
    Then you just have to create the file "my_func.irp.f" in the folder "functional" which shoud contain 

    +) if you're adding an exchange functional, then create the provider "energy_x_my_func" 

    +) if you're adding a correlation functional, create the provider "energy_c_my_func" 
    
    +) if you want to add the echange potentials, create the providers "potential_x_alpha_ao_my_func", "potential_x_beta_ao_my_func"  which are the exchange potentials on the AO basis for the alpha/beta electrons 

    +) if you want to add the correlation potentials, create the providers "potential_c_alpha_ao_my_func", "potential_c_beta_ao_my_func"  which are the correlation potentials on the AO basis for the alpha/beta electrons 
    
    That's all :) 
   
    Then, when running whatever DFT calculation or accessing/using the providers: 
    energy_x
    energy_c
    potential_x_alpha_ao
    potential_c_alpha_ao
    potential_x_beta_ao
    potential_c_beta_ao
 
    if exchange_functional = mu_func, then you will automatically have access to what you need, such as kohn sham orbital optimization and so on ...