Skip to content

Calibrating wood products for load duration and rate using US, Canadian, and gamma process models

Notifications You must be signed in to change notification settings

yyang97/Multimodel-Reliability

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Reliability analysis

Reliabibility analysis for snow load and wind load by using US, Canadian, and gamma process models

Overview

This repository contains programs to perform reliability analysis for snow load and wind load based on US, Canadian, and gamma process models. Code is composed of R scripts and C++ source files.

Download and compile the C++ programs for Linux:

git clone https://github.com/yyang97/Multimodel-Reliability.git
cd Multimodel-Reliability/src
make all
cd ..

MCMC draws

The MCMC draws for US model, Canadian mode and Gamma process model are provdied in US_theta.csv, Can_theta.csv and GP-theta.RData, respectively. All contain 500 parameters draws.

Three load profiles

We set up three load profiles: snow load in Vancouver, snow load in Quebec City and wind load (in Halifax).

US model

Reliability analysis is performed by the compiled C++ programs 'USADM_snow_Van', 'USADM_snow_Queb', 'USADM_wind'

Snow load in Vancouver

Example:

./USADM_snow_Van US_theta.csv 1.2  

Using the values of theta listed in "US_theta.csv", this program will estimate the probability of failure after 50 years based on a large number of replications with the snow load in Vancouver profile using phi=1.2.

General usage:

USADM theta_file_name phi

  • The parameter vectors to use for reliability analysis are supplied via theta_file_name, usually the output of the parameter estimation done in model fitting above. The thetas will then be used to solve the US ADM for time-to-failure T_f and probability of failure P_f. T_f and P_f for each theta will be written into files with suffix “csv”.
  • Output files: probability of failure with and without DOL effect.

There are some additional parameters in USADM (solveUSODE_snow_Van.cpp, solveUSODE_snow_Queb.cpp, solveUSODE_wind.cpp) that can be modified:

  • n_per_theta: number of load profile replications to use for estimation of P_f. Default is 100000.
  • t_end: reference timeframe (in hours). Default is 50 years.
  • dt: time-step used for numerical integration. Default is 100 hours.

Snow load in Quebec City

We only provide one example for snow load in Quebec City and wind load as all the other settings are similiar.

Example:

./USADM_snow_Queb US_theta.csv 1.2  

Using the values of theta listed in "US_theta.csv", this program will estimate the probability of failure after 50 years based on a large number of replications with the snow load in Quebec City using phi=1.2.

Wind load

Example:

./USADM_wind US_theta.csv 1.2  

Using the values of theta listed in "US_theta.csv", this program will estimate the probability of failure after 50 years based on a large number of replications with the wind load using phi=1.2.

Canadian model

Reliability analysis is performed by the compiled C++ programs 'CanADM_snow_Van', 'CanADM_snow_Queb', 'CanADM_wind'

Snow load in Vancouver

Example:

./CanADM_snow_Van Can_theta.csv 1.2  

Using the values of theta listed in "Can_theta.csv", this program will estimate the probability of failure after 50 years based on a large number of replications with the snow load in Vancouver profile using phi=1.2.

General usage:

CanADM theta_file_name phi

  • The parameter vectors to use for reliability analysis are supplied via theta_file_name, usually the output of the parameter estimation done in model fitting above. The thetas will then be used to solve the Can ADM for time-to-failure T_f and probability of failure P_f. T_f and P_f for each theta will be written into files with suffix “csv”.
  • Output files: probability of failure with and without DOL effect.

There are some additional parameters in USADM (solveCanODE_snow_Van.cpp, solveCanODE_snow_Queb.cpp, solveCanODE_wind.cpp) that can be modified:

  • n_per_theta: number of load profile replications to use for estimation of P_f. Default is 100000.
  • t_end: reference timeframe (in hours). Default is 50 years.
  • dt: time-step used for numerical integration. Default is 100 hours.

Snow load in Quebec City

We only provide one example for snow load in Quebec City and wind load as all the other settings are similiar.

Example:

./CanADM_snow_Queb Can_theta.csv 1.2  

Using the values of theta listed in "Can_theta.csv", this program will estimate the probability of failure after 50 years based on a large number of replications with the snow load in Quebec City using phi=1.2.

Wind load

Example:

./CanADM_wind Can_theta.csv 1.2  

Using the values of theta listed in "Can_theta.csv", this program will estimate the probability of failure after 50 years based on a large number of replications with the wind load using phi=1.2.

Gamma process model

Snow load in Vancouver

Begin by generating snow load in Vancouver. You need to install R package 'desolve', 'tidyverse'. There might be some warnings or even errors by library(tidyverse). But you can ignore them.

R
source("R/setup-reliability-snow-Van.R")

The number load profile replications to generate (default: 100000). The result is saved as 'rel_loads_snow_Van.rda'.

Next step is to calculate the reliability estimate.

source("R/calc-reliability-GP-snowVan.R")

The default model file is R/gamma-2breaks.R, and should match the model used for fitting. The performance factor phi and reference time frame (default 50 years) can be set within the R script.

Snow load in Quebec City

We only provide one example for snow load in Quebec City and wind load as all the other settings are similiar.

source("R/setup-reliability-snow-Queb.R")
source("R/calc-reliability-GP-snowQueb.R")

Wind load

source("R/setup-reliability-wind.R")
source("R/calc-reliability-GP-wind.R")

References

Some code in this repository is adapted from the methods described in these papers:

Samuel WK Wong and James V Zidek (2019). The duration of load effect in lumber as stochastic degradation. IEEE Transactions on Reliability, 68(2), 410-419.

Chun-Hao Yang, James V Zidek, Samuel WK Wong (2019). Bayesian analysis of accumulated damage models in lumber reliability. Technometrics, 61(2), 233-245.

About

Calibrating wood products for load duration and rate using US, Canadian, and gamma process models

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 99.7%
  • Other 0.3%