Gromacs  2024.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Functions
gmx::anonymous_namespace{quadraticsplinetable.cpp} Namespace Reference

Functions

void fillSingleQuadraticSplineTableData (const std::function< double(double)> &function, const std::function< double(double)> &derivative, const std::pair< real, real > &range, double spacing, std::vector< real > *functionTableData, std::vector< real > *derivativeTableData)
 Construct the data for a single quadratic table from analytical functions. More...
 
void fillSingleQuadraticSplineTableData (ArrayRef< const double > function, ArrayRef< const double > derivative, double inputSpacing, const std::pair< real, real > &range, double spacing, std::vector< real > *functionTableData, std::vector< real > *derivativeTableData)
 Construct the data for a single quadratic table from vector data. More...
 
void fillDdfzTableData (const std::vector< real > &functionTableData, const std::vector< real > &derivativeTableData, std::vector< real > *ddfzTableData)
 Create merged DDFZ vector from function & derivative data. More...
 

Function Documentation

void gmx::anonymous_namespace{quadraticsplinetable.cpp}::fillDdfzTableData ( const std::vector< real > &  functionTableData,
const std::vector< real > &  derivativeTableData,
std::vector< real > *  ddfzTableData 
)

Create merged DDFZ vector from function & derivative data.

Parameters
functionTableDataFunction values
derivativeTableDataDerivative values. We have already subtracted the small third derivative component when calling this function, but in practice it is just an arbitrary vector here.
ddfzTableDataVector four times longer, filled with the derivative, the difference to the next derivative point, the function value, and zero.
Exceptions
Ifthe vector lengths do not match.
void gmx::anonymous_namespace{quadraticsplinetable.cpp}::fillSingleQuadraticSplineTableData ( const std::function< double(double)> &  function,
const std::function< double(double)> &  derivative,
const std::pair< real, real > &  range,
double  spacing,
std::vector< real > *  functionTableData,
std::vector< real > *  derivativeTableData 
)

Construct the data for a single quadratic table from analytical functions.

Parameters
[in]functionAnalytical function
[in]derivativeAnalytical derivative
[in]rangeUpper/lower limit of region to tabulate
[in]spacingDistance between table points
[out]functionTableDataOutput table with function data
[out]derivativeTableDataOUtput table with (adjusted) derivative data
void gmx::anonymous_namespace{quadraticsplinetable.cpp}::fillSingleQuadraticSplineTableData ( ArrayRef< const double >  function,
ArrayRef< const double >  derivative,
double  inputSpacing,
const std::pair< real, real > &  range,
double  spacing,
std::vector< real > *  functionTableData,
std::vector< real > *  derivativeTableData 
)

Construct the data for a single quadratic table from vector data.

Parameters
[in]functionInput vector with function data
[in]derivativeInput vector with derivative data
[in]inputSpacingDistance between points in input vectors
[in]rangeUpper/lower limit of region to tabulate
[in]spacingDistance between table points
[out]functionTableDataOutput table with function data
[out]derivativeTableDataOUtput table with (adjusted) derivative data