Releases: open-simulation-platform/libcosim
Releases · open-simulation-platform/libcosim
v0.11.1
What's Changed
- Using proxyfmu/0.4.1 that uses increased frame size by @davidhjp01 in #789
Full Changelog: v0.11.0...v0.11.1
v0.11.0
[v0.11.0] - 2025-03-31
New
- The ECCO (Energy Conservation-based Co-simulation) algorithm has received a reference implementation that is now configurable through OspSystemStructure. See the tests prefixed with
ecco_algorithmfor details. - Libcosim now supports the state saving and serialization API from FMI2. Serialization to file is done with the CBOR (Concise Binary Object Representation) format. FMUs that support this feature should flag it by setting the
canGetAndSetFMUstateandcanSerializeFMUstatefields in their model description totrue. See the test prefixed withsave_statefor details.
Fixes
- Some exceptions thrown when parsing configuration XMLs have been changed to
std::runtime_error, where less appropriate classes for runtime errors likestd::logic_errororstd::out_of_rangewere previously used.
v0.10.4
[v0.10.4] - 2024-12-12
Fixed
- Real time factor calculation for small time steps has been improved by computing a rolling average rather than a fixed amount of 5 timesteps.
- Variables are now correctly transferred at the points in the FMU initialization sequence where they are permitted to change.
- FMU start values will now be correctly initialized before entering initialization mode.
- Various bug fixes and improvements.
Changed
- The fixed precision of the file observer can now be specified.
- File observer is now printing the correct FMU author.
v0.10.3
Fixed
- parseURI null check and error handling implemented.
Changed
- Upgraded Conan to v2
v0.10.2
- Update to proxyfmu 0.3.1 due to a disconnection issue related to Thrift.
v0.10.1 release
- Patch release to update to proxyfmu 0.3.0 due to downstream build issues related to Thrift.
v0.10.0 release
Changed
- GCC7 and GCC8 artifact builds have been removed, and GCC9 artifact builds added. This is currently the only supported GCC version.
- The file observer is now programmatically configurable, and there is no longer a need for clients to create a separate
LogConfig.xmlfile upfront to specify it's configuration. - The file observer no longer outputs headers as
variable name [reference, type, causality].Instead only the variable name is output, and the extra data about each variable and the model itself is output in a separate metadata file, in YAML format. This will have the same filename as the CSV file with the simulation data, including the timestamp, with_metadataat the end. - Using
find_variableno longer throws an exception, but rather returns an optional value, which may be empty if the variable could not be found. - Update to proxyfmu 0.2.9.
Added
- An asynchronous version of
simulate_untilis now available through theexecutioninterface. This accepts
an optional end time parameter and launches the execution in a new thread. - Support has been added for optionally specifying simulation end time (where only start time was supported) in
OspSystemStructure.xml. If specified, end time will also be parsed and made available in the simulation configuration.
Fixed
v0.9.0
Changed
- Removed fibers to simplify code and increase simulation performance. Concurrency must now be implemented in the master algorithm, and
fixed_step_algorithmhas been modified to use a thread pool. (PR#674, PR#692) - Performance improvements (PR#687)
Added
- OspModelDescription.xml can be located in same folder as FMU when using proxyfmu (PR#688)
- Option to build with FMI logging removed (PR#679)
Fixed
- Update to proxyfmu 0.2.7