Line data Source code
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 "SetValueChainControl.h" 11 : #include "MooseUtils.h" 12 : 13 : registerMooseObject("MooseApp", SetRealValueChainControl); 14 : registerMooseObject("MooseApp", SetBoolValueChainControl); 15 : 16 : template <typename T> 17 : InputParameters 18 28582 : SetValueChainControlTempl<T>::validParams() 19 : { 20 28582 : InputParameters params = ChainControl::validParams(); 21 28582 : params.addRequiredParam<std::string>("parameter", "Parameter(s) to control"); 22 28582 : params.addRequiredParam<std::string>("value", 23 : "Control data to use for the value of the parameter(s)"); 24 28582 : const std::string type_str = MooseUtils::prettyCppType<T>(); 25 28582 : params.addClassDescription("Sets parameter(s) of type '" + type_str + 26 : "' to a control data value of type '" + type_str + "'."); 27 57164 : return params; 28 28582 : } 29 : 30 : template <typename T> 31 26 : SetValueChainControlTempl<T>::SetValueChainControlTempl(const InputParameters & parameters) 32 26 : : ChainControl(parameters), _value(getChainControlData<T>("value")) 33 : { 34 26 : } 35 : 36 : template <typename T> 37 : void 38 98 : SetValueChainControlTempl<T>::execute() 39 : { 40 98 : setControllableValue<T>("parameter", _value); 41 98 : }