The likelihood module#
Calculate log-likelihoods for Wöhler curve parameter estimation.
The likelihood formulations combine fracture tests in the finite-life region with fracture and runout outcomes around the endurance limit.
- class pylife.materialdata.woehler.likelihood.AbstractLikelihood(fatigue_data)[source]#
Calculate log-likelihoods for Wöhler curve parameters.
Subclasses define which fracture tests contribute to the finite-life term and which tests contribute to the endurance-limit term. The likelihoods are used by the maximum-likelihood analyzers to fit
SD,TS,k_1,ND, andTN.- Parameters:
fatigue_data (FatigueData) – Validated Wöhler fatigue data accessor.
Notes
The finite-life likelihood evaluates shifted cycle numbers
\[x_i = \log_{10}\left(N_i \left(\frac{S_i}{SD}\right)^{k_1}\right)\]against a normal distribution with mean
log10(ND)and standard deviation derived fromTN. The endurance-limit likelihood evaluates the fracture probability at each load level with a log-normal distribution aroundSDand scatterTS; runouts contribute the survival probability.- likelihood_finite(SD, k_1, ND, TN)[source]#
Return the finite-life log-likelihood for fractures.
- Parameters:
- Returns:
Log-likelihood that the selected fracture tests follow the finite-life branch defined by
SD,k_1,ND, andTN.- Return type:
- likelihood_infinite(SD, TS)[source]#
Return the endurance-limit log-likelihood for outcomes.
- Parameters:
- Returns:
Log-likelihood that fracture and runout outcomes around the endurance limit follow the log-normal distribution defined by
SDandTS.- Return type:
- likelihood_total(SD, TS, k_1, ND, TN)[source]#
Return the total log-likelihood for Wöhler curve parameters.
- Parameters:
SD (float) – Endurance limit load at the knee point.
TS (float) – Scatter in load direction, expressed as the 10 %/90 % load ratio.
k_1 (float) – Finite-life Wöhler slope above the endurance limit.
ND (float) – Cycle number at the knee point.
TN (float) – Scatter in cycle direction, expressed as the 10 %/90 % cycle ratio.
- Returns:
Sum of the finite-life and endurance-limit log-likelihoods.
- Return type:
- class pylife.materialdata.woehler.likelihood.LikelihoodAllFractures(fatigue_data)[source]#
Use all fracture tests for the finite-life likelihood.
- Parameters:
fatigue_data (FatigueData) – Validated Wöhler fatigue data accessor.
- class pylife.materialdata.woehler.likelihood.LikelihoodHighestMixedLevel(fatigue_data)[source]#
Use pure finite fractures and the highest mixed load level.
- Parameters:
fatigue_data (FatigueData) – Validated Wöhler fatigue data accessor.
- class pylife.materialdata.woehler.likelihood.LikelihoodLegacy(fatigue_data)[source]#
Use the likelihood formulation from pyLife 2.1.x and earlier.
- Parameters:
fatigue_data (FatigueData) – Validated Wöhler fatigue data accessor.
- class pylife.materialdata.woehler.likelihood.LikelihoodPureFiniteZone(fatigue_data)[source]#
Use finite-zone fractures for the finite-life likelihood.
- Parameters:
fatigue_data (FatigueData) – Validated Wöhler fatigue data accessor.