24#include "communication.hpp"
25#include "system/System.hpp"
30#include <boost/mpi/collectives/all_reduce.hpp>
38 std::optional<Particle>
opt_part{std::nullopt};
40 if (p
and not p->is_ghost()) {
44 [](std::optional<Particle>
const &acc,
45 std::optional<Particle>
const &
item) {
53 throw std::runtime_error(
"Immersed Boundary: Particle not found");
Vector implementation and trait types for boost qvm interoperability.
Describes a cell structure / cell system.
Particle * get_local_particle(int id)
Get a local particle by id.
cudaStream_t stream[1]
CUDA streams for parallel computing on CPU and GPU.
boost::mpi::communicator comm_cart
The communicator.
Utils::Vector3d get_ibm_particle_position(CellStructure const &cell_structure, int pid)
Returns the position of a given particle.