www.mooseframework.org
BicubicSplineFunction.h
Go to the documentation of this file.
1 /****************************************************************/
2 /* DO NOT MODIFY THIS HEADER */
3 /* MOOSE - Multiphysics Object Oriented Simulation Environment */
4 /* */
5 /* (c) 2010 Battelle Energy Alliance, LLC */
6 /* ALL RIGHTS RESERVED */
7 /* */
8 /* Prepared by Battelle Energy Alliance, LLC */
9 /* Under Contract No. DE-AC07-05ID14517 */
10 /* With the U. S. Department of Energy */
11 /* */
12 /* See COPYRIGHT for full restrictions */
13 /****************************************************************/
14 
15 #ifndef BICUBICSPLINEFUNCTION_H
16 #define BICUBICSPLINEFUNCTION_H
17 
18 #include "Function.h"
19 #include "FunctionInterface.h"
21 
23 
24 template <>
26 
31 {
32 public:
34 
35  virtual Real value(Real t, const Point & p) override;
36 
37  virtual Real derivative(const Point & p, unsigned int deriv_var);
38  virtual RealGradient gradient(Real t, const Point & p) override;
39  virtual Real secondDerivative(const Point & p, unsigned int deriv_var);
40 
41 protected:
43 
44  std::vector<Real> _x1;
45  std::vector<Real> _x2;
46  std::vector<Real> _yx11;
47  std::vector<Real> _yx1n;
48  std::vector<Real> _yx21;
49  std::vector<Real> _yx2n;
50 
53 };
54 
55 #endif /* BICUBICSPLINEFUNCTION_H */
RealVectorValue RealGradient
Definition: Assembly.h:43
Base class for function objects.
Definition: Function.h:46
BicubicSplineInterpolation _ipol
virtual Real value(Real t, const Point &p) override
Override this to evaluate the scalar function at point (t,x,y,z), by default this returns zero...
BicubicSplineFunction(const InputParameters &parameters)
virtual RealGradient gradient(Real t, const Point &p) override
Function objects can optionally provide a gradient at a point.
std::vector< Real > _x1
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
std::vector< Real > _yx2n
std::vector< Real > _yx1n
virtual Real derivative(const Point &p, unsigned int deriv_var)
InputParameters validParams< BicubicSplineFunction >()
std::vector< Real > _x2
virtual Real secondDerivative(const Point &p, unsigned int deriv_var)
This class interpolates tabulated functions with a bi-cubic spline.
Function that uses spline interpolation.
std::vector< Real > _yx21
std::vector< Real > _yx11
const InputParameters & parameters() const
Get the parameters of the object.
Definition: MooseObject.h:53
Interface for objects that need to use functions.