ESPResSo
Extensible Simulation Package for Research on Soft Matter Systems
Loading...
Searching...
No Matches
dp3m.hpp File Reference

P3M algorithm for long-range magnetic dipole-dipole interaction. More...

#include <config/config.hpp>
#include "magnetostatics/actor.hpp"
#include "p3m/common.hpp"
#include "p3m/data_struct.hpp"
#include "p3m/math.hpp"
#include "Particle.hpp"
#include "ParticleRange.hpp"
#include <utils/Vector.hpp>
#include <utils/math/AS_erfc_part.hpp>
#include <utils/math/sqr.hpp>
#include <cmath>
#include <numbers>
+ Include dependency graph for dp3m.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  DipolarP3M
 Dipolar P3M solver. More...
 

Functions

std::shared_ptr< DipolarP3Mnew_dipolar_p3m_heffte (P3MParameters &&p3m_params, TuningParameters const &tuning_params, double prefactor, bool single_precision, Arch arch)
 

Detailed Description

P3M algorithm for long-range magnetic dipole-dipole interaction.

We use here a P3M (Particle-Particle Particle-Mesh) method based on the dipolar Ewald summation. Details of the used method can be found in [23] and [11] [12].

Further reading: [10]

Definition in file dp3m.hpp.

Function Documentation

◆ new_dipolar_p3m_heffte()

std::shared_ptr< DipolarP3M > new_dipolar_p3m_heffte ( P3MParameters &&  p3m_params,
TuningParameters const &  tuning_params,
double  prefactor,
bool  single_precision,
Arch  arch 
)