#Limit state function defined by Kiureghian & Dakessian :
kiureghian = function(x, b=5, kappa=0.5, e=0.1) {b - x[2] - kappa*(x[1]-e)^2}
res = S2MART(dimension = 2,
limit_state_function = kiureghian,
N1 = 1000, N2 = 5000, N3 = 10000,
plot = TRUE)
#Compare with crude Monte-Carlo reference value
reference = MonteCarlo(2, kiureghian, N_max = 500000)
#See impact of metamodel-based subset simulation with Waarts function :
waarts = function(u) { min(
(3+(u[1]-u[2])^2/10 - (u[1]+u[2])/sqrt(2)),
(3+(u[1]-u[2])^2/10 + (u[1]+u[2])/sqrt(2)),
u[1]-u[2]+7/sqrt(2),
u[2]-u[1]+7/sqrt(2))
}
res = list()
res$SMART = SMART(dimension = 2, limit_state_function = waarts, plot=TRUE)
res$S2MART = S2MART(dimension = 2,
limit_state_function = waarts,
N1 = 1000, N2 = 5000, N3 = 10000,
plot=TRUE)
res$SS = SubsetSimulation(dimension = 2, waarts, n_init_samples = 10000)
res$MC = MonteCarlo(2, waarts, N_max = 500000)Run the code above in your browser using DataLab