BufferSystem receiver info without sender ranks
Currently, when using a BufferSystem to send data via MPI, it is required to locally specify the ranks that data will be received from. However, it would also be sufficient to know the amount of "packages" that we will receive, regardless of the sender's rank.
The implementation could look similar to this:
for ( int numReceivedPackages = 0; numRecievedPackages < numExpectedPackages; numRecievedPackages++ )
{
// ...
MPI_Recv( ... , MPI_ANY_SOURCE, ... );
// ...
}
AFAIK there is no support for such a kind of communication in waLBerla yet, please correct me if I am wrong.
I am currently not 100% sure if the BufferSystem internals would easily support this, but my suggestion
is to add a new method GenericBufferSystem::setReceiverInfo( uint_t numExpectedPackages )
and add the
functionality outlined above to the implementation.