PIDControl

Declares a control data named 'output' and uses Proportional Integral Derivative logic on the 'value' control data to set it.

The reference or target value is set by the "set_point" parameter ControlData. The value of the output data is set by:

where , and are the proportional, integral and derivative constant parameters of the PID logic, the set point and the value are user-selected ControlData.

commentnote

To control a controllable value directly instead of a ControlData, use the PIDTransientControl

Input Parameters

  • K_dThe coefficient for the derivative term.

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:The coefficient for the derivative term.

  • K_iThe coefficient for the integral term.

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:The coefficient for the integral term.

  • K_pThe coefficient for the proportional term.

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:The coefficient for the proportional term.

  • initial_valueThe initial value for the integral part.

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:The initial value for the integral part.

  • inputThe name of the control data that we read in.

    C++ Type:std::string

    Unit:(no unit assumed)

    Controllable:No

    Description:The name of the control data that we read in.

  • set_pointThe name of the control data with the set point.

    C++ Type:std::string

    Unit:(no unit assumed)

    Controllable:No

    Description:The name of the control data with the set point.

Required Parameters

  • depends_onThe Controls that this control relies upon (i.e. must execute before this one)

    C++ Type:std::vector<std::string>

    Unit:(no unit assumed)

    Controllable:No

    Description:The Controls that this control relies upon (i.e. must execute before this one)

Optional Parameters

  • control_tagsAdds user-defined labels for accessing object parameters via control logic.

    C++ Type:std::vector<std::string>

    Unit:(no unit assumed)

    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

    Unit:(no unit assumed)

    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

    Unit:(no unit assumed)

    Controllable:No

    Description:Determines whether this object is calculated using an implicit or explicit form

Advanced Parameters