The fkm_linear functions

Module for implementing useful FKM functions.

class pylife.strength.fkm_linear.fkm_functions.FkmLinearFunctions[source]

Class to represent FKM functions.

This class provides methods for calculating various factors according to the FKM guideline for fatigue strength assessment.

GJL_bending_factor(GJL_Mat)[source]

Select factor KNL,E for non-linear elastic behavior of GJL in bending.

According to FKM 2012 (Chapter 4.3.5) using Cython.

Parameters:

GJL_Mat (np.ndarray) – GJL material identifiers

Returns:

GJL bending factors (KNL,E)

Return type:

np.ndarray

VALID_HARDENING_PROCEDURES = ['Inductive hardening', 'Flame hardening', 'Case hardening', 'Carburizing', 'Nitriding', 'Cyaniding', 'Carbonitriding', 'Deep rolling', 'Shot peening', 'Cold rolling']
design_factor(n, Kf, Kr, Kv, Ks, Knle)[source]

Calculate design influence factor Kwk.

According to FKM 2012 (Chapter 4.3.1.1) using Cython.

Parameters:
  • n (np.ndarray) – Support factors

  • Kf (np.ndarray) – Notch strength reduction factors (Kerbwirkungszahl)

  • Kr (np.ndarray) – Roughness influence factors

  • Kv (np.ndarray) – Surface hardening factors

  • Ks (np.ndarray) – Protective layer influence factors

  • Knle (np.ndarray) – Factors for GJL materials at bending (Knle=1 for all other cases)

Returns:

Design influence factors

Return type:

np.ndarray

eigenstress_RS(Rm, HV, HV_core, HardProc)[source]

Calculate eigenstress of surface layer for surface treated components.

According to FKM 2012 (Chapter 5.5.2.1) using Cython.

Parameters:
  • Rm (np.ndarray) – Strengths of material in initial state [MPa]

  • HV (np.ndarray) – Hardness of surface layer [HV]

  • HV_core (np.ndarray) – Hardness of core [HV]

  • HardProc (np.ndarray) –

    Hardening processes, one of:

    • ’Carburizing’

    • ’Nitriding’

    • ’Inductive hardening’

Returns:

Eigenstresses for the surface layer [MPa]

Return type:

np.ndarray

fract_mech_support_local(n_st, n_vm, G0, Rm, mat)[source]

Calculate the fracture mechanical support factor n_bm.

According to FKM 2012 local approach (Chapter 4.3.1.3.2).

Parameters:
  • n_st (float) – Statistical support factor

  • n_vm (float) – Mechanical support factor

  • G0 (float) – Related stress gradient [1/mm]

  • Rm (float) – Tensile strength [MPa]

  • mat (str) –

    Material group. One of:

    • ’CaseHard_Steel’ : Case-hardened steels

    • ’Stainless_Steel’ : Stainless steels

    • ’Forg_Steel’ : Forged steels

    • ’Steel’ : All other steel groups

    • ’GS’ : Cast steels and tempering cast steels

    • ’GJS’ : Cast iron with spheroidal graphite (old GGG)

    • ’GJM’ : Heart fittings (Temperguss, old: GT)

    • ’GJL’ : Cast iron with lamellar graphite (old GG)

    • ’Al_wrought’ : Wrought aluminium alloys

    • ’Al_cast’ : Cast aluminium alloys

Returns:

Fracture mechanical support factor

Return type:

float

get_material_constants(mat, S_type)[source]

Get material constants for direct usage in other functions.

Parameters:
  • mat (str) –

    FKM material group. One of:

    • ’CaseHard_Steel’ : Case-hardened steels

    • ’Stainless_Steel’ : Stainless steels

    • ’Forg_Steel’ : Forged steels

    • ’Steel’ : All other steel groups

    • ’GS’ : Cast steels and tempering cast steels

    • ’GJS’ : Cast iron with spheroidal graphite (old GGG)

    • ’GJM’ : Heart fittings (Temperguss, old: GT)

    • ’GJL’ : Cast iron with lamellar graphite (old GG)

    • ’Al_wrought’ : Wrought aluminum alloys

    • ’Al_cast’ : Cast aluminum alloys

  • S_type ({'normal', 'shear'}) – Stress type

Returns:

  • df_consts (pd.DataFrame) – DataFrame including the material constants

  • df_fw_t (pd.DataFrame) – DataFrame including the fw_t factors

get_material_constants_chap5_5(Proc)[source]

Get material constants for chapter 5.5.

Parameters:

Proc (pd.Series) – Series with hardening procedure names

Returns:

DataFrame including all constants for the hardening procedure

Return type:

pd.DataFrame

get_temperature_constants(mat)[source]

Get temperature constants for the specified material.

Parameters:

mat (str) –

FKM material group. One of:

  • ’CaseHard_Steel’ : Case-hardened steels

  • ’Stainless_Steel’ : Stainless steels

  • ’Forg_Steel’ : Forged steels

  • ’Steel’ : All other steel groups

  • ’GS’ : Cast steels and tempering cast steels

  • ’GJS’ : Cast iron with spheroidal graphite (old GGG)

  • ’GJM’ : Heart fittings (Temperguss, old: GT)

  • ’GJL’ : Cast iron with lamellar graphite (old GG)

  • ’Al_wrought’ : Wrought aluminum alloys

  • ’Al_cast’ : Cast aluminum alloys

Returns:

df_temperature – DataFrame including the temperature factors

Return type:

pd.DataFrame

kf_constant(mat_group)[source]

Select Kf factor based on FKM material group from FKM 2012.

Uses Cython implementation.

Parameters:

mat_group (np.ndarray) –

Material groups as strings. One of:

  • ’CaseHard_Steel’ : Case-hardened steels

  • ’Stainless_Steel’ : Stainless steels

  • ’Forg_Steel’ : Forged steels

  • ’Steel’ : All other steel groups

  • ’GS’ : Cast steels and tempering cast steels

  • ’GJS’ : Cast iron with spheroidal graphite (old GGG)

  • ’GJM’ : Heart fittings (Temperguss, old: GT)

  • ’GJL’ : Cast iron with lamellar graphite (old GG)

  • ’Al_wrought’ : Wrought aluminium alloys

  • ’Al_cast’ : Cast aluminium alloys

Returns:

Notch strength reduction factors (Kerbwirkungszahl)

Return type:

np.ndarray

kf_factor(kf_method, mat_group, G0, b, n, S_type)[source]

Select Kf factor based on method and FKM material group from FKM 2012.

Uses Cython implementation.

Parameters:
  • kf_method (str) – Method for Kf calculation

  • mat_group (np.ndarray) –

    Material groups as strings. One of:

    • ’CaseHard_Steel’ : Case-hardened steels

    • ’Stainless_Steel’ : Stainless steels

    • ’Forg_Steel’ : Forged steels

    • ’Steel’ : All other steel groups

    • ’GS’ : Cast steels and tempering cast steels

    • ’GJS’ : Cast iron with spheroidal graphite (old GGG)

    • ’GJM’ : Heart fittings (Temperguss, old: GT)

    • ’GJL’ : Cast iron with lamellar graphite (old GG)

    • ’Al_wrought’ : Wrought aluminium alloys

    • ’Al_cast’ : Cast aluminium alloys

  • G0 (np.ndarray) – Relative stress gradients [1/mm]

  • b (np.ndarray) – Fictive specimen width [mm]

  • n (np.ndarray) – Notch support factors

  • S_type (np.ndarray) – Stress types, one of {‘normal’, ‘shear’}

Returns:

Notch strength reduction factors (Kerbwirkungszahl)

Return type:

np.ndarray

kf_local(G0, b, n, S_type)[source]

Calculate the Kf factor for local FKM 2012 approach.

According to Chapter 4.3.1.2 using Cython.

Parameters:
  • G0 (np.ndarray) – Relative stress gradients [1/mm]

  • b (np.ndarray) – Fictive specimen width [mm]

  • n (np.ndarray) – Notch support factors (FKM2012/Stieler)

  • S_type (np.ndarray) – Acting stress types, one of {‘normal’, ‘shear’}

Returns:

Notch strength reduction factors (Kerbwirkungszahl)

Return type:

np.ndarray

mech_support(n_st, sw, mat, Rm)[source]

Calculate the mechanical support factor n_vm.

According to FKM 2012 local approach (Chapter 4.3.1.3.2).

Parameters:
  • n_st (float) – Statistical support factor

  • sw (float) – Material strength at R=-1 [MPa]

  • mat (str) –

    Material group. One of:

    • ’CaseHard_Steel’ : Case-hardened steels

    • ’Stainless_Steel’ : Stainless steels

    • ’Forg_Steel’ : Forged steels

    • ’Steel’ : All other steel groups

    • ’GS’ : Cast steels and tempering cast steels

    • ’GJS’ : Cast iron with spheroidal graphite (old GGG)

    • ’GJM’ : Heart fittings (Temperguss, old: GT)

    • ’GJL’ : Cast iron with lamellar graphite (old GG)

    • ’Al_wrought’ : Wrought aluminium alloys

    • ’Al_cast’ : Cast aluminium alloys

  • Rm (float) – Tensile strength [MPa]

Returns:

Mechanical support factor

Return type:

float

reversed_mat_strength_chap4(Rm, df_consts, df_fw_t, S_type)[source]

Calculate material strength for R=-1 axial/shear stress.

According to FKM 2012 local approach (Chapter 4.2.1.1) using Cython.

Parameters:
  • Rm (np.ndarray) – Tensile strength [MPa]

  • df_consts (pd.DataFrame) – DataFrame with material constants

  • df_fw_t (pd.DataFrame) – DataFrame including stress type constants

  • S_type (str) – Stress type, one of {‘shear’, ‘normal’}

Returns:

Fully reversed material strengths [MPa]

Return type:

np.ndarray

reversed_mat_strength_chap5_5(Rm, df_consts, df_fw_t, S_type, HV, df_proc, Proc)[source]

Calculate material strength for R=-1 axial/shear stress.

According to FKM 2012 local approach (Chapter 4.2.1.1) for chapter 5.5 using Cython.

Parameters:
  • Rm (np.ndarray) – Tensile strength [MPa]

  • df_consts (pd.DataFrame) – DataFrame with material constants

  • df_fw_t (pd.DataFrame) – DataFrame including stress type constants

  • S_type (str) – Stress type, one of {‘shear’, ‘normal’}

  • HV (np.ndarray) – Vickers hardness values

  • df_proc (pd.DataFrame) – DataFrame including hardening constants

  • Proc (str) – Hardening procedure

Returns:

Fully reversed material strengths [MPa]

Return type:

np.ndarray

rough_factor(Rm, Rz, df_consts, df_fw_t, S_type, Finish)[source]

Calculate roughness influence factor Kr_sig.

According to FKM 2012 (Chapter 4.3.1.4) using Cython.

Parameters:
  • Rm (np.ndarray) – Tensile strength [MPa]

  • Rz (np.ndarray) – Surface roughness Rz [µm]

  • df_consts (pd.DataFrame) – DataFrame including material constants

  • df_fw_t (pd.DataFrame) – DataFrame including stress type related constants

  • S_type (np.ndarray) – Stress types, one of {‘normal’, ‘shear’}

  • Finish (np.ndarray) – Finish procedures, one of {‘polished’, ‘None’}

Returns:

Roughness influence factors

Return type:

np.ndarray

sm_factor(R, M, SmSa)[source]

Calculate mean stress sensitivity factor KAK for overload case 2.

R=const. according to Chapter 4 using Cython.

Parameters:
  • R (np.ndarray) – Stress ratios

  • M (np.ndarray) – Mean stress sensitivities

  • SmSa (np.ndarray) – Ratios between mean stress and amplitudes

Returns:

KAK factors

Return type:

np.ndarray

sm_factor_chap5(Rm_trans, M, SE, Swk, sL, Rm_norm)[source]

Calculate mean stress sensitivity factor KAK for overload case 2.

R=const. according to FKM 2021 (Chapter 5.5.1.2) using Cython.

Parameters:
  • Rm_trans (np.ndarray) – Tensile strengths based on HV_Core [MPa]

  • M (np.ndarray) – Mean stress sensitivity factors

  • SE (np.ndarray) – Eigen stresses [MPa]

  • Swk (np.ndarray) – Reversed strengths of design element [MPa]

  • sL (np.ndarray) – Load ratio parameters

  • Rm_norm (np.ndarray) – Non-heat treated tensile strengths [MPa]

Returns:

Mean stress influence factors (KAK)

Return type:

np.ndarray

sm_sensitivity_M_trans(Rm, df_consts, df_fw_t, S_type, Rm_trans)[source]

Calculate mean stress sensitivity factor for chapter 5.5.

According to FKM 2012 using Cython.

Parameters:
  • Rm (np.ndarray) – Tensile strengths [MPa]

  • df_consts (pd.DataFrame) – DataFrame including material constants

  • df_fw_t (pd.DataFrame) – DataFrame including stress-type related constants

  • S_type (np.ndarray) – Stress types, one of {‘shear’, ‘normal’}

  • Rm_trans (np.ndarray) – Tensile strengths at the core [MPa]

Returns:

Mean stress sensitivity factors

Return type:

np.ndarray

sm_sensitivity_Rm_trans(HV_core)[source]

Calculate tensile strength Rm at the core.

According to chapter 5.5 using Cython.

Parameters:

HV_core (np.ndarray) – Core hardness [HV]

Returns:

Tensile strengths at core [MPa]

Return type:

np.ndarray

sm_sensitivity_chap4(Rm, df_consts, df_fw_t, S_type)[source]

Calculate mean stress sensitivity factor.

According to FKM 2012 (Chapter 4.4.2.1.2) using Cython.

Parameters:
  • Rm (np.ndarray) – Tensile strengths [MPa]

  • df_consts (pd.DataFrame) – DataFrame including material constants

  • df_fw_t (pd.DataFrame) – DataFrame including stress-type related constants

  • S_type (np.ndarray) – Stress types, one of {‘shear’, ‘normal’}

Returns:

Mean stress sensitivity factors

Return type:

np.ndarray

stat_support_surf(A90, k_st)[source]

Calculate statistical support factor n_st.

According to FKM 2012 local approach (Chapter 4.3.1.3.2).

Parameters:
  • A90 (float) – Maximum loaded surface according to FKM2012 [mm²]

  • k_st (float) – Weibull exponent for statistical support factor

Returns:

Statistical support factor

Return type:

float

stat_support_vol(V90_Mises, k_st)[source]

Calculate statistical support factor n_st based on volume.

Not official part of FKM GL, see FKM Heft 306, Vorhaben 282: Verbessertes Berechnungskonzept FKM-Richtlinie.

Parameters:
  • V90_Mises (float) – Maximum loaded volume according to FKM2012 [mm³]

  • k_st (float) – Weibull exponent for statistical support factor

Returns:

Statistical support factor

Return type:

float

stieler_support(df_consts, df_fw_t, S_type, G, Rm)[source]

Calculate support factors according to Stieler’s equation.

According to FKM 2012 local approach (Chapter 4.3.1.3.1) using Cython.

Parameters:
  • df_consts (pd.DataFrame) – DataFrame including material constants

  • df_fw_t (pd.DataFrame) – DataFrame including stress type constants

  • S_type (np.ndarray) – Stress types, one of {‘shear’, ‘normal’}

  • G (np.ndarray) – Stress gradients [1/mm]

  • Rm (np.ndarray) – Tensile strength [MPa]

Returns:

Stieler’s support factors

Return type:

np.ndarray

support_chap5(G0, HV_RS)[source]

Calculate support factor of surface layer for case-hardened parts.

According to local FKM 2012 chapter 5.5 method using Cython.

Parameters:
  • G0 (np.ndarray) – Relative stress gradients [1/mm]

  • HV_RS (np.ndarray) – Vickers hardness of the surface layer

Returns:

Support factors of the surface layer

Return type:

np.ndarray

support_fkm2012_local_surf(mat, G0, A90, Rm, SW)[source]

Calculate support factor according to FKM 2012 local method.

Uses surface-based approach (Chapter 4.3.1.3.2).

Parameters:
  • mat (str) –

    FKM material group. One of:

    • ’CaseHard_Steel’ : Case-hardened steels

    • ’Stainless_Steel’ : Stainless steels

    • ’Forg_Steel’ : Forged steels

    • ’Steel’ : All other steel groups

    • ’GS’ : Cast steels and tempering cast steels

    • ’GJS’ : Cast iron with spheroidal graphite (old GGG)

    • ’GJM’ : Heart fittings (Temperguss, old: GT)

    • ’GJL’ : Cast iron with lamellar graphite (old GG)

    • ’Al_wrought’ : Wrought aluminium alloys

    • ’Al_cast’ : Cast aluminium alloys

  • G0 (float) – Relative stress gradient [1/mm]

  • A90 (float) – Maximum loaded surface according to FKM2012 [mm²]

  • Rm (float) – Tensile strength [MPa]

  • SW (float) – Cyclic strength of material [MPa]

Returns:

  • n_st (float) – Statistical support factor

  • n_vm (float) – Mechanical support factor

  • n_bm (float) – Fracture mechanical support factor

  • n (float) – Combined support factor (n_st * n_vm * n_bm)

