Reference documentation for deal.II version 9.4.0
Particles::internal::GhostParticlePartitioner< dim, spacedim > Struct Template Reference

#include <deal.II/particles/partitioner.h>

Inheritance diagram for Particles::internal::GhostParticlePartitioner< dim, spacedim >:
[legend]

## Public Types

using particle_iterator = ParticleIterator< dim, spacedim >

## Public Attributes

bool valid = false

std::vector< types::subdomain_idneighbors

std::vector< unsigned intsend_pointers

std::map< types::subdomain_id, std::vector< particle_iterator > > ghost_particles_by_domain

std::vector< unsigned intrecv_pointers

std::vector< particle_iteratorghost_particles_iterators

std::vector< char > send_data

std::vector< char > recv_data

## Detailed Description

template<int dim, int spacedim>
struct Particles::internal::GhostParticlePartitioner< dim, spacedim >

Cache structure used to store the elements which are required to exchange the particle information (location and properties) across processors in order to update the ghost particles.

This structure should only be used when one wishes to carry out work using the particles without calling sort_particles_into_subdomain_and_cells at every iteration. This is useful when particle-particle interaction occurs at a different time scale than particle-mesh interaction.

Definition at line 41 of file partitioner.h.

## ◆ particle_iterator

template<int dim, int spacedim>
 using Particles::internal::GhostParticlePartitioner< dim, spacedim >::particle_iterator = ParticleIterator

A type that can be used to iterate over all particles in the domain.

Definition at line 46 of file partitioner.h.

## ◆ valid

template<int dim, int spacedim>
 bool Particles::internal::GhostParticlePartitioner< dim, spacedim >::valid = false

Indicates if the cache has been built to prevent updating particles with an invalid cache.

Definition at line 52 of file partitioner.h.

## ◆ neighbors

template<int dim, int spacedim>
 std::vector Particles::internal::GhostParticlePartitioner< dim, spacedim >::neighbors

Vector of the subdomain id of all possible neighbors of the current subdomain.

Definition at line 58 of file partitioner.h.

## ◆ send_pointers

template<int dim, int spacedim>
 std::vector Particles::internal::GhostParticlePartitioner< dim, spacedim >::send_pointers

Vector of size (neighbors.size()+1) used to store the start and the end point of the data that must go from the current subdomain to the neighbors. For neighbor i, send_pointers[i] indicates the beginning and send_pointers[i+1] indicates the end of the data that must be sent.

Definition at line 67 of file partitioner.h.

## ◆ ghost_particles_by_domain

template<int dim, int spacedim>
 std::map > Particles::internal::GhostParticlePartitioner< dim, spacedim >::ghost_particles_by_domain

Set of particles that currently live in the ghost cells of the local domain, organized by the subdomain_id. These particles are equivalent to the ghost entries in distributed vectors.

Definition at line 75 of file partitioner.h.

## ◆ recv_pointers

template<int dim, int spacedim>
 std::vector Particles::internal::GhostParticlePartitioner< dim, spacedim >::recv_pointers

Vector of size (neighbors.size()+1) used to store the start and the end point of the data that must be received from neighbor[i] on the current subdomain. For neighbor i, recv_pointers[i] indicate the beginning and recv_pointers[i+1] indicates the end of the data that must be received.

This structure is similar to Utilities::MPI::Partitioner::import_targets when combined with neighbors.

Definition at line 88 of file partitioner.h.

## ◆ ghost_particles_iterators

template<int dim, int spacedim>
 std::vector Particles::internal::GhostParticlePartitioner< dim, spacedim >::ghost_particles_iterators

Vector of ghost particles in the order in which they are inserted in the multimap used to store particles on the triangulation. This information is used to update the ghost particle information without clearing the multimap of ghost particles, thus greatly reducing the cost of exchanging the ghost particles information.

Definition at line 97 of file partitioner.h.

## ◆ send_data

template<int dim, int spacedim>
 std::vector Particles::internal::GhostParticlePartitioner< dim, spacedim >::send_data

Temporary storage that holds the data of the particles to be sent to other processors to update the ghost particles information in update_ghost_particles() send_recv_particles_properties_and_location()

Definition at line 105 of file partitioner.h.

## ◆ recv_data

template<int dim, int spacedim>
 std::vector Particles::internal::GhostParticlePartitioner< dim, spacedim >::recv_data

Temporary storage that holds the data of the particles to receive the ghost particles information from other processors in update_ghost_particles() send_recv_particles_properties_and_location()

Definition at line 113 of file partitioner.h.

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