Release Notes



In the course of the product support for SimulationX, the software receives ongoing updates and improvements. The basis for the continuous development of our software products are the requirements and suggestions from our customers in industry and education. These Release Notes document the changes between the versions of SimulationX and cover new features, enhancements and extensions of existing functionalities as well as bug fixes.


For any support query, please use the HelpDesk which is our primary point of contact:

Release Notes Structure

The Release Notes are given as a list and follow the manual’s structure. The left side of the table contains a key which stems from processing. Please note the following:


New features in the program


Processed queries, requests addressed to the HelpDesk; the number here corresponds with the reference number at the HelpDesk


Bugs that were fixed. Changes (or new features) are described on the right-hand side.

Version 4.2.4 (Build 69645) Hotfix

Fixed issues

B27087 If Visual Studio 2022 is installed, compiler detection in SimulationX may fail or crash.
Connecting multiple sequences of different physical quantities to one database column causes SimulationX to crash.
Simulated models cannot be animated when they are saved and reopened.

Version 4.2.4 (September 2021)

New Features and Changes

N10001  The unit Nm/rpm is now available as rotational damping in rotational mechanics.
N10002  1/ms has been added to the list of available units for the frequency.
N10003  The example model that can read hydraulic fluid properties is now also included in the licenses for the modules Power generation and Heating and Cooling.
N10004  The icons of the types SignalBlocks.Clocked.ClockTime and SignalBlocks.ClockedEvent have been updated.
N10005  The default log cache has been increased to 10000 Byte to improve computing performance, especially with models that hold numerous results.
N10006  Loads can now be displayed in the 3D view with different arrows for forces acting in different directions.

Solved Problems

B23005 Switching from MEBDF with a maximum procedure order of 7 in the simulation control dialog to BDF keeps the value of 7, although BDF only allows for a maximum of 5.
B23234 Ship Energy Systems: The lower heating value of natural gas is not passed on to the engines.
B23235 Ship Energy Systems: The calculation of the fuel consumption based on the lower heating value is incorrect.
In rare cases, Boolean variables remain 0 when compiled solver methods are used.
The units U/m and U/mm for the thread pitch are converted incorrectly.
Initial equations cannot be used to specify a non-fixed initial value y0 in the type SignalBlocks.Linear.Gs.
B23490 Pneumatics: An initial moisture of 0 produces errors when CVODE and Visual Studio Compiler are used.
B23831 FMUs for Model Exchange 2.0 that were created with SimulationX have a memory leak.
B23843 Thermofluidics: The refrigerant filler determines the initial values incorrectly if the values for the refrigerant mass and the initial temperature are not given in SI units.
B23869 Function calls in the Jacobian matrix with BDF (Compiled) does not free up the memory of local variables.
B23976 Some models of MSL 4.0 do not work due to a bad choice of iteration variables.
B24018 Code Export: Compilation errors may occur when outputs are selected that are not involved in the calculation.
B24019 Empty arrays of type string may cause errors in conjunction with compiled solvers.
The double-pipe heat exchanger (type HeatTransfer.SteadyStateHX.DoublePipe.DoublePipeHX) does not take the number of inner pipes into account for the calculation of the inner pipes' resistance. As a consequence, only the flow from one pipe is calculated for the resistance of multiple pipes.
B24062 During the computation of parameters for array variables via external functions, the dimension is treated as scalar.
B24063 In certain cases, the arccos() function is interpreted incorrectly during the symbolic analysis.
B24070 Deriving an array variable from a function causes a dimension error.
B24083 Refreshing the camera view of 3D models may become increasingly error-prone due to an incorrect calculation of the view depth.
Result variables that include LTI functions based on the compensation parameter show incorrect results.
B24119 Selecting certain multidimensional parameters in the CE wizard for generating S-Functions causes compiler errors.
Pneumatics: The flow description in the pneumatic edge models (Pneumatics.Valves.PropDirEdge22a and Pneumatics.Valves.PropDirEdge22b) is incorrect. The cross-sectional area included in the calculation is too small.
B24173 When multiple views of a model are open, the selection frame of one view may also be displayed in other views.
B24176 The symbolic analysis converts LTI expressions incorrectly if the argument includes a time derivative.
Referencing a start value parameter in itself causes SimulationX to crash.
During code export, Windows.h is included in unnecessary places causing compilation issues under Linux.
Switching the linear equation solvers in the advanced Simulation Control settings from Scaled Gauss method or Gauss with Rook pivoting to Gauss method has no effect. Moreover, any of these three linear solver methods uses a lot of memory which is not freed up, not even when it is reset.
Table headers created with the Excel AddIn are not in the right place.
B24256 Natural frequency analyses of a single mass with a connected force source causes an index error if the initial values are not fixed.
B24264 Creating compounds may cause elements to be moved into the non-visible area.
B24266 The grid settings for the Diagram View are not saved with the model.
B24268 Bad performance when highlighting large CAD geometries in the 3d view.
B24269 The "Undo/Redo" function does not work with newly created compounds.
B24270 Large numbers of CAD geometries in a model increase load and save times.
Certain models that include the JMAG-RT Brushless DC Motor (type ElectroMech.JMAGRT.PMSM ) cause the simulation to fail due to a division by 0 if the Flux Integrator Method is selected as the accuracy type, whereas the BDF solver with Spatial Harmonics returns incorrect results.
Opening models that hold a lot of data may take unusually long.
B24579 The generated modelDescriptions.xml does not comply with the FMU2.0 standard, because the derivatives are missing in the InitialUnknowns section.
Animation data is preserved in a computed model, which may increase the amount of required memory and can result in slower copy-and-paste operations.
B24589 Order cuts now have an additional parameter to limit the input data to a specific time range.
Chaning the unit for the x axis causes the crosshairs in the results window to jump to the wrong position as soon as a different curve is selected.
B24597 Duplicating a type in the structure view through drag and drop in the Model Explorer causes SimulationX to crash.
B24606 Under certain circumstances, function calls within when equations are interpreted incorrectly with BDF if the when equation forms an algebraic loop.
B24609 In the spectrogram from the pre- and post-processing library, the unit of the x-axis (usually an angular velocity axis) can be determined for order analyses and Campbell diagrams. It uses the unit set in the model of the variable referenced under identOm. For the frequency axis the unit of fmax is used.
Model initialization may fail due to a floating-point exception.
B24677 When the dialog for unresolvable references is closed with "Cancel", there is no more text view for corrections.
B24690 Real-time capable models that are synchronized to small log intervals or to time events with small periods are computed more slowly than necessary.

