Documentation for module xc_tpss

Calculates the tpss functional.

source: xc_tpss.F
Loading...

public Subroutines/Functions:

evaluates the tpss functional in the spin unpolarized (lda) case
return various information on the functional
evaluates the tpss functional in the spin polarized (lsd) case
return various information on the functional

SUBROUTINEtpss_lda_eval(rho_set, deriv_set, grad_deriv, tpss_params)

evaluates the tpss functional in the spin unpolarized (lda) case

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 evalated, if positive all the derivatives up to the given degree are evaluated, if negative only the given degree is calculated
POINTER
:: tpss_params ...

SUBROUTINEtpss_lda_info(tpss_params, reference, shortform, needs, max_deriv)

return various information on the functional

Arguments:
POINTER
:: tpss_params ...
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 the highest derivative available

SUBROUTINEtpss_lsd_eval(rho_set, deriv_set, grad_deriv, tpss_params)

evaluates the tpss functional in the spin polarized (lsd) case

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 evalated, if positive all the derivatives up to the given degree are evaluated, if negative only the given degree is calculated
POINTER
:: tpss_params ...

SUBROUTINEtpss_lsd_info(tpss_params, reference, shortform, needs, max_deriv)

return various information on the functional

Arguments:
POINTER
:: tpss_params ...
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 the highest derivative available