QNANO
Public Member Functions | Public Attributes | List of all members
Distribute_EV_List Class Reference

#include <Distribute_EV.h>

Inheritance diagram for Distribute_EV_List:
Inheritance graph
[legend]
Collaboration diagram for Distribute_EV_List:
Collaboration graph
[legend]

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 &param_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 &param_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
 

Detailed Description

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.


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