mod_dft_xc_libxc Module


Uses

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

Used by

  • module~~mod_dft_xc_libxc~~UsedByGraph module~mod_dft_xc_libxc mod_dft_xc_libxc module~mod_dft_gridint mod_dft_gridint module~mod_dft_gridint->module~mod_dft_xc_libxc 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 proc~derexc_blk derexc_blk proc~derexc_blk->module~mod_dft_gridint proc~dmatd_blk dmatd_blk proc~dmatd_blk->module~mod_dft_gridint proc~tddft_fxc tddft_fxc proc~tddft_fxc->module~mod_dft_gridint proc~tddft_gxc tddft_gxc proc~tddft_gxc->module~mod_dft_gridint proc~tddft_xc_gradient tddft_xc_gradient proc~tddft_xc_gradient->module~mod_dft_gridint proc~utddft_fxc utddft_fxc proc~utddft_fxc->module~mod_dft_gridint proc~utddft_xc_gradient utddft_xc_gradient proc~utddft_xc_gradient->module~mod_dft_gridint proc~dftder dftder proc~dftder->module~mod_dft_gridint_grad proc~dftexcor dftexcor proc~dftexcor->module~mod_dft_gridint_energy 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_energy tdhf_energy proc~tdhf_energy->module~mod_dft_gridint_fxc proc~tdhf_gradient tdhf_gradient proc~tdhf_gradient->module~mod_dft_gridint_tdxc_grad

Derived Types

type, public, extends(xc_lib_t) ::  xc_libxc_t

Components

Type Visibility Attributes Name Initial
logical, public :: reqSigma = .FALSE.
logical, public :: reqTau = .FALSE.
logical, public :: reqLapl = .FALSE.
logical, public :: reqBeta = .FALSE.
integer, public :: maxPts = 0
integer, public :: numPts = 0
integer, public :: nDer = 0
real(kind=fp), public :: E_xc = 0.0
real(kind=fp), public :: E_exch = 0.0
real(kind=fp), public :: E_corr = 0.0
logical, public :: providesEXC = .FALSE.
logical, public :: providesEX = .FALSE.
logical, public :: providesEC = .FALSE.
integer, public :: xclibID = XCLIB_LIBXC
type(xc_pack_t), public :: ids
real(kind=fp), public, allocatable :: memory_(:)
real(kind=fp), public, contiguous, pointer :: rho(:,:) => NULL()
real(kind=fp), public, contiguous, pointer :: drho(:,:) => NULL()
real(kind=fp), public, contiguous, pointer :: sig(:,:) => NULL()
real(kind=fp), public, contiguous, pointer :: tau(:,:) => NULL()
real(kind=fp), public, contiguous, pointer :: lapl(:,:) => NULL()
real(kind=fp), public, contiguous, pointer :: exc(:) => NULL()
real(kind=fp), public, contiguous, pointer :: d1dr(:,:) => NULL()
real(kind=fp), public, contiguous, pointer :: d1ds(:,:) => NULL()
real(kind=fp), public, contiguous, pointer :: d1dt(:,:) => NULL()
real(kind=fp), public, contiguous, pointer :: d1dl(:,:) => NULL()
real(kind=fp), public, contiguous, pointer :: d2r2(:,:) => NULL()
real(kind=fp), public, contiguous, pointer :: d2s2(:,:) => NULL()
real(kind=fp), public, contiguous, pointer :: d2t2(:,:) => NULL()
real(kind=fp), public, contiguous, pointer :: d2rs(:,:) => NULL()
real(kind=fp), public, contiguous, pointer :: d2rt(:,:) => NULL()
real(kind=fp), public, contiguous, pointer :: d2st(:,:) => NULL()
real(kind=fp), public, contiguous, pointer :: d2rl(:,:) => NULL()
real(kind=fp), public, contiguous, pointer :: d2sl(:,:) => NULL()
real(kind=fp), public, contiguous, pointer :: d2tl(:,:) => NULL()
real(kind=fp), public, contiguous, pointer :: d2l2(:,:) => NULL()
real(kind=fp), public, contiguous, pointer :: d3r3(:,:) => NULL()
real(kind=fp), public, contiguous, pointer :: d3r2s(:,:) => NULL()
real(kind=fp), public, contiguous, pointer :: d3rs2(:,:) => NULL()
real(kind=fp), public, contiguous, pointer :: d3s3(:,:) => NULL()
real(kind=fp), public, contiguous, pointer :: d3t3(:,:) => NULL()
real(kind=fp), public, contiguous, pointer :: d3r2t(:,:) => NULL()
real(kind=fp), public, contiguous, pointer :: d3s2t(:,:) => NULL()
real(kind=fp), public, contiguous, pointer :: d3rt2(:,:) => NULL()
real(kind=fp), public, contiguous, pointer :: d3st2(:,:) => NULL()
real(kind=fp), public, contiguous, pointer :: d3rst(:,:) => NULL()
real(kind=fp), public, contiguous, pointer :: d3r2l(:,:) => NULL()
real(kind=fp), public, contiguous, pointer :: d3rl2(:,:) => NULL()
real(kind=fp), public, contiguous, pointer :: d3rsl(:,:) => NULL()
real(kind=fp), public, contiguous, pointer :: d3rtl(:,:) => NULL()
real(kind=fp), public, contiguous, pointer :: d3s2l(:,:) => NULL()
real(kind=fp), public, contiguous, pointer :: d3sl2(:,:) => NULL()
real(kind=fp), public, contiguous, pointer :: d3stl(:,:) => NULL()
real(kind=fp), public, contiguous, pointer :: d3t2l(:,:) => NULL()
real(kind=fp), public, contiguous, pointer :: d3tl2(:,:) => NULL()
real(kind=fp), public, contiguous, pointer :: d3l3(:,:) => NULL()
integer, public :: nSpin
real(kind=fp), public, contiguous, pointer :: lib_output(:) => null()

Type-Bound Procedures

procedure, public :: clean
procedure, public :: scalexc
procedure, public, non_overridable :: echo
procedure, public, non_overridable :: getEnergy
procedure, public, non_overridable :: resetEnergy
procedure, public :: init
procedure, public :: setPts
procedure, public :: compute

Subroutines

public subroutine init(self, reqSigma, reqTau, reqLapl, reqBeta, maxPts, nDer)

Arguments

Type IntentOptional Attributes Name
class(xc_libxc_t) :: self
logical, intent(in) :: reqSigma
logical, intent(in) :: reqTau
logical, intent(in) :: reqLapl
logical, intent(in) :: reqBeta
integer, intent(in) :: maxPts
integer, intent(in) :: nDer

public subroutine setPts(self, numPts)

Arguments

Type IntentOptional Attributes Name
class(xc_libxc_t), target :: self
integer, intent(in) :: numPts

public subroutine compute(self, functional, wts)

Arguments

Type IntentOptional Attributes Name
class(xc_libxc_t) :: self
class(functional_t) :: functional
real(kind=fp), intent(in) :: wts(:)