MPQC 3.0.0-alpha
Loading...
Searching...
No Matches
sc::SumDenFunctional Class Reference

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

#include <chemistry/qc/dft/functional.h>

Inheritance diagram for sc::SumDenFunctional:
sc::DenFunctional sc::SavableState sc::DescribedClass sc::RefCount sc::StdDenFunctional

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.
 
- Public Member Functions inherited from sc::DenFunctional
 DenFunctional (const Ref< KeyVal > &)
 
 DenFunctional (StateIn &)
 
virtual int need_density_hessian ()
 
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)
 
void fd_point (const PointInputData &, PointOutputData &)
 
int test (const PointInputData &)
 
int test ()
 
- Public Member Functions inherited from sc::SavableState
SavableStateoperator= (const SavableState &)
 
void save_state (StateOut &)
 Save the state of the object as specified by the StateOut object.
 
void save_object_state (StateOut &)
 This can be used for saving state when the exact type of the object is known for both the save and the restore.
 
virtual void save_vbase_state (StateOut &)
 Save the virtual bases for the object.
 
- Public Member Functions inherited from sc::DescribedClass
 DescribedClass (const DescribedClass &)
 
DescribedClassoperator= (const DescribedClass &)
 
ClassDescclass_desc () const MPQC__NOEXCEPT
 This returns the unique pointer to the ClassDesc corresponding to the given type_info object.
 
const char * class_name () const
 Return the name of the object's exact type.
 
int class_version () const
 Return the version of the class.
 
Ref< DescribedClassref ()
 Return this object wrapped up in a Ref smart pointer.
 
- Public Member Functions inherited from sc::RefCount
size_t identifier () const
 Return the unique identifier for this object that can be compared for different objects of different types.
 
int lock_ptr () const
 Lock this object.
 
int unlock_ptr () const
 Unlock this object.
 
void use_locks (bool inVal)
 start and stop using locks on this object
 
refcount_t nreference () const
 Return the reference count.
 
refcount_t reference ()
 Increment the reference count and return the new count.
 
refcount_t dereference ()
 Decrement the reference count and return the new count.
 
int managed () const
 Return 1 if the object is managed. Otherwise return 0.
 

Protected Attributes

int n_
 
Ref< DenFunctional > * funcs_
 
double * coefs_
 
- Protected Attributes inherited from sc::DenFunctional
int spin_polarized_
 
int compute_potential_
 
double a0_
 

Additional Inherited Members

- Static Public Member Functions inherited from sc::SavableState
static void save_state (SavableState *s, StateOut &)
 
static SavableStaterestore_state (StateIn &si)
 Restores objects saved with save_state.
 
static SavableStatekey_restore_state (StateIn &si, const char *keyword)
 Like restore_state, but keyword is used to override values while restoring.
 
static SavableStatedir_restore_state (StateIn &si, const char *objectname, const char *keyword=0)
 
- Protected Member Functions inherited from sc::DenFunctional
void do_fd_point (PointInputData &id, double &in, double &out, double lower_bound, double upper_bound)
 
- Protected Member Functions inherited from sc::SavableState
 SavableState (const SavableState &)
 
 SavableState (StateIn &)
 Each derived class StateIn CTOR handles the restore corresponding to calling save_object_state, save_vbase_state, and save_data_state listed above.
 
- Protected Member Functions inherited from sc::RefCount
 RefCount (const RefCount &)
 
RefCountoperator= (const RefCount &)
 

Detailed Description

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

Constructor & Destructor Documentation

◆ SumDenFunctional()

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

◆ a0()

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.

◆ need_density_gradient()

int sc::SumDenFunctional::need_density_gradient ( )
virtual

Reimplemented from sc::DenFunctional.

◆ point()

void sc::SumDenFunctional::point ( const PointInputData & ,
PointOutputData &  )
virtual

Implements sc::DenFunctional.

◆ print()

void sc::SumDenFunctional::print ( std::ostream & = ExEnv::out0()) const
virtual

Print the object.

Reimplemented from sc::DescribedClass.

◆ save_data_state()

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.

◆ set_compute_potential()

void sc::SumDenFunctional::set_compute_potential ( int )
virtual

Reimplemented from sc::DenFunctional.

◆ set_spin_polarized()

void sc::SumDenFunctional::set_spin_polarized ( int )
virtual

Reimplemented from sc::DenFunctional.


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

Generated at Wed Sep 25 2024 02:45:36 for MPQC 3.0.0-alpha using the documentation package Doxygen 1.12.0.