mpqc::lcao::gaussian::GaussianFactory Class Reference
Collaboration diagram for mpqc::lcao::gaussian::GaussianFactory:

Documentation

GaussianFactory is a Factory that computes integrals in Gaussian AO basis and caches shell/shellpair data

Public Types

using fmm_shell_data_accessor_type = std::function< const FMMShellData &(std::size_t)>
 these represent precomputed shell and shell-pair data More...
 
using sqvl_shell_data_accessor_type = std::function< const SQVlShellData &(std::size_t)>
 
using BasisDataRegistry = Registry< const Basis *, const BasisData< ShellData > >
 
using BasisPairDataRegistry = Registry< std::array< const Basis *, 2 >, const BasisPairData< ShellPairData > >
 
using libint_shellpair_data_accessor_type = shellpair_data_accessor_t
 
using fmm_shellpair_data_accessor_type = std::function< const FMMShellPairData &(std::size_t, std::size_t)>
 
using sqvl_shellpair_data_accessor_type = std::function< const SQVlShellPairData &(std::size_t, std::size_t)>
 
- Public Types inherited from mpqc::DescribedClass
typedef std::shared_ptr< DescribedClass >(* keyval_ctor_wrapper_type) (const KeyVal &)
 

Public Member Functions

virtual void obsolete () override
 obsolete Factory More...
 
const std::shared_ptr< gaussian::OrbitalBasisRegistry > & basis_registry () const
 
const BasisDataRegistrybasis_data_registry () const
 
const BasisPairDataRegistrybasispair_data_registry () const
 
std::function< shellpair_data_accessor_t(const Basis *bs0, const Basis *bs1)> make_libint_shellpair_data_accessor () const
 
const BasisData< ShellData > & basis_data (const Basis *bs) const
 
libint_shellpair_data_accessor_type libint_shell_data_accessor (const Basis *bs) const
 
fmm_shell_data_accessor_type fmm_shell_data_accessor (const Basis *bs) const
 
sqvl_shell_data_accessor_type sqvl_shell_data_accessor (const Basis *bs) const
 
const BasisPairData< ShellPairData > & basispair_data (const Basis *bs0, const Basis *bs1) const
 
libint_shellpair_data_accessor_type libint_shellpair_data_accessor (const Basis *bs0, const Basis *bs1) const
 
fmm_shellpair_data_accessor_type fmm_shellpair_data_accessor (const Basis *bs0, const Basis *bs1) const
 
sqvl_shellpair_data_accessor_type sqvl_shellpair_data_accessor (const Basis *bs0, const Basis *bs1) const
 
- Public Member Functions inherited from mpqc::lcao::Factory
std::shared_ptr< WavefunctionWorldwfn_world () const
 
TA::World & world () const
 
const std::shared_ptr< const Molecule > & atoms () const
 
bool accurate_time () const
 
bool verbose () const
 
virtual FormulaRegistryBaseregistry ()=0
 
virtual FormulaRegistryBasedirect_registry ()=0
 
- Public Member Functions inherited from mpqc::DescribedClass
 DescribedClass ()=default
 
virtual ~DescribedClass ()
 
std::string class_key () const
 
- Public Member Functions inherited from mpqc::enable_shared_from_this< DescribedClass >
virtual ~enable_shared_from_this ()=default
 
std::shared_ptr< DescribedClassshared_from_this ()
 returns the pointer to this object More...
 
std::shared_ptr< std::add_const_t< DescribedClass > > shared_from_this () const
 returns the pointer to this object More...
 
- Public Member Functions inherited from mpqc::detail::virt_base_of_enable_shared_from_this
virtual ~virt_base_of_enable_shared_from_this ()=default
 
bool shared_from_this_possible () const
 
template<typename Target , typename = std::enable_if_t<!std::is_const_v<Target>>>
std::shared_ptr< Target > cast_shared_from_this_to ()
 returns the pointer to this cast to a particular type More...
 
template<typename Target >
std::shared_ptr< std::add_const_t< Target > > cast_shared_from_this_to () const
 returns the pointer to this cast to a particular type More...
 

Protected Member Functions

 GaussianFactory ()=default
 
 GaussianFactory (const GaussianFactory &)=delete
 
 GaussianFactory (GaussianFactory &&)=default
 
GaussianFactoryoperator= (GaussianFactory &&)=default
 
GaussianFactoryoperator= (const GaussianFactory &)=delete
 
virtual ~GaussianFactory () noexcept=default
 
- Protected Member Functions inherited from mpqc::lcao::Factory
 Factory ()=default
 
virtual ~Factory ()=default
 
void init (const KeyVal &kv)
 The KeyVal initializer. More...
 
 Factory (const KeyVal &kv)=delete
 

Additional Inherited Members

- Static Public Member Functions inherited from mpqc::DescribedClass
static keyval_ctor_wrapper_type type_to_keyval_ctor (const std::string &type_name)
 
template<typename T >
static void register_keyval_ctor ()
 
template<typename T >
static bool is_registered ()
 
template<typename T >
static std::string class_key ()
 
static const keyval_ctor_registry_type & keyval_ctor_registry ()
 returns const ref to the keyval ctor registry More...
 
