Skip to content

Run me_cs FMUs with OMSimulator CS CVODE and Euler too - #379

Merged
sjoelund merged 1 commit into
masterfrom
fmi-me-cs-solvers
Oct 30, 2026
Merged

sjoelund merged 1 commit into
masterfrom
fmi-me-cs-solvers

Conversation

@sjoelund

Copy link
Copy Markdown
Member

The FMI job builds every FMU once as me_cs and simulates it four ways: OMSimulator and FMPy through Model Exchange as before, and OMSimulator through Co-Simulation with CVODE and with Euler, filling -fmi-cs-cvode and -fmi-cs-euler.

The C runtime reads its Co-Simulation solver from
resources/_flags.json when the FMU is instantiated, so switching solver needs no new build: an entry of fmi-simulators.json with fmiFlags runs a copy of the FMU whose flags file holds those flags. Asking for s:cvode in any entry builds the FMU with --fmiFlags=s:cvode, which is what links CVODE into it. Neither OMSimulator nor FMPy can be given an extracted FMU directory instead, OMSimulator always unzips it itself.

An entry's interface is passed as OMSimulator --mode only for an me_cs FMU: OMSimulator defaults to Co-Simulation for those, and refuses --mode for an FMU exporting one interface, which the cs-fmu-cvode jobs build.

Assisted-by: Claude Opus 5.5

The FMI job builds every FMU once as me_cs and simulates it four ways:
OMSimulator and FMPy through Model Exchange as before, and OMSimulator
through Co-Simulation with CVODE and with Euler, filling
<branch>-fmi-cs-cvode and <branch>-fmi-cs-euler.

The C runtime reads its Co-Simulation solver from
resources/<prefix>_flags.json when the FMU is instantiated, so switching
solver needs no new build: an entry of fmi-simulators.json with fmiFlags
runs a copy of the FMU whose flags file holds those flags. Asking for
s:cvode in any entry builds the FMU with --fmiFlags=s:cvode, which is
what links CVODE into it. Neither OMSimulator nor FMPy can be given an
extracted FMU directory instead, OMSimulator always unzips it itself.

An entry's interface is passed as OMSimulator --mode only for an me_cs
FMU: OMSimulator defaults to Co-Simulation for those, and refuses --mode
for an FMU exporting one interface, which the cs-fmu-cvode jobs build.

Assisted-by: Claude Opus 5.5
@sjoelund
sjoelund enabled auto-merge (squash) October 30, 2026 14:20
@sjoelund
sjoelund merged commit 2451bb2 into master Oct 30, 2026
7 checks passed
@sjoelund
sjoelund deleted the fmi-me-cs-solvers branch October 30, 2026 14:39
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