Applying various probabilistic methods

In the following, the application of a number of available probabilistic methods is shown using similar input.

from pathlib import Path

import pandas as pd

from probabilistic_piping import ProbInput, ProbPipingFixedWaterlevel

Input

data_path = Path("../../../test/data/full_test.xlsx")
df_input = pd.read_excel(data_path, sheet_name="input", index_col=0, header=0)
prob = ProbPipingFixedWaterlevel(progress=False)

FORM Cobyla

df_coby = df_input.copy()
df_coby.loc["Rekentechniek", "Waarde"] = "FORM Cobyla"
inp_coby = ProbInput.from_dataframe(df_coby)
_, r_coby = prob.fixed_waterlevel_failureprobability(inp_coby, h=6.0, z_type="combi")

r_coby.prob_cond
0.0006153617612051806

FORM AbdoRackwitz

df_abdo = df_input.copy()
df_abdo.loc["Rekentechniek", "Waarde"] = "FORM AbdoRackwitz"
inp_abdo = ProbInput.from_dataframe(df_abdo)
_, r_abdo = prob.fixed_waterlevel_failureprobability(inp_abdo, h=6.0, z_type="combi")

r_abdo.prob_cond
0.0005916558092986312

Monte Carlo

df_mc = df_input.copy()
df_mc.loc["Rekentechniek", "Waarde"] = "Monte Carlo"
inp_mc = ProbInput.from_dataframe(df_mc)
_, r_mc = prob.fixed_waterlevel_failureprobability(inp_mc, h=6.0, z_type="combi")

r_mc.prob_cond
0.0005519125683060111

Directional Sampling

df_ds = df_input.copy()
df_ds.loc["Rekentechniek", "Waarde"] = "DS MediumSafe OrthogonalDirection"
df_ds.loc["MaximumOuterSampling", "Waarde"] = 10_000
df_ds.loc["BlockSize", "Waarde"] = 1
inp_ds = ProbInput.from_dataframe(df_ds)
_, r_ds = prob.fixed_waterlevel_failureprobability(inp_ds, h=6.0, z_type="combi")

r_ds.prob_cond
0.00092463352990222