functionals Module

@brief MODULE functionals @brief The part of libxc driver @detail This module save information about DFT functional, which will work @author Igor S. Gerasimov @date July, 2019 Adding ability for Ground State and TD calculations


Uses

  • module~~functionals~~UsesGraph module~functionals functionals iso_c_binding iso_c_binding module~functionals->iso_c_binding module~precision precision module~functionals->module~precision xc_f03_lib_m xc_f03_lib_m module~functionals->xc_f03_lib_m iso_fortran_env iso_fortran_env module~precision->iso_fortran_env

Used by

  • module~~functionals~~UsedByGraph module~functionals functionals module~libxc libxc module~libxc->module~functionals module~mod_dft_gridint mod_dft_gridint module~mod_dft_gridint->module~functionals module~mod_dft_xc_libxc mod_dft_xc_libxc module~mod_dft_gridint->module~mod_dft_xc_libxc module~mod_dft_xclib mod_dft_xclib module~mod_dft_xclib->module~functionals module~types types module~types->module~functionals proc~compute~2 xc_libxc_t%compute proc~compute~2->module~functionals module~c_interop c_interop module~c_interop->module~types module~grd1 grd1 module~grd1->module~types module~hf_gradient_mod hf_gradient_mod module~hf_gradient_mod->module~types module~mod_dft_gridint_energy mod_dft_gridint_energy module~mod_dft_gridint_energy->module~mod_dft_gridint module~mod_dft_gridint_fxc mod_dft_gridint_fxc module~mod_dft_gridint_fxc->module~mod_dft_gridint module~mod_dft_gridint_grad mod_dft_gridint_grad module~mod_dft_gridint_grad->module~mod_dft_gridint module~mod_dft_gridint_gxc mod_dft_gridint_gxc module~mod_dft_gridint_gxc->module~mod_dft_gridint module~mod_dft_gridint_gxc->module~mod_dft_gridint_fxc module~mod_dft_gridint_tdxc_grad mod_dft_gridint_tdxc_grad module~mod_dft_gridint_tdxc_grad->module~mod_dft_gridint module~mod_dft_xc_libxc->module~mod_dft_xclib module~tdhf_gradient_mod tdhf_gradient_mod module~tdhf_gradient_mod->module~types module~tdhf_z_vector_mod tdhf_z_vector_mod module~tdhf_z_vector_mod->module~types proc~apply_basis_c apply_basis_C proc~apply_basis_c->module~types proc~apply_basis_c->module~c_interop proc~compute_states_overlap compute_states_overlap proc~compute_states_overlap->module~types proc~derexc_blk derexc_blk proc~derexc_blk->module~mod_dft_gridint proc~derexc_blk->module~types proc~dft_initialize dft_initialize proc~dft_initialize->module~types proc~dftclean dftclean proc~dftclean->module~libxc proc~dftclean->module~types proc~dftder dftder proc~dftder->module~types proc~dftder->module~mod_dft_gridint_grad proc~dftexcor dftexcor proc~dftexcor->module~types proc~dftexcor->module~mod_dft_gridint_energy proc~dmatd_blk dmatd_blk proc~dmatd_blk->module~mod_dft_gridint proc~dmatd_blk->module~types proc~electric_moments electric_moments proc~electric_moments->module~types proc~fock_jk fock_jk proc~fock_jk->module~types proc~get_ab_initio_density get_ab_initio_density proc~get_ab_initio_density->module~types proc~get_mrsf_transition_density get_mrsf_transition_density proc~get_mrsf_transition_density->module~types proc~get_state_overlap_c get_state_overlap_C proc~get_state_overlap_c->module~types proc~get_state_overlap_c->module~c_interop proc~get_states_overlap get_states_overlap proc~get_states_overlap->module~types proc~get_structures_ao_overlap get_structures_ao_overlap proc~get_structures_ao_overlap->module~types proc~get_structures_ao_overlap_c get_structures_ao_overlap_C proc~get_structures_ao_overlap_c->module~types proc~get_structures_ao_overlap_c->module~c_interop proc~get_td_transition_dipole get_td_transition_dipole proc~get_td_transition_dipole->module~types proc~grad_1e_ecp grad_1e_ecp proc~grad_1e_ecp->module~types proc~grd2_driver grd2_driver proc~grd2_driver->module~types proc~guess_hcore guess_hcore proc~guess_hcore->module~types proc~guess_hcore_c guess_hcore_C proc~guess_hcore_c->module~types proc~guess_hcore_c->module~c_interop proc~guess_huckel guess_huckel proc~guess_huckel->module~types proc~guess_huckel_c guess_huckel_C proc~guess_huckel_c->module~types proc~guess_huckel_c->module~c_interop proc~guess_json guess_json proc~guess_json->module~types proc~guess_json_c guess_json_C proc~guess_json_c->module~types proc~guess_json_c->module~c_interop proc~hf_energy hf_energy proc~hf_energy->module~types proc~huckel_guess huckel_guess proc~huckel_guess->module~types proc~int1e int1e proc~int1e->module~types proc~ints_exchange ints_exchange proc~ints_exchange->module~types proc~libxc_input libxc_input proc~libxc_input->module~types proc~lowdin lowdin proc~lowdin->module~types proc~mo_reorder mo_reorder proc~mo_reorder->module~types proc~mrinivec mrinivec proc~mrinivec->module~types proc~mrsf_tlf mrsf_tlf proc~mrsf_tlf->module~types proc~mrsfcbc mrsfcbc proc~mrsfcbc->module~types proc~mrsfesum mrsfesum proc~mrsfesum->module~types proc~mrsfmntoia mrsfmntoia proc~mrsfmntoia->module~types proc~mrsfxvec mrsfxvec proc~mrsfxvec->module~types proc~mulliken mulliken proc~mulliken->module~types proc~oqp_apply_basis oqp_apply_basis proc~oqp_apply_basis->module~types proc~oqp_banner oqp_banner proc~oqp_banner->module~types proc~oqp_banner_c oqp_banner_C proc~oqp_banner_c->module~types proc~oqp_banner_c->module~c_interop proc~oqp_resp_charges oqp_resp_charges proc~oqp_resp_charges->module~types proc~print_eigvec_vals_labeled print_eigvec_vals_labeled proc~print_eigvec_vals_labeled->module~types proc~print_mo_range print_mo_range proc~print_mo_range->module~types proc~print_nac print_nac proc~print_nac->module~types proc~print_results~2 print_results proc~print_results~2->module~types proc~resp_charges_c resp_charges_C proc~resp_charges_c->module~types proc~resp_charges_c->module~c_interop proc~run_population_analysis run_population_analysis proc~run_population_analysis->module~types proc~scf_driver scf_driver proc~scf_driver->module~types proc~shell_den_screen_mrsf shell_den_screen_mrsf proc~shell_den_screen_mrsf->module~types proc~shlrpagrd shlrpagrd proc~shlrpagrd->module~types proc~shltd shltd proc~shltd->module~types proc~tddft_fxc tddft_fxc proc~tddft_fxc->module~mod_dft_gridint proc~tddft_fxc->module~types proc~tddft_gxc tddft_gxc proc~tddft_gxc->module~mod_dft_gridint proc~tddft_gxc->module~types proc~tddft_xc_gradient tddft_xc_gradient proc~tddft_xc_gradient->module~mod_dft_gridint proc~tddft_xc_gradient->module~types proc~tdhf_1e_grad tdhf_1e_grad proc~tdhf_1e_grad->module~types proc~tdhf_1e_grad->module~grd1 proc~tdhf_2e_grad tdhf_2e_grad proc~tdhf_2e_grad->module~types proc~tdhf_energy tdhf_energy proc~tdhf_energy->module~types proc~tdhf_energy->module~mod_dft_gridint_fxc proc~tdhf_energy_c tdhf_energy_C proc~tdhf_energy_c->module~types proc~tdhf_energy_c->module~c_interop proc~tdhf_gradient tdhf_gradient proc~tdhf_gradient->module~types proc~tdhf_gradient->module~grd1 proc~tdhf_gradient->module~mod_dft_gridint_tdxc_grad proc~tdhf_mrsf_energy tdhf_mrsf_energy proc~tdhf_mrsf_energy->module~types proc~tdhf_mrsf_energy_c tdhf_mrsf_energy_C proc~tdhf_mrsf_energy_c->module~types proc~tdhf_mrsf_energy_c->module~c_interop proc~tdhf_sf_energy tdhf_sf_energy proc~tdhf_sf_energy->module~types proc~tdhf_sf_energy_c tdhf_sf_energy_C proc~tdhf_sf_energy_c->module~types proc~tdhf_sf_energy_c->module~c_interop proc~tdhf_z_vector_c tdhf_z_vector_C proc~tdhf_z_vector_c->module~types proc~tdhf_z_vector_c->module~c_interop proc~utddft_fxc utddft_fxc proc~utddft_fxc->module~mod_dft_gridint proc~utddft_fxc->module~types proc~utddft_xc_gradient utddft_xc_gradient proc~utddft_xc_gradient->module~mod_dft_gridint proc~utddft_xc_gradient->module~types proc~hf_gradient hf_gradient proc~hf_gradient->module~grd1 proc~oqp_tdhf_z_vector oqp_tdhf_z_vector proc~oqp_tdhf_z_vector->module~mod_dft_gridint_fxc proc~oqp_tdhf_z_vector->module~mod_dft_gridint_gxc proc~tdhf_gradient_c tdhf_gradient_C proc~tdhf_gradient_c->module~c_interop

Derived Types

type, public ::  functional_t

Components

Type Visibility Attributes Name Initial
logical, public :: needgrd = .false.
logical, public :: needtau = .false.
logical, public :: needlapl = .false.

Type-Bound Procedures

procedure, public :: destroy
procedure, public :: can_calculate
procedure, public :: add_functional
procedure, public :: calc_xc
procedure, public :: calc_evfxc
procedure, public :: calc_evxc