libxc Module

@brief MODULE libxc @brief The head of libxc driver @author Igor S. Gerasimov @date July, 2019 - Initial release - @date July, 2021 Making internal subroutines private

Todo

add LC-, CAM- free coefficient functionals

Todo

add meta-GGA functionals with laplacian of electron density


Uses

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

Used by

  • module~~libxc~~UsedByGraph module~libxc libxc proc~dftclean dftclean proc~dftclean->module~libxc

Subroutines

public subroutine libxc_input(functional_name, dft_params, tddft_params, functional)

@brief setting up of using libxc functionals (Analog of INPGDFT) @detail @author Igor S. Gerasimov @date July, 2019 - Initial release - @date July, 2021 Using messages module Adding optional arguments @date Dec, 2022 Pass functional instead of using global @params functional_name (in) functional's name @param infos (inout) info datatype @param functional (inout) constructing functional

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: functional_name
type(dft_parameters), intent(inout) :: dft_params
type(tddft_parameters), intent(inout) :: tddft_params
type(functional_t), intent(inout) :: functional

public subroutine libxc_destroy(functional)

@brief Destroy internal variables of functional @author Igor S. Gerasimov @date Dec, 2020 - Initial release - @date Dec, 2022 Pass local functional instead of global

Arguments

Type IntentOptional Attributes Name
type(functional_t), intent(inout) :: functional