home | help
sc::SumDenFunctional(3) 	      MPQC		 sc::SumDenFunctional(3)

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

SYNOPSIS
     #include <functional.h>

     Inherits sc::DenFunctional.

     Inherited by 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 &)
     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  dou-
	 ble  *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 ()

     Public Member Functions inherited from sc::SavableState
     SavableState & operator= (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.
     virtual 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.

     Public Member Functions inherited from sc::DescribedClass
     DescribedClass (const DescribedClass &)
     DescribedClass & operator= (const DescribedClass &)
     ClassDesc * class_desc () const  throw ()
	 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.
     virtual void print (std::ostream &=ExEnv::out0()) const
	 Print the object.

     Public Member Functions inherited from sc::RefCount
     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
     void unmanage ()
	 Turn off the reference counting mechanism for this object.
     int managed () const
	 Return 1 if the object is managed. Otherwise return 0.

     Public Member Functions inherited from sc::Identity
     Identifier identifier ()
	 Return the Identifier for this argument.

   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 SavableState * restore_state (StateIn &si)
	 Restores objects saved with save_state.
     static SavableState * key_restore_state (StateIn &si, const char *keyword)
	 Like restore_state, but  keyword  is  used  to  override  values  while
	 restoring.
     static  SavableState  * dir_restore_state (StateIn &si, const char *object-
	 name, 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 &)
     RefCount & operator= (const RefCount &)

Detailed Description
     The SumDenFunctional computes energies and densities using the a sum of en-
     ergy 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  in-
     put:

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

Member Function Documentation
   double sc::SumDenFunctional::a0 () const [virtual]
     Override the DenFunctional::a0() member, so that a0's in contributing func-
     tionals can be added in as well.

     Reimplemented from sc::DenFunctional.

   int sc::SumDenFunctional::need_density_gradient () [virtual]
     Reimplemented from sc::DenFunctional.

   void  sc::SumDenFunctional::point (const PointInputData &, PointOutputData &)
     [virtual]
     Implements sc::DenFunctional.

   void sc::SumDenFunctional::print (std::ostream & = ExEnv::out0()) const [vir-
     tual]
     Print the object.

     Reimplemented from sc::DescribedClass.

     Reimplemented in sc::StdDenFunctional.

   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.

   void sc::SumDenFunctional::set_compute_potential (int) [virtual]
     Reimplemented from sc::DenFunctional.

   void sc::SumDenFunctional::set_spin_polarized (int) [virtual]
     Reimplemented from sc::DenFunctional.

Author
     Generated automatically by Doxygen for MPQC from the source code.

Version 2.3.1			 Thu Sep 3 2026 	 sc::SumDenFunctional(3)

home | help