Documentation for module xc_perdew_zunger Calculate the Perdew-Zunger correlation potential and energy density and ist derivatives with respect to the spin-up and spin-down densities up to 3rd order.

source: xc_perdew_zunger.F

public Subroutines/Functions:

Return some info on the functionals.
Calculate the correlation energy and its derivatives wrt to rho (the electron density) up to 3rd order. This is the LDA version of the Perdew-Zunger correlation energy If no order argument is given, then the routine calculates just the energy.
Calculate the correlation energy and its derivatives wrt to rho (the electron density) up to 3rd order. This is the LSD version of the Perdew-Zunger correlation energy If no order argument is given, then the routine calculates just the energy.

SUBROUTINEpz_info(method, lsd, reference, shortform, needs, max_deriv)^

Return some info on the functionals.

Arguments:
 INTEGER, INTENT(in) :: method ... LOGICAL, INTENT(in) :: lsd ... CHARACTER(*), INTENT(out), OPTIONAL :: reference CHARACTER(*), INTENT(OUT), OPTIONAL - full reference CHARACTER(*), INTENT(out), OPTIONAL :: shortform CHARACTER(*), INTENT(OUT), OPTIONAL - short reference TYPE(xc_rho_cflags_type), INTENT(inout), OPTIONAL :: needs ... INTEGER, INTENT(out), OPTIONAL :: max_deriv ...

SUBROUTINEpz_lda_eval(method, rho_set, deriv_set, order, pz_params)^

Calculate the correlation energy and its derivatives wrt to rho (the electron density) up to 3rd order. This is the LDA version of the Perdew-Zunger correlation energy If no order argument is given, then the routine calculates just the energy.

Arguments:
 INTEGER, INTENT(in) :: method ... TYPE(xc_rho_set_type), POINTER :: rho_set ... TYPE(xc_derivative_set_type), POINTER :: deriv_set ... INTEGER, INTENT(in) :: order INTEGER, OPTIONAL - order of derivatives to calculate order must lie between -3 and 3. If it is negative then only that order will be calculated, otherwise all derivatives up to that order will be calculated. TYPE(section_vals_type), POINTER :: pz_params input paramter (scaling)

SUBROUTINEpz_lsd_eval(method, rho_set, deriv_set, order, pz_params)^

Calculate the correlation energy and its derivatives wrt to rho (the electron density) up to 3rd order. This is the LSD version of the Perdew-Zunger correlation energy If no order argument is given, then the routine calculates just the energy.

Arguments:
 INTEGER, INTENT(in) :: method ... TYPE(xc_rho_set_type), POINTER :: rho_set ... TYPE(xc_derivative_set_type), POINTER :: deriv_set ... INTEGER, INTENT(in), OPTIONAL :: order INTEGER, OPTIONAL - order of derivatives to calculate order must lie between -3 and 3. If it is negative then only that order will be calculated, otherwise all derivatives up to that order will be calculated. TYPE(section_vals_type), POINTER :: pz_params input paramter (scaling)