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

NAME
     sc::DenIntegrator	-  An  abstract  base class for integrating the electron
     density.

SYNOPSIS
     #include <integrator.h>

     Inherits sc::SavableState.

     Inherited by sc::RadialAngularIntegrator.

   Public Member Functions
     DenIntegrator ()
	 Construct a new DenIntegrator.
     DenIntegrator (const Ref< KeyVal > &)
	 Construct a new DenIntegrator given the KeyVal input.
     DenIntegrator (StateIn &)
	 Construct a new DenIntegrator given the StateIn data.
     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.
     Ref< Wavefunction > wavefunction () const
	 Returns the wavefunction used for the integration.
     double value () const
	 Returns the result of the integration.
     void set_accuracy (double a)
	 Sets the accuracy to use in the integration.
     double get_accuracy (void)
     void set_compute_potential_integrals (int)
	 Call with non zero if the potential integrals are to be computed.
     const double * alpha_vmat () const
	 Returns the alpha potential integrals.
     const double * beta_vmat () const
	 Returns the beta potential integrals.
     virtual void init (const Ref< Wavefunction > &)
	 Called before integrate.
     virtual void done ()
	 Must be called between calls to init.
     virtual void integrate (const Ref< DenFunctional > &, const RefSymmSCMatrix
	 &densa=0, const RefSymmSCMatrix &densb=0, double *nuclear_grad=0)=0
	 Performs  the integration of the given functional using the given alpha
	 and beta density matrices.

     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 Member Functions
     void init_integration (const Ref< DenFunctional > &func, const RefSymmSCMa-
	 trix &densa, const RefSymmSCMatrix &densb, double *nuclear_gradient)
     void done_integration ()
     void init_object ()

     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 &)

   Protected Attributes
     Ref< Wavefunction > wfn_
     Ref< BatchElectronDensity > den_
     Ref< ThreadGrp > threadgrp_
     Ref< MessageGrp > messagegrp_
     double value_
     double accuracy_
     double * alpha_vmat_
     double * beta_vmat_
     int spin_polarized_
     int need_density_
     double density_
     int nbasis_
     int nshell_
     int n_integration_center_
     int natom_
     int compute_potential_integrals_
     int linear_scaling_
     int use_dmat_bound_

   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)

Detailed Description
     An abstract base class for integrating the electron density.

Member Function Documentation
   const double * sc::DenIntegrator::alpha_vmat () const [inline]
     Returns the alpha potential integrals. Stored as the lower triangular, row-
     major format.

   const double * sc::DenIntegrator::beta_vmat () const [inline]
     Returns the beta potential integrals. Stored as the lower triangular,  row-
     major format.

   virtual void sc::DenIntegrator::init (const Ref< Wavefunction > &) [virtual]
     Called before integrate. Does not need to be called again unless the geome-
     try changes or done is called.

   virtual  void  sc::DenIntegrator::integrate	(const	Ref<  DenFunctional > &,
     const RefSymmSCMatrix & densa = 0, const RefSymmSCMatrix & densb = 0,  dou-
     ble * nuclear_grad = 0) [pure virtual]
     Performs  the integration of the given functional using the given alpha and
     beta density matrices. The nuclear derivative contribution is placed in nu-
     clear_grad, if it is non-null.

     Implemented in sc::RadialAngularIntegrator.

   void sc::DenIntegrator::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::RadialAngularIntegrator.

   void sc::DenIntegrator::set_compute_potential_integrals (int)
     Call with non zero if the potential integrals are to be computed. They  can
     be returned with the vmat() member.

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

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

home | help