deal.II version GIT relicensing-2165-gc91f007519 2024-11-20 01:40:00+00:00
\(\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\}}\)
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
GridTools::internal::DistributedComputePointLocationsInternal< dim, spacedim > Struct Template Reference

#include <deal.II/grid/grid_tools.h>

Public Member Functions

 DistributedComputePointLocationsInternal ()
 
void finalize_setup ()
 

Public Attributes

unsigned int n_searched_points
 
std::vector< std::tuple< std::pair< int, int >, unsigned int, unsigned int, Point< dim >, Point< spacedim >, unsigned int > > send_components
 
std::vector< unsigned intsend_ranks
 
std::vector< unsigned intsend_ptrs
 
std::vector< std::tuple< unsigned int, unsigned int, unsigned int > > recv_components
 
std::vector< unsigned intrecv_ranks
 
std::vector< unsigned intrecv_ptrs
 

Detailed Description

template<int dim, int spacedim>
struct GridTools::internal::DistributedComputePointLocationsInternal< dim, spacedim >

Data structure returned by GridTools::internal::distributed_compute_point_locations(). It provides information to perform GridTools::distributed_compute_point_locations() and to set up the communication pattern within Utilities::MPI::RemotePointEvaluation::reinit().

Note
The name of the fields are chosen with Utilities::MPI::RemotePointEvaluation in mind. Here, quantities are computed at specified arbitrary positioned points (and even on remote processes in the MPI universe) cell by cell and these values are sent to requesting processes, which receive the result and resort the result according to the points.

Definition at line 723 of file grid_tools.h.

Constructor & Destructor Documentation

◆ DistributedComputePointLocationsInternal()

template<int dim, int spacedim>
GridTools::internal::DistributedComputePointLocationsInternal< dim, spacedim >::DistributedComputePointLocationsInternal ( )

Definition at line 3795 of file grid_tools.cc.

Member Function Documentation

◆ finalize_setup()

template<int dim, int spacedim>
void GridTools::internal::DistributedComputePointLocationsInternal< dim, spacedim >::finalize_setup ( )

Function which sets up send_ranks, send_ptrs, recv_ranks, and recv_ptrs from send_components, recv_components, and n_searched_points. Internally send_components and recv_components are sorted and enumerated.

Definition at line 3802 of file grid_tools.cc.

Member Data Documentation

◆ n_searched_points

template<int dim, int spacedim>
unsigned int GridTools::internal::DistributedComputePointLocationsInternal< dim, spacedim >::n_searched_points

Number of searched point locations.

Definition at line 739 of file grid_tools.h.

◆ send_components

template<int dim, int spacedim>
std::vector<std::tuple<std::pair<int, int>, unsigned int, unsigned int, Point<dim>, Point<spacedim>, unsigned int> > GridTools::internal::DistributedComputePointLocationsInternal< dim, spacedim >::send_components

Information of each point on sending/evaluation side. The elements of the tuple are as follows: 0) cell level and index, 1) rank of the owning process, 2) local index of the owning process, 3) reference position, 4) real position, 5) permutation index within a send buffer.

Definition at line 753 of file grid_tools.h.

◆ send_ranks

template<int dim, int spacedim>
std::vector<unsigned int> GridTools::internal::DistributedComputePointLocationsInternal< dim, spacedim >::send_ranks

Ranks to send to.

Definition at line 758 of file grid_tools.h.

◆ send_ptrs

template<int dim, int spacedim>
std::vector<unsigned int> GridTools::internal::DistributedComputePointLocationsInternal< dim, spacedim >::send_ptrs

Pointers of ranges within a send buffer to be sent to the ranks specified by send_ranks. The size of the send buffer is given by send_ptrs.back().

Definition at line 765 of file grid_tools.h.

◆ recv_components

template<int dim, int spacedim>
std::vector<std::tuple<unsigned int, unsigned int, unsigned int> > GridTools::internal::DistributedComputePointLocationsInternal< dim, spacedim >::recv_components

Information of each received data value. The elements of the tuple are as follows: 0) rank of sender, 1) local index, 2) enumeration index.

Note
The vector is sorted according to 1), 0), 2).
To each point multiple data values might be associated to. This might be the case if a point coincides with a geometric entity (e.g., vertex) that is shared by multiple cells.

Definition at line 778 of file grid_tools.h.

◆ recv_ranks

template<int dim, int spacedim>
std::vector<unsigned int> GridTools::internal::DistributedComputePointLocationsInternal< dim, spacedim >::recv_ranks

Ranks from where data is received.

Definition at line 783 of file grid_tools.h.

◆ recv_ptrs

template<int dim, int spacedim>
std::vector<unsigned int> GridTools::internal::DistributedComputePointLocationsInternal< dim, spacedim >::recv_ptrs

Pointers of ranges within a receive buffer that are filled by ranks specified by recv_ranks. The size of the receive buffer is given by recv_ptrs.back().

Definition at line 790 of file grid_tools.h.


The documentation for this struct was generated from the following files: