Skip to content

[IMPL] LCF uniaxial SWT criterion #35

@MartinNesladek

Description

@MartinNesladek

ℹ️ General Information

Component Name: LCF uniaxial SWT criterion

Component Location: core/energy_life/damage_params/uniaxial_fatigue_criteria/

Suggested Python Name: SWT

FABER WG Relation: 4.1, 4.7

Brief Description: Smith-Watson-Topper (SWT) damage parameter for mean stress correction in strain-life.

Priority: 8

Technical Complexity: 2

Estimated Effort: 2

Dependencies: -


Implementation Details

📋 Specification

For given stress and strain values representing a single load cycle compute the value of SWT parameter, $P_{SWT}$, in MPa. By solving the non-linear equation below, obtain the number of cycles to failure, $N$, as a final output.

Mathematical Formulation

$$ P_{swt} = \sqrt{E\cdot\epsilon_a\cdot(\sigma_{m}+\sigma_{a})} $$

The value of N is found by solving the following non-linear equation using, e.g., the Newton's iterative scheme:

$$ P_{swt}^2 - \sigma_f^2\cdot(2N)^{2b} + E\cdot\epsilon_f\cdot\sigma_f\cdot(2N)^{b+c} = 0$$

Inputs

  1. Parameters of the e-N curve in the form of Manson-Coffin and Basquin equation
Parameter Symbol Type Description Units Constraints
fat_strength_coef $\sigma_f$ array of floats Manson-Coffin and Basquin equation fatigue strength coefficient MPa $>0$
fat_ductility_coef $\epsilon_f$ array of floats Manson-Coffin and Basquin equation fatigue ductility coefficient - $>0$
fat_strength_exp $b$ array of floats Manson-Coffin and Basquin equation fatigue strength exponent - $<0$
fat_ductility_exp $c$ array of floats Manson-Coffin and Basquin equation fatigue ductility exponent - $<0$
elastic_modulus $E$ array of ints Young's / Elastic modulus MPa $>0$
  1. Stress / Strain values
Parameter Symbol Type Description Units Range
strain_amp $\epsilon_a$ array of floats strain amplitue - $(0;\infty)$
stress_amp $\sigma_a$ array of floats stress amplitude MPa $(0;\infty)$
mean_stress $\sigma_m$ array of floats mean stress MPa $(-\infty;\infty)$

Outputs

Parameter Type Description Units Range
N array of ints Estimated repetitions N of a given load cycle to failure - $(0;\infty)$

Expected Behavior

🔧 Implementation Guidelines

Function Signature

# Suggested function signature
def function_name():
    pass

Code Structure

Error Handling

✅ Validation & Testing

Test Cases

Test Case Inputs Expected Outputs Notes
Example 1 $\sigma_f = 475.4 MPa; b = -0.078; \epsilon_f = 0.612; c = -0.62; E = 162000 MPa, \epsilon_a = 0.0135; \sigma_a = 290 MPa, \sigma_m = 10 MPa, N_0 = 1$ $P_{swt} = 810 MPa; N = 278$ $N_0$ is initial estimate of N
Example 2

Validation Criteria

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

📚 References & Resources

  • S. Suresh: Fatigue of Materials, Cambridge University Press, 1998

📝 Technical Notes

Performance Considerations

Edge Cases to Handle

Condition $\sigma_a > |\sigma_m|$ should be checked.

Special Requirements

Metadata

Metadata

Labels

WIPWork In ProgressenhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions