excgrid 0.1.0
Grid + XC-kernel + D3 library
Loading...
Searching...
No Matches
excgrid::XcFunctional Class Referenceabstract

#include <kernel.hpp>

Public Member Functions

virtual bool UsesGradient () const =0
virtual double ExchangeFraction () const =0
virtual XcKernelValue Evaluate (double rhoA, double rhoB, double sigmaAa, double sigmaAb, double sigmaBb) const =0

Detailed Description

A named, composed XC functional. The consumer evaluates one kernel call per grid point through this seam; hybrids are weighted sums of the generated kernels (see docs/kernel-api.md section 4 for the shipped recipes).

Member Function Documentation

◆ Evaluate()

virtual XcKernelValue excgrid::XcFunctional::Evaluate ( double rhoA,
double rhoB,
double sigmaAa,
double sigmaAb,
double sigmaBb ) const
pure virtual

One per-point evaluation. LDA kernels ignore the sigma inputs.

Parameters
rhoAThe alpha-spin density.
rhoBThe beta-spin density.
sigmaAagrad(rhoA) . grad(rhoA).
sigmaAbgrad(rhoA) . grad(rhoB).
sigmaBbgrad(rhoB) . grad(rhoB).
Returns
The energy density and first derivatives.

◆ ExchangeFraction()

virtual double excgrid::XcFunctional::ExchangeFraction ( ) const
nodiscardpure virtual

The exact-exchange fraction the consumer routes through its HF Fock path (0 for pure functionals, e.g. 0.20 for B3LYP).

Returns
The HF exchange fraction in [0, 1].

◆ UsesGradient()

virtual bool excgrid::XcFunctional::UsesGradient ( ) const
nodiscardpure virtual

Whether the kernel consumes the sigma inputs (GGA or beyond).

Returns
True when sigma terms are present.

The documentation for this class was generated from the following file: