Reference documentation for deal.II version 9.3.3
|
#include <deal.II/particles/partitioner.h>
Public Types | |
using | particle_iterator = ParticleIterator< dim, spacedim > |
Public Attributes | |
bool | valid = false |
std::vector< types::subdomain_id > | neighbors |
std::vector< unsigned int > | send_pointers |
std::map< types::subdomain_id, std::vector< particle_iterator > > | ghost_particles_by_domain |
std::vector< unsigned int > | recv_pointers |
std::vector< typename std::multimap< internal::LevelInd, Particle< dim, spacedim > >::iterator > | ghost_particles_iterators |
std::vector< char > | send_data |
std::vector< char > | recv_data |
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.
using Particles::internal::GhostParticlePartitioner< dim, spacedim >::particle_iterator = ParticleIterator<dim, spacedim> |
A type that can be used to iterate over all particles in the domain.
Definition at line 46 of file partitioner.h.
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.
std::vector<types::subdomain_id> 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.
std::vector<unsigned int> 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.
std::map<types::subdomain_id, std::vector<particle_iterator> > 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.
std::vector<unsigned int> 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.
std::vector<typename std::multimap<internal::LevelInd, Particle<dim, spacedim> >::iterator> 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 99 of file partitioner.h.
std::vector<char> 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 107 of file partitioner.h.
std::vector<char> 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 115 of file partitioner.h.