Provides types for the management of the xc-functionals and their derivatives.

source: xc_derivative_types.FLoading...

represent a derivative of a functional

represent a pointer to a derivative (to have arrays of derivatives)

allocates and initializes a derivative type

returns various information on the given derivative

allocates and initializes a derivative type

represent a pointer to a derivative (to have arrays of derivatives)

TYPE(xc_derivative_type), |
POINTER | :: | deriv | the pointer to the derivative |

represent a derivative of a functional

INTEGER |
:: | ref_count | ... | |

INTEGER |
:: | id_nr | ... | |

CHARACTER(max_derivative_desc_length) |
:: | desc | ... | |

CHARACTER(max_label_length), |
DIMENSION(:), POINTER | :: | split_desc | ... |

REAL(dp), |
DIMENSION(:,:,:), POINTER | :: | deriv_data | ... |

allocates and initializes a derivative type

TYPE(xc_derivative_type), |
POINTER |
:: | derivative | the object to create | |

CHARACTER(*), |
INTENT(in) |
:: | desc | the derivative description | |

REAL(dp), |
POINTER |
:: | cr3d_ptr(:,:,:) | the data array (the ownership of it passes to the derivative type), the array is not zeroed |

returns various information on the given derivative

TYPE(xc_derivative_type), |
POINTER |
:: | deriv | thederivative you whant information about | |

CHARACTER(max_derivative_desc_length), |
INTENT(out), |
OPTIONAL |
:: | desc | a string that describes the derivative (empty string for the function itself, otherwise a string of the form "(rho)(rho)(norm_drhoa)") |

CHARACTER(max_label_length), |
OPTIONAL, POINTER |
:: | split_desc(:) | the same as desc but with an array of strings, and a derivative coordinate in each string (the previous example would become (/"rho","rho","norm_drhoa"/) | |

INTEGER, |
INTENT(out), |
OPTIONAL |
:: | order | the order of the derivative |

REAL(dp), |
OPTIONAL, POINTER |
:: | deriv_data(:,:,:) | the 3d real array with the derivative | |

LOGICAL, |
INTENT(in), |
OPTIONAL |
:: | accept_null_data | if deriv_data can be unassociated (defaults to no) |

allocates and initializes a derivative type

TYPE(xc_derivative_type), |
POINTER |
:: | derivative | the object to create | |

TYPE(pw_pool_type), |
OPTIONAL, POINTER |
:: | pw_pool | if given gives back the cr3d array %deriv_data back to it instead of deallocating it |