The FatigueData class#

class pylife.materialdata.woehler.FatigueData(pandas_obj)[source]#

Validate and partition measured Wöhler fatigue test data.

FatigueData is a PylifeSignal accessor registered as pandas.DataFrame.fatigue_data. It stores individual fatigue tests and separates finite-life tests from endurance-limit tests for the Wöhler analyzers.

The signal has the following mandatory keys:

  • load : Load level applied during the test, usually a stress or force amplitude in the user’s units.

  • cycles : Number of cycles reached by the specimen. For fractures it is the cycles to failure; for runouts it is the stopped test duration.

  • fracture : Boolean outcome flag. True marks a fractured specimen, False marks a runout that survived the specified cycles.

Parameters:

pandas_obj (pandas.DataFrame) – Fatigue test data with the mandatory load, cycles, and fracture columns.

Notes

The finite zone contains fractured tests above the finite-infinite transition load. The infinite zone contains all tests at or below that transition and is used to evaluate the endurance limit SD according to DIN 50100-style Wöhler testing.

conservative_finite_infinite_transition()[source]#

Set a conservative finite-infinite transition load.

The method averages all mixed load levels and the highest pure-runout load level [1]. This lowers the estimated endurance limit compared with the default transition search when pure runouts exist below mixed levels.

Returns:

The same accessor with the updated transition load.

Return type:

FatigueData

References

property cycles#

Return the reached cycle numbers.

property finite_infinite_transition#

Return the estimated load that separates finite and infinite life.

The transition is determined from the highest runout load and the next higher fracture load. It is used as the initial endurance limit load SD for subsequent Wöhler analyses.

property finite_zone#

Return fracture tests above finite_infinite_transition.

property fracture#

Return the fracture outcome flags.

property fractured_loads#

Return unique load levels with at least one fracture.

property fractures#

Return only fracture tests.

property infinite_zone#

Return tests at or below finite_infinite_transition.

irrelevant_runouts_dropped()[source]#

Return data with pure runout levels below the relevant range dropped.

Returns:

The current accessor when no runouts are irrelevant, otherwise a new accessor without pure runout levels below the highest pure runout level.

Return type:

FatigueData

property load#

Return the test load levels.

property max_runout_load#

Return the highest load level with a runout.

property mixed_loads#

Return load levels with both fractures and runouts.

property non_fractured_loads#

Return load levels with runouts and no fractures.

property num_fractures#

Return the number of fracture tests.

property num_runouts#

Return the number of runout tests.

property num_tests#

Return the number of tests.

property pure_runout_loads#

Return load levels that contain runouts but no fractures.

property runout_loads#

Return unique load levels with at least one runout.

property runouts#

Return only runout tests.

sanitize_check()[source]#

Perform sanitize checks on the fatigue data and raise on failure.

set_finite_infinite_transition(finite_infinite_transition)[source]#

Set the transition load between finite and infinite life manually.

Parameters:

finite_infinite_transition (float) – Load level used as the endurance-limit start value and as the boundary between finite and infinite zones.

Returns:

The same accessor with recalculated finite and infinite zones.

Return type:

FatigueData