Skip to content

fix(analyses): review follow-ups — SEP power cap, derived missed-thrust inputs, flyby turn geometry, one clock per state-space run - #33

Draft
devin-ai-integration[bot] wants to merge 1 commit into
developfrom
fix/analyses-review
Draft

devin-ai-integration[bot] wants to merge 1 commit into
developfrom
fix/analyses-review

Conversation

@devin-ai-integration

Copy link
Copy Markdown
Contributor

Summary

Follow-up to #7, fixing the four review findings on the analysis packages. Owned files only (model/71, model/72, model/probes/, docs/coverage/WP-F.md, docs/findings/WP-F.md, WP-F lines of scripts/runs.sh, their runs).

  • ArrayPowerTrade scored unusable power. PowerAvailableToSep now takes maximumSepPowerW and returns RealFunctions::min(array power at aphelion − housekeeping, maximumSepPowerW); the trade passes argent.sep.maximumPower. 48 kW and 70 kW both saturate the 40 kW SEP, so 70 kW now scores 2234 d (was 1860) and never wins a sweep; array48kW stays selected.
  • MissedThrustDispersion carried typed constants. thrustDays default = transferNominal.totalThrustDays and nonThrustDays default = tethys.nominalDuration / 1 [d] − transferNominal.thrustDayAllowance (1134.12 / 270), so the dispersion follows the transfer analysis when the SEP or target changes.
  • InsertionDispersion passed falsely at high v∞. The collinear subtraction approach − flybyΔv − escape is replaced by the turn geometry: FlybyTurnCosine (cos δ from sin(δ/2) = 1/(1 + r v²/GM)) and departureSpeed = √(v_moon² + v_rel² + 2 v_moon v_rel cos δ); the reserve pays max(departureSpeed − escape, 0). At v∞ 1.49 km/s the sample now needs 45 m/s against a 23 m/s reserve (not satisfied); below ~1.4 km/s nothing moves. FlybyDeltaV is removed (no other caller).
  • Thirty-day thrust arc recorded 29 days — a tool defect, F-F07. Two -actions in one invocation share the clock: the second starts at the first's end time and the stop test time + timeStep > stopTime drops its last step (or all of them in the other order). Probe model/probes/F-F07-shared-clock-stop-time.sysml (one-state counter, expected values in its header; runs/probe-F-F07*.txt); droRevolutionRk4 and firstThrustArcRk4 are recorded in separate run lines (tooling-dynamics-dro.txt, tooling-dynamics-thrust-arc.txt), and the arc now ends at time = 2592000 [s], mass 12433.35 kg.

Behaviour changes in runs/

trades.txt, trades-sweep.txt (70 kW score), montecarlo-missed-thrust.txt (1134.12 instead of 1134.0), montecarlo-insertion.txt (one sample flips to not satisfied), house-rules.txt (+4 elements), tooling-dynamics*.txt split. Recorded with OpenSysML from source at develop 0a5fa2d94 (v0.10.1-2054), the pin of the existing runs; make check green locally. Draft until the check workflow is green.

Link to Devin session: https://nasa-jpl-demo.devinenterprise.com/sessions/27490588e02041169fc91b2cf563f6b6
Open in Devin Desktop: https://nasa-jpl-demo.devinenterprise.com/desktop/session/27490588e02041169fc91b2cf563f6b6?variant=devin
Requested by: @HuiJun

…sed-thrust inputs, turn the flyby velocity, one clock per state-space run

- ArrayPowerTrade: PowerAvailableToSep takes the SEP's maximum power and caps the
  power scored as thrust, so wings beyond 40 kW buy mass and cost, not days.
- MissedThrustDispersion: thrustDays and nonThrustDays are derived from
  transferNominal and the nominal duration instead of typed constants.
- InsertionDispersion: the lunar flyby turns the Moon-relative velocity by the
  angle its periapsis allows (FlybyTurnCosine) and the departure speed is the
  vector sum; the collinear subtraction passed falsely above v-inf 1.4 km/s.
- Record droRevolutionRk4 and firstThrustArcRk4 in separate invocations: two
  -action runs share one clock and the second lost its last step (F-F07, probe
  model/probes/F-F07-shared-clock-stop-time.sysml).

Co-Authored-By: jason.han <hanhuijun@gmail.com>
@devin-ai-integration

Copy link
Copy Markdown
Contributor Author

I'll fix CI failures and address comments from users with write access. I'll skip comments containing "(aside)".

  • Disable automatic comment, CI, and merge conflict monitoring

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant