sc::SumDenFunctional Class Reference

The SumDenFunctional computes energies and densities using the a sum of energy density functions method. More...

#include <functional.h>

Inheritance diagram for sc::SumDenFunctional:

sc::DenFunctional sc::SavableState sc::DescribedClass sc::RefCount sc::Identity sc::StdDenFunctional List of all members.

Public Member Functions

 SumDenFunctional (const Ref< KeyVal > &)
 This KeyVal constructor reads the following keywords:.
 SumDenFunctional (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.
void set_spin_polarized (int)
void set_compute_potential (int)
int need_density_gradient ()
void point (const PointInputData &, PointOutputData &)
void print (std::ostream &=ExEnv::out0()) const
 Print the object.
double a0 () const
 Override the DenFunctional::a0() member, so that a0's in contributing functionals can be added in as well.

Protected Attributes

int n_
Ref< DenFunctional > * funcs_
double * coefs_

Detailed Description

The SumDenFunctional computes energies and densities using the a sum of energy density functions method.


Constructor & Destructor Documentation

sc::SumDenFunctional::SumDenFunctional ( const Ref< KeyVal > &   ) 

This KeyVal constructor reads the following keywords:.

funcs
Specifies an array of DenIntegrator objects.
coefs
Specifies the coefficient of each DenIntegrator object.
a0
Specifies the coefficient of the Hartree-Fock exchange. This is nonzero for hybrid functionals. The default is zero.

For example, the B3LYP functional can be specified with the following input:

      functional<SumDenFunctional>: (
        a0 = 0.2
        coefs = [ 0.8 0.72 0.19 0.81 ]
        funcs: [
          <SlaterXFunctional>:()
          <Becke88XFunctional>:()
          <VWN1LCFunctional>:( rpa = 1 )
          <LYPCFunctional>:()
        ]
      )
      


Member Function Documentation

void sc::SumDenFunctional::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::DenFunctional.

Reimplemented in sc::StdDenFunctional.

double sc::SumDenFunctional::a0 (  )  const [virtual]

Override the DenFunctional::a0() member, so that a0's in contributing functionals can be added in as well.

Reimplemented from sc::DenFunctional.


The documentation for this class was generated from the following file:
Generated at Mon Dec 3 23:23:50 2007 for MPQC 2.3.1 using the documentation package Doxygen 1.5.2.