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

class
horton.meanfield.libxc.
LibXCEnergy
(name)¶ Bases:
horton.meanfield.gridgroup.GridObservable
Arguments:
 name
 The name of the functional in LibXC, without the
lda_
,gga_
orhyb_gga_
prefix. (The type of functional is determined by the subclass.)

__init__
(name)¶ Arguments:
 name
 The name of the functional in LibXC, without the
lda_
,gga_
orhyb_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
andadd_pot
methods. This cache will also contain precomputed functions evaluate on the grid. SeeRGridGroup
andUGridGroup
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
andadd_pot
methods. This cache will also contain precomputed functions evaluate on the grid. SeeRGridGroup
andUGridGroup
for more details.  grid
 A numerical integration grid

LibXCWrapper
= None¶

gga
= False¶

prefix
= None¶

class
horton.meanfield.libxc.
RLibXCLDA
(name)¶ Bases:
horton.meanfield.libxc.LibXCEnergy
Arguments:
 name
 The name of the functional in LibXC, without the
lda_
,gga_
orhyb_gga_
prefix. (The type of functional is determined by the subclass.)

LibXCWrapper
¶ alias of
RLibXCWrapper

__init__
(name)¶ Arguments:
 name
 The name of the functional in LibXC, without the
lda_
,gga_
orhyb_gga_
prefix. (The type of functional is determined by the subclass.)

add_pot
(*args, **kwargs)¶ Add the potential to the output arguments
Arguments:
 cache
 A Cache instance used to share intermediate results between
the
compute
andadd_pot
methods. This cache will also contain precomputed functions evaluate on the grid. SeeRGridGroup
andUGridGroup
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
andadd_pot
methods. This cache will also contain precomputed functions evaluate on the grid. SeeRGridGroup
andUGridGroup
for more details.  grid
 A numerical integration grid

gga
= False¶

prefix
= ‘lda’¶

class
horton.meanfield.libxc.
ULibXCLDA
(name)¶ Bases:
horton.meanfield.libxc.LibXCEnergy
Arguments:
 name
 The name of the functional in LibXC, without the
lda_
,gga_
orhyb_gga_
prefix. (The type of functional is determined by the subclass.)

LibXCWrapper
¶ alias of
ULibXCWrapper

__init__
(name)¶ Arguments:
 name
 The name of the functional in LibXC, without the
lda_
,gga_
orhyb_gga_
prefix. (The type of functional is determined by the subclass.)

add_pot
(*args, **kwargs)¶ Add the potential to the output arguments
Arguments:
 cache
 A Cache instance used to share intermediate results between
the
compute
andadd_pot
methods. This cache will also contain precomputed functions evaluate on the grid. SeeRGridGroup
andUGridGroup
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
andadd_pot
methods. This cache will also contain precomputed functions evaluate on the grid. SeeRGridGroup
andUGridGroup
for more details.  grid
 A numerical integration grid

gga
= False¶

prefix
= ‘lda’¶

class
horton.meanfield.libxc.
RLibXCGGA
(name)¶ Bases:
horton.meanfield.libxc.LibXCEnergy
Arguments:
 name
 The name of the functional in LibXC, without the
lda_
,gga_
orhyb_gga_
prefix. (The type of functional is determined by the subclass.)

LibXCWrapper
¶ alias of
RLibXCWrapper

__init__
(name)¶ Arguments:
 name
 The name of the functional in LibXC, without the
lda_
,gga_
orhyb_gga_
prefix. (The type of functional is determined by the subclass.)

add_pot
(*args, **kwargs)¶ Add the potential to the output arguments
Arguments:
 cache
 A Cache instance used to share intermediate results between
the
compute
andadd_pot
methods. This cache will also contain precomputed functions evaluate on the grid. SeeRGridGroup
andUGridGroup
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
andadd_pot
methods. This cache will also contain precomputed functions evaluate on the grid. SeeRGridGroup
andUGridGroup
for more details.  grid
 A numerical integration grid

gga
= True¶

prefix
= ‘gga’¶

class
horton.meanfield.libxc.
ULibXCGGA
(name)¶ Bases:
horton.meanfield.libxc.LibXCEnergy
Arguments:
 name
 The name of the functional in LibXC, without the
lda_
,gga_
orhyb_gga_
prefix. (The type of functional is determined by the subclass.)

LibXCWrapper
¶ alias of
ULibXCWrapper

__init__
(name)¶ Arguments:
 name
 The name of the functional in LibXC, without the
lda_
,gga_
orhyb_gga_
prefix. (The type of functional is determined by the subclass.)

add_pot
(*args, **kwargs)¶ Add the potential to the output arguments
Arguments:
 cache
 A Cache instance used to share intermediate results between
the
compute
andadd_pot
methods. This cache will also contain precomputed functions evaluate on the grid. SeeRGridGroup
andUGridGroup
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
andadd_pot
methods. This cache will also contain precomputed functions evaluate on the grid. SeeRGridGroup
andUGridGroup
for more details.  grid
 A numerical integration grid

gga
= True¶

prefix
= ‘gga’¶

class
horton.meanfield.libxc.
RLibXCHybridGGA
(name)¶ Bases:
horton.meanfield.libxc.RLibXCGGA
Arguments:
 name
 The name of the functional in LibXC, without the
lda_
,gga_
orhyb_gga_
prefix. (The type of functional is determined by the subclass.)

LibXCWrapper
¶ alias of
RLibXCWrapper

__init__
(name)¶ Arguments:
 name
 The name of the functional in LibXC, without the
lda_
,gga_
orhyb_gga_
prefix. (The type of functional is determined by the subclass.)

add_pot
(*args, **kwargs)¶ Add the potential to the output arguments
Arguments:
 cache
 A Cache instance used to share intermediate results between
the
compute
andadd_pot
methods. This cache will also contain precomputed functions evaluate on the grid. SeeRGridGroup
andUGridGroup
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
andadd_pot
methods. This cache will also contain precomputed functions evaluate on the grid. SeeRGridGroup
andUGridGroup
for more details.  grid
 A numerical integration grid

get_exx_fraction
()¶ Return the fraction of HartreeFock exchange for this functional

gga
= True¶

prefix
= ‘hyb_gga’¶

class
horton.meanfield.libxc.
ULibXCHybridGGA
(name)¶ Bases:
horton.meanfield.libxc.ULibXCGGA
Arguments:
 name
 The name of the functional in LibXC, without the
lda_
,gga_
orhyb_gga_
prefix. (The type of functional is determined by the subclass.)

LibXCWrapper
¶ alias of
ULibXCWrapper

__init__
(name)¶ Arguments:
 name
 The name of the functional in LibXC, without the
lda_
,gga_
orhyb_gga_
prefix. (The type of functional is determined by the subclass.)

add_pot
(*args, **kwargs)¶ Add the potential to the output arguments
Arguments:
 cache
 A Cache instance used to share intermediate results between
the
compute
andadd_pot
methods. This cache will also contain precomputed functions evaluate on the grid. SeeRGridGroup
andUGridGroup
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
andadd_pot
methods. This cache will also contain precomputed functions evaluate on the grid. SeeRGridGroup
andUGridGroup
for more details.  grid
 A numerical integration grid

get_exx_fraction
()¶ Return the fraction of HartreeFock exchange for this functional

gga
= True¶

prefix
= ‘hyb_gga’¶