Reference documentation for deal.II version 9.3.3
\(\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::internal::ComputeIndexOwner::DictionaryPayLoad Class Reference

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

Inheritance diagram for Utilities::MPI::internal::ComputeIndexOwner::DictionaryPayLoad:
[legend]

Public Member Functions

 DictionaryPayLoad (const std::map< unsigned int, std::vector< std::pair< types::global_dof_index, types::global_dof_index > > > &buffers, std::vector< unsigned int > &actually_owning_ranks, const std::pair< types::global_dof_index, types::global_dof_index > &local_range, std::vector< unsigned int > &actually_owning_rank_list)
 
virtual std::vector< unsigned intcompute_targets () override
 
virtual void create_request (const unsigned int other_rank, std::vector< std::pair< types::global_dof_index, types::global_dof_index > > &send_buffer) override
 
virtual void answer_request (const unsigned int other_rank, const std::vector< std::pair< types::global_dof_index, types::global_dof_index > > &buffer_recv, std::vector< unsigned int > &request_buffer) override
 
virtual void prepare_buffer_for_answer (const unsigned int other_rank, std::vector< unsigned int > &recv_buffer)
 
virtual void read_answer (const unsigned int other_rank, const std::vector< unsigned int > &recv_buffer)
 

Private Attributes

const std::map< unsigned int, std::vector< std::pair< types::global_dof_index, types::global_dof_index > > > & buffers
 
std::vector< unsigned int > & actually_owning_ranks
 
const std::pair< types::global_dof_index, types::global_dof_index > & local_range
 
std::vector< unsigned int > & actually_owning_rank_list
 

Detailed Description

Specialization of ConsensusAlgorithms::Process for setting up the Dictionary even if there are ranges in the IndexSet space not owned by any processes.

Note
Only for internal usage.

Definition at line 45 of file mpi_compute_index_owner_internal.h.

Constructor & Destructor Documentation

◆ DictionaryPayLoad()

Utilities::MPI::internal::ComputeIndexOwner::DictionaryPayLoad::DictionaryPayLoad ( const std::map< unsigned int, std::vector< std::pair< types::global_dof_index, types::global_dof_index > > > &  buffers,
std::vector< unsigned int > &  actually_owning_ranks,
const std::pair< types::global_dof_index, types::global_dof_index > &  local_range,
std::vector< unsigned int > &  actually_owning_rank_list 
)
inline

Constructor.

Definition at line 54 of file mpi_compute_index_owner_internal.h.

Member Function Documentation

◆ compute_targets()

virtual std::vector< unsigned int > Utilities::MPI::internal::ComputeIndexOwner::DictionaryPayLoad::compute_targets ( )
inlineoverridevirtual

◆ create_request()

virtual void Utilities::MPI::internal::ComputeIndexOwner::DictionaryPayLoad::create_request ( const unsigned int  other_rank,
std::vector< std::pair< types::global_dof_index, types::global_dof_index > > &  send_buffer 
)
inlineoverridevirtual

◆ answer_request()

virtual void Utilities::MPI::internal::ComputeIndexOwner::DictionaryPayLoad::answer_request ( const unsigned int  other_rank,
const std::vector< std::pair< types::global_dof_index, types::global_dof_index > > &  buffer_recv,
std::vector< unsigned int > &  request_buffer 
)
inlineoverridevirtual

◆ prepare_buffer_for_answer()

virtual void Utilities::MPI::ConsensusAlgorithms::Process< std::pair< types::global_dof_index, types::global_dof_index > , unsigned int >::prepare_buffer_for_answer ( const unsigned int  other_rank,
std::vector< unsigned int > &  recv_buffer 
)
virtualinherited

Prepare the buffer where the payload of the answer of the request to the process with the specified rank is saved in. The most obvious task is to resize the buffer, since it is empty when the function is called.

Parameters
[in]other_rankrank of the process
[out]recv_bufferdata to be sent part of the request (optional)

Reimplemented in Utilities::MPI::internal::ComputeIndexOwner::ConsensusAlgorithmsPayload.

◆ read_answer()

virtual void Utilities::MPI::ConsensusAlgorithms::Process< std::pair< types::global_dof_index, types::global_dof_index > , unsigned int >::read_answer ( const unsigned int  other_rank,
const std::vector< unsigned int > &  recv_buffer 
)
virtualinherited

Process the payload of the answer of the request to the process with the specified rank.

Parameters
[in]other_rankrank of the process
[in]recv_bufferdata to be sent part of the request (optional)

Reimplemented in Utilities::MPI::internal::ComputeIndexOwner::ConsensusAlgorithmsPayload.

Member Data Documentation

◆ buffers

const std::map<unsigned int, std::vector<std::pair<types::global_dof_index, types::global_dof_index> > >& Utilities::MPI::internal::ComputeIndexOwner::DictionaryPayLoad::buffers
private

Definition at line 140 of file mpi_compute_index_owner_internal.h.

◆ actually_owning_ranks

std::vector<unsigned int>& Utilities::MPI::internal::ComputeIndexOwner::DictionaryPayLoad::actually_owning_ranks
private

Definition at line 142 of file mpi_compute_index_owner_internal.h.

◆ local_range

const std::pair<types::global_dof_index, types::global_dof_index>& Utilities::MPI::internal::ComputeIndexOwner::DictionaryPayLoad::local_range
private

Definition at line 145 of file mpi_compute_index_owner_internal.h.

◆ actually_owning_rank_list

std::vector<unsigned int>& Utilities::MPI::internal::ComputeIndexOwner::DictionaryPayLoad::actually_owning_rank_list
private

Definition at line 147 of file mpi_compute_index_owner_internal.h.


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