Gromacs  2027.0-dev-20260908-5ddcd278
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members | Public Member Functions
gmx::CoulombCalculator< KernelCoulombType::EwaldTabulated > Class Template Reference

#include <gromacs/nbnxm/simd_coulomb_functions.h>

Description

template<>
class gmx::CoulombCalculator< KernelCoulombType::EwaldTabulated >

Specialized calculator for Ewald using tabulated functions.

Public Member Functions

 CoulombCalculator (const interaction_const_t &ic)
 
real selfEnergy () const
 Returns the self energy.
 
template<int nR>
std::array< SimdReal, nR > force (const std::array< SimdReal, nR > &rSquaredV, const std::array< SimdReal, nR > &rInvV, const std::array< SimdReal, nR > &rInvExclV, const std::array< SimdBool, nR > gmx_unused &withinCutoffV)
 Returns the force. More...
 
template<int nR, std::size_t energySize>
void forceAndCorrectionEnergy (const std::array< SimdReal, nR > &rSquaredV, const std::array< SimdReal, nR > &rInvV, const std::array< SimdReal, nR > &rInvExclV, const std::array< SimdBool, nR > gmx_unused &withinCutoffV, std::array< SimdReal, nR > &forceV, std::array< SimdReal, energySize > &correctionEnergyV)
 Computes the Coulomb force and the Ewald reciprocal pot correction energy. More...
 

Member Function Documentation

template<int nR>
std::array<SimdReal, nR> gmx::CoulombCalculator< KernelCoulombType::EwaldTabulated >::force ( const std::array< SimdReal, nR > &  rSquaredV,
const std::array< SimdReal, nR > &  rInvV,
const std::array< SimdReal, nR > &  rInvExclV,
const std::array< SimdBool, nR > gmx_unused withinCutoffV 
)
inline

Returns the force.

Parameters
[in]rSquaredVThe distance squared
[in]rInvV1/r, should be 0 for pairs beyond the cut-off
[in]rInvExclV1/r, should be 0 for pairs beyond the cut-off and for excluded pairs
[in]withinCutoffVMask which tells whether pairs are within the cut-off
template<int nR, std::size_t energySize>
void gmx::CoulombCalculator< KernelCoulombType::EwaldTabulated >::forceAndCorrectionEnergy ( const std::array< SimdReal, nR > &  rSquaredV,
const std::array< SimdReal, nR > &  rInvV,
const std::array< SimdReal, nR > &  rInvExclV,
const std::array< SimdBool, nR > gmx_unused withinCutoffV,
std::array< SimdReal, nR > &  forceV,
std::array< SimdReal, energySize > &  correctionEnergyV 
)
inline

Computes the Coulomb force and the Ewald reciprocal pot correction energy.

Parameters
[in]rSquaredVThe distance squared
[in]rInvV1/r, should be 0 for pairs beyond the cut-off
[in]rInvExclV1/r, should be 0 for pairs beyond the cut-off and for excluded pairs
[in]withinCutoffVNot used
[out]forceVForce, does not need to be masked for cut-off and exclusions
[out]correctionEnergyVEwald correction energy, needs to be masked for cut-off

The documentation for this class was generated from the following file: