![]() |
deal.II version GIT relicensing-6960-g70e9c5b7be 2026-10-22 20:10:01+00:00
|
#include <deal.II/base/mpi_consensus_algorithms.h>
A serial fall back for the above classes to allow programming independently of whether MPI is used or not.
Definition at line 673 of file mpi_consensus_algorithms.h.
Public Member Functions | |
| Serial ()=default | |
| virtual std::vector< unsigned int > | run (const std::vector< unsigned int > &targets, const std::function< RequestType(const unsigned int)> &create_request, const std::function< AnswerType(const unsigned int, const RequestType &)> &answer_request, const std::function< void(const unsigned int, const AnswerType &)> &process_answer, const MPI_Comm comm) override |
|
default |
Default constructor.
|
overridevirtual |
Run the consensus algorithm and return a vector of process ranks that have requested answers from the current process.
| [in] | targets | A vector that contains the ranks of processes to which requests should be sent and from which answers need to be received. |
| [in] | create_request | A function object that takes the rank of a target process as argument and returns the message that forms the request to this target. |
| [in] | answer_request | A function that takes as arguments the rank of the process that has sent a request to us, along with the message of the request, and returns the message that forms the answer that should be sent back to the requesting process. |
| [in] | process_answer | A function object that takes as argument the rank of a process from which we have received an answer to a previously sent request, along with the message that forms this answer. This function is used to describe what the caller of the consensus algorithm wants to do with the received answer. |
| [in] | comm | The MPI communicator on which the whole algorithm is to be performed. |
Implements Utilities::MPI::ConsensusAlgorithms::Interface< RequestType, AnswerType >.