# Routine for Life-Stress Relationship Plotting Example # Coded by Reuel Smith 2015-2017 # ======================================================================== # Example Problem 4.7 # Consider an accelerated test where temperature is the accelerating # variable and 20 units were tested to failure assuming complete failures # (no censoring). Eight units were tested at 406 K, and six units each at # 436 K and 466 K, with times to failure tabulated below. Assuming an # Arrhenius-Weibull life-stress relationship, find the parameters of the # model, using both the plotting method and MLE method and compare the # results. Find the expected life at the use level temperature of 353 K # and compare the results. # Temperature Time to Failure (hrs) # =========== ===================================== # 406 K 248 456 528 731 813 965 972 1528 # 436 K 164 176 289 319 386 459 # 466 K 92 105 155 184 219 235 # # Solution: # This routine computes the expected life at use level temperature 353 ?K # and plots the relationship plot. The assumed Life-Stress relationship # for this problem is the Arrhenius model L(t) = b*exp(a/T) or ln(L(t)) = # ln(b) + a*(1/T) Eqn(4.40) where T-temperature, a-slope, and ln(b) is the # intercept. The Life-stress relationship plot may take additional models # in place of Arrhenius (see textbook). # ======================================================================== # Known alpha (life) values at 406, 436, and 466 degrees K. These are # evaluated by the Weibull_Plotting_Multiple_Data_Example_Problem_4_7.R # R script. alpha_1 <- 898.698471763768 alpha_2 <- 341.942889990736 alpha_3 <- 187.571102122010 # 1/Temperature Tempaxis <- c(1/406,1/436,1/466) # Life axis (hours) Lifeaxis <- c(alpha_1,alpha_2,alpha_3) # Fit the X and Y vectors to a linear equation (gets m and b) p4 <- lm(Lifeaxis ~ poly(Tempaxis, 1, raw=TRUE)) slope <- summary(p4)$coefficients[2,1] intercept<- summary(p4)$coefficients[1,1] # Extrapolate best fit relation line for Life and Stress x1 <- min(Tempaxis)+(((1/300)-min(Tempaxis))/1000)*c(1:1000) y1 <- intercept + slope*x1 # Value of life at use condition 353 degrees K Uselife <- intercept + slope*(1/353) # The Relationship plot plot(1/353,Uselife, col="black", xlab="1/Temp (K^-1)", ylab="Characteristic Life (hours)", pch=13, xlim=c(2e-3,3.4e-3), ylim=c(0,3000), axes=FALSE) lines(x1, y1, col="black", lty=3) # STRESS LEVEL 1 PLOT points(1/406,alpha_1, pch=16, col="blue") # STRESS LEVEL 2 PLOT points(1/436,alpha_2, pch=17, col="red") # STRESS LEVEL 3 PLOT points(1/466,alpha_3, pch=18, col="green") axis(1, at=NULL, las=2, cex.axis=0.7) axis(2, at=NULL, las=2, cex.axis=0.7) grid(nx = NULL, ny = NULL, col = "lightgray", lty = "dotted",lwd = par("lwd"), equilogs = TRUE) # The legend heading # The first two places signify the (X,Y) where the legend will be located. CHANGE the # legend labels in the LEGEND="" portion. PCH changes the label # types and LTY changes the line types. legend(0.002, 3000, legend=c("Stress Level 1 - 406 deg K","Stress Level 2 - 436 deg K","Stress Level 3 - 466 deg K","Characteristic Use life at 353 deg K","Best Fit Line"), col=c("blue", "red", "green","black","black"), pch=c(16,17,18,13,-1), lty=c(0,0,0,0,3), cex=0.8, text.font=4, bg='white')
Top