Skip to main content

Core Solver Setup

Before the actual computation, all parameters of the program must be set along with names of the result files and the pipeline for coupling the bash script. This is provided via a UptimRes.json file where is this information stored together with names of variables and the output selection instruction. Example of the file is shown in Figure 1 as composed by the Core Solver setup app. This file can be defined by the user himself in any type of text editor or script when its structure is preserved as seen on the example. There is also a possibility to prepare settings files of the uncertainty quantification code directly using the app's dedicated feature.

{    "outputs": [        {            "method": "UQ",            "setup": {                "global_residual": "0.015",                "test_scheme_for_higher_order_interactions": "1",                "prediction_residual_scheme": "percent",                "sampling_scheme_for_prediction_algorithm": "prediction_scheme_3",                "regions_of_preference_avoidance": "yes",                "maximum_increment_order": "0",                "progress_iterative_store_file": "yes"            },            "output_to_run": "1"        }    ],    "files": {        "pipeline": "",        "iter_store_file": "Borehole_it",        "store_file": "Borehole"    },    "info": {        "variables": [            "rofborehole",            "rofinfluence",            "transmissivityupper",            "upperaquifer",            "transmissivitylower",            "loweraquifer",            "boreholelength",            "hydraulicconductivity"        ],        "project": "E:/Software/Test_funkci/Used_functions/Borehole",        "multiprocessing": "yes",        "core_number": "-1"    }}
Figure 1: Example of the settings file

How to use it#

The initial state of the application's window can be seen in Figure 2. At the very top, there is a Menu bar with an ordinary arrangement of items. File menu offers standard program functions allowing to start New setup, Load setup already stored in a *.json file or create such file with current setting using the Save setup feature. About item of the Menu bar contains features accessing this document (Help) and company information and contact (Company). Program's main window is divided into five labelled sections:

  • Project : Shows information about the currently selected project and its path, which is passed to the program automatically when started via the Main interface or as an argument in the command line.
  • Input file : In case the standard InputSet.txt file was not found or loaded properly, another file can be chosen to get names of variables.
  • Method types : Here the method is selected. Currently, the UQ method is the only one available.
  • General setup : Settings of solver code parameters.
  • Pipeline : Names of data storage files. These will be stored in the project directory.
Figure 2: Core Solver setup - Initial state


  • Copy project folder path to clipboard : Stores the current path to project for further use in the Coupling section.
  • Browse : It is the only widget in the Input file section of the program. It is labelled as the name of the input file currently loaded (InputSet.txt by default, (None) when no file is loaded). Clicking the button opens the file load dialogue. To load the input file successfully, this needs to be in the correct format (see the Input preprocessor manual for reference).
  • Change order \< > : Order of cases in which they will be processed by the Core Solver.
  • New : Create new output case to set solver's options.
  • Duplicate : Create new output case from an existing one.
  • Remove : Delete selected output case.
  • Select method : From this combobox the method is selected. Currently, the UQ method is the only one available.
  • Details : Each button raises a window with a quick reference to the corresponding feature of the program.
  • Select variable and Rename : From the combobox an input variable can be chosen which name is about to be changed. The new name has to be confirmed by clicking the Rename button.
  • Generate : Prepares the UPRes.json settings file and also changes the InputSet.txt in case any names of input variables were altered. This feature is disabled until the Method is selected.

Entry fields#

  • Output to run : Choose the consecutive number of output in the solved problem. In case the result consists of more than one output, an instruction for the Core solver is needed to choose the output to be processed currently.
  • Variables : Shows the name of the variable currently selected via the combobox on the right. This can be changed easily just by rewriting of the entry and confirmed with the Rename button.
  • Iterative store file : Name of the file where results from the coupled software are being stored. It is used to avoid unnecessary computations when the same uncertainty propagation case is performed repeatedly.
  • Store file : Name of the file where the final results of the uncertainty propagation are being stored. Number of current output to run is added automatically to achieve a distinction of results.
  • Command to run : The command or external program to be executed by the coupling script. If a path to a program is used, it needs to be used in the absolute format.
  • Result file name : The name of file with the result value of each run of the Command to run. The coupling script collects results from all files in the batch and composes the output DataProcessOut.txt.
  • Max parallelism : The maximum number of parallel simulation runs. Integer value, the total number of processor cores allocated to collaterally running software should be lower than the number of cores available.
  • Core number : Maximum number of processor cores used by the UptimAI Core Solver. The value -1 allows to use all cores left by other programs and processes.

Each output case needs to be created first using the New/Duplicate button, which generates the corresponding sheet with options to be set. Then, one should choose the solver's method according to the type of the task (currently, the UQ method is the only available). Default settings offer a reliable and effective solution for most engineering tasks.

UQ method#

Figure 3 shows the program's window and the General setup section after the method UQ was selected. For each setup item there can be found its name/label in the Setup column, the Value to be set, the Allowed range of values in case these are not being chosen from combobox menus, and Description column with the detail button raising a separate window with a quick reference for the current item. Available items are:

  • Global residual : This number represents the relative residual, which is set for the expected value and for the variance.
  • Test scheme for higher order interactions : The scheme for the higher order interactions tests the selected increment function with few samples and deselect the increment function from the final model if the size of the increment is below given residual.
  • Prediction residual scheme : There are two main strategies of increment neglecting process, each fitted for different types of distributions and problems.
  • Sampling scheme for prediction algorithm : Positioning number of test samples for the prediction scheme (the scheme which selects important increment functions) affecting robustness and efficiency.
  • Region of preference avoidance : Decide whether or not regions of preferenceavoidance should be computed.
  • Maximum increment order : Sets the maximum allowed order of increments, higher order increments will be disqualified from the computation.
  • Progress iterative store file : Saves the file with current state of the surrogate model. It may reduce significantly the time of computation in case of rerunning the complex problem with large number of inputs and their interactions.
Figure 3: Core Solver setup - UQ method settings