21 #ifndef _aspect_particle_distribution_h 22 #define _aspect_particle_distribution_h 28 #include <deal.II/base/table.h> 29 #include <deal.II/particles/property_pool.h> 30 #include <deal.II/particles/particle_handler.h> 31 #include <deal.II/base/function_lib.h> 103 const std::vector<
typename Particles::ParticleHandler<dim>::particle_iterator_range>
104 &particle_ranges_to_sum_over,
105 const unsigned int n_particles_in_cell,
106 const typename ::Mapping<dim> &mapping);
123 const std::array<unsigned int,dim> &table_index,
124 const typename Triangulation<dim>::cell_iterator &cell,
125 const std::vector<
typename Particles::ParticleHandler<dim>::particle_iterator_range>
126 &particle_ranges_to_sum_over,
127 const typename ::Mapping<dim> &mapping);
138 const unsigned int y_index,
139 const unsigned int z_index,
140 const double input_value);
150 const double input_value);
161 const types::particle_index reference_particle_id);
172 const unsigned int y_index,
173 const unsigned int z_index)
const;
202 std::vector<Point<dim>>
216 types::particle_index
224 types::particle_index
void fill_from_particle_range(const typename Particles::ParticleHandler< dim >::particle_iterator_range &particle_range, const std::vector< typename Particles::ParticleHandler< dim >::particle_iterator_range > &particle_ranges_to_sum_over, const unsigned int n_particles_in_cell, const typename ::Mapping< dim > &mapping)
double kernelfunction_triangular(const double distance) const
double standard_deviation
void compute_statistical_values()
ParticlePDF(const unsigned int granularity, const double bandwidth, const KernelFunction kernel_function)
types::particle_index get_min_particle() const
double kernelfunction_uniform(const double distance) const
double get_standard_deviation() const
bool is_defined_per_particle
small_vector< double > function_output_vector
std::vector< Point< dim > > min_positions
void insert_kernel_sum_from_particle_range(const Point< dim > &reference_point, const std::array< unsigned int, dim > &table_index, const typename Triangulation< dim >::cell_iterator &cell, const std::vector< typename Particles::ParticleHandler< dim >::particle_iterator_range > &particle_ranges_to_sum_over, const typename ::Mapping< dim > &mapping)
KernelFunction kernel_function
types::particle_index get_max_particle() const
std::vector< Point< dim > > get_min_positions() const
double kernelfunction_gaussian(const double distance) const
types::particle_index min_particle_index
Point< dim > get_max_position() const
Point< dim > max_position
double apply_selected_kernel_function(const double distance) const
void add_value_to_function_table(const unsigned int x_index, const unsigned int y_index, const unsigned int z_index, const double input_value)
boost::container::small_vector< T, N > small_vector
Table< dim, double > function_output_table
types::particle_index max_particle_index
double evaluate_function_at_index(const unsigned int x_index, const unsigned int y_index, const unsigned int z_index) const