support_fkm2012_local_surf_frame(df)[source]

Apply surface-based support factor calculation to DataFrame.

Parameters:

df (pd.DataFrame) – DataFrame with columns: ‘MatGroupFKM’, ‘G0’, ‘A90’, ‘Rm’, ‘Sw’

Returns:

Series with support factors (n_st, n_vm, n_bm, n)

Return type:

pd.Series

support_fkm2012_local_vol(mat, G0, V90_Mises, Rm, SW)[source]

Calculate support factor according to FKM 2012 local method.

Uses volume-based approach (Chapter 4.3.1.3.2).

Parameters:
  • mat (str) –

    FKM material group. One of:

    • ’CaseHard_Steel’ : Case-hardened steels

    • ’Stainless_Steel’ : Stainless steels

    • ’Forg_Steel’ : Forged steels

    • ’Steel’ : All other steel groups

    • ’GS’ : Cast steels and tempering cast steels

    • ’GJS’ : Cast iron with spheroidal graphite (old GGG)

    • ’GJM’ : Heart fittings (Temperguss, old: GT)

    • ’GJL’ : Cast iron with lamellar graphite (old GG)

    • ’Al_wrought’ : Wrought aluminium alloys

    • ’Al_cast’ : Cast aluminium alloys

  • G0 (float) – Relative stress gradient [1/mm]

  • V90_Mises (float) – Maximum loaded volume according to FKM2012 [mm³]

  • Rm (float) – Tensile strength [MPa]

  • SW (float) – Cyclic strength of material [MPa]

Returns:

  • n_st (float) – Statistical support factor

  • n_vm (float) – Mechanical support factor

  • n_bm (float) – Fracture mechanical support factor

  • n (float) – Combined support factor (n_st * n_vm * n_bm)

support_fkm2012_local_vol_frame(df)[source]

Apply volume-based support factor calculation to DataFrame.

Parameters:

df (pd.DataFrame) – DataFrame with columns: ‘MatGroupFKM’, ‘G0’, ‘V90_Mises’, ‘Rm’, ‘Sw’

Returns:

Series with support factors (n_st, n_vm, n_bm, n)

Return type:

pd.Series

surf_layer_factor(df_proc, G0, Deff, Proc)[source]

Select surface treatment factor Kv based on surface process.

According to FKM 2012 (Chapter 4.3.3) using Cython.

Parameters:
  • df_proc (pd.DataFrame) – DataFrame including hardening constants

  • G0 (np.ndarray) – Relative stress gradients [1/mm]

  • Deff (np.ndarray) – Effective specimen sizes [mm]

  • Proc (np.ndarray) –

    Surface hardening methods, one of:

    • ’Inductive hardening’

    • ’Flame hardening’

    • ’Case hardening’

    • ’Carburizing’

    • ’Nitriding’

    • ’Cyaniding’

    • ’Carbonitriding’

    • ’Deep rolling’

    • ’Shot peening’

Returns:

Surface treatment factors

Return type:

np.ndarray

temperature_model(df, temperature, mat)[source]

Compute temperature factor.

Uses Cython implementation.

Parameters:
  • df (pd.DataFrame) – DataFrame including temperature constants depending on temperature group

  • temperature (np.ndarray) – Temperature values [°C]

  • mat (np.ndarray) –

    Material groups. One of:

    • ’CaseHard_Steel’ : Case-hardened steels

    • ’Stainless_Steel’ : Stainless steels

    • ’Forg_Steel’ : Forged steels

    • ’Steel’ : All other steel groups

    • ’GS’ : Cast steels and tempering cast steels

    • ’GJS’ : Cast iron with spheroidal graphite (old GGG)

    • ’GJM’ : Heart fittings (Temperguss, old: GT)

    • ’GJL’ : Cast iron with lamellar graphite (old GG)

    • ’Al_wrought’ : Wrought aluminum alloys

    • ’Al_cast’ : Cast aluminum alloys

Returns:

Temperature factors

Return type:

np.ndarray

Collection of functions for computational proof for machine elements.

FKM-guidelines according to chapter 4 and 5.5 (FKM guideline 2012).

pylife.strength.fkm_linear.fkm_linear_factors.calc_input_parameters_material(experiment_settings, assessment_parameters_)[source]

Compute relevant material-dependent factors for FKM guideline.

Calculates factors that depend on the design and material of the component and not on the applied stress (e.g. mean stress sensitivity or roughness factor).

Parameters:
  • experiment_settings (pd.Series) –

    Pandas Series with following columns:

    • fkm_chapterstr

      Chapter of the FKM guideline, one of {‘chap4’, ‘chap5.5’}

    • MatGroupFKMstr

      Material group. One of:

      • ’CaseHard_Steel’ : Case-hardened steels

      • ’Stainless_Steel’ : Stainless steels

      • ’Forg_Steel’ : Forged steels

      • ’Steel’ : All other steel groups

      • ’GS’ : Cast steels and tempering cast steels

      • ’GJS’ : Cast iron with spheroidal graphite (old GGG)

      • ’GJM’ : Heart fittings (Temperguss, old: GT)

      • ’GJL’ : Cast iron with lamellar graphite (old GG)

      • ’Al_wrought’ : Wrought aluminium alloys

      • ’Al_cast’ : Cast aluminium alloys

    • MatGroupFKM_Tempstr

      Material temperature group, one of {‘fine grain structural steel’, ‘Stainless Steel’, ‘other kinds of steel’, ‘GJL’, ‘GS’, ‘GJS’, ‘GJM’, ‘Aluminum’, ‘None’}

    • Profilestr

      Profile/Geometry of the specimen, one of {‘Rod’, ‘Tube’, ‘Wide sheet’, ‘Rectangle’, ‘Square’}

    • Diameterfloat

      Diameter of the specimen [mm]

    • Widthfloat

      Width of the specimen [mm] (only needed if profile is ‘Rectangle’ or ‘Square’)

    • Thicknessfloat

      Thickness of the specimen [mm] (only needed if profile is ‘Rectangle’, ‘Sheet’, or ‘Wide sheet’)

    • Conditionstr or None

      Heat treatment condition for fictive width b calculation, one of {‘Hardened’, ‘Annealed’} or None

  • assessment_parameters (pd.DataFrame) –

    DataFrame with following columns:

    • Rmfloat

      Tensile strength [MPa]

    • Rzfloat

      Surface roughness [µm]

    • S_Type{‘normal’, ‘shear’}

      Stress type

    • Temperaturefloat

      Temperature of the component [°C]

    • Finish{‘polished’}, optional

      Surface finish polished (if used, no Rz value necessary)

    • GJL_matstr, optional

      The GJL material group (if GJL is used)

    • HVfloat, optional

      Vickers hardness (only needed for chap5.5)

    • HV_corefloat, optional

      Core hardness (only needed for chap5.5)

    • HardProcstr, optional

      Surface hardening method, one of {‘Inductive hardening’, ‘Flame hardening’, ‘Case hardening’, ‘Carburizing’, ‘Nitriding’, ‘Cyaniding’, ‘Carbonitriding’, ‘Deep rolling’, ‘Shot peening’}

Returns:

DataFrame with additional columns including relevant FKM quantities

Return type:

pd.DataFrame

pylife.strength.fkm_linear.fkm_linear_factors.calc_input_parameters_stress(experiment_settings, assessment_parameters_)[source]

Compute relevant stress-dependent factors for FKM guideline.

Calculates factors that depend on the stress applied to the component, i.e., gradient, amplitude and meanstress (e.g. design factor, support factor).

Note: Requires executing calc_input_parameters_material() before this function.

Parameters:
  • experiment_settings (pd.Series) –

    Pandas Series with following columns:

    • fkm_chapterstr

      Chapter of the FKM guideline, one of {‘chap4’, ‘chap5.5’}

    • sup_methodstr, optional

      Support factor calculation method. One of {‘Stieler’, ‘V90_Mises’, ‘A90’}. Default is Stieler.

  • assessment_parameters (pd.DataFrame) –

    DataFrame with the following columns:

    • Rmfloat

      Tensile strength [MPa]

    • G0float

      Relative stress gradient [1/mm]. Sum of local & global relative stress gradients

    • A90float, optional

      Maximum loaded surface according to FKM2012 [mm²]

    • V90_Misesfloat, optional

      Maximum loaded volume according to von Mises support factor [mm³]

    • MatGroupFKMstr

      Material group. One of:

      • ’CaseHard_Steel’ : Case-hardened steels

      • ’Stainless_Steel’ : Stainless steels

      • ’Forg_Steel’ : Forged steels

      • ’Steel’ : All other steel groups

      • ’GS’ : Cast steels and tempering cast steels

      • ’GJS’ : Cast iron with spheroidal graphite (old GGG)

      • ’GJM’ : Heart fittings (Temperguss, old: GT)

      • ’GJL’ : Cast iron with lamellar graphite (old GG)

      • ’Al_wrought’ : Wrought aluminium alloys

      • ’Al_cast’ : Cast aluminium alloys

    • amplitudefloat

      Stress amplitude [MPa] (can be set to 1.0)

    • meanstressfloat

      Mean stress [MPa]

    • S_Type{‘normal’, ‘shear’}

      Stress type

    • Kf_method{‘Table’, ‘Equation’}

      Method for estimating the fatigue notch factor (chap. 4.3.1.2)

    • FKM_chap{‘chap4’, ‘chap5.5’}

      Chapter of the FKM guideline

    • HVfloat, optional

      Vickers hardness (only needed for chap5.5)

