30#include "system/System.hpp"
53static std::pair<double, unsigned>
59#ifdef ESPRESSO_LENNARD_JONES
72#ifdef ESPRESSO_LENNARD_JONES_GENERIC
77#ifdef ESPRESSO_SMOOTH_STEP
82#ifdef ESPRESSO_HERTZIAN
87#ifdef ESPRESSO_GAUSSIAN
92#ifdef ESPRESSO_BMHTF_NACL
102#ifdef ESPRESSO_BUCKINGHAM
107#ifdef ESPRESSO_SOFT_SPHERE
121#ifdef ESPRESSO_LJCOS2
126#ifdef ESPRESSO_GAY_BERNE
131#ifdef ESPRESSO_TABULATED
146 for (
auto &data : m_nonbonded_ia_params) {
149 data->active_pair_mask = mask;
155 for (
auto &data : m_nonbonded_ia_params) {
void recalc_maximal_cutoffs()
Recalculate cutoff of each interaction struct.
void on_non_bonded_ia_change() const
Notify system that non-bonded interactions changed.
double maximal_cutoff() const
Get maximal cutoff.
cudaStream_t stream[1]
CUDA streams for parallel computing on CPU and GPU.
constexpr double inactive_cutoff
Special cutoff value for an inactive interaction.
static void consider(double &max_cut_current, unsigned &mask, PairPotential p, double sub_cutoff)
static std::pair< double, unsigned > recalc_maximal_cutoff(IA_parameters const &data, System::System const &system)
Various procedures concerning interactions between particles.
PairPotential
Bit positions in IA_parameters::active_pair_mask.
constexpr unsigned pair_potential_bit(PairPotential p)
Bitmask for a pair potential.
double max_cutoff() const
double max_cutoff() const
double max_cutoff() const
double max_cutoff() const
double max_cutoff() const
double max_cutoff() const
double max_cutoff() const
Parameters for non-bonded interactions.
Gaussian_Parameters gaussian
GayBerne_Parameters gay_berne
SoftSphere_Parameters soft_sphere
SmoothStep_Parameters smooth_step
Hertzian_Parameters hertzian
Buckingham_Parameters buckingham
double max_cutoff() const
double max_cutoff() const
double max_cutoff() const
double max_cutoff() const
double max_cutoff() const
double max_cutoff() const
double max_cutoff() const
double max_cutoff() const