mpqc::lcao::MullikenPopulationAnalysis< Tile, Policy > Class Template Reference
Documentation
template<typename Tile, typename Policy>
class mpqc::lcao::MullikenPopulationAnalysis< Tile, Policy >
Implements Mulliken population analysis.
Public Types | |
using | base_type = PopulationAnalysis< Tile, Policy > |
using | array_type = typename base_type::array_type |
using | TileZ = typename PopulationAnalysis< Tile, Policy >::TileZ |
Public Member Functions | |
virtual | ~MullikenPopulationAnalysis () noexcept |
MullikenPopulationAnalysis (const KeyVal &kv) | |
std::vector< double > | atomic_charges (array_type const &C) const final |
std::vector< double > | atomic_charges_pbc (std::vector< MatrixZ > const &C, const int nocc, Vector3i const nk) const final |
Member Typedef Documentation
◆ array_type
template<typename Tile , typename Policy >
using mpqc::lcao::MullikenPopulationAnalysis< Tile, Policy >::array_type = typename base_type::array_type |
◆ base_type
template<typename Tile , typename Policy >
using mpqc::lcao::MullikenPopulationAnalysis< Tile, Policy >::base_type = PopulationAnalysis<Tile, Policy> |
◆ TileZ
template<typename Tile , typename Policy >
using mpqc::lcao::MullikenPopulationAnalysis< Tile, Policy >::TileZ = typename PopulationAnalysis<Tile, Policy>::TileZ |
Constructor & Destructor Documentation
◆ ~MullikenPopulationAnalysis()
template<typename Tile , typename Policy >
|
virtualdefaultnoexcept |
◆ MullikenPopulationAnalysis()
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 |
---|---|---|---|
use_minbs | int | 2 | Perform Mulliken population analysis in the orbital (0) basis (CAUTION: the results will depend strongly on the basis), or project rows (1) or rows and columns (2) of the density to the minimal basis. For periodic systems only minbs=1 is supported. |
Member Function Documentation
◆ atomic_charges()
template<typename Tile , typename Policy >
|
final |
Computes Mulliken atomic charges for a nonperiodic system, optionally (use_minbs>0) using the minimal basis to partition the density into atomic contributions.
- Parameters
-
[in] C (occupied) input LCAOs
- 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
◆ atomic_charges_pbc()
template<typename Tile , typename Policy >
|
final |
Computes Mulliken atomic charges for a periodic system using the minimal basis for one of the coefficient matrices in the density (minbs=1
)
- 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
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