Skip to content

Run Multi-Execution Experiments🔗

Modelon Impact offers the possibility to create and run multi-experiments for a given model. This lets the user investigate the parameter space of the model and gain an understanding of its behavior relative to certain parameters.

  1. Go to Experiment mode.

  2. Press the + New experiment link to add a new experiment. Give it a suitable name using the context menu of the experiment list item.

  3. Experiments are saved automatically when edited. In order to rename an experiment, click on the Edit icon that appears when hovering over the experiment name or select "Rename" by right-clicking on the experiment.

  4. Select a component on the canvas by clicking on it.

  5. There are two operators to help set up multi-execution experiment:

    • range(start_value,end_value,no_of_steps)
    • choices(value_1,value_2,value_n)
  6. The range and choices operator can only be set in experiment mode. Applying it in another mode will result in an error message.

    • range

    Set a range of values for a parameter range(start_value,end_value,no_of_steps). Notice how it appears in the Modifications tab in the Experiment widget.

    In the case below, the J parameter will be swept from 1 to 5 in 10 steps.

    • choices

    choices define an arbitrary sequence to sweep, that enables different values for a parameter regardless of its relationship to each other.

    With choices the user can run multiple experiments setting free and arbitrary set of values. Choices are applied to parameters on the component level and, when possible, on the model level.

    Select a component and set values to be simulated for parameter choices(value_1,value_2,value_n)**.

    By using choices on another parameter, Modelon Impact will combine the number of values and produce the equivalent number of simulations.

Note

Range can be set for as many parameters as you like. Note, however, that all combinations of settings are simulated so the number of simulations increases rapidly with the number of range parameters.

  • Parameter_1: choices(a1,a2,a3)
  • Parameter_2: choices(b1,b2)
  • Simulations: a1b1, a1b2,a2b1, a2b2, a3b1, a3b2.

    values_a x values_b = 3 x 2 = 6 simulations.

  1. Use the Simulate button to run the multi-execution.

  2. The results can be viewed in plots and stickies just like a single simulation. Plots will show the curves from all simulation cases for each variable.

Multiexecution plot

  1. Running an experiment shifts the canvas mode from Experiment mode to Result mode as soon as the execution is completed. It is not possible to access the Experiment widget from Result mode. To run other defined experiments, go back to Experiment mode.

  2. A case slider is activated next to the time slider to select which case is shown on stickies. Together with the time slider, values for a specific time can be viewed for a selected case.

Warning

A syntax error will generate an error message and the experiment will not run. Note that a red exclamation mark next to the result means that one or more cases failed. Right-click on the case to show the simulation log.

Distributed computing and Productivity licenses🔗

Execution of a multi-experiment can be distributed to significantly reduce the overall execution time.

Following are the prerequisites to use distributed computing:

  1. Access to productivity licensing

    • Without productivity licensing, simulation is limited to sequential execution.
  2. Access to computational hardware

    • At impact.modelon.cloud, users who purchase productivity licensing will get access to more compute through a pre-configured machine profile selection page.

    • At customer hosted installations (Private cloud and On-premises), the customer admin configures the machine configuration. The operation manual describes the additional configuration needed to enable distributed computing.

As a user, do I need to specify any settings to run my multi-experiments in parallel?

No, Modelon Impact takes care of this automatically. Once a user starts the execution of an multi-experiment (by pressing the play button inside the user-interface or starting a script or an app), a corresponding REST-API call is executed. The experiment is first expanded into cases and then distributed according to the available computational capacity*.

What happens if the computational capacity is fully occupied?

Once the computational capacity is fully occupied, executions will be queued and waiting for computational capacity to be available. Queued execution jobs are marked as PENDING.

Can I continue to work before a multi-execution is finished?

Yes, by opening Impact in a new tab, a user can continue to work and run a single simulation. Modelon Impact will reserve capacity for interactive work (one single simulation) to avoid blocking the user from any further work while waiting for the multi-experiment to finish.

Will the speed-up vary between experiments?

In the general case, speed-up is proportional to the computational capacity*. But as the computational capacity shares resources, there are cases where the speed-up is affected:

Following will affect performance:

  • Availability of a cached FMU – If a cached FMU is available, parallelization starts directly; otherwise, it starts after a compilation is finished.

  • Workload on storage – High load on result writing can slow down performance. Recommendation is to limit the result size by using an output filter.

  • Workload on memory or CPU. This can be due to:

    • Usage of large models. Small models are less memory intensive than large models.

    • Multiple simultaneous compilations. This may be caused by an experiment sweeping over structural parameters.

    • User-activity that requires computational resources such as running scripts, exporting workspace, etc.

*Computational capacity is here defined as the number of CPUs.

Dynamic Simulation | Steady State | Cancelled Simulation | MultiExecution