www.mooseframework.org
FunctionScalarIC.C
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 #include "FunctionScalarIC.h"
11 
12 // MOOSE includes
13 #include "Function.h"
14 #include "MooseVariableScalar.h"
15 
17 
19 
22 {
24  params.addRequiredParam<std::vector<FunctionName>>("function", "The initial condition function.");
25  return params;
26 }
27 
29  : ScalarInitialCondition(parameters), _ncomp(_var.order())
30 {
31  std::vector<FunctionName> funcs = getParam<std::vector<FunctionName>>("function");
32  if (funcs.size() != _ncomp)
33  mooseError("number of functions must be equal to the scalar variable order");
34 
35  for (const auto & func_name : funcs)
36  _func.push_back(&getFunctionByName(func_name));
37 }
38 
39 Real
41 {
42  return _func[_i]->value(_t, _point_zero);
43 }
FunctionScalarIC::value
virtual Real value() override
The value of the variable.
Definition: FunctionScalarIC.C:40
MooseObject::mooseError
void mooseError(Args &&... args) const
Definition: MooseObject.h:141
ScalarCoupleable::_point_zero
const Point & _point_zero
Zero point.
Definition: ScalarCoupleable.h:232
FunctionInterface::getFunctionByName
const Function & getFunctionByName(const FunctionName &name) const
Get a function with a given name.
Definition: FunctionInterface.C:37
defineLegacyParams
defineLegacyParams(FunctionScalarIC)
FunctionScalarIC::_func
std::vector< const Function * > _func
Definition: FunctionScalarIC.h:32
InputParameters
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system.
Definition: InputParameters.h:53
ScalarInitialCondition::validParams
static InputParameters validParams()
Definition: ScalarInitialCondition.C:18
MooseVariableScalar.h
FunctionScalarIC::FunctionScalarIC
FunctionScalarIC(const InputParameters &parameters)
Definition: FunctionScalarIC.C:28
ScalarInitialCondition::_i
unsigned int _i
Definition: ScalarInitialCondition.h:93
registerMooseObject
registerMooseObject("MooseApp", FunctionScalarIC)
ScalarInitialCondition
InitialConditions are objects that set the initial value of variables.
Definition: ScalarInitialCondition.h:37
FunctionScalarIC::_ncomp
unsigned int _ncomp
Definition: FunctionScalarIC.h:31
ScalarInitialCondition::_t
Real & _t
Time.
Definition: ScalarInitialCondition.h:88
FunctionScalarIC
Definition: FunctionScalarIC.h:21
Function.h
InputParameters::addRequiredParam
void addRequiredParam(const std::string &name, const std::string &doc_string)
This method adds a parameter and documentation string to the InputParameters object that will be extr...
Definition: InputParameters.h:1176
FunctionScalarIC.h
FunctionScalarIC::validParams
static InputParameters validParams()
Definition: FunctionScalarIC.C:21