NAME
sc::RadialAngularIntegrator -
An implementation of an integrator using any combination of a
RadialIntegrator and an AngularIntegrator.
SYNOPSIS
#include <integrator.h>
Inherits sc::DenIntegrator.
Public Member Functions
RadialAngularIntegrator (const Ref< KeyVal > &)
Construct a RadialAngularIntegrator from KeyVal input.
RadialAngularIntegrator (StateIn &)
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.
void integrate (const Ref< DenFunctional > &, const RefSymmSCMatrix
&densa=0, const RefSymmSCMatrix &densb=0, double
*nuclear_gradient=0)
Performs the integration of the given functional using the given
alpha and beta density matrices.
void print (std::ostream &=ExEnv::out0()) const
Print the object.
AngularIntegrator * get_angular_grid (double radius, double
atomic_radius, int charge, int deriv_order)
RadialIntegrator * get_radial_grid (int charge, int deriv_order)
void init_default_grids (void)
int angular_grid_offset (int i)
void set_grids (void)
int get_atomic_row (int i)
void init_parameters (void)
void init_parameters (const Ref< KeyVal > &keyval)
void init_pruning_coefficients (const Ref< KeyVal > &keyval)
void init_pruning_coefficients (void)
void init_alpha_coefficients (void)
int select_dynamic_grid (void)
Ref< IntegrationWeight > weight ()
Protected Attributes
Ref< IntegrationWeight > weight_
Ref< RadialIntegrator > radial_user_
Ref< AngularIntegrator > angular_user_
Ref< AngularIntegrator > *** angular_grid_
Ref< RadialIntegrator > ** radial_grid_
Detailed Description
An implementation of an integrator using any combination of a
RadialIntegrator and an AngularIntegrator.
Constructor & Destructor Documentation
sc::RadialAngularIntegrator::RadialAngularIntegrator (const Ref< KeyVal >
&)
Construct a RadialAngularIntegrator from KeyVal input. The accepted
keyword are listed below. The most important keyword is grid. The
dynamic and prune_grid options may be of occassional interest.
grid
Specifies the fineness of the grid. Possible values are xcoarse,
coarse, medium, fine, xfine, and ultrafine, in order of increasing
accuracy and cost. The default is fine.
dynamic
This gives a boolean value that, if true, will cause the grids to
start out coarse, and approach the requested grid value as more
accuracy is required, when the calculation is close to convergence.
The default is true.
prune_grid
This gives a boolean value that, if true, will cause more course
angular grids to be used near nuclei. The default is true. When
this is true, further control over pruning can be obtained with the
angular_points and alpha_coeffs keywords.
radial
Specifies the RadialIntegrator object. If this is given, then
specifying the grid and dynamic keywords will not affect the radial
grid. The default is controlled by other options, but is always one
of several EulerMaclaurinRadialIntegrator objects.
angular
Specifies the AngularIntegrator object. If this is given, then
specifying the grid, prune_grid, and dynamic keywords will not
affect the angular grid. The default is controlled by other
options, but is always one of several LebedevLaikovIntegrator
objects.
weight
Specifies the IntegrationWeight object. The default is
BeckeIntegrationWeight.
Member Function Documentation
void sc::RadialAngularIntegrator::integrate (const Ref< DenFunctional > &,
const RefSymmSCMatrix & densa = 0, const RefSymmSCMatrix & densb = 0,
double * nuclear_grad = 0) [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.
Implements sc::DenIntegrator.
void sc::RadialAngularIntegrator::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::DenIntegrator.
Author
Generated automatically by Doxygen for MPQC from the source code.