40#ifdef ESPRESSO_DIPOLES
43 std::unique_ptr<Implementation>
impl;
Vector implementation and trait types for boost qvm interoperability.
cudaStream_t stream[1]
CUDA streams for parallel computing on CPU and GPU.
constexpr double inactive_cutoff
Special cutoff value for an inactive interaction.
Matrix implementation and trait types for boost qvm interoperability.
std::function< ParticleForce(double, Utils::Vector3d const &, Utils::Vector3d const &, Utils::Vector3d &, Utils::Vector3d &, Utils::Vector3d const &, double, double)> ShortRangeForceKernel
void sanity_checks() const
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()
Utils::Vector9d calc_pressure_long_range() const
void on_particle_change()
std::unique_ptr< Implementation > impl
Pointer-to-implementation.
std::optional< ShortRangePressureKernel > pair_pressure_kernel() const
void on_periodicity_change()
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()
std::function< Utils::Matrix< double, 3, 3 >(double, Utils::Vector3d const &, Utils::Vector3d const &, Utils::Vector3d const &, double, double)> ShortRangePressureKernel
double calc_energy_long_range() const
Force information on a particle.