run — LASSO Python Library

# run

## What is Diffcrash?

> Diffcrash is a software from Sidact which is designed for robustness analysis of simulation runs. It can be used as a set of independent executables or as a postprocessor plugin. Diffcrash itself must be licensed. Please therefore contact either Sidact directly or LASSO. This commmand line utility makes running a Diffcrash analysis much easier.

## How to use the utility?

> You can get the run info by performing:

>      python -m lasso.diffcrash.run --help

>     ==== D I F F C R A S H ====

>     a LASSO GmbH utility script

>      usage: run.py [-h] --reference-run REFERENCE_RUN
>                  [--exclude-runs [EXCLUDE_RUNS [EXCLUDE_RUNS ...]]] --crash-code
>                  CRASH_CODE [--start-stage [START_STAGE]]
>                  [--end-stage [END_STAGE]] [--diffcrash-home [DIFFCRASH_HOME]]
>                  [--use-id-mapping [USE_ID_MAPPING]]
>                  [--project-dir [PROJECT_DIR]] [--config-file [CONFIG_FILE]]
>                  [--parameter-file [PARAMETER_FILE]]
>                  [--n-processes [N_PROCESSES]]
>                  [simulation_runs [simulation_runs ...]]

>      Python utility script for Diffcrash written by LASSO GmbH.

>      positional arguments:
>      simulation_runs       Simulation runs or patterns used to search for
>                              simulation runs.

>      optional arguments:
>      -h, --help            show this help message and exit
>      --reference-run REFERENCE_RUN
>                              filepath of the reference run.
>      --exclude-runs [EXCLUDE_RUNS [EXCLUDE_RUNS ...]]
>                              Runs to exclude from the analysis.
>      --crash-code CRASH_CODE
>                              Which crash code is used ('dyna', 'pam' or 'radioss').
>      --start-stage [START_STAGE]
>                              At which specific stage to start the analysis (SETUP,
>                              IMPORT, MATH, EXPORT, MATRIX, EIGEN, MERGE).
>      --end-stage [END_STAGE]
>                              At which specific stage to stop the analysis (SETUP,
>                              IMPORT, MATH, EXPORT, MATRIX, EIGEN, MERGE).
>      --diffcrash-home [DIFFCRASH_HOME]
>                              Home directory where Diffcrash is installed. Uses
>                              environment variable 'DIFFCRASHHOME' if unspecified.
>      --use-id-mapping [USE_ID_MAPPING]
>                              Whether to use id-based mapping (default is nearest
>                              neighbour).
>      --project-dir [PROJECT_DIR]
>                              Project dir to use for femzip.
>      --config-file [CONFIG_FILE]
>                              Path to the config file.
>      --parameter-file [PARAMETER_FILE]
>                              Path to the parameter file.
>      --n-processes [N_PROCESSES]
>                              Number of processes to use (default: max-1).

> It is important to specify a –reference-run for the analysis. If the reference run is contained within the rest of the simulation_runs, it is automatically removed from that list. simulation_runs can be either tagged individually or by using placeholders for entire directories (e.g. ‘*.fz’) and subdirectories (e.g. ‘/**/*.fz’).

> Warning

> Every run clears the project directory entirely!

## Example

>     python -m lasso.diffcrash.run
>         --reference-run ./runs/run_1.fz
>         --crash-code dyna
>         --project-dir diffcrash_project
>         ./runs/*.fz

>         ==== D I F F C R A S H ====

>         a LASSO GmbH utility script

>     [/] diffcrash-home  : /sw/Linux/diffcrash/V6.1.24
>     [/] project-dir     : test-example-project
>     [/] crash-code      : dyna
>     [/] reference-run   : bus/run_1.fz
>     [/] use-id-mapping  : False
>     [/] # simul.-files  : 37
>     [/] # excluded files: 0
>     [/] config-file     : None
>     [!] Config file missing. Consider specifying the path with the option '--config-file'.
>     [/] parameter-file  : None
>     [!] Parameter file missing. Consider specifying the path with the option '--parameter-file'.
>     [/] n-processes     : 4

>     ---- Running Routines ----

>     [✔] Running Setup ... done in 3.88s
>     [✔] Running Imports ... done in 58.20s
>     [✔] Running Math ... done in 56.22s
>     [✔] Running Export ... done in 2.22s
>     [✔] Running Matrix ... done in 9.78s
>     [✔] Running Eigen ... done in 0.46s
>     [✔] Running Merge ... done in 23.29s