https://mooseframework.inl.gov
CosineTransitionFunction.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 
11 
12 registerMooseObject("ThermalHydraulicsApp", CosineTransitionFunction);
13 
16 {
18 
19  params.addClassDescription(
20  "Computes a cosine transtition of a user-specified width between two values");
21 
22  return params;
23 }
24 
26  : SmoothTransitionFunction(parameters),
27 
28  _transition(_x_center, _transition_width)
29 {
30 }
31 
32 Real
33 CosineTransitionFunction::value(Real t, const Point & p) const
34 {
35  const Real x = _use_time ? t : p(_component);
36 
37  return _transition.value(x, _function1.value(t, p), _function2.value(t, p));
38 }
39 
41 CosineTransitionFunction::gradient(Real /*t*/, const Point & /*p*/) const
42 {
43  mooseError(name(), ": ", __PRETTY_FUNCTION__, " is not implemented.");
44 }
static InputParameters validParams()
const Function & _function1
First function.
virtual Real value(const Real &x, const Real &f1, const Real &f2) const override
Computes the transition value.
virtual RealVectorValue gradient(Real t, const Point &p) const
virtual Real value(Real t, const Point &p) const
Base class for functions to smoothly transition from one function to another.
const Function & _function2
Second function.
CosineTransitionFunction(const InputParameters &parameters)
Computes a cosine transtition of a user-specified width between two values.
virtual const std::string & name() const
const WeightedTransition _transition
Transition object.
const std::vector< double > x
registerMooseObject("ThermalHydraulicsApp", CosineTransitionFunction)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
static InputParameters validParams()
const bool _use_time
Use the time axis for transition?
const unsigned int _component
Component index of axis on which transition occurs.
void mooseError(Args &&... args) const
void addClassDescription(const std::string &doc_string)
virtual Real value(Real t, const Point &p) const