Template Class BaseAccumulator#

Inheritance Relationships#

Derived Types#

Class Documentation#

template<typename pairwise_interaction, typename distance_policy>
class BaseAccumulator#

Subclassed by pele::EnergyAccumulator< pairwise_interaction, distance_policy >, pele::EnergyGradientAccumulator< pairwise_interaction, distance_policy >, pele::EnergyGradientHessianAccumulator< pairwise_interaction, distance_policy >, pele::EnergyHessianAccumulator< pairwise_interaction, distance_policy >

Public Functions

inline BaseAccumulator(
std::shared_ptr<pairwise_interaction> pairwise_interaction_ptr,
std::shared_ptr<distance_policy> distance_policy_ptr,
pele::Array<double> const &radii,
NonAdditiveCutoffCalculator cutoff
)#
inline void reset_data(const pele::Array<double> *coords)#
inline void calculate_distance_data(
DistanceData<distance_policy::_ndim> &dist_data,
const pele::Array<double> &coords,
const size_t atom_i,
const size_t atom_j
)#
inline void calculate_dist_data_in_thread(
const pele::Array<double> &coords,
const size_t atom_i,
const size_t atom_j,
const size_t isubdom
)#
Parameters:
  • coords –

  • atom_i –

  • atom_j –

  • isubdom – thread number)

Protected Attributes

std::shared_ptr<pairwise_interaction> m_interaction#
std::shared_ptr<distance_policy> m_dist#
const Array<double> *m_coords#
const Array<double> m_radii#
NonAdditiveCutoffCalculator m_cutoff#
std::vector<DistanceData<distance_policy::_ndim>> m_distance_datas#

Protected Static Attributes

static const size_t m_ndim = distance_policy::_ndim#