https://mooseframework.inl.gov
Loading...
Searching...
No Matches
TimeRampFunction.C
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#include "TimeRampFunction.h"
11
12registerMooseObject("ThermalHydraulicsApp", TimeRampFunction);
13
16{
18
19 params.addRequiredParam<Real>("initial_value", "Initial value");
20 params.addRequiredParam<Real>("final_value", "Final value");
21 params.addRequiredParam<Real>("ramp_duration", "Duration, in seconds, of the ramp");
22 params.addParam<Real>("initial_time", 0, "Initial time (necessary if not equal to zero)");
23
24 params.addClassDescription("Ramps up to a value from another value over time.");
25
26 return params;
27}
28
30 : Function(parameters),
31
32 _initial_value(getParam<Real>("initial_value")),
33 _final_value(getParam<Real>("final_value")),
34 _ramp_duration(getParam<Real>("ramp_duration")),
35 _initial_time(getParam<Real>("initial_time")),
36
37 _ramp_end_time(_initial_time + _ramp_duration),
38 _ramp_slope((_final_value - _initial_value) / _ramp_duration)
39{
40}
41
42Real
43TimeRampFunction::value(Real t, const Point & /*p*/) const
44{
45 const Real elapsed_time = t - _initial_time;
46
47 if (t < _initial_time)
48 return _initial_value;
49 else if (t > _ramp_end_time)
50 return _final_value;
51 else
52 return _initial_value + _ramp_slope * elapsed_time;
53}
54
55RealVectorValue
56TimeRampFunction::gradient(Real /*t*/, const Point & /*p*/) const
57{
58 mooseError("TimeRampFunction::gradient() is not implemented!");
59}
registerMooseObject("ThermalHydraulicsApp", TimeRampFunction)
static InputParameters validParams()
void addRequiredParam(const std::string &name, const std::string &doc_string)
void addParam(const std::string &name, const std::initializer_list< typename T::value_type > &value, const std::string &doc_string)
void addClassDescription(const std::string &doc_string)
void mooseError(Args &&... args) const
Ramps up to a value from another value over time.
const Real _ramp_end_time
Ramp end time.
virtual RealVectorValue gradient(Real t, const Point &p) const
TimeRampFunction(const InputParameters &parameters)
const Real _ramp_slope
Ramp slope.
static InputParameters validParams()
const Real & _initial_value
Initial value.
virtual Real value(Real t, const Point &p) const
const Real & _initial_time
Initial time.
const Real & _final_value
Final value.