Releases: modelon-community/PyFMI
PyFMI-2.21.0
--- PyFMI-2.21.0 ---
* Fixed a crash with the Master algorithm option block_initialization.
* Fixed a result handling issue for dynamic_diagnostics = True and ["<solver>_options"]["clock_step"] = False.
* Fixed an issue for the Master algorithm where connection values could be initialized incorrectly, when FMUs
were initialized separately and using step_size_downsampling_factor.
* Enabled use of pathlib.Path objects for:
* Paths when loading FMUs
* log_file_name when loading FMUs
* pyfmi.common.log.parse_xml_log & extract_xml_log, including fmu.extract_xml_log().
* result_file_name as simulation option and manual use of ResultReader classes
PyFMI-2.20.1
--- PyFMI-2.20.1 ---
* Resolved issue where caching in result handling was too persistent and could prevent automatic garbage collection.
Full Changelog: PyFMI-2.20.0...PyFMI-2.20.1
PyFMI-2.20.0
--- PyFMI-2.20.0 ---
* Fixed so FMU reset resets to log_level that it was loaded with.
* New exception pyfmi.common.io.NoResultError that will be raised for result handlers and writers if result is missing.
* Fixed an issue where models without continuous states could erroneuously succeed simulation,
despite evaluation failures after a fixed point in time.
PyFMI-2.19.0
--- PyFMI-2.19.0 ---
* New function get_log_categories for FMUModelBase2 to retrieve both log
categories and descriptions, use instead of get_categories.
* Changes to FMUModelBase2.set_debug_logging()
* Now operate on lists of strings instead of bytes.
* Removed requirement that categories to be set are available via get_log_categories().
* Added new option step_size_downsampling_factor to Master algorithm.
This allows setting reduced input/output update rates on a per-model basis.
* Enabled use of result_downsampling_factor to Master algorithm on a per-model basis.
* Fixed an issue where FMUModel(CS|ME)1.get_author() returned a byte string, rather than a normal string.
* Logging will (by default) be explicitly be disabled by calling fmiSetDebugLogging
and setting log_level to 0 when exceeding set_max_log_size.
* Dropping support for Python 3.9 as it is now end of life.
* Fixed so FMU reset resets log size so max log size is per simulation and does not carry over.
* Fixed a race-condition for calculated diagnostic variables when using ResultDymolaBinary.get_variables_data().
PyFMI-2.18.3
--- PyFMI-2.18.3 ---
* Fixed a bug introduced in PyFMI 2.18.0 causing incorrect result storing for boolean and enum variables
with result_handling = "binary" (default).
Full Changelog: PyFMI-2.18.2...PyFMI-2.18.3
PyFMI-2.18.2
--- PyFMI-2.18.2 ---
* Fixed an issue with ResultDymolaBinary result retrieval if dynamic_diagnostics = True and
there is only a single solution point.
Full Changelog: PyFMI-2.18.1...PyFMI-2.18.2
PyFMI-2.18.1
--- PyFMI-2.18.1 ---
* Fixed a caching issue in ResultDymolaBinary.get_variables_data().
* Removed deprecation of get_variable_data, it is recommended to use get_trajectory anyways.
Full Changelog: PyFMI-2.18.0...PyFMI-2.18.1
PyFMI-2.18.0
--- PyFMI-2.18.0 ---
* Added new class DynamicDiagnosticsUtils in pyfmi.common.diagnostics providing
various utility functions for computing additional diagnostics variables derived
from those stored during simulation with dynamic_diagnostics = True.
These computations were previously hard-coded into ResultDymolaBinary.
* Simulations using ExplicitEuler with dynamic_diagnostics = True now also
store event indicator values.
* Fixed the issue that @Diagnostics.nbr_steps was off by one.
* Improved handling of linking with dynamic FMIL library.
* Added new abstract base class pyfmi.common.io.ResultReader as base for
ResultCSVTextual, ResultStorageMemory, ResultDymolaTextual and ResultDymolaBinary.
* pyfmi.common.io.ResultReader new features:
* Get all variable names via get_variable_names.
* Get multiple trajectories via get_trajectories.
* Deprecations:
* pyfmi.common.io.ResultStorage, use pyfmi.common.io.ResultReader instead.
* ResultDymolaTextual, ResultDymolaBinary: name attribute for retrieving variable names,
use get_variable_names function instead.
* ResultCSVTextual, ResultStorageMemory, ResultDymolaTextual and ResultDymolaBinary:
get_variable_data, use get_trajectory instead.
Full Changelog: PyFMI-2.17.4...PyFMI-2.18.0
PyFMI-2.17.4
--- PyFMI-2.17.4 ---
* Fixed type annotation issue causing incompatibility with Python < 3.10. (introduced with 2.17.3)
Full Changelog: PyFMI-2.17.3...PyFMI-2.17.4
PyFMI-2.17.3
--- PyFMI-2.17.3 ---
* Fixed a race-condition in using ResultDymolaBinary.get_variables_data(). (This change was mistakenly already attributed to PyFMI-2.17.2)
Full Changelog: PyFMI-2.17.2...PyFMI-2.17.3