0% found this document useful (0 votes)
20 views167 pages

Probabilistic Toolkit

Uploaded by

cesar.ebcosta
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
Download as pdf or txt
0% found this document useful (0 votes)
20 views167 pages

Probabilistic Toolkit

Uploaded by

cesar.ebcosta
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
Download as pdf or txt
Download as pdf or txt
You are on page 1/ 167

Probabilistic Toolkit

User Manual

Version: 2.0
SVN Revision: 00

12 December 2023
Probabilistic Toolkit, User Manual

Published and printed by:


Deltares telephone: +31 88 335 82 73
Boussinesqweg 1 fax: +31 88 335 85 82
2629 HV Delft e-mail: info@deltares.nl
P.O. 177 www: https://www.deltares.nl
2600 MH Delft
The Netherlands

For sales contact: For support contact:


telephone: +31 88 335 81 88 telephone: +31 88 335 81 00
fax: +31 88 335 81 11 fax: +31 88 335 81 11
e-mail: software@deltares.nl e-mail: software.support@deltares.nl
www: https://www.deltares.nl/software www: https://www.deltares.nl/software

Copyright © 2023 Deltares


All rights reserved. No part of this document may be reproduced in any form by print, photo
print, photo copy, microfilm or any other means, without written permission from the publisher:
Deltares.
Contents

Contents
List of Figures ix

List of Tables xi

I Introduction 1
1 Reading guide 3

2 Introduction 5
2.1 Workflow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2 Run Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.3 Sensitivity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.4 Output uncertainty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.5 Calibration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.6 Reliability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

3 Run 9
3.1 Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.2 Console . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.3 Python . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

II User Guide 11
4 General 13
4.1 Persistency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4.2 Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
4.3 Charts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4.4 Validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4.5 Calculation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4.6 Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

5 Model 17
5.1 Internal models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
5.1.1 C# syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
5.1.2 Python syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
5.1.3 Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
5.2 External models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
5.2.1 External model types . . . . . . . . . . . . . . . . . . . . . . . . 21
5.2.1.1 Executable . . . . . . . . . . . . . . . . . . . . . . . . 21
5.2.1.2 Command shells . . . . . . . . . . . . . . . . . . . . . 21
5.2.1.3 Batch files . . . . . . . . . . . . . . . . . . . . . . . . 21
5.2.1.4 Python script . . . . . . . . . . . . . . . . . . . . . . 22
5.2.1.5 Assembly . . . . . . . . . . . . . . . . . . . . . . . . 23
5.2.1.6 Excel . . . . . . . . . . . . . . . . . . . . . . . . . . 24
5.2.1.7 Cloud . . . . . . . . . . . . . . . . . . . . . . . . . . 24
5.2.1.8 Manual . . . . . . . . . . . . . . . . . . . . . . . . . 24
5.2.2 Input file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
5.2.2.1 Multiple scenarios . . . . . . . . . . . . . . . . . . . . 26
5.2.2.2 Stochastic input file . . . . . . . . . . . . . . . . . . . 27
5.2.3 Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
5.2.3.1 Parameter definitions . . . . . . . . . . . . . . . . . . 27

Deltares iii
Probabilistic Toolkit, User Manual

5.2.3.2 Components . . . . . . . . . . . . . . . . . . . . . . . 29
5.2.3.3 File values . . . . . . . . . . . . . . . . . . . . . . . . 30
5.2.3.4 Model factor . . . . . . . . . . . . . . . . . . . . . . . 30
5.2.4 File formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
5.2.4.1 Xml files . . . . . . . . . . . . . . . . . . . . . . . . 30
5.2.4.2 Json files . . . . . . . . . . . . . . . . . . . . . . . . 31
5.2.4.3 Config files . . . . . . . . . . . . . . . . . . . . . . . 31
5.2.4.4 Table files . . . . . . . . . . . . . . . . . . . . . . . . 31
5.2.4.5 Other ascii files . . . . . . . . . . . . . . . . . . . . . 31
5.2.4.6 Keyword enriched files . . . . . . . . . . . . . . . . . 32
5.2.4.7 Net CDF files . . . . . . . . . . . . . . . . . . . . . . 32
5.2.4.8 Zip files . . . . . . . . . . . . . . . . . . . . . . . . . 32
5.2.4.9 Propriatary files . . . . . . . . . . . . . . . . . . . . . 32
5.2.5 Running . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
5.2.5.1 Arguments . . . . . . . . . . . . . . . . . . . . . . . . 32
5.2.5.2 Working directory . . . . . . . . . . . . . . . . . . . . 33
5.2.5.3 Pre and postprocessing . . . . . . . . . . . . . . . . . . 33
5.2.5.4 Unsuccessful runs . . . . . . . . . . . . . . . . . . . . 34
5.3 Imported models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
5.3.1 Fragility curves . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
5.3.1.1 Define fragility curves . . . . . . . . . . . . . . . . . . 34
5.3.1.2 Import fragility curves . . . . . . . . . . . . . . . . . . 35
5.3.1.3 Composite fragility curves . . . . . . . . . . . . . . . . 36
5.3.1.4 Two-dimensional fragility curves . . . . . . . . . . . . 37
5.3.2 Response surface . . . . . . . . . . . . . . . . . . . . . . . . . . 37
5.4 Known applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
5.5 No model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
5.6 Composite model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
5.6.1 Multiple rounds . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
5.6.2 Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
5.6.3 Connection by file . . . . . . . . . . . . . . . . . . . . . . . . . 41

6 Analysis 43
6.1 Analysis type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
6.2 Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
6.3 Logging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
6.4 Pre and postprocessing . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

7 Variables 45
7.1 Distributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
7.1.1 Distribution depending on realization . . . . . . . . . . . . . . . . 47
7.2 Data and test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
7.2.1 Prior distribution . . . . . . . . . . . . . . . . . . . . . . . . . . 49
7.2.2 Data sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
7.3 Series . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
7.4 Correlations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
7.4.1 Auto correlations . . . . . . . . . . . . . . . . . . . . . . . . . . 51

8 Run model 53
8.1 Design values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
8.2 Run model results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
8.2.1 Single run . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
8.2.2 Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
8.2.3 Batch processing . . . . . . . . . . . . . . . . . . . . . . . . . . 55

iv Deltares
Contents

8.2.4 Search . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
8.2.5 Response surface . . . . . . . . . . . . . . . . . . . . . . . . . . 57

9 Sensitivity 59

10 Output uncertainty 61

11 Calibration 65

12 Reliability 67
12.1 Reliability algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
12.2 Failure definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
12.2.1 Multiple failure definitions . . . . . . . . . . . . . . . . . . . . . 68
12.2.2 Import design points . . . . . . . . . . . . . . . . . . . . . . . . 69
12.2.3 Updating reliability . . . . . . . . . . . . . . . . . . . . . . . . . 69
12.2.4 Upscaling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
12.2.5 Fragility curves . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
12.2.5.1 Combining fragility curves . . . . . . . . . . . . . . . . 71
12.3 Design point . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
12.3.1 Reliability index . . . . . . . . . . . . . . . . . . . . . . . . . . 72
12.3.2 Contribution per variable . . . . . . . . . . . . . . . . . . . . . . 72
12.3.3 Limit state point . . . . . . . . . . . . . . . . . . . . . . . . . . 73
12.4 Reliability results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
12.4.1 Single run . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
12.4.2 Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
12.4.3 Search . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
12.4.4 Fragility curve . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

13 Response surfaces 75

14 Realizations 77
14.1 Overview of realizations . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
14.2 Realizations of a design point . . . . . . . . . . . . . . . . . . . . . . . . 78
14.3 Inspect a realization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

15 Notes 79

III Python interface 81


16 Python interface 83
16.1 Run python scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
16.1.1 Python in control . . . . . . . . . . . . . . . . . . . . . . . . . . 83
16.1.2 Toolkit in control . . . . . . . . . . . . . . . . . . . . . . . . . . 84
16.2 Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
16.2.1 Class ToolKit . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
16.2.2 Class Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
16.2.3 Class Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
16.2.4 Class SubModel . . . . . . . . . . . . . . . . . . . . . . . . . . 88
16.2.5 Class Stochast . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
16.2.6 Class ResponseStochast . . . . . . . . . . . . . . . . . . . . . . . 91
16.2.7 Class Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
16.2.8 Class StochastSettings . . . . . . . . . . . . . . . . . . . . . . . 92
16.2.9 Class UncertaintyStochast . . . . . . . . . . . . . . . . . . . . . . 92
16.2.10 Class DesignPoint . . . . . . . . . . . . . . . . . . . . . . . . . 92

Deltares v
Probabilistic Toolkit, User Manual

16.2.11 Class Alpha . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93


16.2.12 Class Realization . . . . . . . . . . . . . . . . . . . . . . . . . . 93

IV Scientific Background 95
17 Distributions 97
17.1 Standard normal distribution . . . . . . . . . . . . . . . . . . . . . . . . . 97
17.2 Distribution properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
17.3 Distribution types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
17.3.1 Deterministic distribution . . . . . . . . . . . . . . . . . . . . . . 99
17.3.2 Normal distribution . . . . . . . . . . . . . . . . . . . . . . . . . 99
17.3.3 Log normal distribution . . . . . . . . . . . . . . . . . . . . . . . 99
17.3.4 Uniform distribution . . . . . . . . . . . . . . . . . . . . . . . . 100
17.3.5 Triangular distribution . . . . . . . . . . . . . . . . . . . . . . . 100
17.3.6 Trapezoidal distribution . . . . . . . . . . . . . . . . . . . . . . . 101
17.3.7 Exponential distribution . . . . . . . . . . . . . . . . . . . . . . . 102
17.3.8 Gumbel distribution . . . . . . . . . . . . . . . . . . . . . . . . . 102
17.3.8.1 Decimation value . . . . . . . . . . . . . . . . . . . . 102
17.3.9 Weibull distribution . . . . . . . . . . . . . . . . . . . . . . . . . 103
17.3.10 Frechet distribution . . . . . . . . . . . . . . . . . . . . . . . . . 104
17.3.11 Generalized Extreme Value distribution . . . . . . . . . . . . . . . 104
17.3.12 Rayleigh distribution . . . . . . . . . . . . . . . . . . . . . . . . 104
17.3.13 Pareto distribution . . . . . . . . . . . . . . . . . . . . . . . . . 105
17.3.14 Generalized Pareto distribution . . . . . . . . . . . . . . . . . . . 105
17.3.15 Student’s T distribution . . . . . . . . . . . . . . . . . . . . . . . 106
17.3.16 Gamma distribution . . . . . . . . . . . . . . . . . . . . . . . . . 106
17.3.17 Beta distribution . . . . . . . . . . . . . . . . . . . . . . . . . . 107
17.3.18 Poisson distribution . . . . . . . . . . . . . . . . . . . . . . . . . 107
17.3.19 Discrete distribution . . . . . . . . . . . . . . . . . . . . . . . . 108
17.3.20 Bernoulli distribution . . . . . . . . . . . . . . . . . . . . . . . . 108
17.3.21 CDF curve distribution . . . . . . . . . . . . . . . . . . . . . . . 108
17.3.22 Histogram distribution . . . . . . . . . . . . . . . . . . . . . . . 109
17.3.23 Inverted distribution . . . . . . . . . . . . . . . . . . . . . . . . . 109
17.3.24 Truncated distribution . . . . . . . . . . . . . . . . . . . . . . . . 110
17.4 Goodness of fit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
17.5 Prior distribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
17.6 Design values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111

18 Correlations 113
18.1 Correlation factor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
18.1.1 Distance based correlation factor . . . . . . . . . . . . . . . . . . 113
18.2 Processing of correlation factors . . . . . . . . . . . . . . . . . . . . . . . 114

19 Sensitivity 115
19.1 Single value variation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
19.2 Sobol indices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115

20 Output uncertainty 117


20.1 Numerical integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
20.2 Crude Monte Carlo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
20.3 Importance sampling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
20.4 FORM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
20.5 FOSM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118

vi Deltares
Contents

21 Calibration 119
21.1 Cost function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
21.2 Calibration algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
21.2.1 Grid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
21.2.1.1 Move grid if minimum is on edge . . . . . . . . . . . . 120
21.2.1.2 Refinement of the grid . . . . . . . . . . . . . . . . . . 120
21.2.2 Genetic algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . 121
21.2.2.1 Initialization . . . . . . . . . . . . . . . . . . . . . . . 122
21.2.2.2 Parental selection . . . . . . . . . . . . . . . . . . . . 123
21.2.2.3 Crossover . . . . . . . . . . . . . . . . . . . . . . . . 123
21.2.2.4 Mutation . . . . . . . . . . . . . . . . . . . . . . . . 123
21.2.2.5 Child selection . . . . . . . . . . . . . . . . . . . . . . 123
21.2.3 Adaptive Particle Swarm Optimization . . . . . . . . . . . . . . . 124
21.2.4 Levenberg-Marquardt . . . . . . . . . . . . . . . . . . . . . . . . 125
21.2.5 Dud . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
21.2.6 Simplex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
21.2.7 Powell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
21.2.8 Conjugate gradient . . . . . . . . . . . . . . . . . . . . . . . . . 127
21.2.9 Broyden-Fletcher-Goldfarb-Shanno . . . . . . . . . . . . . . . . . 128
21.2.10 Shuffled Complex Evolution . . . . . . . . . . . . . . . . . . . . 128
21.2.11 Generalized Likelihood Uncertainty Estimation . . . . . . . . . . . 128

22 Reliability 129
22.1 Reliability algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
22.1.1 Numerical integration . . . . . . . . . . . . . . . . . . . . . . . . 129
22.1.2 Numerical bisection . . . . . . . . . . . . . . . . . . . . . . . . . 129
22.1.3 Crude Monte Carlo . . . . . . . . . . . . . . . . . . . . . . . . . 130
22.1.3.1 Algorithm . . . . . . . . . . . . . . . . . . . . . . . . 130
22.1.3.2 Convergence . . . . . . . . . . . . . . . . . . . . . . . 130
22.1.4 Importance sampling . . . . . . . . . . . . . . . . . . . . . . . . 132
22.1.4.1 Algorithm . . . . . . . . . . . . . . . . . . . . . . . . 132
22.1.4.2 Convergence . . . . . . . . . . . . . . . . . . . . . . . 133
22.1.4.3 Mean realization . . . . . . . . . . . . . . . . . . . . . 134
22.1.4.4 Adaptive importance sampling . . . . . . . . . . . . . . 135
22.1.5 Subset simulation . . . . . . . . . . . . . . . . . . . . . . . . . . 137
22.1.6 Directional sampling . . . . . . . . . . . . . . . . . . . . . . . . 138
22.1.6.1 Algorithm . . . . . . . . . . . . . . . . . . . . . . . . 138
22.1.6.2 Convergence . . . . . . . . . . . . . . . . . . . . . . . 139
22.1.7 Latin hypercube . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
22.1.8 Cobyla . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
22.1.9 FORM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
22.1.9.1 Algorithm . . . . . . . . . . . . . . . . . . . . . . . . 141
22.1.9.2 Convergence . . . . . . . . . . . . . . . . . . . . . . . 143
22.1.9.3 Start point . . . . . . . . . . . . . . . . . . . . . . . . 144
22.1.9.4 Loops . . . . . . . . . . . . . . . . . . . . . . . . . . 144
22.1.10 External method . . . . . . . . . . . . . . . . . . . . . . . . . . 146
22.2 Contribution per variable . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
22.2.1 Center of gravity . . . . . . . . . . . . . . . . . . . . . . . . . . 147
22.2.2 Center of angles . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
22.2.3 Nearest to mean . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
22.3 Combining design points . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
22.3.1 Integrated . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
22.3.2 Equivalent planes . . . . . . . . . . . . . . . . . . . . . . . . . . 148
22.3.2.1 Directional sampling . . . . . . . . . . . . . . . . . . . 149

Deltares vii
Probabilistic Toolkit, User Manual

22.3.2.2 Importance sampling . . . . . . . . . . . . . . . . . . 149


22.3.2.3 Hohenbichler . . . . . . . . . . . . . . . . . . . . . . 150
22.4 Upscaling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150

23 Response surfaces 151


23.1 Initialize response surface . . . . . . . . . . . . . . . . . . . . . . . . . . 151
23.2 Response surface algorithms . . . . . . . . . . . . . . . . . . . . . . . . . 151
23.2.1 Polynome . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
23.2.1.1 Update poylnome response surface . . . . . . . . . . . . 152
23.2.2 Linear grid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
23.2.3 Gaussian Process Regression . . . . . . . . . . . . . . . . . . . . 153
23.2.3.1 Update Gaussian Process Regression . . . . . . . . . . . 154

24 References 155

viii Deltares
List of Figures

List of Figures
1.1 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2.1 Workflow through probabilistic toolkit . . . . . . . . . . . . . . . . . . . . 5


2.2 Workflow tabs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.3 High water level . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

4.1 File menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13


4.2 Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
4.3 Validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4.4 Calculation menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

5.1 Internal model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17


5.2 C# syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
5.3 Python syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
5.4 Python interpreter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
5.5 Wave run in python code . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
5.6 Array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
5.7 Executable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
5.8 External Python script . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
5.9 Run external Python script . . . . . . . . . . . . . . . . . . . . . . . . . . 23
5.10 Manual tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
5.11 File based models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
5.12 Run options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
5.13 Scenarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
5.14 Stochastic input file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
5.15 Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
5.16 Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
5.17 Model factor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
5.18 Known application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
5.19 Pre and postprocessing of a model . . . . . . . . . . . . . . . . . . . . . . 33
5.20 Not succeeded specification . . . . . . . . . . . . . . . . . . . . . . . . . 34
5.21 Fragility curves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
5.22 Import fragility curves . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
5.23 Composite fragility curves . . . . . . . . . . . . . . . . . . . . . . . . . . 37
5.24 Known application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
5.25 Composite model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
5.26 Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
5.27 Connecetion by file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

6.1 Analysis type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43


6.2 Performance settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
6.3 Logging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
6.4 Pre and postprocessing of a calculation . . . . . . . . . . . . . . . . . . . . 44

7.1 Distribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
7.2 Distribution depending on realized variable . . . . . . . . . . . . . . . . . . 47
7.3 Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
7.4 Fitted distribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
7.5 Prior distribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
7.6 Prior fitted distribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
7.7 Series . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
7.8 Correlations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
7.9 Self correlations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

Deltares ix
Probabilistic Toolkit, User Manual

8.1 Run model result options . . . . . . . . . . . . . . . . . . . . . . . . . . . 53


8.2 Table specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
8.3 Table specification for multiple variables . . . . . . . . . . . . . . . . . . . 54
8.4 Table results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
8.5 Table specification from file . . . . . . . . . . . . . . . . . . . . . . . . . 56
8.6 Search specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
8.7 Search results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

9.1 Low and high values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59


9.2 Sensitivity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

10.1 Output uncertainty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61


10.2 Settlement of a pipeline . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
10.3 Uncertainty of vertical position of pipeline . . . . . . . . . . . . . . . . . . 62
10.4 Import settlement uncertainties . . . . . . . . . . . . . . . . . . . . . . . . 63

11.1 Calibration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

12.1 Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
12.2 Failure definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
12.3 Map of reliabilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
12.4 Failure of fragility curve . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
12.5 Design point . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
12.6 Design point . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
12.7 Build fragility curve . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

13.1 Response surface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75


13.2 Uncertainty band response surface . . . . . . . . . . . . . . . . . . . . . . 76

14.1 Realizations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

17.1 Standard normal distribution . . . . . . . . . . . . . . . . . . . . . . . . . 97

21.1 Refinement grid in a two dimensional grid . . . . . . . . . . . . . . . . . . 121


21.2 Procedure of the genetic algorithm . . . . . . . . . . . . . . . . . . . . . . 122
21.3 Simplex steps in two dimensions . . . . . . . . . . . . . . . . . . . . . . . 127

22.1 Numerical integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129


22.2 Numerical bisection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
22.3 Crude Monte Carlo convergence . . . . . . . . . . . . . . . . . . . . . . . 131
22.4 Crude Monte Carlo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
22.5 Importance sampling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
22.6 Importance sampling loops . . . . . . . . . . . . . . . . . . . . . . . . . . 135
22.7 Directional sampling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
22.8 Schematic representation of FORM . . . . . . . . . . . . . . . . . . . . . 141
22.9 FORM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144

23.1 Gaussian Process Regression . . . . . . . . . . . . . . . . . . . . . . . . . 154

x Deltares
List of Tables

List of Tables

Deltares xi
Probabilistic Toolkit, User Manual

xii Deltares
Introduction
1 Reading guide
This document is a manual for the probabilistic toolkit. This document leads the user through
a probabilistic analysis using the probabilistic toolkit.

This document uses a number of examples. The examples are part of the Probabilistic Toolkit.
They can be found in "Documents\Deltares\Probabilistic Toolkit" or, using the open dialog in
the Probabilistic Toolkit, in the Probabilistic Toolkit section.

Figure 1.1: Examples

This document is split in a number of parts. They are:


 Introduction: Contains some general information about the Probabilistic Toolkit.
 User Guide: Contains instruction how to use the Probabilistic Toolkit.
 Python interface: Contains instruction how to use the Probabilistic Toolkit functionality
from Python.
 Scientific Background: Explains how calculations are performed.

Deltares 3 of 155
Probabilistic Toolkit, User Manual

4 of 155 Deltares
2 Introduction
The probabilistic toolkit is able to perform probabilistic analyses on any model, ranging from
python scripts to dedicated applications in the geotechnical or hydrodynamical field or to any
other field to combinations of models.

The Probabilistic Toolkit offers a number of analysis types. They are performed in the order
described in the next paragraph.

2.1 Workflow
The user should take a number of steps to perform a probabilistic analysis. These steps are
1 Setting up the model (outside probabilistic toolkit)
2 Define the variables
3 Perform the probabilistic analysis. Possible analyses are:
3.1 Run the model and compare results
3.2 Investigate the sensitivity of the model
3.3 Get input variables by calibation
3.4 Determine the output uncertainty
3.5 Determine the failure probability

This is displayed in Figure 2.1

start

Attach model

Define variables

Run model Sensitivity Output unc. Calibration Reliability

Inspect realizations

end
Figure 2.1: Workflow through probabilistic toolkit

Deltares 5 of 155
Probabilistic Toolkit, User Manual

The workflow sequence is reflected by the tabs in the main tab control of the application.
Depending on the selected analysis type, model and calculation options the visible tabs may
change a bit.

Figure 2.2: Workflow tabs

The order of the steps ’Attach model’, ’Define variables’ and ’Perform analysis’ is fixed, al-
though one can always return to a previous step. The steps within the step ’Perform analysis’,
which are ’Run model’, ’Sensitivity’, ’Output uncertainty’, ’Calibration’ and ’Reliability’ are
optional and can be performed in any order.

2.2 Run Model


Running a model is the most simple application in the Probabilistic Toolkit. It just, as the word
says, runs a model and displays its results. This can be done for one input set or for several
input sets, where one or more parameters are varied.

Running a model helps the user to get a feel for the model and check whether the model has
been attached to the Probabilistic Toolkit in the right way. See chapter 8 for more information.

2.3 Sensitivity
In sensitivity analysis the effects of changes to input variables are investigated.

This will give insight in which input parameters are important and help the user decide which
input parameters must be measured more precisely. See chapter 9 for more information.

2.4 Output uncertainty


Output uncertainty is an extension of sensitivity analysis. Now all input parameters are varied
according to their uncertainty definition. This leads to uncertainty of the output parameters.

This is useful when the user is interested in possible values in the future of a physical property.
For example, due to a load subsidence of the soil surface will occur. It is interesting how much
subsidence will occur in the next ten years. Another example, due to a side stream a gully will
move sidewards. It is interesting to know the location of the gully in the next year.

See chapter 10 for more information.

2.5 Calibration
Calibration is a method where input parameters can be derived from measured output parame-
ters, including uncertainty. Calibration can be used to obtain parameters, which are difficult to
obtain directly.

For example, the roughness of a river bed is hard to obtain. Using measured values such as
time series of water levels at different locations, the roughness coefficients are determined.

See chapter 11 for more information.

6 of 155 Deltares
Introduction

2.6 Reliability
Reliabiity analysis determines the reliability, or probability of failure, of a physical construc-
tion. This gives the user insight of the probabilty that an unwanted phenomenon will happen,
possibly within a given period of time.

For example, the probability that a dike will fail can be calculated. This is used in assessment
of dikes and using this probability, a decision will be made to strengthen it. An accurate calcu-
lation of the probability of failure is important, since it can save money by not strengthening it
more than necessary.

To calculate an accurate probability of failure, survived situations can be used. Even lots of
effort have been put in measuring input values, it is impossible to know the subsoil in long
stretches of dikes completely. So it might be possible that a model predicts dike failure, while
in reality it has been observed that the dike has survived. The Probabilistic Toolkit uses these
events to update the probability of failure.

Another example is risk based asset management. In risk based asset management a mainte-
nance schedule will be set up, so that total costs over a long period are minimal. The total costs
include strengthening actions and risk (risk is probability times damage).

See chapter 12 for more information.

Figure 2.3: High water level

Deltares 7 of 155
Probabilistic Toolkit, User Manual

8 of 155 Deltares
3 Run
The Probabilistic Toolkit supports the following ways of running a probabilistic analysis:

3.1 Application
The Probabilistic toolkit should be started with its user interface, which can be found in the
start menu or as icon on the desktop. Then the user can enter all data required by the workflow
and execute the run button. All data and results be saved and later opened again from a tkx-file.

3.2 Console
The console version enables execution of a probabilistic analysis without user interface. An
input file should be available (made with the user interface). The console version performs the
calculation as specified in the input file.

The console application should be run as follows:


Deltares . Probabilistic . Console .exe input .tkx [ output .tkx]

If no output file ispecified, the input file is used and overwritten as the file containing the
calculation results.

3.3 Python
Using Python, the input file of the Probabilistic Toolkit can be modified and run (only for re-
liability analysis). The Probabilistic Toolkit installs a python file, named toolkit.py, by which
properties in an existing toolkit file can be modified and run. This file is located in the sub direc-
tory Python of the installation directory (usually C:/Program Files (x86)/Deltares/Probabilistic
toolkit/Python).

See chapter 16 for more information.

Deltares 9 of 155
Probabilistic Toolkit, User Manual

10 of 155 Deltares
User Guide
4 General
This chapter describes the general handling of the Probabilistic Tookit.

4.1 Persistency
All data entered by the user, such as models, variables and calcualtion settings, are saved in a
tkx file. All calcualtion results are saved in this file too. Intermediate calcualtion results are
saved in a dat file with the same name as the tkx file. It is not mandatory to keep the dat file:
When opening a tkx file with missing dat file, the intermediate results will be missing, but all
input and final results will be available. The dat file can be big, therefore these data are stored
in a separate file.

The following actions are available:

Figure 4.1: File menu

where

New Creates a new calculation;


New from Submenu in which a predefined calculation is generated. The following pre-
defined calculation are available:
 Model input file (see section 5.4);
 External fragility curve (see section 5.3.1.2);
 Internal fragility curve, only available if fragility curves are created in
the current calculation (see section 5.3.1.2);
 Batch file (see ??);

Save Saves the calculation in a tkx file;


Save as Saves the calculation under a new name;
MRU Opens a previously saved calculation;
Exit Terminates the Probabilistic Toolkit;

Deltares 13 of 155
Probabilistic Toolkit, User Manual

The file name of the current file in use is displayed in the caption of the application

4.2 Tables
Tables are used to present similar data. By using the toolbar at the top of the table several
actions can be performed.

Figure 4.2: Table

The buttons in the toolbar correspond with the following actions. Several actions are available
in the right mouse menu too.

Add Adds a new data item to the table. This action is not always available;
Remove Removes the selected rows from the table. This action is not always avail-
able;
Copy Copies the selected cells to the clipboard. It can be used to copy data from
the table to another table or to another application, such as Excel;
Paste Pastes data in a tabular form to the table, e.g. from another table or from
Excel. If not enough rows are available, new rows are added;
Edit Edits data of all selected cells ina dialog. This action can be used to modify
serveal data items at once. This action is only available when all selected
cells are from thesame type, such as numeric values, booleans or text;
Export Exports the entire table to a file. A dialog is displayed in which the user can
specifiy the file and type (e.g. csv);
Fit columns Fits the columns so that content will be readable;
Clear sorting Sorts the data to the original sorting;
Grouping Groups or ungroups the data;
Swap panels Arranges the panel of the table and a corresponding chart with a horizontal
or vertical splitter. This option is not always available;
Import Imports data from another tkx file. This option is not always available;

The table supports the following actions by performing actions on the headers:

Sort Sorts the data by clicking on the header;


Filter Filters the data by clicking in the top right corner of a header (a filter symbol
is displayed when hovering the mouse over that location);
Rearrange Rearranges the order of the columns by dragging them to the desired posi-
tion;
Find Find data by clicking control-f;

14 of 155 Deltares
General

4.3 Charts
Charts are used to display data in a graphical way. Charts support the following action by the
right mouse menu.

Bring to front Brings the series at which the mouse is located to the front. This is only
available if the mouse is positioned on a point (for which a popup is
displayed with values) or if the mouse is positioned on a legend item;
Send to back Sends the series to the back. See previous item when this option is avail-
able;
Logarithmic Converts the horizontal axis to logaritmic data;
Display table Displays data in a table;
Save image Exports the chart to an image;

4.4 Validation
Before a calculation can be performed, all data must have acceptable values. Therefore auto-
matic valiadion takes place after each user edit action. The results are displayed at the bottom
of the application. The user should solve all errors in this table.

Figure 4.3: Validation

The data displayed in this table have the following meaning:

Severity Error or warning. Errors must be solved before a calculation can be started;
Message The error or warning;
Subject The data item to which the message refers. When clicking on this link, the
Probabilistic Toolkit will make this data item visible. The part of the data
item which causes the message will be displayed in orange (for warnings) or
red (for errors);
Repair When clicking on this link, a repair action will be performed as suggested
by the text of the link;

Deltares 15 of 155
Probabilistic Toolkit, User Manual

4.5 Calculation
When all data is acceptable (see section 4.4), the calculatio can be started. The following
actions are available in the calculation menu. These actions are available in the main toolbar
too.

Figure 4.4: Calculation menu

The commands have the following meaning:

Start Starts the calculation;


Pause Stops the calcualtion after the current calculation step; The calculation can
be resumed by executing the start command again;
Stop Stops the calculation immediately;

When the calculation is started, the user will not be able to modify any data. Also the Proba-
bilistic Toolkit can not be closed.

During the calculation a progress bar is displayed at the bottom of the Probabilistic Toolkit
indicating the progress of the calculation.

4.6 Options
Some options are available under the Tools, Options menu. These options are:

Initial Indicates whether a new project or the last project should be loaded when
project starting the Probabilistic Toolkit;
Language Language in the user interface;
Units Indicates the units in which data should be displayed;

16 of 155 Deltares
5 Model
A model is a process which takes some input variables and produces some response variables.
Most often a model simulates a physical process, such as the hydrodynamics of a river or
geotechnical behaviour of the subsoil.

The first step in the workflow is setting up the model. We distinguish the following types of
models:
1 Internal model. The model is defined within the probabilistic toolkit.
2 External model. The model is defined outside the probabilistic toolkit.
3 Data model. No calulation takes place, but only values in a data file are used.
4 Fragility curves. Data which describe failure for a certain situation. They can only be used
for reliability calculation.
5 No model. No model is attached, since stochastic variables are sufficient
6 Composite models. Combinations of the models above.

5.1 Internal models


With an internal model the source code of the model is defined within the probabilistic toolkit.
The user has to define the following items:
1 Input parameters. This is a list of all parameters which will be available later as variables.
2 Output parameters. This is a number of results of the calculation
3 Model code. This must compute the output parameters as a function of the input parame-
ters.

Figure 5.1: Internal model

The list of input parameters and output parameters must be a unique list of parameters (con-
taining alphanumeric characters and no special symbols, digits nor spaces). Parameters can be
added using the ’+’ sign. The parameter can be renamed.

The source code must be entered in C# or Python style, to the preference of the user. The code
should be designed that output parameters get a value based on the input variables. Multiple
lines are allowed, intermediate variables can be used and external libraries can be used. Vari-
ables do not have to be declared (they are all declared as doubles in C#, Python does not require
declaration of variables), except when intermediate variables are introduced.

Compilation takes place automatically when the coding area is left by a clicking elsewhere.
Any errors are reported in the validation tab. Errors should be solved first, before the calcualtion
can be performed.

Deltares 17 of 155
Probabilistic Toolkit, User Manual

5.1.1 C# syntax
Select the C-Sharp option in the language drop down box to use C# as language.

Figure 5.2: C# syntax

When coding in C# style, note the following:


1 When using C#, the user can use the Math library to perform mathematical operations
without having to use the using statement.
2 The input and output variables have been declared already.
3 Any supporting variables, if intermediate results are calculated, must be declared.
4 Do not code a return statement at the end of the routine, but early returns are allowed.
5 Intermediate results can be written to log using a Console.WriteLine statement

An example of a C# script is given below (with input parameters a and b and output parameter
z):
var radius = a*a + b*b;
Console . WriteLine (" radius = {0}", radius );
z = Math.Sqrt( radius );

5.1.2 Python syntax


Select the Python option in the language drop down box to use Python as language.

Figure 5.3: Python syntax

When Python style is selected, Python must have been installed (not part of the Probabilistic
Toolkit install file). All Python 3.* versions are supported (only C-python, not IronPython nor
Python for .Net). Python can be downloaded from which can be downloaded from https://www.python.org/downloads
or https://www.anaconda.com/products/individual.

When specifying a version, the newest known python interpreter is used, which fulfills the ver-
sion specification (e.g. Python versions 3.1, 3.7 and 3.7.1 all fulfill version 3, python versions
3.7, 3.7.1 fulfill version 3.7, but not python version 3.1).

18 of 155 Deltares
Model

Corresponding to the python version, the python interpreter must have been installed. If it has
been installed in its default location, the Probabilistic Toolkit will find it automatically. If not,
the user should select it by pressing the dots in the version field. In the dialog which appears,
the interprester can be selected.

Figure 5.4: Python interpreter

Note the following possibilities when coding in Python style:


1 The input and output variables have been declared already.
2 Do not code the leading tab, but if nested constructions are used, such as conditional state-
ments or loops, the tab must be entered.
3 Various libraries can be used. They should be imported in the code with an import statement
(except the sys and math library, which are very common and often used).
4 Intermediate variables are allowed to break up the calcualtion in smaller pieces.
5 Do not code a return statement, but early returns are allowed.
6 No definition of functions are allowed. If they are needed, use an external Python script
(see section 5.2.1.4)
7 If intermediate results or any other information should be logged, use print statements
(note: print statements slow down the calcualtion considerably).

Example: Wave run-up model


Wave run-up is the maximum elevation reached by a wave against an embankment, relative to
the still water level. Wave run-up is calculated by Hunt’s formula as follows:

Ru = ξ × H s (5.1)

tan (α) tan (α)


ξ= q = q (5.2)
Hs 2πH s
L0 gT p2

where

Ru is the run up height;


Hs is wave height;

Deltares 19 of 155
Probabilistic Toolkit, User Manual

α is the inclination of the embankment;


L0 is the wave length;
g is the gravitational constant;
Tp is the wave period;

This is implemented as a Python script as follows:

Figure 5.5: Wave run in python code

The input file for this example can be found in the Examples.

5.1.3 Arrays
Internal models support the usage of arrays. When used, the parameters are interpreted as
arrays. The size of the arrays should be given by the user.

This is implemented in the model as follows:

Figure 5.6: Array

All array values get the same distribution defined in section 7.1. Their mutual correlation can
be defined in section 7.4.1.

20 of 155 Deltares
Model

5.2 External models

5.2.1 External model types


When using an external model, it must have been defined as an executable, batch file, python
script or .Net-assembly. See the next subsections on how to define these external model types.

External models always us input files and result files. The select of varibles and results to be
used by the Probabilistic Toolkit is described in ??.

5.2.1.1 Executable
When using an executable, the location of the executable must be specified. The executable is
supposed to run without user interaction.

Executables always use input files. The default input file has to be specified and it should be
specified which numeric values in this file should be regarded as a stochastic variable (see ??).

When executables are used, input and output is communicated via a file. The input file which is
passed to the executable must be entered as {input} in the command line arguments. This will
be used by the calculations to pass the essential information to the executable. It is also used to
extract the input variables if the output file is not specified. Other arguments are allowed too,
see section 5.2.5.1.

Note that the Probabilistic Toolkit will create copies of the original input file with altered data,
which will be saved in another location. Therefore do not write the name of the input file in the
arguments, but use the codes above.

Figure 5.7: Executable

5.2.1.2 Command shells


A command shell is an executable which receives commands on the command line. Since this
is an executable, the executable option should be used. The commands are to be supplied by
an input file.

To let the probabilistic toolkit know that it involves a command shell the arguments must be
preceded by a < sign, so the argument should be <{input}.

5.2.1.3 Batch files


Batch files are very similar to executables. They are file based and the batch file must be
selected by the user.

A batch file cannot be started with arguments. To make use of an input file, the batch script
itself should contain codes specifying the input. The codes, such as {input}, are the same as the
codes which can be used in the executable arguments (see chapter 3.2.1).

See below for an example of a batch script:

Deltares 21 of 155
Probabilistic Toolkit, User Manual

mkdir {name}
move {input } {name}
Convert .exe -convert "{ directory }\{ name}"
move {name }\ converted_ {file} {file}
del {name }\{ file}
rmdir {name}

In this example we assume there is an executable Convert.exe, which converts all files in a
given directory to files with prefix “converted_”. This batch script runs the conversion in a
temporary directory (named after the original input file).

Another example, which copies a file from an evaluation of a composite model run to a common
directory, is defined as follows. It should be placed after the model that generates the calcpnt.his
file and the indication "Use files from previous model" should be switched on.
copy calcpnt .his ..\ hisfiles \calcpnt -{ realization }-{ round }. his

5.2.1.4 Python script


An external model can be a python model. The python script has to be selected by the user. In
contrary to the internal python model (see section 5.1), the python script is not saved with the
probabilistic toolkit file, but remains at the location where it was selected.

A Python script can handle an input file or accepts numeric values via a method call. The
user must supply the method to be used or, if the complete scripts is to be used, the method
<main>. Depending on the signature of the method, the toolkit derives whether a file will be
used or numeric input values are used as arguments to the method. If the signature contains
more than one argument or if a default value is supplied with the argument, numeric values are
used, otherwise a file name is assumed.

The <main> method always assumes that a file is used. In this case arguments should be used
to the complete Python script (which usually contains a reference to the input file name).

In case a file is used, the user should supply the file name in the same way as an executable. In
case numeric values are used, the toolkit will derive the input and output variable names from
the signature of the method.

When an input file is used, the working directory is the directory where the input file is located.
Otherwise the working directory is the directory where the Python script is located.

22 of 155 Deltares
Model

Example: External wave runup script


This example (runup-external-script.tkx) displays the wave runup model (see Example: Wave
run-up model), but now definied in an external script. The python script has been identified and
displayed (the user can not modify the script within the Probabililstic Toolkit) and the method
to be used.

Figure 5.8: External Python script

The input and out variables have been detected by the Probabilistic Toolkit by parsing this
method. This resulted, after run, in the following input and output variables.

Figure 5.9: Run external Python script

5.2.1.5 Assembly
The assembly model is a library model (dll). The model must have been built in a .Net compli-
ant language.

Depending whether the model accepts numeric values or an input file, implement a correspnd-
ing signature of the method which must be used.

If numeric values are passed to the model, implement a method accepting numeric values. The
results of the method must be provided by the return value or as an out parameter. If a file is
passed, implement a method whith a single string argument. This value will be populated by
the Probabilistic Toolkit with the full path to the input file. Methods can be, but do not have to
be static.

See the example below for an implementation of a model, which can be used in this way:
public class Model
{
public void Run( string fileName ) { ... }

Deltares 23 of 155
Probabilistic Toolkit, User Manual

public double RunData ( double load ,


double strength ) { ... }

public void RunData ( double load ,


double strength ,
out double result ) { ... }
}

5.2.1.6 Excel
Excel files (only *.xlsx) can be used as a model.

Numeric cells in the excel file can be used as input parameters, but only if the cell is not defined
as a formula. All numeric cells can be used as a response parameter.

Not all features in excel can be used. The Prbabilistic Toolkit raises an error if features are not
supported.

It is not necessary to have installed Microsoft Excel.

5.2.1.7 Cloud
The Probabilistic Toolkit can run models (executables and python scripts which accept an input
file) in the cloud. The Microsoft Azure cloud platform is supported. The model to be run in
the cloud platform and a pool should be configured using the Microsoft Azure cloud platform
utilities. This should be done as follows:
1 Acquire a storage account and batch account;
2 Create a pool. The pool must have the Windows operating system. Make sure at least one
node is available;
3 Upload the application to the pool. This must be a zip file containing the executable or
python script and all needed additional files (such as dlls). Include a version number;
4 In case of a python script, install Python in the pool. First a container should be created
in the storage containing the Python installer. Then a start task should be specified in the
pool as follows (including numpy to be installed): cmd /c "python-3.9.6-amd64.exe /quiet
InstallAllUsers=1 PrependPath=1 Include_test=0" & "pip install numpy". This task should
be performed with administrator privileges. If the task was added after pool creation, reboot
all nodes.

Within the Probabilistic Toolkit, enter the accounts and keys. Specify the command, which
is the name of the executable or python script. Specify the url of the batch server, which is
something like "mybatchserver.westeurope.batch.azure.com".

5.2.1.8 Manual
The manual model does not perform a calculation, but only generates the files to be calculated.
This allows the user to perform the calculations himself. This is useful when the calculations
are to be performed on a cluster or requires action by the user in a user interface.

When this calculation is performed, a list of tasks is generated which must be performed by
the user. When the user has completed the tasks, which means that the result files are available
at the location where the Probabilistic Toolkit expects them, the user should indicate that the

24 of 155 Deltares
Model

tasks are completed by checking a check box. The Probabilistic Toolkit will resume from this
point on.

Figure 5.10: Manual tasks

The user is allowed to exit the Probabilistic Toolkit when he is to perform the calculations.
Therefore he should perform the following steps
 Pause the calculation by pressing the pause button.
 Save and leave the application. Saving and leaving is not allowed when the calcualtion is
not paused.
 Perform the tasks outside the Probabbilistic Toolkit.
 Open the Probabilistic Toolkit and open the toolkit file.
 Specify which tasks have been performed.
 Press the run button. THe Probabilistic Toolkit will resume the calculation when all tasks
have been performed. This step may also be taken before the previous step.

Note: When the calcualtion is stopped, all generated task files will be removed.

When using an external model (see section 5.2.1), an input file is required most of the times
for running. When the input file is specified, the user should indicate which numeric values in
the input file are stochastic variables. The same applies to the output: The user should specify
which numeric values are output and desired within the Probabilistic Toolkit.

Deltares 25 of 155
Probabilistic Toolkit, User Manual

5.2.2 Input file


The input file can be selected in the following dialog:

Figure 5.11: File based models

The open button opens the file in the application belonging to the model. This applicataion can
be set in the ’Run options’ tab, if not available this button will not be displayed.

In the ’Run options’ the user should specifiy whether only this file is used by the model or
other files as well. For example, a number of files in the same directory could be used too. The
Probablistic Toolkit needs this information when performing a model run. It makes a copy of
the input file or a copy of the directory in which the input file is located.

If the output file is different form the input file, it should be indicated in the ’Run options’.

Figure 5.12: Run options

5.2.2.1 Multiple scenarios


Multiple scenarios within one realization are supported. A scenario is a set of input distribu-
tions for the variables. Another scenario covers the same variables, but has other distributions.
Scenarios may have other input files, but this is not required.

Figure 5.13: Scenarios

When scenarios are used, the user should inddicate in the input templates whether different
values are to be used in the ’Variable per scenario’ column.

26 of 155 Deltares
Model

Response values are produced for each scenario.

Scenarios are useful when one wants to correct for realizations which were predicted by the
model as failing, but have been observed as surviving. See section 12.2.3.

5.2.2.2 Stochastic input file


Instead of having one input file or directory, it is possible to have multiple input files, where
each input file has a probability. This can be indicated by the checking the ’Stochastic input
file’ check box.

The user must enter a number of input files with probability. The probabilities should sum up
to 1.

Figure 5.14: Stochastic input file

Per scenario a set of input files should be selected, if scenarios are applicable and have input
files (see section 5.2.2.1).

5.2.3 Parameters

5.2.3.1 Parameter definitions


To support the user to extract the needed data, templates should be used. They are available for
both input and output. A template contains a number of characteristics, which define a value in
a file.

Figure 5.15: Templates

The characteristics are:

File The file which should be used. This is a referenced file from the main file.
If left blank, the input file is used.

Deltares 27 of 155
Probabilistic Toolkit, User Manual

Caption The path to the data item in the file.


Depending on the type of the file, this may have different kind of values.
For an xml file, the full path of the xml element is to be used. For a keyword
based file (ini file), this is the section header.
Caption name The name how it is displayed in the variable name. If omitted, it will be
derived from the caption
Attribute The final identification of the data item.
Depending on the type of the file, this may have different kind of values.
For an xml file, the xml attribute is used. For a keyword based file (ini file),
this is the part before the ‘=’ sign.
Series Indicates whether the variables is a series, see section 7.3.
X-Series attribute Additional attribute which is used when the variable is a series. The lookup
attribute will be used for the X coordinate.
Attribute name The name how it is displayed in the variable name. If omitted, it will be
derived from the caption
By index Indicates whether only the data item at e specified index is to be used.
Component per Identifies the components of the variable. Since captions and attributes
are not unique, several numeric values can be found for one caption and
attribute definition. To distinguish them, this component definition is used
(see section 5.2.3.2).
Variation Input only: Defines the variation type
 Value: The value in the input file is replaced by the realization of the
stochastic variable. This is the default option.
 Factor: The value in the input file is multiplied by the realization of the
stochastic variable.
 Shift: The realization of the stochastic variable is added to the value in
the input file.

Variable per sce- Input only: Indicates whether a variable should be generated for each sce-
nario nario, see section 5.2.2.1.
Aggregation Output only: Indicates how the output value is generated, when multiple
values are available
 First: Takes the first value
 Last : Takes the last value
 Min: Takes the minimum value
 Max: Takes the maximum value
 Mean: Uses the mean of all values
 Sum: Sum of all values
 Height: In case of a series, the difference between the most extreme
value and the base level of the series (see section 7.3)
 Area: In case of a series, the area of the enclosed area between the base
level and series values (see section 7.3)

Aggregation over Output only: Aggregation of the results per component


components

A variable name is composed as follows from the items above (run, file and variation are
omitted if they have default values):

28 of 155 Deltares
Model

Variable name = [Scenario].[File].[Caption].[Attribute].[Variation]

The Probabilistic Toolkit provides drop down lists from where the user can select the desired
value. This happens for both input and output. Therefore it is necessary that the calculation has
run once already, otherwise the output characteristics are not available. The user can enforce
this by executing the command ’Generate output files’.

5.2.3.2 Components
Components are used to distinguish numeric values which have the same caption and attribute
in the parameter definition (see section 5.2.3.1).

The user can make a selection of the numeric values he is interested in.

Figure 5.16: Components

Components can be merged. The following merge types are supported:

Component Each (selected) component leads to a variable


Group Each component is assigned to a group. Groups can be defined in the tab
’Groups’. A variable is defined for each group. It is possible to assign a
variable to no group.
Correlations can be defined between the components in a group, see sec-
tion 7.4
Collection All (selected) components are assigned to a global collection. A variable is
defined fot this collection.

Deltares 29 of 155
Probabilistic Toolkit, User Manual

Groups can be derived automatically from the input file by using the ’group by’ field.

The ’proportional to highest value’ indication, which becomes available when merge type
group or collection is selected, indicates whether the value of the variable is assigned to each
component or whether a proportioanl value, relative the the highest value, is assigned to the
components.

Component decompositions are shared beween parameter definintions with the same caption.
If this is not desired, a new component decomposition can be defined by use=ing the green
’plus’ button.

5.2.3.3 File values


When the Probabilistic Toolkit should always use the values present in a file as mean values,
check ’Mean values of variables are always values in input file’. This enforces that the value in
the file is used as mean value of the stochastic variable and, if detected in the file, the deviation
value too.

When the input file is changed later, file values will be used. This is useful when the Proba-
bilistic Toolkit runs in an automated environment.

5.2.3.4 Model factor


A model factor can be applied to a file based model. This is done by checking the "Add
model factor" checkbox in the response parameters tab page. An additional input variable is
generated.

The model factor is applied to the output variables, which have "Apply model factor" checked.
The output of the model is multiplied with or divided by the model factor.

In case a composite model is used (see section 5.6), each individual model can have a model
factor.

Figure 5.17: Model factor

5.2.4 File formats


The following file formats are supported

5.2.4.1 Xml files


The elements and attributes in the xml file appear as captions and attributes.

30 of 155 Deltares
Model

5.2.4.2 Json files


The elements and attributes in the json file appear as captions and attributes.

5.2.4.3 Config files


Config files are an extension of ini files. The captions are defined between square brackes.
Attributes are defined before the ’=’ symbol. Nested structures of captions are supported, the
end of the nesting is indicated with a key word "[End of ...]". Multiple values as numeric value
are supported too, they appear between square brackets and lead to a series. An example is
given below:

The following code is an example of a config file, which contains a nested structure and an
array of numeric values in Values:
[ Location ]
Name= North

[Soil]
Name=Sand
Weight =18.2
Values =[5.3 6.7 8.0 9.8]

[Soil]
Name=Clay
Weight =16.1
Values =[2.3 4.5 8.8]

[End of Location ]

[ Location ]
Name= South

[Soil]
Name=Sand
Weight =17.6
Values =[5.1 6.4 7.7 9.1]

[End of Location ]

5.2.4.4 Table files


Table files comprise csv files and tekal files. Tekal files were often generated by Fortran pro-
grams and often contain tables.

A header line is expected and then a number of value lines. Between the header line and the
values a limited number of other lines may appear. The number of headers is expected to be
the same as the number of values in one line.

5.2.4.5 Other ascii files


These are ascii files which contain several numeric values. Captions and attributes refer to row
and column numbers. An example is given below:
18.2 5.3 6.7 8.0 9.8

Deltares 31 of 155
Probabilistic Toolkit, User Manual

16.1 2.3 4.5 8.8


17.6 5.1 6.4 7.7 9.1

If non numeric values appear in the file, this value is used as attribute. If multiple values
appear after the non numeric value, attriibutes followed by an index are generated. But if these
numeric values are between squared brackets, they will be handled as a series in the same way
as section 5.2.4.3. An example of such a file is given below:
North Sand Weight 18.2 Values [5.3 6.7 8.0 9.8]
North Clay Weight 16.1 Values [2.3 4.5 8.8]
South Sand Weight 17.6 Values [5.1 6.4 7.7 9.1]

5.2.4.6 Keyword enriched files


Keyword enriched files are ascii files, to which keywords are added, usually by a user and not
by a software-applcation. Keywords must appear between ’%’-signs and have an identifier and
a numeric value. The file must start with a line starting with "keyword". Keuyword enriched
files can only be used as input files. See the example below:
keyword
%Sand.Gamma =18.2% 5.3 6.7 8.0 %Sand. LastValue =9.8%
%Clay.Gamma =16.1% 2.3 4.5 8.8
17.6 5.1 6.4 7.7 9.1

When this file is used in a calculation, the keywords (the whole section between the ’%’-
signs) are replaced with numeric values. This example would result in the first example in
section 5.2.4.5.

5.2.4.7 Net CDF files


The elements and attributes in the net cdf file appear as captions and attributes.

5.2.4.8 Zip files


Zip files are supported if their contents are one of the supported file types.

5.2.4.9 Propriatary files


The following specific Deltares files are supported

His and Nefis files Binary format, which contains parameter/location/time values;
CMT files Case Management Tool file, which refers to other files;
Sobek-3 files They are ini files, but some specific syntax to cover tables

5.2.5 Running
When running a file based model, the following can be specified:

5.2.5.1 Arguments
Command line arguments are used, at least to specify which input file is to be used. To specify
the input location, use the following codes in the argument text field:

32 of 155 Deltares
Model

{input} The file name of the input file, including the full path
{file} The file name of the input file, without the full path
{name} The file name of the input file, without the full path and without the extension
{index} The generated suffix of the input file or directory
{dir} The directory where the input file is located, also accessible by {directory}
{parentdir} The parent directory of the directory where the input file is located, also accessible
by {parentdirectory}
{source} The full path to the original input file
{calcdir} The directory where the executable is located
{realization} The sequence number of a realization
{round} The round number in case of a composite model

Variables can be defined in arguments too. Its syntax is as follows:


{<name >=<value >}

where

name is the name of the variable


value is the default value of the variable. Specification of the value is mandatory

5.2.5.2 Working directory


When the Probabilistic Toolkit runs a model, the input file or directory is copied, see also ??.
The copy is by default in the same directroy as the original. In this way relative references to
other files are retained.

Optionally, it can be specified to have another location.

It can be specified whether to clean up the copied files or directories after the run. By default
this option is set, but might be turned off in case one wants to inspect generated files.

Figure 5.18: Known application

5.2.5.3 Pre and postprocessing


Before and after a model is run, pre and postprocessing can be applied. The pre and post-
processing can be applied as python scripts or executables. The script or executable expects
arguments (see section 5.2.5.1), by which the input file (or output file) can be passed.

Figure 5.19: Pre and postprocessing of a model

Deltares 33 of 155
Probabilistic Toolkit, User Manual

The arguments can define variables. They will appear in the list of variables.

Preprocessing can be applied for the following reasons:


 The known uncertainty is not available as a single numeric input value in the input file, but
several numerical values must be adapted. For example, the phreatic line is modified and
the only known value in the Probablistic Toolkit is he outside water level.
 The input file is can not be handled by the Porbabilistic Toolkit, because its format is not
recognized. In this case an intermediate file is used: The Probabilistic Toolkit can handle
an intermediate file which is transformed by the preprocessor to the input file. Therefore
also the Initialize processor is available: Initially the input file is transformed in the other
direction to the intermediate file. Postprocessing exists for the same reason.

5.2.5.4 Unsuccessful runs


The Probabilistic Toolkit needs to recognize whether a run was successful. This should be
specified by the user in the following section:

Figure 5.20: Not succeeded specification

In case a run is not successful, it can be retried a few times. If still not successful, the algorithm
decided how to handle it.

5.3 Imported models


Imported models are models where the model result is already given.

5.3.1 Fragility curves

5.3.1.1 Define fragility curves


Fragility curves can be entered directly in the Probabilistic Toolkit but are a special case.
Fragility curves are not normal models, because they provide a probability of failure instead of
a physical output value. Therefore they can only be used in reliability calculations.

To enter a fragility curve, a table must be populated with failure probabilities per value of a
certain parameter. This parameter, which will appear in the variables and to which a stochastic
distribution is assigned, is fixed for a probability value in the fragility curve.

34 of 155 Deltares
Model

Figure 5.21: Fragility curves

Often the water level is used for this parameter, but not necessarily so.

The fragility curve model is treated as any other model, which means that it receives input data
and produces output data. For each fragility curve in the model, one input value is accepted.
This input value denotes the reliability and its variable definition is a standard normal distribu-
tion. Since this input value is fixed and cannot be altered by the user, it is hidden and therefore
not visible in any table. The output value is the critical value corresponding to the input value.

To enter fragility curves, the user has the following choices


1 Enter the fraglity curve manually;
2 Import the fragility curve from another Probabilistic Toolkit file by using the Import button
(see section 4.2). This has the advantage that design points belonging to fragility curves
are imported too, which will be used in the reliability calculation (see section 12.4.4).

5.3.1.2 Import fragility curves


Fragility curves can be imported from the following file types:

Probabilistic Toolkit file (*.tkx) Another Probabilistic Toolkit file in which fragility
curves have been calculated, see section 12.4.4;
Fragility curve file (*.json) File containing a fragility curve, generated by another
application;

To import fragility curves, use the import button. In the dialog which appears, select the Prob-
abilistic Toolkit file from which to import the fragility curves and select the fragility curves.

Deltares 35 of 155
Probabilistic Toolkit, User Manual

Figure 5.22: Import fragility curves

This will result in a copy of the fragility curves of the original file. But in addition to self
defined fragility curves, for each point in the fragility curve the design point is added. This
results in more precise reliability calculations.

When the fragility curve in the referenced file is renewed, a warning message appears that the
imported fragility curve is out of date. The message has an option to import the fragility curve
again.

A new calculation can be created from the File, New from menu. Select the ’External fragility
curve’ command and the user will be asked for a file containing the fragility curves. In this
case only the json file can be selected.

Select ’Internal fragility curve’ when the fragility curve is available in the currently loaded
calculation.

The Probabilistic Toolkit will be set up for a reliability calculation using the fragility curves.
The user only has to define the variable over which the fragility curve will be integrated.

5.3.1.3 Composite fragility curves


Fragility curves can consist of other fragility curves. Each fragility curve represents a fraction
of the composed fragility curve.

The workflow to set up composite fragility curves is as follows:


1 Create the fragility curves from which the composite fragility curve is built up. This can be
done by the Probabilistic Toolkit in another session (see section 5.3.1.1) or by an applica-
tion which supports building fragility curves and save them in a file which can be imported
by the Probabilistic Toolkit;
2 Import the fragility curves (see section 5.3.1.2);
3 Create a new fragility curve and set the type to ’Composite’;

36 of 155 Deltares
Model

4 In the panel which appears right of the fragility curves, add all fragility curves of which the
composite fragility curve consists;
5 In the Composing fragilty curves panel, add a record and specify per fragility curve its
constribtion to the composite fragility curve. These contributions must add upp to 1.
6 If the contribtion depends on the parameter over which is integrated, enter more than one
record. Between the defined contributions the contributing fraction of the fragility are
interpolated. Beyond the first and last contribution, the contribution will remain the same
as the first or last contribution;

Figure 5.23: Composite fragility curves

5.3.1.4 Two-dimensional fragility curves


Two-dimensional fragility curves are built up from one-dimensional (’normal’) fragility curves.
For a two-dimensional fragility curve, fragility curves must be available for certain values of
the the second dimension variable.

The workflow to set up a two-dimensional fragility curve is as follows:


1 Create the fragility curves from which the tow-dimensional fragility curve is built up. This
can be done by the Probabilistic Toolkit in another session (see section 5.3.1.1) or by an
application which supports building fragility curves and save them in a file which can be
imported by the Probabilistic Toolkit;
2 Import the fragility curves (see section 5.3.1.2);
3 Create a new fragility curve and set the type to ’Second dimension’;
4 In the panel which appears right of the fragility curves, add all fragility curves of which the
composite fragility curve consists;
5 For each of these fragility curves, assign the value of the second conditional variable for
which this fragility curve was generated;
6 The name of the second conditional variable has appeared and in the ’Variables’ tab, a
distribution should be assigned to it;
7 If the distribution depends on the parameter over which is integrated, set the ’Source type’
of the variable to ’Variable’ and assign the parameter over which is integrated as the source
variable (see section 7.1.1);

5.3.2 Response surface


Response surfaces can be imported in a Probabilistic Toolkit. A Probabilistic Toolkit file should
be selected in which a response surface was derived via section 8.2.5.

It is not ncesseary to import response surfaces to use them. They can also be used in the file
where response surfaces are derived (see chapter 13). The disadvantage of importing response
surafaces is that they can not be updated run time. The advantage of importing response sur-
faces is that there might be a huge computational effort to derive them and it can be reused
several times.

Deltares 37 of 155
Probabilistic Toolkit, User Manual

5.4 Known applications


For a number of Deltares applications all above configuration is preconfigured. Select the
model type "Application" and select one of the applications in the "Application" input field.
Only applications which have been installed on the computer of the user will be available.

The ’Run Options’ tab is hidden, because all the input fields in this tab have been preconfigured.
The parameters (see section 5.2.3) appear in a simplified form, so that the user does not have
to know the input file structure. When a template should be used, the ’Active’ check box must
be selected.

Figure 5.24: Known application

In case the preconfigured parameters are not sufficient or other advanced properties must be
modified, press the ’Convert’ button. This will convert the model to its underlying model type,
for example an executable, and all configuration options will be available.

To go back from a converted model to an application, select the ’Application’ model type. All
added parameters will still be available, but other advanced properties will be reset.

A new calculation can be created from the File, New from menu. Select the ’Model input file’
command and the user will be asked for an input file of one of the knwon applications. When
using this command, some input and response data are selected automatically and probabilistic
data are copied from the model input file, if available.

5.5 No model
In case no model is selected, no model run will be performed, but variables can be added
manually. This can be useful when stochastic varibales are sufficient. In fact output variables
have the same value as input variables.

38 of 155 Deltares
Model

5.6 Composite model

Figure 5.25: Composite model

The composite model is a sequence of model types mentioned above. The models in this
sequence will run sequentially and will be regarded as a whole for the probabilistic request.

In a composite model, a table is displayed where the user can add (or remove, or change the
order) of sub models. Each sub model can be of any type except a composite model again.
They should be treated as stand alone models, regarding their specifications and input data.

Composite models are useful when output data from one model are used as input for a next
model. Therefore the user can indicate their connections in the connections tab.

Sub models can be run single or per component (see section 5.6.2 for components). This is
indicated by the ’for each component in’ column in the table with all sub models.

Deltares 39 of 155
Probabilistic Toolkit, User Manual

5.6.1 Multiple rounds


The whole chain of models can be run multiple times. This is indicated by the multiple rounds
section. This is useful when the user wants to simulate multiple years and the output of one
year is input for the next year.

Input variables for different rounds can have equal or different values, depending on hte corre-
lation factor between rounds (see ??). The input variables will always have the same stochastic
definition for all rounds.

5.6.2 Connections
The user should specify which data must be transferred between models. Therefore he selects
per input variable which output variable, which has run before the input variable is needed. If
the value is left empty, the variable will appear in the tab variables, where a stochastic distribu-
tion can be defined. The connections are available in the tab Connections, which appears when
a composite model is selected.

Figure 5.26: Connections

When multiple components are in play, it is possible to create a connection for all components
in one line. Therefore use the variable which has the component set in its name between square
brackets, in the example above [Boundary] and [Location]. All variables which are part of the
component will be connected to the corresponding output variable of a prior model, if “Default
connection” is checked.

When multiple rounds are used, it is possible to make a connection to output variables cal-
culated in a previous round. Variables connected in this way will still be available in the tab
variables, where their initial value can be entered.

When multiple rounds are used, it is also possible to the round number, which is named Round.
The first round is numbered 1 and the final round the number of rounds at the composite model
definition.

40 of 155 Deltares
Model

5.6.3 Connection by file


Alternatively to the connections in the connections tab, connections can also be made by file.
This option is only available for a model if there is a prior model which is file based. When
using this option, called “Use files from previous models”, the previously generated file is
available and the model can access it. Of course, the model should be able to interpret the file.

Figure 5.27: Connecetion by file

Deltares 41 of 155
Probabilistic Toolkit, User Manual

42 of 155 Deltares
6 Analysis

6.1 Analysis type


In the tab Analysis the required analysis type can be selected. The analysis type can also be
selected in the main toolbar.

Figure 6.1: Analysis type

Next to the selection of the analysis type, the requested output can be select for some analysis
types.

6.2 Performance
The following options are available to reduce calculation time:

Figure 6.2: Performance settings

Recalculate realizations The Probabilistic Toolkit stores results of all model runs. In case a
model run is requested which has been calculated before, the previ-
ous results can be used. If this value is set, this option will not be
used.
A reason not to use this option is when the model has changed or
other input values have changed which are not used as an input pa-
rameter (see section 5.2.3)
Max parallel runs The number of model runs which can be performed parallel. The
maximum value is is the number of processors on the computer. A
reason to limit this value is the memory needed by a model.
Use response surface A response surface is an approximation of the real model. It should
be trained and gives almost immediate response, but still is an ap-
proximation and therefore introduces an error. See chapter 13.

Deltares 43 of 155
Probabilistic Toolkit, User Manual

6.3 Logging
This section is used to specify which data are logged.

Figure 6.3: Logging

Logging can take the following forms:

Log messages Textual information about the calcualtion. The following levels are
supported: Error, Warning, Info and Debug.
Realizations Realizations needed for a calculation are logged. They are presented
in the tab ’Realizations’ (see chapter 14)
Convergence The convergence of a calculation is displayed.

6.4 Pre and postprocessing


The pre and postprocessing is an action which is performed before and after the calculation.
Using Python scripts modifications can be made to the input or results can be extracted.

Figure 6.4: Pre and postprocessing of a calculation

Arguments can be used when the pyton scripts is called, for example to specify a data source.
The special phrase ’id’ can be used, which takes the value of the identifier. The identifier can
also be passed to the Probabilistic Toolkit. In that case it does not have to be passed as an
argument.

Typical usage of preprocessing is to get input values from another datasource and assign them
to input values of the Probabilistic Toolkit. To get access to the Probabilistic Toolkit input
values via Python, the Python interface should be used, see section 16.1.2.

Typical usage of postprocessing is saving the results of the Probabilistic Toolkit in another data
source. The Python interface should be used.

44 of 155 Deltares
7 Variables

7.1 Distributions
Once the user has set up the model, including input and output, he can define the stochastic
characteristics of the input variables. The list of available input parameters is derived from
the model definition and set by default to deterministic distribution type, which indicates an
invariant variable (during all calculations they will have the same value).

Depending on the task uncertainty parameters are available. When the task is "Run Model"
(except using design values), only the mean value is available. In other cases all uncertainty
parameters are available.

Figure 7.1: Distribution

The user has to specify the distribution type and corresponding characteristics for each variable.
Next to a number of usual distribution types, such as normal, log normal, truncated normal, etc..
A special distribution type is the table distribution type. For this distribution type the user can
enter a table with ranges and occurrences. This enables definition of an own distribution type.

The following distribution types are available

Deltares 45 of 155
Probabilistic Toolkit, User Manual

Deterministic The variable has no uncertainty.


Normal Bell shaped distribution, common in natural processes.
Log normal Normal distribution of the log of the varaiable values.
Student-T Normal distribution corrected for the limited number of measure-
ments.
Uniform Equal probability in a certain range.
Triangular Probability linearly rising to a maximum value and then linearly
decreasing.
Exponential Probability exponentially decreasing from a certain start value.
Gumbel, Frechet, Weibull Distributions of extreme values.
Pareto, Generalized Pareto Distributions of limited available resources.
Discrete Distributions where varaiables can only have a limited number of
values.
Poisson Distribution which describes number of occurrences.
Histogram Distribution described by bins (min max values) and the number
of occurrences per bin.
Fragility curve Distribution described by (non-) exceedance probability for a
number of fixed values.
Gamma, Beta, Rayleigh Some more special distributions.

For a number of distributions, the following additional characteristics are available:

The following distribution types are available

Truncated For distributions which do not have a minimum or maximum,


cut-off values below or above no values are possible. This is
useful for preventng variables to get values out of their domain.
Inverted For non-symmetrical distributions: Inversion around their mean
or start value.

For more information about distributions, see section 17.3

When specifying distributions, consider the possible values a variable might achieve during
probabilistic analysis. For example, if the model cannot handle values below zero, do not
select a distribution where realizations can be generated outside certain limits. So instead of
using a normal distribution, consider using a truncated normal distribution or a log normal
distribution.

For each variable, the user has to specify a number of distribution properties. Some proper-
ties can be converted into each other. For example the mean and standard deviation can be
converted into a scale and shape parameter (depends on distribution type). The Probabilistic
Toolkit displas all parameters. When the user enters a mean, the location and scale are adjusted,
but the standard deviation is not changed. On the opposite, when changing the scale, the mean
and standard deviation are adjusted, but not the shape parameter.

When the user has entered a distribution and selects the variable in the table, the probability
density function and the cumulative density function are displayed in a chart, to give insight in
the chosen characteristics.

46 of 155 Deltares
Variables

To obtain distributions, the user has the following choices


1 Enter the uncertainty charteristics manually;
2 Derive the uncertainty charteristics from data, see section 7.2;
3 Import them from another Probabilitisc Toolkit file (use the rightmost button with the small
plus symbol). All input variables and results from Output Uncertainty (see chapter 10) can
be used.

7.1.1 Distribution depending on realization


Sometimes the distribution of a variable depends on the realized value of another variable.
The realized valueof a variable is the value which is assigned to the variable in a calculation.
Usually many different values are assigned to a variable, such as in a Monte Carlo procedure.
This can be entered as follows:

Figure 7.2: Distribution depending on realized variable

The following steps should be performed:


 The source of the depending variable should be set to ’Variable’
 In the panel which appears at the right, the variable should be selected from which the
variable is dependent.
 A number of distributions should be entered for realizations of this variable

When obtaining the distribution during the calculation, interpolation is applied between all
characteristic properties of the distribution, using the realized value of the variable from which
it depends. Beyond the first and last value, the values at the first and last are used.

The ’Variables’ tab displays the interpolated distribution for the mean value of the variable
from which it is dependent.

Deltares 47 of 155
Probabilistic Toolkit, User Manual

7.2 Data and test


Instead of entering distribution properties, it is possible to enter data. From these data values
the distribution properties are estimated. Only the distribution type has to be entered. Per
distribution type, there is a way to estimate the distribution characteristics (see section 17.3)

To enable this feature, specify per variable that it should be derived from data by setting the
Source value to Data.

Figure 7.3: Data

Not only the distribution characteristics are calculated, but also an indication of the goodness
of fit and p-value. A goodness of fit value of 0 indicates a perfect fit and a value of 1 indicates
the worst possible fit. See section 17.4 for calculation of the goodness of fit value and p-value.

