qimpy.dft.electrons.xc.functional.Functional
- class Functional(needs_sigma=False, needs_lap=False, needs_tau=False, has_exchange=False, has_correlation=False, has_kinetic=False, has_energy=True, scale_factor=1.0, name='', _apply=None, _apply_spin=None)
Bases:
object
Base class for exchange-correlation functional components.
- Parameters:
needs_sigma (bool) –
needs_lap (bool) –
needs_tau (bool) –
has_exchange (bool) –
has_correlation (bool) –
has_kinetic (bool) –
has_energy (bool) –
scale_factor (float) –
name (str) –
_apply (Callable[[Tensor, Tensor, Tensor, Tensor, bool, float], float] | None) –
_apply_spin (Callable[[Tensor, Tensor, Tensor, Tensor, bool, float], float] | None) –
- __init__(needs_sigma=False, needs_lap=False, needs_tau=False, has_exchange=False, has_correlation=False, has_kinetic=False, has_energy=True, scale_factor=1.0, name='', _apply=None, _apply_spin=None)
- Parameters:
needs_sigma (bool) –
needs_lap (bool) –
needs_tau (bool) –
has_exchange (bool) –
has_correlation (bool) –
has_kinetic (bool) –
has_energy (bool) –
scale_factor (float) –
name (str) –
_apply (Callable[[Tensor, Tensor, Tensor, Tensor, bool, float], float] | None) –
_apply_spin (Callable[[Tensor, Tensor, Tensor, Tensor, bool, float], float] | None) –
- Return type:
None
Methods
Attributes
Whether functional includes correlation
Whether functional has meaningful total energy
Whether functional includes exchange
Whether functional includes kinetic energy
Optional name of functional used for reporting initialization
Whether functional needs Laplacian \(\nabla^2 n\)
Whether functional needs gradient \(\sigma\)
Whether functional needs KE density \(\tau\)
Scale factor in energy and potential
- has_correlation: bool = False
Whether functional includes correlation
- has_energy: bool = True
Whether functional has meaningful total energy
- has_exchange: bool = False
Whether functional includes exchange
- has_kinetic: bool = False
Whether functional includes kinetic energy
- name: str = ''
Optional name of functional used for reporting initialization
- needs_lap: bool = False
Whether functional needs Laplacian \(\nabla^2 n\)
- needs_sigma: bool = False
Whether functional needs gradient \(\sigma\)
- needs_tau: bool = False
Whether functional needs KE density \(\tau\)
- scale_factor: float = 1.0
Scale factor in energy and potential