mpqc::lcao Namespace Reference

Namespaces

 cadf
 
 cc
 
 ci
 
 detail
 
 dyson
 
 f12
 
 gaussian
 
 model
 
 pbc
 import the gaussian::utility namespace into the pbc::gaussian namespace
 
 pno
 

Classes

class  AOFactory
 Abstract AO integral factory. More...
 
class  AOWavefunction
 AOWavefunction is a Wavefunction with an gaussian::AOFactory. More...
 
class  CABSSingles
 
class  CadfFockBuilder
 
class  CCSD_F12
 
class  CCSD_PNO
 CCSD_PNO class. More...
 
class  CCSD_T_F12
 CCSD(T)F12 class. More...
 
class  ClrDfJCadfKFockBuilder
 
class  ClrDfJCadfKRHF
 
class  DBGF2F12
 Dual Basis GF2F12 class keyval name for this class DBGF2F12. More...
 
class  DBRMP2
 Dual basis MP2 method for closed shell system. More...
 
class  DecoratedOrbitalSpace
 an OrbitalSpace where each orbital in addition to irrep has additional attributes More...
 
class  DensityBuilder
 Computes new density and orbitals from a Fock matrix. More...
 
class  DFDBRMP2
 
class  DFDBRMP2F12
 Dual Basis MP2F12 method for closed shell with DF. More...
 
class  DFFockBuilder
 
class  DFJ4cKBuilder
 
class  DfJCadfKRHF
 
class  DfJRHF
 
class  DfRHF
 
class  DFRMP2
 MP2 class for closed-shell system with density fitting. More...
 
class  DFRMP2F12
 MP2F12 method for closed shell with DF. More...
 
class  DirectDfRHF
 
class  DirectFockBuilder
 
class  DirectRHF
 
class  EffectiveFockBuilder
 
class  ERLocalizer
 Performs Edmiston-Ruedenberg localization. More...
 
class  ESolveDensityBuilder
 Computes new density and orbitals from a Fock matrix using an eigensolver. More...
 
class  ExactKDiagonalBuilder
 
class  Factory
 Abstract integral factory. More...
 
class  FBLocalizer
 
class  FockBuilder
 
class  GammaPointMP2
 
class  GF2F12
 GF2F12 class keyval name for this class GF2F12. More...
 
class  IdentityEffectiveFockBuilder
 
class  JacobiOrbitalLocalizer
 Implements Jacobi-based spread minimizer. More...
 
class  JKFockBuilder
 
class  KSFockBuilder
 
class  LCAOFactory
 Molecule Integral computation class This class computes molecular integrals using a Formula object. More...
 
class  LCAOWavefunction
 LCAOWavefunction is a Wavefunction with an LCAOFactory. More...
 
class  MullikenPopulationAnalysis
 Implements Mulliken population analysis. More...
 
class  OrbitalIndex
 OrbitalIndex denotes a LCAO or AO index space. More...
 
class  OrbitalLocalizer
 Localizes orbitals using LCAO-specific info (e.g. AO-basis operators) More...
 
class  OrbitalRegistry
 map OrbitalIndex to Value object More...
 
class  OrbitalSpace
 OrbitalSpace represents a set of LCAO. More...
 
class  OrbitalSpaceRegistry
 OrbitalSpaceRegistry is an OrbitalRegistry that maps OrbitalIndex to OrbitalSpace class. More...
 
class  PaoPnoRMP2
 PNO MP2 in PAO basis (with OSV as optional intermediate basis) More...
 
class  PeriodicWavefunction
 PeriodicAOWavefunction is a Wavefunction with a pbc::gaussian::AOFactory. More...
 
class  PMLocalizer
 Performs Pipek-Mezey localization. More...
 
class  PopulationAnalysis
 Performs population analysis on a set of LCAOs. More...
 
class  PurificationDensityBuilder
 Computes new density matrix and orbitals from a Fock matrix by purification. More...
 
class  ReferenceFockBuilder
 
class  RHF
 
class  RLaplaceMP2
 Laplace MP2 class for closed-shell system. More...
 
class  RMP2
 MP2 class for closed-shell system. More...
 
class  RMP2F12
 MP2F12 method for closed shell. More...
 
class  RoothaanEffectiveFockBuilder
 
class  RRQRLocalizer
 
class  Screener
 Base class for screeners will never skip any integrals. More...
 
class  SD
 General Single-Determinant Wavefunction. More...
 
class  ThresholdedScreener
 ThresholdedScreener is a Screener equipped with a (mutable) real threshold. More...
 
class  Wavefunction
 
class  WavefunctionWorld
 specialization of mpqc::WavefunctionWorld to the LCAO case More...
 
class  XCFockBuilder
 
class  zOrbitalLocalizer
 

Typedefs

template<typename Array >
using CanonicalOrbitalSpace = DecoratedOrbitalSpace< Array, double, detail::CanonicalAttributeTag >
 
template<typename Array >
using PopulatedOrbitalSpace = DecoratedOrbitalSpace< Array, double, detail::PopulatedAttributeTag >
 Populated orbitals are decorated by occupancies, no order assumed. More...
 
template<typename Tile = MPQC_DEFAULT_REAL_TA_TILE_CLASS, typename Policy = MPQC_DEFAULT_TA_POLICY_CLASS>
using DirectDFFockBuilder = DFFockBuilder< Tile, Policy, DirectArray< Tile, Policy > >
 
template<typename T , typename P >
using DFJEngine = std::function< DistArrayVector< T, P >(const DistArrayVector< T, P > &, const DistArray< T, P > &) >
 
using TileD = TA::TensorD
 

Enumerations

enum  DecomType { eigen_decom, svd }
 

Functions

OrbitalIndex make_base_index (const OrbitalIndex &idx)
 
template<typename AOFactory >
std::shared_ptr< AOFactoryao_factory_from_keyval (const KeyVal &kv)
 
template<typename AOFactory_ >
std::shared_ptr< AOFactory_ > ao_factory_from_keyval (const KeyVal &kv)
 
template std::shared_ptr< AOFactory<> > ao_factory_from_keyval< AOFactory<> > (const KeyVal &kv)
 
 MPQC_EXTERN_TEMPLATE (class AOFactory<>)
 
 MPQC_EXTERN_TEMPLATE (std::shared_ptr< AOFactory<>> ao_factory_from_keyval(const KeyVal &))
 
 MPQC_EXTERN_TEMPLATE (class Factory::OrbitalFactoryBase<>)
 
 MPQC_EXTERN_TEMPLATE (class Factory::OrbitalFactoryBase< DistArrayD<>, DirectArrayD<>>)
 
 MPQC_EXTERN_TEMPLATE (class Factory::OrbitalFactoryBase< DistArrayZ<>>)
 
template<typename LCAOFactory_ >
std::shared_ptr< LCAOFactory_ > lcao_factory_from_keyval (const KeyVal &kv)
 
 MPQC_EXTERN_TEMPLATE (class LCAOFactory<>)
 
std::array< std::wstring, 2 > get_df_formula (const Formula &formula)
 
Formula get_jk_formula (const Formula &formula, const std::wstring &obs)
 
std::array< Formula, 3 > get_jk_df_formula (const Formula &formula, const std::wstring &obs)
 
OrbitalIndex get_jk_orbital_space (const Operator &operation)
 
std::array< Formula, 3 > get_fock_formula (const Formula &formula)
 
template<typename Tile , typename Policy >
TA::DistArray< Tile, Policy > cadf_fitting_coefficients (madness::World &world, gaussian::Basis const &by_cluster_obs, gaussian::Basis const &by_cluster_dfbs)
 Function to compute CADF fitting coefficients. More...
 
template<typename Tile , typename Policy , typename MDistArray >
TA::DistArray< Tile, Policy > cadf_fitting_coefficients (MDistArray &&M, const gaussian::Basis &by_cluster_bs0, const gaussian::Basis &by_cluster_bs1, const gaussian::Basis &by_cluster_dfbs, const size_t &natoms_per_uc, const Vector3i &lattice_range0=Vector3i({0, 0, 0}), const Vector3i &lattice_range1=Vector3i({0, 0, 0}), const Vector3i &lattice_range_df=Vector3i({0, 0, 0}), const Vector3i &lattice_center0=Vector3i({0, 0, 0}), const Vector3i &lattice_center1=Vector3i({0, 0, 0}), const Vector3i &lattice_center_df=Vector3i({0, 0, 0}))
 This computes by-cluster CADF fitting coefficients C(X_Rx, μ_R0, ν_R1) in periodic calculations. More...
 
template<typename Tile , typename Policy >
TA::DistArray< Tile, Policy > secadf_by_atom_correction (madness::World &world, gaussian::Basis const &by_cluster_obs, gaussian::Basis const &by_cluster_dfbs, bool aaab=false)
 Function to compute seCADF 4center abab correction. More...
 
template<typename MetricEngine >
TA::DistArray< TA::TensorD, TA::SparsePolicy > compute_atomic_fitting_coeffs (madness::World &world, Molecule const &obs_molecule, Molecule const &dfbs_molecule, BasisFactory const &obs_set, BasisFactory const &dfbs_set, MetricEngine const &eng, std::unordered_map< std::size_t, std::size_t > &obs_atom_to_cluster_map, std::unordered_map< std::size_t, std::size_t > &dfbs_atom_to_cluster_map)
 
TA::DistArray< TA::TensorD, TA::SparsePolicy > array_from_tile_map (madness::World &world, TA::TiledRange const &trange, std::unordered_map< std::size_t, TA::TensorD > const &tiles)
 
TA::DistArray< TA::TensorD, TA::SparsePolicy > reblock_from_atoms (TA::DistArray< TA::TensorD, TA::SparsePolicy > const &A, std::unordered_map< std::size_t, std::size_t > const &output_cluster_obs, std::unordered_map< std::size_t, std::size_t > const &output_cluster_df, TA::TiledRange by_cluster_trange)
 
template<typename Tile , typename Policy >
void clustered_coeffs (TA::DistArrayVector< Tile, Policy > const &xyz, TA::DistArray< Tile, Policy > &C, unsigned long occ_nclusters)
 
template<typename T , typename P , typename... Args>
DFJEngine< T, P > make_dfj_engine (DirectArray< Args... > eri3)
 
Eigen::MatrixXd sym_orth (const Eigen::MatrixXd &C, const Eigen::MatrixXd &S)
 
double compute_gamma (double Aij, double Bij, double epsilon)
 
std::vector< int > atom_to_ao_bounds (const Eigen::Vector3d &atom_center, const std::vector< gaussian::Shell > &shells)
 
template<typename Tile , typename Policy >
TA::DistArray< Tile, Policy > construct_iao (const TA::DistArray< Tile, Policy > &C_array, const TA::DistArray< Tile, Policy > &S11_array, const TA::DistArray< Tile, Policy > &S12_array, const TA::DistArray< Tile, Policy > &S22_array, madness::World &world)
 
template<typename Tile , typename Policy >
bool construct_ibo (const TA::DistArray< Tile, Policy > &C_array, const std::vector< gaussian::Shell > &shells, const TA::DistArray< Tile, Policy > &S11_array, const TA::DistArray< Tile, Policy > &S12_array, const TA::DistArray< Tile, Policy > &S22_array, TA::DistArray< Tile, Policy > &U_iao_array, TA::DistArray< Tile, Policy > &U_ibo_array, TA::DistArray< Tile, Policy > &C_iao_array, TA::DistArray< Tile, Policy > &C_ibo_array, const std::shared_ptr< Molecule > &atoms_ptr, int nocc, int exponent, double convergence_threshold, int max_iter, madness::World &world)
 
RowMatrixXd soad_density_eig_matrix (Molecule const &mol)
 
 MPQC_EXTERN_TEMPLATE (class DFFockBuilder<>)
 
 MPQC_EXTERN_TEMPLATE (class DFFockBuilder< MPQC_DEFAULT_REAL_TA_TILE_CLASS, MPQC_DEFAULT_TA_POLICY_CLASS, mpqc::DirectArray<>>)
 
std::shared_ptr< WavefunctionWorldwfn_world_from_keyval (const KeyVal &kv, const std::string &caller, bool construct_if_missing=true, bool throw_if_not_found=true)
 retrieves or constructs a WavefunctionWorld object from the given KeyVal object More...
 
template<typename Tile = MPQC_DEFAULT_REAL_TA_TILE_CLASS, typename Policy = MPQC_DEFAULT_TA_POLICY_CLASS>
void populate_subspaces_from_closed_shell_sdref (std::shared_ptr< lcao::Wavefunction > ref_wfn, double target_ref_precision, std::size_t ndocc, std::size_t n_frozen_core, std::size_t n_frozen_uocc, std::size_t occ_blksize, std::size_t uocc_blksize, std::shared_ptr< OrbitalLocalizer< Tile, Policy >> localizer, bool cluster_occupied_orbitals=true)
 static methods for populating orbital spaces ///////////////////////////// More...
 
template<typename Tile , typename Policy >
auto make_closed_shell_canonical_orbitals (AOFactory< Tile, Policy > &ao_factory, std::size_t ndocc, std::size_t target_blocksize)
 
template<typename Tile , typename Policy , class TArray >
void init_closed_shell_canonical_sdref_subspaces (LCAOFactory< Tile, Policy > &lcao_factory, const CanonicalOrbitalSpace< TArray > &c_space, std::size_t ndocc, std::size_t n_frozen_core, std::size_t n_frozen_uocc, std::size_t occ_blksize, std::size_t uocc_blksize)
 populates the LCAOFactory object with the canonical single-determinant closed-shell reference state orbital spaces More...
 
template<typename Tile , typename Policy , class TArray >
void init_closed_shell_sdref_subspaces (AOFactory< Tile, Policy > &ao_factory, const PopulatedOrbitalSpace< TArray > &p_space, std::size_t ndocc, std::size_t n_frozen_core, std::size_t occ_blksize, std::size_t unocc_blksize, std::shared_ptr< OrbitalLocalizer< Tile, Policy >> localizer, bool cluster_occupied_orbitals=true)
 populates the LCAOFactory object with the single-determinant closed-shell reference state orbital spaces. More...
 
template<typename Tile , typename Policy >
auto init_closed_shell_dualbasis_eigen_solve_svd (LCAOFactory< Tile, Policy > &lcao_factory, Eigen::VectorXd &ens, std::size_t nocc, const Molecule &mols, bool frozen_core, std::size_t occ_blocksize, std::size_t vir_blocksize)
 

Variables

ForceLink< gaussian::AtomicBasischemistry_qc_lcao_basis_forcelink
 
mpqc::ForceLink< CIS<>, sCI<> > chemistry_qc_lcao_ci_forcelink
 
mpqc::ForceLink< RMP2F12<>, DFRMP2F12<>, DFDBRMP2F12<>, CCSD_F12<>, CCSD_T_F12<>, GF2F12<> > chemistry_qc_lcao_f12_forcelink
 
ForceLink< WavefunctionWorldchemistry_qc_lcao_wfn_forcelink
 
ForceLink< RMP2<>, DFRMP2<>, DBRMP2<>, DFDBRMP2<>, RLaplaceMP2<>, PaoPnoRMP2<>, GammaPointMP2<> > chemistry_qc_lcao_mbpt_forcelink
 
mpqc::detail::ForceLink< MullikenPopulationAnalysis< TA::TensorD, TA::SparsePolicy > > fl_mulliken
 

Typedef Documentation

◆ DFJEngine

template<typename T , typename P >
using mpqc::lcao::DFJEngine = typedef std::function< DistArrayVector<T,P>(const DistArrayVector<T,P>&, const DistArray<T,P>&) >

◆ DirectDFFockBuilder

template<typename Tile = MPQC_DEFAULT_REAL_TA_TILE_CLASS, typename Policy = MPQC_DEFAULT_TA_POLICY_CLASS>
using mpqc::lcao::DirectDFFockBuilder = typedef DFFockBuilder<Tile, Policy, DirectArray<Tile, Policy> >

◆ TileD

using mpqc::lcao::TileD = typedef TA::TensorD

Enumeration Type Documentation

◆ DecomType

Enumerator
eigen_decom 
svd 

Function Documentation

◆ ao_factory_from_keyval() [1/2]

template<typename AOFactory >
std::shared_ptr<AOFactory> mpqc::lcao::ao_factory_from_keyval ( const KeyVal kv)

utility obtains an AOFactory from the WavefunctionWorld associated with KeyVal object's "wfn_world" keyword

Template Parameters
AOFactory_the target AOFactory type
Note
AO factory

◆ ao_factory_from_keyval() [2/2]

template<typename AOFactory_ >
std::shared_ptr<AOFactory_> mpqc::lcao::ao_factory_from_keyval ( const KeyVal kv)

utility obtains an AOFactory from the WavefunctionWorld associated with KeyVal object's "wfn_world" keyword

Template Parameters
AOFactory_the target AOFactory type
Note
AO factory

◆ ao_factory_from_keyval< AOFactory<> >()

template std::shared_ptr<AOFactory<> > mpqc::lcao::ao_factory_from_keyval< AOFactory<> > ( const KeyVal kv)

◆ array_from_tile_map()

TA::DistArray<TA::TensorD, TA::SparsePolicy> mpqc::lcao::array_from_tile_map ( madness::World &  world,
TA::TiledRange const &  trange,
std::unordered_map< std::size_t, TA::TensorD > const &  tiles 
)
inline

◆ atom_to_ao_bounds()

std::vector<int> mpqc::lcao::atom_to_ao_bounds ( const Eigen::Vector3d &  atom_center,
const std::vector< gaussian::Shell > &  shells 
)
inline

◆ cadf_fitting_coefficients() [1/2]

template<typename Tile , typename Policy >
TA::DistArray<Tile, Policy> mpqc::lcao::cadf_fitting_coefficients ( madness::World &  world,
gaussian::Basis const &  by_cluster_obs,
gaussian::Basis const &  by_cluster_dfbs 
)

