pyflange.fatigue
Fatigue calculation tools.
This module defines functions and classes to support structural fatigue calculations.
In particular, the module contains the following functions ...
markov_matrix_from_SGRE_format(pathFile , unitFactor [optional])which reads a .mkv file from SGRE as markov matrix and converts in into a pandas dataframe
... and the following FatigueCurve classes:
SingleSlopeFatigueCurveDoubleSlopeFatigueCurveSNCurve
Each fatigue curve class exxposes the following methods:
fatigue_curve.N(DS)returns the number of cycles corresponding to the given stress range DSfatigue_curve.DS(N)returns the stress range corresponding to the given number of cycles Nfatigue_curve.damage(n, DS)returns the fatigue damage cumulated by a stress range DS repeated n times
BoltFatigueCurve
Bases: DoubleSlopeFatigueCurve
Bolt Fatigue Curve according to IEC 61400-6 AMD1.
Given a bolt diameter, creates a DoubleSlopeFatigueCurve having logaritmic slopes m1=3 and m2=5 and change-of-slope at 2 milion cycles and stress range depending on the bolt diameter as specified by IEC 61400-6 AMD1.
| Parameters: |
|
|---|
Thuis class inherits all the properties and methods of the
DoubleSlopeFatigueCurve class.
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.
| Parameters: |
|
|---|
All the constructor parameters are also available as instance attributes
(i.e. scn.m1, snc.m2, snc.DS12, snc.N12).
This class implements all the methods of FatigueCurve.
FatigueCurve
A Wöhler curve.
This is a base class for creating Wohler curves. It is not supposed to be instantiated directly.
DS(N)
Stress range.
Given a number of cycles, this function return the corresponding stress range that produce a fatigue failure.
N(DS)
Number of cycles.
Given a stress range DS, this function return the corresponding number of cycles that produce a fatigue failure.
cumulated_damage(markov_matrix)
Cumulated damage according to the Miner's rule
Args:
markov_matrix : MarkvMatrixThis is the load history expressed as a MarkovMatrix object.
Returns:
damage : floatThe cumulated fatigue damage produced in the detail represented by t his fatigue curve, under the load history represented by the passed Markov matrix.
damage(n, DS)
Fatigue damage.
Given a number of cycles n and a stress range DS, this function returns the dorresponding fatigue damage (D = n / N(DS)).
MarkovMatrix
dataclass
A Markov Matrix
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.
This is a dataclass, therefore the following constructor parameters are also reflected as attributes:
-
range : np.ndarray
Array of stress ranges (or load ranges in general) -
mean : np.ndarray
Array of mean stress values (or load values in general) -
cycles : np.ndarray
Array of cycles corresponding to each load value -
duration: float
Duration of the load history. If omitted, it defaults to 1.
MultiSlopeFatigueCurve
Bases: FatigueCurve
Multi-Slope Fatigue Curve.
This class is a FatigueCurve with multiple slopes. It takes any number of SingleSlopeFatigueCurve objects as arguments.
SingleSlopeFatigueCurve
dataclass
Bases: FatigueCurve
Wöhler curve with single logarithmic slope.
This class implements the FatigueCurve interface for a curve with single slope m.
| Parameters: |
|
|---|
All the constructor parameters are also available as instance attributes
(i.e. scn.m, snc.DS_ref, snc.N_ref).
This class implements all the methods of FatigueCurve.
markov_matrix_from_SGRE_format(pathFile, unitFactor=1000.0, duration=1)
Reads a .mkv file into a pandas.DataFrame object.
Reads a Markov matrix from a SGRE .mkv file and converts in into a MarkvoMatrix object.
Arguments:
-
pathFile : strThe path of the .mkv file to be read -
unitFactor : floatA scalind factor to be applied to the moment values. Useful for unit conversion. -
duration : floatThe duration of the loads contained in the .mkv file. If omitted, it defaults to 1.
Returns:
markov_matrix : MarkovMatrixThe MarkvoMatrix instance representing the loads contained in the .mkv file.