NESSi  v1.0.2
The NonEquilibrium Systems Simulation Library

◆ Recv_timestep()

template<typename T >
void cntr::herm_matrix_timestep< 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_timestep 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 2716 of file cntr_herm_matrix_timestep_impl.hpp.

2716  {
2717  int taskid;
2718  MPI_Comm_rank(MPI_COMM_WORLD, &taskid);
2719  if (!(taskid == root)) {
2720  resize(tstp, ntau_, size1_);
2721  int len = (2 * (tstp_ + 1) + ntau_ + 1) * element_size_;
2722  if (sizeof(T) == sizeof(double))
2723  MPI_Recv(data_, len, MPI_DOUBLE_COMPLEX, root, tag, MPI_COMM_WORLD, MPI_STATUS_IGNORE);
2724  else
2725  MPI_Recv(data_, len, MPI_COMPLEX, root, tag, MPI_COMM_WORLD, MPI_STATUS_IGNORE);
2726  }
2727 }
void resize(int nt, int ntau, int size1)
Resizes herm_matrix_timestep object with respect to the number of points on the Matsubara branch and...