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");
virtual Real sample(const Real x1, const Real x2) const =0
Samples value at point (x1, x2)
virtual ~BidimensionalInterpolation()=default
virtual void sampleValueAndDerivatives(const ChainedReal &, const ChainedReal &, ChainedReal &, ChainedReal &, ChainedReal &) const
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
DualNumber< Real, Real > ChainedReal
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...
BidimensionalInterpolation(const std::vector< Real > &x1, const std::vector< Real > &x2)
DualNumber< Real, DNDerivativeType, true > ADReal
std::vector< Real > _x1
Independent values in the x1 direction.
virtual void sampleValueAndDerivatives(const ADReal &, const ADReal &, ADReal &, ADReal &, ADReal &) const
virtual ADReal sampleDerivative(const ADReal &, const ADReal &, unsigned int) const
virtual ChainedReal sampleDerivative(const ChainedReal &, const ChainedReal &, unsigned int) const
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
std::vector< Real > _x2
Independent values in the x2 direction.
virtual Real sampleDerivative(const Real, const Real, unsigned int) const
Samples first derivative at point (x1, x2)
virtual Real sample2ndDerivative(Real, Real, unsigned int) const
Samples second derivative at point (x1, x2)
This class interpolates tabulated data with a Bidimension function (either bicubic or bilinear)...