Merged
Conversation
Flotherm uses the same driver.launch()/run()/disconnect() interface as MATLAB and COMSOL, but was missing from the server's solver whitelist, causing "no launch path for solver: flotherm" on connect. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Contributor
Author
|
Fixes #8 |
Contributor
Author
Test results (manual, win1 + Flotherm 2504)
All three test plan items pass. |
Every other driver kills its solver process on disconnect. Flotherm defaulted to False, leaving orphaned floserv.exe processes. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
floserv.exe is a child process spawned by flotherm.exe internally. Killing only the parent left floserv orphaned. Now disconnect kills floserv by stored PID first, then the parent flotherm.exe process. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Flotherm spawns three processes: flotherm.exe, floserv.exe, and floview.exe. Previous fix only killed floserv and flotherm, leaving the floview GUI window orphaned. Now uses taskkill to clean up all three. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
xupeiwust
pushed a commit
to xupeiwust/sim-cli
that referenced
this pull request
Apr 24, 2026
Parallel to fluent but with COMSOL-specific probe composition:
- _default_comsol_probes(enable_gui=) with _COMSOL_STDERR_RULES
(JVM [ERROR]/[WARN], com.comsol.util.exceptions.FlException etc.)
- _default_comsol_readers(): Java-API-style SDK attr readers
(model.physics.count, model.study.count, model.material.count,
model.hist) — uses SdkAttributeProbe's new readers= mode since
COMSOL's Model API is not a getattr-chain
- _COMSOL_EXC_MAP_RULES for DomainExceptionMapProbe:
python.AttributeError "has no attr 'feature'" on ModelClient →
comsol.sdk.method_not_found
python.Exception "Java Exception" → comsol.java.fl_exception
python.Exception "Failed to find a solution" → comsol.solve.failed
- ComsolDriver.run(code, label, timeout_s=) mirrors Fluent's wiring:
snapshot workdir_before, call_with_timeout, build InspectCtx,
collect_diagnostics → record["diagnostics"], record["artifacts"]
- svd-ai-lab#6 TUI + svd-ai-lab#7 log-file intentionally NOT wired — COMSOL session has
no TUI concept, no per-session transcript (global %USERPROFILE%
\.comsol\log is too noisy). Phase 3 may revisit.
L2 tests (test_comsol_run_wires_probes.py): 5 tests, mock MPh Model,
verify run() contract + channel 1/4 light-up + Python error surfacing
+ timeout path + preserved keys.
L3 integration (integration_comsol_agent_dialogue.py): 7-turn trace
against real heating_circuit.mph, per-channel hit report. Verified:
8/9 channels light up (svd-ai-lab#2 stderr + svd-ai-lab#6 TUI + svd-ai-lab#7 log structurally
dark per PLAN §九-channel matrix).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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
"flotherm"to the solver whitelist in/connect,/exec, and/disconnectendpointsdriver.launch()/run()/disconnect()interface as MATLAB and COMSOL but was missing from the server, causing"no launch path for solver: flotherm"on connectFollow-up
DriverProtocoluniformly (tracked in playbook)ui_mode="no_gui"since it requires a GUI processTest plan
sim --host <win1> connect --solver flothermsucceeds with GUI modesim --host <win1> execroutes through driver.run()sim --host <win1> disconnecttears down cleanly🤖 Generated with Claude Code