The p-value is related to the confidence level and null hypothesis. The null hypothesis is the
assumption that the data can be fitted to the provided data. The p-value tells whether this
assumption can be rejected. Suppose a confidence level of 95% is required, then the fit is
rejected when the p-value is lower than 1 - 0.95.

When the distribtion should not be fitted, but only an indication of goodness of fit and p-value
are required, set the Source to Test.

The result of the fit is displayed in the graphical representation of the distribution. In lighter
colors the distribution of the data are displayed. The data are fitted against a histogram distri-
bution. The similarness between the data and fitted distribution give a visual indication of the
goodness of the fit.

Figure 7.4: Fitted distribution

48 of 155 Deltares
Variables

7.2.1 Prior distribution


A prior distribution can be used when general distribution of a parameter is known. Such as
general distribution can be a world wide or long term distribution of a parameter. The prior
distribution is used to update the fitted distribution, see section 17.5. Even with a low number
of measurements for a local situtaion, a meaningful distribution can be derived.

To enable this feature, check the ’Has prior distribution’ checkbox. A prior distribution must
be specified. The prior distribution has the same distribution type as the fitted distribution.

Figure 7.5: Prior distribution

The result of the fit is displayed in the graphical representation of the distribution, see Figure ??.
In lighter colors the distribution of the data and the distribution of the prior are displayed.

Figure 7.6: Prior fitted distribution

7.2.2 Data sets


When a data set is specified, it is assumed that all variables within the same data set have been
observed in the same measurement. The number of data values in the data set are forced to be
the same for all variables. Data sets can be added in the tab ’Data sets’.

The benefit of using data sets is that correlation factors (see section 18.1) are calculated between
all variables in the data set.

7.3 Series
The series properties define how a stochastic realization will change a series.

Usually a stochastic realization will update a series by setting a value, multiplying or shifting
all values in the series in the same way. This definition allows the user to modify the series in
a more advanced way.

Deltares 49 of 155
Probabilistic Toolkit, User Manual

Figure 7.7: Series

The following properties define how the series are modified

Side of base level The side of the base where the series will be modified. This can be on both
sides, above or below.
Base level Horizontal level. One can think of this level as a minimum or maximum,
beyond which no series modification will take place
Modification The type of modification per point in the series:
Uniform: All points will get the same value
Stretch: All points are stretched relatively to the base level. The most
extreme point will get the value applied to the series (for example, if the
variable is of type value, this point will get the supplied value, if it is a shift,
the shift will be applied to this point. Other points will have a modification
smaller than the most extreme point until no modification at the base level
(if the factor at base level is zero)
Proportional: Similar to stretch, but now the shape of the series is pre-
served. This means that there is a correction to each point to preserve the
shape. No additional points will be added to the series, but the correction
only takes place at the existing X coordinates
Factor to base level For stretch and proportional, the factor of the modification applied to points
at the base level. Other points will get a factor interpolated between 1 (for
the most extreme point) and this factor.
Factor at shift level The shift level is the level to which the most extreme point will be moved.
Optionally, the user can set a factor for this level. The factor used for stretch
and proportional will be derived by interpolation with this factor too.
One can simulate a truncated series by setting this value to zero.

By using the quantile value, the user can see the effect on the series during editing.

50 of 155 Deltares
Variables

7.4 Correlations
Next to the distributions, the correlations form an essential part of the variable definitions. The
probabilistic toolkit accepts correlation coefficients between any two variables. By default the
correlation coefficient between two variables is zero, meaning there is no correlation. The
allowed values are between 1 (fully correlated) and -1 (fully anti correlated).

It is only possible to use the correlation matrix when it is positive definite. There will be an
error message if this rule is violated.

To indicate the consequences of correlation coefficients, there is a chart with random realiza-
tions between two variables of the user’s choice. Based on the distributions and correlation
coefficients, the chart is populated with a number of realizations.

Figure 7.8: Correlations

See chapter 18 how correlations are handled.

7.4.1 Auto correlations


In some cases variables are defined once and are used as multiple stochastic variables in cal-
culations. In that case a correlation can be defined between the stochastic variables used in the
calculations. This feature is available in the following situations:

Arrays An internal model where variables are defined as arrays, see sec-
tion 5.1.3.
Groups Groups were used to merge components, seesection 5.2.3.2.
Multiple rounds Multiple rounds were used in a composite model, see section 5.6.1.
Imported fragility curves If fragility curves (see section 5.3.1) have been imported from an-
other Probabilistic Toolkit file, the variables in the design points of
the points in the fragility curves can be correlated. Equally named
variables will be correlated. In this case the correlation between
fragility curves can be derived from the underlying design points
and variable correlations.
Imported design points If design points have been imported (see section 12.2.2), equally
named variables in different design points can be correlated. There
is an option to let the correlation factor be distance dependent (see
section 18.1.1). Therefore the location in the file from which the de-
sign point was imported, must have been specified (see chapter 15).

Deltares 51 of 155
Probabilistic Toolkit, User Manual

Figure 7.9: Self correlations

52 of 155 Deltares
8 Run model
Now the model and variables have been defined, they can be used. The simplest thing to do is
just run the model and inspect its results. This is useful if the model should be inspected.

Therefore select the option ’Run model’ in the ’Analysis’ tab and then press the ’run’ button.
If it is not enabled, messages are present in the validation panel. They should be solved before
the model can be run.

8.1 Design values


The user can choose to run the model with design values. In that case design values will be
used instead of the mean value. Design values are calculated from the mean and uncertainty
values of a stochastic variable. Therefore, the full stochastic definition is available in the tab
’Variables’.

8.2 Run model results


A few options exist which result is desired. They can be selected in the results panel in the
’Analysis’ tab.

Figure 8.1: Run model result options

To run the model, the probabilistic input is used in a limited way. The mean value of all
variables is used to calculate the result. The result consists of values for the output parameters.
The result are displayed in the evaluations tab.

8.2.1 Single run


To run just one calculation, with the values specified in the Variables tab, select the ’Single run’
option. This will result in a table with one line, giving the results and input values of this run.
This is the most simple application of the Probabilistic Toolkit.

8.2.2 Table
The user can also perform a number of runs and let one of the input variables vary by using the
option ’Table’. A tab in the main tab control is added named ’Table’.

An input variable should be selected and values for which to generate the table values. This
can be done with the following Step type:
 Table: By specifying the minimum, maximum and step size;

Deltares 53 of 155
Probabilistic Toolkit, User Manual

 Values: By entering the values explicitly;

Figure 8.2: Table specification

Variations over multiple variables can be specified. Therefore, press the button ’Add more
variables’ and a table appears in which the variables can be specified which will have variations.
All combinations of variables will be calculated.

Figure 8.3: Table specification for multiple variables

54 of 155 Deltares
Run model

When run, the realizations table will contain a record for each table value. A chart is displayed
giving insight in the results as function of the select variable value. This will result in:

Figure 8.4: Table results

It is possible to make variations on more than one variable. Therefore press the button "Add
more variables". The scenario panel will switch to a mode where for each variable the input
values can be selected.

8.2.3 Batch processing


The table option can be used for batch processing. A batch file contains several data records,
where each data record leads to a calculation. To do this, select the ’Use input file’ check box
and specify a file.

The panel which appears at the left side allows the user to select which data items in the file
should be used. This is similar to the specification of parameters (see section 5.2.3), so any
format supported by the Probabilistic Toolkit can be used, for example *.csv, * xml, *.json,
etc.. The panel in the center is used for creatring the mapping between data items and variables.
The panel at the right allows selection of items in the file.

Deltares 55 of 155
Probabilistic Toolkit, User Manual

Figure 8.5: Table specification from file

When the underlying model is the Probabilistic Toolkit, an identifier can be specified. This
value is passed to the Probabilistic Toolkit as the identifier value, see section 6.4.

See the piping-reliability-batch.tkx file in Examples


Piping for an example.

A new batch calculation can be created from the File, New from menu. Select the ’Batch file’
command and the user will be asked for a file containing the batch data.

The Probabilistic Toolkit will be set up for batch processing. The user only has to define the
mappings between the batch file and the variable properties.

8.2.4 Search
The ’Search’ option finds the input variable value which leads to a specified output result. A
tab in the main tab control is added named ’Search’.

Figure 8.6: Search specification

56 of 155 Deltares
Run model

The probabilistic toolkit will iterate until the corresponding input variable value is found. Bi-
section is used to get the input value. When completed, all realizations needed to find the result
are displayed. The last realization is the final result. These results are also displayed in the
’Search results’ panel.

This will result in

Figure 8.7: Search results

8.2.5 Response surface


The run model analysis can be used to build a response surface, see chapter 13.

When the response surface is generated, it can be used in another Probabilistic Toolkit file,
in which it is imported. This is useful when generation of the response surface takes a lot of
calculation time. The generated response surface can not be updated during its usage any more.

Deltares 57 of 155
Probabilistic Toolkit, User Manual

58 of 155 Deltares
9 Sensitivity
In performing a probabilistic analysis, we investigate how much influence inidividual parame-
ters have on the model output. In other words, an analysis how much the output variables will
change due to a variation in the input values.

Therefore select the option "Sensitivity". In the tab calculation options specify what variation
of the input variables is to be used. For example, select the exceeding and non-exceeding
probability and the probabilistic toolkit will calculate the corresponding values of the variables,
based on the stochastic definitions entered in an earlier stage.

Figure 9.1: Low and high values

Now run the calculation. For each variable two calculations are made, one with the input
variable set that it matches the exceeding probability and one that it matches the non-exceeding
probability. All other variables are set to their expectation value.

The result is a table with all run evaluations, displaying the output variable values. A chart
displays the same information.

When correlations (see section 7.4) are used, only full correlations are used. Other correlations
are ignored.

Figure 9.2: Sensitivity

Deltares 59 of 155
Probabilistic Toolkit, User Manual

60 of 155 Deltares
10 Output uncertainty
An output uncertainty calculation results in the distribution of the output variables. Based on
the distribution of the input variables, different results are expected for the output.

This results are displayed for a low and high value, which are quantiles of the distributions.
After calculation, one can modify the quantiles and the distribution low and high values are
adapted without recalculation of the model.

Figure 10.1: Output uncertainty

The result of this calculation is a number of distributions, one for each output variable, and
a correlation matrix (not for all techniques). These distributions can be used in a subsequent
analysis, where they can be imported.

In principle, probability of failure can be derived from output uncertainty results. However, the
probabilistic techniques focus on the failure definition and leave out as many as possible non
interesting calculations, which lead to shorter calculation times. This depends on the selected
failure calculation technique. See chapter 20 for explanation of available techniques.

Example: Use settlement uncertainty in pipeline reliability


In this example we calculate the vertical position of a pipeline in the subsoil. Due to a load on
the surface, the subsoil will settle end therefore the vertical position of a pipeline will change.
We are particuarly interested in the difference of the vertical position at the beginning end and
of the pipeline. If the subsoil has equal properties on each location and load is uniform, we
expect no difference. If these properties are not equal, a difference is expected.

Deltares 61 of 155
Probabilistic Toolkit, User Manual

Figure 10.2: Settlement of a pipeline

We split this analysis in two parts. First we will calculate the distribution of the vertical positins
at both ends and then we will use these results in a reliability calculation. In the first part we
have modeled the subsoil in two peat layers with equal properties. These properties have equal
uncertainties. The properties are partially correlated to each other, because we assume that they
are related to each other, but are not equal: The properties may have slightly different values.

We run the output uncertainty calculation with Monte Carlo method, which results in distribu-
tions of settlements at verticals 2 and 3. These distributions are equal. Essential for subsequent
analysis is the correlation factor found in this analysis.

Figure 10.3: Uncertainty of vertical position of pipeline

We will use these results in a subsequent analysis in a new Probabilistic Toolkit file. Therefore

62 of 155 Deltares
Output uncertainty

these results should be saved and in the new file, in the tab "Variables", these results can be
imported. Press the import button and a dialog will be displayed, in which the user can select
the file where the uncertainties were calculated. Next the user identifies to variables in the new
file, into which the uncertainties are copied. The correlation is imported too. Once imported,
the original file is not needed any more, but if changed after the import, the Probabilistic Toolkit
will generate a warning in the new file that imported variables are out of date.

Figure 10.4: Import settlement uncertainties

Deltares 63 of 155
Probabilistic Toolkit, User Manual

64 of 155 Deltares
11 Calibration
Calibration is the process of deriving input values from given output values. In fact calibration
is a minimization process, where a cost function is minimized. The cost function is a measure
how much a model results differ from the observed values. Optionally, the cost function in-
cludes how much input values differ from initially defined values for the input parameters (keep
close to input). This option takes care that calibrated input values do not differ very much from
initially defined values.

Figure 11.1: Calibration

See chapter 21 for explanation of calibration techniques

Deltares 65 of 155
Probabilistic Toolkit, User Manual

66 of 155 Deltares
12 Reliability
An important analysis is the calculation of probability of failure, in other words the probability
that the model result is to be regarded as failure. For example, a model that computes water
supply might be regarded as failing if the water discharge is less than a certain amount. Or if
flooding is calculated, it might be regarded as failure if the water level is higher than a certain
level.

12.1 Reliability algorithms


There are a number of ways the reliability index can be calculated. They all have their own
advantages and disadvantages. See section 22.1 for a description of all methods. The user has
to select one of the methods.

Once run, all realizations which were needed during the calculation are displayed under the
table Realizations. Progress is indicated during the calculation process.

Figure 12.1: Settings

Deltares 67 of 155
Probabilistic Toolkit, User Manual

12.2 Failure definition


In the calculations tab, the user must indicate when a realization is to be regarded as failing.
Therefore add a failure definition (also known as a limit state function, the result is also known
as the Z-value). A failure defniition leads to a design point (see section 12.3), which contains
the calculated resliability and contributions of the input variables.

The user has to select to which output variable must be evaluated and when failure occurs. This
is a comparison with a critical value, which is either a fixed value or another variable. When
using another value, the user can (but does not have to) select such a variable from a list of
additional variables. This is useful when this variable is not part of the input of one of the
models. The list of additional variables can be found under the Variables tab.

Figure 12.2: Failure definition

The following combinations of failure probabilities are suppoerted:

12.2.1 Multiple failure definitions


More than one failure definition can be entered. Each failure definition leads to a design point
and they will be combined to an over all desighn point. This combination is one of the follow-
ing:

Series The combination is regarded as failing if at least one of the failure defini-
tions is failing;
Parallel The combination is regarded as failing if all failure definitions are failing.

There are two ways of calculating the combined probability of failure:

68 of 155 Deltares
Reliability

Afterwards The failure probability for each failure definition is calculated separately
and then combined to the combined probability of failure (see ??);
Integrated Per realization the limit state value is calculated for all failure definitions
and then the minimum (at least one failing) or maximum (all failing) is
used (see section 22.3.1).

12.2.2 Import design points


Instead of calculating designh points, they can also be imported from another Probabilistic
Toolkit file. Press the import button in the toolbar of the failure definition to import design
points.

This is useful when individual design point calculations have long calculation time. Also the
location of the design points can be different (see chapter 15), which is used when correlating
variables in the design point (see section 7.4.1). When the location is specified in a design
point, a map is displayed in the reliability results with the reliability per location. The color
scheme is fixed.

Figure 12.3: Map of reliabilities

12.2.3 Updating reliability


Sometimes it is needed to exclude some realizations from the probabilistic analysis. The reason
for this is that the generated realization is physically not possible or is in contradiction with an
observation. The process of correcting probability in this way is called updating reliability.

To define the realizations which must be included, the definition should be entered in the evi-
dence section. The included section serves as a condition when to take realizations into account.
This is the lower part in the panel in section 12.2.

When using Afterwards (see section 12.2.1), Bayes rule is applied. Using this rule there will
be a correction on the calculated probability of failure, because it calculates the probability of
failure only for included realizations. It is defined as follows:

Pfailure ∩ Pincluded
Pfailure|included = (12.1)
Pincluded

There are two ways of combining failure probabilities, depending on the value ’Calculation’:

Deltares 69 of 155
Probabilistic Toolkit, User Manual

Afterwards The afterwards method will combine the probabilities after they have been
calculated individually. Bayes rule is applied (see Equation (12.1)). All
individual probabilities are combined using directional sampling;
Integrated All failure definitions are combined within the processing of one realiza-
tion. If it has to be excluded, the realization is set to non succeeded, so
it will be ignored by the probabilistic technique. For example, in Crude
Monte Carlo it does not contribute to the counting. Note that this option
should not be used in FORM, because it does not cover the whole parame-
ter space, but searches directly for the design point.

If it is known that with a specific observed situation no failure occurs, but in another (to be
assessed) situation (with another input file) one is not sure about this, it is useful to use runs
(see ??). With the same realization both the observed situation and the assessed situation
are calculated. Using results from both situations and excluding the failure of the observed
situation, one has taken into account the survived situation of the observed event.

12.2.4 Upscaling
Upscaling is a special form of combining failure definitions. The resulting design point is
combined a number of times with itself. For example, if the design point is calculated for one
dike section, by upscaling the probability of failure is calculated for several dike sections. This
is called the upscale factor f and is given by the user. The probability of at least one failure is
calculated.

The user also specifies a self correlation factor of each variable in the design point. A self
correlation of 1 means that all sections are dependent and the result would be the probability
of failure of the original design point.

See section 22.4 for more information

12.2.5 Fragility curves


The calculation of failure of fragility curves (see section 5.3.1) is not essentially different than
calculating failure of other models.

When a fragility curve is defined as function of a certain physical value and the distribution of
this physical value is known, one can calculate the probability of failure of this combination.
The failure definition should be a comparison of the critical value of the fragility curve with
the physical value.

Figure 12.4: Failure of fragility curve

70 of 155 Deltares
Reliability

The ’lower than’ comparison is used for descending fragility curves. The ’greater than’ com-
parison should be used for ascending fragility curves. This results in the same probability when
integrating the reliabilities over the physical value domain. The ’integrate over’ option figures
out automatically which options should be used.

Note one can use a comparison with a fixed value. This means that one calculates the proba-
bility of failure at a fixed value. If one has observed that in reality there was no failure, one can
use this comparison as evidence and by such, excluding all realizations where the model would
predict failure. In this way one can take into account proven strength of a model.

The calculation options define the way the probability is calculated. The special option ’Fragility
curve integration’ is available for calculating the probability of failure of fragility curves. When
design points (see section 12.3) are available for each point in the fragility curve, their con-
tributins are used ine the design point of the fragility curve calculation.

12.2.5.1 Combining fragility curves


When multiple fragility curves are used, either entered or as intermediate result, they have to
be combined. Multiple fragility curves may arise from multiple failure definitions or multiple
entered fragility curves.

To combine them, there are the following possibilities:

In reliability updating the fragility curves are kept separate. When calculating the limit state
function, all fragility curves are used and the most unfavourable result is used. Usually numer-
ical integration or numerical bisection are used.

12.3 Design point


Each failure calculation results in a design point. The design point is the point which is regarded
as representative for failure. It is often close to the limit state (i.e. the points in u-space which
are on the edge of failure), but not necessarily exactly on the limit state. To find the point on
the limit state, calculate the limit state point (see section 12.3.3).

Figure 12.5: Design point

The design point consists of a reliability index β and contributions per variable α.

Deltares 71 of 155
Probabilistic Toolkit, User Manual

12.3.1 Reliability index


The probability of failure is often expressed as the reliability index. The advantage of a reli-
ability index is that it is expressed in nicer numbers, opposed to probability of failure, which
can be expressed in very small numbers.

The reliability index is the value of u in the standard normal distribution, which has the same
probability of non-exceeding as the probability of failure.

The following figure indicates the relation between the probability of failure and the reliabil-
ity. A subjective indication about the interpretation is added, which is also dependent on the
incurred damage when failure happens.

Figure 12.6: Design point

12.3.2 Contribution per variable


The design point consists (next to the reliability) of per stochastic variable a contribution, de-
noted with an alpha. The alpha-factor denotes the contribution of the variable to the reliability,
since

uv = −βαv (12.2)

where uv is the value of the variable in the u-space. This corresponds to a value in the x-space,
which is given in the results too. The sum of all alpha values squared i(the influence factors) is
one.

The sign of the alpha- values is important. It gives information in which direction of a param-
eter value one goes into failure area or non failure area.

72 of 155 Deltares
Reliability

1 Positive alpha : A higher value of the corresponding variable would go into the non failure
area (Z > 0) and thus the reliability increases
2 Negative alpha : A higher value of the corresponding variable would go into the failure
area (Z < 0) and thus the reliability decreases

One should be able to see the same trend in the sensitivity analysis. Inspect the output variable
which is used in the failure definition and watch the sensitivity of the variable associated with
the alpha value.

12.3.3 Limit state point


The design point is a gives a representive point in the parameter space for failure. But the
design point is not located on the limit state for all algorithms. Only for algorithm FORM (see
section 22.1.9) this is the case.

The limit state point is the point on the limit state in the direction of the design point. This point
is an approximation of the point with the highest probability density which fails. In u-space
this point corresponds with the point closest to the origin (point with all 0 coordinates).

In the calculation settings, the option can be checked that the limit state point should be calcu-
lated. This results in a limit state index (the length of the u-vector in the direction of the design
point which is on the limit state) and physical values of the parameters on the limit state.

12.4 Reliability results


The following result types are available. They can be selected in the ’Analysis’ tab.

12.4.1 Single run


This result type only calcualtes a single design point and possible the design points it is built
up from.

12.4.2 Table
This result type is similar to the table option of the ’Run model’ analysis, see section 8.2.2.

12.4.3 Search
This result type is similar to the search option of the ’Run model’ analysis, see section 8.2.4.

12.4.4 Fragility curve


Instead of calculating a design point, a fragility curve can be calculated. The user should select
the conditional variable, i.e. the variable for the fragility curve must be generated and for
which values. The user can do this by entering a minimum, maximum and step size (step type:
Table) or by enumerating the values to be used (step type: Values). When generating a fragility
curve, each point in the fragility curve is calculated with, if default settings apply, the given
probabilistic technique or settings which only apply for a particular point.

Deltares 73 of 155
Probabilistic Toolkit, User Manual

Figure 12.7: Build fragility curve

When multiple limit state functions are entered, the user decides how this influences the fragility
curves. If the combine value is left blank, for each limit state function a fragility curve is gen-
erated. If a combination is entered (series or parallel), each point in the fragility curve is com-
bined as requested and leads to one fragility curve. The combination per point is performed in
the same way as section 12.2.1.

Reasons to build fragility curves are the following:


1 The failure calculation including fragility curve parameter is unstable. In this case the
fragility curve can be used as an intermediate result and the total probability of failure is
calculated immedaitely after the calculation of the fragility curve;
2 The failure calculation consumes a lot of calculation time. Once the fragility curve has
been built, it can be used quicker for subsequent calculations.

To calculate the reliablity index of the generated fragility curve, the fragility curve must be
imported in a new Probabilistic Toolkit file, see section 5.3.1.

74 of 155 Deltares
13 Response surfaces
When performing a probabilistic analysis, most computing time will be used by the models.
They may become a limiting factor on the possibilities of probabilistic analysis, in the way of
precision and the number of variables with a statistical distribution.

Therefore response surfaces are used to simulate models. Response surfaces are used to ap-
proximate output values for a realization. They consist of a number of coefficients, which are
used to approximate the response value. Per response value there is a separate set of coeffi-
cients.

Figure 13.1: Response surface

Response surfaces have three group of definitions, which are:


1 Function type, which is the function which will be used instead of the model. See sec-
tion 23.2
2 Initialization, which defines the model runs which are used to construct the response func-
tion. See section 23.1
3 Iterations, which defines during the calculation which additional model runs are needed
to update the response surface. Updating is possible only in reliability calculations. See

Deltares 75 of 155
Probabilistic Toolkit, User Manual

section 23.2.1.1

When using response surfaces during runtime, there is an option to specify whether model
results based on response surfaces should be displayed. If this option is selected, those realiza-
tions are displayed in a dimmed way.

For the function type ’Gaussian Process Regression’ it is possible to calculate an uncertainty
band, since this response surface is able to calcualte the uncertainty of each predicted value.
This gives an impression of the quality of the response surface.

Figure 13.2: Uncertainty band response surface

76 of 155 Deltares
14 Realizations

14.1 Overview of realizations


The ’Realizations’ tab displays all realizations made for a certain calculation. When a calcula-
tion consists of several iterations, they will be grouped accordingly.

Figure 14.1: Realizations

When many columns are displayed, the user can filter them using the "Display" pane at the
right. When more than 100 columns are displayed, the user can scroll through them by using
the arrow buttons in the toolbar.

The columns in the realization table have the following meaning:

Deltares 77 of 155
Probabilistic Toolkit, User Manual

Succeeded Indicates whether a model run has been succesfull. If not, a tab "Log" is
displayed at the bottom containing messages about this realization. The
messages are generewated by the model itself. If the Succeeded check
box is greyed out, messages are available but not interpreted as an error.
Beta the distance in u-space to the realization.
Limit State For realibility only: the Z -value, which is the value calculated for the
failure definition (see section 12.2) converted in such a way that a value
less than zero means failing and greateer than zero means no failure.
Response surface For response surfaces only: Indication whether a response surface was
used (see chapter 13).
Limit state value For response surfaces only and if model run for comaprisaon was
checked: Limit state value by using the model instaed of response sur-
face (see chapter 13).
Std Dev For response surfaces Gaussian Process Regression only: The calcu-
lated uncertainty of a predicted value by the Gaussian Process Regres-
sion algorithm (see section 23.2.3).
Wrong qualification For response surfaces Gaussian Process Regression only: The prbability
that a realization was wrongly classified regarding failure or non failure
in u-space (see section 23.2.3).
Weight For limited calculations only: The weight applied to a realization.
Input values Multiple columns indicating the input values.
Response values Multiple columns indicating the response values.

When a model is a multiple rounds model (see section 5.6.1) or contains series (see section 7.3),
special panels are displayed at the bottom to display the round values or series data.

14.2 Realizations of a design point


When a reliability calculation consists of multiple failure definintions (see section 12.2.1). each
resulting design point has its own set of realizations. To display the realizations corresponding
with a design point, select the design point in the "Reliability" tab and then select the "Realiza-
tions" tab.

14.3 Inspect a realization


When the model is file based, the input file of a realization is displayed at the bottom. If gener-
ated input files should be kept, the input file and output file will contain results, recognizable in
the table of realizations (if different, a model factor may have been applied, see section 5.2.3.4).
If the generated input files have not been kept, the input file is regenenerated. Results are not
up to date.

The save and open button can be used to save the oinput file or open the input file in the user
interface application belonging to a model. This must have been specified to enable this feature.
The same applies to the the saved or opened realization as the display of the realization in the
bottom tab: depending whether the in put file has been kept, the results are or are not up to
date.

78 of 155 Deltares
15 Notes
The "Notes" tab consists of three sections. They are used for the following:

Notes Notes entered by the user.


Statistics Statistics about the last calculation, the date and time it was completed and
the version in use at time of the calculation.
Location An identifier of the location and x- and y-coordinates. These data are used
when importing design points (see section 12.2.2) and when using distance
dependent self correlation (see section 7.4.1).

Deltares 79 of 155
Probabilistic Toolkit, User Manual

80 of 155 Deltares
Python interface
16 Python interface

16.1 Run python scripts


The Probablistic Toolkit provides a python model, by which modifications can be made to a
project file and runs can be made. This file is toolkit_model.py is installed in the subdirectory
Python of the installation directory of the Probabilistic Toolkit.

Python scripts can be run in two ways: Python is in control or the Probablistic Toolkit is in
control

16.1.1 Python in control


In this way Python is the process which is started initially. The Python process makes connec-
tion to the Probabilistic Toolkit. Such a process consists of the following steps:
1 Establish connection with the Probabilistic Toolkit;
2 Load an input file (*.tkx), internally the contents of the file become available as a project
3 Make changes to the project
4 Run the calculation
5 Retrieve the results of the calculation
6 Save the results in a file (*.tkx)
7 Disconnect from the Probablistic Toolkit

This is coded as follows:


import sys
sys.path. append (’<installdir >\ Python ’)

from toolkit_model import *

# make connection to the Probabilistic Toolkit


toolkit = ToolKit ()

# load an input file


project = toolkit .load(’example .tkx ’)

# make changes to the project , for example modify the settings


project . settings . method = ’FORM ’
project . settings . relaxation_factor = 0.25

# validate and run if ok


messages = project . validate ()
if len( messages ) == 0:
project .run ()

# do something with the results ,


# for example print the reliabilty index
reliability_index = project . design_point . reliability_index
print (’reliability index = ’ + str( reliability_index ))

# save the results


toolkit .save(’example .tkx ’)

Deltares 83 of 155
Probabilistic Toolkit, User Manual

# disconnected when the toolkit object is garbage collected

16.1.2 Toolkit in control


When the Probablistic Toolkit is started, it can run a python process before and after the cal-
culation, see section 6.4. The connection with the toolkit is provided automatically and the
project available in the toolkit is loaded already. The path to toolkit_model.py is set allready.

A preprocessor has in general the following structure:


1 Connect to the project
2 Make changes to the project

In code a preprocessor will look as follows:


from toolkit_model import *

# connect to the project


project = Project ()

# do something with project , for example


# change one of the distributions to a fragility curve
h = project . model . get_variable (’h’)
h.clear ()

h. set_fragility_prob_failure (1.5 , 4.3)


h. set_fragility_prob_failure (2.8 , 2 ,5)

After execution of this script, the Probablistic Toolkit will perform the calculation. Then a
postprocessor can be invoked. A postprocessor will have the following structure:
1 Connect to the project
2 Retrieve the results of the calculation

In code a postprocessor will look as follows:


from toolkit_model import *

# connect to the project


project = Project ()

# do something with the results ,


# for example print the reliabilty index
reliability_index = project . design_point . reliability_index
print (’reliability index = ’ + str( reliability_index ))

or, when an output uncertainty calcualtion is made:


import os
import sys
from toolkit_model import *

# argument for export file must be given

84 of 155 Deltares
Python interface

export_file = os.path. abspath (sys.argv [1])

project = Project ()

lines = []

for var in project . model. response_variables :


var = project . get_uncertainty_variable (var)
lines . append (" {0};{1};{2};{3}\ n". format (
var.name ,
var. get_quantile (0.1) ,
var. get_quantile (0.5) ,
var. get_quantile (0.9)))

with open( export_file , ’w’) as f:


f. writelines ( lines )

16.2 Reference
The following methods are available:

16.2.1 Class ToolKit


The ToolKit class is only needed when Python is in control of the whole process. The Toolkit
class should never be used in a preprocessor or postprocessor. The purpose of the class is to
establish an connection with the Probabilistic Toolkit, loading a project and saving a project.

Constructor
Functionality Establishes a connection with the Probablistic Toolkit;
Arguments None;

Finalizer
Functionality Disconnects from the Probablistic Toolkit;

Method load
Functionality Loads a project. All subsequent operations are applied on this project. Only
one project can be loaded at a time;
Arguments full path to *.tkx file;
Returns Project;

Method save
Functionality Saves the current project;
Arguments full path to *.tkx file;
Returns Nothing;

Deltares 85 of 155
Probabilistic Toolkit, User Manual

Method exit
Functionality Optional method to stop the background server, which takes care for han-
dling all commands. This call should not be necessary, since it is invoked
automatically in the Finalizer.
Arguments None;
Returns Nothing;

16.2.2 Class Project


The Project class contains all input data and results of a project. It contains the methods to start
the calculation.

Constructor
Functionality Creates a project referencing the current project in the Probabilistic Toolkit.
Only call the constructor if python is called in the preproocessor or postpro-
cessor, otherwise use the load method in the class ToolKit;
Arguments None;

Method validate
Functionality Validates the project;
Arguments Nothing;
Returns List of strings containng error validation messages;

Method run
Functionality Runs the calculation and waits until the calculation has finished. Do not call
this method in a preprocessor or postprocessor;
Arguments Nothing;
Returns Indicator ’ok’ or ’failed’;

Property model
Functionality Gets the model instance;
Type Model;

Property settings
Functionality Gets an object containing all settings;
Type Settings;

Property identifier
Functionality Gets or sets the identifier used in section 6.4;
Type Model;

86 of 155 Deltares
Python interface

Property uncertainty_variable
Functionality Gets the first uncertainty variable;
Type UncertaintyStochast;

Method get_uncertainty_variable
Functionality Gets the uncertainty variable with a given name;
Arguments string or ResponseStochast;
Returns UncertaintyStochast;

Property uncertainty_variables
Functionality Gets all resulting uncertainty variables;
Type List of UncertaintyStochast;

Property design_point
Functionality Gets the result of a reliability calculation;
Type DesignPoint;

Property design_points
Functionality Gets all resulting design points;
Type List of DesignPoints;

Property realizations
Functionality Gets all realizations;
Type List of Realizations;

16.2.3 Class Model


The Model class contains all input data. Do not create a Model, but use the Project.model
property.

Property input_file
Functionality Gets or sets the input file name of a file based model;
Type string (full path);

Property submodels
Functionality Gets a list of all sub models in case of a composite model;
Type string (full path);

Method get_submodel

Deltares 87 of 155
Probabilistic Toolkit, User Manual

Functionality Gets the submodel with a specified name;


Arguments name of variable;
Returns SubModel or None if not found;

Property variables
Functionality Gets a list of all variables;
Type array of strings;

Method get_variable
Functionality Gets the variable with a specified full name of the variable (name including
model name if the model is a composite model);
Arguments name of variable;
Returns Stochast or None if not found;

Property response_variables
Functionality Gets a list of all response variables;
Type string (full path);

Method get_response_variable
Functionality Gets the response variable with a specified name;
Arguments name of variable;
Returns ResponseStochast or None if not found;

Method run
Functionality Runs the model with the input file specified for this model. This might be
necessary to generate the output values in the output file, which is necessary
for the Probabilistic Toolkit to perform an project.run();
Arguments None;
Returns Nothing;

16.2.4 Class SubModel


The SubModel class contains input data of a sub model. Do not create this class.

Property input_file
Functionality Gets or sets the input file name of a file based model;
Type string (full path);

Method run

88 of 155 Deltares
Python interface

Functionality Runs the model with the specified for this submodel. This might be neces-
sary to generate the output values in the output file, which is necessary for
the Probabilistic Toolkit to perform an project.run();
Arguments None;
Returns Nothing;

16.2.5 Class Stochast


The Stochast class contains all properties of a variable.

Property name
Functionality Gets the name of the variable;
Type string;

Property fullname
Functionality If the model is a composite model, gets the model name and variable name,
else gets the variable name;
Type string;

Property distribution
Functionality Gets or sets the distribution type, one of: Deterministic, Normal, Log-
Normal, StudentT, Uniform, Triangular, Trapezoidal, Exponential, Gamma,
Beta, Frechet, Weibull, Gumbel, GeneralizedExtremeValue, Rayleigh,
Pareto, GeneralisedPareto, Table (= histogram), Discrete, Poisson, Fragili-
tyCurve). The distribution type is not case sensitive;
Type string;

Properties mean, deviation, variation, minimum, maximum, shift, shift_b, rate,


shape, shape_b, location, scale, observations, design_fraction, de-
sign_factor
Functionality Gets or sets the property of a variable. Deviation refers to standard deviation
and variation refers to variation coefficient;
Type float;

Method get_quantile
Functionality Gets the value belonging to a given quantile;
Arguments Quantile;
Returns Value at quantile;

Method get_design_value
Functionality Gets the design value;
Arguments None;
Returns Value based on design_fraction and design_factor;

Deltares 89 of 155
Probabilistic Toolkit, User Manual

Method clear
Functionality Resets the distribution type to deterministic and removes all fragility values,
discrete values and histogram bins;
Arguments None;
Returns Nothing;

Methods set_fragility_reliability_index, set_fragility_prob_failure,


set_fragility_prob_non_failure
Functionality Adds or updates a fragility value of a variable which has distribution type
fragility curve;
Arguments Variable name;
Value of the conditional variable;
Reliability index, probabilty of failure or non failure at the value of the con-
ditional variable;
Returns Nothing;

Method set_fragility_reliability_index
Functionality Adds or updates a fragility value of a variable which has distribution type
fragility curve;
Arguments Variable name;
Value of the conditional variable;
Reliability index at the value of the conditional variable;
Returns Nothing;

Method set_discrete_value
Functionality Adds or updates a discrete value of a variable which has distribution type
discrete;
Arguments Variable name;
Value of the conditional variable;
Occurrences at the value of the conditional variable;
Returns Nothing;

Method set_histogram_value
Functionality Adds a bin of a variable which has distribution type histogram;
Arguments Variable name;
Lower boundary of the bin;
Upper boundary of the bin;
Numer of occurences in the bin;
Returns Nothing;

90 of 155 Deltares
Python interface

Methods get_correlation, set_correlation


Functionality Gets or sest the correlation between two variables;
Arguments Other variable name;
set: new correlation value
Returns get: Correlation, set: Nothing;

16.2.6 Class ResponseStochast


The Stochast class contains all properties of a response variable.

Property name
Functionality Gets the name of the response variable;
Type string;

Property fullname
Functionality Gets the full name (name including model if the model is a composite model)
of the response variable;
Type string;

16.2.7 Class Settings


The Settings class contains computational settings.

Property method
Functionality Gets or sets the calculation method;
Type Calculation method (one of: NumericalIntegration, NumericalBisection,
MonteCarlo, LatinHyperCube, DirectionalSampling, ImportanceSampling,
SubsetSimulation, Cobyla, FORM, FOSM, FragilityCurveIntegration, Ex-
perimental). The calculation method is not case sensitive;

Property start_method
Functionality Sets the calculation start method;
Type Calculation start method (one of: None, RaySearch, SensitivitySearch,
SphereSearch). The calculation start method is not case sensitive;

Properties minimum_samples, maximum_samples, minimum_iterations,


maximum_iterations, relaxation_factor, relaxation_loops, vari-
ation_coefficient_failure, intervals, variance_factor, start_value,
variance_loops, min_variance_loops, fraction_failed
Functionality Gets or sets a settings value;
Type float

Method get_variable_settings
Functionality Gets an object containing calculation settings of a variable;

Deltares 91 of 155
Probabilistic Toolkit, User Manual

Arguments Variable name;


Returns StochastSettings;

16.2.8 Class StochastSettings


The StochastSettings class contains computational settings of a variable

Property name
Functionality Gets the variable name;
Type string;

Property start_value
Functionality Gets or sets the start value;
Type float;

16.2.9 Class UncertaintyStochast


The DesignPoint class contains the result of a reliabliity calculation

Property name
Functionality Gets the name of the reponse variable;
Type string;

Method get_quantile
Functionality Gets the quantile of the uncertainty variable;
Arguments Quantile;
Returns Value at quantile;

16.2.10 Class DesignPoint


The DesignPoint class contains the result of a reliabliity calculation

Property identifier
Functionality Gets the numeric identifier of the design point, for example the varing pa-
rameters in a table scenario;
Type array of floats;

Properties reliability_index, probability_failure, convergence


Functionality Gets the result values of the reliability calculation;
Type float;

Method get_alpha
Functionality Gets the contribution of a variable to the design point;

92 of 155 Deltares
Python interface

Arguments Variable full name or ResponseStochast;


Returns Alpha;

Property realizations
Functionality Gets the realizations needed to calculate the design point;
Type List of Realizations;

16.2.11 Class Alpha


Properties alpha_value, physical_value
Functionality Gets the result values of the contribution to the design point;
Type float;

16.2.12 Class Realization


Properties z, weight, beta
Functionality Gets the limit state, weight and beta of the realization;
Type float;

Method get_value
Functionality Gets the value of a variable (input or response) in the realization;
Arguments Full name of the variable;
Returns Value of the stochastic variable in the realization;

Deltares 93 of 155
Probabilistic Toolkit, User Manual

94 of 155 Deltares
Scientific Background
17 Distributions

17.1 Standard normal distribution


The standard normal distribution is a normal distribution with mean µ = 0 and deviation σ =
1. The standard normal distribution is unlikely to occur in the real world, but is used internally
in probabilistic calculations.

The probability density function is

1
ϕ (u) = √ e−u /2
2
(17.1)

and the cumulative density function, or in other words the non exceeding probability, is

Z u
Φ (u) = ϕ (v) dv (17.2)
−∞

Since there is no closed form to express Φ, it is approximated by approximation formula


26.2.17 for Normal Probability Function, Handbook of Mathematical Functions, Abramowitz
& Stegun.

Other distribution types are converted to the standard normal distribution. The physical value in
another distribution type, called x, is converted to a value u in the standard normal distribution,
in such a way that the non exceeding probability of x is equal to the exceeding probability of
u. With Φ the cumulative density function of the standard normal distribution, the converted
value u is

u (x) = Φ−1 (F (x)) (17.3)

The probabilities of the standard normal distribution are displayed in the following figure.

Figure 17.1: Standard normal distribution

Deltares 97 of 155
Probabilistic Toolkit, User Manual

17.2 Distribution properties


This paragraph lists all distribution types supported by the Probabilistic Toolkit. In theory,
endless distribution types exist. All dsitributions have the following properties:

Each distribution reflects actual values. From these values xi the following properties can be
derived
 Mean or expectation value µ: The long run average of randomly chosen values, calculated
as follows:
N
1X
µ= xi (17.4)
N i=1

 Mode: The value with the highest probability density;


 Median: The value for which half of the randomly chosen values is less than this value and
half of the randomly chosen values is more than this value;
 Standard deviation σ: A measure how much randomly chosen values differ from the mean,
calculated as follows:
N
1X
σ =
2
(xi − µ)2 (17.5)
N i=1

 Variation coefficient V : Relative deviation with respect to the mean, so


σ
V= (17.6)
µ
 Quantile value Q: Generalization of the median. From all randomly chosen values, a user
provided fraction is less than this value and the remainder is more than this value;

The distribution defines the following functions and predicts the values derived from measure-
ments listed (µ, σ, etc.)
 Probability density function (PDF) f (x): This is a function which indicates the likelihood
of occurrence of a random chosen value x, relative to other values;
 Cumulative density function (CDF) F(x): This is a function which indicates the probability
that a random chosen value y is less or equal than x. It is related to f (x) as
Z x
F (x) = P (y < x) = f (y) dy (17.7)
−∞

Therefore the distribution needs one or more of the following parameters (depending on the
distribution type).
 Location m: An indication where the distribution is located. For some distributions the
mean µ is equal to the location m.
 Scale s: An indication how much randomly chosen values differ from the location. For
some distributions the scale s is equal to the deviation σ.
 Shape k: Describes the shape of the distribution.
 Shift c: The distribution is shifted a certain amount. Not present in all distributions;
 Minimum and Maximum a and b: Minimum and maximum possible values of ramndomly
chosen values. Not present in all distributions;

98 of 155 Deltares
Distributions

17.3 Distribution types


This section lists all distribution types and their implementation of the distribution properties

17.3.1 Deterministic distribution


The properties of the deterministic distribution are

 x,m 0
f (x) = 


PDF 
 x=m ∞

 x<m 0
F (x) = 


CDF 
 x≥m 1
Mean µ=m
Deviation σ=0
N
1X
Fit m= xi
N i=1

17.3.2 Normal distribution


The properties of the normal distribution are

(x − m)2
!
1
PDF f (x) = √ exp −
s 2π  2s2
x−m
CDF F (x) = Φ
s
Mean µ=m
Deviation σ=s
N
1X
Fit m= xi
N i=1
N
1 X
s =
2
(xi − m)2
N − 1 i=1

17.3.3 Log normal distribution


If parameter y = ln(x) has a normal distribution, then parameter x has a log-normal distribu-
tion. A log-normal distribution always yields values higher than a given shift (usually 0). The
normal and log-normal distributions are similar for small ratios between the standard deviation
and the mean. The properties of the log normal distribution are

Deltares 99 of 155
Probabilistic Toolkit, User Manual

(ln (x − c) − m)2
!
1
PDF f (x) = √ exp −
(x − c) s 2π ! 2s2
ln (x − c) − m
CDF F (x) = Φ
 s
Mean µ = exp m + 2 s ⇐⇒ m = ln (µ − c) − 21 σ2
1 2
!2 
σ

   
σ = (µ − c) · exp s − 1 ⇐⇒ s = ln 1 +
2 2 2 2  
Deviation
µ−c

N
1X
Fit m= ln (xi − c)
N i=1
N
1 X
s =
2
(ln (xi − c) − m)2
N − 1 i=1

17.3.4 Uniform distribution


The properties of the uniform distribution are

 x<a∨x>b 0
f (x) = 


PDF 1

 x ≥ a ∧ x ≤ b b−a




 x<a 0
F (x) = 
 x−a
x ≥ a ∧ x ≤ b b−a

CDF 
x>b



 1
Mean µ = 2 (a + b)
1

Deviation σ2 = 121 (b − a)2


Fit a = xmin − δ
b = xmax + δ
with
xmax − xmin
δ=
N

17.3.5 Triangular distribution


The properties of the triangular distribution are defined by a minimum a, a maximum b and a
shift c. The mode of the distribution is equal to c. It is required that a < c < b.

100 of 155 Deltares


Distributions





 x<a∨x>b 0
f (x) =  2(x−a)

x ≥ a ∧ x ≤ c (b−a)(c−a)

PDF 

 2(b−x)

 x ≥ c ∧ x ≤ b (b−a)(b−c)
x<a




 0
 (x−a)2
x ≥ a ∧ x ≤ c (b−a)(c−a)


F (x) = 


CDF (b−x) 2




 x ≥ c ∧ x ≤ b 1 − (b−a)(b−c)
x>b

1


Mean µ = 3 (a+ b + c)
1

Deviation σ2 = 18
1
a2 + b2 + c2 − ab − ac − bc
Fit a = xmin − δ
b = xmax + δ
c = 3µx − (a + b)
with
xmax − xmin
δ=
N
N
1X
µx = xi
N i=1

17.3.6 Trapezoidal distribution


The properties of the trapezoidal distribution are defined by a minimum a, a maximum b, lower
shift c and upper shift d. The mode of the distribution is equal between c and d. It is required
that a < c < d < b. The effective length L is the mean of the difference between the maximum
and minimum and the difference between the upper shiift and lower shift.

b−a+d−c
Length L=
 2



 x<a∨x>b 0
 x−a
 x ≥ a ∧ x ≤ c L(c−a)


f (x) = 

PDF 


 x ≥ c ∧ x ≤ d L1

 x ≥ d ∧ x ≤ b b−x


L(b−d)
<




 x a 0
 (x−a)2
x ≥ a ∧ x ≤ c




 2L(b−a)
F (x) = 
 2x−a−c
≥ ∧ ≤

