|
Tempus Version of the Day
Time Integration
|
This example introduces Tempus::SolutionHistory, which manages multiple Tempus::SolutionState objects during time integration. The van der Pol model is still provided through a Thyra::ModelEvaluator, and the Forward Euler update is still written explicitly in the application code, but the evolving solution is now organized through a history object rather than a single state.
The main purpose of this step is to move from managing one solution state at a time to managing a sequence of states through a core Tempus container.
Relative to Example 3: Introduce SolutionState:
The central idea behind Tempus::SolutionHistory is that time integration algorithms often need access to more than one solution state. A history object provides a structured way to manage the current state, tentative working states, and previously accepted states in support of stepping algorithms, interpolation, restart, and error recovery.
This example uses only part of the full Tempus::SolutionHistory capability:
initWorkingState()promoteWorkingState()For additional details, see SolutionHistory_Description.