Tempus: Add Stepper Initial Conditions
Created by: ccober6
Adding a Stepper initial conditions has several benefits:
- Ensure that the initial SolutionState is consistent, i.e., x, xDot, and xDotDot satisfy the governing equation at the initial time.
- Currently explicit Steppers are not consistent until the next time step fills in the currentState. This change will make the SolutionState consistent within the time step.
- For explicit Steppers with a consistent SolutionState, the residual can be determined and compared to residuals from implicit Steppers. This is SPARC's main driver for this change.
- For DAEs, making the initial condition consistent is critical to obtain the correct solution.
- Changes for this issue should not effect solutions.
Definition of Done
First convert Forward Euler.
Convert all other explicit Steppers, ERK, Leapfrog, ...
Convert all implicit Steppers
Passes all tests.