mpyfuzzy

Evaluate simulation goodness using fuzzy logic. This tool analyzes simulation results by comparing them with validation data using statistical metrics (Pearson correlation coefficient and mean relative error) and applies fuzzy logic to determine an overall goodness score.

The evaluation process:

  • Calculates Pearson correlation coefficient (PCC) for linear correlation

  • Calculates mean relative error (MRE) for deviation magnitude

  • Applies fuzzy logic rules to combine metrics

  • Determines overall goodness score

  • Outputs results for each validation field to CSV files

Note that the simulation case has to be equipped with a valid case.yml and a validation section.

For more information refer to

Hänsch, S., Evdokimov, I., Schlegel, F., & Lucas, D. (2021). A workflow for the sustainable development of closure models for bubbly flows. Chemical Engineering Science, 244, 116807.

Usage

mpyfuzzy [options] case_directory

Examples

Basic Evaluation

Evaluate a case with default fuzzy logic parameters:

mpyfuzzy ./my-simulation-case

Custom PCC Parameters

Provide custom parameters for Pearson correlation:

mpyfuzzy -pcc '{"low": 0.5, "medium": 0.7, "high": 0.9}' ./case

Custom MRE Parameters

Adjust mean relative error thresholds:

mpyfuzzy -mre '{"low": 0.1, "medium": 0.05, "high": 0.01}' ./case

Custom Goodness Parameters

Define custom goodness classification:

mpyfuzzy -goodness '{"poor": 0.3, "fair": 0.5, "good": 0.7,
"excellent": 0.9}' ./case

Output

Results are written to postProcessing/mpyfuzzy/<field>.csv for each validation field.

Example output:

field,pcc,mre,goodness
alpha,0.95,0.023,0.87
velocity,0.89,0.045,0.76
pressure,0.92,0.031,0.82