include/meltpooldg/particles/obstacle_field.hpp Source File
|
Developer Documentation
|
obstacle_field.hpp
Go to the documentation of this file.
Utilities for region-based adaptive mesh refinement (AMR).
Definition particle_accessor.hpp:20
Definition obstacle_field.hpp:32
void insert_obstacles(const dealii::Triangulation< dim > &triangulation, const std::vector< dealii::Point< dim, number > > &obstacle_locations, const std::vector< std::vector< number > > &obstacle_properties)
Insert obstacles into the particle handler based on provided locations and properties.
Definition obstacle_field.cpp:190
std::vector< ObstacleLoad< dim, number, ObstacleType > > loads
Vector of load objects representing all loads acting on the obstacles.
Definition obstacle_field.hpp:353
void add_load_type(ObstacleLoadType &&obstacle_load)
Adds a new obstacle load to the list of loads acting on obstacles.
Definition obstacle_field.hpp:103
CellListParticleHandler< dim, number, ObstacleType > obstacle_data_structure
Obstacle search utility for locating relevant obstacles within a given cell or batch.
Definition obstacle_field.hpp:356
void subscribe_to_data_structure(std::function< void(CellListParticleHandler< dim, number, ObstacleType > &, const typename CellListParticleHandler< dim, number, ObstacleType >::NotifyEvent &)> callback)
Definition obstacle_field.cpp:308
unsigned int n_locally_owned_particles() const
Definition obstacle_field.cpp:251
number compute_rayleigh_time_step() const
Computes the Rayleigh time step, scaled by a safety factor.
Definition obstacle_field.cpp:279
void advance_time(const number time_step)
Advances the state of all obstacles in time by a single time step.
Definition obstacle_field.cpp:54
void serialize(Archive &ar, const unsigned int version)
Serializes the internal state of the class.
Definition obstacle_field.hpp:375
std::ranges::subrange< ParticleIterator< dim, number > > ghost_particle_range() const
Definition obstacle_field.cpp:229
MPI_Comm get_mpi_communicator() const
Definition obstacle_field.cpp:265
void prepare_for_serialization()
Prepares this object for serialization.
Definition obstacle_field.cpp:65
void compute_loads_on_obstacles()
Computes and applies the total load acting on each obstacle in the field. This includes both forces a...
Definition obstacle_field.cpp:101
std::ranges::subrange< ParticleIterator< dim, number > > particles_in_cell(typename dealii::Triangulation< dim >::active_cell_iterator cell) const
Definition obstacle_field.cpp:236
const dealii::Triangulation< dim > & get_triangulation() const
Definition obstacle_field.cpp:272
void deserialize()
Performs the objects deserialization.
Definition obstacle_field.cpp:160
boost::container::small_vector< DEMParticleAccessor< dim, number >, 3 *dim > find_particles_in_neighborhood(const DEMParticleAccessor< dim, number > &particle, const number relative_tolerance)
Definition obstacle_field.cpp:205
std::ranges::subrange< ParticleIterator< dim, number > > locally_owned_particle_range() const
Definition obstacle_field.cpp:222
void get_obstacles_in_cell(const dealii::TriaIterator< dealii::CellAccessor< dim > > &cell, ObstacleContainer &particles)
Definition obstacle_field.hpp:365
void prepare_for_coarsening_and_refinement()
Definition obstacle_field.cpp:168
void register_particle_output(Postprocessor< dim, number > &postprocessor) const
Definition obstacle_field.cpp:182
unsigned int n_global_particles() const
Definition obstacle_field.cpp:244
void print_accumulated_particle_quantities(const dealii::ConditionalOStream &pout) const
Definition obstacle_field.cpp:127
std::vector< AMR::AMRRegion< dim, number > > get_refinement_regions() const
Return the AMR regions relevant for the obstacle field in region-based refinement.
Definition obstacle_field.cpp:72
const ObstacleData< number > & data
Struct holding configuration data for obstacles.
Definition obstacle_field.hpp:350
void unpack_after_coarsening_and_refinement()
Definition obstacle_field.cpp:175
unsigned int n_ghost_particles() const
Definition obstacle_field.cpp:258
MPI_Comm mpi_communicator
MPI communicator used for parallel operations on the obstacle field.
Definition obstacle_field.hpp:359
Definition postprocessor.hpp:33
Forward declaration of the CellListParticleHandler class template.
Definition obstacle_data_structure.hpp:210
NotifyEvent
Definition obstacle_data_structure.hpp:217
Definition obstacle_data.hpp:13
Generated by