sc_DenIntegrator(3)

sc_DenIntegrator3

An abstract base class for integrating the electron density.

Usage

#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_

Additional Inherited Members

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 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.

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.

Releases

6 releases since Debian 3.1 (Sarge); the text changed 5 times.

  1. 3.1
  2. 4.0
  3. 5.0
  4. 6.0
  5. 11
  6. 12

Author

Generated automatically by Doxygen for MPQC from the source code.

From libsc-doc 2.3.1-22 in Debian 12 (Bookworm). Parsed by carta from the page's man source.