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

An equivalent abstract which delivers the tabulated data with all tuples broken into separate arrays of their individual components. This abstract is obtained with distinct accessors from PPITable, below. The "e" is for "element-wise.". More...

#include <ppitable.h>

Public Member Functions

 PPIeKit (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 T *energy_x_in, const T *energy_y_in, const T *energy_z_in, const T *energy_w_in, const T *force_x_in, const T *force_y_in, const T *force_z_in, const T *force_w_in, const T *energy_excl_x_in, const T *energy_excl_y_in, const T *energy_excl_z_in, const T *energy_excl_w_in, const T *force_excl_x_in, const T *force_excl_y_in, const T *force_excl_z_in, const T *force_excl_w_in)
 The constructor takes the customary list of pointers and critical constants.
 
 PPIeKit (const PPIeKit &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.
 
 PPIeKit (PPIeKit &&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 T * energy_x
 
const T * energy_y
 Table of energy function spline y coefficients.
 
const T * energy_z
 Table of energy function spline z coefficients.
 
const T * energy_w
 Table of energy function spline w coefficients.
 
const T * force_x
 
const T * force_y
 Table of force function spline y coefficients.
 
const T * force_z
 Table of force function spline z coefficients.
 
const T * force_w
 Table of force function spline w coefficients.
 
const T * energy_excl_x
 Excluded interation energy function spline x coefficients.
 
const T * energy_excl_y
 Excluded interation energy function spline y coefficients.
 
const T * energy_excl_z
 Excluded interation energy function spline z coefficients.
 
const T * energy_excl_w
 Excluded interation energy function spline w coefficients.
 
const T * force_excl_x
 Excluded interation energy function spline x coefficients.
 
const T * force_excl_y
 Excluded interation energy function spline y coefficients.
 
const T * force_excl_z
 Excluded interation energy function spline z coefficients.
 
const T * force_excl_w
 Excluded interation energy function spline w coefficients.
 

Detailed Description

template<typename T>
struct stormm::energy::PPIeKit< T >

An equivalent abstract which delivers the tabulated data with all tuples broken into separate arrays of their individual components. This abstract is obtained with distinct accessors from PPITable, below. The "e" is for "element-wise.".

Constructor & Destructor Documentation

◆ PPIeKit()

template<typename T>
stormm::energy::PPIeKit< T >::PPIeKit ( const PPIeKit< T > & 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>
const T stormm::energy::PPIeKit< T >::arg_offset

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

◆ basis

template<typename T>
const BasisFunctions stormm::energy::PPIeKit< T >::basis

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

◆ dp_detail_mask

template<typename T>
const ullint stormm::energy::PPIeKit< T >::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_x

template<typename T>
const T* stormm::energy::PPIeKit< T >::energy_x

Table of energy function spline x coefficients. Add excl_offset to any index for the raw energy to get the corresponding index for the x coefficient in the excluded energy table.

◆ excl_offset

template<typename T>
const int stormm::energy::PPIeKit< T >::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_x

template<typename T>
const T* stormm::energy::PPIeKit< T >::force_x

Table of force function spline x coefficients. Add excl_offset to obtain the force x coefficient for an excluded interaction.

◆ index_bound

template<typename T>
const int stormm::energy::PPIeKit< T >::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>
const int stormm::energy::PPIeKit< T >::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>
const TableIndexing stormm::energy::PPIeKit< T >::lookup

The method of transforming the argument to the underlying function

◆ sp_detail_mask

template<typename T>
const uint stormm::energy::PPIeKit< T >::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>
const NonbondedTheme stormm::energy::PPIeKit< T >::theme

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


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