Function to compute CADF fitting coefficients.

◆ cadf_fitting_coefficients() [2/2]

template<typename Tile , typename Policy , typename MDistArray >
TA::DistArray<Tile, Policy> mpqc::lcao::cadf_fitting_coefficients ( MDistArray &&  M,
const gaussian::Basis by_cluster_bs0,
const gaussian::Basis by_cluster_bs1,
const gaussian::Basis by_cluster_dfbs,
const size_t &  natoms_per_uc,
const Vector3i lattice_range0 = Vector3i({0, 0, 0}),
const Vector3i lattice_range1 = Vector3i({0, 0, 0}),
const Vector3i lattice_range_df = Vector3i({0, 0, 0}),
const Vector3i lattice_center0 = Vector3i({0, 0, 0}),
const Vector3i lattice_center1 = Vector3i({0, 0, 0}),
const Vector3i lattice_center_df = Vector3i({0, 0, 0}) 
)

This computes by-cluster CADF fitting coefficients C(X_Rx, μ_R0, ν_R1) in periodic calculations.

Template Parameters
Tilethe tile type of the result DistArray
Policythe policy type of the result DistArray
MDistArraythe type of M; can be conventional or direct DistArray
Parameters
M2-e 2-center integrals
by_cluster_bs0by-cluster basis for index μ
by_cluster_bs1by-cluster basis for index ν
by_cluster_dfbsby-cluster basis for index Χ
natoms_per_ucnumber of atoms in a unit cell
lattice_range0lattice range of index μ
lattice_range1lattice range of index ν
lattice_range_dflattice range of index Χ
lattice_center0origin of the lattice range of index μ
lattice_center1origin of the lattice range of index ν
lattice_center_dforigin of the lattice range of index X
Returns
the by-cluster CADF coefficients

◆ clustered_coeffs()

template<typename Tile , typename Policy >
void mpqc::lcao::clustered_coeffs ( TA::DistArrayVector< Tile, Policy > const &  xyz,
TA::DistArray< Tile, Policy > &  C,
unsigned long  occ_nclusters 
)

◆ compute_atomic_fitting_coeffs()

template<typename MetricEngine >
TA::DistArray<TA::TensorD, TA::SparsePolicy> mpqc::lcao::compute_atomic_fitting_coeffs ( madness::World &  world,
Molecule const &  obs_molecule,
Molecule const &  dfbs_molecule,
BasisFactory const &  obs_set,
BasisFactory const &  dfbs_set,
MetricEngine const &  eng,
std::unordered_map< std::size_t, std::size_t > &  obs_atom_to_cluster_map,
std::unordered_map< std::size_t, std::size_t > &  dfbs_atom_to_cluster_map 
)
inline

◆ compute_gamma()

double mpqc::lcao::compute_gamma ( double  Aij,
double  Bij,
double  epsilon 
)
inline

◆ construct_iao()

template<typename Tile , typename Policy >
TA::DistArray<Tile, Policy> mpqc::lcao::construct_iao ( const TA::DistArray< Tile, Policy > &  C_array,
const TA::DistArray< Tile, Policy > &  S11_array,
const TA::DistArray< Tile, Policy > &  S12_array,
const TA::DistArray< Tile, Policy > &  S22_array,
madness::World &  world 
)

◆ construct_ibo()

template<typename Tile , typename Policy >
bool mpqc::lcao::construct_ibo ( const TA::DistArray< Tile, Policy > &  C_array,
const std::vector< gaussian::Shell > &  shells,
const TA::DistArray< Tile, Policy > &  S11_array,
const TA::DistArray< Tile, Policy > &  S12_array,
const TA::DistArray< Tile, Policy > &  S22_array,
TA::DistArray< Tile, Policy > &  U_iao_array,
TA::DistArray< Tile, Policy > &  U_ibo_array,
TA::DistArray< Tile, Policy > &  C_iao_array,
TA::DistArray< Tile, Policy > &  C_ibo_array,
const std::shared_ptr< Molecule > &  atoms_ptr,
int  nocc,
int  exponent,
double  convergence_threshold,
int  max_iter,
madness::World &  world 
)

◆ get_df_formula()

std::array< std::wstring, 2 > mpqc::lcao::get_df_formula ( const Formula formula)

Functions to generate formula Given Formula with rank = 4, return DensityFitting formula

This function is also used in LCAOFactory density fitting formula parsing

