9
1
mirror of https://github.com/QuantumPackage/qp2.git synced 2024-06-19 19:12:05 +02:00
qp2/src
Anthony Scemama 56b57eb2e1
Some checks failed
continuous-integration/drone/push Build is failing
Merge branch 'master' into dev-stable
2024-02-08 08:51:45 +01:00
..
ao_basis
ao_one_e_ints Merge branch 'master' of github.com:QuantumPackage/qp2 2024-02-08 08:50:20 +01:00
ao_two_e_ints Fix ezfio save 2023-10-18 09:08:37 +02:00
aux_quantities Fixed configure problem 2023-11-07 10:40:56 +01:00
basis
becke_numerical_grid optim in 1e-Jastrow 2024-01-25 22:12:26 +01:00
bitmask Fixed previous commit 2024-01-10 11:14:49 +01:00
cas_based_on_top Fixed configure problem 2023-11-07 10:40:56 +01:00
casscf_cipsi Fix bug in casscf 2023-11-07 11:50:41 +01:00
ccsd Fixed qp_export_as_tgz 2023-12-05 17:19:47 +01:00
cipsi improved casscf and added README.rst 2023-10-06 15:36:38 +02:00
cis Fixing tests 2023-10-17 23:35:14 +02:00
cisd Fixing tests 2023-10-18 00:13:10 +02:00
csf
dav_general_mat added non-sym diag for tc-rpa 2023-12-22 20:15:58 +01:00
davidson Better behavior when DSYGV Failed 2023-10-11 10:24:55 +02:00
davidson_dressed
davidson_keywords Fixed Conflict 2023-09-15 11:37:11 +02:00
davidson_undressed
density_for_dft
determinants Fixed previous commit 2024-01-10 11:14:49 +01:00
dft_keywords
dft_one_e Fixing compilation 2023-10-16 16:37:08 +02:00
dft_utils_func updated dft_utils_func/on_top_from_ueg.irp.f 2023-09-21 15:24:51 +02:00
dft_utils_in_r new keywords for Jastrow 2024-01-15 12:02:38 +01:00
dressing
dummy Merged erf modules, and moved mu_erf into hamiltonian module 2023-10-16 16:18:58 +02:00
electrons
ezfio_files Merge branch 'macos' into dev-stable 2023-10-23 15:30:35 +02:00
fci minor modif 2023-10-12 16:15:17 +02:00
functionals
generators_cas
generators_full
hamiltonian hamiltonian -> jastrow 2024-01-15 19:02:05 +01:00
hartree_fock Merge branch 'QuantumPackage-dev-stable' into dev-stable-tc-scf 2023-12-23 09:26:29 +01:00
iterations Fixed reversed order in print of extrapolation 2023-10-11 09:42:10 +02:00
json
kohn_sham
kohn_sham_rs Fixing tests 2023-10-17 17:52:43 +02:00
mo_basis
mo_guess
mo_one_e_ints
mo_optimization Fixed qp_export_as_tgz 2023-12-05 17:19:47 +01:00
mo_two_e_ints cas_ful -> cas_full 2023-11-11 16:13:23 +01:00
mol_properties
mpi
mu_of_r cas_ful -> cas_full 2023-11-11 16:13:23 +01:00
nuclei Merge branch 'macos' into dev-stable 2023-10-23 15:30:35 +02:00
perturbation
pseudo
psiref_cas
psiref_utils
scf_utils sleep 2023-08-30 15:21:21 +02:00
selectors_cassd
selectors_full
selectors_utils
single_ref_method
tools Added generate_cas_space and cas_complete 2024-01-10 11:09:17 +01:00
trexio Fix modifying determinants before mo_label exists 2023-11-27 14:25:05 +01:00
two_body_rdm cas_ful -> cas_full 2023-11-11 16:13:23 +01:00
two_rdm_routines
utils Merge branch 'dev-stable' of github.com:QuantumPackage/qp2 into dev-stable 2024-01-30 19:52:35 +01:00
utils_cc Fixed qp_export_as_tgz 2023-12-05 17:19:47 +01:00
utils_periodic
utils_trust_region Fixed qp_export_as_tgz 2023-12-05 17:19:47 +01:00
zmq Changed how libraries are handled 2023-09-19 14:43:42 +02:00
.gitignore
README.rst

==========================
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 ...