21 #ifndef _aspect_particle_manager_h
22 #define _aspect_particle_manager_h
47 #include <boost/serialization/unique_ptr.hpp>
55 struct SimulatorSignals;
164 Particles::ParticleHandler<dim> &to_particle_handler) const;
192 const Interpolator::Interface<dim> &
244 #if DEAL_II_VERSION_GTE(9,6,0)
262 template <
class Archive>
263 void serialize (Archive &ar,
const unsigned int version);
270 save (std::ostringstream &os)
const;
454 std::map<types::subdomain_id, unsigned int>
491 const std::vector<EvaluationFlags::EvaluationFlags> &evaluation_flags,
515 const bool connect_to_checkpoint_signals =
true)
const;
525 std::vector<typename Particles::ParticleHandler<dim>::particle_iterator_range>
534 template <
class Archive>
ParticleIterator< dim, spacedim > particle_iterator
void local_update_particles(Property::ParticleUpdateInputs< dim > &inputs, small_vector< Point< dim >> &positions, const std::vector< EvaluationFlags::EvaluationFlags > &evaluation_flags, SolutionEvaluator< dim > &evaluator)
std::vector< typename Particles::ParticleHandler< dim >::particle_iterator_range > get_neighboring_particle_ranges(const typename Triangulation< dim >::active_cell_iterator &cell, const typename Particles::ParticleHandler< dim > &particle_handler, typename GridTools::Cache< dim > &grid_cache)
void serialize(Archive &ar, const unsigned int version)
const Particles::ParticleHandler< dim > & get_particle_handler() const
Manager(Manager &&) noexcept
unsigned int particle_weight
unsigned int cell_weight(const typename parallel::distributed::Triangulation< dim >::cell_iterator &cell, const typename parallel::distributed::Triangulation< dim >::CellStatus status)
const Property::Manager< dim > & get_property_manager() const
const Interpolator::Interface< dim > & get_interpolator() const
void apply_particle_per_cell_bounds()
Particles::ParticleHandler< dim > particle_handler_backup
void connect_to_signals(aspect::SimulatorSignals< dim > &signals)
void restore_particles()
Restores the particle handler particle_handler based on the copy in particle_handler_backup....
void connect_particle_handler_signals(aspect::SimulatorSignals< dim > &signals, ParticleHandler< dim > &particle_handler, const bool connect_to_checkpoint_signals=true) const
unsigned int min_particles_per_cell
virtual void parse_parameters(ParameterHandler &prm, const unsigned int particle_manager)
void copy_particle_handler(const Particles::ParticleHandler< dim > &from_particle_handler, Particles::ParticleHandler< dim > &to_particle_handler) const
std::map< types::subdomain_id, unsigned int > get_subdomain_id_to_neighbor_map() const
std::unique_ptr< Interpolator::Interface< dim > > interpolator
void setup_initial_state()
void local_initialize_particles(const typename ParticleHandler< dim >::particle_iterator &begin_particle, const typename ParticleHandler< dim >::particle_iterator &end_particle)
AdditionAlgorithm addition_algorithm
ParticlePDF< dim >::KernelFunction kernel_function
static void declare_parameters(ParameterHandler &prm)
std::unique_ptr< Generator::Interface< dim > > generator
DeletionAlgorithm deletion_algorithm
std::unique_ptr< Property::Manager< dim > > property_manager
virtual void load(std::istringstream &is)
unsigned int max_particles_per_cell
void generate_particles()
void local_advect_particles(const typename DoFHandler< dim >::active_cell_iterator &cell, const typename ParticleHandler< dim >::particle_iterator &begin_particle, const typename ParticleHandler< dim >::particle_iterator &end_particle, SolutionEvaluator< dim > &evaluators)
types::particle_index n_global_particles() const
std::mt19937 random_number_generator
std::unique_ptr< Particles::ParticleHandler< dim > > particle_handler
std::unique_ptr< Integrator::Interface< dim > > integrator
void backup_particles()
Stores a copy of the particle handler in particle_handler_backup. This copy can be used to restore th...
ParticleLoadBalancing::Kind particle_load_balancing
virtual void save(std::ostringstream &os) const
void initialize_particles()
unsigned int addition_granularity_pdf
unsigned int addition_granularity_histogram
typename ::Triangulation< dim, spacedim >::cell_iterator cell_iterator
boost::container::small_vector< T, N > small_vector
@ remove_and_add_particles