Fatigue Damage Accumulation

バージョン 1.0.0 (8.57 KB) 作成者: Carlos Souto
Fatigue damage accumulation for variable amplitude stress-time histories using the Palmgren-Miner rule.

ダウンロード 335 件

更新 2022/3/31

GitHub から

GitHub でライセンスを表示


By C. Souto (csouto@fe.up.pt)

Fatigue damage accumulation for variable amplitude stress-time histories using the Palmgren-Miner rule coded in Matlab. Code is documented and easy to use. The design fatigue strength curve (S-N or stress-life curve) is specified using the standardized parameters from Eurocode 3 EN 1993-1-9. The cycle counts are done using a rainflow counting algorithm based on ASTM E1049-85.

Usage Examples

% reset workspace
clear all; close all; clc;

% generate a random stress-time history
% (250 random numbers between 100 and 600)
history = 100 + (600 - 100)*rand(250, 1);

% basic example (uses default values)
% the first input is the stress-time history
% the second input is the detail category (see EN 1993-1-9)
damage = fatdamage(history, 160)

% specify the number of times the stress-time history sample is repeated
damage = fatdamage(history, 160, 'Repetitions', 7500)

% specify a custom direct stress S-N curve
damage = fatdamage(history, 160, 'FirstSlope', 4, 'SecondSlope', 8)

% specify a custom shear stress S-N curve
damage = fatdamage(history, 112, 'StressType', 'shear', 'ShearSlope', 6)

% specify safety factors
damage = fatdamage(history, 160, 'ConstantAmplitudeFactor', 1.25, 'FatigueStrengthFactor', 1.35)

% specify number of bins in the rainflow histogram and number of colors in the colormap
damage = fatdamage(history, 160, 'Bins', [10, 20], 'Colors', 8)

% if no plot is required
damage = fatdamage(history, 160, 'Plot', false)

Example Output

After execution, the following plots are shown, summarizing the fatigue analysis

A plot of the provided stress-time history:


A plot of the load reversals (local extrema, i.e., peaks and valleys):


The 2D rainflow histogram, where one can see the cycle counts joined in "buckets" of similar stress ranges and mean stresses:


The generated fatigue strength curve:


The linearly accumulated fatigue damage, failure is expected to occur if damage equals (or is greater than) 1. If damage is less than 1, the bar is shown in green, otherwise it is shown in red:


The Rainflow Counting Algorithm

The rainflow counting algorithm was implemented based on ASTM E1049-85 and its implementation was tested and validated by comparing its results with the ones obtained from Matlab’s rainflow function (from Signal Processing Toolbox). This implementation shows the same results while surpassing the efficiency of the Matlab’s solution.



Carlos Souto (2022). Fatigue Damage Accumulation (https://github.com/carlos-souto/Fatigue-Damage-Accumulation), GitHub. 取得済み .

MATLAB リリースの互換性
作成: R2021a
Windows macOS Linux
タグ タグの追加

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
この GitHub アドオンでの問題を表示または報告するには、GitHub リポジトリにアクセスしてください。
この GitHub アドオンでの問題を表示または報告するには、GitHub リポジトリにアクセスしてください。