.TH "sc::DenIntegrator" 3 "Sun Oct 4 2020" "Version 2.3.1" "MPQC" \" -*- nroff -*- .ad l .nh .SH NAME sc::DenIntegrator \- An abstract base class for integrating the electron density\&. .SH SYNOPSIS .br .PP .PP \fC#include \fP .PP Inherits \fBsc::SavableState\fP\&. .PP Inherited by \fBsc::RadialAngularIntegrator\fP\&. .SS "Public Member Functions" .in +1c .ti -1c .RI "\fBDenIntegrator\fP ()" .br .RI "Construct a new \fBDenIntegrator\fP\&. " .ti -1c .RI "\fBDenIntegrator\fP (const \fBRef\fP< \fBKeyVal\fP > &)" .br .RI "Construct a new \fBDenIntegrator\fP given the \fBKeyVal\fP input\&. " .ti -1c .RI "\fBDenIntegrator\fP (\fBStateIn\fP &)" .br .RI "Construct a new \fBDenIntegrator\fP given the \fBStateIn\fP data\&. " .ti -1c .RI "void \fBsave_data_state\fP (\fBStateOut\fP &)" .br .RI "Save the base classes (with save_data_state) and the members in the same order that the \fBStateIn\fP CTOR initializes them\&. " .ti -1c .RI "\fBRef\fP< \fBWavefunction\fP > \fBwavefunction\fP () const" .br .RI "Returns the wavefunction used for the integration\&. " .ti -1c .RI "double \fBvalue\fP () const" .br .RI "Returns the result of the integration\&. " .ti -1c .RI "void \fBset_accuracy\fP (double a)" .br .RI "Sets the accuracy to use in the integration\&. " .ti -1c .RI "double \fBget_accuracy\fP (void)" .br .ti -1c .RI "void \fBset_compute_potential_integrals\fP (int)" .br .RI "Call with non zero if the potential integrals are to be computed\&. " .ti -1c .RI "const double * \fBalpha_vmat\fP () const" .br .RI "Returns the alpha potential integrals\&. " .ti -1c .RI "const double * \fBbeta_vmat\fP () const" .br .RI "Returns the beta potential integrals\&. " .ti -1c .RI "virtual void \fBinit\fP (const \fBRef\fP< \fBWavefunction\fP > &)" .br .RI "Called before integrate\&. " .ti -1c .RI "virtual void \fBdone\fP ()" .br .RI "Must be called between calls to init\&. " .ti -1c .RI "virtual void \fBintegrate\fP (const \fBRef\fP< \fBDenFunctional\fP > &, const \fBRefSymmSCMatrix\fP &densa=0, const \fBRefSymmSCMatrix\fP &densb=0, double *nuclear_grad=0)=0" .br .RI "Performs the integration of the given functional using the given alpha and beta density matrices\&. " .in -1c .SS "Protected Member Functions" .in +1c .ti -1c .RI "void \fBinit_integration\fP (const \fBRef\fP< \fBDenFunctional\fP > &func, const \fBRefSymmSCMatrix\fP &densa, const \fBRefSymmSCMatrix\fP &densb, double *nuclear_gradient)" .br .ti -1c .RI "void \fBdone_integration\fP ()" .br .ti -1c .RI "void \fBinit_object\fP ()" .br .in -1c .SS "Protected Attributes" .in +1c .ti -1c .RI "\fBRef\fP< \fBWavefunction\fP > \fBwfn_\fP" .br .ti -1c .RI "\fBRef\fP< \fBBatchElectronDensity\fP > \fBden_\fP" .br .ti -1c .RI "\fBRef\fP< \fBThreadGrp\fP > \fBthreadgrp_\fP" .br .ti -1c .RI "\fBRef\fP< \fBMessageGrp\fP > \fBmessagegrp_\fP" .br .ti -1c .RI "double \fBvalue_\fP" .br .ti -1c .RI "double \fBaccuracy_\fP" .br .ti -1c .RI "double * \fBalpha_vmat_\fP" .br .ti -1c .RI "double * \fBbeta_vmat_\fP" .br .ti -1c .RI "int \fBspin_polarized_\fP" .br .ti -1c .RI "int \fBneed_density_\fP" .br .ti -1c .RI "double \fBdensity_\fP" .br .ti -1c .RI "int \fBnbasis_\fP" .br .ti -1c .RI "int \fBnshell_\fP" .br .ti -1c .RI "int \fBn_integration_center_\fP" .br .ti -1c .RI "int \fBnatom_\fP" .br .ti -1c .RI "int \fBcompute_potential_integrals_\fP" .br .ti -1c .RI "int \fBlinear_scaling_\fP" .br .ti -1c .RI "int \fBuse_dmat_bound_\fP" .br .in -1c .SS "Additional Inherited Members" .SH "Detailed Description" .PP An abstract base class for integrating the electron density\&. .SH "Member Function Documentation" .PP .SS "const double* sc::DenIntegrator::alpha_vmat () const\fC [inline]\fP" .PP Returns the alpha potential integrals\&. Stored as the lower triangular, row-major format\&. .SS "const double* sc::DenIntegrator::beta_vmat () const\fC [inline]\fP" .PP Returns the beta potential integrals\&. Stored as the lower triangular, row-major format\&. .SS "virtual void sc::DenIntegrator::init (const \fBRef\fP< \fBWavefunction\fP > &)\fC [virtual]\fP" .PP Called before integrate\&. Does not need to be called again unless the geometry changes or done is called\&. .SS "virtual void sc::DenIntegrator::integrate (const \fBRef\fP< \fBDenFunctional\fP > &, const \fBRefSymmSCMatrix\fP & densa = \fC0\fP, const \fBRefSymmSCMatrix\fP & densb = \fC0\fP, double * nuclear_grad = \fC0\fP)\fC [pure virtual]\fP" .PP 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\&. .PP Implemented in \fBsc::RadialAngularIntegrator\fP\&. .SS "void sc::DenIntegrator::save_data_state (\fBStateOut\fP &)\fC [virtual]\fP" .PP Save the base classes (with save_data_state) and the members in the same order that the \fBStateIn\fP CTOR initializes them\&. This must be implemented by the derived class if the class has data\&. .PP Reimplemented from \fBsc::SavableState\fP\&. .PP Reimplemented in \fBsc::RadialAngularIntegrator\fP\&. .SS "void sc::DenIntegrator::set_compute_potential_integrals (int)" .PP Call with non zero if the potential integrals are to be computed\&. They can be returned with the vmat() member\&. .SH "Author" .PP Generated automatically by Doxygen for MPQC from the source code\&.