Skip to content

[IMPL] Implement S-N curve power-law model #56

@MartinNesladek

Description

@MartinNesladek

ℹ️ General Information

Component Name: Power law

Component Location: material_laws/SN/

Suggested Python Name: wohler_power_law

FABER WG Relation: 2.1

Brief Description: Stress to life and life to stress calculation via the power law

Priority: 10

Technical Complexity: 2

Estimated Effort: 4

Dependencies: -


Implementation Details

📋 Specification

A function implementing the power-law representation of an S–N curve, allowing the computation of the number of cycles ($N$) from a given stress amplitude ($\sigma_a$), and vice versa. The parameters ($C$) and ($w$) are regression constants (coefficient and exponent) obtained from fatigue testing.

Mathematical Formulation

Life from stress amplitude:

$$ \displaystyle N = \frac{C}{\sigma_{a}^{w}} $$

Stress amplitude from life:

$$ \displaystyle \sigma_{a} = \left(\frac{C}{N}\right)^{1/w} $$

$$  \displaystyle N = \frac{C}{\sigma_{a}^{w}} $$
$$  \displaystyle \sigma_{a} = \left(\frac{C}{N}\right)^{1/w} $$

Inputs

  1. Power-law model regression parameters
Parameter Symbol Type Description Units Constraints
SN_C $C$ array of floats power-law coefficient $MPa^{w}$ $>0$
SN_w $w$ array of floats power-law exponent - $>0$
  1. Stress / Strain values or life
Parameter Symbol Type Description Units Range
stress_amp $\sigma_a$ array of floats stress amplitude MPa $(0; \infty)$
life $N$ array of floats Number of cycles - $(0; \infty)$

Outputs

Parameter Type Description Units Range
$N$ array of floats Number of cycles - $(0; \infty)$
$\sigma_{a}$ array of floats Stress amplitude - $(0; \infty)$

Expected Behavior

🔧 Implementation Guidelines

Function Signature

# Suggested function signature

Code Structure

Error Handling

✅ Validation & Testing

Test Cases

Test Case Inputs Expected Outputs Notes
Example 1 $\sigma_{a} = 300 MPa; C = 2.2\cdot10^{13} MPa^{3}, w = 3$ $N = 814,814$

Validation Criteria

  • Mathematical accuracy verified against literature
  • Edge cases handled appropriately
  • Output format matches specification

📚 References & Resources

J. Draper: Modern Metal Fatigue Analysis. EMAS Publishing, 2008

📝 Technical Notes

Performance Considerations

Edge Cases to Handle

Special Requirements

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions