(git:26ffdda)
Loading...
Searching...
No Matches
xc_libxc Module Reference

calculates a functional from libxc and its derivatives More...

Functions/Subroutines

logical function, public libxc_check_existence_in_libxc (libxc_params)
 This function checks whether a functional name belongs to LibXC.
integer function, public libxc_get_reference_length (libxc_params, lsd)
 This function returns the maximum length of the reference string for a given LibXC functional.
subroutine, public libxc_add_sections (section)
 ...
subroutine, public libxc_spin_unpolarized_info (libxc_params, reference, shortform, needs, max_deriv, print_warn, func_name_override)
 info about the functional from libxc
subroutine, public libxc_spin_polarized_info (libxc_params, reference, shortform, needs, max_deriv, print_warn, func_name_override)
 info about the functional from libxc
subroutine, public libxc_version_info (version, compiled_version)
 info about the LibXC version
subroutine, public libxc_library_reference (reference, doi)
 Returns the citation LibXC asks for the library itself.
subroutine, public libxc_release_workers ()
 Reads the external parameters of a LibXC functional from its input section.
subroutine, public libxc_spin_unpolarized_eval (rho_set, deriv_set, grad_deriv, libxc_params, func_name_override)
 evaluates the functional from libxc
subroutine, public libxc_spin_polarized_eval (rho_set, deriv_set, grad_deriv, libxc_params, func_name_override)
 evaluates the functional from libxc

Detailed Description

calculates a functional from libxc and its derivatives

Note
LibXC: (Marques, Oliveira, Burnus, CPC 183, 2272 (2012)).

WARNING: In the subroutine libxc_spin_polarized_calc, it could be that the ordering for the 1st index of v2lapltau, v2rholapl, v2rhotau, v2sigmalapl and v2sigmatau is not correct. For the moment it does not matter since the calculation of the 2nd derivatives for meta-GGA functionals is not implemented in CP2K.

History
01.2013 created [F. Tran] 07.2014 updates to versions 2.1 [JGH] 08.2015 refactoring [A. Gloess (agloess)] 01.2018 refactoring [A. Gloess (agloess)] 10.2018/04.2019 added hyb_mgga [S. Simko, included by F. Stein]
Author
F. Tran

Function/Subroutine Documentation

◆ libxc_check_existence_in_libxc()

logical function, public xc_libxc::libxc_check_existence_in_libxc ( type(section_vals_type), intent(in), pointer libxc_params)

This function checks whether a functional name belongs to LibXC.

Parameters
libxc_params(possible) LibXC input section
Returns
exists whether the functional exists in LibXC

Definition at line 237 of file xc_libxc.F.

Here is the caller graph for this function:

◆ libxc_get_reference_length()

integer function, public xc_libxc::libxc_get_reference_length ( type(section_vals_type), intent(in), pointer libxc_params,
logical, intent(in) lsd )

This function returns the maximum length of the reference string for a given LibXC functional.

Parameters
libxc_paramsLibXC input section
lsdspin polarized calculation
Returns
maximum length of the string

Definition at line 258 of file xc_libxc.F.

◆ libxc_add_sections()

subroutine, public xc_libxc::libxc_add_sections ( type(section_type), intent(in), pointer section)

...

Parameters
section...

Definition at line 302 of file xc_libxc.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ libxc_spin_unpolarized_info()

subroutine, public xc_libxc::libxc_spin_unpolarized_info ( type(section_vals_type), pointer libxc_params,
character(len=*), intent(out), optional reference,
character(len=*), intent(out), optional shortform,
type(xc_rho_cflags_type), intent(inout), optional needs,
integer, intent(out), optional max_deriv,
logical, intent(in), optional print_warn,
character(len=*), intent(in), optional func_name_override )

info about the functional from libxc

Parameters
libxc_paramsinput parameter (functional name, scaling and parameters)
referencestring with the reference of the actual functional
shortformstring with the shortform of the functional name
needsthe components needed by this functional are set to true (does not set the unneeded components to false)
max_derivmaximum implemented derivative of the xc functional
print_warnwhether to print warning about development status of a functional
func_name_overrideoptional LibXC functional name overriding the section name
Author
F. Tran

