108 bool apply_object_prefix =
true)
const;
120 template <
typename T>
129 template <
typename T>
133 return getChainControlDataByName<T>(getParam<std::string>(param));
136 template <
typename T>
140 return getChainControlDataOldByName<T>(getParam<std::string>(param));
143 template <
typename T>
149 if (system.hasChainControlData(data_name) && !system.hasChainControlDataOfType<T>(data_name))
153 system.getChainControlDataMap().at(data_name)->type(),
154 "', but this chain control requires its type to be '",
155 MooseUtils::prettyCppType<T>(),
158 auto & data = system.getChainControlData<T>(data_name);
165 template <
typename T>
171 return data.getOld();
std::string fullControlDataName(const std::string &data_name, bool apply_object_prefix=true) const
Gets the full control data name, including object name prefix (if any)
const T & getChainControlData(const std::string ¶m)
Get a reference to control data that are specified in the input parameter 'param_name'.
ChainControlDataSystem & getChainControlDataSystem()
Retrieve the chain control data system from the MooseApp.
ChainControlData< T > & declareChainControlData(const std::string &data_name, ChainControl &chain_control)
Declares chain control data of of the given name and type and creates if it does not exist...
ChainControl(const InputParameters ¶meters)
ChainControlData< T > & getChainControlData(const std::string &data_name)
Gets the chain control data of the given name and type and creates if it does not exist...
const T & getChainControlDataOldByName(const std::string &data_name)
Get a reference to control data value from previous time step that is specified by 'data_name' name...
static InputParameters validParams()
std::vector< std::string > _control_data_depends_on
List of chain control data that this control depends upon.
virtual void init()
Initialization that occurs in ChainControlSetupAction, right before the dependencies are added...
const T & getChainControlDataByName(const std::string &data_name)
Get a reference to control data that are specified by 'data_name' name.
Base class for Control objects.
const std::vector< std::string > & getChainControlDataDependencies() const
Returns the ChainControls that must run before this one.
System that manages ChainControls.
void addChainControlDataDependency(const std::string &data_name)
Adds a chain control data dependency into the list.
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type.
const InputParameters & parameters() const
Get the parameters of the object.
T & declareChainControlData(const std::string &data_name, bool apply_object_prefix=true)
Declares chain control data with the given name and type.
const T & getChainControlDataOld(const std::string ¶m)
Get a reference to control data value from a previous time step that is specified in the input parame...
Control that additionally provides the capability to produce/consume data values, to allow control op...