mpqc::lcao::pbc::AOFactory< Tile, Policy > Class Template Reference

Documentation

template<typename Tile, typename Policy>
class mpqc::lcao::pbc::AOFactory< Tile, Policy >

implementation base for AOFactory

Public Types

using OrbitalFactoryBase = Factory::OrbitalFactoryBase< DistArray< Tile, Policy > >
 

Public Member Functions

 AOFactory (const KeyVal &kv)
 KeyVal constructor for AOFactory. More...
 
 AOFactory ()=default
 
 AOFactory (const AOFactory &)=delete
 
 AOFactory (AOFactory &&)=default
 
AOFactoryoperator= (AOFactory &&)=default
 
AOFactoryoperator= (const AOFactory &)=delete
 
virtual ~AOFactory () noexcept=default
 
std::shared_ptr< const UnitCellunitcell () const
 
std::shared_ptr< const UnitCellreciprocal_unitcell () const
 
const Vector3iR_max () const
 
const Vector3iRJ_max () const
 
const Vector3iRD_max () const
 
int64_t R_size () const
 
int64_t RJ_size () const
 
int64_t RD_size () const
 
void set_rjmax (const Vector3i &rjmax)
 This sets the range of Coulomb interaction. More...
 

Protected Attributes

std::shared_ptr< const UnitCellunitcell_
 
std::shared_ptr< const UnitCellreciprocal_unitcell_
 

UnitCell private member

More...
 
Vector3i R_max_
 

reciprocal UnitCell

More...
 
Vector3i RJ_max_ = {0, 0, 0}
 

range of expansion of Bloch Gaussians in AO Gaussians

More...
 
Vector3i RD_max_ = {0, 0, 0}
 

range of Coulomb operation

More...
 
int64_t R_size_
 

range of density representation

More...
 
int64_t RJ_size_
 

cardinal # of lattices included in Bloch Gaussian expansion

More...
 
int64_t RD_size_
 

cardinal # of lattices included in Coulomb operation

More...
 

Member Typedef Documentation

◆ OrbitalFactoryBase

template<typename Tile , typename Policy >
using mpqc::lcao::pbc::AOFactory< Tile, Policy >::OrbitalFactoryBase = Factory::OrbitalFactoryBase< DistArray<Tile, Policy> >

Constructor & Destructor Documentation

◆ AOFactory() [1/4]

template<typename Tile , typename Policy >
mpqc::lcao::pbc::AOFactory< Tile, Policy >::AOFactory ( const KeyVal kv)

KeyVal constructor for AOFactory.

Parameters
kvthe KeyVal object will be queried for all keywords of lcao::Factory as well as the following additional keywords:
Keyword Type Default Description
rmax array<int, 3> none This gives range of expansion of Bloch Gaussians in AO Gaussians.
rdmax array<int, 3> none This gives range of Coulomb operation.
rjmax array<int, 3> none This gives range of density representation.

If any of these keywords do not exist, they will be queried in the WavefunctionWorld object's KeyVal object; only if missing there the default value will be assigned.

An example input in which the WavefunctionWorld object is specified separately:

"wfn_world": {
"atoms" : "$:water",
"basis" : "$:basis",
"df_basis" : "$:dfbs"
},
"ao_factory": {
"wfn_world" : "$:wfn_world",
"rmax": [0, 0, 10],
"rjmax": [0, 0, 10],
"rdmax": [0, 0, 10]
}

◆ AOFactory() [2/4]

template<typename Tile , typename Policy >
mpqc::lcao::pbc::AOFactory< Tile, Policy >::AOFactory ( )
default

◆ AOFactory() [3/4]

template<typename Tile , typename Policy >
mpqc::lcao::pbc::AOFactory< Tile, Policy >::AOFactory ( const AOFactory< Tile, Policy > &  )
delete

◆ AOFactory() [4/4]

template<typename Tile , typename Policy >
mpqc::lcao::pbc::AOFactory< Tile, Policy >::AOFactory ( AOFactory< Tile, Policy > &&  )
default

◆ ~AOFactory()

template<typename Tile , typename Policy >
virtual mpqc::lcao::pbc::AOFactory< Tile, Policy >::~AOFactory ( )
virtualdefaultnoexcept

Member Function Documentation

◆ operator=() [1/2]

template<typename Tile , typename Policy >
AOFactory& mpqc::lcao::pbc::AOFactory< Tile, Policy >::operator= ( AOFactory< Tile, Policy > &&  )
default

◆ operator=() [2/2]

template<typename Tile , typename Policy >
AOFactory& mpqc::lcao::pbc::AOFactory< Tile, Policy >::operator= ( const AOFactory< Tile, Policy > &  )
delete

◆ R_max()

template<typename Tile , typename Policy >
const Vector3i& mpqc::lcao::pbc::AOFactory< Tile, Policy >::R_max ( ) const
inline
Returns
the range of expansion of Bloch Gaussians in AO Gaussians

◆ R_size()

template<typename Tile , typename Policy >
int64_t mpqc::lcao::pbc::AOFactory< Tile, Policy >::R_size ( ) const
inline
Returns
the cardinal number of lattices included in Bloch Gaussian expansion

◆ RD_max()

template<typename Tile , typename Policy >
const Vector3i& mpqc::lcao::pbc::AOFactory< Tile, Policy >::RD_max ( ) const
inline
Returns
the range of density representation

◆ RD_size()

template<typename Tile , typename Policy >
int64_t mpqc::lcao::pbc::AOFactory< Tile, Policy >::RD_size ( ) const
inline
Returns
the cardinal number of lattices included in density representation

◆ reciprocal_unitcell()

template<typename Tile , typename Policy >
std::shared_ptr<const UnitCell> mpqc::lcao::pbc::AOFactory< Tile, Policy >::reciprocal_unitcell ( ) const
inline
Returns
a shared ptr to the UnitCell object of the reciprocal lattice

◆ RJ_max()

template<typename Tile , typename Policy >
const Vector3i& mpqc::lcao::pbc::AOFactory< Tile, Policy >::RJ_max ( ) const
inline
Returns
the range of Coulomb operation

◆ RJ_size()

template<typename Tile , typename Policy >
int64_t mpqc::lcao::pbc::AOFactory< Tile, Policy >::RJ_size ( ) const
inline
Returns
the cardinal number of lattices included in Coulomb operation

◆ set_rjmax()

template<typename Tile , typename Policy >
void mpqc::lcao::pbc::AOFactory< Tile, Policy >::set_rjmax ( const Vector3i rjmax)
inline

This sets the range of Coulomb interaction.

◆ unitcell()

template<typename Tile , typename Policy >
std::shared_ptr<const UnitCell> mpqc::lcao::pbc::AOFactory< Tile, Policy >::unitcell ( ) const
inline
Returns
a shared ptr to the UnitCell object of the direct lattice

Member Data Documentation

◆ R_max_

template<typename Tile , typename Policy >
Vector3i mpqc::lcao::pbc::AOFactory< Tile, Policy >::R_max_
protected
Initial value:
= {
0, 0, 0}

reciprocal UnitCell

◆ R_size_

template<typename Tile , typename Policy >
int64_t mpqc::lcao::pbc::AOFactory< Tile, Policy >::R_size_
protected

range of density representation

◆ RD_max_

template<typename Tile , typename Policy >
Vector3i mpqc::lcao::pbc::AOFactory< Tile, Policy >::RD_max_ = {0, 0, 0}
protected

range of Coulomb operation

◆ RD_size_

template<typename Tile , typename Policy >
int64_t mpqc::lcao::pbc::AOFactory< Tile, Policy >::RD_size_
protected

cardinal # of lattices included in Coulomb operation

◆ reciprocal_unitcell_

template<typename Tile , typename Policy >
std::shared_ptr<const UnitCell> mpqc::lcao::pbc::AOFactory< Tile, Policy >::reciprocal_unitcell_
protected

UnitCell private member

◆ RJ_max_

template<typename Tile , typename Policy >
Vector3i mpqc::lcao::pbc::AOFactory< Tile, Policy >::RJ_max_ = {0, 0, 0}
protected

range of expansion of Bloch Gaussians in AO Gaussians

◆ RJ_size_

template<typename Tile , typename Policy >
int64_t mpqc::lcao::pbc::AOFactory< Tile, Policy >::RJ_size_
protected

cardinal # of lattices included in Bloch Gaussian expansion

◆ unitcell_

template<typename Tile , typename Policy >
std::shared_ptr<const UnitCell> mpqc::lcao::pbc::AOFactory< Tile, Policy >::unitcell_
protected

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