Definition at line 407 of file xc_libxc.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ libxc_spin_polarized_info()

subroutine, public xc_libxc::libxc_spin_polarized_info ( type(section_vals_type), pointer libxc_params,
character(len=*), intent(out), optional reference,
character(len=*), intent(out), optional shortform,
type(xc_rho_cflags_type), intent(inout), optional needs,
integer, intent(out), optional max_deriv,
logical, intent(in), optional print_warn,
character(len=*), intent(in), optional func_name_override )

info about the functional from libxc

Parameters
libxc_paramsinput parameter (functional name, scaling and parameters)
referencestring with the reference of the actual functional
shortformstring with the shortform of the functional name
needsthe components needed by this functional are set to true (does not set the unneeded components to false)
max_derivmaximum implemented derivative of the xc functional
print_warnwhether to print warning about development status of a functional
func_name_overrideoptional LibXC functional name overriding the section name
Author
F. Tran

Definition at line 521 of file xc_libxc.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ libxc_version_info()

subroutine, public xc_libxc::libxc_version_info ( character(len=*), intent(out) version,
character(len=*), intent(out), optional compiled_version )

info about the LibXC version

Parameters
versionversion string reported by the library at run time
compiled_versionversion of the LibXC headers CP2K was compiled against
Author
A. Gloess (agloess)

Definition at line 631 of file xc_libxc.F.

Here is the caller graph for this function:

◆ libxc_library_reference()

subroutine, public xc_libxc::libxc_library_reference ( character(len=*), intent(out) reference,
character(len=*), intent(out) doi )

Returns the citation LibXC asks for the library itself.

Parameters
referencebibliographic reference
doidigital object identifier of that reference
Author
S. Lehtola

Definition at line 651 of file xc_libxc.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ libxc_release_workers()

subroutine, public xc_libxc::libxc_release_workers

Reads the external parameters of a LibXC functional from its input section.

Parameters
libxc_paramsLibXC input section
param_namesnames of the external parameters, as reported by LibXC
paramsvalues read from the input
Author
S. Lehtola

Destroys all cached LibXC functional objects.

Author
S. Lehtola
Note
Call once at the end of a run. The workers are deliberately kept alive across SCF steps and across calculations, so nothing else releases them.

Definition at line 1140 of file xc_libxc.F.

Here is the caller graph for this function:

◆ libxc_spin_unpolarized_eval()

subroutine, public xc_libxc::libxc_spin_unpolarized_eval ( type(xc_rho_set_type), intent(in) rho_set,
type(xc_derivative_set_type), intent(in) deriv_set,
integer, intent(in) grad_deriv,
type(section_vals_type), pointer libxc_params,
character(len=*), intent(in), optional func_name_override )

evaluates the functional from libxc

Parameters
rho_setthe density where you want to evaluate the functional
deriv_setplace where to store the functional derivatives (they are added to the derivatives)
grad_derivdegree of the derivative that should be evaluated; all derivatives up to the given degree are evaluated, in a single LibXC call per block of grid points
libxc_paramsinput parameter (functional name, scaling and parameters)
func_name_overrideoptional LibXC functional name overriding the section name
Author
F. Tran

Definition at line 1174 of file xc_libxc.F.

Here is the caller graph for this function:

◆ libxc_spin_polarized_eval()

subroutine, public xc_libxc::libxc_spin_polarized_eval ( type(xc_rho_set_type), intent(in) rho_set,
type(xc_derivative_set_type), intent(in) deriv_set,
integer, intent(in) grad_deriv,
type(section_vals_type), pointer libxc_params,
character(len=*), intent(in), optional func_name_override )

evaluates the functional from libxc

Parameters
rho_setthe density where you want to evaluate the functional
deriv_setplace where to store the functional derivatives (they are added to the derivatives)
grad_derivdegree of the derivative that should be evaluated; all derivatives up to the given degree are evaluated, in a single LibXC call per block of grid points
libxc_paramsinput parameter (functional name, scaling and parameters)
func_name_overrideoptional LibXC functional name overriding the section name
Author
F. Tran

Definition at line 1736 of file xc_libxc.F.

Here is the caller graph for this function: