What’s new in 24.2.0
Release Date: February 2024
New features and significant changes
New documentation structure
We have seriously updated the documentation - we have changed the structure of sections. Everything related to calculations is now in the Calculation Environment section, and everything about modelling and simulation is in the Modelling and Simulation Environment section. The sections have been tidied up as well - we’re sure you’ll like it.
Maths computing environment
Working with Python
You now have the opportunity to upload your notebook, which is written in Python, to Engee and run it in the script editor. We recommend using the Jupyter magic commands to install the necessary packages:
!pip install package
This will display the variables from Python in the workspace (you will see that they are of type PyObject).
MAT format support
MAT is a familiar file format for MATLAB users, which contains variables, functions, data arrays, and so on. Now you can import files of this format into Engee, as well as export variables to it.
Modelling environment
Model Reference
One of the features that many people are waiting for is the model reference. These models are used to create the hierarchy of a system model. Model references are ideal for subsystem usage, unit testing, parallel builds and large systems. Look for the Model block in the library.
Annotation improvements
Annotations have been improved:
-
Removed the background and border.
-
Improved font and display (annotations are now one line by default).
-
Improved text and hyperlink transfer, scale display, and more.
Unconnected blocks and signal lines
You can now run models with unconnected blocks and lines on the canvas. This is useful for debugging models and performing virtual tests, and reduces the routine when developing multi-variant models.
Displaying the order of execution of blocks
With the new release, you don’t have to guess in which order the blocks will be executed in your model. A new setting in the debug menu allows you to build and display this order on your model.
Expanding the list of callbacks (callbacks)
Expanded the list of actions on the model for which callbacks are executed (first introduced in the previous release). It will be even more convenient to use them.
Saving the canvas setting when working with a model
Your Engee workspaces will now be preserved when you switch to different models. That is, open service menu windows will close and open depending on the model you are working with.
Improvements in the Data Inspector
Made several improvements to the Data Inspector:
-
You can now customise the graph output field. It is possible to select a chart layout template from the basic presets or customise it yourself.
-
The graph legend now displays the model name and run number when the cursor is hovered over.
-
Added a button to delete an individual run in the data archive.
Event detection in physical models
Variable step solvers dynamically vary the size of the integration step, increasing it when the variables change slowly and decreasing it when they change rapidly. Therefore, many small steps are performed in the vicinity of discontinuity points where the variables change abruptly. This often leads to a drop in the speed and reliability of calculations, as well as negatively affects their accuracy.
In Engee, the ability to incorporate a specialised event detection algorithm has been added to localise discontinuities more accurately without the overhead of excessively small integration steps. It improves computational accuracy and, in many cases, speed and reliability. Turning off the algorithm may allow the calculation to be completed faster, but at the cost of a significant drop in accuracy. The third mode with discontinuous functions described in the first paragraph is recommended to be used only in cases when other modes are not suitable for some reason.
Reworked Engee Function
We have spent a lot of effort on refining the Engee Function user block:
-
The block has completely changed the system of working with ports, sizes and data types. The number of ports is now set as a number, which leads to creation of corresponding fields for each port separately in block parameters.
-
Each port can be given a name and a supported input dimension and type (or set
-1
for inheritance). -
There is also a direct_feedthrough setting which, when unchecked, allows the block to open loops.
-
If for some reason this simple validation is not enough for you, it is now possible to explicitly override in the code the interfaces for inheriting dimensions, types and determining which ports will open loops.