https://mooseframework.inl.gov
PiecewiseBase.h
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://mooseframework.inl.gov
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 "LinearInterpolation.h"
14 
20 class PiecewiseBase : public Function
21 {
22 public:
24 
26 
27  virtual Real functionSize() const;
28  virtual Real domain(const int i) const;
29  virtual Real range(const int i) const;
30 
35  virtual void setData(const std::vector<Real> & x, const std::vector<Real> & y);
36 
37 protected:
39  std::vector<Real> _raw_x;
40  std::vector<Real> _raw_y;
42 
43  using Function::_name;
44 };
Function base which provides a piecewise approximation to a specified (x,y) point data set...
Definition: PiecewiseBase.h:20
Base class for function objects.
Definition: Function.h:36
static InputParameters validParams()
Definition: PiecewiseBase.C:14
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
virtual void setData(const std::vector< Real > &x, const std::vector< Real > &y)
Provides a means for explicitly setting the x and y data.
Definition: PiecewiseBase.C:40
virtual Real domain(const int i) const
Definition: PiecewiseBase.C:28
virtual Real range(const int i) const
Definition: PiecewiseBase.C:34
std::vector< Real > _raw_x
raw function data as read
Definition: PiecewiseBase.h:39
virtual Real functionSize() const
Definition: PiecewiseBase.C:22
const std::string _name
The name of this class.
Definition: MooseBase.h:90
PiecewiseBase(const InputParameters &parameters)
Definition: PiecewiseBase.C:19
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const InputParameters & parameters() const
Get the parameters of the object.
std::vector< Real > _raw_y
Definition: PiecewiseBase.h:40