centralize projection from zero-based time-iteration labels to physical solver time
evaluate direct dual-time target states at (TimeIter + 1) * deltaT
use the projected time for grid and surface motion, gusts, solver globals, and history output
preserve zero-based output/restart labels and existing adjoint and harmonic-balance interpretations
add configuration and first-step rigid-motion regression coverage
Why
In implicit dual-time schemes, TimeIter is a zero-based artifact/restart label, while the state being solved represents the end of that physical step. Several consumers reconstructed physical time directly as TimeIter * deltaT, causing the first implicit state to use time zero for time-varying motion and forcing terms.
This separates artifact identity from target-state time without renumbering restart or output files.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changed
Why
In implicit dual-time schemes, TimeIter is a zero-based artifact/restart label, while the state being solved represents the end of that physical step. Several consumers reconstructed physical time directly as TimeIter * deltaT, causing the first implicit state to use time zero for time-varying motion and forcing terms.
This separates artifact identity from target-state time without renumbering restart or output files.
Related to #2353.
Validation
The full SU2 regression matrix and complete adjoint regression suites were not run.