mpqc::lcao::PopulationAnalysis< Tile, Policy > Class Template Referenceabstract
Documentation
template<typename Tile, typename Policy>
class mpqc::lcao::PopulationAnalysis< Tile, Policy >
Performs population analysis on a set of LCAOs.
Public Types | |
using | array_type = TiledArray::DistArray< Tile, Policy > |
using | arrayvec_type = TiledArray::DistArrayVector< Tile, Policy > |
using | TileZ = TA::TensorZ |
Public Member Functions | |
PopulationAnalysis (const KeyVal &kv) | |
virtual | ~PopulationAnalysis () noexcept |
const std::shared_ptr< WavefunctionWorld > & | wfn_world () const |
virtual std::vector< double > | atomic_charges (array_type const &C) const =0 |
std::vector< std::vector< double > > | atomic_charges (arrayvec_type const &C) const |
virtual std::vector< double > | atomic_charges_pbc (std::vector< MatrixZ > const &C, const int nocc, Vector3i nk) const =0 |
Member Typedef Documentation
◆ array_type
template<typename Tile , typename Policy >
using mpqc::lcao::PopulationAnalysis< Tile, Policy >::array_type = TiledArray::DistArray<Tile, Policy> |
◆ arrayvec_type
template<typename Tile , typename Policy >
using mpqc::lcao::PopulationAnalysis< Tile, Policy >::arrayvec_type = TiledArray::DistArrayVector<Tile, Policy> |
◆ TileZ
template<typename Tile , typename Policy >
using mpqc::lcao::PopulationAnalysis< Tile, Policy >::TileZ = TA::TensorZ |
Constructor & Destructor Documentation
◆ PopulationAnalysis()
template<typename Tile , typename Policy >
|
explicit |
KeyVal constructor for MullikenPopulationAnalysis
- Parameters
-
kv the KeyVal object; it will be queried for all keywords of PopulationAnalysis , as well as the following additional keywords: Keyword Type Default Description wfn_world
class none the WavefunctionWorld
◆ ~PopulationAnalysis()
template<typename Tile , typename Policy >
|
virtualdefaultnoexcept |
Member Function Documentation
◆ atomic_charges() [1/2]
template<typename Tile , typename Policy >
|
pure virtual |
- Parameters
-
[in] C (occupied) input LCAOs
- Returns
- the atomic charges
◆ atomic_charges() [2/2]
template<typename Tile , typename Policy >
std::vector< std::vector< double > > mpqc::lcao::PopulationAnalysis< Tile, Policy >::atomic_charges | ( | arrayvec_type const & | C | ) | const |
- Parameters
-
[in] C (occupied) input LCAOs
- Returns
- the atomic charges
◆ atomic_charges_pbc()
template<typename Tile , typename Policy >
|
pure virtual |
computes charges of the atoms in a unit cell
- Parameters
-
[in] C "canonical" LCAOs [in] nocc number of doubly occupied bands (partially occupied bands are not yet supported) [in] nk the k point grid size in each dimension
- Returns
- the atomic charges
- Warning
- these are electronic charges, i.e. you want to multiply by occupancy factor (e.g. 2 for closed-shell orbitals) and account for the nuclear charges
◆ wfn_world()
template<typename Tile , typename Policy >
const std::shared_ptr< WavefunctionWorld > & mpqc::lcao::PopulationAnalysis< Tile, Policy >::wfn_world |
The documentation for this class was generated from the following files:
- mpqc/chemistry/qc/lcao/wfn/fwd.h
- mpqc/chemistry/qc/lcao/wfn/population_analysis.h
- mpqc/chemistry/qc/lcao/wfn/population_analysis.ipp