mpqc::lcao::pbc Namespace Reference
import the gaussian::utility namespace into the pbc::gaussian namespace More...
Namespaces | |
detail | |
gaussian | |
Classes | |
class | AOFactory |
implementation base for AOFactory More... | |
class | CadfKBuilder |
class | CadfKzRHF |
CadfKzRHF uses four-center-J for coulomb and CADF-K for exchange. More... | |
class | DfJBuilder |
Computes Coulomb matrix using multipole-conserved DF-J approach. More... | |
class | DfJCadfKzRHF |
DfJCadfKzRHF uses DF-J for coulomb and CADF-K for exchange. More... | |
class | DfJzRHF |
DfJzRHF class uses multipole-conserving density fitting for Coulomb and 4-center-K for exchange. More... | |
class | DirectFockBuilder |
class | FockBuilder |
class | FockBuilderImpl |
pbc::MaJFockBuilder is an implementation of pbc::FockBuilder with multipole-accelerated 4-center Coulomb and 4-center exchange. For Coulomb, multipole approximation is used in Crystal Far Field. The builders for near-field Coulomb and exchange are customizable. More... | |
class | GammaLCAOFactory |
LCAO Integral Factory specialized for gamma-point PBC. More... | |
class | MaDfJCadfKzRHF |
MaDfJCadfKzRHF uses MA-DF-J for coulomb and CADF-K for exchange. More... | |
class | MaDfJzRHF |
MaDfJzRHF uses MA-DF-J for coulomb and four-center-K for exchange. More... | |
class | MaJCadfKzRHF |
MAJCADFK uses four-center-J (CNF) and MA (CFF) for Coulomb and CADF-K for exchange. More... | |
class | MaJzRHF |
MaJzRHF uses MA for Coulomb CFF and four-center-JK for Coulomb and exchange CNF. More... | |
class | NonLinearConjGradient |
Implements non-linear conjugate gradient for a given gradient expression. More... | |
class | PMzLocalizer |
Performs Pipek-Mezey localization. More... | |
class | ReferenceFockBuilder |
class | SD |
Abstract single-determinant wavefunction under open and periodic boundary conditions. More... | |
class | ThreeCenterContractionBuilder |
class | TwoCenterBuilder |
class | zRHF |
zRHF class uses reference Fock builder. More... | |
Typedefs | |
template<typename Tile , typename Policy > | |
using | MaJFockBuilder = FockBuilderImpl< Tile, Policy > |
template<typename Tile , typename Policy > | |
using | MaDfJFockBuilder = FockBuilderImpl< Tile, Policy, DfJBuilder< Tile, Policy, pbc::gaussian::AOFactory< Tile, Policy > >, DirectFockBuilder< Tile, Policy > > |
template<typename Tile , typename Policy > | |
using | MaDfJCadfKFockBuilder = FockBuilderImpl< Tile, Policy, DfJBuilder< Tile, Policy, pbc::gaussian::AOFactory< Tile, Policy > >, CadfKBuilder< Tile, Policy, pbc::gaussian::AOFactory< Tile, Policy > >> |
template<typename Tile , typename Policy > | |
using | DfJFockBuilder = FockBuilderImpl< Tile, Policy, DfJBuilder< Tile, Policy, pbc::gaussian::AOFactory< Tile, Policy > >, DirectFockBuilder< Tile, Policy >, void > |
template<typename Tile , typename Policy > | |
using | DfJCadfKFockBuilder = FockBuilderImpl< Tile, Policy, DfJBuilder< Tile, Policy, pbc::gaussian::AOFactory< Tile, Policy > >, CadfKBuilder< Tile, Policy, pbc::gaussian::AOFactory< Tile, Policy > >, void > |
template<typename Tile , typename Policy > | |
using | CadfKFockBuilder = FockBuilderImpl< Tile, Policy, DirectFockBuilder< Tile, Policy >, CadfKBuilder< Tile, Policy, pbc::gaussian::AOFactory< Tile, Policy > >, void > |
using | TileD = TA::TensorD |
using | MatrixzVec = std::vector< MatrixZ > |
using | MatrixdVec = std::vector< RowMatrixXd > |
using | VectorzVec = std::vector< VectorZ > |
using | VectordVec = std::vector< VectorD > |
Functions | |
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) |
template<typename LCAOFactory_ > | |
std::shared_ptr< LCAOFactory_ > | gamma_lcao_factory_from_keyval (const KeyVal &kv) |
template std::shared_ptr< GammaLCAOFactory<> > | gamma_lcao_factory_from_keyval< GammaLCAOFactory<> > (const KeyVal &kv) |
auto | basis_registry (const SD &sd) |
template<typename... Args> | |
auto | initial_guess (const KeyVal &kv, pbc::gaussian::AOFactory< Args... > &ao_factory) |
void | chop_phase (MatrixZ &mat, double tolerance=std::numeric_limits< double >::epsilon()) |
template<typename TileZ , typename Tile , typename Policy > | |
TA::DistArray< TileZ, Policy > | transform_real2recip (const TA::DistArray< Tile, Policy > &matrix, Vector3d vec_k, const UnitCell &unitcell, const Supercell &supercell) |
template<typename Tile , typename Policy , typename MatrixZ > | |
std::vector< std::pair< MatrixZ, MatrixZ > > | pseudoinverse_projection (std::vector< MatrixZ > const &C, std::pair< long, long > orbs, Vector3i K, const std::shared_ptr< pbc::gaussian::AOFactory< Tile, Policy >> &ao_factory) |
Typedef Documentation
◆ CadfKFockBuilder
template<typename Tile , typename Policy >
using mpqc::lcao::pbc::CadfKFockBuilder = typedef FockBuilderImpl< Tile, Policy, DirectFockBuilder<Tile, Policy>, CadfKBuilder<Tile, Policy, pbc::gaussian::AOFactory<Tile, Policy> >, void> |
◆ DfJCadfKFockBuilder
template<typename Tile , typename Policy >
using mpqc::lcao::pbc::DfJCadfKFockBuilder = typedef FockBuilderImpl< Tile, Policy, DfJBuilder<Tile, Policy, pbc::gaussian::AOFactory<Tile, Policy> >, CadfKBuilder<Tile, Policy, pbc::gaussian::AOFactory<Tile, Policy> >, void> |
◆ DfJFockBuilder
template<typename Tile , typename Policy >
using mpqc::lcao::pbc::DfJFockBuilder = typedef FockBuilderImpl< Tile, Policy, DfJBuilder<Tile, Policy, pbc::gaussian::AOFactory<Tile, Policy> >, DirectFockBuilder<Tile, Policy>, void> |
◆ MaDfJCadfKFockBuilder
template<typename Tile , typename Policy >
using mpqc::lcao::pbc::MaDfJCadfKFockBuilder = typedef FockBuilderImpl< Tile, Policy, DfJBuilder<Tile, Policy, pbc::gaussian::AOFactory<Tile, Policy> >, CadfKBuilder<Tile, Policy, pbc::gaussian::AOFactory<Tile, Policy> >> |
◆ MaDfJFockBuilder
template<typename Tile , typename Policy >
using mpqc::lcao::pbc::MaDfJFockBuilder = typedef FockBuilderImpl< Tile, Policy, DfJBuilder<Tile, Policy, pbc::gaussian::AOFactory<Tile, Policy> >, DirectFockBuilder<Tile, Policy> > |
◆ MaJFockBuilder
template<typename Tile , typename Policy >
using mpqc::lcao::pbc::MaJFockBuilder = typedef FockBuilderImpl<Tile, Policy> |
◆ MatrixdVec
using mpqc::lcao::pbc::MatrixdVec = typedef std::vector<RowMatrixXd> |
◆ MatrixzVec
using mpqc::lcao::pbc::MatrixzVec = typedef std::vector<MatrixZ> |
◆ TileD
using mpqc::lcao::pbc::TileD = typedef TA::TensorD |
◆ VectordVec
using mpqc::lcao::pbc::VectordVec = typedef std::vector<VectorD> |
◆ VectorzVec
using mpqc::lcao::pbc::VectorzVec = typedef std::vector<VectorZ> |
Function Documentation
◆ ao_factory_from_keyval()
template<typename AOFactory_ >
std::shared_ptr< AOFactory_ > mpqc::lcao::pbc::ao_factory_from_keyval | ( | const KeyVal & | kv | ) |
utility obtains a PBC AOFactory from the WavefunctionWorld associated with KeyVal object's "wfn_world" keyword
◆ ao_factory_from_keyval< AOFactory<> >()
template std::shared_ptr< AOFactory<> > mpqc::lcao::pbc::ao_factory_from_keyval< AOFactory<> > | ( | const KeyVal & | kv | ) |
◆ basis_registry()
|
inline |
◆ chop_phase()
void mpqc::lcao::pbc::chop_phase | ( | MatrixZ & | mat, |
double | tolerance = std::numeric_limits<double>::epsilon() |
||
) |
◆ gamma_lcao_factory_from_keyval()
template<typename LCAOFactory_ >
std::shared_ptr< LCAOFactory_ > mpqc::lcao::pbc::gamma_lcao_factory_from_keyval | ( | const KeyVal & | kv | ) |
utility obtains the PeriodicLCAO factory from the WavefunctionWorld associated with KeyVal object's "wfn_world" keyword
◆ gamma_lcao_factory_from_keyval< GammaLCAOFactory<> >()
template std::shared_ptr< GammaLCAOFactory<> > mpqc::lcao::pbc::gamma_lcao_factory_from_keyval< GammaLCAOFactory<> > | ( | const KeyVal & | kv | ) |
◆ initial_guess()
template<typename... Args>
auto mpqc::lcao::pbc::initial_guess | ( | const KeyVal & | kv, |
pbc::gaussian::AOFactory< Args... > & | ao_factory | ||
) |
◆ pseudoinverse_projection()
template<typename Tile , typename Policy , typename MatrixZ >
std::vector<std::pair<MatrixZ, MatrixZ> > mpqc::lcao::pbc::pseudoinverse_projection | ( | std::vector< MatrixZ > const & | C, |
std::pair< long, long > | orbs, | ||
Vector3i | K, | ||
const std::shared_ptr< pbc::gaussian::AOFactory< Tile, Policy >> & | ao_factory | ||
) |
- Template Parameters
-
Tile the TA tile type Policy the TA policy type MatrixZ a complex Eigen::Matrix type
- Parameters
-
[in] C the orbitals in Bloch-AO basis for each k point [in] orbs the orbital window for selecting orbitals to be projected [in] K the k point grid size [in] ao_factory the pbc::AOFactory object for interpreting C
- Returns
- vector of {C projected on the minbs, overlap of minbs AO with with C} for each k point
◆ transform_real2recip()
template<typename TileZ , typename Tile , typename Policy >
TA::DistArray<TileZ, Policy> mpqc::lcao::pbc::transform_real2recip | ( | const TA::DistArray< Tile, Policy > & | matrix, |
Vector3d | vec_k, | ||
const UnitCell & | unitcell, | ||
const Supercell & | supercell | ||
) |
Transform operator matrix from AO basis to Bloch-AO basis
- Template Parameters
-
Tile the TA tile type Tile the TA tile type Policy the TA policy type
- Parameters
-
[in] matrix an operator matrix expressed in terms of AOs in a supercell [in] vec_k the target k vector for the Bloch AOs [in] unitcell the (direct) unit cell [in] supercell the supercell used to express Bloch AOs
- Returns
- matrix in the Bloch-AO basis