Parameters
formulathat has string format (in1 in2 | oper | in3 in4 ) or <in1 in2 | oper | in3 in4 >
Returns
array of wstring with length 3
  • string0 ( dfbs | oper | in1 in2 )[inv_sqr] or ( dfbs |oper | in1 in3 ) [inv_sqr]
  • string1 ( dfbs | oper | in3 in4 )[inv_sqr] or ( dfbs | oper | in2 in4 )[inv_sqr]

where ( dfbs | oper | in1 in2 )[inv_sqr] = ( dfbs | oper | dfbs )[inv_sqr] * ( dfbs | oper | in1 in2 )

◆ get_fock_formula()

std::array< Formula, 3 > mpqc::lcao::get_fock_formula ( const Formula formula)

Given formula with rank = 2 and Fock operation, return 3 formula to compute it

Parameters
Formulathat has string format ( in1 | oper | in2 ), where oper is Fock operation
Returns
array of Formula with size 3
  • 3 Formula that has string format ( in1 | H | in2 ) ( in1 | J | in2 ) ( in1 |K | in2 ) for Fock
  • 3 Formula that has string format ( in1 | H | in2 ) ( in1 | J | in2 ) ( in1 | KAlpha | in2 ) for FockAlpha
  • 3 Formula that has string format ( in1 | H | in2 ) ( in1 | J | in2 ) ( in1 | KBeta | in2 ) for FockBeta

◆ get_jk_df_formula()

std::array< Formula, 3 > mpqc::lcao::get_jk_df_formula ( const Formula formula,
const std::wstring &  obs 
)

Given formula with rank = 2 and J or K operation, return the G integral with DensityFitting

Parameters
Formulathat has string format ( in1 | oper | in2 ) or < in1 | oper | in2 >, where oper is J or K operation
Returns
result array of Formula with size 3
  • 3 Formula that has string format ( dfbs | G | in1 in2 ) ( dfbs | G | dfbs )[inv] ( dfbs | G | obs obs ) for J
  • 3 Formula that has string format ( dfbs | G | in1 obs ) ( dfbs | G | dfbs )[inv] ( dfbs | G | in2 obs ) for K, KAlpha, KBeta

◆ get_jk_formula()

Formula mpqc::lcao::get_jk_formula ( const Formula formula,
const std::wstring &  obs 
)

Given formula with rank = 2 and J or K operation, return the G integral

Parameters
Formulathat has string format ( in1 | oper | in2 ) or < in1 | oper| in2 > where oper is J or K operation
Returns
Formula
  • Formula that has string format ( in1 in2 | G | obs obs ) or <in1 obs| G | in2 obs > for J
  • Formula that has string format ( in1 obs | G | in2 obs ) or <in1 in2| G | obs obs > for K, KAlpha, KBeta

◆ get_jk_orbital_space()

OrbitalIndex mpqc::lcao::get_jk_orbital_space ( const Operator operation)

Given operation that is J or K operation, return the orbital index that maps to density

Parameters
operationJ or K operation
Returns
result OrbitalIndex
  • m for J or K
  • m_α for KAlpha
  • m_β for KBeta

◆ init_closed_shell_canonical_sdref_subspaces()

template<typename Tile , typename Policy , class TArray >
void mpqc::lcao::init_closed_shell_canonical_sdref_subspaces ( LCAOFactory< Tile, Policy > &  lcao_factory,
const CanonicalOrbitalSpace< TArray > &  c_space,
std::size_t  ndocc,
std::size_t  n_frozen_core,
std::size_t  n_frozen_uocc,
std::size_t  occ_blksize,
std::size_t  uocc_blksize 
)

populates the LCAOFactory object with the canonical single-determinant closed-shell reference state orbital spaces

Populates the LCAOFactory object with the occupied, active occupied, unoccupied, and full orbital spaces.

Parameters
lcaothe LCAOFactory object to be populated
p_spacethe CanonicalOrbitalSpace object for the full (occupied and unoccupied) space
ndoccthe number of doubly occupied orbitals in the reference
n_frozen_corethe number of frozen core orbitals
n_frozen_uoccthe number of frozen unoccupied orbitals
occ_blksizethe target block size for the occupied orbitals
uocc_blksizethe target block size for the unoccupied orbitals

◆ init_closed_shell_dualbasis_eigen_solve_svd()

template<typename Tile , typename Policy >
auto mpqc::lcao::init_closed_shell_dualbasis_eigen_solve_svd ( LCAOFactory< Tile, Policy > &  lcao_factory,
Eigen::VectorXd &  ens,
std::size_t  nocc,
const Molecule mols,
bool  frozen_core,
std::size_t  occ_blocksize,
std::size_t  vir_blocksize 
)

◆ init_closed_shell_sdref_subspaces()

template<typename Tile , typename Policy , class TArray >
void mpqc::lcao::init_closed_shell_sdref_subspaces ( AOFactory< Tile, Policy > &  ao_factory,
const PopulatedOrbitalSpace< TArray > &  p_space,
std::size_t  ndocc,
std::size_t  n_frozen_core,
std::size_t  occ_blksize,
std::size_t  unocc_blksize,
std::shared_ptr< OrbitalLocalizer< Tile, Policy >>  localizer,
bool  cluster_occupied_orbitals = true 
)

populates the LCAOFactory object with the single-determinant closed-shell reference state orbital spaces.

Populates the LCAOFactory object with the occupied, active occupied, unoccupied, and full orbital spaces. The input state is either the full populated set of reference orbitals, or just the occupied subset. In the latter case the unoccupied orbitals are formed by svd-based projection of the occupied subspace of the occupied orbitals.

Parameters
lcaothe LCAOFactory object to be populated
input_spacethe PopulatedOrbitalSpace
ndoccthe number of doubly occupied orbitals in the reference
n_frozen_corethe number of frozen core orbitals
occ_blksizethe target block size for the occupied orbitals
unocc_blksizethe target block size for the unoccupied orbitals
[in]localizerthe localizer object to use to localize occupied orbitals
[in]cluster_occupied_orbitalswhether to cluster the localized occupied orbitals

semi-canonical unoccupied orbitals

◆ lcao_factory_from_keyval()

template<typename LCAOFactory_ >
std::shared_ptr<LCAOFactory_> mpqc::lcao::lcao_factory_from_keyval ( const KeyVal kv)

◆ make_closed_shell_canonical_orbitals()

template<typename Tile , typename Policy >
auto mpqc::lcao::make_closed_shell_canonical_orbitals ( AOFactory< Tile, Policy > &  ao_factory,
std::size_t  ndocc,
std::size_t  target_blocksize 
)

◆ make_dfj_engine()

template<typename T , typename P , typename... Args>
DFJEngine<T, P> mpqc::lcao::make_dfj_engine ( DirectArray< Args... >  eri3)

◆ MPQC_EXTERN_TEMPLATE() [1/8]

mpqc::lcao::MPQC_EXTERN_TEMPLATE ( class AOFactory<>  )

◆ MPQC_EXTERN_TEMPLATE() [2/8]

mpqc::lcao::MPQC_EXTERN_TEMPLATE ( class DFFockBuilder< MPQC_DEFAULT_REAL_TA_TILE_CLASS, MPQC_DEFAULT_TA_POLICY_CLASS, mpqc::DirectArray<>>  )

◆ MPQC_EXTERN_TEMPLATE() [3/8]

mpqc::lcao::MPQC_EXTERN_TEMPLATE ( class DFFockBuilder<>  )

◆ MPQC_EXTERN_TEMPLATE() [4/8]

mpqc::lcao::MPQC_EXTERN_TEMPLATE ( class Factory::OrbitalFactoryBase< DistArrayD<>, DirectArrayD<>>  )

◆ MPQC_EXTERN_TEMPLATE() [5/8]

mpqc::lcao::MPQC_EXTERN_TEMPLATE ( class Factory::OrbitalFactoryBase< DistArrayZ<>>  )

◆ MPQC_EXTERN_TEMPLATE() [6/8]

mpqc::lcao::MPQC_EXTERN_TEMPLATE ( class Factory::OrbitalFactoryBase<>  )

◆ MPQC_EXTERN_TEMPLATE() [7/8]

mpqc::lcao::MPQC_EXTERN_TEMPLATE ( class LCAOFactory<>  )

◆ MPQC_EXTERN_TEMPLATE() [8/8]

mpqc::lcao::MPQC_EXTERN_TEMPLATE ( std::shared_ptr< AOFactory<>>   ao_factory_from_keyvalconst KeyVal &)

◆ populate_subspaces_from_closed_shell_sdref()

template<typename Tile = MPQC_DEFAULT_REAL_TA_TILE_CLASS, typename Policy = MPQC_DEFAULT_TA_POLICY_CLASS>
void mpqc::lcao::populate_subspaces_from_closed_shell_sdref ( std::shared_ptr< lcao::Wavefunction ref_wfn,
double  target_ref_precision,
std::size_t  ndocc,
std::size_t  n_frozen_core,
std::size_t  n_frozen_uocc,
std::size_t  occ_blksize,
std::size_t  uocc_blksize,
std::shared_ptr< OrbitalLocalizer< Tile, Policy >>  localizer,
bool  cluster_occupied_orbitals = true 
)