Returns:

DataFrame with additional columns including relevant FKM quantities

Return type:

pd.DataFrame

pylife.strength.fkm_linear.fkm_linear_factors.fatigue_limit_local_chap4(assessment_parameters_)[source]

Calculate fatigue limit for non-welded materials using local stress concept.

According to chapter 4 of FKM guideline 2012.

Parameters:

assessment_parameters (pd.DataFrame) –

DataFrame with the following columns:

  • Rmfloat

    Tensile strength [MPa]

  • G0float, optional

    Relative stress gradient [1/mm]. Sum of local & global relative stress gradients

  • A90float, optional

    Maximum loaded surface according to FKM2012 [mm²]

  • MatGroupFKMstr

    Material group. One of:

    • ’CaseHard_Steel’ : Case-hardened steels

    • ’Stainless_Steel’ : Stainless steels

    • ’Forg_Steel’ : Forged steels

    • ’Steel’ : All other steel groups

    • ’GS’ : Cast steels and tempering cast steels

    • ’GJS’ : Cast iron with spheroidal graphite (old GGG)

    • ’GJM’ : Heart fittings (Temperguss, old: GT)

    • ’GJL’ : Cast iron with lamellar graphite (old GG)

    • ’Al_wrought’ : Wrought aluminium alloys

    • ’Al_cast’ : Cast aluminium alloys

  • R_ratiofloat

    Stress ratio

  • Rzfloat

    Surface roughness [µm]

  • S_Type{‘normal’, ‘shear’}

    Stress type

Returns:

DataFrame containing input data and all calculated data for FKM prognoses with predicted fatigue limit [MPa]

Return type:

pd.DataFrame

pylife.strength.fkm_linear.fkm_linear_factors.fatigue_limit_local_chap5(assessment_parameters_)[source]

Calculate fatigue limit for surface-hardened materials using local stress concept.

For surface layer according to chapter 5.5 of FKM guideline 2012.

Parameters:

assessment_parameters (pd.DataFrame) –

DataFrame with the following columns:

  • Rmfloat

    Tensile strength [MPa]

  • G0float, optional

    Relative stress gradient [1/mm]. Sum of local & global relative stress gradients

  • A90float, optional

    Maximum loaded surface according to FKM2012 [mm²]

  • MatGroupFKMstr

    Material group. One of:

    • ’CaseHard_Steel’ : Case-hardened steels

    • ’Stainless_Steel’ : Stainless steels

    • ’Forg_Steel’ : Forged steels

    • ’Steel’ : All other steel groups

    • ’GS’ : Cast steels and tempering cast steels

    • ’GJS’ : Cast iron with spheroidal graphite (old GGG)

    • ’GJM’ : Heart fittings (Temperguss, old: GT)

    • ’GJL’ : Cast iron with lamellar graphite (old GG)

    • ’Al_wrought’ : Wrought aluminium alloys

    • ’Al_cast’ : Cast aluminium alloys

  • R_ratiofloat

    Stress ratio

  • Rzfloat

    Surface roughness [µm]

  • S_Type{‘normal’, ‘shear’}

    Stress type

Returns:

DataFrame containing input data and all calculated data for FKM prognoses with predicted fatigue limits at surface (RS) and core [MPa]

Return type:

pd.DataFrame

FKM guideline material constants and coefficients.

This module contains material-specific constants and coefficients used in the FKM guideline (2012) for fatigue strength assessment.