Reference documentation for deal.II version 9.4.0
\(\newcommand{\dealvcentcolon}{\mathrel{\mathop{:}}}\) \(\newcommand{\dealcoloneq}{\dealvcentcolon\mathrel{\mkern-1.2mu}=}\) \(\newcommand{\jump}[1]{\left[\!\left[ #1 \right]\!\right]}\) \(\newcommand{\average}[1]{\left\{\!\left\{ #1 \right\}\!\right\}}\)
Public Member Functions | Private Attributes | List of all members
Utilities::MPI::ConsensusAlgorithms::Serial< RequestType, AnswerType > Class Template Reference

#include <deal.II/base/mpi_consensus_algorithms.h>

Inheritance diagram for Utilities::MPI::ConsensusAlgorithms::Serial< RequestType, AnswerType >:
[legend]

Public Member Functions

 Serial ()=default
 
 Serial (Process< RequestType, AnswerType > &process, const MPI_Comm &comm)
 
virtual std::vector< unsigned intrun (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
 
std::vector< unsigned intrun ()
 
std::vector< unsigned intrun (Process< RequestType, AnswerType > &process, const MPI_Comm &comm)
 

Private Attributes

Process< RequestType, AnswerType > * process
 
MPI_Comm comm
 

Detailed Description

template<typename RequestType, typename AnswerType>
class Utilities::MPI::ConsensusAlgorithms::Serial< RequestType, AnswerType >

A serial fall back for the above classes to allow programming independently of whether MPI is used or not.

Definition at line 813 of file mpi_consensus_algorithms.h.

Constructor & Destructor Documentation

◆ Serial() [1/2]

template<typename RequestType , typename AnswerType >
Utilities::MPI::ConsensusAlgorithms::Serial< RequestType, AnswerType >::Serial ( )
default

Default constructor.

◆ Serial() [2/2]

template<typename RequestType , typename AnswerType >
Utilities::MPI::ConsensusAlgorithms::Serial< RequestType, AnswerType >::Serial ( Process< RequestType, AnswerType > &  process,
const MPI_Comm comm 
)

Constructor.

Parameters
processProcess to be run during consensus algorithm.
commMPI Communicator (ignored)
Deprecated:
This constructor stores the Process object and the communicator so that one can later call the run() function without arguments. This approach is deprecated. Instead, use the default constructor of this class along with the run() function that takes an argument.

Member Function Documentation

◆ run() [1/3]

template<typename RequestType , typename AnswerType >
virtual std::vector< unsigned int > Utilities::MPI::ConsensusAlgorithms::Serial< RequestType, AnswerType >::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 
)
overridevirtual

Run the consensus algorithm and return a vector of process ranks that have requested answers from the current process.

Deprecated:
This function is deprecated. It can be called if the Process object and communicator to be used have previously been provided to the non-default constructor. Use the run() functions taking arguments instead.

Implements Utilities::MPI::ConsensusAlgorithms::Interface< RequestType, AnswerType >.

◆ run() [2/3]

template<typename RequestType , typename AnswerType >
std::vector< unsigned int > Utilities::MPI::ConsensusAlgorithms::Interface< RequestType, AnswerType >::run ( )
inherited

Run the consensus algorithm and return a vector of process ranks that have requested answers from the current process.

Deprecated:
This function is deprecated. It can be called if the Process object and communicator to be used have previously been provided to the non-default constructor. Use the run() functions taking arguments instead.

◆ run() [3/3]

template<typename RequestType , typename AnswerType >
std::vector< unsigned int > Utilities::MPI::ConsensusAlgorithms::Interface< RequestType, AnswerType >::run ( Process< RequestType, AnswerType > &  process,
const MPI_Comm comm 
)
inherited

Run the consensus algorithm and return a vector of process ranks that have requested answers from the current process.

This version of the run() function simply unpacks the functions packaged in process and calls the version of the run() function that takes a number of std::function arguments.

Member Data Documentation

◆ process

template<typename RequestType , typename AnswerType >
Process<RequestType, AnswerType>* Utilities::MPI::ConsensusAlgorithms::Interface< RequestType, AnswerType >::process
privateinherited

Reference to the process provided by the user.

This member variable is only used in the deprecated constructor and the run() function without argument. It is a nullptr otherwise

Definition at line 329 of file mpi_consensus_algorithms.h.

◆ comm

template<typename RequestType , typename AnswerType >
MPI_Comm Utilities::MPI::ConsensusAlgorithms::Interface< RequestType, AnswerType >::comm
privateinherited

MPI communicator.

This member variable is only used in the deprecated constructor and the run() function without argument.

Definition at line 338 of file mpi_consensus_algorithms.h.


The documentation for this class was generated from the following file: