2024.2 Release (version 3.92.7)🔗
General availability: Modelon Cloud 2024-September-19
Welcome to the 2024.2 release of Modelon Impact. Modelon bet early on that the future of system simulation relies on an open, flexible and easy to use simulation platform in the cloud. We are therefore happy to announce that we in this release has strengthened the support in all these areas with a special focus on the Analyze part of the platform.
Selected Highlights🔗
Build🔗
- 3rd party Libraries: Licensing support for 3rd party commercial libraries
- Model Debug: Easier to identify missing connections
Analyze🔗
- Experiment Builder: Dedicated view for experiment setup (BETA)
- Solver: Calibration against steady-state data (BETA)
- Solver: Steady-state simulation of dynamic models (BETA)
- Solver: More powerful custom functions
- Solver: Improved compiler support for handling numerically challenging simulations
- Visualization Tools: Dedicated view for analysis (BETA)
- Visualization Tools: UI-support to display generated artifacts
Collaborate🔗
- Access: Single Sign-On for enterprise accounts
- Integrations: Simplified authentication
- Sharing Tools: FMU export to dSPACE SCALEXIO
Build: Modelon Libraries🔗
The Modelon library suite has been improved and contains following highlights:
Aerospace🔗
Hydrogen tank design - Support for new scenarios and improved usability
- Hydrogen powered and turbocharged fuel cell
- Example system model of liquid hydrogen extraction from cryogenic storage using the new Modelon Base Library tank with integrated gas heater
- Spherical tanks with detailed wall
- Multi-layer and vacuum insulated tank, including radiative heat transfer between layers and geometric specific buckling correlations
- Condensation blocking phenomena in two-phase storage tanks
- Support for vaporization of liquid at wall surface boiling in presence of subcooled liquid, bulk evaporation and surface condensation.
- Two-phase-liquid chevron plate heat exchangers
- Tank sizing with steady state is more robust for the different sizing parameterization methods
Thermal Management and Fuel - Size and analyze dynamic response in complex aircraft thermal management systems
- Combined vapor cycle sizing and liquid cooling simulation example
Propulsion and power - More flexibility, better support for supersonic flight conditions and seamless integration with Electrification Library
- New variable geometry mixer model to better support fighter jets at supersonic conditions
- A new Generic Controller has been introduced, which can receive an arbitrary number of limiters as input. This feature enhances the flexibility and adaptability of the controller, allowing it to handle a wide range of control scenarios.
- Sizing of hybrid propulsion systems using enhanced electrification compliance capabilities in Jet Propulsion library
- The inlet performance model now includes a more detailed estimate of ram pressure recovery and inlet size.
- Turbomachinery map visualization app in Modelon Impact for plotting on-design and off-design performance
- A new simplified Proton-Exchange Membrane (PEM) fuel cell model includes both sizing/on-design and dynamic performance/off-design capabilities, as well as demonstrative experiment models.
Aircraft performance - Lightweight aircraft models for fast flight mission simulations
- Optimization compliant low fidelity aircraft simulation models with simplified parameterization and sizing capabilities
Automotive🔗
Thermal management β Improved accuracy, performance and robustness. New components for wider support within Automotive thermal management applications and up-to-date with latest standards
- Heat exchanger models for native coupling between air conditioning (ACL) and liquid cooling (LCL) systems
- Improved robustness for simulation of operating conditions close to or crossing the critical point, especially for CO2 as working fluid
- Improved models for frost growth on heat exchangers, suited to model frosting and thawing
- New sensor model to compute the dewpoint temperature
- All parameters related to initialization have been moved to a separate tab in the parameter dialog
- Visualization of p-h diagrams with linear and logarithmic pressure axis for all working fluids
- New example model mimicking a simple EXV
- Robustness and performance for complex air conditioning cycles, support for analytic Jacobian in additional component models
Electrified vehicles β Improved workflows and support for more efficient designs in sub-systems
- An updated electric vehicle range example, that includes brake blending
- Workflows for moving between 3D Vehicle Dynamics Library (VDL) models and 1D Electrification Library (EL) models
Energy, Air conditioning and Refrigeration🔗
Energy System Optimization - New examples and applications
-
New functionality: PointConstraint β used to ensure e.g. minimal amount of provided energy, maximum amount of CO2 emissions, maximum CapEx etc.
-
New example for demonstrating heating system comparing fossil fuel-based heating and heat pump heating with a thermal storage.
Power Plant Simulations - Improved support for industrial heat pumps
- Renamed and re-organized the package "FlueGas" to "SinglePhase"
- Improved Benson separator to support off-design conditions (subcooled liquid, superheated steam and supercritical fluid entering the vessel), simplified initialization
- New easy to use compressor model with demos for parametrization and surge control
- New two-zonal volume model that supports level-dependent heat transfer and level-dependent allocation of incoming fluids
- New shell-and-tube type evaporators and condenser featuring a more realistic behavior for off-design condition
Residential Heat Pumps - Improved accuracy, performance and robustness
- Improved performance in critical components
Refrigeration - Improved robustness, new examples and new heat exchangers
- Significantly more robust simulation of low or zero mass flow operating conditions
- New example model of a refrigerator cycle
- New heat exchanger model for forced convection wire on tube with multiple layers
Build: 3rd Party Libraries🔗
Licensing support for 3rd party commercial libraries
Modelon Impact is an open modeling and simulation platform that supports the Modelica language. While the most common usage is to build models using drag and drop of components from the Modelon libraries. It's also possible to import and use other Modelica based libraries such as the open source Modelica Standard Library or Modelica Buildings library.
To further let our users take advantage of the existing Modelica eco-system, we have worked to enable license integration for 3rd party commercial libraries. To learn more about how to enable licensing, contact Modelon support.
Build: Model Builder🔗
Model Debug🔗
Easier to identify missing connections:
One of the most common sources of modeling error is a missing connection. For an equation-based language like Modelica, where the causality and order of calculation is first established at compile-time, additional logic is needed to provide easy to understand and actionable error messages. There has been improvement in the Modelica compiler making it now easier to identify missing connections.
Analyze: Experiment Builder🔗
Dedicated view for experiment setup (BETA)🔗
A new Experiment Setup View, has been introduced in the Experiment layer. Users can now more easily setup multi-run experiments and quickly do a study of the design space. New functionalities include:
UI support to set-up parameter sweeps with extended support for choices
Activate the Parameter sweep UI-toggle to create a multi-run experiment by defining the range of a sweep and/or specify a set of choices. The support for choices has been extended from data types of Real
to also include Integer
, String
, Boolean
, and Enumerations
. This makes it possible to quickly setup experiments and compare model configurations such as controller types and initialization options.
UI support to explore the design space using Statistical experiments
Quickly setup Design of Experiments by specifying the number of cases to simulate and parameter distributions. Sampling algorithms will efficiently span up the design space and automatically generate the cases to be executed. Supported parameter distributions are Normal, Uniform and Beta and supported sampling algorithms are Sobol and Latin Hypercube.
With the Productivity Add-on, the total simulation time can be reduced with parallel execution.
New output filters and display of estimated result size
New optional output filters are available that reduce the result size of an experiment. This is helpful when large experiments or models are to be executed to avoid generation of large amount of data. Users can now add filters based on views, favorites, components, and variables. To further improve the usability on data generation, an estimate of the total result size is displayed in the right sidebar of the Experiment Setup View and Diagram View.
To access the new Experiment Setup View, enable the Beta feature flag "Enable new experiment setup view" in the Application settings followed by a reload of the browser tab.
Analyze: Solver🔗
Calibration against steady-state data (BETA)🔗
A common engineering task is to calibrate a model against measurements data. For thermal applications such as HVAC-R systems this often means that a heat exchangers pressure and heat transfer correlations are adjusted to match data that spans over multiple inlet conditions. Earlier calibration could be done by Python scripting in a notebook. To make this task easier to setup and execute, there is now UI-support for the entire workflow. New additions are:
A new Calibration library
It includes examples, a calibration custom function and a custom web-app for data. Additionally, there has been several improvements in the platform that enables this workflow.
Steady-state simulation of dynamic models (BETA)🔗
Dynamic (transient) simulation allows engineers to study how a system behaves over a timer period. While a steady-state simulation solves for a specific point in time. Both steady-state and dynamic simulation are essential capabilities for engineers working with design and optimizing of systems.
In this release we have added support for solving dynamic models in steady-state. This can reduce the time to get an answer by order of magnitudes compared to simulate a dynamic model until it has converged. It's especially useful in multi-run workflows that spans over multiple cases such as such multi-point calibration.
To allow to use it in applications which have states that never reach steady-state, such as mechanical systems that rotate or move with a fixed speed. There has been added support for model developers to annotate variables that should be set to a fixed value when solving for a solution.
More powerful custom functions🔗
The Python-based custom function interface has been extended to support:
- Orchestration of cases to support algorithms that iteratively schedule and execute cases
- Access to data and results as input arguments
The main driving use-case for this work has been to support the new calibration functionality.
There have been corresponding extensions to the custom function user interface, enabling support to select results, cases, and files for a custom function.
Following new custom function parameter types has been added:
- CaseResult - Populates a list of results
- ExperimentResult - Populates a list of experiments
- FileURI - Populates a file picker. User can choose from files within a Modelica library or files that are available in a workspace.
- VariableNames - Populate a list of available variables in a model
Improved compiler support for handling numerically challenging simulations🔗
Thermal management systems are getting more complex and putting additional requirement on efficient and robust solvers. An example is AC-systems in electric vehicles which now are designed to handle multiple objectives such as controlling the cabin as well as the temperature of the batteries. The new systems are more complex with additional cooling circuits and operate in a more dynamic way, including shutdown of branches and flow reversal. The combined requirement of high accuracy and simulation of numerically sensitive scenarios such as zero-flow, requires that the simulation code is numerically robust. If not, it may result in a simulation that progress slowly.
A way to improve is for the simulation solver to use analytical Jacobians. Analytical Jacobians are derived symbolically and are therefore exact and less numerically sensitive.
With improvements in the symbolic framework in the Optimica Compiler Toolkit, calculation of Analytical Jacobians is now supported for the majority of all components in the AirConditioning Library. To enable Analytical Jacobians, set compiler option generate_ode_jacobian:True.
Analyze: Modelica compiler🔗
Note
Send an email to support@modelon.com to get access to detailed release notes in OPTIMICA Compiler Toolkit User Guide
Analyze: Visualization Tools🔗
Dedicated view for analysis (BETA)🔗
The most noticeable change for users is the introduction of a new Analysis View. Users can now choose from either inspect result in the classic model-centric Diagram View or use the new Analysis View. The Analysis View has been introduced based on requests for a dedicated view to analyze result including more space and access to additional plot types.
The new analysis mode comes with following new functionality and improvements:
Dedicated view for result inspection
The dedicated view offers a focused view of inspecting the result. This enables visual inspection of more plots at the same time.
Additional plot types
The user can choose from using following plot types:
- Line chart - for display of results over time (default option for display of results from dynamic simulations)
- Stacked area chart - to understand the breakdown of groups over time (useful for energy applications)
- Scatter chart - to compare and show relationship between numeric values (default option for display of results from steady-state simulations)
- Histogram chart - to compare and show distributions over an interval
Dynamically reorder and resize plots
The plotting framework has been designed to offer a modern user-experience. Plots are automatically aligned in a dynamic grid where plots can dynamically be reordered and resized.
Synchronized zoom across plots
To increase the productivity when working with multiples plots, a global time slider, where you can set a range, has been introduced that enables synchronized zoom across plots.
The new time slider support:
- Synchronize the x-axis on all plots by dragging the endpoints
- Set the current time-point by either enter the time-point or drag the cursor
- Reset the default x-axis zoom-level by clicking the reset button
Multi-select of results
To make it easier to compare a result to previous simulations a new toggle has been introduced that separate the result selection into:
- Single result - for selection of a single result to be shown in plots
- Multiple results - for comparison between two or more results
UI-support to display generated artifacts🔗
For experiments such as calibration, it's beneficial that the output also includes a report that summarize how closely the newly calibrated model match the target data.
To better support reporting and workflows that rely on additional artifacts, the result browser has been extended with a new artifacts view. The artefact view supports:
- Overview of all generated artifacts
- Option to preview each artifact in a new browser tab. This is useful for html reports that natively is supported in the browser
- Copy artifacts directly to a project
- Download artifacts
Collaborate: Access🔗
Single Sign-On for enterprise accounts🔗
Modelon Cloud now supports integration of Single Sign-On (SSO) for enterprise customers. SSO is an authentication method that make it possible for a company to integrate and use their own authentication system. This gives the company more control of security settings such as if Multi-Factor Authentication should be enabled and minimize the number of passwords for their users.
Interested to use SSO, contact Modelon support for further information.
Enhanced security🔗
The username is not longer part of the URL. Instead, a unique identifier will be used. This also removes a previous restriction on the maximum length of a username.
Collaborate: Integrations🔗
Simplified authentication🔗
The infrastructure that handling authentication has been updated and include following improvements:
Improved login and logout
Several bugs have been resolved related to login and logout.
Simplified authentication using the Python client
Itβs now easier to get started using the Python client as only one API key is needed. As a result, the Modelon Impact Python client getting started instructions have been reduced.
Python Client🔗
New functionalities include improved support for:
- Support for FileURI, VariableNames, ExperimentResult and CaseResult Custom Function parameter data type input. For more information see Custom Function documentation.
- Support for uploading custom artifact to a case.
- Support for uploading result to a case.
- Support for fetching single case result variables.
- Support for setting variable modifiers of type Enumeration.
- Support to get Experiment definition from a simulated Case.
- Support to get Experiment definition from a simulated Experiment.
See impact-client-python/tags for further information.
Collaborate: Sharing Tools🔗
FMU export to dSPACE SCALEXIO🔗
This update includes fixes in the Optimica Compiler Toolkit that enables direct export of binary FMUs from Modelon Impact into one of the most popular hardware-in-the-loop (HIL) platform dSPACE SCALEXIO. A common use-case this enables is design and early testing and verification of a control system in a safe (virtual) environment.
The advantage with direct export of binary FMUs compared to source code FMUs, is that binary export and import is straightforward. While for source code export and import there are often compliance issues due to the common usage of 3rd party dependencies.
Platform information🔗
Execution environment🔗
This release includes following execution environments.
Note, self-managed only include the latest version of the execution environment.
Execution environments | v2024.2 | v2024.1 |
---|---|---|
Optimica Compiler Toolkit | v1.52 | v1.48 |
Modelica compliance | v3.4 of Modelica Language specification1 | v3.4 of Modelica Language specification1 |
FMU compliance | v2 (default) and v1 | v2 (default) and v1 |
Operating system | Ubuntu v20.04 | Ubuntu v20.04 |
Python environment | v3.9 | v3.9 |
C compiler | GCC v9 and glibc v2.31 | GCC v9 and glibc v2.31 |
1 See Optimica Compiler Toolkit User's guide for further information about Modelica compliance and limitations.
Libraries🔗
This release includes following library versions for Modelon Cloud. Columns indicate the release when a version was made available.
Note, self-managed only includes the 2024.2 library bundle.
Libraries | 2024.2 | 2024.1 | 2023.2 |
---|---|---|---|
AirConditioning | 1.28.0 | 1.27.0 | 1.26.0 |
AirConditioningAdapters | 1.28.0 | 1.27.0 | NA |
AircraftDynamics | 1.11.0 | 1.10.0 | 1.9.0 |
Electrification | 1.12.0 | 1.11.0 | 1.10.0 |
EnergySystems | 1.1.0 | 1.0.0 | NA |
EngineDynamics | 2.13.0 | 2.12.0 | 2.11.0 |
EnvironmentalControl | 3.17.0 | 3.16.0 | 3.15.0 |
FuelCell | 1.19. 0 | 1.18.0 | 1.17.0 |
FuelSystem | 5.6.0 | 5.5.0 | 5.4.0 |
HeatExchanger | 2.13.0 | 2.12.0 | 2.11.0 |
Hydraulics | 4.21.0 | 4.20.0 | 4.19.0 |
HydroPower | 2.19.0 | 2.18.0 | 2.17.0 |
IndustryExamples | 1.5.0 | 1.4.0 | 1.3.0 |
JetPropulsion | 2.8.0 | 2.7.0 | 2.6.01 |
LiquidCooling | 2.13. 0 | 2.12.0 | 2.11.0 |
Modelon | 4.5.0 | 4.4.0 | 4.3.0 |
Pneumatics | 2.17.0 | 2.16.0 | 2.15.0 |
ThermalPower | 1.28.0 | 1.27.0 | 1.26.01 |
VaporCycle | 2.13.0 | 2.12.0 | 2.11.0 |
VehicleDynamics | 4.5.0 | 4.4.0 | 4.3.01 |
1 Custom functions provided with the 2023.2 release of the Modelon libraries are not compatible with the 2024.2 platform release. Please upgrade your library dependencies if you want to continue or start using the provided custom functions.
Breaking Changes🔗
Execution environment🔗
In the latest Execution environment following breaking changes has been introduced in the Modelica compiler:
Stricter error checks for better diagnostics
As a result of improving the Modelica compiler diagnostics, additional error checks have been introduced that stricter follow the Modelica specification. Following improvements has been made:
- Changed the variability error check for binding equations from Warning to Error. It is now required for the variability to match. Previously this generated a warning.
Proposed actions: This change is in line with the Modelica specification. If your models fail to compile due this change, then expressions that are invalid are highlighted in the error message. Variables require a variability higher than or equal to the binding expression. Example: if you wish to have a parameter that is dependent of the start value of a continuous variable, then this is achieved by setting 'fixed=false' and adding it as an initial equation instead.
- Changed the error check for multiple input/output in the same connection set from Warning to Error.
Proposed actions: This change is in line with the Modelica specification. If you're affected by this change, check that the causality in existing connection sets are valid.
Improved simulation robustness
- Changed time-event tolerances to scale with time. Runtime option "time_events_default_tol" is now scaled with time. Added new runtime option "time_events_min_tol", a minimum tolerance for time-events.
Proposed actions: This change is extremely unlikely to negatively affect any model. If affected however, use the existing simulation diagnostics to debug, primarily debug events that occur.
- Changed default value for 'stream_reversal_events' to false. This means that no events will be added when sign changes for a 'actualStream' multiplied with its flow variable. This could improve performance for some models.
Proposed actions: The new default option is the recommended approach due to performance reasons. However, if your models fail to simulate due to this change, you can toggle the option to compare the dynamics between the two. If your model is negatively affected, the old behavior is used when 'stream_reversal_events' is enabled.
Libraries🔗
The 2023.1 distribution of libraries have been removed from Modelon Cloud. Following library versions are therefore not longer available on Modelon Cloud.
Libraries | 2023.1 |
---|---|
AirConditioning | 1.25.0 |
AircraftDynamics | 1.8.0 |
Electrification | 1.9.0 |
EngineDynamics | 2.10.0 |
EnvironmentalControl | 3.14.0 |
FuelCell | 1.16.0 |
FuelSystem | 5.3.0 |
HeatExchanger | 2.10.0 |
Hydraulics | 4.18.0 |
HydroPower | 2.16.0 |
IndustryExamples | 1.2.0 |
JetPropulsion | 2.5.0 |
LiquidCooling | 2.10.0 |
Modelon | 4.2.0 |
Pneumatics | 2.14.0 |
ThermalPower | 1.25.0 |
ThermoFluidPro | 1.25.0 |
VaporCycle | 2.10. |
See Library Conversion for how to migrate workspaces to newer library versions.
We hope you like the new functionality and improvements and look forward to your input!