|
SIRIUS 7.5.0
Electronic structure library and applications
|
Helper class to manage G-vector shells and redistribute G-vectors for symmetrization. More...
#include <gvec.hpp>
Public Member Functions | |
| Gvec_shells (Gvec const &gvec__) | |
| void | print_gvec (std::ostream &out__) const |
| int | gvec_count_remapped () const |
| Local number of G-vectors in the remapped distribution with complete shells on each rank. More... | |
| r3::vector< int > | gvec_remapped (int igloc__) const |
| G-vector by local index (in the remapped set). More... | |
| int | index_by_gvec (r3::vector< int > G__) const |
| Return local index of the G-vector in the remapped set. More... | |
| int | gvec_shell_remapped (int igloc__) const |
| Index of the G-vector shell by the local G-vector index (in the remapped set). More... | |
| template<typename T > | |
| auto | remap_forward (T *data__) const |
| template<typename T > | |
| void | remap_backward (std::vector< T > buf__, T *data__) const |
| Gvec const & | gvec () const |
Private Attributes | |
| mpi::block_data_descriptor | a2a_send_ |
| Sending counts and offsets. More... | |
| mpi::block_data_descriptor | a2a_recv_ |
| Receiving counts and offsets. More... | |
| splindex_block_cyclic | spl_num_gsh_ |
| Split global index of G-shells between MPI ranks. More... | |
| sddk::mdarray< int, 2 > | gvec_remapped_ |
| List of G-vectors in the remapped storage. More... | |
| sddk::mdarray< int, 1 > | gvec_shell_remapped_ |
| Mapping between index of local G-vector and global index of G-vector shell. More... | |
| mpi::Communicator const & | comm_ |
| Alias for the G-vector communicator. More... | |
| Gvec const & | gvec_ |
| std::map< r3::vector< int >, int > | idx_gvec_ |
| A mapping between G-vector and it's local index in the new distribution. More... | |
Helper class to manage G-vector shells and redistribute G-vectors for symmetrization.
G-vectors are remapped from default distribution which balances both the local number of z-columns and G-vectors to the distribution of G-vector shells in which each MPI rank stores local set of complete G-vector shells such that the "rotated" G-vector remains on the same MPI rank.
| sirius::fft::Gvec_shells::Gvec_shells | ( | Gvec const & | gvec__ | ) |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |