Application overview long
Modelon Impact comprises of four (4) sections: Navigation bar, Model Canvas, Workspace panel and Details panel.
The Navigation bar at the top and provides access to select work-mode, settings and access the help center and support.
The Diagram View area located in the center is where the active model is shown and interacted with.
The Code View lets you view and edit the Modelica source code of model or class. Code edits are automatically saved and synchronized with the Library tree, at least when you leave the Code view and switch back to the Diagram view.
To the left, Workspace panel contains the workspace browser where model assets such as own models and libraries are found. The space can be collapsed.
To the right, Details panel contains a number of tabs that provide access to parameterization of models, configuration and execution of experiments and analysis of results.
In addition to the work areas, five further areas can be accessed:
- Icon editor - create icons for classes (models, blocks, etc.)
- Document editor - create a documentation for a class.
- 3D viewer - animate and export a simulation in 3D (mainly for Multi-body systems)
- Log viewer - see compilation and simulation logs
Modelica has a API and external tools can be used to customize simulations.
After logging in, the user is always presented to start pages allowing to return to previous workspaces and models. All work is conducted within a workspace so one must be selected or created. A model does not have to be selected.
- Select workspace or create a new.
- Select a recently edited or visited model. Alternatively expand the workspace panel .
NAVIGATION BAR 🔗
Modelon logo 🔗
Click the Modelon logo top left to return to the workspace selection. Modelon Impact version number is diplayed when mouse is hovered over logo.
Mode selection 🔗
The three mode selection buttons are located in the middle of the app bar and are used to select the mode of the application.
- A lock icon next to the model name indicates that the model is read only and can not be edited. Duplicate the model to your workspace to be able to edit it.
- While working on the Experimentation or Result mode, the modeling canvas will be in Read-only model i.e. no addition or deletion can be done to the model structure and code layer cannot be modified.
- The keys 1, 2 and 3 on the keyboard are used to toggle between different modes. The keys also control what tabs are shown in the Details panel.
Model mode 🔗
In Modeling mode, all values displayed origin from the active Modelica model whose name is shown in the button and which is marked as active in the Workspace panel to the left. Any changes will also automatically be saved to the active Modelica model. When working in Modeling mode, the following tabs in the Details panel are available:
Experiment mode 🔗
Experimentation mode is used when the user wants to create an experiment using a particular analysis with certain settings and/or make changes to model parameters that are not necessary to be saved in the model artifact itself. An experiment can be thought of as a layer on top of the active model containing experiment values displayed in the Experiment summary tab. Experiments can be created on top of both writeable and read only models. When the model is simulated in experiment mode, settings and parameters will be taken from both the model and the experiment, with the parameters in the experiment taking priority - meaning that any experiment values will replace the underlying values in the model.
When experimentation mode is active, the following tabs are available in the Details panel:
All values belonging to the experiment are indicated in the Properties tab with a blue background and frame as shown below.
Experiment values can be removed by clicking the X to the right of the experiment modifier when hovered or selecting the entire value and deleting it followed by pressing enter. This will make the default value stored in the model appear.
Go to How-to > Set-up and run experiments chapter to learn about how to execute a model.
To get an understanding of the behavior of a system, experiments are typically run a number of times where key parameter values are swept to cover a certain parameter space. This can be done in Impact by using the range() operator. The range operator can only be used in experiment mode and is defined as
range(start_value, end_value, number_of_steps)
To use it, ensure you are in Experiment mode and simply type in the range for the parameters to be swept in the properties tab.
Click here to see how to set up and run a multi-simulation.
Result mode 🔗
The third button in the App bar is the Results button that enables the results mode. The results mode is used for analysis of models that have been executed. When the results mode is activated either manually or as a result of a finished execution, the most recent result for the active model is selected by default. The tabs available in results mode are:
In this mode, the user can browse the full result set in the Calculated values tab which is a tree structure representation of the generated simulation result. Alternatively, the user may opt to browse the result values in the Properties tab where parameters originating from the result will be shown in the respective value fields and where calculated variables are shown under the 'Variables' tab which is the last of the tabs.
Modelon Impact settings has five areas: Application, Execution, Export, Units and Workspace. Go to settings for details.
Help button displays menu with options to:
- Open the Help center in a new browser tab
- Contact the support in a new e-mail. Some basic information about the browser environment is automatically included (in clear text) in the mail to facilitate contact with support and debugging.
- Show available shortcuts and controls
Log out 🔗
Logs out of Modelon Impact.
The Diagram View (also called canvas) displays the structure of the active model and is always at the center as it is used to give graphical feedback when navigating, creating or editing a model.
The user can drag and drop components to the canvas and connect them together to construct systems that can be simulated, executed, and otherwise analyzed.
Common editing and viewing operations such as copy/paste, resize, pan, zoom are available when working with components on the Diagram View. Zoom feature is supported through mouse or keyboard combination. Zoom in: Ctrl + +, Zoom out: Ctrl + -. In the Diagram View, the zoom focus point is the last known position of the mouse pointer.
This view also serves as a backdrop during simulation and analysis as the user can interact and interpret defined views containing plots and stickies that are associated with components on the diagram. Stickies can be used to present both results from model execution and to give easy access to set parameters and other types of user input. This is what it looks like in modelling mode where parameters can be set.
The input fields with a blue border indicates an input parameter which has been edited by the user.
And this is what it looks like after simulation.
A tutorial on how to create a model using the canvas from scratch is available in the Tutorials section.
There are two action buttons floating on top of the view Execution and Views available at the right side of the view. Each button is associated with a direct click and a on-hover drop-down to select alternative actions.
Execution button 🔗
The execution button (or run button) triggers the default experiment associated with the model. The active execution type can be changed in the sub menu of the execution button.
Holding SHIFT and clicking on the execution button button will force a new compilation and create a new FMU for the simulation.
View button 🔗
A view is a defined set of plots and stickies for a model used to provide a canvas-oriented interface to the model with suggestions for commonly used parameters and relevant output variables suitable for analysis of the model. A view can be thought of as a kind of dashboard of a model. This includes what variables are plotted/shown in stickies as well as the positioning of plots and stickies.
Views can be created both for writeable as well as read-only models as they are stored as separate objects. The views are saved in the context of the active workspace for views created/modified on models in the workspace package and global libraries. The eye button toggles the default system view on and off. If no system view exists, it will toggle all component views on/off.
The drop down allows to select other preconfigured views or to open the right panel to access all the details.
Integrated log-viewer 🔗
New feature for 2022.1. Please consult release notes.
Modelon Impact uses Modelica as modeling language. When building or modifying a model, the information is stored as Modelica code. This code can be viewed and edited in the Code View. Code edits are automatically saved and synchronized with the Library tree, at least when you leave the Code View and switch back to the Diagram View.
Opening the source Code view🔗
If you are in the modeling mode you can see the Diagram view of your model or class. Using the drop-down menu in the top bar lets you toggle between Diagram and Code view.
If your model/class is write protected ("Read only"), you cannot edit the code. This state is indicated next to the class name above the toolbar.
Editing the source code🔗
It is possible to edit the Modelica source code for models/classes in your workspace.
Editing the source code directly is only recommended for experienced Modelica users. The recommendation is to edit the model graphically.
Components placed on the canvas can't be edited. Users must open the specific class specifying the component first using Open Class.
Write your code directly in the text. Modelon Impact automatically checks the syntax and indicates when and where errors occur. Use the toolbar to perform specific operations:
- Undo/Redo to undo or restore changes
- Search for code snippets or
- Find and replace code snippets (follow the instructions on the screen)
To make the code more readable, you also have the possibility to choose your favorite display mode.
Modelon Impact automatically saves every 3 seconds and when you switch to Diagram view. Modelon Impact keeps the original formatting from duplicated or imported models. This is relevant as certain tools will register a change in format as a new version even when the content is the same.
Check local balance 🔗
Check local balance informs user that the equations, algorithms and variables in the code are balanced meaning that they are solvable. More specifically the local number of unknowns (variables) should be identical to the local equation size (equations and algorithms). Modelon Impact will display errors in the message viewer and also provides hyperlinks there that take you directly to the incorrect part of the code.
Link to source code🔗
When a model does not compile, an error message is displayed with link to the part of the model source code for further investigation.
- Failed compilation result in an error message is displayed below the navigation bar.
- An error message contains a link that when clicked opens the code editor and places the view at the relevant code line for further investigation and troubleshooting.
WORKSPACE PANEL 🔗
The Workspace panel shows active workspaces and libraries and their content. Filter function helps find relevant components and models.
Filter field is found at the top of the Workspace panel is the field for filtering of library content.
- Enter the term to be filtered such as "example".
- Mark the libraries to be filtered. Workspace will always be searched.
- Filter results are presented by showing the folder structure and actual library placement in order to facilitate finding the same content in the future.
Library filter graphic
The filtering functions to find content in the libraries by filtering the class name. Full search on library content of class is not yet available.
The workspace browser is located at the top and is the part of the Workspace panel which contains assets that are editable.
Here the user is free to create models and packages and arrange them as desired. It is also possible to create, import, and export models and packages using the buttons next to the workspace name. The UI also supports the renaming of top level classes.
It is not possible to import an entire workspace zip file using the import button. To import a complete workspace, exit to the landing page by clicking the Impact logo twice and use the workspace import functionality there.
Favorites are used to quickly access commonly used experiment models and components. The user can create favorites by dragging a model to the Favorites section or by using the context menu of a model and selecting 'Add to favorites'.
A favorite is a shortcut to the model so when a favorite is dragged to the canvas, the content will be the class that the favorite is a shortcut for. The user can structure favorites by creating packages and rearrange the content by dragging and dropping.
Under Libraries, a set of global libraries can be found that are available across all workspaces. The libraries available to the user may be dependent on the specifics of the license purchased.
Impact provides support for using multiple library versions, in case the user requires different library versions for their work. Latest library is loaded by default unless there is metadata for workspace packages that identify specific versions.
The required version can be chosen from the drop down menu that appears.
The impact > libraries directory under Users must include multiple versions of the library for the drop down to appear.
This includes the Modelica Standard Library, commercial Modelon libraries and other libraries that might have been added to your Modelon Impact installation. These global libraries are not editable.
DETAILS PANEL 🔗
The details panel is located to the right in the application and is comprised of a seven (7) tabs:
Depending on which mode is active, different tabs are made available. For more info on which tabs are available in what modes, please consult the Navigation bar . A tab, which is a part of the panel serving a specific purpose, can be expanded and collapsed by clicking on its frame.
The header is found on the top of the panel and displays the name and icon of the active model or selected component, information about the model and what class the model has. If no component is selected, the header will display the active class. If the model being displayed in the header is writeable, the user can click on its name to change it. If it is replaceable, the user can use the class name drop down menu to change the class.
The information tab displays documentation associated with the active model or selected component.
The properties tab is used to configure the active model or selected component by setting parameter values in the input fields and redeclare replaceable components. The tab is structured in sub-tabs and groups according to the model definition (Modelica Dialog annotation). Furthermore it also contains values calculated during simulation. These can appear in any sub-tab/group depending on how the model is set up but can typically be found under the variables tab.
Parameters in record array components cannot be edited using the Properties tab. Click here to find out how to edit such parameters.
Components that are replaceable or have specifically been configured to do so will also appear in the Properties tab. Replaceable components can be changed to a different class by using the drop down menu and parameters of a component can be seen and modified by expanding the component using the expander icon to the right of the name as shown in the image below.
Some properties of a model are not displayed in the Properties tab:
- Protected parameters, variables and components. When something is declared as Protected it means that the model developer has actively chosen to hide the parameter/variable/component.
- Disabled parameters. The user may choose to display disabled parameters in Settings
- Final parameters. When a parameter has been set as final it means that it cannot be changed. The user may choose to display final parameters in Settings. For most users keeping the default option to hide parameters set as final is a good choice as helps to condense the parameter list highlighting only the important ones.
The user can set attributes of a parameter or variable by clicking the vertical ellipsis between the name and the value field. The content of the attributes will depend on the type of the parameter/variable. Changes done to the attributes will be indicated by a highlight of the vertical ellipsis color.
The filtering is accessed by pressing the funnel icon just below the Properties tab frame. Filtering can be done by category:
- Start values
- Modified parameters
and/or keyword. Furthermore, the user can expand the filtering type by pressing the icon just right of the keyword input field which will show available types to filter on.
The filter in Properties only applies to the current hierarchical level and not to sub-components.
The Components tab lists all components in the active model. Typically, this list corresponds closely to what is shown in the diagram but might include components that are not shown graphically in the diagram. The list is displayed in order of declaration but the user may choose to sort by alphabetical order to quickly find a component of interest. Selecting a component in the list will display its header and properties and the corresponding component will be selected in the diagram.
Double-clicking on a component in the component list is a shortcut to performing the 'Inspect component' function, which opens its content in the context of the instance within the model in the canvas.
The Experiment tab contains everything related to an experiment. In the upper part of the tab there is a list of available experiments. Experiments can be added by pressing the + New experiment link. Experiments are saved automatically as soon as they are modified.
Sometimes it can be useful to apply an experiments parameter modifications and analysis settings to a model, meaning that the content of the experiment is saved in the Modelica model. This can be done by right-clicking an experiment in the list and selecting Apply to model or Apply to new model. Note that the only analysis settings that can be applied to the model are dynamic solver, start time, stop time and interval.
Experiments in the list can be activated or deactivated by clicking on them and it is also possible to create, duplicate, rename and delete experiments using the context menu. When an experiment is active, the Experimentation button is shown with a blue icon and the name of the experiment. This means that if a simulation is executed the simulation will be used (regardless of what mode is active). Only one experiment can be active at a given time.
There are three sub-tabs where different aspects of the experiment can be configured.
In the Analysis tab the user can decide what kind of analysis that is to be used for execution and any related settings. The available analyses are outlined below. Analysis settings not shown below the respective analyses can be found under the Execution settings.
The Modifications tab shows all parameter modifications in the experiment. Any modification can be removed by clicking the X to the right of the entry. The Modifications tab is read only, so to add or change a modification, the user will have to access the respective parameter shown in the list in the Properties tab or using a sticky.
To reduce the number of variables stored in a experiment result, the user can consult the Output tab and add filters. By default all variables except protected variables are included. To limit the stored variables, the user can click + New filter and select a type of filter and depending on the type define it:
- Text: Enter the filter string according to the glob format (https://en.wikipedia.org/wiki/Glob_(programming), e.g. *summary* to keep all variables containing the string 'summary'.
- View: Select an existing view or the current view where the latter means all stickies and plots currently displayed on the canvas (meaning it will change if the shown stickies and plots are modified). All variables displayed in stickies and plots in the chosen view will be kept in the result.
Output filters can be removed by clicking the X.
This will enable dynamic simulation where the user can set: - Start time (Default 0)
- Stop time (Default 1) - Interval (Defaults to (stop time - start time) / number of result points defined in settings) - Solver (Default CVODE)
Changes made to the Dynamic simulation settings start value, stop value, solver and interval will be saved in the model if writeable.
Steady state This will calculate the steady state solution of the model taking any PbS (Physics based Solving) annotations into account.
- Custom Available custom analyses will appear in a drop down list under the Custom button. Arguments for the chosen custom analysis, if any, will appear below the drop down.
The simulations tab list execution results of the active model including timestamps indicating when the simulation was performed. The user can select a result to inspect its content in the tabs Properties or Calculated values. If a compilation or simulation has failed, there will be an entry with an error symbol saying 'Compilation error' or 'Simulation error' depending on what went wrong. It is possible to access the simulation and compilation log from the context menu (also for failed simulations and compilations), which is accessed by clicking the ellipsis icon in a given result list entry. The user may rename a result by clicking on the pen icon next to the name or remove it by clicking the X to the right of the filter entry.
In case of multi-simulation, simulation and compilation logs can be viewed for individual cases.
The calculated values tab will display the content of a result chosen under Simulations as a tree structure corresponding to the model hierarchy. It contains the same information as the Properties tab but presented without considering tabs and groups.
Shows calculated values of parameters for the selected simulation result. The tab includes a filtering function.
It's a good practice to add an icon to a model. The icon shows up in the package browser and in the model canvas.
Open the icon editor🔗
- Right-click on a model in the package browser
- Click on “Edit Icon” to open the icon editor view
Add an icon🔗
There are two ways to add an icon to a model:
- Create an icon by using the built-in graphical primitives
- Use an existing image
Create an icon by using the drawing tools🔗
Using the drawing tools you can be creative and use graphical primitives like rectangles, ellipse, text, lines and polygons.
- Small memory footprint
- Icon can be scaled up and down without any loss of the image quality
- Self-contained - the information is stored in the model
Use an existing image🔗
An alternative to draw your own icon is to use an existing image. To add an image:
- Choose the "Draw Bitmap" tool and pick an image from the image gallery
- Or drag an image directly into the icon editor (doing so automatically uploads the image into the Resource folder)
- Quick way to add an icon
- Larger memory footprint and the icon will loose quality when scaled up and down
- The image is stored outside the model
Modelon Impact uses Modelica as the modeling language. When building or modifying a model, the information will be stored as Modelica code. This code is shown in the Code editor.
The bottom part of the source code can include a Documentation annotation which serves as library component documentation. This part is based on html code, describing typically the model purpose, its behaviour, physics background and can include both math formulas and pictures.
Since it is impractical to edit the HTML code directly in the Modelica source code editor, Modelon Impact includes a documentation editor that allows the user to edit this html code.
Edit model documentation🔗
- Right click the model within a workspace package and choose Show Documentation. This will display the documentation of the selected model.
Since the documentation is part of the source code, the model needs to be editable to be able to edit the documentation. Therefore only models within the workspace packages are available for editing. Global libraries are write protected.
- Click on the pen icon () to enable the editor.
- Do not forget to save changes before leaving the editor by clicking the save icon ().
The editor supports adding pictures, links and other simple text and background operations.
Upload pictures to the Workspace.Resources folder to be able to include them in the documentation.
Some simulation results can be visualized in 3D. Right-click next to the model on the Model Canvas. If a 3D option exists, it will be displayed. Click on View 3D animation to go to 3D viewer.
There are several features available in the 3D viewer in order to isolate specific areas of the 3D simulation and bring results to the forefront.
Activating available vectors, visualizes them in the model where they will change in dimension to represent actual simulation results. Only available vectors can be turned on.
Scene allows control of how the viewer sees the model. Explode separates the model into individual component allowing a view inside the model diring the simulation.
3D Object Locator🔗
The 3D object locator allows you to focus and keep a selected 3D element in focus during animation. For example, you can more easily track an airplane flying around the earth or a vehicle driving down a long road.
Just follow these steps, if you plan to animate a model, which contains Multi-body elements:
- Run your model
- When the simulation is finished successfully, select the element you want to track in the Diagram View
- Right-click on the element and select "View 3D animation" from the dropdown menu. Then the 3D Viewer opens and the selected element is focused.
- In the Scene tools you can toggle "Rotate on Follow" and "Perspective Camera"
- Select a 3D object in the canvas you want to follow. Only when a single 3D object is selected, the "Follow" option in the right bottom corner is enabled.
- Important: To track the object during the simulation, activate (check) the option "Follow".
- Start the animation
If you select an element, which contains a substructure of multi-body elements (like the aircraft in the figure), please select one 3D element in the viewer canvas (c.f. cabin of the aircraft). This is required to enable the "Follow" option.
The start time and duration of 3D simulation can be set allowing to isolate specific sequences.
The 3D simulation file can be exported.
In some cases, where there are many or very large 3D objects, the preparation of the export may take some time.
The log viewer is accessed through the icon at the bottom left of the Model canvas. The log viewer contains two views:
Presents data on the compilations such as:
- Final run statistics
- Solver options
- Simulation interval
- Elapsed simulation time
Presents data on the simulation and informs user if simulation was completed successfully. Simulate a library example to study the data generated.
In case of compilation or simulation errors, the error message is displayed at the top of the Model canvas. Error messages are included in the compilation and simulation logs where relevant.
Modelon Impact can run in App Mode. This mode is a tidy and restrictive mode only providing capabilties to create and run experiments, and analyse results. You have access to the Diagram view of one model, but not it's Modelica code. This model was pre-selected, when exporting a workspace in Impact's "normal" mode for the App Mode. Furthermore, stickies and plots are available, and is possible to modify parameters and select views. This information will be stored in the experiment definition and will not affect the model.
You can start Impact in this mode only with a specially prepared workspace (see section Export a workspace).
What you can do🔗
- View the structure (diagram) of one model (pre-selected model)
- Changing non-structural parameters (modification of parameter values, but not changing enumerations or Boolean values (check boxes)); these change are stored in experiment definitions, not in Modelica
- Creating and running experiments (no change of the custom function called by the experiments)
- Create plots and do post-processing on plots
- Create stickies to enter values or to display calculated results
How to start the App Mode🔗
- User A prepares a workspace for the App Mode (export):
- User A can export a workspace for App Mode (see export of workspaces)
- Here, user A can pre-configure the model with stickies, views and plots and define this model for App mode when exporting
- The exported ZIP file can be passed on to user B
- User B receives the ZIP and can run Impact in App Mode (import):
- User B logs in to Impact and on the workspace selection page, the user can "import" the workspace (the ZIP file) (see import of workspaces)
- If this workspace is opened, Impact is started in App Mode (Hint: User B can delete the workspace, if necessary, via cogwheel ...)
- Here, user B can "play" with the model without modifying the Modelica code and run system analyses
EXTERNAL SOFTWARE TOOLS🔗
External tools can be used for model control, execution, multi-executions, DoE, post-processing and many other tasks.
Modelon Impact connectivity is based on the commands calling API (Application programming interface) which is a software architectural style that allows calling Modelon Impact commands using the web interface (e.g. loading and executing a model).
Two applications popular in Modelon Impact:
- Jupyter Lab is a web-based interactive computing platform. Visit jupyter.org for more information.
- Web-app (or web application) is application software that runs on a web server.