Skip to content

Conversation

EttoreZ
Copy link
Contributor

@EttoreZ EttoreZ commented Oct 9, 2025

This PR refers to various issues #422, #526, #791, and #800 is meant to:

  1. Update (BESTEST Air, BESTEST Hydronic, BESTEST Hydronic Heat Pump, Single Zone Commercial Hydronic
    Two Zone Apartment Hydronic, Multizone Residential Hydronic, Multizone Office Simple Air Modelica Models) cases to Modelica 4.0 and newer version of the libraries.
  2. Update test cases FMUs to Dymola FMUs using the latest models.
  3. Add the possibility to compile test cases with OpenModelica.
  4. Streamline compilation OpenModelica using Docker containers inheriting from worker container to ensure FMUs are compiled in running enviroment.
  5. Update unit tests to remove JModelica compilation and add OpenModelica for some test cases.

Below is reported a list to dos to finalize this PR:

Test cases update

  • Update test cases Modelica code to Modelica 4.0.
  • Update test cases utility files (compile_fmu.py, library_version.json, etc..).
    • compile_fmu.py
    • library_version.json
  • Export FMUs using Dymola.
  • Compare scenarios results with previous models.
  • Compare scenarios results with OpenModelica and Dymola.

Compilation toolchain

  • Remove JModelica from compilation options (Dockerfile, Makefile).
  • Create Dockerfile for OpenModelica.
  • Update makefile compilation commands to execute with Dymola.
  • Update makefile compilation commands to execute with OpenModelica.
  • Test compilation functionality with all test cases with Dymola.
  • Test compilation functionality with all test cases with OpenModelica.

Unit test update

  • Update makefile to remove compilation for most test cases, only keep example with OpenModelica.
  • Update all unit tests results.

Misc

  • compile_fmu.py tool argument in parser.export_fmu(tool) should be made into a input argument to allow flexibility in the makefile.
  • OpenModelica does not support break statements (in theory by the end of 2025). IDEAS uses them and breaks compilation (also with Ubuntu 20.0, current worker OS, we can use up to OM 1.21). Workaround is to use custom branch for compilation for now.

@EttoreZ EttoreZ requested a review from dhblum October 9, 2025 05:04
@EttoreZ EttoreZ self-assigned this Oct 9, 2025
@dhblum
Copy link
Collaborator

dhblum commented Oct 9, 2025

Thanks @EttoreZ! I'll review in time. In the meantime, can you make a new Issue for 4. and also reference it in this PR? It'll make it easier to track that new feature in the future.

@EttoreZ
Copy link
Contributor Author

EttoreZ commented Oct 9, 2025

Thanks @EttoreZ! I'll review in time. In the meantime, can you make a new Issue for 4. and also reference it in this PR? It'll make it easier to track that new feature in the future.

I added Issue #800 for point 4.

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants