10
0
mirror of https://github.com/QuantumPackage/qp2.git synced 2024-06-26 23:22:24 +02:00
QuantumPackage/src
2023-08-29 19:21:54 +02:00
..
ao_basis fixed bug in nucl_aos 2023-06-22 18:26:52 +02:00
ao_many_one_e_ints opt in v_ij_u_cst_mu_j1b_an: tested 2023-08-29 19:21:54 +02:00
ao_one_e_ints Fixed the pt_charges bug: 2023-06-12 13:36:01 +02:00
ao_tc_eff_map \int dr2 phi_i(r2) phi_j(r2) u(r12) v_1b(r2) 2023-07-02 00:19:17 +02:00
ao_two_e_erf_ints
ao_two_e_ints Improved I/O in CCSD 2023-06-12 14:05:36 +02:00
aux_quantities
basis
basis_correction
becke_numerical_grid minor modifs 2023-06-04 09:58:29 +02:00
bi_ort_ints added keywords for r1 grid 2023-07-02 21:49:25 +02:00
bi_ortho_mos minor modif 2023-08-29 14:26:07 +02:00
bitmask
cas_based_on_top
ccsd fix binary search (T) 2023-06-15 14:46:17 +02:00
cipsi Fixed singles when no beta exc 2023-06-10 11:56:07 +02:00
cipsi_tc_bi_ortho added keywords for r1 grid 2023-07-02 21:49:25 +02:00
cis
cisd
csf
dav_general_mat minor modif in non-sym Dav 2023-06-21 10:44:37 +02:00
davidson Merge branch 'master' into dev-stable 2023-06-15 13:31:25 +02:00
davidson_dressed
davidson_keywords
davidson_undressed
density_for_dft
determinants
dft_keywords
dft_one_e
dft_utils_func
dft_utils_in_r fixed bug in nucl_aos 2023-06-22 18:26:52 +02:00
dressing
dummy
electrons
ezfio_files Fixed singles when no beta exc 2023-06-10 11:56:07 +02:00
fci Update test in FCI 2023-06-11 12:19:39 +02:00
fci_tc_bi added keywords for r1 grid 2023-07-02 21:49:25 +02:00
functionals
generators_cas
generators_full
hartree_fock Fixed the pt_charges bug: 2023-06-12 13:36:01 +02:00
iterations
json
kohn_sham
kohn_sham_rs
mo_basis
mo_guess
mo_localization
mo_one_e_ints
mo_optimization removed UGLY NON ASCII CHARACTERS 2023-06-29 18:31:48 +02:00
mo_two_e_erf_ints
mo_two_e_ints Improved I/O in CCSD 2023-06-12 14:05:36 +02:00
mol_properties removed UGLY NON ASCII CHARACTERS 2023-06-29 18:31:48 +02:00
mpi
mu_of_r
non_h_ints_mu opt in v_ij_u_cst_mu_j1b_an: tested 2023-08-29 19:21:54 +02:00
non_hermit_dav
nuclei Fixed the pt_charges bug: 2023-06-12 13:36:01 +02:00
ortho_three_e_ints
perturbation
pseudo
psiref_cas
psiref_utils
scf_utils update ROHF F matrix with gamess parametrization 2023-06-08 10:49:06 +02:00
selectors_cassd
selectors_full
selectors_utils
single_ref_method
tc_bi_ortho Merge pull request #303 from AbdAmmar/dev-stable-tc-scf 2023-07-03 01:49:00 +02:00
tc_keywords added keywords for r1 grid 2023-07-02 21:49:25 +02:00
tc_scf minor modif 2023-08-29 14:26:07 +02:00
tools Fixed singles when no beta exc 2023-06-10 11:56:07 +02:00
trexio Fix normalization factor in trexio 2023-05-31 11:01:51 +02:00
two_body_rdm
two_rdm_routines
utils \int dr2 phi_i(r2) phi_j(r2) u(r12) v_1b(r2) 2023-07-02 00:19:17 +02:00
utils_cc Cholesky flag in CCSD 2023-06-29 18:52:31 +02:00
utils_periodic
utils_trust_region removed UGLY NON ASCII CHARACTERS 2023-06-29 18:31:48 +02:00
zmq
.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 ...