Conversation
triet228
added this pull request to stack #89
September 16, 2026 22:10
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.
Closes #85
TSE connections and sizing
ProcessPropArch keeps every propeller directly connected to an engine, so PropAnalysis sums their thrust demands. It also propagates each propeller demand through every upstream path when computing engine hybrid coefficients; a direct engine no longer hides one reached through a cable.
FAST/+PropulsionPkg/ProcessPropArch.m
Lines 78 to 101 in 776764e
FAST/+PropulsionPkg/PropAnalysis.m
Lines 489 to 499 in 776764e
The sizing loop uses the current engine's motor supplement and its actual graph index when locating its fan. This supports engines interleaved with other transmitters.
FAST/+PropulsionPkg/PropulsionSizing.m
Line 198 in 776764e
FAST/+PropulsionPkg/PropulsionSizing.m
Line 210 in 776764e
Motor supplement accounting
For a parallel target, motor credit comes from target demand and its downstream motor share. This avoids counting full motor input at each target or applying the split twice. Fan efficiency applies only to fan targets. When engines share a target, credit follows their downstream shares.
FAST/+PropulsionPkg/PowerSupplementCheck.m
Lines 101 to 128 in 776764e
Independent parallel targets
RecomputeSplits determines each target's downstream shares from power delivered over its incoming edges. Separate targets can share an engine without being forced into one helper group. It checks that operational split parameters can represent those shares.
FAST/+PropulsionPkg/RecomputeSplits.m
Lines 71 to 129 in 776764e
Validation
PropulsionPkg.TestEngineMotorRegressions() passes all 33 checks, including parameterized 3-, 5-, and 8-TSE connection, motor-credit, interleaved-sizing, and mixed-depth-path cases.
FAST/+PropulsionPkg/TestEngineMotorRegressions.m
Line 1 in 2ab5b74