37 std::vector<Real>
_x1;
39 std::vector<Real>
_x2;
44 virtual Real
sample(
const Real x1,
const Real x2)
const = 0;
54 mooseError(
"sampleDerivative for Real numbers is not implemented for this interpolation class");
60 "sampleDerivative for ADReal numbers is not implemented for this interpolation class");
67 "sampleDerivative for ChainedReal numbers is not implemented for this interpolation class");
75 mooseError(
"sample2ndDerivative is not implemented for this interpolation class");
85 Real , Real , Real & , Real & , Real & )
const
87 mooseError(
"sampleValueAndDerivatives for Real numbers is not implemented for this "
88 "interpolation class");
96 mooseError(
"sampleValueAndDerivatives for ADReal numbers is not implemented for this "
97 "interpolation class");
105 mooseError(
"sampleValueAndDerivatives for ChainedReal numbers is not implemented for this "
106 "interpolation class");
DualNumber< Real, DNDerivativeType, true > ADReal
DualNumber< Real, Real > ChainedReal
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application.
This class interpolates tabulated data with a Bidimension function (either bicubic or bilinear).
virtual ChainedReal sample(const ChainedReal &x1, const ChainedReal &x2) const =0
virtual ADReal sampleDerivative(const ADReal &, const ADReal &, unsigned int) const
virtual Real sample(const Real x1, const Real x2) const =0
Samples value at point (x1, x2)
virtual Real sampleDerivative(const Real, const Real, unsigned int) const
Samples first derivative at point (x1, x2)
virtual void sampleValueAndDerivatives(const ChainedReal &, const ChainedReal &, ChainedReal &, ChainedReal &, ChainedReal &) const
virtual void sampleValueAndDerivatives(const ADReal &, const ADReal &, ADReal &, ADReal &, ADReal &) const
std::vector< Real > _x1
Independent values in the x1 direction.
virtual ~BidimensionalInterpolation()=default
virtual ADReal sample(const ADReal &x1, const ADReal &x2) const =0
virtual Real sample2ndDerivative(Real, Real, unsigned int) const
Samples second derivative at point (x1, x2)
virtual void sampleValueAndDerivatives(Real, Real, Real &, Real &, Real &) const
Samples value and first derivatives at point (x1, x2) Use this function for speed when computing both...
virtual ChainedReal sampleDerivative(const ChainedReal &, const ChainedReal &, unsigned int) const
std::vector< Real > _x2
Independent values in the x2 direction.