- K_derivativeThe coefficient multiplying the derivative term
C++ Type:double
Description:The coefficient multiplying the derivative term
- K_integralThe coefficient multiplying the integral term
C++ Type:double
Description:The coefficient multiplying the integral term
- K_proportionalThe coefficient multiplying the difference term
C++ Type:double
Description:The coefficient multiplying the difference term
- postprocessorThe postprocessor to watch for controlling the specified parameter.
C++ Type:PostprocessorName
Description:The postprocessor to watch for controlling the specified parameter.
- targetThe target value 1D time function for the postprocessor
C++ Type:FunctionName
Description:The target value 1D time function for the postprocessor
PIDTransientControl
The PIDTransientControl
object is designed to use the principle of Proportional Integral Derivative control to either: - control a "Real" parameter from the input file rather than use the constant value specified in the input file.
modify the value of a postprocessor, used in a PostprocessorDirichletBC for example, rather than use the computed/received value
This allows a simple 1D parametric optimization to make the output of a postprocessor match the target
value.
The parameter is replaced at every time step , at time , by:
with the value at time of the postprocessor that we are trying to match to the value and the coefficients for the integral error, current error, and backward derivative respectively.
Input Parameters
- depends_onThe Controls that this control relies upon (i.e. must execute before this one)
C++ Type:std::vector<std::string>
Description:The Controls that this control relies upon (i.e. must execute before this one)
- execute_onINITIAL TIMESTEP_ENDThe list of flag(s) indicating when this object should be executed, the available options include NONE, INITIAL, LINEAR, NONLINEAR, TIMESTEP_END, TIMESTEP_BEGIN, FINAL, CUSTOM.
Default:INITIAL TIMESTEP_END
C++ Type:ExecFlagEnum
Description:The list of flag(s) indicating when this object should be executed, the available options include NONE, INITIAL, LINEAR, NONLINEAR, TIMESTEP_END, TIMESTEP_BEGIN, FINAL, CUSTOM.
- parameterThe input parameter(s) to control. Specify a single parameter name and all parameters in all objects matching the name will be updated
C++ Type:std::string
Description:The input parameter(s) to control. Specify a single parameter name and all parameters in all objects matching the name will be updated
- parameter_ppThe postprocessor to control. Should be accessed by reference by the objects depending on its value.
C++ Type:std::string
Description:The postprocessor to control. Should be accessed by reference by the objects depending on its value.
- reset_every_timestepFalseReset the PID integral when changing timestep, for coupling iterations within a timestep
Default:False
C++ Type:bool
Description:Reset the PID integral when changing timestep, for coupling iterations within a timestep
- reset_integral_windupTrueReset the PID integral when the error crosses zero and the integral is larger than the error.
Default:True
C++ Type:bool
Description:Reset the PID integral when the error crosses zero and the integral is larger than the error.
- start_time-1.79769e+308The time to start the PID controller at
Default:-1.79769e+308
C++ Type:double
Description:The time to start the PID controller at
- stop_time1.79769e+308The time to stop the PID controller at
Default:1.79769e+308
C++ Type:double
Description:The time to stop the PID controller at
Optional Parameters
- control_tagsAdds user-defined labels for accessing object parameters via control logic.
C++ Type:std::vector<std::string>
Description:Adds user-defined labels for accessing object parameters via control logic.
- enableTrueSet the enabled status of the MooseObject.
Default:True
C++ Type:bool
Description:Set the enabled status of the MooseObject.
- implicitTrueDetermines whether this object is calculated using an implicit or explicit form
Default:True
C++ Type:bool
Description:Determines whether this object is calculated using an implicit or explicit form