Documentation for module xc_libxc

calculates a functional from libxc and its derivatives

source: xc_libxc.F
Loading...

public Subroutines/Functions:

evaluates the functional from libxc
info about the functional from libxc
evaluates the functional from libxc
info about the functional from libxc
info about the LibXC version

SUBROUTINElibxc_lda_eval(rho_set, deriv_set, grad_deriv, libxc_params, ifunc_name)

evaluates the functional from libxc

Arguments:
POINTER
:: rho_set the density where you want to evaluate the functional
POINTER
:: deriv_set place where to store the functional derivatives (they are added to the derivatives)
INTEGER,
INTENT(in)
:: grad_deriv degree of the derivative that should be evaluated, if positive all the derivatives up to the given degree are evaluated, if negative only the given degree is calculated
POINTER
:: libxc_params input parameter (functional name, scaling and parameters)
INTEGER,
INTENT(in)
:: ifunc_name the index of the functional as given in the input file

SUBROUTINElibxc_lda_info(libxc_params, reference, shortform, needs, max_deriv, ifunc_name)

info about the functional from libxc

Arguments:
POINTER
:: libxc_params input parameter (functional name, scaling and parameters)
CHARACTER(*),
INTENT(out),
OPTIONAL
:: reference string with the reference of the actual functional
CHARACTER(*),
INTENT(out),
OPTIONAL
:: shortform string with the shortform of the functional name
INTENT(inout),
OPTIONAL
:: needs the components needed by this functional are set to true (does not set the unneeded components to false)
INTEGER,
INTENT(out),
OPTIONAL
:: max_deriv maximum implemented derivative of the xc functional
INTEGER,
INTENT(in)
:: ifunc_name the index of the functional as given in the input file

SUBROUTINElibxc_lsd_eval(rho_set, deriv_set, grad_deriv, libxc_params, ifunc_name)

evaluates the functional from libxc

Arguments:
POINTER
:: rho_set the density where you want to evaluate the functional
POINTER
:: deriv_set place where to store the functional derivatives (they are added to the derivatives)
INTEGER,
INTENT(in)
:: grad_deriv degree of the derivative that should be evaluated, if positive all the derivatives up to the given degree are evaluated, if negative only the given degree is calculated
POINTER
:: libxc_params input parameter (functional name, scaling and parameters)
INTEGER,
INTENT(in)
:: ifunc_name the index of the functional as given in the input file

SUBROUTINElibxc_lsd_info(libxc_params, reference, shortform, needs, max_deriv, ifunc_name)

info about the functional from libxc

Arguments:
POINTER
:: libxc_params input parameter (functional name, scaling and parameters)
CHARACTER(*),
INTENT(out),
OPTIONAL
:: reference string with the reference of the actual functional
CHARACTER(*),
INTENT(out),
OPTIONAL
:: shortform string with the shortform of the functional name
INTENT(inout),
OPTIONAL
:: needs the components needed by this functional are set to true (does not set the unneeded components to false)
INTEGER,
INTENT(out),
OPTIONAL
:: max_deriv maximum implemented derivative of the xc functional
INTEGER,
INTENT(in)
:: ifunc_name the index of the functional as given in the input file

SUBROUTINElibxc_version_info(version)

info about the LibXC version

Arguments:
CHARACTER(*),
INTENT(out)
:: version ...