9
1
mirror of https://github.com/QuantumPackage/qp2.git synced 2024-12-22 19:43:32 +01:00
qp2/src
2023-01-20 15:49:39 +01:00
..
ao_basis Fixed AO normalization problem 2023-01-09 10:51:12 +01:00
ao_many_one_e_ints merging with dev 2023-01-17 17:15:17 +01:00
ao_one_e_ints added the keyword for point charges in ao_one_e_ints 2023-01-18 11:40:14 +01:00
ao_tc_eff_map clean fork with + TC stuffs 2023-01-16 23:36:05 +01:00
ao_two_e_erf_ints Fixed compile error in previous commit 2020-05-12 19:10:12 +02:00
ao_two_e_ints Merge branch 'dev' of github.com:QuantumPackage/qp2 into dev 2022-12-02 12:07:52 +01:00
aux_quantities added the definition of the input density in the AO basis 2019-04-09 00:10:01 +02:00
basis minor modifs to merge 2022-09-30 16:22:18 +02:00
basis_correction merged with Abdallah 2022-09-30 15:27:43 +02:00
becke_numerical_grid Added final_grid_points_transp 2022-11-20 14:47:42 +01:00
bi_ort_ints beginning to optimize the double excitations for TC 2023-01-20 14:57:21 +01:00
bi_ortho_aos added many files and did a lot of documentation for bi-ortho scf 2022-10-05 00:05:22 +02:00
bi_ortho_mos merging with dev 2023-01-17 17:15:17 +01:00
bitmask mat to vec index 2022-11-08 15:34:10 +01:00
cas_based_on_top added some stuffs for foboscf 2021-04-08 20:37:17 +02:00
cipsi Merge pull request #1 from AbdAmmar/good-dev-tc 2022-12-08 17:46:30 +01:00
cipsi_tc_bi_ortho added cipsi_tc_bi_ortho 2022-10-24 21:14:31 +02:00
cis provder for Ha to eV 2022-05-19 10:42:29 +02:00
cisd Merging with master 2022-11-29 11:54:12 +01:00
cosgtos_ao_int added cosgtos_ao_int 2022-10-24 21:10:56 +02:00
csf fix csf 2023-01-02 09:28:42 +01:00
dav_general_mat Fixed Davidson 2022-12-23 18:31:27 +01:00
davidson Merge pull request #222 from v1j4y/csf_verified 2022-12-20 11:38:21 +01:00
davidson_dressed dressing excited states: ok 2022-09-09 10:22:59 +02:00
davidson_keywords Merging with master 2022-11-29 11:54:12 +01:00
davidson_undressed dressing excited states: ok 2022-09-09 10:22:59 +02:00
density_for_dft removed nan in density_for_dft when no beta electrons 2021-03-30 14:58:21 +02:00
determinants two body part up to single excitations work with fock 2023-01-19 19:29:26 +01:00
dft_keywords added the possibility to have a mu(r) in the functionals 2021-10-07 17:37:24 +02:00
dft_one_e forked v 2022-07-05 01:17:43 +02:00
dft_utils_func threshold in new jastrow int 2022-11-10 17:02:36 +01:00
dft_utils_in_r clean fork with + TC stuffs 2023-01-16 23:36:05 +01:00
dressing Merge dev 2022-11-30 10:18:41 +01:00
dummy beginning to reorganise stuffs 2020-04-07 12:19:17 +02:00
electrons Initial commit 2019-01-25 11:39:31 +01:00
ezfio_files Improving PT2 2022-03-09 10:23:27 +01:00
fci Fixing tests 2022-08-29 15:45:09 +02:00
fci_tc_bi added fci_tc_bi 2022-10-05 17:59:23 +02:00
functionals forked v 2022-07-05 01:17:43 +02:00
generators_cas Revert "Replaces psi_det_size by N_det" 2022-05-25 13:35:45 +02:00
generators_full Revert "Replaces psi_det_size by N_det" 2022-05-25 13:35:45 +02:00
hartree_fock clean fork with + TC stuffs 2023-01-16 23:36:05 +01:00
iterations Compiles with OCaml 4.13.1 2022-06-08 11:08:53 +02:00
iterations_tc added iterations_tc 2022-10-24 21:15:10 +02:00
kohn_sham Introduced screening.irp.f 2020-05-12 18:48:51 +02:00
kohn_sham_rs forked v 2022-07-05 01:17:43 +02:00
mo_basis Merging with master 2022-11-29 11:54:12 +01:00
mo_guess forked v 2022-07-05 01:17:43 +02:00
mo_localization Fixed type error in localization 2022-11-19 16:44:04 +01:00
mo_one_e_ints Deactivated banned excitations 2021-06-18 12:47:27 +02:00
mo_two_e_erf_ints Accelerated PT2 by removing sort 2022-05-01 21:42:20 +02:00
mo_two_e_ints Fixed problem of buffer size in MO transformation 2023-01-09 12:25:03 +01:00
mpi Initial commit 2019-01-25 11:39:31 +01:00
mu_of_r forked v 2022-07-05 01:17:43 +02:00
non_h_ints_mu merging with dev 2023-01-17 17:15:17 +01:00
non_hermit_dav clean fork with + TC stuffs 2023-01-16 23:36:05 +01:00
nuclei Fixed floating-point exceptions 2020-05-25 19:22:10 +02:00
perturbation Revert "Replaces psi_det_size by N_det" 2022-05-25 13:35:45 +02:00
pseudo Fix basis bugs when working on trexio 2021-12-30 14:43:14 +01:00
psiref_cas Revert "Replaces psi_det_size by N_det" 2022-05-25 13:35:45 +02:00
psiref_utils Revert "Replaces psi_det_size by N_det" 2022-05-25 13:35:45 +02:00
scf_utils merging with dev 2023-01-17 17:15:17 +01:00
selectors_cassd Warnings in documentation 2019-01-29 17:09:08 +01:00
selectors_full Fixed previous commit 2019-07-02 23:30:36 +02:00
selectors_utils Revert "Replaces psi_det_size by N_det" 2022-05-25 13:35:45 +02:00
single_ref_method Revert "Replaces psi_det_size by N_det" 2022-05-25 13:35:45 +02:00
some_mu_of_r working on rotate 2022-10-26 18:32:08 +02:00
tc_bi_ortho beginning to work on double exc with optimization 2023-01-20 15:49:39 +01:00
tc_keywords merging with dev 2023-01-17 17:15:17 +01:00
tc_scf merging with dev 2023-01-17 17:15:17 +01:00
three_body_ints added tc_keywords and three_body_ints 2022-10-05 17:29:26 +02:00
tools merging with dev 2023-01-17 17:15:17 +01:00
two_body_rdm forked v 2022-07-05 01:17:43 +02:00
two_rdm_routines Merge dev 2022-11-30 10:18:41 +01:00
utils merging with dev 2023-01-17 17:15:17 +01:00
utils_periodic Slowly merging periodic in dev 2020-03-18 16:35:41 +01:00
utils_trust_region mat to vec index 2022-11-08 15:34:10 +01:00
zmq Fixed ProgressBar 2022-11-29 12:06:24 +01:00
.gitignore Merge dev 2022-11-30 10:18:41 +01:00
README.rst renaming in functionals/sr_pbe.irp.f 2020-04-02 16:24:33 +02: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 ...