Wolfram SystemModeler Changelog

What's new in Wolfram SystemModeler 5.0.0 Build 10

Oct 2, 2017
  • Our goal with SystemModeler is to provide a state-of-the-art environment for modeling, simulation—and analytics—that leverages the Wolfram technology stack and builds on the Modelica standard for systems description (that we helped to develop).
  • SystemModeler is routinely used by the world’s engineering organizations on some of the world’s most complex engineering systems—as well as in fields such as life sciences and social science. We’ve been pursuing the development of what is now SystemModeler for more than 15 years, adding more and more sophistication to the capabilities of the system. And today we’re pleased to announce the latest step forward: SystemModeler 5.
  • As part of the 4.1, 4.2, 4.3 sequence of releases, we completely rebuilt and modernized the core computational kernel of SystemModeler. Now in SystemModeler 5, we’re able to build on this extremely strong framework to add a whole variety of new capabilities.
  • Some of the headlines include:
  • Support for continuous media such as fluids and gases, using the latest Modelica libraries
  • Almost 200 additional Modelica components, including Media, PowerConverters and Noise libraries
  • Complete visual redesign of almost 6000 icons, for consistency and improved readability
  • Support for new GUI workspaces optimized for different levels of development and presentation
  • Almost 500 built-in example models for easy exploration and learning
  • Modular reconfigurability, allowing different parts of models to be easily switched and modified
  • Symbolic parametric simulation: the ability to create a fully computable object representing variations of model parameters
  • Importing and exporting FMI 2 models for broad model interchange and system integration
  • Latest Modelica Libraries:
  • A modeling project is greatly simplified if there is a library available for the topic. A library essentially provides the modeling language for that domain, consisting of components, sensors, sources and interfaces. Using these elements, building a model typically consists of dragging components, sensors and sources into a model space and then connecting their interfaces, as in this video:
  • SystemModeler already comes with an amazing collection of libraries for different domains, such as electrical (analog, digital, power), mechanical (1- or 3-dimensional), thermal (heat transfer, thermo-fluid flow), etc. And with the SystemModeler Library Store, there are many free and paid libraries that add to this collection.
  • With SystemModeler 5, we provide the latest version of the Modelica Standard Library (3.2.2) that we helped develop with industry and academic partners, adding almost 200 new components. Some of the new libraries include Media, PowerConverters and Noise, as well as several other sublibraries and utilities.
  • The Media library is technically advanced and required major updates to the SystemModeler kernel, containing models for the behavior of common gases and liquids. They range from ideal one-component gases to multicomponent mediums with phase transitions and nonlinear effects.
  • Let’s look at a basic example: have you ever noticed how when you use a compressed air duster the temperature of the can seems to drop rapidly? The following is a model of a 1 liter can at 75 psi and room temperature with a nozzle that restricts the flow out of the can into an ambient environment at atmospheric pressure.
  • Air duster with model:
  • The temperature of the three canister parts above is dependant on the medium inside each of them. If you want to analyze how the canister behaves with a different gas, all individual components would need to change to reflect this. In SystemModeler 5, we have made it so that you can reconfigure the whole model instead, setting one value to switch out all the parts at once.
  • Here, two different gases with identical starting temperatures and pressures are shown. If you compare a canister containing normal air to one containing helium gas, you can see that the much denser air retains its temperature better than the less dense helium gas.
  • Ideal Helium graph:
  • A similar example modeling the stresses caused by expanding gases in a tank can be found here.
  • New Icons and Workspaces:
  • A great feature when building models using the drag-drop-connect paradigm is that the resulting model diagram is an effective way to communicate and understand models—whether that is for presentations and reports or when interactively exploring and learning about a model.
  • SystemModeler diagrams are now even more effective for visual communication, as a result of the redesign of nearly 6000 icons for improved consistency and readability. See this video for a short overview:
  • SystemModeler icons:
  • In addition, we have designed GUI workspaces that are optimized for different scenarios from presenter to developer. The main difference is the amount of tools and information panels that are readily available. What is essential for advanced development is mostly clutter when presenting or exploring, for instance.
  • GUI workspaces:
  • Reconfigurable Models:
  • It is often very convenient to provide a single interface to reconfigure multiple aspects of a complex model. This makes it easy to provide a few major model scenarios, for instance. SystemModeler 5 fully supports reconfigurable models, including interactive support for configuration management, which is an industry first.
  • Let’s use the wheels of a car as an example: say you want to test how different tires perform in a tight corner on a slippery surface. Instead of changing each of the tire model components, we can simply select the desired model configuration from a drop-down menu.
  • Car tire model:
  • We have gone from Bambi on ice to Formula 1 performance. To understand these tracks, see this video:
  • Download this example and try it out for yourself! Now, if only changing the tires on a real car were as quick.
  • Parametric Simulation
  • When you build a model, you typically want it to have parameters that can be tuned or fitted. With SystemModeler 5, you can now immediately explore and optimize different parameter values efficiently, using the function WSMParametricSimulateValue.
  • For instance, in this example, we are considering rope length and release time for a medieval trebuchet. And using optimization functions, we can find the the optimal parameter values that maximize the range of this ancient war machine. The “value” for this system is a whole trajectory, some of which you can see below. Notice that if you release the stone at the wrong time, the trajectory is actually going in the wrong direction (colored red below).
  • Trebuchet graph:
  • Using the function WSMParametricSimulateValue, you can also efficiently provide for interactive exploration of parameter spaces. Let us continue with the previous example. Say you want to analyze the turning car further and look at a few parameters in greater detail; of particular interest could be to explore how speed and road conditions such as friction and turning radius affect the car’s ability to follow the desired trajectory.
  • parametricSim = WSMParametricSimulateValue[ "SlidingCar.Car", {"LeftRoadXPos", "LeftRoadXYos", "RightRoadXPos", "RightRoadYPos", "CarXPos", "CarYPos"}, {"throttle", "turningRadius", "friction"}, WSMProgressMonitor -> False]
  • SystemModeler parametric function:
  • The parametric simulate function can then be used in a Manipulate.
  • Manipulate[ Module[{simRes = parametricSim[throttle, turnRadius, friction]}, With[{res = ArrayReshape[Evaluate[Through[simRes[t]]], {3, 2}]}, ParametricPlot[ res, {t, 0, 15}, {RGBColor[0., 0., 0.], RGBColor[0., 0., 0.], RGBColor[0.368417, 0.506779, 0.709798]}, PlotRange -> All, AspectRatio -> Automatic]]], {{throttle, 15, "Throttle"}, 0, 50}, {{turnRadius, 0.2, "Turning radius"}, 0, 0.2}, {{friction, 0.9, "Road Conditions"}, {0.9 -> "Asphalt", 0.5 -> "Gravel", 0.05 -> "Ice"}}, ContinuousAction -> False]
  • Model manipulate:
  • Model Exchange with FMI:
  • The FMI (functional mock-up interface) standard is a broad industry standard for model exchange between simulation and system integration tools. The standard was originally proposed by Daimler and has been developed by a broad group of industry and academic partners, including us, over the course of several years. Typical use cases include:
  • To import and export models between different tools, allowing different teams and companies to cooperate loosely
  • To package models as a way to protect intellectual property, whether they rely on different tools or not
  • To package models for system integration and perform hardware-in-the loop simulation
  • SystemModeler 5 now fully supports both FMI 1.0 and FMI 2.0 for model import and export, and with some 100 tools listed as supporting or planning support for this standard, this is by far the easiest way to integrate workflows between different tools, teams and companies.
  • Getting back to the car example, it is clearly struggling on the slippery surface. You could try to see if you can improve the cornering by adding an antilock braking system (ABS) to the model. However, you probably will not be able to get your hands on open source code for such a system, as they are likely to be proprietary. However, we can import an FMU (functional mock-up unit)—the actual objects exchanged in the FMI standard—of the ABS system.
  • Functional mockup unit:
  • By importing an FMU of the ABS controller, you can connect it like any other component. In the following simulation, the driver tries to steer to the right while slamming on the brakes. Without ABS, the wheels quickly lock up and the car will keep heading straight ahead. The ABS will, however, employ cadence braking, preventing the wheels from locking up and allowing the car to steer to the right.
  • FMI comparison graph:
  • Explore Further:
  • See What’s New for all the new features with examples. See features and examples for a more comprehensive presentation of SystemModeler as a modeling, simulation and analytics environment. To get going right away, get the trial here. If you are new to SystemModeler, get started with these videos.

