home | help
sc::RadialAngularIntegrator(3)	      MPQC	  sc::RadialAngularIntegrator(3)

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 ()

     Public Member Functions inherited from sc::DenIntegrator
     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.

     Public Member Functions inherited from sc::SavableState
     SavableState & operator= (const SavableState &)
     void save_state (StateOut &)
	 Save the state of the object as specified by the StateOut object.
     void save_object_state (StateOut &)
	 This can be used for saving state when the exact type of the object  is
	 known for both the save and the restore.
     virtual void save_vbase_state (StateOut &)
	 Save the virtual bases for the object.
     virtual 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.

     Public Member Functions inherited from sc::DescribedClass
     DescribedClass (const DescribedClass &)
     DescribedClass & operator= (const DescribedClass &)
     ClassDesc * class_desc () const  throw ()
	 This returns the unique pointer to the ClassDesc corresponding  to  the
	 given type_info object.
     const char * class_name () const
	 Return the name of the object's exact type.
     int class_version () const
	 Return the version of the class.
     virtual void print (std::ostream &=ExEnv::out0()) const
	 Print the object.

     Public Member Functions inherited from sc::RefCount
     int lock_ptr () const
	 Lock this object.
     int unlock_ptr () const
	 Unlock this object.
     void use_locks (bool inVal)
	 start and stop using locks on this object
     refcount_t nreference () const
	 Return the reference count.
     refcount_t reference ()
	 Increment the reference count and return the new count.
     refcount_t dereference ()
	 Decrement the reference count and return the new count.
     int managed () const
     void unmanage ()
	 Turn off the reference counting mechanism for this object.
     int managed () const
	 Return 1 if the object is managed. Otherwise return 0.

     Public Member Functions inherited from sc::Identity
     Identifier identifier ()
	 Return the Identifier for this argument.

   Protected Attributes
     Ref< IntegrationWeight > weight_
     Ref< RadialIntegrator > radial_user_
     Ref< AngularIntegrator > angular_user_
     Ref< AngularIntegrator > *** angular_grid_
     Ref< RadialIntegrator > ** radial_grid_

     Protected Attributes inherited from sc::DenIntegrator
     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
     Static Public Member Functions inherited from sc::SavableState
     static void save_state (SavableState *s, StateOut &)
     static SavableState * restore_state (StateIn &si)
	 Restores objects saved with save_state.
     static SavableState * key_restore_state (StateIn &si, const char *keyword)
	 Like  restore_state,  but  keyword  is  used  to  override values while
	 restoring.
     static SavableState * dir_restore_state (StateIn &si, const  char	*object-
	 name, const char *keyword=0)

     Protected Member Functions inherited from sc::DenIntegrator
     void init_integration (const Ref< DenFunctional > &func, const RefSymmSCMa-
	 trix &densa, const RefSymmSCMatrix &densb, double *nuclear_gradient)
     void done_integration ()
     void init_object ()

     Protected Member Functions inherited from sc::SavableState
     SavableState (const SavableState &)
     SavableState (StateIn &)
	 Each  derived	class  StateIn CTOR handles the restore corresponding to
	 calling save_object_state, save_vbase_state, and save_data_state listed
	 above.

     Protected Member Functions inherited from sc::RefCount
     RefCount (const RefCount &)
     RefCount & operator= (const RefCount &)

Detailed Description
     An implementation of an integrator using any combination of  a  RadialInte-
     grator 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 ac-
	 curacy 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  angu-
	 lar  grids  to  be  used near nuclei. The default is true. When this is
	 true, further control over pruning  can  be  obtained	with  the  angu-
	 lar_points and alpha_coeffs keywords.

     radial
	 Specifies  the RadialIntegrator object. If this is given, then specify-
	 ing 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 specify-
	 ing the grid, prune_grid, and dynamic keywords will not affect the  an-
	 gular	grid.  The default is controlled by other options, but is always
	 one of several LebedevLaikovIntegrator objects.

     weight
	 Specifies the IntegrationWeight object. The  default  is  BeckeIntegra-
	 tionWeight.

Member Function Documentation
   void  sc::RadialAngularIntegrator::integrate  (const  Ref< DenFunctional > &,
     const RefSymmSCMatrix & densa = 0, const RefSymmSCMatrix & densb = 0,  dou-
     ble * 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 nu-
     clear_grad, if it is non-null.

     Implements sc::DenIntegrator.

   void  sc::RadialAngularIntegrator::print  (std::ostream  &  =  ExEnv::out0())
     const [virtual]
     Print the object.

     Reimplemented from sc::DescribedClass.

   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.

Version 2.3.1			 Thu Sep 3 2026   sc::RadialAngularIntegrator(3)

home | help