CDF  x c x d 2L
(b−x)2






 x ≥ d ∧ x ≤ b 1 − 2L(b−d)
 x>b


1
3 3 3 3
!
b − d c − a
Mean µ = 6L
1

b−d c−a !
4 4
b −d c4 − a4
Deviation σ = 12L
2 1
− − µ2
b−d c−a

Deltares 101 of 155


Probabilistic Toolkit, User Manual

17.3.7 Exponential distribution


The exponential distribution is also defined with the rate λ. The properties are defined by:

1  x − c
PDF f (x) = exp −
s  sx − c 
CDF F (x) = 1 − exp −
s
Mean µ= s+c
Deviation σ=s
1
Rate λ=
s
N
1X
Fit s= (xi − c)
N i=1

17.3.8 Gumbel distribution


The Gumbel distribution is defined by the scale parameter s and the shift parameter c. The
shift parameter is also called the location parameter. The Gumbel properties are

1    x − c 
PDF f (x) =exp − x + exp −
s   x − c  s
CDF F (x) = exp exp −
s
Mean µ=c+s·γ
π2
Deviation σ2 = s2
6
PN  x
N x i exp − si
1X i=1
Fit (Forbes, s = xi + N
2010) N i=1  
exp − xsi
P
i=1
N
  x 
 1 X i 
c = −s · ln  exp − 
N i=1
s

where

γ is the Euler-Mascheroni constant (0.5772156649);

17.3.8.1 Decimation value


Alternatively, the location and scale can be derived from a decimation value D and a known
exceeding probability for a certain xexc . The decimation value D is the difference in the x-
value, which reduces the exceeding probability Fexc with a factor 10. This leads to

Fexc (xexc + D) = 1
F
10 exc
(xexc ) (17.8)

with

102 of 155 Deltares


Distributions

Fexc (x) = 1 − F (x) (17.9)

The distribution properties can be derived as follows from the decimation height

D D
Fit from D s=  ≈
z (Fexc ) − z 101 Fexc ln (10)
m = xexc + s · z (Fexc (xexc ))
with
z (F) = ln (−ln (1 − F))

17.3.9 Weibull distribution


The Weibull distribution is defined by the scale parameter s, the shape parameter k and the shift
parameter c. The shift parameter is also called the location parameter. The Weibull properties
are

k  x − c k−1  x − c k !
PDF f (x) = exp −
s s s
 x − c k !
CDF F (x) = 1 − exp −
! s
1
Mean µ=c+s·Γ 1+
!k
2
Deviation σ2 = s2 · Γ 1 + − µ2
k
N N
xik · ln (xi )
P P
ln (xi )
1 i=1 i=1
Fit (García, k = + −
1981) k N N
xik
P
i=1
N
xik
P
i=1
sk =
N

where

Γ is the gamma function;

Deltares 103 of 155


Probabilistic Toolkit, User Manual

17.3.10 Frechet distribution


The Frechet distribution is defined by the scale parameter s, the shape parameter k and the shift
parameter c. The shift parameter is also called the location parameter. The Frechet properties
are
!
k  x − c −1−k  x − c −k
PDF f (x) = exp −
s s s
 x − m −k !
CDF F (x) = exp −
! s
1
Mean µ= s·Γ 1− +c
k ! !!
2 1
Deviation σ = s · Γ 1−
2 2
−Γ 1−
2
k k

where

Γ is the gamma function;

17.3.11 Generalized Extreme Value distribution


The Generalized Extreme Value distribution is a combination of the Gumbel, Frechet and in-
verted Weibull distribution. Depending on the sign of the shape parameter k, one of these
distribution is used.

The Generalized Extreme Value distribution DGEV is defined as follows





 k = 0 DGumbel (s, c) 
DGEV (s, k, c) =  > , ,
 s 1 s
k 0 D c −

Frechet k k (17.10)
  k 
 k < 0 DWeibull, inverted − s , − 1 , c − s



k k k

17.3.12 Rayleigh distribution


The properties of the Rayleigh distribution are

104 of 155 Deltares


Distributions

(x − c)2
!
x−c
PDF f (x) = 2 exp −
s 2s2 !
(x − c)2
CDF F (x) = 1 − exp −
2s2
π
r
Mean µ= ·s+c
2
4−π 2
Deviation σ2 = ·s
2
Fit c = xmin − δ
N
1 X
s =
2
(xi − c)2
2N i=1
with
xmax − xmin
δ=
N

17.3.13 Pareto distribution


The properties of the Pareto distribution are

sk
PDF f (x) = k ·
xk+1k
s
CDF F (x) = 1 −
x
k·s
Mean µ=
k−1
k · s2
Deviation σ =
2
(k − 1)2 · (k − 2)
Fit s = xmin
N
1 1X
= (ln (xi ) − ln (s))
k N i=1

17.3.14 Generalized Pareto distribution


The properties of the Generalized Pareto distribution are

1   x − m −( 1k +1)
PDF f (x) = · 1 + k
2   x −sm − 1k
CDF F (x) = 1 − 1 +
s s
Mean µ=m+
1−k2
s
Deviation σ =
2
(1 − k)2 · (1 − 2k)

Deltares 105 of 155


Probabilistic Toolkit, User Manual

17.3.15 Student’s T distribution


The properties of the student’s T is based on the degrees of freedom ν, which is equal to N − 1.

   2 − ν+1
ν+1 2

Γ 2

 x−m 
s

f (x) = √   1 +

PDF 
νπΓ 2ν  ν 
F (x) = 1 − 21 It(x) 2ν , 12
 
CDF
with
ν
t (x) =  2
x−m
s

Mean µ=m
ν 2
Deviation σ2 = ν−2 s
PN
wi xi
i=1
Fit (Prob- m =
N
ability- P
wi
islogic , i=1
https://stats.stackexchange.com/users/2392/probabilityislogic)
N
wi (xi − m)2
P
i=1
s2 =
ν+1
with
(ν + 1) s2
wi =
νs2 + (xi − m)2

17.3.16 Gamma distribution


The properties of the Gamma distribution are

1  x
PDF f (x) = x k−1
exp −
Γ (k) sk s
1  x 
CDF F (x) = 1 − γ k,
Γ (k) s
Mean µ=k·s
Deviation σ2 = k · s2
p
3 − z + (3 − z)2 + 24z
Fit k=
12z
N
1 X
s= xi
kN i=1
with
 N  N
1 X  1 X
z = ln  xi  − ln (xi )
N i=1
N i=1

where

Γ (α) is the gamma function;

106 of 155 Deltares


Distributions

γ (α, β) is the lower incomplete gamma function

17.3.17 Beta distribution


The Beta distribution is defined with two shape parameters, k1 and k2 , as follows:

xk1 −1 (1 − x)k2 −1
PDF f (x) =
B (k1 , k2 )
CDF F (x) = I x (k1 , k2 )
k1
Mean µ=
k1 + k2
k1 k2
Deviation σ =
2
(k1 + k2 ) (k!1 + k2 + 1)
2

1−m 1 2
Fit k1 = − m
s2 !m
1
k2 = k1 −1
m
with
N
1X
m= xi
N i=1
N
1X
s2 = (xi − m)2
N i=1

where

Γ (α) is the gamma function;


B (α, β) is the beta function;
I x (α, β) is the regularized incomplete beta function;

17.3.18 Poisson distribution


The properties of the Poisson distribution are (where bxc is the floor function of x)

mx
 x ∈ N exp (−m) ·

f (x) = 
 x!
PDF
 x<N 0

bxc
X mi
CDF F (x) = exp (−m) ·
i=0
i!
Mean µ=m
Deviation σ2 = m

Deltares 107 of 155


Probabilistic Toolkit, User Manual

17.3.19 Discrete distribution


The properties of the discrete distribution are based on a set of x values X = {x1 , x2 , ..., xN }
and their weights wi

x = xi PNwi




f (x) =  wj


PDF  j=1

 x , xi 0

X
CDF F (x) = f (x)
xi ≤x
N
P
wi · xi
i=1
Mean µ= N
P
wi
i=1
N
wi · (xi − µ)2
P
i=1
Deviation σ2 = N
P
wi
i=1

17.3.20 Bernoulli distribution


The Bernoulli distribution is a special case of a discrete distribution. It consists of two discrete
values, one at 0 with weight 1 − µ and one at 1 with weight µ.




 x=0 1−µ
f (x) =  x=1 µ


PDF 




 x < {0, 1} 0



 x<0 0
F (x) =  0 <= x <= 1 1 − µ


CDF 
x>1



 0
Mean µ
Deviation σ2 = µ · (1 − µ)

17.3.21 CDF curve distribution


The CDF curve distribution consists of a number of reliabity indices for which the physical
value is defined. The CDF curve is very much like a fragility curve, only the CDF curve
requires that it is strictly monotone ascending or descending.

108 of 155 Deltares


Distributions

17.3.22 Histogram distribution


The histogram distribution consists of a number of bins. Within each bin, which is defined
with a lower bound and an upper bound, each value is assumed to have the same probability of
occurrence.

When fitted, the aim is to generate 100 non empty bins, all with the same width. The lowest
bin has a lower boundary a and the highest bin has an upper boundary b.

If the lowest fitted value appears multiple times (unrounded), it is assumed that this value is
a lower limit and no values lower than this value are possible. A bin with width zero and
boundaries equal to the lowest value is added to the histogram. The same is applied for the
highest model result.

 N (xmin ) = 1 xmin − δ
a=


Fit 
 N (xmin ) > 1 xmin

 N (xmax ) = 1 xmin + δ
b=



 N (xmax ) > 1 xmax
where
N (xmin ) = the number of appeances of value xmin
N (xmax ) = the number of appeances of value xmax
δ = xmax −xmin
N

17.3.23 Inverted distribution


The inverted distribution is a distribution on top of another base distribution. The inverted
distribution is "mirrored" in the x-direction around the shift value cbase of the base distribution,
or 0 if the base distribution does not have a shift.

The properties of the inverted distribution are

PDF f (x) = fbase (cbase − x)


CDF F (x) = 1 − Fbase (cbase − x)
Mean µ = 2cbase − µbase
Deviation σ = σbase

Deltares 109 of 155


Probabilistic Toolkit, User Manual

17.3.24 Truncated distribution


The inverted distribution is a distribution on top of another base distribution and is truncated
below a minimum vale a and maximum value b. The mean and standard deviation displayed
are the properties of the base distribution, although not being the correct mean and standard
deviation. The properties of the trunacted distribution are

 x<a∨x>b 0
f (x) = 


PDF fbase (x)

 x ≥ a ∧ x ≤ b Fbase (b)−F base (a)




 x<a 0
F (x) =  base (x)−F base (a)
x ≥ a ∧ x ≤ b FFbase


CDF  (b)−Fbase (a)

x>b


 1
Mean µ = µbase
Deviation σ = σbase

17.4 Goodness of fit


The goodness of fit is an indication how well data fit into the distribution. The goodness of
fit is the Kolmogorov-Smirnov statistic, which is defined as the maximum difference between
the CDF values of the derived distribution and the CDF values of the data. The Kolmogorov-
Smirnov statistic is calculated as follows:

i−δ
k = max | F (xi ) − | (17.11)
i,δ∈{0,1} N

The p-value is calculated as follows for high values of N :

k
lim p = 1 − √ (17.12)
N→∞ N

where

i is the index number of the data value (1 ≤ i ≤ N );


N is the number of data values;
xi is the ith sorted data value;
F (xi ) is the CDF value corresponding with xi (see Equation (17.7));

The goodness of fit is also applied to observation sets in the tab "Source". This is an indication
whether two series of observations originate from the same measurements.

17.5 Prior distribution


A prior distribution is used to update another distribution, resulting in a posterior distribution.
The prior distribution should be a general distribution of a parameter, such as a world wide
distribution or a long term distribution. This distribution can be updated with local data or

110 of 155 Deltares


Distributions

data which are only applicable in a certain situation. The resulting updated distribution is
applicable in that situation. The advantage is that even with a limited number of measuremens
a meaningful distribution can be derived.

Fitting from a posterior distribution is only possible for normal distributions. The updated
posterior distribution is calculated as follows [Lynch (2007)]:

σ2data · µprior + n · σ2prior · µdata


µpost = (17.13)
n · σ2prior + σ2data

and

σ2data · σ2prior
σ2post = (17.14)
n · σ2prior + σ2data

where

µpost , σpost are the mean and standard deviation of the updated (or posterior) distribu-
tion;
µprior , σprior are the mean and standard deviation of the prior distribution;
µdata , σdata are the mean and standard deviation of the distribution fitted from the data
only;
n is the number of data values;

17.6 Design values


When the option run model is selected, the user has the possibility to run the model with
design values. Design values are used when one wants to calculate "safe" results. This means
that results, like a safety factor or a required strength of a construction, should be based on
unfavorable conditions, which means unfavorable input values. Often designs are based on
results based on these conditions.

Design values are values derived from the stochastic definition as follows:

Q (q)
Vdesign = (17.15)
γ

where

Vdesign is the design value;


Q is the function, which calculates the quantile value;
q is the user given design quantile value;
γ is the user given design factor;

Deltares 111 of 155


Probabilistic Toolkit, User Manual

112 of 155 Deltares


18 Correlations

18.1 Correlation factor


The correlation factor ρpq between two variables p and q is an indication how much they are
related to each other. The correlation can vary from -1 (fully anticorrelated) to 0 (uncorrelated)
to 1 (fully correlated). Values in between indicate a partial correlation.

The Pearson correlation factor, which is used in the Probabilistic Toolkit, is calculated as fol-
lows:

P
i up,i uq,i
ρp,q =P P (18.1)
i up,i i uq,i

where

i is the index number of the observed value;


p, q indicate variables;
up,i is the u-value corresponding with observed value xi (see Equation (17.3),
note that the distribution of variable p is derived already);

18.1.1 Distance based correlation factor


If components with the same variables have a location, the correlation between these variables
can be calculated by their rest calculation and their distance, instead of using Equation (18.1).
The correlation factor is calculated as follows:

 2 
 Dp, q 
ρt,p,q = ρt, rest + 1 − ρt, rest

· exp − 2  (18.2)
dt

where

t indicates a variable type;


p, q indicate components;
ρt, rest is the user provided rest correlation for a certain variable type t;
Dp, q is the distance between components p and q;
dt is the correlation length of variable type t;

Deltares 113 of 155


Probabilistic Toolkit, User Manual

18.2 Processing of correlation factors


Several probabilistic techniques are based on uncorrelated u-values. To take into account the
effect of correlations, the model evaluations should not use the x-values directly converted from
u, but from a counterpart of u which comprises the correlations.

In other words, before a model evaluation is carried out, uuncorrelated is converted to ucorrelated .
This is done as follows:

ucorrelated = L (uuncorrelated ) (18.3)

where L denotes the


 lower triangle matrix originating in the Cholesky decomposition of the
correlation matrix ρ = LL> .

114 of 155 Deltares


19 Sensitivity

19.1 Single value variation


In single value variation variables are varied one by one and set to a high and low value. The
non varied variables are set their median (u = 0).

The major drawback of ths method is that combined effects of input variables are not taken into
account.

19.2 Sobol indices


Sobol indices give the influence of a parameter using a Monte Carlo simulation [Saltelli et al.
(2010)]. By mixing samples values from an initial Monte Carlo run, the sobol indices are
determined. This is done as follows:

The first step consists of two Monte Carlo simulations of each N samples, leading to the sets
A and B. Of the combined set, the variance v of the model results is calculated.

Then foreach variable p new sample sets A p and B p are generated, with value for sample i:


 j = p ui, j, B

A p = ui, j, A =

(19.1)
 j , p ui, j, A

and


 j = p ui, j, A

B p = ui, j, B =

(19.2)
 j , p ui, j, B

Then the model values z belonging to samples u are calculated. The first order index and total
index of variable p are calculated as follows:

N
1 1 X  
Ifirst order = · · z (Ai ) z Bip − z (Ai ) z (Bi ) (19.3)
N v i=1

and

N
1 1 Xh  i2
Itotal = · · z (Ai ) − z Aip (19.4)
2N v i=1

where

Deltares 115 of 155


Probabilistic Toolkit, User Manual

i is the index number of the sample;


j is the variable index;
Ai is the ith sample in sample set A;
z (Ai ) is the model result of the ith sample in sample set A;
N is the number of samples in a Monte Carlo simlulation;
v is the variance of the model results of the combined set A and B;

The total index Itotal gives the relevant influence of the parameter on the model result.

116 of 155 Deltares


20 Output uncertainty

20.1 Numerical integration


Numerical integration varies all input parameters step by step and for each step combination, a
realization is generated and calculated. Realization results are collected in bins, which form a
histogram distribution.

20.2 Crude Monte Carlo


Crude Monte Carlo is the ’standard’ Monte Carlo simulation. Random realizations will be
generated and realization results are categorized into bins. When a bin gets more realizations,
it has a higher probability.

The Crude Monte Carlo simulation results in a histogram distribution (see section 17.3.22) or,
if all model results are equal, a determisitic distribution (see section 17.3.1). The distribution
is fitted with all model results.

20.3 Importance sampling


Importance sampling modifies randomly selected realizations in such a way that more realiza-
tions are selected in an area selected by the user. Therefore each realization is translated to
another realization. This is done in the same way as Importance Sampling for reliability., see
section 22.1.4.

Importance sampling is useful when the user is interested in the tail of the distribution.

20.4 FORM
FORM (First Order Reliability Method) is like FORM in reliability analysis (see section 22.1.9).
Starting from the origin in u-apce, steps of fixed length are taken along the steepest gradi-
ent. For each step a realization is performed and its result is added to a CDF curve (see sec-
tion 17.3.21).

Each subsequent step in the resulting CDF curve is calclalted as follows:

~ui+1 = ~ui + L · ∇z u~i



(20.1)

The reliability of the added point is

βi+1 =|| ~ui+1 || (20.2)

where

~u is a point in the parameter space defined in u-values;


z ~u is the z value calculated at ~u;


L is the step size;


∇z ~u is the steepest gradient of z at ~u.


Deltares 117 of 155


Probabilistic Toolkit, User Manual

20.5 FOSM
FOSM (First Order Second Moment) is a much faster technique than Crude Monte Carlo. It
takes the gradient in the origin and then it predicts the further shape of the result distributions.
It assumes the results have a normal distribution.

Although very fast, its assumptions than results have a normal distribution is often not true.
But for a quick feeling of the output uncertainty it can be very useful.

118 of 155 Deltares


21 Calibration

21.1 Cost function


The cost function is calculated per realization and is defined as follows:

v
t
X mmodel, i − mobserved, i !2
C= (21.1)
i
σi

where

mmodel, i is the calculated result value (by the model) of the ith parameter in the current
realization;
mobserved, i is the observed mean value of the ith parameter;
σi is the deviation of the ith parameter

In case the observed value and the calculated result value refer to series, all individual observed
points and their related calculated values are represented as a parameter in Equation (21.1). But
to prevent over-emphasis of series over individual parameters or series with many points over
series with few points, the deviation of a point in a series is corrected as follows:


σpoint = σseries × N (21.2)

where

σpoint is the deviation of a single point;


σseries is the deviation of the series, given by the user;
N is the number of points in the series

21.2 Calibration algorithms


The following calibration algorithms are used to minimize the cost function

Deltares 119 of 155


Probabilistic Toolkit, User Manual

21.2.1 Grid
A grid search has a number of dimensions, called N. Each dimension contains a number of
numeric items. All item combinations, also called points, are evaluated with the cost function.
In essence, the grid search does no more that sequentially evaluating all these points and return
the point with the minumum cost value.

Each dimension has a number of items which should be evaluated. The items are defined as
a range with a minimum and maximum value and the number of steps into which the range
should be subdivided.

Possibly one item cannot be evaluated, because the realizaation can not be calculated. It will
be ignored in the optimization process.

21.2.1.1 Move grid if minimum is on edge


If, in any dimension, the optimum is on the edge of a dimension, the edge will be extended one
step in the direction of the edge. This extension can happen in several dimensions at the same
time.

Only dimensions with at least three items can be moved and the items should be defined as
minimum/maximum/steps. Per dimension this feature is optional.

This process will be repeated until the optimum is not on the edge of the dimension area any
more.

21.2.1.2 Refinement of the grid


When the minimum has been found, eventually moved (section 21.2.1.1), the optimization
process will refine the grid automatically around the point with the optimum. Per dimension
three items will be defined, around the point and with half of the step size. This leads to a
3N − 1 new evaluations in an N-dimensional grid.

Only dimensions with at least two items can be refined and the items should be defined as
minimum/maximum/steps. Per dimension this feature is optional.

Several refinement steps can be taken. Refinement stops after a provided number of refinement
steps.

120 of 155 Deltares


Calibration

Figure 21.1: Refinement grid in a two dimensional grid

21.2.2 Genetic algorithm


The genetic algorithm is an optimization procedure used to find the representative slip plane
within the search area. A genetic algorithm is particularly efficient in solving optimization
problems that are not well suited for standard optimization algorithms, including problems
in which the objective function is discontinuous, non-differentiable, stochastic, highly non-
linear, or has a large number of variables. The genetic algorithm follows the procedure from
Figure 21.2.

In a genetic algorithm, a population of candidate solutions (individuals) to an optimization


problem is evolved toward better solutions. Each candidate solution has a set of properties. In
the case of this kernel, a set of properties that describe the slip plane. These properties evolve
over a number of generations towards an optimal solution.

The evolution starts from a population of randomly (parabolic) generated individuals and is an
iterative process, with the population in each iteration called a generation. In each generation,
the safety factor (fitness) of every individual in the population is evaluated. This happens
through a given limit equilibrium method (the fitness function). Slip planes with a low safety
factor are considered to be more fit.

When evolving from one generation to the next, two individuals are combined (see ?? and sec-
tion 21.2.2.2) to make a new genome (individual). This genome is possibly modified (mutated,
see section 21.2.2.4) to form a new child. Two children “fight” to decide which one will go to
the next generation, see section 21.2.2.5. Elitism is introduced (section 21.2.2.5) to make sure
the best solution thus far will not be lost. The algorithm terminates when a given number of
generations have passed.

Deltares 121 of 155


Probabilistic Toolkit, User Manual

Figure 21.2: Procedure of the genetic algorithm

21.2.2.1 Initialization
Like in any other optimization method an initial guess of the final outcome is required. This
guess concerns a choice of all individual genes in the population. In many problems the in-
fluence of the individual genes is fully independent. By implication, a random choice of the
values of the genes between its appropriate limits is adequate.

In some problems a weak connection between the gene values is observed. An example is a
free slip plane in slope analysis. Such a plane must be as flexible as possible in order to allow
a wide variety of shapes. However, buckling planes will not survive as they have a surplus of
resisting power. It is better to exclude these already at initialization.

From these perspectives, so far, two ways of initialization are defined:


 Uniform:
gn − gmin
= ηn with 0 < ηn < 1 (21.3)
gmax − gmin
 Parabolic:
gn − gmin
=
gmax − gmin
 !2
 1 n−1 1
(ηA − ηB ) − 1 + ηB < ηC < ∞

if


ηC N − 1

2



! 2 (21.4)
1 N−n 1


 (ηA − ηB ) 1 − η N − 1 − 1 + ηB if −∞ < ηC < 2





C
with 0 < ηA < 1 and 0 < ηB < 1

In the uniform case every gene has its own random number. The corresponding value of the
gene ranges between its minimum and maximum value. These bounds may even be different
for every gene. The parabolic case is defined by three random numbers. They are chosen in
such a way that the parabola for all genes ranges between 0 and 1.

Note that ηc is the relative position of the parabola’s extreme. If this position is located outside
the gene’s position, the available space is not uniformly filled up, since the extreme enforces
an extra offset. Therefore, it could be decided to fix the extreme always in the gene’s range,
0 < ηc < 1.

122 of 155 Deltares


Calibration

21.2.2.2 Parental selection


Selection options specify how the genetic algorithm chooses parents for the next generation.
The simplest selection method is a uniform random choice within the population. Parents are
selected according to their index:
P [m] = Gm m = int (η M) (21.5)

This selection type is implemented in the kernel. More advanced options exist, based on the
fitness scaling function or a remainder approach but are not (yet) implemented.

21.2.2.3 Crossover
The crossover rules realize the combination of two parents to form children for the next gen-
eration. Several types are in use, which meet certain specific demands in the problem at hand.
The crossover mask is a vector of choices: 0 for the mother and 1 for the father.
 Scattered:
The father and mother are combined by having a completely random crossover mask. This
works well for a small genome with independent genes. The crossover mask reads:
χ = (0|1)n (21.6)
 Single Point: A single point crossover will combine the first part of one parent with the
second part of the other parent. For genome types which specify a coherent object it will
facilitate a more smooth convergence. It is defined as:
χ = {0...0, 1...1} (21.7)
 Double point: A double point crossover combines the middle of one slip plane with the
edges of another. The definition is:
χ = {0...0, 1...1, 0...0} (21.8)

21.2.2.4 Mutation
Mutation options specify how the genetic algorithm makes small random changes in the indi-
viduals in the population to create mutation children. Mutation provides genetic diversity and
enables the genetic algorithm to search a broader space. Three options are defined, a jump,
creep and an inversion.
 Jump: applies a completely random mutation. A jump helps finding the global minimum
by jumping out of a local minimum.
 Creep: applies a small mutation. For example, one parameter can change 10% as a muta-
tion. The creep method applies only for one point of the genome. A Creep Reduction factor
must be specified. This reduction factor is the maximum percentage a point can change.
The mutation is random between zero and the maximum percentage.
 Inversion: is the inverse of the entire genome.

21.2.2.5 Child selection


The routine uses "tournament selection" to determine the strongest child. This means that the
program chooses the individual with the lowest cost function on to the next generation. This
causes quick conversion to a minimum but little diversion.

The genetic algorithm uses elitism. The elite is passed directly through to the next generation.
The size of the elite is variable.

Deltares 123 of 155


Probabilistic Toolkit, User Manual

The search terminates after a fixed number of generations. This number is variable.

21.2.3 Adaptive Particle Swarm Optimization


The Adaptive Particle Swarm Optimization (APSO) algorithm is an algorithm that uses a pop-
ulation and performs a number of steps to improve a population. The algorithm uses particles.
Each particle consists of a number of parameters, such as a coordinate in a sliding plane. The
parameter values are normalized, so they all have a value between 0 and 1. Of each particle the
model result is calculated.

The step from one population to the next is given by


 rc < C (1 − β) Xit + βBti + αra

=
t+1

Xi,APSO (21.9)
 rc > C Xit

with

α = δt (21.10)

where

i is the index number of the parameter in the particle;


X represents the particle;
t is the generation step in the iteration process;
B is the best particle found so far;
C is a given cross over fraction [0, 1];
β is the parameter convergence factor [0, 1];
δ is the parameter step size [0.1, 0.99];
rc is a random number, generated per parameter, particle and generation [0, 1];
ra is a random number, generated per parameter, particle and generation [-1, 1];

The algorithm keeps an elite, which consists of the best particles found so far. The elite has size
K . To improve the population, the APSO algorithm is combined with a differential evolution
algorithm, which is defined by

  
 rc < C Bti + F × Er1,i
 t t
− Er2,i + Er3,i
t t
− Er4,i
=
t+1

XDE,i (21.11)
 rc > C Xit

where

124 of 155 Deltares


Calibration

F is the given differential weight;


E are particles in the elite;
r1, r2, r3, r4 are random index numbers in the elite;

Combining these algorithms, the next particle is defined as


 rs < S
 t+1
XAPSO,i
=

Xit+1 (21.12)
 rs > S
 t+1
XDE,i

where

S is the APSO/DE separation factor, which linearly declines from 0.9 in the first
generation to 0.1 in the last generation;
rs is a random number, generated per particle and generation [0, 1];

Using a random factor, in each iteration and per each particle it is decided whether the new
particle comes from Equation (21.9) or from Equation (21.11). This is a random process which
uses the APSO/DE separation factor S . Next there is another random process, which uses the
cross over fraction C , which decides per parameter in the particle whether the value comes
from from Equation (21.9) or from Equation (21.11).

21.2.4 Levenberg-Marquardt
The Levenberg-Marquardt algorithm, also known as the damped least-squares method, a steep-
est descent type of algorithm, provides a numerical solution to the problem of minimizing a
function, over a space of parameters of the function.

Levenberg-Marquardt needs a starting point, a minimal tolerated error, and the function to be
optimized.

The algorithm iterates a number of times to a situation where the drift δ is less than a predefined
value δmax . The drift is calculated as follows:

v
t
PN  ∂ f 2
i=1 ∂xi
δ= (21.13)
N

f is the model function;


xi is the parameter value;
N is the total number of parameters;

The iteration takes a situation (xi ) as input. In each iteration step, the algorithm calculates a
new situation (xi;new ). The relation between the old and new situation is

Deltares 125 of 155


Probabilistic Toolkit, User Manual

∂2 f ∂f
"  # " #
× 1 + λi, j × xi;new N =
   
× xi;new N (21.14)
∂xi ∂x j N×N ∂xi N
with

 i= j λ

λi, j = 

(21.15)
 i, j 0

where

λ is the strengthening parameter;

When the drift at the new situation is less than a maximum value, or if a maximum number of
iterations has taken place, the algorithm stops and delivers (xi;new ) as the solution.

21.2.5 Dud
Dud is one of the optimization algorithms, which do not use any derivative of the function
being evaluated. It can be seen as a Gauss-Newton method, in the sense that it transforms
the nonlinear least square problem into the well-known linear square problem. The difference
is that instead of approximating the nonlinear function by its tangent function, the Dud uses
an affine function for the linearization. For N calibration parameters, Dud requires (N+1)
set of parameters estimates. The affine function for the linearization is formed through all
these (N+1) guesses. Note that the affine function gives exact value at each of the (N+1)
points. The resulting least square problem is then solved along the affine function to get a new
estimate, whose cost is smaller than those of all other previous estimates. If it does not produce
a better estimate, the Dud will perform different steps, like searching in opposite direction
and/or decreasing searching-step, until a better estimate is found. Afterwards, the estimate
with the largest cost is replaced with the new one and the procedure is repeated for the new set
of (N+1) estimates. The procedure is stopped when one of the stopping criteria is fulfilled.

21.2.6 Simplex
The simplex algorithm used is the one due to Nelder-Mead. This is also called a Downhill
Simplex Method. Simplex algorithm is one of the popular techniques in solving minimization
problems, without using any derivative of the cost function to minimize. For minimization of
a cost function with N parameters, it uses a polytope of (N+1) vertices. Each vertex repre-
sents a possible set of parameters, which is associated with a cost value. The minimization is
performed by replacing the highest-cost vertex with a new vertex with a lower cost. The new
vertex is sought for systematically by trying a sequence of different steps of moving the vertex
relative to the other N vertices, until a new vertex with smaller cost is found. This procedure
is repeated for the new polytope until convergence is reached, that is when the costs of all
vertices are within a predefined bound of tolerance. The first trial step is simply to reflect the
worst vertex with respect to the centroid of the remaining N vertices. Depending on whether
the reflected cost is higher or lower than the previous ones, the algorithm will try out different
step to see if it will produce a vertex with even smaller cost. In short the possible steps are
reflection, expansion, contraction, and reduction. The figures below illustrate all these steps
for a case of two parameters (N=2). The left most vertex is the one with highest cost. The gray
vertices are newly tried vertices.

126 of 155 Deltares


Calibration

Figure 21.3: Simplex steps in two dimensions

21.2.7 Powell
Powell algorithm, similar to Simplex and Dud algorithms, is also an optimization method,
which does not require any derivative of the cost function being minimized. In this method, for
minimizing a function with N parameters, a user should provide an initial parameter guess as
well as N search vectors. The method transforms the multi-dimensional minimization problem
into a sequence of one-dimensional minimization problem. It is also an iterative procedure. At
each iteration, a new parameter guess is determined by a sequence of line searches, starting
from the previous parameter guess. The new parameter guess therefore can be written as a lin-
ear combination of all search vectors. Afterwards, the search direction which gives the largest
impact is replaced by a new search direction. The iteration is performed until convergence.
The line search is the so called Brent’s method.

21.2.8 Conjugate gradient


The Conjugate Gradient Method is an optimization method based on the second order Taylor
approximation of a (cost-)function depending on N parameters. The method needs to be able
to evaluate the gradient of the function in any N-dimensional parameter. A user should provide
an initial parameter guess and the method determines iteratively better approximations of the
desired minimum. This is done by reducing the multi-dimensional problem into a sequence of
line minimizations. These line minimizations are done by Brent’s method, which determines
the minimum of the (cost-)function on a line with starting point the current parameters and
direction the so-called search direction. The search directions are determined either by the
Fletcher-Reeves method (method 1) or the Polak-Ribieri method (method 2). For these meth-
ods, the new search direction is conjugate to the gradient at the previous parameters. It is also
possible to choose the search direction equal to the negative of the gradient, which is known
as Steepest Descent (method 3). In this case, the search direction is perpendicular to the gradi-
ent at the previous parameters. The iteration is performed until one of the stopping criteria is
satisfied.

Deltares 127 of 155


Probabilistic Toolkit, User Manual

21.2.9 Broyden-Fletcher-Goldfarb-Shanno
The BFGS (Broyden-Fletcher-Goldfarb-Shanno) Algorithm is a Quasi Newton Method. It is
based on the Newton Method which iteratively determines a root of an N-dimensional function
(based on the first order Taylor approximation of this function). Since at a minimum of a
(cost-)function the gradient is equal to zero, the method can also be used as a minimization
algorithm. The algorithm needs to be able to evaluate the gradient of the function in any N-
dimensional parameter. Since the inverse of the Hessian is also needed but hard to find, a
certain approximation of this inverse is determined at each iteration (hence the term Quasi).
A user should provide an initial parameter guess (and possibly an initial approximation of
the inverse of the Hessian) and the method determines iteratively better approximations of
the actual minimum, after updating the approximation of the inverse of the Hessian. This is
done by reducing the multi-dimensional problem into a sequence of line minimizations. The
line minimizations are done by Brent’s method, which determines the minimum of the (cost-
)function on a line with starting point the current parameters and direction the so-called search
direction. The search direction is determined by the approximation of the inverse Hessian. The
iteration is performed until one of the stopping criteria is satisfied.

The L-BFGS (Limited Memory-BFGS) Algorithm does not compute and store an entire matrix
but instead uses a number of vectors of updates of the position and of the gradient, which
represent the approximation of the inverse Hessian implicitly.

21.2.10 Shuffled Complex Evolution


The Shuffled Complex Evolution (SCE) algorithm finds a global minimum of a function of
several variables. The algorithm is introduced in 1992 by Duan et al.

Initially, a set of points are drawn randomly from the specified distributions. Each point con-
sists of a set of values of the calibration parameters. For each point, a cost is assigned. These
points are then ordered and grouped into "complexes" based on their costs. The next step is an
iterative procedure, where the first step is to divide each complex into "simplexes" and propa-
gate each simplex to find a new point with smaller cost using the simplex method. Afterwards,
the complexes are merged back, all the points are reshuffled and regrouped into a new set of
complexes. After each iteration the points will tend to become neighbours of each other around
the global minimum of the cost function.

21.2.11 Generalized Likelihood Uncertainty Estimation


Unlike other optimization algorithms, which find a cost-minimizing point in the parameter
space, the Generalized Likelihood Uncertainty Estimation (GLUE) methodology finds a set
of possible points in the calibration parameters space. It adopts the idea of equifinality of
models, parameters and variables (Beven and Binley 1992). Equifinality originates from the
imperfect knowledge of the system under consideration, and many sets of models, variables,
and parameters may therefore be considered equal simulators of the system.

The GLUE analysis is implemented as to consist of (1) random draws of sets of the calibration
parameters from the respective distributions, (2) run the model with each parameter set and
evaluate the likelihood of each set. User needs to select manually the most probable sets of
parameters based on their likelihood. The random draw of the parameters set can be done
either from uniform distributions (with user specified ranges) or from a table of the most likely
sets of the calibration parameters. For the latter, user needs to prepare such a table manually
and can use the results of the previous analysis.

128 of 155 Deltares


22 Reliability

22.1 Reliability algorithms


There are a number of ways the reliability index can be calculated. They all have their own
advantages and disadvantages.

22.1.1 Numerical integration


This is the most time consuming, but most exact way to calculate the failure probability. A step
size and minimum and maximum values of the input variables are needed for the evaluation.

When the underlying model does not succeed for a certain realization, its results will be ig-
nored. The user should decide whether the number of non succeeded realizations is acceptable.

The minimum and maximum value for which the integration will run, are defined in the u-
space. The numerical integration will fill up the left over space between these values and -8
and 8 by additional cells, so the whole integration domain will be covered always. (Values -8
and 8 are used, because numerical problems arise beyond these values)

Figure 22.1: Numerical integration

22.1.2 Numerical bisection


Numerical bisection is similar to numerical integration, but now the integration cells are gen-
erated by bisection of the complete domain. As soon as an integration cell has same qualitative
results (fail, not fail, not counting) on its corner points, we assume that all values inside the cell
would deliver the same qualitative result and no points will be calculated within the call nor on
its sides. As long as cells exist with different qualitative results, the cell will be split and new
corner points will be calculated.

This process ends when the cells, which don’t have a similar result, represent a probability
lower than an accepted allowed difference in the reliability. This value can be supplied by the
user.

Deltares 129 of 155


Probabilistic Toolkit, User Manual

Figure 22.2: Numerical bisection

22.1.3 Crude Monte Carlo

22.1.3.1 Algorithm
Crude Monte Carlo is the "standard" Monte Carlo simulation. Random realizations will be
generated proportional to their probability density. It will be counted how many realizations
lead to failure and how many realizations do not lead to failure. The probability of failure is
calculated as follows:

Nfailure
pfailure = (22.1)
N

where

pfailure is the probability of failure;


Nfailure is the number of realizations which were interpreted as failing;
N is the total number of realizations.

22.1.3.2 Convergence
The Monte Carlo simulation also leads to a standard deviation of the probability of failure.
This standard deviation σ p is based on a confidence level α.

r
p (1 − p)
σp = z (22.2)
N

with

 α
z=Φ 1− −1
(22.3)
2

where

130 of 155 Deltares


Reliability

σp is the standard deviation of the probability of failure;


p is the probability of failure pfailure ;
N is the total number of realizations;
z is the quantile of the standard normal distribution corresponding with α. z is 1
in the Probabilistic Toolkit;
Φ is the CDF of the standard normal distribution (see Equation (17.2));
α is the confidence level.

The standard deviation σ p can be expressed as a variation coefficient ε as follows:

 q
σp
 p< =z


 1 1−p
2 p Np
ε=

σp
q (22.4)
 p≥
1
= z p


 2 (1−p) N(1−p)

The user can set the maximum variation coefficient εmax . The Monte Carlo simulation will
stop when ε ≤ εmax (and limited to the minimum and maximum number of realizations). The
confidence level α can not be set by the user. Its value is such that z is 1.

Figure 22.3: Crude Monte Carlo convergence

When the underlying model does not succeed for a certain realization, its results will be ig-
nored. The user should decide whether the number of non succeeded realizations is acceptable.

The minimum and maximum value for which the integration will run, are defined in the u-
space. The monte carlo analysis will detect by a minimum number of samples whether the left
over area fails or does not fail.

Deltares 131 of 155


Probabilistic Toolkit, User Manual

Figure 22.4: Crude Monte Carlo

22.1.4 Importance sampling

22.1.4.1 Algorithm
Importance sampling is a variation on Crude Monte Carlo (see section 22.1.3). The difference
is that realization are selected in a smarter way, preferably in the area near the limit state.

Usually Monte Carlo realizations are drawn propertional to their probability density ϕ (ui ),
since in the Probabilistic Toolkit uses the standard normal space. With importance sampling
each realization u is translated to uimp . The Probabilisitic Toolkit supports the following trans-
lation for each variable separately:

uimp = µvar + σvar · uvar (22.5)

where

µvar The user defined mean value per variable. The combination of all variables is
the mean realization of the importance sampling algorithm.
σvar The user defined standard deviation per variable

A correction is applied in the calculation of failure to compensate for this translation. This
is done by giving each realization a weight, which is calculated as follows (the multiplication
with σvar is performed to compensate for the dimensionality):

 
σvar · ϕ uimp
wvar = (22.6)
ϕ (uvar )

and

Y
Wrealization = wvar (22.7)
variables

132 of 155 Deltares


Reliability

where

ϕ is the standard normal probability denisity function, see Equation (17.1);


wvar is the weight factor per variable per realization;
Wrealization is the weight factor of the realization;

Corresponding to Equation (22.1), the probability of failure is equal to:

P
failing realizations W
pfailure = P (22.8)
all realizations W

To avoid numerical issues and because

X
lim W=N (22.9)
N→∞
all realizations

The probability of failure is calculated as follows:

P
failing realizations W
pfailure = (22.10)
N

22.1.4.2 Convergence
Corresponding to Equation (22.2) and Equation (22.4), the standard deviation and variance
coefficient become:

s  
p Wdesign point − p
σp = z (22.11)
N

and

 q
σp Wdesign point −p
 p< =z


 1
2
ε=
p
q Np

(22.12)
σp Wdesign point −(1−p)
1
=

 p≥


2 (1−p)
z N(1−p)

where

Deltares 133 of 155


Probabilistic Toolkit, User Manual

z is a value related to the confidence level (see Equation (22.3)). In the Proba-
bilistic Toolkit, z is 1;
Wdesign point is the weight of the realization of the design point;
N is the total number of realizations;

When the underlying model does not succeed for a certain realization, its results will be ig-
nored. The user should decide whether the number of non succeeded realizations is acceptable.

Figure 22.5: Importance sampling

22.1.4.3 Mean realization


The mean realization (see Equation (22.5)) is essential for succeedance of the importance sam-
pling algorithm. The mean realization can be user defined or derived automatically. The fol-
lowing options are available:

None The mean realization is user defined.


Direction Along a user defined direction is searched until the limit state is found, lim-
ited by a maximum distance from the origin. This option still requires some
knowledge where to find the mean realization.
Sphere Over a sphere is searched until the limit state is found. Only at angles 0◦ , 90◦ ,
180◦ and 270◦ is searched. If the limit state is not found, the radius of the
sphere is increased. This is a time consuming option.
Sensitivity Along the direction of the steepest gradient is searched until the limit state is
found, limited by a maximum distance from the origin. The steepest gradient is
found by taking the gradient for each variable individually and then combining
them. This is the preferred option.

134 of 155 Deltares


Reliability

22.1.4.4 Adaptive importance sampling


Importance sampling is sensitive to the user given start point. If not chosen well, importance
sampling might not give satisfactory results. If the start point is difficult to specify, loops can
be used. After each loop, the start point is improved.

Mutiple start points can be used. THterefore the number of clusters should be set to the desired
number of clusters. By using the K-Means algorithm, mutiple start points are detected from
the samples which lead to failure in the previous loop.

This algorithm is displayed in Figure 22.6

Start Initialize start point

Importance sampling

Use design point Increase variance Converged? yes

no no

yes
yes Enough failures? Final round? Recalculate
no

End

Figure 22.6: Importance sampling loops

These loops are executed until a required fraction of failed realizations εfailed is reached:

N Nfailed 
failed
min ,1 − ≥ εfailed (22.13)
N N

where

Deltares 135 of 155


Probabilistic Toolkit, User Manual

N is the total number of failed realizations;


Nfailed is the number of failed realizations;

The following is performed in each step.

Initialize start point Find the start point with one of the start point algorithms (see
section 22.1.4.3).
Importance sampling The importance sampling algorithm (see section 22.1.4.1). The
number of samples in each importance sampling can be set to a
maximum. When the auto break option is used, the algorithm
decides when to break a loop and continue with the next loop
(see section 22.1.4.4.1).
Converged? Checks whether convergence is (see Equation (22.13))
Final round? Checks whether the last allowed round is reached, in order to
prevent endless loops
Recalculate Recalculates the last round with a possibly higer number of
realizations.
Enough failures? Checks whether enough failures are found. Depending on this
value, the kind of modification of importance sampling settings
is determined.
Increase variance Increases the variance (see section 22.1.4.1) for the next loop.
Use design point Uses the design point found in the last loop as start point in the
next loop. In case no design point was found, the realization
closest to the limit state is used.

The following features are available to reduce calculation time.


 The maximum number of realizations for non final loops can be specified, which can be
different to the maximum number of realizations of the final loop.
 Subsequent loops can be suppressed when the reliability index exceeds a certain value
found in the first loop
 When the design point is copied to the next loop, it will be rounded to a certain value.
When using scenario tables, previous calculation results can be reused. Specify 0 when no
rounding is desired.

22.1.4.4.1 Auto break loops


The number of realizations in the loops in adapative importance sampling can be determined
automatically. This algorithm is based on the convergce criterion εweight , which specifies the
maximum relative weight of all failing samples. Usually this value is 0.1.

The loop is broken when the required number of runs with the current start point (nadditional ) is
more than the expected number of runs with an improved start point (nexpected ):

nadditional > nexpected (22.14)

with

136 of 155 Deltares


Reliability

!
Wmax
nadditional = ncurrent · −1 (22.15)
Wtotal · εweight

and

2 (βcurrent + 1)
nexpected = (22.16)
εweight

where

ncurrent the number of samples already made in the current loop.


Wmax the maximum weight of a failed sample in the current loop.
Wtotal the total weight of the failed samples in the current loop.
βcurrent the reliability index based on the samples in the current loop.

22.1.5 Subset simulation


Subset simulation [Au (2001)] is a staged form of Crude Monte Carlo (see section 22.1.3).
There are several iterations, the first being the same as Crude Monte Carlo. The simulation
stops when the Crude Monte Carlo convergence criterion is met: when ε ≤ εmax (see Equa-
tion (22.4)).

When the criterion is not met, a new Crude Monte Carlo is taken using on the k fraction of
the previous Monte Carlo run. The realizations closest to failure are taken and from there new
realizations are generated using a Markov Chain. Per old realization 1k new realizations are
generated. A new realization is generated in the following way with u-values for each variable
var:


 rvar ≥ R[0, 1] uvar, prop

=

uvar, new (22.17)
 rvar < R[0, 1] uvar, prev

with

 
ϕ uvar, prop
rvar =   (22.18)
ϕ uvar, prev

and

uvar, prop = uvar, prev + R[-1, 1] · ∆σ (22.19)

Deltares 137 of 155


Probabilistic Toolkit, User Manual

where

uvar, prev is the u-value per variable of the previous realization;


uvar, prop is a proposed new u-value per variable;
uvar, new is the new u-value per variable;
R[0, 1] is a random value between 0 and 1;
R[-1, 1] is a random value between -1 and 1;
rvar is the ratio of probability density between uvar, prop and uvar, prev ;
ϕ is the probability denisity function of a standard normal distribution (see Equa-
tion (17.1));
∆σ is the user given max deviation from the previous u-value. In case the option
’Adaptive Conditional’ is used, this value is derived automatically and updated
during the process [Papaioannou et al. (2015)].

The proposed sample uprop is used if the corresponding z-value is less than the zk , which is the
highest z-value in the subset used to generate new realizations, otherwise the original sample
is used.

The probability of failure is calculated as follows:

p = ki · pi, MC (22.20)

where

i is the iteration index, the first being 0;


k is the fraction taken from the realizations (recommended value 0.1);
pi, MC is the probability of failure calcualted with Crude Monte Carlo using the real-
izations of the ith iteration.

22.1.6 Directional sampling

22.1.6.1 Algorithm
Directional sampling is a kind of Monte Carlo simulation where realizations are directions
instead of realizations. A direction is a direction in the parameter space. Along this direction
the point of failure is searched and its corresponding distance β to the origin is determined. The
remaining probablity of failure beyond this point is calculated and added to the total probability
of failure as follows:

P
wdir
pfailure = (22.21)
Nrealizations

with

138 of 155 Deltares


Reliability

Nvariables βdir 2
!
wdir =Γ , (22.22)
2 2

where

wdir is the weight of a direction or the failure probaility in this direction;


βdir is the distance along a direction where the first point of failure is found;
Γ is the upper incomplete regularized gamma function.

22.1.6.2 Convergence
The standard deviation of the failing probability is calculated as follows:

s
(wdir − p)2
P
σp = (22.23)
N · (N − 1)

The variation coefficient is calculated as follows

σp

 p<
 1
ε=
 2 p
1 σp (22.24)
 p≥

2 (1−p)

The directional sampling simulation stops if the variation coefficient ε is less than the user given
maximum variation coefficient εmax . Also, the number of minimum and maximum directions
should be satisfied.

The minimum and maximum number of iterations refer to an internal procedure to determine
the point along the direction where failure occurs.

Deltares 139 of 155


Probabilistic Toolkit, User Manual

Figure 22.7: Directional sampling

22.1.7 Latin hypercube


The Latin hypercube algorithm is a kind of Monte Carlo sampling method.

Latin hypecube uses a fixed number of realizations N . The algorithm divides the u-space in N
equal sections, starting from umin and ending at umax . The algorithm ensures that each section
is represented in the number of realizations. In this way it is ensured that extreme values are
used. Note that the weights of realizations differ from each other.

If umin and ending at umax differ from -8 and 8 (beyond these values no calculation is possible
due to numerical reasons), the remainder is regarded as one cell and is used in the failure
analyasis.

Latin hypercube uses the same definition for convergence as Crude Monte Carlo (see sec-
tion 22.1.3.2). It is only calculated for informative reasons, because a fixed number of realiza-
tions is used.

The advantage of Latin hypercube is calculation time. But it only gives a rough approximation
of the probability of failure.

22.1.8 Cobyla
The Cobyla algorithm searches for the point in the u space with the highest probability of
density and which indicates failure. This point is assumed to be representative for the design
point.

The Cobyla algorithm is an implementation of Powell’s nonlinear derivative-free constrained


optimization that uses a linear approximation approach. The algorithm is a sequential trust-
region algorithm that employs linear approximations to the objective and constraint functions,
where the approximations are formed by linear interpolation at n + 1 points in the space of the
variables and tries to maintain a regular-shaped simplex over iterations.

The Cobyla algorithm only gives a rough estimation of the reliablity and design point. It should
only be used as a first method in a reliabilty study.

140 of 155 Deltares


Reliability

22.1.9 FORM

22.1.9.1 Algorithm
FORM is an acronym for First Order Reliability Method. The FORM procedure is not a Monte
Carlo simulation, but searches directly for the design point. The design point is regarded to be
representative for the total failure probability according to

pfailure = 1 − Φ (β) (22.25)

The FORM procedure start from a certain user defined start point in the parameter space. From
there it tries to find a point which is closer to the design point by taking the gradient of the
Z-value in the u-space of the parameters. The Z-value is an indication whether failure occurs
and is derived from the failure definition. After a number of steps, the point is close enough to
the design point and the calculation stops.

The FORM analysis searches for the design point: When the design point is found, the reli-
ability index β can be evaluated as the distance between the origin and the design point (see
Figure 22.8). The corresponding probability of failure is

pfailure = 1 − Φ (β) (22.26)

where Φ is the cumulative density function in the standard normal space (see Equation (17.2)).

The probability of failure found in this way is regarded to be a good approximation of the "real"
probability of failure.

Figure 22.8: Schematic representation of FORM

To find the design point, the FORM analysis starts at a given start point, usually the origin, in
the standard normal space and iterates to the design point.

Deltares 141 of 155


Probabilistic Toolkit, User Manual

In each iteration step, the current point is moved closer to the design point. Using the steepest
descend, the next point is found, until a convergence criterion is fulfilled. To get from the
current point ui to the next point ui+1 , the predicted point upred is determined.

To calculate upred , we assume that z is linear with u close to the design point. The gradient is
taken between ui and upred :

∂z zpred − zi zi
| |= =− (22.27)
∂u upred − ui upred − ui

which is equivalent to

zi
upred = ui − ∂z
(22.28)
| ∂u |

where

i is the iteration index number;


∂z
| ∂u | is the calculated vector length of the derivative to all variables;
zpred is the limit state value at the design point, which is by definition equal to zero;
zi is the calculated limit state value at iteration i;
upred is the predicted vector of the design point;
ui is the iteration vector of u at iteration i;

The step from the current point to the next point is a step into the direction of upred . The step is
not taken completely, but partially with a relaxation factor frelax , in order to prevent numerical
instabilities.

uj, i+1 = −αj, i · |ui, pred | · frelax + uj, i · (1 − frelax ) (22.29)

with the α value per variable

∂zj
∂uj
αj = ∂z
(22.30)
| ∂u |

where

j is the index of a variable;


|u| is the vector length of the current point;
frelax is the given relaxation factor. The relaxation factor prevents the algorithm from
too big steps, which may cause divergence;
142 of 155 Deltares
Reliability

and finally leads to the reliabilty index β as

β = |ui | (22.31)

The benefit of this method is that it is quick. The disadvantages are that a local design point
can be found, which then corresponds to a non representative failure probability. Another
disadvantage is that numerical problems may occur, since the Z-value must be continuous.

One cannot determine whether a design point is a local design point, so the user must use this
method with care and after analysis whether this method is suitable for the kind of models he
uses. Numerical problems can be detected in the convergence chart. If this occurs, one can
decrease the relaxation factor or modify the gradient step size (both directions could improve
or decrease results).

22.1.9.2 Convergence
Convergence is reached when the ui , the value of the last iteration i, is close enough to the
predicted value upred , so

|ui − upred | < ε (22.32)

where

ui is the point at iteration i;


upred is the predicted final value of u, see Equation (22.27) ;
ε is a user given value maximum allowed difference in reliability;

and, together with Equation (22.32), the convergence criterion

|z|
∂z
<ε (22.33)
| ∂u |

Alternatively to Equation (22.27), the gradient is taken between u0 (all u-values equal to 0) and
upred . Then we get for the linear relation

∂z zpred − z0 z0
| |= =− (22.34)
∂u upred − u0 upred

The value z0 is calculated with the value for z in the last iteration zi and the gradient

Deltares 143 of 155


Probabilistic Toolkit, User Manual

X ∂zi
z0 = zi − · uj (22.35)
j
∂u j

which leads to

|z0 |
|upred | = ∂z
(22.36)
| ∂u |

The convergence criterion is defined as the relative difference in length of upred and u:

|u2pred − u2 |
<ε (22.37)
u2

Figure 22.9: FORM

22.1.9.3 Start point


The FORM algorithm starts at a certain start point. Most of the times starting at the default
location is sufficient.

The start point options are the same as the start point options of importance sampling (see
section 22.1.4.3).

22.1.9.4 Loops
In case calculation options have been specified, which do not lead to convergence, loops can be
used to modify the calculation options. If the number of loops is greater than 1, the relaxation
factor frelax is modified until convergence is reached. The relaxation factor is modified as
follows:

frelax = 1
2
· frelax, prev (22.38)

144 of 155 Deltares


Reliability

where

Deltares 145 of 155


Probabilistic Toolkit, User Manual

frelax, prev is the relaxation factor in the previous loop.

22.1.10 External method


The user can attach an external failure calculation, which is either an executable or a Python
script (version 3.5 or higher). An external failure calculation uses the Probabilistic Toolkit to
perform model evaluations.

The executable or Python script will be started with the following arguments.

{n} Number of stochastic variables (mandatory)


{conv} Convergence criterion (optional)
{min} Minimum number of steps (optional)
{max} Maximum number of steps (optional)

To communicae with the Probabilistic Toolkit, two files are provided: modelrunner.cs or mod-
elrunner.py, which can be found in the subdirectory External in the Probabilistic Toolkit install
directory. The external failure method communicates with the following commands with the
Probabilistic Toolkit.

GetZValue float[] u Gets the z-value for a given u-vector in the standard nor-
mal space (mandatory)
Report float beta, float Report intermediate progress (optional)
conv, int step, int
maxSteps
SetDesignPoint float beta, float[] al- Reports the deisgn point. After this call, the Probabilis-
pha tic Toolkit regards the failure calcualtion as completed
(mandatory)

An example of a basic monte carlo method, with arguments "{n} {max}", is given below
import sys
import math
import numpy as np
from scipy . stats import norm
import modelrunner

n = int(sys.argv [1])
max = int(sys.argv [2])

failed = 0
total = 0;

for i in range (0, max ):


sample = np. zeros (n)
for j in range (0, n):
sample [j] = np. random . normal (0, 1)

z = modelrunner . GetZValue ( sample )

total = total + 1
if z < 0:

146 of 155 Deltares


Reliability

failed = failed + 1

pf = float ( failed ) / float ( total )


beta = - norm.ppf(pf , 0, 1)
alpha = np. zeros (n)

modelrunner . SetDesignPoint (beta , alpha )

To debug an external method, act as follows.


1 Replace the external model by an executable, which is visible to the user but does nothing
in this respect (e.g. Notepad)
2 Start the probabilistic calculation. Notepad will start and keep it alive
3 Start the external method in a development environment, which is suitable for debugging
the code. Calls to GetZValue will be answered by the Probabilistic Toolkit
4 Close Notepad when the debugging session has ended

22.2 Contribution per variable


For all numerical integration based (Numerical Integration and Numerical Bisection) and Monte
Carlo based (Crude Monte Carlo, Importance Sampling, Directional Sampling and Subset Sim-
ulation) reliabilty techniques, the contribution per variable is calcualted after the calculation of
the reliability index.

The following methods can be applied:

22.2.1 Center of gravity


The center of gravity method takes the weighted mean from all failing realizations. This is
calculated as follows:

P
failing realizations i ui,j · Wi
αj = fnormal · P (22.39)
failing realizations i Wi

where

i indicates a realization in the applied technique;


j indicates a variable;
u is a realization in the applied technique;
Wi is the weight of the realization (for Crude Monte Carlo: 1);
α2j = 1;
P
fnormal is a normalizing factor so that

22.2.2 Center of angles


In this method all realizations are defined with spherical coordinates instead of cartesian co-
ordinates. Then the weighted mean of the angles in the spherical coordinates is taken and
converted back to cartesian coordinates.

Deltares 147 of 155


Probabilistic Toolkit, User Manual

22.2.3 Nearest to mean


This method takes from all realizations, which were regarded as failiing accoring to the failure
definition, the realization with the highest probability density.

Although this is the fastest method, this method is not recommended for Monte Carlo tech-
niques. Its results suffer from the randomness in Monte Carlo methods. Unimportant variables
may get a significant alpha value for the same reason.

22.3 Combining design points


Design points can be combined. This is most of the times desired when multiple failure defini-
tions are applied.

Design point can be combined during the probabilitsic analysis already (see section 22.3.1) or
afterwards. When combining afterwards, the design points are simulated by equivalent planes.
A number of methods exist how to derive the combined design point from the equivalent planes
(see section 22.3.2).

22.3.1 Integrated
When combining integrated, the failure definitions are merged to one failure definition. This
combined failure definition is used in one of the reliabililty techniques (see section 22.1).

When using FORM with integrated, results are not reliable. Therefore the Probabilistic Toolkit
prevents this combination.

22.3.2 Equivalent planes


When combining afterwards, first design points are calculated for each failure definition indi-
vidually and then they are combined. This combination uses an equivalent plane M for each
design point, by which we make an approximation. The equivalent plane is defined as follows:

X
Mi (u) = βi + αi, j · uj (22.40)
j

and


 series min

 Mi (u)
Mcombined (u) = 
 i
(22.41)
 parallel max Mi (u)


i

where

Mi is the result of the equivalent plane of design point i;


Mcombined is the result of the combination of a number of design points i;
βi is the reliability index of design point i;
αi, j is the alpha factor of variable j in design point i;

148 of 155 Deltares


Reliability

22.3.2.1 Directional sampling


Directional sampling (see section 22.1.6) is applied on the combined model Mcombined (see
Equation (22.41)). The following settings are applied:

Design point method Center of gravity;


Directions 1000 - 10000;
Convergence factor 0.1;

22.3.2.2 Importance sampling


Depending on the combination method (series or parallel) the following algorithms are applied:

22.3.2.2.1 Importance sampling - Series


Importance sampling (see section 22.1.4) is applied on the combined model Mcombined (see
Equation (22.41)) in the following iterative way: The combined probability of the first N + 1
design points is the probability of the first N + 1 design points added with the contribution of
design point N + 1, where it does not have an overlap with one of the previous design points
(see Equation (22.42)).

 
P (X1...N+1 ) = P (X1...N ) + P (XN+1 ) ∩ P X1...N (22.42)

where

P (X1...N+1 ) is the combined probability of the first N + 1 design points;



P X1...N is the complement of the combined probability of the first N design points;
P (XN+1 ) is the probability of design point N + 1;

Equation (22.42) can be rewritten as:

P (X1...N+1 ) = P (X1...N ) + P (XN+1 ) · (1 − P (X1...N |XN+1 )) (22.43)

The last term (P (X1...N |XN+1 )) is calculated by importance sampling (see section 22.1.4). The
start point of the importance sampling is set to the design point of XN+1 . The calculation is
stopped when the remainder of the design points represent a small probability of failure.

22.3.2.2.2 Importance sampling - Parallel


The parallel combination uses Crude Monte Carlo (see section 22.1.3). The sampling space is
limited to the area which can lead to failure, which could be very small. Only values for ui are
allowed for which the following condition is true:

∀k, umin < uj < umin < uj ∃ui |Mk (u) = 0 ∧ umin < ui < umax (22.44)

Deltares 149 of 155


Probabilistic Toolkit, User Manual

where

i is the index of the ith variable;


j is any other variable index ( j , i);
k is the index of the design point;
umin is the computationally minimum possible value of u (-8);
umax is the computationally maximum possible value of u (8);
Mk (u) is the equivalent plane of the ith design point (see Equation (22.40));

22.3.2.3 Hohenbichler
The kernel of the Hohenbichler algorithm is combination of two models Mcombined (see Equa-
tion (22.41)). This combination is calculated by FORM (see section 22.1.9).

The result of this combination is a design point. This design point is represented as an equiv-
alent plane again when it should be combined with a third design point. This will be repeated
until all design points have been combined.

First the two most contributing design points are combined, then the remainig design with the
highest probability if failure is added, and so on. In this way the error made by representing
intermadiate design points is as low as possible.

22.4 Upscaling
It is assumed that the probability of non failure is exponentially decreasing with increasing
upscale factor. This leads to the following calculation:

! f −1
P2, nf
Pf, nf = Pnf · (22.45)
Pnf

150 of 155 Deltares


23 Response surfaces
A response surface predicts a response value of a model. The advantage of using response
sufaces is that it needs less calculation time than a model.

A response surface is trained with a number of of model realizations. Based on these model
realizations, all values can be predicted with more or less accuracy.

It is useful to update the response surface during the calculation. During the calculation it is
known which realization to use for recalculation, because of the distance to the limit state.

Response surfaces are defined in x-space or u-space. The advantage of x-space is that reponse
surfaces do not need new model runs when variable distributions change.

23.1 Initialize response surface


To build response surfaces, a number of model runs have to be performed. Depending on the
required usage of the response surface and the length of the computation time, the following
options exist:
 Single: All stochastic variables are disturbed one by one, while keeping the other stochastic
variables at their median value (Q=0.5). The disturbance is in one direction at the Q=0.9
value;
 Double: All stochastic variables are disturbed one by one, while keeping the other stochas-
tic variables at their median value (Q=0.5). The disturbance is in two directions at the
Q=0.1 and Q=0.9 value;
 Experimental design: A smart subset of full factorial combination is generated. The subset
should contain samples which are all "different enough" from each other. Experimental
design resolution 3 is used.
 Full factorial: Each combination of parameters, being either Q=0.1 or Q=0.9, is used. This
set is extended with the all Q=0.5 values set. This leads to 2n + 1 combinations
 Random: The training values are selected random. Optionally a factor can be applied by
which the u-values of the realizations are multiplied.

23.2 Response surface algorithms


Different types of response surfaces exist. The following response surfaces are supported in
the Probabilistic Toolkit.

23.2.1 Polynome
The response value Rr is written as

n
X n
X n,n
X
Rr = ar + br,i xi + cr,i xi2 + dr,i, j xi x j (23.1)
i=1 i=1 i, j=1,i, j

where

r is the index of the response value;


i, j are indices of the stochastic variables;
x is the sample generated by the probabilistic method;

Deltares 151 of 155


Probabilistic Toolkit, User Manual

a, b, c, d are coefficients of the response surface function;

With least squares regression, the response surface coefficients are calculated from the model
results. When there are more response surface coefficients than model runs, the cross terms (d)
and quadratic coefficients (c) are omitted. When later more model runs become available (see
section 23.2.1.1), these coefficients are added.

23.2.1.1 Update poylnome response surface


During the calculation, samples are selected from which the real model result is requested.
This depends on the nature of the probabilistic technique. When such a sample is calculated,
its response values are used to update the response surface coefficients.

The update of the response surface coefficients does not use all available samples, but only the
ones closest to the design point found so far. The distance D from a sample run to the design
point is calculated in u-space by

Xn  2
D =
2
ui, design ui, sample (23.2)
i=1

Then the n samples with lowest distances D are used to update the response surface coefficients,
where n is

n = foverdetermination · nrequired (23.3)

where

foverdetermination is the user supplied overdetermination factor (≥ 1). This value should not be
too high, because then all realizations far from the interesting are are used
and disturb proper predictions. The value should not be too low, because
some noise could disturb proper predictions. Recommended value is 1.1;
nrequired is the number of coefficients (including quadratic and cross terms);

The user can limit the number of response surface updates.

23.2.1.1.1 Updates in Monte Carlo methods


This section applies to Crude Monte Carlo and Importance Sampling.

After each calculation of a sample using the response surface, it is evaluated whether it should
be recalculated with the model. This will be done if the limit state value indicates failure and
the sample represents a reliablity index, which is not very unlikely, when compared with the
design point found so far. The latter condition is true if

βsample ≤ βdesign + ∆β (23.4)

152 of 155 Deltares


Response surfaces

where

Xn
β2 = u2i (23.5)
i=1

and

∆β is a user supplied indication when samples should be recalculated (also


known as beta-sphere);

When samples meeting this condition are found, the calculation is stopped and the response
surface is updated. Then the Monte Carlo calculation starts again. If there was no design point
yet, because no failing sample was found so far, no response surface updates take place.

23.2.1.1.2 Updates in Directional Sampling


Response surface updates in directional sampling are similar to response surface updates in
Monte Carlo methods (see section 23.2.1.1.1), but differ because the design point can be up-
dated after a direction has been calculated, instead of a sample. After each direction it is
evaluated whether a recalculation with the model is needed, if (similar to Equation (23.4))

βdirection ≤ βdesign + ∆β (23.6)

If this is true, the direction is recalculated with the model. Then the calculation is stopped and
the response surface is updated. Then the calcualtion is started again. Next calculations, which
will use exactly the same samples, will reuse prior directions which were recalculated with the
model.

23.2.1.1.3 Updates in FORM


When the design point is found using the response surface, the design point is calculated with
the model. If Equation (22.32) is still true, the calculation ends. If not, the response surface is
updated and a new FORM calculation starts.

23.2.2 Linear grid


The response surface is defined as a number of points on a grid. When a value is requested, a
linear interpolation takes place between the nearest points on the grid. The grid is not necesarily
equally spaced.

When a value is requested beyond the grid, the point closest to the grid is used.

The linear grid response surface can not be updated during the calculation.

23.2.3 Gaussian Process Regression


Gaussian Process Regression is used as a model to simulate the original model results. The
Gaussian Process Regression is trained with a number of model runs. Based on these runs, a
model result can be predicted including uncertainty estimation, see .

Deltares 153 of 155


Probabilistic Toolkit, User Manual

Figure 23.1: Gaussian Process Regression

When a value is requested at a point which coincides with one of the training runs, the uncer-
tainty will be zero. A value in between will have a non zero uncertainty. The value will be
an interpolation between the trained points, taking into account the distance to these points.
The distance is not the Euclidian distance, but calculated with the kernel function. The option
Matern 5/2 will give the smoothest result and is recommended.

It is recommended to build up the Gaussian Process Regression model in u-space. Empirically


found, this provides the best result.

23.2.3.1 Update Gaussian Process Regression


The uncertainty is used to select the next realization, which will be added to the trained model
runs. The realization which produced the largest uncertainty will be used. There are a few
options about the uncertainty. THe preferred option is to use the "Wrong qualification", which
is the probability that a wrong qualification (failing or not failing) is predicted.

154 of 155 Deltares


24 References
Au, J. L., S.K.; Beck, 2001. “Estimation of small failure probabilities in high dimensions by
subset simulation.” Probabilistic Engineering Mechanics 16 (4): 263-277.
Forbes, 2010. Statistical Distributions. John Wiley and Sons.
García, O., 1981. “Simplified method-of-moments estimation for the Weibull distribution.”
New Zealand Journal of Forestry Science 11: 304-306.
(https://stats.stackexchange.com/users/2392/probabilityislogic) probabilityis-
logic. “Estimating parameters of Student’s t-distribution.” Cross Validated.
URL:https://stats.stackexchange.com/q/63861 (version: 2013-07-10).
Lynch, S., 2007. Introduction to Applied Bayesian Statistics and Estimation for Social Scien-
tists. Springer.
Papaioannou, I., W. Betz, K. Zwirglmaier and D. Straub, 2015. “MCMC algorithms
for Subset Simulation.” Probabilistic Engineering Mechanics 41: 89-103. DOI:
https://doi.org/10.1016/j.probengmech.2015.06.006, ISSN 0266-8920, URL https://www.
sciencedirect.com/science/article/pii/S0266892015300205.
Saltelli, A., P. Annoni, I. Azzini, F. Campolongo, M. Ratto and S. Tarantola, 2010.
“Variance based sensitivity analysis of model output. Design and estimator for the
total sensitivity index.” Computer Physics Communications 181 (2): 259-270.
DOI: https://doi.org/10.1016/j.cpc.2009.09.018, ISSN 0010-4655, URL https://www.
sciencedirect.com/science/article/pii/S0010465509003087.

Deltares 155 of 155

You might also like