Version 4.2.3 (Build 69229) Hotfix

Solved Problems

Links to the example models do not work in the SimulationX Express edition.
Text fields in the ribbons and tool windows ignore certain numbers and letters.
Office Add-Ins: Importing result windows with multiple pages does not work properly, because the COM method ResultWindow.Save() uses page indices which are off by 1.

Version 4.2.3 (June 2021)

New Features and Changes

N10001  Result windows: The Result Window Manager has been revamped and now includes the following new features:
  • In addition to the result windows of each model, the Result Window Manager now also shows the pages of each result window.
  • Names of result windows and pages can be edited.
  • The order of the result windows and pages can be changed through drag'n'drop.
  • Clicking on a result window or page in the list activates the corresponding page and brings the corresponding window to the foreground.
N10002  Result windows: Pressing the Shift in the context menu of the Diagram View lets you search for an existing result window of the selected variable which is then brought to the foreground with the corresponding page.
N10003  Result windows: It is now possible to change the order of the listed curve names through drag'n'drop, or you can drag a curve from the list into another panel.
N10004  Result windows: The settings of a result window can be saved to a file. However, it is no longer necessary to select the storage location, as all the settings files are now saved in the directory specified in the program's options. Only a name is required. These configurations are then directly available in the settings menu of the result window. Configurations can be deleted directly in the file system (e.g. in the Windows Explorer).
N10005  COM interface: The ResultWindow class now includes the Redraw method. It allows the display to be updated via the COM interface. The methods for creating new result windows of the ResultWindow class also have a new optional parameter to specify a name. Names must be unique within a model/document. If no name is specified, a name is generated automatically. The name can be used to identify a window directly.
N10006  COM interface: The Document.Navigate function can be used to switch to a specific view of a model. Simply add the number of the view (as shown in the model tab) to the ident, e.g. Document.Navigate(".:2") switches to the view with the number 2.
N10007  COM interface: The ProtValues property is now writable for frozen results.
N10008  COM interface: The values simCalculationModeEquilibration and simCalculationModeAnimation are no longer supported for the Document.CalculationMode property.
N10009  The textColor attribute is now supported for Modelica text annotation (see Modelica Language Specification 3.4, section
N10010  3D View: OBJ files can now be imported via the 3D Scene Explorer.
N10011  The context menu of the ribbon menu now has an option to view the active keyboard shortcuts.
N10012  Tooltips for the keyboard shortcuts in the Ribbon menu are now also displayed in the optional "3D View" tab.
N10013  Safety Designer: The Fault Tree+ output format is no longer supported.
N10014  TypeDesigner: Incorrect declaration conditions can now be modified as they are no longer reset automatically.
N10015  The stability limit detection algorithm (STALD) for CVode is available in the solver settings.
N10016  The discontinuity treatment has been improved. This may, however, cause discrepancies in certain models, so the previous state remains available as an option, but is disabled by default. Furthermore, the end time is now always logged as well when logging is set to dtProtMin at least.
N10017  General: The input data for the spectrogram calculated by General.PrePostProcessing.SpectralAnalysis.Spectrogram can now be limited within a certain time range. The axes of the spectrogram can be swapped, and the color bar can be plotted horizontally or vertically.
N10018  Power Transmission: Force Excitation and Torque Excitation now accept more than two grid points for the option Map of Harmonic Components depending on Control Value con as the source of the excitation data.
N10019  Driving Maneuvers: For the visualization of drag forces and torques as well as fastening torques, the corresponding parameters are now available in the vehicle models (types VehiclesMBS.Vehicles.SimpleVehicle , VehiclesMBS.Vehicles.CurveBasedVehicleMBS and VehiclesMBS.Vehicles.CurveBasedVehicle) and in the drag model (Type VehiclesMBS.Environment.AirDrag).
N10020  Driving Maneuvers: Vehicle loads are now taken into account when the vehicle's center of gravity is determined. Furthermore, the vehicle models now have a new result variable for the total mass including tires and rims. The driver models now also indicate when the specified value for the driver reaction time (Tdriver) is unrealistically small. In addition, each mechanical or control-related system (e.g. ADAS) has a specific reaction/delay time. Therefore, it is recommendable you set the driver's reaction time to at least 1e-06 seconds (i.e. Tdriver>=1e-06) in order to get correct simulation results and avoid errors during the simulation.
N10021  Electromechanics: The JMAG-RT synchronous machine (type ElectroMech.JMAGRT.PMSM) now also supports the Flux Integration Method as Accuracy Type. In addition, it is possible specify resistance and connection type of the motor (star or delta).
N10022  Green City: The Environment2 model has been updated, the initalization of the cost calculation model has been improved, and the documentation for the whole library has been revised.
N10023  Pneumatics: The pneumatic Pipe has been extended to include the quadratic surface cross-section and alternative pressure drop descriptions which now offer Lambda as a variable parameter and Lambda(Re) as a characteristic curve in addition to Haaland.
N10024  Pneumatics: The actuators sub-library includes the new model of a pneumatic plunger cylinder.
N10025  System Reliability Analysis: The SRA addin now also lists monitor elements within connections.
N10026  It is now possible to upload simulation models to the ESI Visual DSS Cloud app.
N10027  LiteUnzip has been replaced with JUnzip.

Solved Problems

B12645 Some visualizers do not save a white background color correctly.
B12951 assert warnings do not include the name of the element in some case.
B12959 For certain models, changing parameters may trigger a new compilation before the simulation.
B17261 CVODE ignores the value of the traceOn parameter during tracing.
B18028 Changing parameter values from <> 0 to 0 is not recognized as a model modification.
B18087 Additional script parameters of General.PrePostProcessing.BasicsPPP.RunPythonScript which are provided via scriptParams are not passed on to sys.argv.
B18921 Activating a result window via the Result Window Manager may not bring it to the foreground.
For large blocks, the Jacobian matrix is not computed symbolically.
The classification of discrete variables during code generation is incorrect.
Values from initialization files may be ignored.
Mass matrices are not interpreted correctly. There is also no definition for user-defined mass matrices, the comment for relative result variables is incorrect (coordinate system), and the visualization of the free cross-section is implausible.
B22208 In FMUs, there are no initial values assigned for inputs.
B22283 The simulation of certain models with clocked partitions which are computed with the compiled BDF solver terminate with a floating-point exception.
B22388 The use of nested when statements is not flagged up as an error.
B22418 Units of default values cannot be changed in the TypeDesigner.
B22447 The iteration of eigenfrequencies via the COM interface, VB script or Python may cause random behavior.
In the Performance Analyzer, states of encrypted types have no information about the containing element.
Unfixed initial values are not used as initial values for the iteration in the initial system at the beginning of an FMI co-simulation.
B22525 During an infinite simulation, transformations are not applied correctly. A warning message is now shown that transformations are ignored in this mode. The warning is no longer displayed when the corresponding transformations are deleted.
The Modelica documentation is not displayed when Firefox is used as the default browser.
B22542 Valid record constructors are rejected by the parameter dialog or Model Explorer if they modify Boolean parameters.
B22566 Error messages about format errors in TXT and CSV files during the import of characteristic curves do not specify the actual problem.
B22581 The icon of the low pressure line (type Hydraulics.Lines.PipeLP) is missing when the simulation starts.
B22582 Variable parameters may not be displayed correctly in records. Parameters are shown as variables after the data type has been changed. Modelica code is not fully displayed in the properties dialog or in the TypeDesigner.
B22602 Recording and playing back an animation often causes high memory usage as well as unexpected behavior in the result windows. The recording feature is therefore now only available if a stop time is specified.
B22684 Freezing the result curves of variables with Modelica units may cause an incorrect conversion of units resulting in an incorrect visualization.
B22699 Assigning array elements may cause errors during the reading of initialization files.
B22705 Result curves may disappear if zoomed in too far.
B22710 Simulink S functions generated through code export cannot be integrated on the dSpace DS1006 platform.
B22714 Freezing a result curve may cause an unexpected error if the global variable nSim is not a string.
B22921 Active faults in the System Reliability Analysis (SRA) are not correctly displayed in the component's icon.
B22927 In rare cases, errors may occur in a compiled simulation that uses the GNU compiler.
B22954 Creating a new parameter in the Model Explorer may cause SimulationX to crash.
B22957 Closing a model may trigger a license prompt.
B22958 Closing the property bar in the result window after a modification that has not been applied explicitly (by pressing the ENTER key) may cause SimulationX to crash.
Results of a steady-state simulation depend on the choice of result variables.
Hydraulics: In models with a flow sensor, power sensor or multiplier, the assignment of the mdot variable to an equation is missing when the equilibrium solver is used.
Driving Maneuvers: The wind attack angle has no effect on the drag calculation if the wind speed is 0.
B23064 Inserting hold variables in partitions of synchronous models may cause errors during code generation.
B23111 SimulationX-specific fields in the experiment annotation are ignored when read.
Models with a symbolic partial derivative der(y,x) that cannot be formed do not show a warning message.
B23133 Simulink S-functions (without solver) created through the SimulationX code export no longer show a warning message during the simulation in Simulink if a state variable is specified through the Modelica function reinit(), for example.
B23138 Convergence problems may occur if time steps are too small before a discontinuity. Furthermore, the staircase interpolation uses an incorrect value when passing the last point of the curve.
B23143 Loading required libraries does not work reliably in some cases.
B23159 CVODE does not abort when floating-point errors occur during the calculation or output variables.
B23161 Loading and saving computed models triggers a new GSA.
Boolean inputs are not inserted correctly during the generation of an S-function.
B23168 Code export returns errors when parameters are selected.
In certain cases, SimulatioX incorrectly states that a missing each has been corrected automatically.
B23196 The compiler option bSplitCodeGen is always set to false even if the model was saved with true.
B23199 Symbolic optimization during the GSA does not recognize certain cases and fails to optimize the system of equations in the best possible way.
Some models created with previous versions of SimulationX lose their protocol attributes when they are saved again.
B23242 For specific models, the GSA takes significantly longer than necessary.
B23247 If there are references which cannot be resolved, opening the parameter dialog triggers an indefinite loop of warning messages that cannot be ignored.
B23257 Loading dependent frozen curves in the result window may cause them to be displayed with the same display parameters as the original curve.
B23266 The record type "Last Value" records incorrect values at FixStep.
Hiding parameters with conditional declarations no longer works correctly.
The element Ball Screw Drive (type PowerTransmission.Transmissions.BallScrewDrive cannot be initialized without a GSA warning if modelT=translational and rotational is selected.
Copying and pasting pipe structures takes very long.
B23270 The internal documentation of types is displayed incorrectly.
B23272 Opening a model with the 3D view may cause SimulationX to crash.
B23273 Editing a local type in the TypeDesigner deletes it in the package.
B23278 The General.PrePostProcessing.BasicsPPP.DefineBatchTypes element does not execute any script.
Contrary to other options, the visualization option kindAni==PowerTransmission.DogClutchAnimationKind.Absolute has no modulo function.
Some models cannot be compiled with older versions of Microsoft Visual Studio (2013 and older).
An exported model for NI VeriStand can be imported, but not calculated in NI VeriStand.
Hydraulics: The cylinder leakage models have the wrong algebraic sign for the relative motion component of the leakage flow.
B23329 Closing a TypeDesigner dialog while a class is still open in another TypeDesigner dialog causes SimulationX to crash.
Measuring curves with the crosshairs in a result window causes the date and time to be shown for the current time zone and not in the UTC/GMT format.
B23345 Adding/Deleting elements to/from models with large recorded animations is very slow.
B23367 In isolated cases, LTI functions are not transformed correctly for steady-state simulations. Constant terms in the argument are extractd from the LTI function, but the LTI function is not applied to them.
B23391 Some parameters are not visible in the pneumatic distributed pipe (type Pneumatics.Pipes.PipeDis) if it is not connected.
B23392 Names of dialog pages and groups cannot be changed for versioned types.
B23394 Dialog annotations of models and blocks are deleted in the TypeDesigner.
B23397 Renaming new enumeration types in the TypeDesigner may cause SimulationX to crash.
B23411 The default algorithm for determining the solver variables in algebraic loops may cause unfavorable numerical results.
B23419 Hydraulics: Creating or editing a user-defined fluid may cause parameters that have already been modified to be reset to their default values.
Co-simulation with VehicleSim 2017 fails with the following message:

The run stopped at T = 0 because there was a problem opening PARSFILE "Results\Run_xxxxxxxx-xxxx-xxxx-xxxxxxxx-xxxxxxxx\Run_all.par". No such file or directory.

B23431 The table editor for multidimensional string parameters cannot be opened.
B23432 Invalid assignments of special formats to multidimensional string parameters deletes their dimensions.
B23441 In algebraic blocks, the hysteresis of zero functions is not enlarged automatically.
B23448 SimulationX freezes if a type is edited in the tree view.
Resetting a compiled simulation may take a long time and can cause SimulationX to crash.
B23473 Redundant dialog annotations are saved for constants.
System Reliability Analysis: If a component in a model is replaced with its faulty counterpart from the SRA library via the context menu, parameter values are applied regardless of the modified unit.
If final parameters in the TypeDesigner are extracted from a component of a submodel as inner components in order to modify them, warning messages are shown regarding unit or quantity.
B23487 Closing the dialog for unresolved references with "Ignore All" may cause SimulationX to crash.
The Modelica view is also updated in the background, which may cause performance issues with large models.
Elements of type PowerTransmission.ActuatingElements.PropSolenoid do not observe the current's limit iMax correctly and calculate an incorrect back-EMF. The stroke dependency of the force's characteristic map also uses the wrong scale.
B23493 Saving models with deep inheritance hierarchies may take very long.
B23494 During QR factorization (LAPACK), division by 0 may occur in rare cases.
B23506 Copying a component of a local type to another model may cause SimulationX to crash.
Torsional Vibration Analysis: In the gear model (type TVA.BasicsTVA.Gear), a division by 0 occurs for the free definition of the torque limit kindLimit.
B23513 The type selection for redeclarations lacks types which are not directly derived from the constraining type.
B23523 Pneumatics: The representation in the symbol of the pneumatic check valve (type Pneumatics.Valves.CheckValve) does not correspond to the actual opening state.
B23526 Assignments to array elements of type string may not be inserted correctly in algorithms.
final modifications disappear when saved without a value.
B23534 Adding a license is not possible if there is no free license left for the active edition.
B23549 Resizing a component interactively in the tree view produces unexpected results if PreserveAspectRatio is enabled in that component type.
On Windows 10, there is a dramatic loss of performance when Diagram View is drawn.
B23559 The numeric display shows values only with simple accuracy.
B23564 When TDM-GCC is used as compiler, floating-point exceptions remain masked and numeric problems are not detected.
B23565 Column labels are sometimes not imported during the import of characteristic curves (*.txt, *.csv).
B23567 Variable parameters selected as inner components during the creation of compounds are displayed as results but not as parameters.
B23777 Playing back animations of loaded models is not possible if constants are displayed in the library tree.
B23785 The ship model (type PowerTransmission.DriveAccessory.Ship) shows an incorrect behavior for negative speeds and a non-integer resistance coefficient kappa.
B23832 Copying and pasting a label in the TypeDesigner changes the font size.
Settings for the Diagram View (e.g. grid alignment, zoom etc.) are not saved with the model.
B23842 Results in the Model Explorer show attributes of top-level connectors.
B23861 Creating the documentation page in the TypeDesigner omits parameters in the parameter table which are assigned to a parameter group.
B23874 Windows libraries with spaces in their directory cause the paths to be split into invalid parts, so the libraries cannot be found.
B23878 The library tree may not reflect changes to types correctly if content is deleted.
B23879 An open Text View is not updated after a result curve was frozen or when a new variable is created in the Model Explorer.
B23888 Application.ShowProgressBar of the COM interface does not show the last step.
B23889 The Document.Navigate method of the COM interface also opens types and components that do not belong to the model. Calls with the global ident, e.g. doc.Navigate, need to be replaced with calls with the relative ident doc.Navigate(simobject.GetRelIdent(doc)).
B23911 Tooltips for components of local types display the ident with internal prefix.
B23950 Memory optimization is missing in functions generated with the code generator.
B23972 Classes within packages cannot be renamed if the package is saved as a directory.
B23975 The button "Insert Table" on the Documentation page of TypeDesigner does not work.
B23978 STL annotations and modifications are not saved with the model if compounds with elements of type Mechanics.MechanicsMBS.Bodies.CADImport are modified.
B23979 Copying compounds with elements of type Mechanics.MechanicsMBS.Bodies.CADImport causes an incorrect 3D representation.
The SimulationX print preview crashes if the model contains Boolean variables.
Active protocol attributes of base class elements are not copied.
B24000 The model name in the Result Window Manager is not displayed when the model was saved with "Save as...".

Version 4.2.2 (March 2021)

New Features and Changes

N10001  Version 4.0 of the Modelica Standard Library (MSL) is now supported in SimulationX through a customized ModelicaServices library. Both libraries are available for download from MyESI.
N10002  The 3D Scene Explorer can now be used to import 3D geometries and textures from obj files to depict the static environment (scenery) of vehicles, machines etc.
N10003  The System Reliability Analysis library can now take a parameter's deviation from its nominal value in both directions into account. For this purpose, it is possible to vary the intensity of the fault element in one or both directions. Instead of a functional relationship between intensity and error change you can now also define a range of values for the parameter deviations.
N10004  The new Sample Browser can now show additional metadata and multiple filters at a time.
N10005  The new Sample Browser now shows an animation at the first start so users would not think there were no samples.
N10006  Natural gas can now be used as a new fuel for marine engines from the Ship Energy Systems library.
N10007  The Humidity option is now available for real gases from the Pneumatics library.
N10008  If for the procedure order >(=)3 very small time steps are selected because of the error test while undesirable high-frequency oscillations occur in certain result variables, you can now increase the stepsize by suppressing 4 or 10 of these oscillations through BUseOrder2=true and dblFacForUseOrder2 under Further parameters ..., which may help to speed up the calculation significantly.
N10009  As with internal solvers, CVODE and FixStep solvers now use the distance between dtProtMin and tStart for equidistant log points even if tStart is not a multiple of dtMin. This applies equally to time steps (for the FixStep solver) and sample() points: They are counted from the actual tStart. tStart is no longer rounded to a multiple of dtMin.

Solved Problems

A model cannot be compiled with CVODE, because a variable has been removed through synonymization.
B18066. The previous() operator cannot be applied to a vector element.
B18216 Discrete variables in algorithms are not initialized properly in clocked partitions.
B19730 Consistent initial values cannot be found if a record component determined through an initial equation is a parameter with fixed=false.
B20558 If sample() is combined with clock ticks at different times (e.g. through FMU), computation errors may occur after the first clock tick that does not coincide with a discontinuity.
B21425 An overdetermined initial system of equations is ignored, hence a simulation is performed and not aborted with an error message.
B21601 Loading a great number of libraries may cause SimulationX to freeze.
B21981 Missing assert() in when statements does not abort the simulation.
Model computations take longer than in previous versions of SimulationX.
B22129 Parameters in connections propagated with the fluid are changed implicitly if the type of a connected object is modified.
If other parameters are referenced in start attributes, the initial value may not be taken into account during the generation of an FMU from the model.
B22233 The connector positions of mirrored or scaled components in the Diagram View may be incorrect in some cases.
SimulationX creates empty directories in the public and personal Documents folders for fluids, external functions and Modelica libraries even if other directories were specified for them.
Modelica asserts and errors are not displayed in the output window if SimulationX is used with the GNU compiler.
B22256 During the calculation of consistent initial values, a rectangular algebraic block is incorrectly recognized as unsolvable.
B22266 Multi-dimensional constant assignments are not held together as an array equation if there are references to components of the array.
B22286 When a local type in a model with types embedded is saved, the annotation for the graphical representation is lost.
B22288 After embedded types were edited, they may appear multiple times in the Library Bar.
Freezing curves may cause SimulationX to crash if result windows have empty panels.
B22314 Annotations in the extends clause are lost during the save process.
B22321 A new GUID is generated for each new FMU export from the same model even if the model structure has not changed.
Importing characteristic curves from a text file may cause SimulationX to crash if the file has no header.
The date format for days does not allow for a value greater than 30.
B22411 The dialog annotation multiplies when saved multiple times.
Freezing curves in a result window resets the units of measurement if they are based on a variable with a Modelica unit.
B22459 Selection boxes in the 3D View section of the ribbon menu are not populated correctly if they were added manually to the ribbon menu.
B22463 Duplicating a type creates an additional import statement in the Modelica code.
Opening the Code Export Wizard may cause an error if the model contains an invalid parameter expression of type string.
B22526 Certain function calls within a loop of an algorithm are not recalculated if an identical function call was already executed before the loop.
B22540. Loading a computed model with clocked partitions causes a syntax error.
B22544 Certain linear equations cannot be re-arranged symbolically.
B22548 Comments of the ribbon menu buttons for camera rotations in the 3D view are incorrect.
B22557 The 3D view shows visualization artifacts in large 3D scenes.
B22574 Embedding external types may cause SimulationX to crash if the model in contains redeclarations.
B22585 Error messages in the parameter dialog may overlap other windows.
B22620. Calling a function declared as partial does not prompt an error message.
B22637 Closing the library page of the General Settings without any changes results in an attempt to load selected unlicensed libraries.
The log attribute of Modelica.Blocks.Sources.RealExpression (MSL) cannot be set.
B22659 If a parameter of a (multi-dimensional) model is set with a record component through modification, the corresponding equation cannot be evaluated in certain cases.
Libraries in the library bar may take a while to expand if conditional graphics primitives (e.g., annotations with DynamicSelect or visible expressions) are used to display the component symbols.
A fluid base class cannot be recognized causing errors in pneumatic models and pneumatic connections.
B22676 Calculating polynomials through a loop in algorithms causes an incorrect derivative.
The value of the reservoir volume from the Vehicle Pneumatics library (type AutomotivePneumatics.Accessories.Templates.Lines.Reservoir) is not refreshed in the symbol immediately.
B22930. assert() calls with constant arguments are not treated as constant.
B22952 Loading libraries via the settings dialog may prompt for additional licenses.
B22964 Code generated during FMU export handles access to additional resources incorrectly, which may cause problems when such files are accessed after the import.
The Variant Wizard aborts without an error message when a new symbolic analysis needs to be performed for a variant calculation.
B23039 Setting intensity=0 in the SRA.SignalFaults.CalibrationError does not produce the nominal behavior of the model.
B23056 Moving global types to a model may cause the new local type to be shown twice in the Model Explorer.

Version 4.2.1 (Build 68070) Hotfix

Solved Problems

B17393 The element Hydraulic T-Junction 90° is not licensed for the Power Generation and Heating and Cooling modules.
B22359 Checking for licenses while the library tree is loading causes SimulationX to crash.

Version 4.2.1 (December 2020)

New Features and Changes

Diagram View
N10001  New floating menus (floaties) for model elements now allow for a quick integration of controls and visualizers in the Diagram View The added control or visualizer is automatically linked with the first of the matching parameters or variables.
N10002  Once you have selected an element, you can use the new floating menus to position and rotate the element's label without having to open the properties dialog. The corresponding buttons are also available in the ribbon menu under FORMAT
N10003  The Diagram View now also supports floating menus for multiple elements, graphics objects, controls and visualizers in order to mirror or rotated them at the same time.
N10004  Groups of selected elements can now also display a Qick Access toolbar
N10005  For vectorized model elements (e.g.Signal Blocks), SimulationX now also displays non-scalar dimensions This helps you identify more quickly where in the model vectorized data is used
Result Windows
N10006  Frozen curves now offer more customization options apart from the transparency, such as colors, line markers or line styles These settings are available for the frozen series or globally as a property in the result window where they can be saved as the default settings.
N10007  If transformations, such as Sum, include different units of measurement, "-" is now the default setting for them. The same applies to multiplications. For the resulting curve, you can configure the unit of measurement in the Property Bar at any time.
Library Bar
N10008  SimulationX now shows for each open *.isx project (including embedded types) root entries in the Library Bar Furthermore, the Library Bar displays model files and local types used within the models Create new types here as well directly in the embedded libraries. You can also move or duplicate types from embedded libraries through Drag & Drop
N10009  SimulationX now also embeds types that are selected within declarations marked as replaceable, but ignores alternatives that are not selected.
Properties Dialog
N10010  An element's properties dialogs now allow you to modify the attributes final (component cannot be modified in derivatives and instances) and each (concerns vectorized elements and modifies each vector component with this value) also for enumerations, Boolean parameters and records
N10011  Properties dialogs of Compound elements can now be accessed via the "Edit" button in the properties dialog of the surrounding type. The TypeDesigner offers for that a new option "Display as Parameter"
N10012  Parameters (constant or variable, fixed or non-fixed) can now also be displayed as a result variable and/or as an input field in the properties dialog
N10013  SimulationX offers various improvements for the parameter input to prevent warning messages and errors that would otherwise only occur during the symbolic analysis The software now also checks data types for enumerations and records SimulationX can also offer suggestions to correct invalid expressions if possible.
Other Features
N10014  The option to set Undefined Dimensions for a component has been removed from TypeDesigner For non-scalar dimensions, we strongly recommend that you specify the dimension of the component (e.g. as a vector (:), 2D matrix (5,:) or 4-dimensional array (4,2,2,3). The size of a dimension can be expressed either through a number, a parameter reference (a constant, Integer parameter) or, if unknown, by a colon (:).
N10015  The unit groups "Base Quantities"→"Energy", "Acoustics"→"Acoustic Impedance" and "Hydraulics"→"Pressure Change per Flow Rate Change" have new units
N10016  The Code Export Wizard now removes invalid parameters automatically if they include expressions with references to other parameters.
N10017  When an *.isx project is saved with embedded types, SimulationX now also includes referenced data files (e.g. of tables).
N10018  When a model that contains unencrypted Global Types is saved, it is now possible to include user-defined fluids. Fluids as well as user-defined fluids can now be displayed also in the Library Bar (activate the Fluids filter).
N10019  Upon successful data import for the harmonic synthesis, the user is now prompted to check the settings of the method
N10020  External functions from static libraries can now be used for compiled simulations as long as they are compatible with the compiler used in SimulationX and its SDKs.
N10021  The Modelica compiler (GSA) can now hold array equations together which are often the basis of multibody systems (MBS) or other applications with complex 3D animations. These compiler improvements increase the performance of the GSA as well as transient simulations significantly Code export and certain equation constellations will be fully supported in future releases.
N10022  CVODE is now the default solver for Modelica models created with other tools.
N10023  For errors realting to license borrowing, SimulationX now provides more detailed information, e.g. whether the desired borrowing period is at all possible with the used license. By default, ESI only provides licenses that limit this period to 14 days. Longer periods must be specified when you request a license from ESI.
N10024  All buttons for properties and settings dialogs now show a uniform "gear" icon
N10025  As of version 4.2, SimulationX no longer includes a printable documentation (PDF). The Online Help on the web or as a locally installed version is now the sole knowledge source.


N10026  Pre- and Post-Processing Tools: The Python-based optimization tool (General.PrePostProcessing.BatchProcessing.Optimize) now lets you define a threshold value (option) for the target function.
N10027  Pre- and Post-Processing Tools: The Spectrogram element (General.PrePostProcessing.SpectralAnalysis.Spectrogram) now also allows you to display frequencies as a function of velocity for Campbell diagrams
Generic Interfaces
N10028  The OPC Classic interface as well as the PLCSIM v.5.x interface are now available as 64-bit versions
N10029  The communication interface for NI VeriStand Workspace (InterfacesGeneral.Communication.NIVeriStand.VisNIVeriStand) now supports NI VeriStand 2018, 2018 SP1 and 2019 R2
N10030  The TCP/IP Co-simulation element (InterfacesGeneral.CoSimulation.Coupling) works stable even with solvers that use compiled C code.
Driving Maneuvers
N10031  Two new driver models (VehiclesMBS.DriversManeuvers.Drivers.Driver2 and VehiclesMBS.DriversManeuvers.Drivers.Driver2ManGen) give you the option to connect external vehicle controls via additional signal inputs to investigate various standard driving maneuvers or user-defined maneuvers, for example in the field of ADAS. The library includes also new open-loop driving maneuver models based on the ISO and NHTSAM standards The maneuver models for double-lane change and steady-state circling now provide an optional section to let the vehicle run out longer The signal outputs are directly compatible with the signal inputs of the new driver models, which simplifies modeling significantly.
N10032  With the new model of a switched inverter for three phases (ElectroMech.Converter.Modules.SwitchedInverter) you are now able to perform a detailed analysis of switching effects in inverters to assess losses as well as current peaks and to examine control systems. Furthermore, the new model of a switched inverter leg (ElectroMech.Converter.Modules.InverterLeg) allows you to model your own inverters easily and quickly.
N10033  The models Space Vector Modulation (SVM) (ElectroMech.Converter.Controller.SVM) and Pulse Width Modulation (PWM) (SignalBlocks.Special.PWM), on which the SVM is based, have been enhanced It is now possible to take tri-strate behavior into account where you have three states {1,0,-1} instead of two, so that in the state 0Both the High and the Low switches are inactive. These improvements can also be found in the models of controlled inverters for machines as well as in the frequency converter.
N10034  Simulate and analyze torque ripple as a source of noise or vibration excitation caused by discrete controllers for electric drivetrains. All field-oriented controller models and the corresponding controlled inverter models, the rectifier model, the inverter model and the frequency converter in the Converters library can now represent discrete circuits
N10035  Actuators: The centrifugal pump model (Hydraulics.Actuators.PumpCentrifugal2) now provides an alternative parameter set (nominal volume flow, nominal pressure difference of the delivery head, nominal speed of the pump) from which the model can automatically generate a predictive characteristic curve taking the non-linear behavior (algorithm based on affinity rules, realistic range: Q=0 to H=0) into account.
N10036  With the FluidDesigner, you can now create fluids with higher viscosity classes as defined in the ISO standard EN ISO 3448 (2010) for your own lubricating fluids. There are seven new classes available: ISO VG 150, 220, 320, 460, 680, 1000, 1500
N10037  Lines: The library contains a new pipe model for low pressure applications (Hydraulics.Lines.PipeLP) with an option for 3D visualization and the automatic calculation of the hydraulic resistance of knees, expansions and contractions. Dynamic pressure, fluid inertia, heat transfer etc. are also taken into account. You can also visualize energy and hydraulic contour lines.
Signal Elements
N10038  The model of a short-term mean value filter (SignalBlocks.Special.ShortTimeMean) now supports the calculation of a moving average to determine short averages within a moving time window. This option requires only the time window's width parameter, which simplifies handling considerably.
N10039  The model for band checks (SignalBlocks.FeatureExtraction.BandCheck) comes with two new options. As a user, you can now specify the perspective of the band check: "Did the signal leave the band?" or "Does the signal stay in the band?".
N10040  The Signal Monitor (SignalBlocks.FeatureExtraction.Monitor) lets you specify the number of digits to be shown in the icon as well as the icon's display width.
N10041  The limited PT2 element (SignalBlocks.Special.LimitedPT2) now also allows for variable limits.
N10042  All elements of the library Requirements Fulfillment now have three options for checking requirements It is now possible to check during a simulation whether a requirement has been met at least once or not. In these cases, the output rf keeps its value after the first calculation.
System Reliability Analysis
N10043  Create decision trees and main metrics based on the simulated data from your fault model studies to evaluate system reliability and safety for certain scenarios. For this purpose, SimulationX now comes with the new Fault Data Analytics tool (FDA) which is based on scikit-learn for Python and offers seven algorithms for machine learning with an intuitive user interface.
N10044  The robustness of variation calculations has been improved. Variants which are not solvable are now skipped, and a single failed configuration no longer invalidates the entire database. These failed variants are now marked as "failed". It is now also possible to stop the variation calculation with the new "Cancel All" button in the "Run Analysis" window which then provides the partial result as a CSV or Excel file.
N10045  The configuration of variation calculations within the SRA add-in has been improved. The selected number of "variation steps for errors" now defines the number of variations (zero means only the nominal value is used). Furthermore, the parameter "Maximum number of simultaneous errors" is now limited to the number of selected errors.
N10046  The addin can now also take signal faults into account. The corresponding library provides new signal fault models which can be easily applied to signal connections in the model structure.
N10047  You can now quickly and easily create your own types of component faults via the context menu of the selected an element in the Diagram View.
N10048  The new model for signal faults (serial connection) in the System Reliability Analysis library (SRA.SignalFaults.SignalFaultsSerial) allows you to quickly and easily connect several signal faults of a signal connection in series, for example to take accuracy errors in signals into account.
N10049  The new model of accuracy loss in the System Reliability Analysis library (SRA.SignalFaults.PrecisionLoss) calculates a signal fault based on white noise and replaces the older model type SRA.SignalFaults.AccuracyLoss
Other Libraries
N10050  Power Generation: Extend your thermofluids applications of the Power Generation module by the thermophysical properties of the NIST fluids (National Istitute of Standards and Technology).
N10051  Power Transmission (1D): The clocked speed sensor (PowerTransmission.DriveAccessory.SpeedSensorCl) now also permits a non-integer number of teeth This allows you to filter input speeds of non-integer orders (e.g. 1.5-th order in 3-cylinder engines).
N10052  Mechanics: You can now use the new quadratic damping (Mechanics.Translation.QuadDamping) to define a factor for square-dependent resistances in the form of F[N] = d['Ns²/m²] * v[m/s]²
N10053  The hydraulic 90° T-junction is now also available in the Power Generation and Heating and Cooling libraries.

Example Models

N10054  The Sample BrowserHas been completely overhauled and is now available as a browser-based online version which always offers you the latest example models. For an even better experience during your search for relevant topics and models, the new user interface inlcudes a variety of filter options and visual enhancements
N10055  The Sample Browser includes two new example models for hydraulic safety valves
N10056  The Sample Browser includes a new example model for the creation of pneumatic fluids data sheets
N10057  The Sample Browser includes a new example model for gas turbine engine cycles with intercooler and heat recovery
N10058  The Sample Browser includes also several new examples of applications in electromechanics and system reliability analyses.

Solved Problems


B17235 It is not possible to freeze curves in the result window if it holds transformations with operands which themselves include frozen curves already.
B17932 Using characteristic curves in clocked models causes compiler errors.
B17950 If visualizers, shapes and control elemtns are hidden via the filter, they can still be selected and modified in the background, which could cause them to be moved around by mistake, for instance.
B17972 It is possbible to create derivatives of Modelica types with the final attribute.
B18535 The DEL key does not work in the input fields of the ribbon menu.
B19165 Exporting an FMU that uses its own DLL, does not include the DLL in the process.
B19478 After a model with saved animation is loaded, the shown simulation time is incorrect.
In some cases, Modelica connectors cannot be connected if one of the connectors is multidimensional.
B21104 For transformations in the result window, minimum and maximum are sometimes incorrectly calculated.
B21443 The index of vectorial result variables in older models is sometimes displayed twice in the legend of the result window.
B21445 The tooltip displaying long expressions in the properties dialog often covers additional controls, such as the file selection button. For this reason, these tooltips are no longer displayed. To view the complete expression, use the "Edit Expression" function. With formatting options and syntax highlighting, this method is much more convenient.
B21490 If the maximum calculation step size for internal solvers is dtMax < 1e-8, the current step size is sometimes larger than dtMax
B21176 Using "Paste here" pastes the selection at the command's position in the context menu and not at the original position of the cursor.
B21615 The Code Export Wizard now includes a new checkbox to split long functions (enabled by default). It allows for the code generator to split long functions into smaller ones to reduce compile time and permit compilation even with activated optimization.
B21617 Pasting the content of the clipboard into an expression of an enumeration or a Boolean parameter in the Model Explorer causes SimulationX to crash.
B21990 Renaming Packages in the TypeDesigner which were saved as a directory removes the included models and Packages if they themselves were saved as a directory or file. However, the associated files are not deleted and can be modified to match the new Package name (Modelica within). Renaming such Packages in the TypeDesignerHas now been disabled to avoid this problem.


B17742 The calculation of the Grashof number in the type HeatTransfer.SteadyStateHX is incorrect.
B17809 The unit for kinematic viscosity in the type HeatTransfer.Accessories.BasicHeatTransfer.HeatTransferModels.BaseHeatTransferModelModel is incorrect.
In case of translational expansion in combination with a shifted or rotated element coordinate system, the model type MechanicsMBS.Forces.Forces3D Interface may yield incorrect results.
B19564 The specific enthalpy of water in the Hydraulics library is one power of ten too high.
B20350 Models with humid gases generate singular systems of equations when the CVODE solver is used.
When the dynamic behavior of temperature is taken into account for the hydraulic connection, the element Rotational Nozzle causes that behavior to be incorrect.
The calculation of the the gear body's inertia tensor is incorrect in case calcI=="Mass and Dimension"
B21859 In the drum brakes S-Cam and Wedge , the spring's installation position is only partially taken into account for the calculation of the spring's restoring force.
The warning "CPolygon: An odd number of intersections has been detected" also appears in the debugging version of the polygon-polygon contact model.
B21943 The algebraic sign of the result variable Qn12 in the double pressure valve of the Vehicle Pneumatics library is incorrect.

Useful Tips

System Requirements

For the installation and execution of SimulationX you need Windows 7 or later.

Some features of SimulationX need a C/C++ compiler. It is recommended to install the Microsoft Visual Studio 2015. About the conditions for use of the free Express editions or Community editions of Visual Studio inform you at

Support of the Modeling Language Modelica

SimulationX 4.2 supports the modeling language Modelica in accordance with the Modelica Language Specification Version 3.3 with certain exceptions. The following features are currently not supported (the statements in brackets refer to the corresponding section in the Modelica Language Specification 3.3):
  • Annotations for version handling (section 17.7)
    • version
    • conversion
  • Annotations for user input (section 17.5.7)
    • OnMouseDownSetBoolean
    • OnMouseUpSetBoolean
    • OnMouseMoveXSetReal
    • OnMouseMoveYSetReal
    • OnMouseDownEditReal
    • OnMouseDownEditInteger
    • OnMouseDownEditString

Support of the Modelica Standard Library

SimulationX 4.2 includes version 3.2.2 of the Modelica Standard Library.

The following packages are currently not supported:

  • Packages
    • Modelica.Electrical.PowerConverters
    • Modelica.Magnetic.QuasiStatic.FundamentalWave


There are several ways to improve the performance of SimulationX:

  • Animating the diagram view during simulations is especially demanding for older computers with only one CPU core. Disable this feature if you do not need it for real-time displays like bars, tachometers or Modelica graphics (Extras/Options/GeneralAnimation).
  • Providing trace information requires a great deal of computing resources even if the output window is minimized. Enable only those options under Simulation/Transient Settings/Tracing that you really need. Use the model parameter traceOn (tracing enabled) to limit the output to the relevant range (e.g.traceOn == time>0.6).

Using External Solvers for Simulations

  • Before computation, C code generation of the model and subsequent automated compilation is performed. Thus, the restrictions described above regarding supported model features apply. In order to use external solvers, a Microsoft Compiler.
  • It is recommended to install the Microsoft Visual Studio 2015.
  • Only certain tracing functions are supported.
  • Currently, not every type of analysis is supported for this solver. This affects:
    • Equilibrium computations
    • Linear system analysis (frequency response, pole-zero plot, export of system matrices)
  • Please employ the BDF or MEBDF solver for these analyses.
  • Reset points are not taken into account.
  • Initializing the model to a specific state is not possible.

Code Export

  • If external functions or objects are used in the model, the exported code has to be updated. During the export, a warning is displayed for these cases.
  • Exported C code of thermal-fluid models containing NIST fluids runs exclusively on Windows. The fluid properties are computed in external modules which are only available as binary files for Windows.

Rigid Mechanical End Stops and other Model Features

Code export of models containing specific features is currently not supported. This predominantly affects systems of equations whose structure changes considerably during simulation. This applies especially to rigid mechanical end stops, ideal electrical diodes, and models featuring unipolar stepping motors. If the model contains a rigid mechanical end stop or an ideal electrical diode (Electricity.Analog.Ideal.IdealDiode), a corresponding error message is displayed during code export.

A number of model objects can be parameterized to internally use rigid mechanical end stops:

  • The end stop model of the Mechanics library: Mechanics.Translation.EndStop, Mechanics.Rotation.EndStop
  • Basic mechanical elements which can be switched to rigid with backlash: Mechanics.Translation.SpringDamper, Mechanics.Rotation.SpringDamper
  • Joint models included in the MBS Mechanics library
  • Couplings, clutches, actuating elements, and transmissions included in the Power Transmission library
  • Hydraulic and pneumatic cylinder models

For the code export to succeed, it is necessary to switch to the option “Elastic End Stop”. A spring damper element is inserted in this case; Thus, it is necessary to make sure during parameterization to provide a sufficiently high damping.

Is the end stop not applied between two masses or inertias but against absolute, the end stop models Mechanics.Translation.AbsEndStop or Mechanics.Rotation.AbsEndStop, respectively, can be set to “rigid”. The code export supports these objects.

Periodic Steady State Simulation

Periodic steady state simulations with dynamic state selection may cause wrong results or convergence errors. Currently, the index reduction forces dynamic state selection for certain models, such as multi-body systems with general joints.

A warning is generated for those models. If the variables which are appropriate to describe the motion throughout the whole simulation are known in advance the stateSelect attribute of those variables can be set to "always". This can completely avoid dynamic state selection and the connected restrictions.

Alternatively the index reduction can be switched off by checking the box "No index reduction" on the page "Symbolic Analysis" of the simulation settings dialog for the periodic steady state simulation. If the model contains nonlinear hidden constraints such as a crank drive with rigid shaft or a transmission gear one of the nonlinear methods should be selected for the periodic steady state simulation. The nonlinear periodic steady state simulation computes all result quantities except the excitation results correctly without index reduction.

Choices Annotations in the typeDesigner

Choices annotations generated with the typeDesigner do not contain any modifications. The modifications can be subsequently defined in the Modelica source code.


Choices without modifications can be defined by the typeDesigner:

replaceable typeBase model1 annotation(

choices(choice(redeclare replaceable typeA)));

end Container;

Choices with modifications can only defined in the Modelica view:

replaceable typeBase model1 annotation(

choices(choice(redeclare replaceable typeA(p1=10))));

end Container;