New in Wolfram SystemModeler 4.1.0 Build 13 (Apr 6, 2015)

  • FMI—Standardized Model Import - import models from other types of modeling and simulation tools with the standardized Functional Mockup Interface (FMI).
  • Mathematica's complete suite for reliability analysis, with functionality for reliability block diagrams, fault trees, and importance measures, can now be used with SystemModeler.
  • Model Development - strengthened unit support and handling lets you input and display in the unit system of your choice.
  • Model libraries are verification for SystemModeler and automatic installation.
  • New Add-on Libraries in hydraulic, cooling, social, and biochemical systems areas.
  • SystemModeler comes with the updated Modelica Standard Library, including support for digital circuits, fast models for electrical and magnetic circuits, and heat tracking in mechanical systems.
  • FMI—Standardized Model Export - standardized Functional Mockup Interface (FMI) for immediate use in a large number of tools.
  • Interactive Simulation Control
  • New Documentation Center
  • Improved Model Center - stronger showcasing environment with full drill-down and live edit capability. Several improvements to workflows, incremental search of model classes, tabbed model parametrizations, and direct simulation, make modeling more efficient.
  • Improved Simulation Center - improved performance and workflows, faster model compilation and concurrent simulation support. Selecting objects in 3D animations now shows variables and parameters, and you can copy simulation results directly with one click on a Mathematica icon.
  • Programmatically Create Models from equations or control system models. Or combine both approaches and create components from equations and interfaces and connect them in hierarchies.
  • Model Diagrams - SystemModeler objects now use model diagrams as their visual representation.
  • Streamlined Workflow - model diagrams to represent your models throughout Mathematica.
  • Key New Mathematica Features for SystemModeler:
  • Enhanced Control Systems - automatic PID tuning and support for DAE plant models, delays in plant models and full nonlinear control capabilities.
  • Mathematica Support for Hybrid and Differential Algebraic Equations - new hybrid and DAE solving capabilities
  • New Visualization Methods - connect simulations to a full suite of highly customizable gauges, standard analog and digital filters.
  • Reliability Analysis - block diagrams, fault trees, standby models, and importance measures.
  • Time Series - automatic estimation of time series models from data and forecasting as input to simulation models, or use simulation results as input to forecasting models.