sc::DenIntegrator - An abstract base class for integrating the electron density.
Contents
Detailed Description
An abstract base class for integrating the electron density.
Member Function Documentation
constdouble*sc::DenIntegrator::alpha_vmat()const[inline]
Returns the alpha potential integrals. Stored as the lower triangular, row-major format.
constdouble*sc::DenIntegrator::beta_vmat()const[inline]
Returns the beta potential integrals. Stored as the lower triangular, row-major format.
virtualvoidsc::DenIntegrator::init(constRef<Wavefunction>&)[virtual]
Called before integrate. Does not need to be called again unless the geometry changes or done is called.
virtualvoidsc::DenIntegrator::integrate(constRef<DenFunctional>&,constRefSymmSCMatrix&densa=0,constRefSymmSCMatrix&densb=0,double*nuclear_grad=0)[purevirtual]
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.
voidsc::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.
voidsc::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.
Name
sc::DenIntegrator - An abstract base class for integrating the electron density.
Synopsis
#include <integrator.h>
Inherits sc::SavableState.
Inherited by sc::RadialAngularIntegrator.
PublicMemberFunctionsDenIntegrator ()
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.
ProtectedMemberFunctions
void init_integration (const Ref< DenFunctional > &func, const RefSymmSCMatrix &densa, const
RefSymmSCMatrix &densb, double *nuclear_gradient)
void done_integration ()
void init_object ()
ProtectedAttributesRef< 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_AdditionalInheritedMembers