| Title: | Fatigue Crack Growth in Reliability |
| Version: | 1.2-0 |
| Description: | Fatigue Crack Growth in Reliability estimates the distribution of material lifetime due to mechanical fatigue efforts. The 'FCGR' package provides simultaneous crack growth curves fitting to different specimens in materials under mechanical stress efforts. Linear mixed-effects models with smoothing B-Splines and the linearized Paris-Erdogan law are applied. Once defined the fail for a determined crack length, the distribution function of failure times to fatigue is obtained. The density function is estimated by applying nonparametric binned kernel density estimate ('bkde') and the kernel estimator of the distribution function ('kde'). The results of Pinheiro and Bates method based on nonlinear mixed-effects regression ('nlme') can be also retrieved. The package contains the crack.growth(), PLOT.cg(), IB.F(), and Alea.A (database) functions. |
| License: | GPL-2 | GPL-3 [expanded from: GPL (≥ 2)] |
| Encoding: | UTF-8 |
| Depends: | R (≥ 4.5.0), kerdiest, KernSmooth, nlme, parallel |
| Imports: | MASS, mgcv, pspline, sfsmisc |
| LazyData: | true |
| Config/roxygen2/version: | 8.0.0 |
| NeedsCompilation: | no |
| Packaged: | 2026-09-17 15:42:54 UTC; ANTONIO |
| Author: | Antonio Meneses [aut, cre], Salvador Naya [ctb], Javier Tarrio-Saavedra [ctb], Ignacio Lopez-Ullibarri [ctb] |
| Maintainer: | Antonio Meneses <antoniomenesesfreire@hotmail.com> |
| Repository: | CRAN |
| Date/Publication: | 2026-09-28 08:20:08 UTC |
Crack growth of aluminum A-alloy due mechanical fatigue efforts
Description
Crack growth of aluminum A-alloy due mechanical fatigue efforts. Alea.A is a data frame composed of 262 rows y 3 columns.
Usage
data(Alea.A)
Format
This data frame is composed of the following columns:
cycles21 vectors with times or cycles corresponding to each specimen (overall 262 cycles).
cracks21 vectors with the crack lengths corresponding to each specimen.
sample21 different specimens, each one repeated the number of elements of "cycles" or "cracks".
Details
Alea.A is composed of the crack length growth and number of cycles of 21 different specimens. It is detailed in Hudak et al. (1978) and referred by Meeker and Escobar (1998) in table C.14.
Source
Meeker, W., Escobar, L. (1998) Statistical Methods for Reliability Data. John Wiley & Sons, Inc. New York.
Bootstrap confidence bands for fatigue lifetime
Description
It performs bootstrap confidence bands for fatigue lifetime. The lifetime matrix is calculated by bootstrap resampling by means the above mentioned methodologies (see craks.growth). The confidence bands are estimated by the quantile based method.
Usage
IB.F(
z,
nB,
alpha = 0.05,
method = c("SEP-lme_bkde", "SEP-lme_kde", "PB-nlme"),
seed = NULL,
ncores = min(2L, max(1L, parallel::detectCores() - 1L))
)
Arguments
z |
cracks.growth object. |
nB |
Number of bootstrap resampling. |
alpha |
Confidence level. |
method |
Character string showing the distribution estimates method: "SEP-lme_bkde", "SEP-lme_kde" or "PB-nlme. |
seed |
Seed for reproducibility. |
ncores |
Controls how many R processes are launched in parallel. |
Details
IB.F is performed from the output of cracks.growth function.
Value
Return the following values:
Mat.F.BMatrix that contents the fatigue lifetimes corresponding to each bootstrap resampling.
I.BootstrapData frame that contents the bootstrap confidence bands for lifetime distribution, at a confidence level of 95 percent (by default). It is composed by two columns corresponding to the bands limits: low, up.
Author(s)
Antonio Meneses antoniomenesesfreire@hotmail.com, Salvador Naya salva@udc.es, Javier Tarrio-Saavedra jtarrio@udc.es, Ignacio Lopez-Ullibarri ilu@udc.es
References
Meeker, W., Escobar, L. (1998) Statistical Methods for Reliability Data. John Wiley & Sons, Inc. New York.
Pinheiro JC., Bates DM. (2000) Mixed-effects models in S ans S-plus. Statistics and Computing. Springer-Verlang. New York.
Paris, P.C. and Erdogan, F. (1963) A critical analysis of crack propagation laws. J. Basic Eng., 85, 528.
Examples
## Using the Alea.A dataset
data(Alea.A)
x <- Alea.A
## Critical crack length
aF <- 1.6
## Censoring time
T_c <- 0.12
## cracks.growth function applied to Alea.A data
cg <- cracks.growth (x, aF, T_c, method = c("SEP-lme_bkde", "SEP-lme_kde",
"PB-nlme"), nBKDE = 1000, nKDE = 1000, nMC = 5000)
## z is a cracks.growth object
z <- cg
## Number of bootstrap resamplings
nB <- 100
## Application of IB.F function to cg object
ic.b <- IB.F(z, nB, alpha = 0.05, method = c("SEP-lme_bkde", "SEP-lme_kde",
"PB-nlme"))
## ic.b values obtainde by the "SEP-lme_bkde" model
names(ic.b)
# [1] "Mat.F.B" "I.Bootstrap"
## Chart with the empirical and estimated distribution functions,
## with bootstrap confidence bands at 95
# Observations from which the distribution function is estimated
F1.F <- z$F.est[,2]
plot( ic.b$I.Bootstrap$low,F1.F, col=2, type="l", lty=2, lwd=2,
xlim=c(0.05,0.18),
main="Plot: distributions of failure times\n confidence intervals",
xlab="million cycles", ylab="probability", cex.lab=1.7,
cex.main=2, las=1)
lines(ic.b$I.Bootstrap$up, F1.F, col=2, lty=2, lwd=2)
points(z$F.est, pch=20)
points(z$F.emp, col=4, pch=20, cex=1.5)
legend("topleft", c("Empirical", "Estimated","Bootstrap (95 percent)"),
col=c("blue","black","red"), lty=c(1,1,1), pch=c(20,20,20),
cex=1.5, bty="n")
## Graph with confidence bands
matplot(ic.b$Mat.F.B, F1.F, main="Bootstrap resampling lines",
type="l", lwd=2, xlim=c(0.05,0.18), xlab="million cycles",
ylab="probability", cex.lab=1.7, cex.main=2, las=1)
Fatigue Crack Growth in Reliability plots
Description
It provides graphical outputs composed of the trends corresponding to the crack length growth due to mechanical fatigue, the crack length estimates by the models, crack length predictions, and lifetime distribution estimates.
Usage
PLOT.cg(x)
Arguments
x |
cracks.growth object. |
Details
Specifically, the following graphs are provided: exploratory dataset graph, plot with the crack length estimates and predictions, residuals graph, empirical and estimated lifetime distribution plot obtained by SEP-lme_bkde, SEP-lme_kde or PB-nlme methods.
Value
Return the following values:
plot.dataExploratory chart.
plot.predPlot for fatigue lifetimes estimates and predictions.
plot.FPlot for the empirical distribution and lifetimes distribution estimates of fatigue lifetimes.
plot.residResiduals chart.
Author(s)
Antonio Meneses antoniomenesesfreire@hotmail.com, Salvador Naya salva@udc.es, Javier Tarrio-Saavedra jtarrio@udc.es, Ignacio Lopez-Ullibarri ilu@udc.es
References
Meeker, W., Escobar, L. (1998) Statistical Methods for Reliability Data. John Wiley & Sons, Inc. New York.
Pinheiro JC., Bates DM. (2000) Mixed-effects models in S ans S-plus. Statistics and Computing. Springer-Verlang. New York.
Paris, P.C. and Erdogan, F. (1963) A critical analysis of crack propagation laws. J. Basic Eng., 85, 528.
Examples
## Using the Alea.A dataset
data(Alea.A)
x <- Alea.A
## Critical crack length
aF <- 1.6
## Censoring time
T_c <- 0.12
## cracks.growth function applied to Alea.A data
cg <- cracks.growth(x, aF, T_c,
method = c("SEP-lme_bkde", "SEP-lme_kde", "PB-nlme"),
nBKDE = 1000, nKDE = 1000, nMC = 5000)
## PLOT.cg applied to cg object.
PLOT <- PLOT.cg(cg)
names(PLOT)
## [1] "plot.data" "plot.pred" "plot.F" "plot.resid"
## Exploratory chart for the Alea.A dataset
PLOT$plot.data(main = "Plot: crack growth", xlab = "million cycles",
ylab = "cracks(inches)", cex.lab=1.8,
cex.main = 2)
text(0.02, aF + 0.05, "Failure", cex = 1.8)
text(0.095, 0.95, "Censoring time->", cex = 1.5)
## Plot for fatigue lifetimes estimates and predictions.
PLOT$plot.pred(xlab = "million cycles", ylab = "cracks(inches)",
main = "Plot: crack growth, estimation and prediction\n failure times (red)",
cex.lab = 1.8, cex.main = 1.5)
text(0.02,aF+0.05, "Failure", cex = 1.8)
text(0.085,0.95, "Censoring time->", cex = 1.5)
## Plot for the empirical distribution and lifetimes distribution estimates
## of fatigue lifetimes
PLOT$plot.F(main = "Plot: distributions of failure times",
xlab = "million cycles", ylab = "probability",
cex.lab = 1.7, cex.main=2)
text(0.14, 0.1, "<-Censoring time", cex = 1.5)
legend("topleft", c("Empirical", "Estimated"), col = c("blue","black"),
pch=c(20,20), cex=1.5, bty="n")
## Residuals chart.
PLOT$plot.resid(main = "Plot: residual", xlab = "fitted", ylab = "residuals",
cex = 1.5, col = "blue", cex.lab = 1.7, cex.main = 2)
Fatigue crack growth in reliability analysis
Description
It provides the lifetime distribution of metallic materials that fail due to the crack growth produced by mechanical fatigue efforts. The crack growth trends are fitted by linear or nonlinear mixed effects regression models in order to make predictions about the material lifetime. The lifetime is defined as the time passed before the material does not meet the specification requirements and it is conditioned by a critical crack length that induces the material failure. Three different methods can be applied to estimate the fatigue lifetime distribution: "SEP-lme_bkde" and "SEP-lme_kde" are nonparametric while "PB-nlme" corresponds to the parametric approach proposed by Pinheiro and Bates (2000).
Usage
cracks.growth(
x,
aF,
T_c,
method = c("SEP-lme_bkde", "SEP-lme_kde", "PB-nlme"),
nMC = 5000,
nBKDE = 1000,
nKDE = 1000,
seed = NULL
)
Arguments
x |
Matrix or data frame composed of three columns: times or number of cycles, crack lengths and specimen number. |
aF |
Critical crack length for which the material failure is produced. |
T_c |
Censoring time or frequency. |
method |
A string of characters: "SEP-lme_bkde" (default methodology) indicates that a mixed effects linear regression model is applied to crack growth data and the lifetime density is estimated by bkde method. "SEP-lme_kde" indicates that a mixed effects linear regression model is applied to crack growth data and the lifetime distribution is estimated by kde method. "PB-nlme" indicates that a mixed effects nonlinear regression model is applied to crack growth data and the lifetime the parameters are estimated maximum likelihood methodologies, and the lifetime distribution by Monte Carlo. |
nMC |
Number of Monte Carlo estimates, by default 5000. |
nBKDE |
Number of bkde estimates, by default 5000. |
nKDE |
Number of kde estimates, by default 5000. |
seed |
Seed for reproducibility. |
Details
This function provides a simultaneous fitting of crack growth data corresponding to different specimens when these are subjected to mechanical fatigue efforts. For this purpose, mixed effects linear models (lme) with B-spline smoothing are applied. Since the failure is defined at a specific critical crack length, predictions of material lifetime are obtained assuming the linearized Paris-Erdogan law and the material lifetime distribution is estimated. There are available three different techniques to estimate the lifetime distribution: the binned kernel density estimate (bkde), the kernel estimator for the distribution function (kde) computed by Quintela del Rio and Estevez-Perez (2012), and in addition the parametric method proposed by Pinheiro and Bates (2000) based on mixed effects nonlinear regression (nlme), maximum likelihood and Monte Carlo simulation.
Value
dataData frame with the data corresponding to number of cycles, crack length, and sample.
a.FCritical crack length.
TcCensoring time.
paramData frame with the estimates of Paris law parameters: C and m
crack.estData frame with time, crack growth estimates, and corresponding sample or specimen.
sigmaResidual standard deviation.
residualsResiduals resulting from the crack length fitting.
crack.predData frame with time, crack growth predictions out of the experimental time interval, and corresponding sample or specimen.
F.empData frame with the empirical lifetime distribution and the corresponding time: time, Fe.
bwBandwidth used in bkde and kde methods.
F.estData frame with the estimated lifetime distribution and the corresponding time: time, F.
nBKDENumber of bkde estimates.
nKDENumber of kde estimates.
nMCNumber of Monte Carlo estimates.
Author(s)
Antonio Meneses antoniomenesesfreire@hotmail.com, Salvador Naya salva@udc.es, Javier Tarrio-Saavedra jtarrio@udc.es, Ignacio Lopez-Ullibarri ilu@udc.es
References
Meeker, W., Escobar, L. (1998) Statistical Methods for Reliability Data. John Wiley & Sons, Inc. New York.
Pinheiro JC., Bates DM. (2000) Mixed-effects models in S ans S-plus. Statistics and Computing. Springer-Verlang. New York.
Examples
## Using the Alea.A dataset
data(Alea.A)
x <- Alea.A
## Critical crack length
aF <- 1.6
## Censoring time
T_c <- 0.12
## cracks.growth function applied to Alea.A data
cg <- cracks.growth (x, aF, T_c, method = c("SEP-lme_bkde", "SEP-lme_kde",
"PB-nlme"), nBKDE = 1000, nKDE = 1000, nMC = 5000)
## cracks.growth values using the "SEP-lme_bkde" by default method.
names(cg)
# [1] "data" "a.F" "Tc" "param" "crack.est"
# [6] "sigma" "residuals" "crack.pred" "F.emp" "bw"
#[11] "F.est" "nBKDE"