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:

  • SingleSlopeFatigueCurve
  • DoubleSlopeFatigueCurve
  • SNCurve

Each fatigue curve class exxposes the following methods:

  • fatigue_curve.N(DS) returns the number of cycles corresponding to the given stress range DS
  • fatigue_curve.DS(N) returns the stress range corresponding to the given number of cycles N
  • fatigue_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:
  • diameter (float) –

    The bolt diameter in meters.

  • gamma_M (float, default: 1.1 ) –

    The material factor.

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:
  • m1 (float) –

    The logarithmic slope of the lower cycle values.

  • m2 (float) –

    The logarithmic slope of the higher cycle values.

  • DS12 (float) –

    The stress range where the two branches of the curve meet.

  • N12 (float) –

    The number of cycles to failure corresponding to DS12.

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

Parameters:
  • markov_matrix (DataFrame) –

    This is the load history expressed as a Markov matrix, encoded in a pandas DataFrame having three columns: - Cycles: containing the number of cycles; - Mean: containing the mean stress in Pascal; - Range: containing the stress range in Pascal.

Returns:
  • damage( float ) –

    the cumulated fatigue damage produced in the detail represented by this fatigue curev, by 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)).

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:
  • m (float) –

    The logarithmic slope of the fatigue curve.

  • DS_ref (float) –

    Arbitrary reference stress range.

  • N_ref (float) –

    The number of cycles that produce failure under the stress range D_ref.

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)

Reads a .mkv file into a pandas.DataFrame object.

Reads a Markov matrix from a SGRE .mkv file and converts in into a padas dataframe having the collowing columns:

  • 'Cycles' : Number of cylces
  • 'Mean' : mean bending moment
  • 'Range' : range of the bending moment
Parameters:
  • pathFile (str) –

    The path of the .mkv file to be read

  • unitFactor (float, default: 1000.0 ) –

    A scalind factor to be applied to the moment values. Useful for unit conversion.

Returns:
  • markov_matrix( DataFrame ) –

    the pandas DataFrame representation of the Markov natrix contained in the .mkv file.