10
0
mirror of https://github.com/QuantumPackage/qp2.git synced 2024-12-23 12:55:37 +01:00
QuantumPackage/src
2021-01-02 15:40:03 +01:00
..
ao_basis fixed another floating point exception in aos_in_r.irp.f 2020-06-08 11:55:44 +02:00
ao_one_e_ints Merge pull request #140 from QuantumPackage/dev 2020-11-08 18:29:38 +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 Fixed Schwartz and added banned-excitations 2020-09-25 15:14:56 +02:00
aux_quantities added the definition of the input density in the AO basis 2019-04-09 00:10:01 +02:00
basis_correction removed stupid dependency in basis_set_correction 2020-11-09 18:30:10 +01:00
becke_numerical_grid added all the angular integration grid 2020-06-27 13:31:29 +02:00
bitmask fixed a bug in two_rdm, added the possibility to Write/Read the all_states active 2 rdm 2020-04-02 14:22:01 +02:00
cas_based_on_top removed spurious dependency 2020-04-29 15:11:48 +02:00
cipsi Introduced pt2_min_parallel_tasks 2020-11-08 16:52:39 +01:00
cis First python3 3 working installation 2020-03-17 18:02:29 +01:00
cisd cleaned some dirty non ascii character 2020-03-31 18:40:20 +02:00
davidson Fixed threshold_from_pt2 2020-11-08 17:11:27 +01:00
davidson_dressed Initial commit 2019-01-25 11:39:31 +01:00
davidson_undressed Initial commit 2019-01-25 11:39:31 +01:00
density_for_dft beginning the cleaning of two_body_rdm 2020-03-18 15:13:49 +01:00
determinants Merge pull request #131 from QuantumPackage/dev 2020-09-11 12:49:24 +02:00
dft_keywords removed small bug 2020-03-30 19:30:29 +02:00
dft_one_e fixed the ao effective potential in DFT 2020-06-08 14:47:19 +02:00
dft_utils_func fixed bug in g0_UEG_mu_inf, src/dft_utils_func/on_top_from_ueg.irp.f 2020-06-08 15:17:53 +02:00
dft_utils_in_r some cleaning 2021-01-02 15:40:03 +01:00
dressing Initial commit 2019-01-25 11:39:31 +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 Increased size of strings 2020-05-15 14:53:55 +02:00
fci Fix travis 2020-10-26 16:43:17 +01:00
functionals beginning to reorganise stuffs 2020-04-07 12:19:17 +02:00
generators_cas Fixed small bugs 2019-06-27 23:46:30 +02:00
generators_full Initial commit 2019-01-25 11:39:31 +01:00
hartree_fock Try to fix travis NaN 2020-08-28 23:57:11 +02:00
iterations Removed norm2 2020-08-31 22:39:40 +02:00
kohn_sham Introduced screening.irp.f 2020-05-12 18:48:51 +02:00
kohn_sham_rs Introduced screening.irp.f 2020-05-12 18:48:51 +02:00
mo_basis fixed bug in laplacians 2020-10-07 11:03:23 +02:00
mo_guess some cleaning 2021-01-02 15:40:03 +01:00
mo_one_e_ints Moved lin_dep_cutoff 2020-06-04 18:42:44 +02:00
mo_two_e_erf_ints Initial commit 2019-01-25 11:39:31 +01:00
mo_two_e_ints Fixed Schwartz and added banned-excitations 2020-09-25 15:14:56 +02:00
mpi Initial commit 2019-01-25 11:39:31 +01:00
mu_of_r some cleaning 2021-01-02 15:40:03 +01:00
nuclei Fixed floating-point exceptions 2020-05-25 19:22:10 +02:00
perturbation Introduced pt2_min_parallel_tasks 2020-11-08 16:52:39 +01:00
pseudo Initial commit 2019-01-25 11:39:31 +01:00
psiref_cas Initial commit 2019-01-25 11:39:31 +01:00
psiref_utils Initial commit 2019-01-25 11:39:31 +01:00
scf_utils minor change 2020-09-02 17:09:19 +02: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 Initial commit 2019-01-25 11:39:31 +01:00
single_ref_method Initial commit 2019-01-25 11:39:31 +01:00
tools added tools/huckel_guess.irp.f 2020-10-19 12:20:14 +02:00
two_body_rdm added two_body_dens_rout.irp.f 2020-04-27 11:31:24 +02:00
two_rdm_routines removed symmetry bug in a-b-2-RDM : warning it has no impacts on any quantity as long as all the elements of the two-rdm were used 2020-11-08 18:26:54 +01:00
utils Merge pull request #140 from QuantumPackage/dev 2020-11-08 18:29:38 +01:00
utils_periodic Slowly merging periodic in dev 2020-03-18 16:35:41 +01:00
zmq Initialize message in zmq_en_parallel 2020-08-31 15:28:30 +02: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 ...