www.mooseframework.org
BicubicSplineFunction.h
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://www.mooseframework.org
3 //*
4 //* All rights reserved, see COPYRIGHT for full restrictions
5 //* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6 //*
7 //* Licensed under LGPL 2.1, please see LICENSE for details
8 //* https://www.gnu.org/licenses/lgpl-2.1.html
9 
10 #pragma once
11 
12 #include "Function.h"
13 #include "FunctionInterface.h"
15 
20 {
21 public:
23 
25 
26  using Function::value;
27  virtual Real value(Real t, const Point & p) const override;
28 
29  virtual Real derivative(const Point & p, unsigned int deriv_var) const;
30  virtual RealGradient gradient(Real t, const Point & p) const override;
31  virtual Real secondDerivative(const Point & p, unsigned int deriv_var) const;
32 
33 protected:
35 
36  // Desired normal direction
37  unsigned int _normal_component;
38 
39  std::vector<Real> _x1;
40  std::vector<Real> _x2;
41  std::vector<Real> _yx11;
42  std::vector<Real> _yx1n;
43  std::vector<Real> _yx21;
44  std::vector<Real> _yx2n;
45 
46  const Function & _yx1;
47  const Function & _yx2;
48 
49  // The xyz index that x1/x2 should map to
52 };
Base class for function objects.
Definition: Function.h:37
virtual RealGradient gradient(Real t, const Point &p) const override
Function objects can optionally provide a gradient at a point.
BicubicSplineInterpolation _ipol
BicubicSplineFunction(const InputParameters &parameters)
virtual Real secondDerivative(const Point &p, unsigned int deriv_var) const
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
static InputParameters validParams()
virtual Real derivative(const Point &p, unsigned int deriv_var) const
std::vector< Real > _x2
This class interpolates tabulated functions with a bi-cubic spline.
Function that uses spline interpolation.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
std::vector< Real > _yx21
std::vector< Real > _yx11
const InputParameters & parameters() const
Get the parameters of the object.
virtual Real value(Real t, const Point &p) const
Override this to evaluate the scalar function at point (t,x,y,z), by default this returns zero...
Definition: Function.C:41
Interface for objects that need to use functions.
virtual Real value(Real t, const Point &p) const override
Override this to evaluate the scalar function at point (t,x,y,z), by default this returns zero...