NESSi  v1.0.2
The NonEquilibrium Systems Simulation Library
cntr_distributed_timestep_array_decl.hpp
Go to the documentation of this file.
1 #ifndef CNTR_DISTRIBUTED_TIMESTEP_ARRAY_DECL_H
2 #define CNTR_DISTRIBUTED_TIMESTEP_ARRAY_DECL_H
3 
6 
7 namespace cntr{
8 
22  template <typename T>
24  public:
25 
26  /* construction,destruction */
31  distributed_timestep_array(int n,int nt,int ntau,int size,int sig,bool mpi);
32  // #if __cplusplus >= 201103L
33  // distributed_timestep_array(distributed_timestep_array &&a) noexcept;
34  // distributed_timestep_array &operator=(distributed_timestep_array &&a) noexcept;
35  // #endif
37  void reset_tstp(int tstp);
38  void clear(void); // se all data to zero
40  // access:
43  // MPI collective distribution routines
44  distributed_array<std::complex<T> > data(void) const {return data_;}
45  int n(void) const {return n_;}
46  int tid(void) const {return tid_;}
47  int ntasks(void) const {return ntasks_;}
48  std::vector<cntr::herm_matrix_timestep_view<T> > G(void) const {return G_;}
49  int tstp(void) const {return tstp_;}
50  int nt(void) const {return nt_;}
51  int ntau(void) const {return ntau_;}
52  int size(void) const {return size_;}
53  int sig(void) const {return sig_;}
54 
55  void mpi_bcast_block(int j);
56  void mpi_bcast_all(void);
57 
58  private:
60  int n_;
61  int tid_;
62  int ntasks_;
63  std::vector<cntr::herm_matrix_timestep_view<T> > G_;
64  int tstp_;
65  int nt_;
66  int ntau_;
67  int size_;
68  int sig_;
69  };
70 
71 } //namespace cntr
72 #endif
Class herm_matrix_timestep_view serves for interfacing with class herm_matrix_timestep without copyi...
distributed_array< std::complex< T > > data(void) const
distributed_timestep_array< T > & operator=(const distributed_timestep_array &a)
void mpi_bcast_block(int j)
MPI broadcast equivalent for the j-th block
Specialization of the distributed_array in which data-blocks are associated with the herm_matrix_tim...
Auxiliary data structure for handling set of data blocks and includes usual MPI processes on them...
void mpi_bcast_all(void)
MPI allgather equivalent
void reset_tstp(int tstp)
Reset the data to new timestep of herm_matrix_timestep
std::vector< cntr::herm_matrix_timestep_view< T > > G(void) const