Skip to content

PIDTransientControl can be hard to use with recovery #31842

@jthano

Description

@jthano

Motivation

If PIDTransientControl is executing on timestep_end, it is hard or maybe impossible to make it work with recovery. In a normal simulation, if PIDTransientControl is executed on timestep_end, then that control value would be in the controlled object at the start of the next timestep. But if a simulation is recovered, currently PIDTransientControl does nothing to initialize the controlled parameter to the recovered value and so when the simulation is restarted using --recover, the initial parameter value will be used instead of the recovered value. Maybe the workaround would be to always use timestep_begin, but it would be better if timestep_end was supported.

Design

Add an override of initialSetup and have this initialize the controlled object when doing a recover.

Impact

Seems like PIDTransientControl can't be made to work properly with recovery if it was executing on timestep_end in a simulation

Metadata

Metadata

Assignees

No one assigned

    Labels

    T: taskAn enhancement to the software.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions