Skip to content

[IMPL] Implement Damage Accumulation via various versions of Palmgren Miner rule #34

@JanHPapuga

Description

@JanHPapuga

ℹ️ General Information

Component Name: Damage Accumulation Rule according to Palmgren-Miner

Component Location: core/damage_cumulation

Suggested Python Names: damage_cumulation_elementary, damage_cumulation_basic, damage_cumulation_haibach

FABER WG Relation: 4.5

Brief Description: three functions to deal with the Palmgren-Miner linear damage accumulation depending on the choice of its version:

Priority: 10

Technical Complexity: 2

Estimated Effort: 1

Dependencies: -

Implementation Details
📋 Specification

There are at least these three functions to deal with the Palmgren-Miner linear damage accumulation depending on the choice of version:

  1. Elementary version - the same slope k of the S-N curve below and above the fatigue limit
  2. Basic version - the S-N curve gets horizontal at the fatigue limit, no damage for stresses beneath
  3. Haibach version - the original slope_k is modified below fatigue limit to 2*slope_k-1

Inputs
(1) Parameters of the S-N curve in the power law sig^k*N=C: (a) slope k, (b) constant C
(2) Fatigue limit value sig_FL
(3) Pairs of load spectrum: stress sig, number of occurrences n

Outputs
Damage caused by each input pair

Required behavior
For the stresses at and above the fatigue limit, the damage is computed from the input law:
D=n/N=n*sig^k/C

For the response below the fatigue limit, the response differ based on the version to be implemented:
1) Palmgren-Miner elementary
The same rule as above the fatigue limit is applied to compute damage

2) Palmgren-Miner basic
D=0

3) Palmgren-Miner by Haibach
D=nsig^(2k-1)/(C*sig_FL^(k-1))

Resources for understanding if necessary

  1. Graphical interpretation of the change in the S-N curve based on the chosen version can be found e.g. in this open-access paper: http://dx.doi.org/10.5545/sv-jme.2013.1348
  2. The principles of the linear damage accumulation can be grasped from this post: https://community.sw.siemens.com/s/article/calculating-damage-with-miner-s-rule

Tests/validation information if necessary
For k=5, C=1e15, sig_FL=137.97
n=5000, sig=150: D=3.8e-3 for any variant
n=100000, sig=110:
Elementary: D=1.61e-2
Basic: D=0
Haibach: D=6.51e-3

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions