39#ifdef ESPRESSO_DIPOLES
42 std::unique_ptr<Implementation>
impl;
Vector implementation and trait types for boost qvm interoperability.
constexpr double inactive_cutoff
Special cutoff value for an inactive interaction.
void sanity_checks() const
std::function< ParticleForce(double, Utils::Vector3d const &, Utils::Vector3d const &, Utils::Vector3d const &, double, double)> ShortRangeForceKernel
std::optional< ShortRangeForceKernel > pair_force_kernel() const
std::function< double(Utils::Vector3d const &, Utils::Vector3d const &, Utils::Vector3d const &, double, double)> ShortRangeEnergyKernel
void on_cell_structure_change()
void on_particle_change()
std::unique_ptr< Implementation > impl
Pointer-to-implementation.
void on_periodicity_change()
void calc_pressure_long_range() const
bool reinit_on_observable_calc
Whether to reinitialize the solver on observable calculation.
void on_observable_calc()
void calc_long_range_force() const
std::optional< ShortRangeEnergyKernel > pair_energy_kernel() const
void on_node_grid_change()
double calc_energy_long_range() const
Force information on a particle.