www.mooseframework.org
PiecewiseBilinear.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 
14 class PiecewiseBilinear;
15 template <typename>
19 
20 template <>
22 
54 {
55 public:
57 
59 
60  // Necessary for using forward declaration of BilinearInterpolation in std::unique_ptr
61  virtual ~PiecewiseBilinear();
62 
66  virtual Real value(Real t, const Point & pt) const override;
67 
68 private:
69  std::unique_ptr<BilinearInterpolation> _bilinear_interp;
70  const std::string _data_file_name;
71  const int _axis;
72  const int _yaxis;
73  const int _xaxis;
74  const bool _axisValid;
75  const bool _yaxisValid;
76  const bool _xaxisValid;
77  const Real _scale_factor;
78  const bool _radial;
79 
80  void parse(std::vector<Real> & x, std::vector<Real> & y, ColumnMajorMatrix & z);
81 };
PiecewiseBilinear::_yaxis
const int _yaxis
Definition: PiecewiseBilinear.h:72
PiecewiseBilinear::validParams
static InputParameters validParams()
Definition: PiecewiseBilinear.C:21
PiecewiseBilinear::_yaxisValid
const bool _yaxisValid
Definition: PiecewiseBilinear.h:75
MooseObject::parameters
const InputParameters & parameters() const
Get the parameters of the object.
Definition: MooseObject.h:76
PiecewiseBilinear
PiecewiseBilinear reads from a file the information necessary to build the vectors x and y and the Co...
Definition: PiecewiseBilinear.h:53
BilinearInterpolation
This class applies the Least Squares algorithm to a set of points to provide a smooth curve for sampl...
Definition: BilinearInterpolation.h:36
PiecewiseBilinear::parse
void parse(std::vector< Real > &x, std::vector< Real > &y, ColumnMajorMatrix &z)
Definition: PiecewiseBilinear.C:142
PiecewiseBilinear::_xaxisValid
const bool _xaxisValid
Definition: PiecewiseBilinear.h:76
InputParameters
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system.
Definition: InputParameters.h:53
x
static PetscErrorCode Vec x
Definition: PetscDMMoose.C:1263
ColumnMajorMatrix
ColumnMajorMatrixTempl< Real > ColumnMajorMatrix
Definition: PiecewiseBilinear.h:16
PiecewiseBilinear::value
virtual Real value(Real t, const Point &pt) const override
This function will return a value based on the first input argument only.
Definition: PiecewiseBilinear.C:116
PiecewiseBilinear::_axisValid
const bool _axisValid
Definition: PiecewiseBilinear.h:74
PiecewiseBilinear::_bilinear_interp
std::unique_ptr< BilinearInterpolation > _bilinear_interp
Definition: PiecewiseBilinear.h:69
ColumnMajorMatrixTempl
This class defines a Tensor that can change its shape.
Definition: PiecewiseBilinear.h:16
validParams< PiecewiseBilinear >
InputParameters validParams< PiecewiseBilinear >()
Function.h
PiecewiseBilinear::_axis
const int _axis
Definition: PiecewiseBilinear.h:71
PiecewiseBilinear::_radial
const bool _radial
Definition: PiecewiseBilinear.h:78
Function
Base class for function objects.
Definition: Function.h:40
PiecewiseBilinear::~PiecewiseBilinear
virtual ~PiecewiseBilinear()
Definition: PiecewiseBilinear.C:113
PiecewiseBilinear::PiecewiseBilinear
PiecewiseBilinear(const InputParameters &parameters)
Definition: PiecewiseBilinear.C:45
PiecewiseBilinear::_scale_factor
const Real _scale_factor
Definition: PiecewiseBilinear.h:77
PiecewiseBilinear::_xaxis
const int _xaxis
Definition: PiecewiseBilinear.h:73
PiecewiseBilinear::_data_file_name
const std::string _data_file_name
Definition: PiecewiseBilinear.h:70