Gromacs  2024.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Functions
splineutil.cpp File Reference
#include "gmxpre.h"
#include "splineutil.h"
#include <cmath>
#include <algorithm>
#include <functional>
#include <utility>
#include <vector>
#include "gromacs/utility/alignedallocator.h"
#include "gromacs/utility/arrayref.h"
#include "gromacs/utility/exceptions.h"
#include "gromacs/utility/real.h"
#include "gromacs/utility/stringutil.h"
+ Include dependency graph for splineutil.cpp:

Description

Implements internal utility functions for spline tables.

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

Functions

void gmx::internal::throwUnlessDerivativeIsConsistentWithFunction (const std::function< double(double)> &function, const std::function< double(double)> &derivative, const std::pair< real, real > &range)
 Ensure analytical derivative is the derivative of analytical function. More...
 
void gmx::internal::throwUnlessDerivativeIsConsistentWithFunction (ArrayRef< const double > function, ArrayRef< const double > derivative, double inputSpacing, const std::pair< real, real > &range)
 Ensure vector of derivative values is the derivative of function vector. More...
 
static double gmx::internal::quotientOfFunctionAndSecondDerivative (double previousPoint, double thisPoint, double nextPoint, double spacing)
 Calculate absolute quotient of function and its second derivative. More...
 
real gmx::internal::findSmallestQuotientOfFunctionAndSecondDerivative (const std::function< double(double)> &f, const std::pair< real, real > &range)
 Find smallest quotient between analytical function and its 2nd derivative. More...
 
real gmx::internal::findSmallestQuotientOfFunctionAndSecondDerivative (ArrayRef< const double > function, double inputSpacing, const std::pair< real, real > &range)
 Find smallest quotient between vector of values and its 2nd derivative. More...
 
static double gmx::internal::quotientOfFunctionAndThirdDerivative (double previousPreviousPoint, double previousPoint, double thisPoint, double nextPoint, double nextNextPoint, double spacing)
 Calculate absolute quotient of function and its third derivative. More...
 
real gmx::internal::findSmallestQuotientOfFunctionAndThirdDerivative (const std::function< double(double)> &f, const std::pair< real, real > &range)
 Find smallest quotient between analytical function and its 3rd derivative. More...
 
real gmx::internal::findSmallestQuotientOfFunctionAndThirdDerivative (ArrayRef< const double > function, double inputSpacing, const std::pair< real, real > &range)
 Find smallest quotient between function and 2nd derivative (vectors) More...
 
std::vector< double > gmx::internal::vectorSecondDerivative (ArrayRef< const double > f, double spacing)
 Calculate second derivative of vector and return vector of same length. More...