MPQC  3.0.0-alpha
sc::UnionBasisSet Class Reference

UnionBasisSet constructs a union of two GaussianBasisSet objects. More...

#include <chemistry/qc/basis/union.h>

Inheritance diagram for sc::UnionBasisSet:
sc::GaussianBasisSet sc::SavableState sc::DescribedClass sc::RefCount

Public Types

enum  Basis12 { Basis1 =1, Basis2 =2, Basis1_and_Basis2 =12 }
 

Public Member Functions

 UnionBasisSet (const Ref< KeyVal > &)
 The KeyVal constructor. More...
 
 UnionBasisSet (StateIn &)
 
 UnionBasisSet (const Ref< GaussianBasisSet > &bs1, const Ref< GaussianBasisSet > &bs2)
 
void save_data_state (StateOut &)
 saves this to so
 
const Ref< GaussianBasisSet > & basis1 () const
 return basis1
 
const Ref< GaussianBasisSet > & basis2 () const
 return basis2
 
Basis12 shell_to_basis (int s) const
 reports in which basis shell s of the union basis is found
 
Basis12 function_to_basis (int f) const
 reports in which basis function f of the union basis is found
 
- Public Member Functions inherited from sc::GaussianBasisSet
Ref< GaussianBasisSetoperator+ (const Ref< GaussianBasisSet > &B)
 Uses UnionBasisSet to construct the sum of this and B. More...
 
GaussianBasisSetoperator= (const GaussianBasisSet &A)
 
const std::string & name () const
 Return the name of the basis set (is nonnull only if keyword "name" was provided)
 
const std::string & label () const
 Return the label of the basis set. More...
 
Ref< Moleculemolecule () const
 Return the Molecule object.
 
Ref< SCMatrixKitmatrixkit ()
 Returns the SCMatrixKit that is to be used for AO bases.
 
Ref< SCMatrixKitso_matrixkit ()
 Returns the SCMatrixKit that is to be used for SO bases.
 
RefSCDimension basisdim ()
 Returns the SCDimension object for the dimension.
 
unsigned int ncenter () const
 Return the number of centers.
 
unsigned int nshell () const
 Return the number of shells.
 
int nshell_on_center (int icenter) const
 Return the number of shells on the given center.
 
int shell_on_center (int icenter, int shell) const
 Return the overall shell number, given a center and the shell number on that center. More...
 
int shell_to_center (int ishell) const
 Return the center on which the given shell is located. More...
 
unsigned int nbasis () const
 Return the number of basis functions.
 
unsigned int nbasis_on_center (int icenter) const
 Return the number of basis functions on the given center.
 
unsigned int nprimitive () const
 Return the number of primitive Gaussians (sum of number of primitives for each Shell)
 
bool has_pure () const
 Return true if basis contains solid harmonics Gaussians.
 
unsigned int max_nfunction_in_shell () const
 Return the maximum number of functions that any shell has.
 
unsigned int max_ncartesian_in_shell (int aminc=0) const
 Return the maximum number of Cartesian functions that any shell has. More...
 
unsigned int max_nprimitive_in_shell () const
 Return the maximum number of primitive Gaussian that any shell has.
 
unsigned int max_angular_momentum () const
 Return the highest angular momentum in any shell.
 
unsigned int max_ncontraction () const
 Return the maximum number of Gaussians in a contraction in any shell.
 
unsigned int max_am_for_contraction (int con) const
 Return the maximum angular momentum found in the given contraction number for any shell. More...
 
unsigned int max_cartesian () const
 Return the maximum number of Cartesian functions in any shell.
 
int shell_to_function (int i) const
 Return the number of the first function in the given shell.
 
int function_to_shell (int i) const
 Return the shell to which the given function belongs.
 
const Shelloperator() (int i) const
 Return a reference to Shell number i.
 
Shelloperator() (int i)
 Return a reference to Shell number i.
 
const Shelloperator[] (int i) const
 Return a reference to Shell number i.
 
Shelloperator[] (int i)
 Return a reference to Shell number i.
 
const Shellshell (int i) const
 Return a reference to Shell number i.
 
Shellshell (int i)
 Return a reference to Shell number i.
 
const Shelloperator() (int icenter, int ishell) const
 Return a reference to Shell number ishell on center icenter.
 
Shelloperator() (int icenter, int ishell)
 Return a reference to Shell number ishell on center icenter.
 
const Shellshell (int i, int j) const
 Return a reference to Shell number j on center i.
 
Shellshell (int i, int j)
 Return a reference to Shell number j on center i.
 
int find (int C, const GaussianShell &S) const
 Return the absolute index of shell S located at center C in this basis. If the shell is not found, returns -1.
 
double r (int icenter, int xyz) const
 The location of center icenter. More...
 
int values (const SCVector3 &r, ValueData *, double *basis_values) const
 Compute the values for this basis set at position r. More...
 
int grad_values (const SCVector3 &r, ValueData *, double *g_values, double *basis_values=0) const
 Like values(...), but computes gradients of the basis function values, too. More...
 
int hessian_values (const SCVector3 &r, ValueData *, double *h_values, double *g_values=0, double *basis_values=0) const
 Like values(...), but computes first and second derivatives of the basis function values, too. More...
 
int shell_values (const SCVector3 &r, int sh, ValueData *, double *basis_values) const
 Compute the values for the given shell functions at position r. More...
 
int grad_shell_values (const SCVector3 &r, int sh, ValueData *, double *g_values, double *basis_values=0) const
 Like values(...), but computes gradients of the shell function values, too. More...
 
int hessian_shell_values (const SCVector3 &r, int sh, ValueData *, double *h_values, double *g_values=0, double *basis_values=0) const
 Like values(...), but computes first and second derivatives of the shell function values, too. More...
 
int equiv (const Ref< GaussianBasisSet > &b)
 Returns true if this and the argument are equivalent.
 
void print_brief (std::ostream &=ExEnv::out0()) const
 Print a brief description of the basis set.
 
virtual void print (std::ostream &=ExEnv::out0()) const
 Print a detailed description of the basis set.
 
 GaussianBasisSet (StateIn &si)
 restores this from si
 
 GaussianBasisSet (const Ref< KeyVal > &)
 The KeyVal constructor. More...
 
 GaussianBasisSet (const Ref< Molecule > &molecule, const std::vector< GaussianShell > &shells, const std::vector< unsigned int > &shell_to_center, std::string name=std::string(), std::string label=std::string())
 Constructs GaussianBasisSet from a Molecule and a vector of GaussianShells. More...
 
 GaussianBasisSet (const GaussianBasisSet &)
 
- Public Member Functions inherited from sc::SavableState
SavableStateoperator= (const SavableState &)
 
void save_state (StateOut &)
 Save the state of the object as specified by the StateOut object. More...
 
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. More...
 
virtual void save_vbase_state (StateOut &)
 Save the virtual bases for the object. More...
 
- Public Member Functions inherited from sc::DescribedClass
 DescribedClass (const DescribedClass &)
 
DescribedClassoperator= (const DescribedClass &)
 
ClassDescclass_desc () const MPQC__NOEXCEPT
 This returns the unique pointer to the ClassDesc corresponding to the given type_info object. More...
 
const char * class_name () const
 Return the name of the object's exact type.
 
int class_version () const
 Return the version of the class.
 
Ref< DescribedClassref ()
 Return this object wrapped up in a Ref smart pointer. More...
 
- Public Member Functions inherited from sc::RefCount
size_t identifier () const
 Return the unique identifier for this object that can be compared for different objects of different types. More...
 
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. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from sc::GaussianBasisSet
static Ref< GaussianBasisSetunit ()
 This will produce a GaussianBasisSet object composed of a a single "unit" basis function, i.e. More...
 
- Static Public Member Functions inherited from sc::SavableState
static void save_state (SavableState *s, StateOut &)
 
static SavableStaterestore_state (StateIn &si)
 Restores objects saved with save_state. More...
 
static SavableStatekey_restore_state (StateIn &si, const char *keyword)
 Like restore_state, but keyword is used to override values while restoring.
 
static SavableStatedir_restore_state (StateIn &si, const char *objectname, const char *keyword=0)
 
- Protected Member Functions inherited from sc::GaussianBasisSet
virtual void set_matrixkit (const Ref< SCMatrixKit > &)
 
void init (std::string name, std::string label, const Ref< Molecule > &molecule, const std::vector< Shell > &shell)
 Initializes everything. More...
 
- 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. More...
 
- Protected Member Functions inherited from sc::RefCount
 RefCount (const RefCount &)
 
RefCountoperator= (const RefCount &)
 
- Protected Attributes inherited from sc::GaussianBasisSet
Ref< Moleculemolecule_
 

Detailed Description

UnionBasisSet constructs a union of two GaussianBasisSet objects.

The union basis on atom i includes the basis functions of A centered on i followed by the basis functions of B centered on i. Duplicate basis functions/shells are eliminated. The Molecule object for the two basis sets must be identical.

Constructor & Destructor Documentation

◆ UnionBasisSet()

sc::UnionBasisSet::UnionBasisSet ( const Ref< KeyVal > &  )

The KeyVal constructor.

It does not call the basis class KeyVal constructor.

basis1
The first GaussianBasisSet object in the union.
basis2

The second GaussianBasisSet object in the union.


The documentation for this class was generated from the following file:

Generated at Sun Jan 26 2020 23:24:14 for MPQC 3.0.0-alpha using the documentation package Doxygen 1.8.16.