pyflange.fatigue
Fatigue calculation tools.
This module defines functions and classes to support structural fatigue calculations for large flanges. It includes utilities for reading Markov matrices, defining various types of S-N curves (fatigue curves), and performing bolt fatigue analysis.
BoltFatigueAnalysis
dataclass
Fatigue analysis for a flange bolt.
Calculates fatigue damage and life for a bolt given its flange segment model, load history, and fatigue curve.
| Attributes: |
|
|---|
bolt_mkvm
cached
property
MarkovMatrix: The Markov matrix of axial+bending stress ranges in the bolt.
damage
cached
property
float: The total cumulated fatigue damage.
fatigue_curve
cached
property
FatigueCurve: The fatigue curve used in the analysis.
fatigue_life
cached
property
float: The fatigue life in the same units as flange_mkvm.duration.
BoltFatigueCurve
Bases: DoubleSlopeFatigueCurve
Bolt Fatigue Curve according to IEC 61400-6 AMD1.
Creates a DoubleSlopeFatigueCurve with logarithmic slopes m1=3 and m2=5, a knee point at 2 million cycles, and a stress range depending on the bolt diameter as specified by IEC 61400-6 AMD1.
| Parameters: |
|
|---|
DoubleSlopeFatigueCurve
Bases: MultiSlopeFatigueCurve
Wöhler curve with double logarithmic slope.
This class implements the FatigueCurve interface for a curve with two slopes m1 and m2, intersecting at a specific point (DS12, N12).
__init__(m1, m2, DS12, N12)
Initializes the DoubleSlopeFatigueCurve.
| Parameters: |
|
|---|
FatigueCurve
A Wöhler (S-N) curve base class.
This is a base class for creating Wohler curves. It should not be instantiated directly.
DS(N)
Calculates the stress range for a given number of cycles.
| Parameters: |
|
|---|
| Returns: |
|
|---|
N(DS)
Calculates the number of cycles to failure for a given stress range.
| Parameters: |
|
|---|
| Returns: |
|
|---|
cumulated_damage(markov_matrix)
Calculates the cumulated damage according to Miner's rule.
| Parameters: |
|
|---|
| Returns: |
|
|---|
damage(n, DS)
Calculates the fatigue damage for a given number of cycles and stress range.
Calculates the damage as D = n / N(DS).
| Parameters: |
|
|---|
| Returns: |
|
|---|
MarkovMatrix
dataclass
A Markov Matrix representing a load history.
This class represents a load history in the form of a Markov Matrix. The 'load' can be expressed in terms of moments, forces, stresses, etc.
| Attributes: |
|
|---|
MultiSlopeFatigueCurve
Bases: FatigueCurve
Multi-Slope Fatigue Curve.
This class represents a FatigueCurve composed of multiple slopes. It takes any number of SingleSlopeFatigueCurve objects and uses the maximum number of cycles (or stress range) among them for a given input.
| Attributes: |
|
|---|
DS(N)
Calculates the stress range.
| Parameters: |
|
|---|
| Returns: |
|
|---|
N(DS)
Calculates the number of cycles to failure.
| Parameters: |
|
|---|
| Returns: |
|
|---|
__init__(*fatigue_curves)
Initializes the MultiSlopeFatigueCurve.
| Parameters: |
|
|---|
SingleSlopeFatigueCurve
dataclass
Bases: FatigueCurve
Wöhler curve with a single logarithmic slope.
This class implements the FatigueCurve interface for a curve with a single slope m.
| Attributes: |
|
|---|
a
cached
property
float: The constant 'a' in the S-N curve equation N * DS^m = a.