ESPResSo
Extensible Simulation Package for Research on Soft Matter Systems
Loading...
Searching...
No Matches
communication.cpp File Reference
#include "config/config.hpp"
#include "communication.hpp"
#include "cuda/init.hpp"
#include "errorhandling.hpp"
#include <walberla_bridge/walberla_init.hpp>
#include <utils/Vector.hpp>
#include <utils/mpi/cart_comm.hpp>
#include <boost/mpi.hpp>
#include <boost/mpi/communicator.hpp>
#include <boost/mpi/environment.hpp>
#include <mpi.h>
#include <cassert>
#include <memory>
#include <tuple>
#include <utility>
+ Include dependency graph for communication.cpp:

Go to the source code of this file.

Namespaces

namespace  Communication
 

Functions

MpiCallbacksCommunication::mpiCallbacks ()
 Returns a reference to the global callback class instance.
 
std::shared_ptr< MpiCallbacksCommunication::mpiCallbacksHandle ()
 
void Communication::init (std::shared_ptr< boost::mpi::environment > mpi_env)
 Init globals for communication.
 
void Communication::deinit ()
 
std::shared_ptr< boost::mpi::environment > mpi_init (int argc, char **argv)
 Initialize MPI.
 
void mpi_loop ()
 Process requests from head node.
 

Variables

boost::mpi::communicator comm_cart
 The communicator.
 
Communicator communicator {}
 
static std::shared_ptr< MpiCallbacksCommunication::m_callbacks
 
int this_node = -1
 The number of this node.
 

Function Documentation

◆ mpi_init()

std::shared_ptr< boost::mpi::environment > mpi_init ( int  argc,
char **  argv 
)

Initialize MPI.

Definition at line 120 of file communication.cpp.

Referenced by MpiContainerUnitTest::MpiContainerUnitTest().

◆ mpi_loop()

void mpi_loop ( )

Process requests from head node.

Worker nodes main loop.

Definition at line 124 of file communication.cpp.

References Communication::MpiCallbacks::loop(), and this_node.

Variable Documentation

◆ comm_cart

The communicator.

Definition at line 47 of file communication.cpp.

Referenced by ComFixed::apply(), benchmark_integration_step(), calc_mu_max(), calc_re(), calc_rg(), calc_rh(), calc_slab_dipole(), Galilei::calc_system_cms_position(), Galilei::calc_system_cms_velocity(), calc_total_charge(), System::System::calculate_forces(), center_of_mass(), Coulomb::check_charge_neutrality(), ScriptInterface::Analysis::check_topology(), correct_position_shake(), correct_velocity_shake(), DipolarP3M::count_magnetic_particles(), count_magnetic_particles(), dipolar_energy_correction(), dipolar_force_corrections(), distribute(), gather_global_collision_queue(), BondBreakage::gather_global_queue(), gather_particle_data(), gather_traits_for_types(), get_ibm_particle_position(), get_particle_data(), get_particle_ids_parallel(), get_random_p_id(), gyration_tensor(), handle_collisions(), GpuParticleData::has_compatible_device(), CoulombP3M::init(), DipolarP3M::init(), Communication::init(), init_type_map(), System::System::integrate(), System::System::integrate_with_signal_handler(), is_valid_position(), ICCStar::iteration(), GatherParticleTraits< T >::join(), CoulombP3M::long_range_kernel(), DipolarP3M::long_range_kernel(), CoulombP3M::long_range_pressure(), make_coulomb_scafacos(), make_dipolar_scafacos(), make_new_particle(), mindist(), modify_p3m_sums(), moment_of_inertia_matrix(), mpi_get_particles(), mpi_get_particles_local(), Observable_stat::mpi_reduce(), mpi_send_particle_data_local(), mpi_synchronize_max_seen_pid_local(), mpi_who_has_head(), mpi_who_has_local(), nbhood(), System::System::on_integration_start(), p3mgpu_k_space_error(), prefetch_particle_data(), propagate_vel_pos_sd(), rebuild_needed(), remove_particle(), ScriptInterface::System::rotate_system(), CellStructure::set_atom_decomposition(), CellStructure::set_hybrid_decomposition(), set_particle_pos(), CellStructure::set_regular_decomposition(), steepest_descent_step(), structure_factor(), synchronize_npt_state(), Constraints::ShapeBasedConstraint::total_force(), Constraints::ShapeBasedConstraint::total_normal_force(), CellStructure::update_ghosts_and_resort_particle(), System::System::update_used_propagations(), velocity_verlet_npt_finalize_p_inst(), velocity_verlet_npt_propagate_pos(), and System::System::veto_boxl_change().

◆ communicator

◆ this_node