Merged
Conversation
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
Fixes #57 by restoring backward-compatible frozen rocket failure behavior for non-converging rocket problems that should still emit partial output. This updates the modern solver/output path to retain completed stations, stop at the same points as the reproduced legacy cases, and emit the same warning after partial output instead of producing an empty file or crashing.
Changes
source/rocket.f90so partial-stop cases retain the last valid station set and return a usable partialRocketSolution.status_code,warning_code,last_completed_idx) so output handling can distinguish full convergence from valid partial failure states.source/main.f90rocket output handling to:source/equilibrium.f90so difficult chamber solves can retain a usable reduced-component state instead of falling back to an unusable seed in the reproduced rocket failure path.source/rocket_test.pffor the associated frozen rocket failure cases.Testing
./build-dev/source/cea_core_testCompatibility / Numerical behavior
The intended numerical/output behavior changes are limited to the reproduced frozen rocket failure paths. These cases now stop at the legacy-compatible point, retain valid upstream stations, and emit partial output plus the warning instead of producing no output, invalid extra stations, or crashing. Converged cases were validated with the existing core test suite, and the reproduced failure cases were validated by comparing the generated partial outputs against the legacy reference behavior.