# sc::DenFunctional Class Reference

An abstract base class for density functionals. More...

`#include <functional.h>`

Inheritance diagram for sc::DenFunctional:

List of all members.

## Public Member Functions

| DenFunctional (const Ref< KeyVal > &)
| DenFunctional (StateIn &)
void | save_data_state (StateOut &)
| Save the base classes (with save_data_state) and the members in the same order that the StateIn CTOR initializes them.
virtual void | set_spin_polarized (int i)
virtual void | set_compute_potential (int i)
virtual int | need_density_gradient ()
virtual int | need_density_hessian ()
virtual void | point (const PointInputData &, PointOutputData &)=0
void | gradient (const PointInputData &, PointOutputData &, double *gradient, int acenter, GaussianBasisSet *basis, const double *dmat_a, const double *dmat_b, int ncontrib, const int *contrib, int ncontrib_bf, const int *contrib_bf, const double *bs_values, const double *bsg_values, const double *bsh_values)
virtual double | a0 () const
| Returns the fraction of Hartee-Fock exchange to be included.
void | fd_point (const PointInputData &, PointOutputData &)
int | test (const PointInputData &)
int | test ()

## Protected Member Functions

void | do_fd_point (PointInputData &id, double &in, double &out, double lower_bound, double upper_bound)

## Protected Attributes

int | spin_polarized_
int | compute_potential_
double | a0_

## Detailed Description

An abstract base class for density functionals.

## Member Function Documentation

void sc::DenFunctional::save_data_state | ( | StateOut & |  | ) | `[virtual]`

Save the base classes (with save_data_state) and the members in the same order that the StateIn CTOR initializes them.

This must be implemented by the derived class if the class has data.

Reimplemented from sc::SavableState.

Reimplemented in sc::NElFunctional, sc::SumDenFunctional, sc::StdDenFunctional, sc::LSDACFunctional, sc::PBECFunctional, sc::PW91CFunctional, sc::P86CFunctional, sc::SlaterXFunctional, sc::VWNLCFunctional, sc::VWN1LCFunctional, sc::VWN2LCFunctional, sc::VWN3LCFunctional, sc::VWN4LCFunctional, sc::VWN5LCFunctional, sc::PW92LCFunctional, sc::PZ81LCFunctional, sc::XalphaFunctional, sc::Becke88XFunctional, sc::LYPCFunctional, sc::PW86XFunctional, sc::PBEXFunctional, sc::PW91XFunctional, sc::mPW91XFunctional, and sc::G96XFunctional.

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

- functional.h