Nothing
## ---- include = FALSE---------------------------------------------------------
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>"
)
## -----------------------------------------------------------------------------
#install.package("TesiproV")
library(TesiproV)
## ---- eval=FALSE--------------------------------------------------------------
# PROB_BASEVAR(Id, Name, Description, Package, DistributionType, DistributionParameters, Mean, Sd, Cov, X0)
## -----------------------------------------------------------------------------
var.f_ck <- PROB_BASEVAR(Id=1,Name="f_ck",Description="Char. Betondruckfestigkeit",Package="TesiproV", DistributionType="lt",DistributionParameters=c(3.85,0.09,3,10),Mean=47.35,Sd=5.86)
## ----eval= FALSE--------------------------------------------------------------
# PARAM_BASEVAR(Id, Name, Description, Package, DistributionType, Sd, ParamType, ParamValues)
## ---- eval=FALSE--------------------------------------------------------------
# var.d <- PARAM_BASEVAR(Id=1,Name="d",Description="Stat. Nutzhöhe",DistributionType="norm",Sd=10,ParamType="Mean",ParamValues= c(seq(200,950,50),seq(1000,3000,100))+10)
## -----------------------------------------------------------------------------
var.gamma_c <- PROB_DETVAR(Id=1,Name="gamma_c",Description="TSB Beton", Value=1.5)
## -----------------------------------------------------------------------------
var.V_Ed <- PARAM_DETVAR(Id=1,Name="V_Ed",Description="Einwirkende Querkraft", ParamValues=c(1,2,3,4,seq(5,10,0.5)))
## -----------------------------------------------------------------------------
var1 <- PROB_BASEVAR(Name="E",Description="Effect",DistributionType="norm",Mean=10,Sd=1)
var2 <- PROB_BASEVAR(Name="R",Description="Resistance",DistributionType="norm",Mean=15,Sd=1.5)
lsf<-SYS_LSF(vars=list(var1,var2),name="LSF XY")
lsf$func <- function(E,R){R-E}
# you can run this check to see if all transformations of the variables worked, all needed data is available and the set of vars fits to the limit state function
lsf$check()
## -----------------------------------------------------------------------------
machine <- PROB_MACHINE(name="MVFOSM",fCall="MVFOSM",options=list("isExpression"= FALSE,"h"=0.1))
## -----------------------------------------------------------------------------
machine <- PROB_MACHINE(name="FORM Rack.-Fieß.",fCall="FORM",options=list("n_optim"=20, "loctol"=0.001, "optim_type"="rackfies"))
machine <- PROB_MACHINE(name="FORM Lagrange.",fCall="FORM",options=list("optim_type"="auglag"))
## -----------------------------------------------------------------------------
machine <- PROB_MACHINE(name="SORM",fCall="SORM")
## -----------------------------------------------------------------------------
machine <- PROB_MACHINE(name="MC CoV 0.05",fCall="MC_CRUDE",options=list("n_max"=1e6, "cov_user"=0.05))
## -----------------------------------------------------------------------------
machine <- PROB_MACHINE(name="MC IS",fCall="MC_IS",options=list("cov_user" = 0.05, "n_max"=300000))
## -----------------------------------------------------------------------------
machine <- PROB_MACHINE(name="MC Subset Sampling",fCall="MC_SubSam",options=list("variance"="uniform"))
## ---- results="hide"----------------------------------------------------------
var1 <- PROB_BASEVAR(Name="E",Description="Effect",DistributionType="norm",Mean=10,Sd=1)
var2 <- PROB_BASEVAR(Name="R",Description="Resistance",DistributionType="norm",Mean=15,Sd=1.5)
lsf<-SYS_LSF(vars=list(var1,var2),name="LSF XY")
lsf$func <- function(E,R){R-E}
# you can run this check to see if all transformations of the variables worked, all needed data is available and the set of vars fits to the limit state function
lsf$check()
machine <- PROB_MACHINE(name="FORM Rack.-Fieß.",fCall="FORM",options=list("n_optim"=20, "loctol"=0.001, "optim_type"="rackfies"))
ps <- SYS_PROB(
sys_input=list(lsf),
probMachines = list(machine),
debug.level=0
)
ps$runMachines()
# Systemberechnungn (System aus zwei gleichen LSF´s)
ps2 <- SYS_PROB(
sys_input=list(lsf,lsf),
probMachines = list(machine),
sys_type="serial"
)
ps2$runMachines()
ps2$calculateSystemProbability()
#ps2$calculateSystemProbability("MCSUS")
#params <- list("cov_user"=0.10)
#ps2$calculateSystemProbability("MCC",params)
#ps2$calculateSystemProbability("MCIS",params)
## ---- eval=FALSE--------------------------------------------------------------
# var1 <- PARAM_BASEVAR(Name="E",Description="Effect",DistributionType="Norm",Sd=1,ParamType="Mean",Values=c(9,11,0.1))
#
# #[...]
#
# ps <- SYS_PARAM(
# sys_input=list(lsf),
# probMachines = list(form)
# )
#
# ps$runMachines()
## ---- eval=FALSE--------------------------------------------------------------
# ps <- SYS_PARAM(
# sys_input=list(lsf),
# probMachines = list(form)
# )
#
# ps$runMachines()
#
# local_beta <- ps$beta
# local_runtime <- ps$res_single[[1]][[1]]$runtime
#
# #define path with setwd("...")
# ps$printResults("result_file") #Prints a report file in .txt format with all informations about the calculation
# ps$saveProject(4,"project_file") #stores the project in a file
#
## ---- results="hide"----------------------------------------------------------
Var1 <- PROB_BASEVAR(Id=1,Name="X1",DistributionType="norm",Mean=0.25,Sd=1) #kN/m²
Var2 <- PROB_BASEVAR(Id=2,Name="X2",DistributionType="norm",Mean=0.25,Sd=1) #m
lsf<-SYS_LSF(vars=list(Var1,Var2),name="UQLab 2d_hat")
lsf$func <- function(X1,X2){
return(20-(X1-X2)^2-8*(X1+X2-4)^3)
}
form<-PROB_MACHINE(name="FORM Rack.-Fieß.",fCall="FORM")
ps <- SYS_PROB(
sys_input=list(lsf),
probMachines = list(form)
)
ps$runMachines()
## -----------------------------------------------------------------------------
ps$beta_single
## ---- results ='hide'---------------------------------------------------------
library("evd")
X1 <- PROB_BASEVAR(Id=1,Name="Z",DistributionType="norm",Mean=100,Cov=0.04) #kN/m²
X2 <- PROB_BASEVAR(Id=2,Name="Fy",DistributionType="lnorm",Mean=40,Cov=0.1) #m
X3 <- PROB_BASEVAR(Id=2,Name="M",DistributionType="gumbel",Package="evd",Mean=2000,Cov=0.1) #m
lsf<-SYS_LSF(vars=list(X1,X2,X3),name="Nowak & Collins Exp5.11_1")
lsf$func <- function(M,Fy,Z){
K <- Z*Fy
return(0.9*K-M)
}
form<-PROB_MACHINE(name="FORM Rack.-Fieß.",fCall="FORM")
ps <- SYS_PROB(
sys_input=list(lsf),
probMachines = list(form)
)
ps$runMachines()
## -----------------------------------------------------------------------------
ps$beta_single
## ---- results="hide"----------------------------------------------------------
Var1 <- PROB_BASEVAR(Id=1,Name="X1",DistributionType="norm",Mean=0.25,Sd=1) #kN/m²
Var2 <- PROB_BASEVAR(Id=2,Name="X2",DistributionType="norm",Mean=0.25,Sd=1) #m
lsf1<-SYS_LSF(vars=list(Var1,Var2),name="UQLab 2d_hat")
lsf1$func <- function(X1,X2){
return(20-(X1-X2)^2-8*(X1+X2-4)^3)
}
X1 <- PROB_BASEVAR(Id=1,Name="Z",DistributionType="norm",Mean=100,Cov=0.04) #kN/m²
X2 <- PROB_BASEVAR(Id=2,Name="Fy",DistributionType="lnorm",Mean=40,Cov=0.1) #m
X3 <- PROB_BASEVAR(Id=2,Name="M",DistributionType="gumbel",Package="evd",Mean=2000,Cov=0.1) #m
lsf2<-SYS_LSF(vars=list(X1,X2,X3),name="Nowak & Collins Exp5.11_1")
lsf2$func <- function(M,Fy,Z){
K <- Z*Fy
return(0.75*K-M)
}
form<-PROB_MACHINE(name="FORM Rack.-Fieß.",fCall="FORM")
ps <- SYS_PROB(
sys_input =list(lsf1,lsf2),
sys_type = "serial",
probMachines = list(form)
)
ps$runMachines()
## -----------------------------------------------------------------------------
ps$beta_single
ps$calculateSystemProbability()
ps$beta_sys
## ---- eval=FALSE--------------------------------------------------------------
# params <- list("cov_user"=0.05,"n_max"=50000)
# ps$calculateSystemProbability("MC",params)
#
# params <- list("cov_user"=0.05,"n_max"=50000)
# ps$calculateSystemProbability("MCIS",params)
#
# ps$calculateSystemProbability("MCSUS",params)
## ---- results="hide", warning=FALSE-------------------------------------------
var.d <- PARAM_BASEVAR(Id=1,Name="d",Description="Stat. Nutzhöhe",DistributionType="norm",Sd=10,ParamType="Mean",ParamValues= c(seq(200,800,50),seq(1000,3000,100))+10)
pre.d <- c(seq(200,800,50),seq(1000,3000,100))
var.f_ck <- PROB_BASEVAR(Id=1,Name="f_ck",Description="Char.Betondruckfestigkeit",Package="TesiproV",DistributionType="lt",DistributionParameters=c(3.85,0.09,3,10),Mean=47.35,Sd=5.86)
pre.f_ck <- 35
var.f_ywk <- PROB_BASEVAR(Id=1,Name="f_ywk",Description="Zugfestigkeit Bügelbewehrung",DistributionType="norm",Mean=560,Cov=0.02)
pre.f_ywk <- 500
var.f_yk <- PROB_BASEVAR(Id=1,Name="f_yk",Description="Zugfestigkeit Längsbewehrung",DistributionType="norm",Mean=560,Sd=30)
pre.f_yk <- 500
var.rho_l <- PROB_BASEVAR(Id=1,Name="rho_l",Description="Biegebewehrungsgrad",DistributionType="norm",Mean=0.01,Cov=0.02)
pre.rho_l <- var.rho_l$Mean
var.c_D <- PROB_BASEVAR(Id=1,Name="c_D",Description="Stützendurchmesser",DistributionType="norm",Mean=500+0.003*500,Sd=4+0.006*500)
pre.c_D <- 500
var.theta_c <- PROB_BASEVAR(Id=1,Name="theta_c",Description="Modellunsicherheit c nach DIBT",DistributionType="lnorm", Mean=1.0644,Cov=0.1679)
var.gamma_c <- PROB_DETVAR(Id=1,Name="gamma_c",Description="TSB Beton", Value=1.5)
var.gamma_s <- PROB_DETVAR(Id=1,Name="gamma_s",Description="TSB Stahl", Value=1.15)
var.alpha_cc <- PROB_DETVAR(Id=1,Name="alpha_cc",Description="Langzeitfaktor AlphaCC", Value=0.85)
V_Ed <- c(0.6412447,0.8760515,1.1424185,1.4399554,1.7554079,2.0188587,2.3003489,2.5997038,2.9167825,3.2514671,3.6036567,3.9732630,
4.3602076,6.0800504,7.0424326,8.0726216,9.1702994,10.3351829,11.5670173,12.8655715,14.2306347,15.6620132,17.1595283,18.7230145,
20.3523175,22.0472935,23.8078076,25.6337332,27.5249511,29.4813487,31.5028193,33.5892621,35.7405811,37.9566849)
var.V_Ed <- PARAM_DETVAR(Id=1,Name="V_Ed",Description="Einwirkende Querkraft", ParamValues=unlist(V_Ed))
lsf1 <-SYS_LSF(vars=list(var.d,var.f_ck,var.f_yk,var.f_ywk,var.rho_l,var.c_D,
var.theta_c,var.V_Ed,var.gamma_c,var.gamma_s,var.alpha_cc),
name="Durchstanzwiderstand ohne Bewehrung")
lsf1$func <- function(d, f_ck,f_yk,f_ywk, rho_l, c_D, theta_c, V_Ed, gamma_c, gamma_s, alpha_cc){
f_cd <- f_ck*alpha_cc/gamma_c
f_yd <- f_yk/gamma_s
f_ywd <- f_ywk/gamma_s
u_0 <- c_D*pi
u_1 <- (c_D/2+2*d)*2*pi
u_0.5 <- (c_D/2+0.5*d)*2*pi
k <- min(1+sqrt(200/d),2)
if((u_0/d)<4){
C_Rd_c <- 0.18 * (0.1*u_0/d + 0.6)
}else{
C_Rd_c <- 0.18
}
rho_l <- min(rho_l,0.5*f_cd/f_yd,0.02)
C_Rd_c1 <- C_Rd_c * k * (100*rho_l*f_ck)^(1/3)
v_Rd_c <- C_Rd_c1
V_Rd_c <- v_Rd_c*d*u_1*1e-6*theta_c
return(V_Rd_c-V_Ed)
}
form <- PROB_MACHINE(name="FORM RF.",fCall="FORM",options=list("n_optim"=20, "loctol"=0.0001, "optim_type"="rackfies"))
ps <- SYS_PARAM(
sys_input=list(lsf1),
probMachines = list(form)
)
ps$runMachines()
## -----------------------------------------------------------------------------
d <- pre.d
betas <- unlist(unname(ps$beta_params))
plot(x=d,y=betas,type="l")
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.