NESSi  v1.0.2
The NonEquilibrium Systems Simulation Library

◆ Send_timestep()

template<typename T >
void cntr::herm_matrix< T >::Send_timestep ( int  tstp,
int  dest,
int  tag 
)

Sends the herm_matrix at a given time step to a specific task.

Purpose

Sends the herm_matrix at a given time step tstp to a specific task with rank dest.

Parameters
tstp

Time step which should be send.

dest

The task rank to which the herm_matrix should be send.

tag

The MPI error flag.

Definition at line 3511 of file cntr_herm_matrix_impl.hpp.

3511  {
3512  int taskid;
3513  MPI_Comm_rank(MPI_COMM_WORLD, &taskid);
3514  if (!(taskid == dest)) {
3515  herm_matrix_timestep<T> Gtemp;
3516  Gtemp.resize(tstp, ntau_, size1_);
3517  this->get_timestep(tstp, Gtemp);
3518  if (sizeof(T) == sizeof(double))
3519  MPI_Send(Gtemp.data_, Gtemp.total_size_,
3520  MPI_DOUBLE_COMPLEX, dest, tag, MPI_COMM_WORLD);
3521  else
3522  MPI_Send(Gtemp.data_, Gtemp.total_size_, MPI_COMPLEX,
3523  dest, tag, MPI_COMM_WORLD);
3524  }
3525 }
void get_timestep(int tstp, herm_matrix_timestep< T > &timestep) const