NESSi  v1.0.2
The NonEquilibrium Systems Simulation Library

◆ Recv_timestep()

template<typename T >
void cntr::herm_matrix< T >::Recv_timestep ( int  tstp,
int  root,
int  tag 
)

Recevies the herm_matrix at a given time step from a specific task.

Purpose

Receives the herm_matrix at a given time step tstp from a specific task with rank root.

Parameters
tstp

Time step which should be received.

root

The task rank from which the herm_matrix should be received.

tag

The MPI error flag.

Definition at line 3547 of file cntr_herm_matrix_impl.hpp.

3547  {
3548  int taskid;
3549  MPI_Comm_rank(MPI_COMM_WORLD, &taskid);
3550  if (!(taskid == root)) {
3551  herm_matrix_timestep<T> Gtemp;
3552  Gtemp.resize(tstp, ntau_, size1_);
3553  if (sizeof(T) == sizeof(double))
3554  MPI_Recv(Gtemp.data_, Gtemp.total_size_,
3555  MPI_DOUBLE_COMPLEX, root, tag, MPI_COMM_WORLD, MPI_STATUS_IGNORE);
3556  else
3557  MPI_Recv(Gtemp.data_, Gtemp.total_size_, MPI_COMPLEX,
3558  root, tag, MPI_COMM_WORLD, MPI_STATUS_IGNORE);
3559  this->set_timestep(tstp, Gtemp);
3560  }
3561 }
void set_timestep(int tstp, herm_matrix &g1)
Sets all components at time step tstp to the components of a given herm_matrix. ...