Loading...
Searching...
No Matches
q3::ProjectorMappingTable Class Reference

#include <projector_mapping_table.hpp>

Public Member Functions

 ProjectorMappingTable ()=default
 
int angular_momentum (int species_type, int channel_index) const
 
const std::vector< std::vector< int > > & angular_momentum_table () const
 
void build (const Crystal &crystal_structure, const PseudopotentialSet &pseudopotential_set, int number_of_species_types)
 
const std::vector< int > & channels_per_type_table () const
 
int combined_lm_index (int species_type, int channel_index) const
 
const std::vector< std::vector< int > > & combined_lm_index_table () const
 
int magnetic_quantum_number (int species_type, int channel_index) const
 
int number_of_channels (int species_type) const
 
int to_beta_index (int species_type, int channel_index) const
 
const std::vector< std::vector< int > > & to_beta_index_table () const
 
int total_number_of_projectors () const
 

Detailed Description

Definition at line 20 of file projector_mapping_table.hpp.

Constructor & Destructor Documentation

◆ ProjectorMappingTable()

q3::ProjectorMappingTable::ProjectorMappingTable ( )
default

Member Function Documentation

◆ angular_momentum()

int q3::ProjectorMappingTable::angular_momentum ( int  species_type,
int  channel_index 
) const
inline

◆ angular_momentum_table()

const std::vector< std::vector< int > > & q3::ProjectorMappingTable::angular_momentum_table ( ) const
inline

Raw access to the angular_momentum table (needed by USPP newd).

Definition at line 134 of file projector_mapping_table.hpp.

◆ build()

void q3::ProjectorMappingTable::build ( const Crystal &  crystal_structure,
const PseudopotentialSet &  pseudopotential_set,
int  number_of_species_types 
)
inline

Build the projector expansion tables for all species and compute total projector count.

Parameters
crystal_structureCrystal (needed for atom→species mapping)
pseudopotential_setThe pseudopotentials
number_of_species_typesNumber of distinct species

Definition at line 30 of file projector_mapping_table.hpp.

References q3::harmonic_combined_degree_order_index(), q3::harmonic_order_sequence(), q3::Crystal::number_of_atoms(), q3::PseudopotentialSet::size(), and q3::Crystal::species_type_index().

Referenced by q3::NormConservingPlanewaveBasis::init().

◆ channels_per_type_table()

const std::vector< int > & q3::ProjectorMappingTable::channels_per_type_table ( ) const
inline

Raw access to the channels-per-type table (needed by USPP newd).

Definition at line 113 of file projector_mapping_table.hpp.

◆ combined_lm_index()

int q3::ProjectorMappingTable::combined_lm_index ( int  species_type,
int  channel_index 
) const
inline

Combined (l,m) index for an expanded channel (QE convention: l² + offset).

Definition at line 106 of file projector_mapping_table.hpp.

Referenced by q3::UltrasoftPlanewaveBasis::compute_q_g_single(), q3::UltrasoftPlanewaveBasis::precompute_q_functions_g(), and q3::NormConservingPlanewaveBasis::projector_combined_lm_index().

◆ combined_lm_index_table()

const std::vector< std::vector< int > > & q3::ProjectorMappingTable::combined_lm_index_table ( ) const
inline

Raw access to the combined_lm_index table (needed by USPP newd).

Definition at line 127 of file projector_mapping_table.hpp.

◆ magnetic_quantum_number()

int q3::ProjectorMappingTable::magnetic_quantum_number ( int  species_type,
int  channel_index 
) const
inline

Magnetic quantum number m of an expanded channel.

Definition at line 99 of file projector_mapping_table.hpp.

Referenced by q3::NormConservingPlanewaveBasis::projector_magnetic_quantum_number().

◆ number_of_channels()

int q3::ProjectorMappingTable::number_of_channels ( int  species_type) const
inline

◆ to_beta_index()

int q3::ProjectorMappingTable::to_beta_index ( int  species_type,
int  channel_index 
) const
inline

◆ to_beta_index_table()

const std::vector< std::vector< int > > & q3::ProjectorMappingTable::to_beta_index_table ( ) const
inline

Raw access to the to_beta_index table (needed by USPP newd).

Definition at line 120 of file projector_mapping_table.hpp.

◆ total_number_of_projectors()

int q3::ProjectorMappingTable::total_number_of_projectors ( ) const
inline

Total Kleinman-Bylander projectors across all atoms.

Definition at line 71 of file projector_mapping_table.hpp.

Referenced by q3::NormConservingPlanewaveBasis::total_number_of_projectors().


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