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. Protected Member Functions void init_integration (const Ref< DenFunctional > &func, const RefSymmSCMatrix &densa, const RefSymmSCMatrix &densb, double *nuclear_gradient) void done_integration () void init_object () 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_
Detailed Description
An abstract base class for integrating the electron density.
Member Function Documentation
- 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.
- 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 geometry changes or done is called.
- virtual void sc::DenIntegrator::integrate (const Ref< DenFunctional > &,
- const RefSymmSCMatrix & densa = 0, const RefSymmSCMatrix & densb = 0, double * 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 nuclear_grad, if it is non-null.
- Implemented in sc::RadialAngularIntegrator.
Author
- Generated automatically by Doxygen for MPQC from the source code.