Skip to content

[WIP] Tempus: Step control strategy

James Willenbring requested to merge sconde:step-control-strategy into develop

Created by: sconde

@trilinos/tempus

Description

This is my attempt at defining the step control strategy.

TimeStepControl will call the stepControlStrategy_'s getNextTimeStep method, which can be a composite of strategies (such as @ikalash's BDF2 step control, ramping, time scale, I controller, PI Controller, etc). The implementation of these strategies (and new ones) will be application dependent. This cleans up TimeStepControl.

Also, this will prevent code duplication and minimizes tests from failing if/when TimeStepControl should change in the future (at least in Drekar).

NOTE This is just an idea. The code is certainly not ready to be merge yet. If we decide to adopt this idea, I will go ahead and clean up and add a setStepControlStrategy method to TimeStepControl. This will allow applications to add strategies or override stepControlStrategy_ altogether. Like it is done with integrator observer (for output)

Motivation and Context

Related Issues

  • Closes
  • Blocks
  • Is blocked by
  • Follows
  • Precedes
  • Related to
  • Part of
  • Composed of

How Has This Been Tested?

Screenshots

Checklist

  • My commit messages mention the appropriate GitHub issue numbers.
  • My code follows the code style of the affected package(s).
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have read the code contribution guidelines for this project.
  • I have added tests to cover my changes.
  • All new and existing tests passed.
  • No new compiler warnings were introduced.
  • These changes break backwards compatibility.

Additional Information

Merge request reports