# 3.9.8. horton.meanfield.libxc – Interface to LDA, GGA and hybrid functionals from LibXC¶

class horton.meanfield.libxc.LibXCEnergy(name)

Arguments:

name
The name of the functional in LibXC, without the lda_, gga_ or hyb_gga_ prefix. (The type of functional is determined by the subclass.)
add_pot(cache, grid, *args)

Add the potential to the output arguments

Arguments:

cache
A Cache instance used to share intermediate results between the compute and add_pot methods. This cache will also contain pre-computed functions evaluate on the grid. See RGridGroup and UGridGroup for more details.
grid
A numerical integration grid

Possible arguments: depending on the subclass some of these may not be applicable.

dpot_alpha
The functional derivative of the expectation value toward the density of the alpha electron density. Shape = (grid.size,)
dpot_beta
The functional derivative of the expectation value toward the density of the beta electron density. Shape = (grid.size,)
gpot_alpha
The functional derivative of the expectation value toward the gradient of the alpha electron density. Shape = (grid.size, 3)
gpot_beta
The functional derivative of the expectation value toward the gradient of the beta electron density. Shape = (grid.size, 3)
compute_energy(cache, grid)

Compute the expectation value using numerical integration

Arguments:

cache
A Cache instance used to share intermediate results between the compute and add_pot methods. This cache will also contain pre-computed functions evaluate on the grid. See RGridGroup and UGridGroup for more details.
grid
A numerical integration grid
LibXCWrapper = None
gga = False
prefix = None
class horton.meanfield.libxc.RLibXCLDA(name)

Arguments:

name
The name of the functional in LibXC, without the lda_, gga_ or hyb_gga_ prefix. (The type of functional is determined by the subclass.)
LibXCWrapper

alias of RLibXCWrapper

add_pot(*args, **kwargs)

Add the potential to the output arguments

Arguments:

cache
A Cache instance used to share intermediate results between the compute and add_pot methods. This cache will also contain pre-computed functions evaluate on the grid. See RGridGroup and UGridGroup for more details.
grid
A numerical integration grid

Possible arguments: depending on the subclass some of these may not be applicable.

dpot_alpha
The functional derivative of the expectation value toward the density of the alpha electron density. Shape = (grid.size,)
dpot_beta
The functional derivative of the expectation value toward the density of the beta electron density. Shape = (grid.size,)
gpot_alpha
The functional derivative of the expectation value toward the gradient of the alpha electron density. Shape = (grid.size, 3)
gpot_beta
The functional derivative of the expectation value toward the gradient of the beta electron density. Shape = (grid.size, 3)
compute_energy(*args, **kwargs)

Compute the expectation value using numerical integration

Arguments:

cache
A Cache instance used to share intermediate results between the compute and add_pot methods. This cache will also contain pre-computed functions evaluate on the grid. See RGridGroup and UGridGroup for more details.
grid
A numerical integration grid
gga = False
prefix = 'lda'
class horton.meanfield.libxc.ULibXCLDA(name)

Arguments:

name
The name of the functional in LibXC, without the lda_, gga_ or hyb_gga_ prefix. (The type of functional is determined by the subclass.)
LibXCWrapper

alias of ULibXCWrapper

add_pot(*args, **kwargs)

Add the potential to the output arguments

Arguments:

cache
A Cache instance used to share intermediate results between the compute and add_pot methods. This cache will also contain pre-computed functions evaluate on the grid. See RGridGroup and UGridGroup for more details.
grid
A numerical integration grid

Possible arguments: depending on the subclass some of these may not be applicable.

dpot_alpha
The functional derivative of the expectation value toward the density of the alpha electron density. Shape = (grid.size,)
dpot_beta
The functional derivative of the expectation value toward the density of the beta electron density. Shape = (grid.size,)
gpot_alpha
The functional derivative of the expectation value toward the gradient of the alpha electron density. Shape = (grid.size, 3)
gpot_beta
The functional derivative of the expectation value toward the gradient of the beta electron density. Shape = (grid.size, 3)
compute_energy(*args, **kwargs)

Compute the expectation value using numerical integration

Arguments:

cache
A Cache instance used to share intermediate results between the compute and add_pot methods. This cache will also contain pre-computed functions evaluate on the grid. See RGridGroup and UGridGroup for more details.
grid
A numerical integration grid
gga = False
prefix = 'lda'
class horton.meanfield.libxc.RLibXCGGA(name)

Arguments:

name
The name of the functional in LibXC, without the lda_, gga_ or hyb_gga_ prefix. (The type of functional is determined by the subclass.)
LibXCWrapper

alias of RLibXCWrapper

add_pot(*args, **kwargs)

Add the potential to the output arguments

Arguments:

cache
A Cache instance used to share intermediate results between the compute and add_pot methods. This cache will also contain pre-computed functions evaluate on the grid. See RGridGroup and UGridGroup for more details.
grid
A numerical integration grid

Possible arguments: depending on the subclass some of these may not be applicable.

dpot_alpha
The functional derivative of the expectation value toward the density of the alpha electron density. Shape = (grid.size,)
dpot_beta
The functional derivative of the expectation value toward the density of the beta electron density. Shape = (grid.size,)
gpot_alpha
The functional derivative of the expectation value toward the gradient of the alpha electron density. Shape = (grid.size, 3)
gpot_beta
The functional derivative of the expectation value toward the gradient of the beta electron density. Shape = (grid.size, 3)
compute_energy(*args, **kwargs)

Compute the expectation value using numerical integration

Arguments:

cache
A Cache instance used to share intermediate results between the compute and add_pot methods. This cache will also contain pre-computed functions evaluate on the grid. See RGridGroup and UGridGroup for more details.
grid
A numerical integration grid
gga = True
prefix = 'gga'
class horton.meanfield.libxc.ULibXCGGA(name)

Arguments:

name
The name of the functional in LibXC, without the lda_, gga_ or hyb_gga_ prefix. (The type of functional is determined by the subclass.)
LibXCWrapper

alias of ULibXCWrapper

add_pot(*args, **kwargs)

Add the potential to the output arguments

Arguments:

cache
A Cache instance used to share intermediate results between the compute and add_pot methods. This cache will also contain pre-computed functions evaluate on the grid. See RGridGroup and UGridGroup for more details.
grid
A numerical integration grid

Possible arguments: depending on the subclass some of these may not be applicable.

dpot_alpha
The functional derivative of the expectation value toward the density of the alpha electron density. Shape = (grid.size,)
dpot_beta
The functional derivative of the expectation value toward the density of the beta electron density. Shape = (grid.size,)
gpot_alpha
The functional derivative of the expectation value toward the gradient of the alpha electron density. Shape = (grid.size, 3)
gpot_beta
The functional derivative of the expectation value toward the gradient of the beta electron density. Shape = (grid.size, 3)
compute_energy(*args, **kwargs)

Compute the expectation value using numerical integration

Arguments:

cache
A Cache instance used to share intermediate results between the compute and add_pot methods. This cache will also contain pre-computed functions evaluate on the grid. See RGridGroup and UGridGroup for more details.
grid
A numerical integration grid
gga = True
prefix = 'gga'
class horton.meanfield.libxc.RLibXCHybridGGA(name)

Arguments:

name
The name of the functional in LibXC, without the lda_, gga_ or hyb_gga_ prefix. (The type of functional is determined by the subclass.)
LibXCWrapper

alias of RLibXCWrapper

add_pot(*args, **kwargs)

Add the potential to the output arguments

Arguments:

cache
A Cache instance used to share intermediate results between the compute and add_pot methods. This cache will also contain pre-computed functions evaluate on the grid. See RGridGroup and UGridGroup for more details.
grid
A numerical integration grid

Possible arguments: depending on the subclass some of these may not be applicable.

dpot_alpha
The functional derivative of the expectation value toward the density of the alpha electron density. Shape = (grid.size,)
dpot_beta
The functional derivative of the expectation value toward the density of the beta electron density. Shape = (grid.size,)
gpot_alpha
The functional derivative of the expectation value toward the gradient of the alpha electron density. Shape = (grid.size, 3)
gpot_beta
The functional derivative of the expectation value toward the gradient of the beta electron density. Shape = (grid.size, 3)
compute_energy(*args, **kwargs)

Compute the expectation value using numerical integration

Arguments:

cache
A Cache instance used to share intermediate results between the compute and add_pot methods. This cache will also contain pre-computed functions evaluate on the grid. See RGridGroup and UGridGroup for more details.
grid
A numerical integration grid
get_exx_fraction()

Return the fraction of Hartree-Fock exchange for this functional

gga = True
prefix = 'hyb_gga'
class horton.meanfield.libxc.ULibXCHybridGGA(name)

Arguments:

name
The name of the functional in LibXC, without the lda_, gga_ or hyb_gga_ prefix. (The type of functional is determined by the subclass.)
LibXCWrapper

alias of ULibXCWrapper

add_pot(*args, **kwargs)

Add the potential to the output arguments

Arguments:

cache
A Cache instance used to share intermediate results between the compute and add_pot methods. This cache will also contain pre-computed functions evaluate on the grid. See RGridGroup and UGridGroup for more details.
grid
A numerical integration grid

Possible arguments: depending on the subclass some of these may not be applicable.

dpot_alpha
The functional derivative of the expectation value toward the density of the alpha electron density. Shape = (grid.size,)
dpot_beta
The functional derivative of the expectation value toward the density of the beta electron density. Shape = (grid.size,)
gpot_alpha
The functional derivative of the expectation value toward the gradient of the alpha electron density. Shape = (grid.size, 3)
gpot_beta
The functional derivative of the expectation value toward the gradient of the beta electron density. Shape = (grid.size, 3)
compute_energy(*args, **kwargs)

Compute the expectation value using numerical integration

Arguments:

cache
A Cache instance used to share intermediate results between the compute and add_pot methods. This cache will also contain pre-computed functions evaluate on the grid. See RGridGroup and UGridGroup for more details.
grid
A numerical integration grid
get_exx_fraction()

Return the fraction of Hartree-Fock exchange for this functional

gga = True
prefix = 'hyb_gga'