static methods for populating orbital spaces /////////////////////////////

evaluates its reference wave function and the LCAOFactory object with the single-determinant closed-shell reference state orbital spaces. Populates the LCAOFactory object with the occupied, active occupied, unoccupied, and full orbital spaces. The input state is either the full populated set of reference orbitals, or just the occupied subset. In the latter case the unoccupied orbitals are formed by svd-based projection of the occupied subspace of the occupied orbitals.

Parameters
lcaothe LCAOFactory object to be populated
input_spacethe PopulatedOrbitalSpace
ndoccthe number of doubly occupied orbitals in the reference
n_frozen_corethe number of frozen core orbitals
n_frozen_uoccthe number of frozen unoccupied orbitals
occ_blksizethe target block size for the occupied orbitals
uocc_blksizethe target block size for the unoccupied orbitals
[in]cluster_occupied_orbitalswhether to cluster the localized occupied orbitals

◆ reblock_from_atoms()

TA::DistArray<TA::TensorD, TA::SparsePolicy> mpqc::lcao::reblock_from_atoms ( TA::DistArray< TA::TensorD, TA::SparsePolicy > const &  A,
std::unordered_map< std::size_t, std::size_t > const &  output_cluster_obs,
std::unordered_map< std::size_t, std::size_t > const &  output_cluster_df,
TA::TiledRange  by_cluster_trange 
)
inline

◆ secadf_by_atom_correction()

template<typename Tile , typename Policy >
TA::DistArray<Tile, Policy> mpqc::lcao::secadf_by_atom_correction ( madness::World &  world,
gaussian::Basis const &  by_cluster_obs,
gaussian::Basis const &  by_cluster_dfbs,
bool  aaab = false 
)

Function to compute seCADF 4center abab correction.

◆ soad_density_eig_matrix()

RowMatrixXd mpqc::lcao::soad_density_eig_matrix ( Molecule const &  mol)
inline

◆ sym_orth()

Eigen::MatrixXd mpqc::lcao::sym_orth ( const Eigen::MatrixXd &  C,
const Eigen::MatrixXd &  S 
)
inline

◆ wfn_world_from_keyval()

std::shared_ptr< mpqc::lcao::WavefunctionWorld > mpqc::lcao::wfn_world_from_keyval ( const KeyVal kv,
const std::string &  caller,
bool  construct_if_missing = true,
bool  throw_if_not_found = true 
)

retrieves or constructs a WavefunctionWorld object from the given KeyVal object

Expects the WavefunctionWorld object to exist either at "wfn_world", at the top, or an unmanaged pointer to it at "wfn_world_ptr"; if construct_if_missing is true will construct from "wfn_world" or from "" .

Parameters
[in]kva KeyVal object
[in]callerthe name of the calling function (for reporting errors)
[in]construct_if_missingif true, and no existing object found, will try to construct from paths "wfn_world" and "" (in that order)
[in]throw_if_not_foundif true, and not able to produce a WavefunctionWorld, will throw ProgrammingError
Exceptions
ProgrammmingErrorif a WavefunctionWorld is not found and throw_if_not_found is true
Returns
a std::shared_ptr to WavefunctionWorld object (null, if not found)

Variable Documentation

◆ chemistry_qc_lcao_basis_forcelink

ForceLink<gaussian::AtomicBasis> mpqc::lcao::chemistry_qc_lcao_basis_forcelink

◆ chemistry_qc_lcao_ci_forcelink

mpqc::ForceLink<CIS<>, sCI<> > mpqc::lcao::chemistry_qc_lcao_ci_forcelink

◆ chemistry_qc_lcao_f12_forcelink

mpqc::ForceLink<RMP2F12<>, DFRMP2F12<>, DFDBRMP2F12<>, CCSD_F12<>, CCSD_T_F12<>, GF2F12<> > mpqc::lcao::chemistry_qc_lcao_f12_forcelink

◆ chemistry_qc_lcao_mbpt_forcelink

ForceLink<RMP2<>, DFRMP2<>, DBRMP2<>, DFDBRMP2<>, RLaplaceMP2<>, PaoPnoRMP2<>, GammaPointMP2<> > mpqc::lcao::chemistry_qc_lcao_mbpt_forcelink

◆ chemistry_qc_lcao_wfn_forcelink

ForceLink<WavefunctionWorld> mpqc::lcao::chemistry_qc_lcao_wfn_forcelink

◆ fl_mulliken

mpqc::detail::ForceLink< MullikenPopulationAnalysis<TA::TensorD, TA::SparsePolicy> > mpqc::lcao::fl_mulliken