Skip to content

Update test cases to Modelica 4.0 and compilation toolchain#799

Open
EttoreZ wants to merge 110 commits into
masterfrom
issue422_om_msl4
Open

Update test cases to Modelica 4.0 and compilation toolchain#799
EttoreZ wants to merge 110 commits into
masterfrom
issue422_om_msl4

Conversation

@EttoreZ
Copy link
Copy Markdown
Contributor

@EttoreZ EttoreZ commented Oct 9, 2025

This PR refers to various issues #422, #539, #612, #775, #791, #800, #802, #806, and #834 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. Furthermore, optional arguments solver and tolerance should be properly handled by the parser depending on the tool with warnings and errors.
  • 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.
  • Add multizone_office_complex_air points to compare_references.py script.
  • Update all READMEs

Comment thread testing/Dockerfile.openmodelica Outdated
@@ -1 +1 @@
{"peak_heat_day": 23, "typical_heat_day": 115}
{"peak_heat_day": 27, "typical_heat_day": 58} No newline at end of file
Copy link
Copy Markdown
Collaborator

@dhblum dhblum Apr 9, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Realizing do we need to update the days.json for all the models that had significant model changes? For example twozone_apartment_hydronic. I don't see changes in the PR for those. Will need to change days.json and documentation of scenarios.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@EttoreZ to change this model to use pre-configured mover model from Buildings 12.1.0.

dhblum and others added 21 commits April 10, 2026 11:19
…l_dimensions

Issue834: multizone residential dimensions
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