Documentation for module xc_derivative_desc

Module with functions to handle derivative descriptors. derivative description are strings have the following form "(rho)(rho)(rhoa)" which means that it is a forth order derivative, twice with respect to rho, once with respect to rhoa and once with respect to drhoa. Possible derivatives are: - rho: total density - norm_drho: norm of the gradient of the total density - rhoa, rhob: alpha and beta spin density (with LSD) - norm_drhoa, norm_drhob: norm of the gradient of the alpha and beta spin density - drhoa_drhob: scalar product between the gradient of rhoa and the grandient of rhob - tau: the local kinetic part - taua, taub: the kinetic part of the different spins

source: xc_derivative_desc.F
Loading...

public Subroutines/Functions:

returns an array of 1st order derivative descriptions
returns a unique string for a given derivative string

Parameters:

INTEGER
:: max_derivative_desc_length = (max_label_length+2)*max_derivative
INTEGER
:: max_label_length = 12

SUBROUTINEcreate_split_derivative_desc(deriv_desc, res)

returns an array of 1st order derivative descriptions

Arguments:
CHARACTER(*),
INTENT(in)
:: deriv_desc input string which describes the derivative
CHARACTER(max_label_length),
POINTER
:: res(:) ...

SUBROUTINEstandardize_derivative_desc(deriv_desc, res)

returns a unique string for a given derivative string

Arguments:
CHARACTER(*),
INTENT(in)
:: deriv_desc input string which describes the derivative and should be standardized
INTENT(out)
:: res ...