ESPResSo
Extensible Simulation Package for Research on Soft Matter Systems
Loading...
Searching...
No Matches
dipolar_direct_sum.cpp File Reference
#include <config/config.hpp>
#include "magnetostatics/dipolar_direct_sum.hpp"
#include "magnetostatics/dipolar_direct_sum_kernels.hpp"
#include "BoxGeometry.hpp"
#include "cells.hpp"
#include "communication.hpp"
#include "errorhandling.hpp"
#include "particle_reduction.hpp"
#include "system/System.hpp"
#include <Kokkos_Core.hpp>
#include <Kokkos_ScatterView.hpp>
#include <utils/Vector.hpp>
#include <utils/math/tensor_product.hpp>
#include <utils/mpi/iall_gatherv.hpp>
#include <boost/mpi/collectives.hpp>
#include <boost/mpi/communicator.hpp>
#include <mpi.h>
#include <cassert>
#include <cstddef>
#include <numeric>
#include <stdexcept>
#include <tuple>
#include <utility>
#include <vector>
+ Include dependency graph for dipolar_direct_sum.cpp:

Go to the source code of this file.

Classes

struct  PosMom
 Position and dipole moment of one particle. More...
 

Functions

static auto gather_particle_data (BoxGeometry const &box_geo, ParticleRange const &particles)
 
static auto get_n_cut (BoxGeometry const &box_geo, int n_replicas)
 
static std::vector< Utils::Vector3dmake_image_shifts (Utils::Vector3i const &ncut, Utils::Vector3d const &box_l)
 Real-space image shifts n x box_l inside the |ncut| sphere.
 

Function Documentation

◆ gather_particle_data()

◆ get_n_cut()

◆ make_image_shifts()

static std::vector< Utils::Vector3d > make_image_shifts ( Utils::Vector3i const ncut,
Utils::Vector3d const box_l 
)
static

Real-space image shifts n x box_l inside the |ncut| sphere.

Index 0 is the primary (zero) shift so self-interaction loops start at index 1.

Definition at line 119 of file dipolar_direct_sum.cpp.

References Utils::Vector< T, N >::norm2(), and stream.

Referenced by DipolarDirectSum::add_long_range_forces_cpu(), DipolarDirectSum::dipole_field_at_part_cpu(), DipolarDirectSum::long_range_energy_cpu(), and DipolarDirectSum::long_range_pressure().