Gromacs  2026.0-dev-20241212-74b8831
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Functions
cubicsplinetable.cpp File Reference
#include "gmxpre.h"
#include "cubicsplinetable.h"
#include <cmath>
#include <cstdlib>
#include <algorithm>
#include <functional>
#include <initializer_list>
#include <string>
#include <utility>
#include <vector>
#include "gromacs/tables/tableinput.h"
#include "gromacs/utility/alignedallocator.h"
#include "gromacs/utility/arrayref.h"
#include "gromacs/utility/exceptions.h"
#include "gromacs/utility/real.h"
#include "splineutil.h"
+ Include dependency graph for cubicsplinetable.cpp:

Description

Implements classes for cubic spline table functions.

Author
Erik Lindahl erik..nosp@m.lind.nosp@m.ahl@g.nosp@m.mail.nosp@m..com

Functions

void gmx::anonymous_namespace{cubicsplinetable.cpp}::calculateCubicSplineCoefficients (double functionValue0, double functionValue1, double derivativeValue0, double derivativeValue1, double spacing, double *Y, double *F, double *G, double *H)
 Calculate table elements from function/derivative data. More...
 
void gmx::anonymous_namespace{cubicsplinetable.cpp}::cubicSplineInterpolationFromFunctionAndDerivative (double functionValue0, double functionValue1, double derivativeValue0, double derivativeValue1, double spacing, double eps, double *interpolatedFunctionValue, double *interpolatedDerivativeValue)
 Perform cubic spline interpolation in interval from function/derivative. More...
 
void gmx::anonymous_namespace{cubicsplinetable.cpp}::fillSingleCubicSplineTableData (const std::function< double(double)> &function, const std::function< double(double)> &derivative, const std::pair< real, real > &range, double spacing, std::vector< real > *yfghTableData)
 Construct the data for a single cubic table from analytical functions. More...
 
void gmx::anonymous_namespace{cubicsplinetable.cpp}::fillSingleCubicSplineTableData (ArrayRef< const double > function, ArrayRef< const double > derivative, double inputSpacing, const std::pair< real, real > &range, double spacing, std::vector< real > *yfghTableData)
 Construct the data for a single cubic table from vector data. More...