- Protected Attributes inherited from mpqc::lcao::Factory
bool accurate_time_
 fence when measuring walltime? More...
 
bool verbose_
 do verbose printing? More...
 

Member Typedef Documentation

◆ BasisDataRegistry

◆ BasisPairDataRegistry

◆ fmm_shell_data_accessor_type

these represent precomputed shell and shell-pair data

◆ fmm_shellpair_data_accessor_type

using mpqc::lcao::gaussian::GaussianFactory::fmm_shellpair_data_accessor_type = std::function<const FMMShellPairData&(std::size_t, std::size_t)>

◆ libint_shellpair_data_accessor_type

◆ sqvl_shell_data_accessor_type

◆ sqvl_shellpair_data_accessor_type

Constructor & Destructor Documentation

◆ GaussianFactory() [1/3]

mpqc::lcao::gaussian::GaussianFactory::GaussianFactory ( )
protecteddefault

◆ GaussianFactory() [2/3]

mpqc::lcao::gaussian::GaussianFactory::GaussianFactory ( const GaussianFactory )
protecteddelete

◆ GaussianFactory() [3/3]

mpqc::lcao::gaussian::GaussianFactory::GaussianFactory ( GaussianFactory &&  )
protecteddefault

◆ ~GaussianFactory()

virtual mpqc::lcao::gaussian::GaussianFactory::~GaussianFactory ( )
protectedvirtualdefaultnoexcept

Member Function Documentation

◆ basis_data()

const BasisData< ShellData > & mpqc::lcao::gaussian::GaussianFactory::basis_data ( const Basis bs) const
Returns
basis data for the given Basis object (constructs, if needed)

◆ basis_data_registry()

const GaussianFactory::BasisDataRegistry & mpqc::lcao::gaussian::GaussianFactory::basis_data_registry ( ) const
Returns
basis data registry

◆ basis_registry()

const std::shared_ptr<gaussian::OrbitalBasisRegistry>& mpqc::lcao::gaussian::GaussianFactory::basis_registry ( ) const
inline
Returns
a pointer to Basis Registry

◆ basispair_data()

const BasisPairData< ShellPairData > & mpqc::lcao::gaussian::GaussianFactory::basispair_data ( const Basis bs0,
const Basis bs1 
) const
Returns
basis pair data for the given Basis objects (constructs, if needed)

◆ basispair_data_registry()

const GaussianFactory::BasisPairDataRegistry & mpqc::lcao::gaussian::GaussianFactory::basispair_data_registry ( ) const
Returns
basis pair data registry

◆ fmm_shell_data_accessor()

GaussianFactory::fmm_shell_data_accessor_type mpqc::lcao::gaussian::GaussianFactory::fmm_shell_data_accessor ( const Basis bs) const
Returns
FMM shell data accessor that accepts shell index

◆ fmm_shellpair_data_accessor()

GaussianFactory::fmm_shellpair_data_accessor_type mpqc::lcao::gaussian::GaussianFactory::fmm_shellpair_data_accessor ( const Basis bs0,
const Basis bs1 
) const
Returns
FMM shellpair data accessor that accepts shell indices

◆ libint_shell_data_accessor()

GaussianFactory::libint_shellpair_data_accessor_type mpqc::lcao::gaussian::GaussianFactory::libint_shell_data_accessor ( const Basis bs) const
Returns
libint's shellpair data accessor, with unit function on second center, that accepts basis function indices

◆ libint_shellpair_data_accessor()

GaussianFactory::libint_shellpair_data_accessor_type mpqc::lcao::gaussian::GaussianFactory::libint_shellpair_data_accessor ( const Basis bs0,
const Basis bs1 
) const
Returns
libint's shellpair data accessor that accepts basis function indices

◆ make_libint_shellpair_data_accessor()

std::function< shellpair_data_accessor_t(const Basis *bs0, const Basis *bs1)> mpqc::lcao::gaussian::GaussianFactory::make_libint_shellpair_data_accessor ( ) const
Returns
callable that generates accessors for libint's shellpair data
See also
libint_shell_data_accessor
libint_shellpair_data_accessor

◆ obsolete()

virtual void mpqc::lcao::gaussian::GaussianFactory::obsolete ( )
inlineoverridevirtual

obsolete Factory

Reimplemented from mpqc::lcao::Factory.

◆ operator=() [1/2]

GaussianFactory& mpqc::lcao::gaussian::GaussianFactory::operator= ( const GaussianFactory )
protecteddelete

◆ operator=() [2/2]

GaussianFactory& mpqc::lcao::gaussian::GaussianFactory::operator= ( GaussianFactory &&  )
protecteddefault

◆ sqvl_shell_data_accessor()

GaussianFactory::sqvl_shell_data_accessor_type mpqc::lcao::gaussian::GaussianFactory::sqvl_shell_data_accessor ( const Basis bs) const
Returns
SQVl shell data accessor that accepts shell index

◆ sqvl_shellpair_data_accessor()

GaussianFactory::sqvl_shellpair_data_accessor_type mpqc::lcao::gaussian::GaussianFactory::sqvl_shellpair_data_accessor ( const Basis bs0,
const Basis bs1 
) const
Returns
SQVl shellpair data accessor that accepts shell indices

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