https://mooseframework.inl.gov
Loading...
Searching...
No Matches
PiecewiseMulticonstant.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
13
14// Forward declarations
15class GriddedData;
16
25{
26public:
28
30
32 virtual ADReal value(const ADReal & t, const ADPoint & p) const override;
33
34 virtual RealGradient gradient(Real t, const Point & p) const override;
35 virtual Real timeDerivative(Real t, const Point & p) const override;
36
37protected:
39 virtual Real sample(const GridPoint & pt) const override;
40
41private:
44};
DualNumber< Real, DNDerivativeType, true > ADReal
Container for holding a function defined on a grid of arbitrary dimension.
Definition GriddedData.h:33
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system.
const InputParameters & parameters() const
Get the parameters of the object.
Definition MooseBase.h:131
This is a "smart" enum class intended to replace many of the shortcomings in the C++ enum type.
Uses GriddedData to define data on a grid, and does linear interpolation on that data to provide func...
virtual Real value(Real t, const Point &pt) const override
Given t and p, return the interpolated value.
virtual Real sample(const GridPoint &pt) const =0
This does the core work.
Uses GriddedData to define data on a grid, and does linear interpolation on that data to provide func...
MultiMooseEnum _direction
direction where to look for value if interpolation order is constant
virtual Real timeDerivative(Real t, const Point &p) const override
Get the time derivative of the function.
virtual ADReal value(const ADReal &t, const ADPoint &p) const override
Override this to evaluate the scalar function at point (t,x,y,z), using dual numbers by default this ...
static InputParameters validParams()
virtual Real sample(const GridPoint &pt) const override
This does the core work.
virtual RealGradient gradient(Real t, const Point &p) const override
Function objects can optionally provide a gradient at a point.