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 all workspaces may be modified outside of the UI, according to specific recommendations.
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.
/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 metadata 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.
??? Abstract "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 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:
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.
|.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|
|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 of 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 does 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 or 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:
|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.
|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 a compilation.
|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 in that workspace. The possible contents are:
|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 recorded 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.