- K_derivativeThe coefficient multiplying the derivative term
C++ Type:double
Controllable:No
Description:The coefficient multiplying the derivative term
- K_integralThe coefficient multiplying the integral term
C++ Type:double
Controllable:No
Description:The coefficient multiplying the integral term
- K_proportionalThe coefficient multiplying the difference term
C++ Type:double
Controllable:No
Description:The coefficient multiplying the difference term
- postprocessorThe postprocessor to watch for controlling the specified parameter.
C++ Type:PostprocessorName
Controllable:No
Description:The postprocessor to watch for controlling the specified parameter.
- targetThe target value 1D time function for the postprocessor
C++ Type:FunctionName
Controllable:No
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>
Controllable:No
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, MULTIAPP_FIXED_POINT_END, MULTIAPP_FIXED_POINT_BEGIN, FINAL, CUSTOM, ALWAYS.
Default:INITIAL TIMESTEP_END
C++ Type:ExecFlagEnum
Controllable:No
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, MULTIAPP_FIXED_POINT_END, MULTIAPP_FIXED_POINT_BEGIN, FINAL, CUSTOM, ALWAYS.
- 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
Controllable:No
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
Controllable:No
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
Controllable:No
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
Controllable:No
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
Controllable:No
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
Controllable:No
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>
Controllable:No
Description:Adds user-defined labels for accessing object parameters via control logic.
- enableTrueSet the enabled status of the MooseObject.
Default:True
C++ Type:bool
Controllable:No
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
Controllable:No
Description:Determines whether this object is calculated using an implicit or explicit form