STORMM Source Documentation
Loading...
Searching...
No Matches
stormm::energy::PPIKit< T, T4 > Struct Template Reference

Abstract for the particle-particle interaction table, with pointers to energies and forces and sizing constants for navigating the excluded versus non-excluded interactions. Like the LogScaleSpline abstract, this is read-only. More...

#include <ppitable.h>

Public Member Functions

 PPIKit (NonbondedTheme theme_in, BasisFunctions basis_in, TableIndexing lookup_in, int index_bound_in, int excl_offset_in, int index_shift_bits_in, ullint dp_detail_mask_in, uint sp_detail_mask_in, T arg_offset_in, const T4 *energy_in, const T4 *force_in, const T4 *energy_excl_in, const T4 *force_excl_in)
 The constructor takes the customary list of pointers and critical constants.
 
 PPIKit (const PPIKit &original)=default
 With all const members, the copy and move assignment operators are implicitly deleted, but with no pointers to repair the copy and move constructors are legal.
 
 PPIKit (PPIKit &&original)=default
 

Public Attributes

const NonbondedTheme theme
 
const BasisFunctions basis
 
const TableIndexing lookup
 
const int index_bound
 
const int excl_offset
 
const int index_shift_bits
 
const ullint dp_detail_mask
 
const uint sp_detail_mask
 
const T arg_offset
 
const T4 * energy
 
const T4 * force
 
const T4 * energy_excl
 Table of excluded energy coefficients.
 
const T4 * force_excl
 Table of excluded force coefficients.
 

Detailed Description

template<typename T, typename T4>
struct stormm::energy::PPIKit< T, T4 >

Abstract for the particle-particle interaction table, with pointers to energies and forces and sizing constants for navigating the excluded versus non-excluded interactions. Like the LogScaleSpline abstract, this is read-only.

Constructor & Destructor Documentation

◆ PPIKit()

template<typename T, typename T4>
stormm::energy::PPIKit< T, T4 >::PPIKit ( const PPIKit< T, T4 > & original)
default

With all const members, the copy and move assignment operators are implicitly deleted, but with no pointers to repair the copy and move constructors are legal.

Parameters
originalThe original PPIKit tocopy or move

Member Data Documentation

◆ arg_offset

template<typename T, typename T4>
const T stormm::energy::PPIKit< T, T4 >::arg_offset

Offset used in transforming arguments of the underlying benchmark function into spline table indices

◆ basis

template<typename T, typename T4>
const BasisFunctions stormm::energy::PPIKit< T, T4 >::basis

The type of basis functions scaled by spline coefficients to obtain the result

◆ dp_detail_mask

template<typename T, typename T4>
const ullint stormm::energy::PPIKit< T, T4 >::dp_detail_mask

A pre-computed bitmask useful for converting an argument of the underlying benhmark function into a quantity for double-precision splines to operate on

◆ energy

template<typename T, typename T4>
const T4* stormm::energy::PPIKit< T, T4 >::energy

Table of energy coefficients. Add excl_offset to any index for the raw energy to get the corresponding index in the excluded energy table. Add index_bound to any index for the raw energy to get the raw force.

◆ excl_offset

template<typename T, typename T4>
const int stormm::energy::PPIKit< T, T4 >::excl_offset

The offset to add to any spline index in the energy or force arrays in order to obtain the corresponding excluded energy or force spline coefficients

◆ force

template<typename T, typename T4>
const T4* stormm::energy::PPIKit< T, T4 >::force

Table of force coefficients. Add excl_offset to any index for the raw force to get the corresponding index in the excluded force table.

◆ index_bound

template<typename T, typename T4>
const int stormm::energy::PPIKit< T, T4 >::index_bound

The upper bound of spline indices in any given table. This is half the value of excl_offset.

◆ index_shift_bits

template<typename T, typename T4>
const int stormm::energy::PPIKit< T, T4 >::index_shift_bits

The number of bits by which to shift a floating point number, after interpreting it as an unsigned integer, to the right before interpeting the result as a table index

◆ lookup

template<typename T, typename T4>
const TableIndexing stormm::energy::PPIKit< T, T4 >::lookup

The method of transforming the argument to the underlying function

◆ sp_detail_mask

template<typename T, typename T4>
const uint stormm::energy::PPIKit< T, T4 >::sp_detail_mask

A pre-computed bitmask useful for converting an argument of the underlying benchmark function into a quantity for single-precision splines to operate on

◆ theme

template<typename T, typename T4>
const NonbondedTheme stormm::energy::PPIKit< T, T4 >::theme

The type of non-bonded potential and derivatives approximated by the splines


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