Skip to content

Impact Directory

The purpose of this document is to outline the contents of the Impact directory. There are only a few places where users are intended to add or modify files. In particular, libraries in one or in all workspaces may be modified outside of the UI, according to specific recommendations.

Disclaimer

The contents and format of the Impact directory and its files are subject to change and may not reflect the most up-to-date version of Modelon Impact.

Directory Overview🔗

The /impact directory contains 5 folders which will be mentioned in the following sub-sections.

In addition there is a database file and possibly a settings.json file.

  • The database file is where Modelon Impact stores data about workspace locks, compilation and simulation meta data and user data. This is not meant to be modified. Upgrading Modelon Impact versions will handle the conversion of the file automatically.
  • The settings.json file is a method to designate the settings that should be used for this user. Otherwise the default settings will be used. This includes the application and execution settings. Note that settings changed while in the UI will only be saved within that particular workspace.
Directory Overview

The custom_functions folder🔗

This folder is where users can store custom function .py files. More information on how to write custom functions can be found at here.

The customizations folder🔗

The customizations folder is where the source code for deploying web-apps are stored. Information on how to work with and deploy web-apps is available here.

The libraries folder🔗

The libraries folder is where read-only libraries are installed. Libraries included here will appear in the lower section of the Library Browser when a workspace is open. Information on how to add libraries is available here.

The logs folder🔗

The logs folder contains the files that Impact generates and updates while running, the -audit.json files can be ignored. When requesting support there are 3 files that should be extracted from here:

  1. servers-YYYY-MM-DD.txt
  2. access-YYYY-MM-DD.txt
  3. system-YYYY-MM-DD.txt

By default the logging information is INFO, to get more details change the environment variable IMPACT_LOG_LEVEL to DEBUG.

The workspaces folder🔗

The workspace directory has the following content.

For each of the folders there will be a section to go into more detail.

File Description
.gitattributes Gives attributes to pathnames, if the workspace is under Git. If not this can be ignored.
.gitignore Specifies intentionally untracked files, if the workspace is under Git. If not this can be ignored.
.svnignore Specifies intentionally untracked files, if the workspace is under SVN. If not this can be ignored.
meta.json Specifies the Unix timestamp of when the workspace was created and the workspace version. See example.

The above is an example of a <workspace>\meta.json created in Impact 1.2.

If the workspace started at an older version, check if the version has been upgraded completely to the one corresponding to the Impact version.

Modelon Impact Version Workspace Version
Stable 0.52.0 (Jan 2020) 0.4
Stable 0.55.0 (Mar 2020) 0.5
No version 0.6
Stable 0.66.0 (Sept 2020) 0.7
Stable 0.73.0 (Mar 2021) 0.8

The compilation folder🔗

This folder will be where html diagnostics will be generated if specified in the compiler options. By default, no html diagnostics will be generated so this folder will be empty. The intention for the directory is to access and read the html diagnostics. No files are meant to be modified here.

The custom_resources folder🔗

This folder is where artifacts for custom functions can be generated. By default the dynamic and steady state analysis do not generate anything here.

The experiments folder🔗

The contents of the experiments folder include a separate folder for each experiment executed. There is then an indices.json file which is used by Impact to pair Models with their experiments. None of the files in this directory are meant to be modified nor extracted. The results are saved as .mat files and the recommendation is to export the results from the UI as .csv files.

Each experiment directory has the following contents:

Object Description
cases folder Contains case_# folders for as many cases that are executed at once
experiment.json The experiment setup
meta.json Meta data about the experiment
run_info.json Summary of the execution status

In each of the case_# folders there are the artifacts for each case.

Object Description
input.json The analysis and modifiers for the experiment case
log.txt The solver log
meta.json Result file meta data
result.mat The result data file
run_info.json Summary of the execution status

The model_executables folder🔗

This folder contains the artifacts from compilation.

Object Description
dependency_info.json Lists dependencies the compiled FMU has. If the version of the dependencies change recompilation is required.
input.json The compilation settings
log.txt The compilation log
meta.json The FMU meta data
model.fmu The compiled FMU
run_info.json Summary of the compilation status

The model_libraries folder🔗

The model_libraries folder contains Modelica directories that are available to that workspace. The possible contents are:

Object Description
editable folder This folder contains Modelica libraries which are editable in the workspace. By default there will be a ’Workspace’ library.
version_controlled folder This folder contains version controlled Modelica libraries which are editable in the workspace.
read_only folder This folder contains read only Modelica libraries, which can not be edited in the workspace.
settings.json This file specifies whether any of the libraries are disabled for the workspace. This can be changed through the UI.
views.json Specifications for views created in the workspace are saved here.

The settings folder🔗

When Execution options in the settings are modified the changes get record in .json files in this folder. This way, the options are persistent for the workspace and each workspace can have unique settings that differ from the default settings.

The Application, Export and Unit options are stored in the browser so those will be persistent per user.