deal.II version GIT relicensing-2287-g6548a49e0a 2024-12-20 18:30:00+00:00
|
#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< particle_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 40 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 45 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 51 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 57 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 66 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 74 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 87 of file partitioner.h.
std::vector<particle_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 96 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 104 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 112 of file partitioner.h.