QNANO
|
#include <Distribute_EV.h>
Public Member Functions | |
std::vector< std::complex< double > > & | operator[] (int i) |
const std::vector< std::complex< double > > & | operator[] (int i) const |
bool | orbitals_are_set_up () const |
check if orbitals are set up | |
void | setup_orbitals (const std::string &materialdir, const std::string &positionfile) |
setup: which atom as which orbitals? (info contained in positionfile) | |
void | read (const std::string &materialdir, const std::string &positionfile, const std::string &filename_pattern, int nr) |
read: orbitals + content | |
void | setup (Parameter_Map ¶m_map) |
call read with parameters in param_map | |
Distribute_EV_List (const std::string &materialdir, const std::string &positionfile, const std::string &filename_pattern, int nr) | |
Distribute_EV_List (Parameter_Map ¶m_map) | |
Public Member Functions inherited from Distribute_Block_MPI | |
virtual void | print () const |
void | initialize (MPI_Comm comm, size_t total_size_) |
Distribute_Block_MPI (MPI_Comm comm, size_t total_size_) | |
Public Member Functions inherited from Distribute_Block_Local | |
size_t | get_block () const |
size_t | get_local_start () const |
size_t | get_local_blocksize () const |
size_t | get_local_end () const |
Distribute_Block_Local (size_t totalsize=0) | |
Public Member Functions inherited from Distribute_Block | |
size_t | get_total_size () const |
size_t | get_nr_blocks () const |
size_t | get_floor_blocksize () const |
size_t | get_blocksize (size_t bl) const |
size_t | get_start (size_t bl) const |
size_t | lookup_element (size_t el) const |
void | initialize (size_t total_size_, size_t nr_blocks_) |
Distribute_Block (size_t total_size_=0, size_t nr_blocks_=1) | |
Public Attributes | |
size_t | max_nr_orbs_per_atom |
std::vector< std::vector< std::complex< double > > > | data |
Select_Orbitals_List | orblist |
list possible number of orbitals on the elements used | |
std::vector< int > | which_orb |
index in orblist (size: nr local atoms=get_local_blocksize()) | |
Public Attributes inherited from Distribute_Block_Local | |
size_t | block |
Class to store eigenvectors across different MPI node. Each node gets a portion of each eigenvector, where each node is responsible for the atoms associated to it.
NOTE: different numbers of orbitals for different elements makes reverse lookup hard and is not too common. -> We assume a uniform number of orbitals per element (largest of all element) and zero-pad if necessary.