The fkm_nonlinear.parameter_calculations module#
Derive FKM nonlinear assessment parameters from user inputs.
This module implements the material-group dependent formulas used by the
FKM nonlinear guideline for cyclic material data, material and component
Wöhler curves, roughness factors, nonlocal support factors, and statistical
failure-probability factors. The functions take a
pandas.Series of assessment parameters, add derived keys to a copy,
and return that copy for use by
pylife.strength.fkm_nonlinear.assessment_nonlinear_standard.
- pylife.strength.fkm_nonlinear.parameter_calculations.calculate_component_woehler_parameters_P_RAJ(assessment_parameters_)[source]#
Calculate component Wöhler parameters for the
P_RAJpath.- Parameters:
assessment_parameters (pandas.Series) – Assessment parameters containing
gamma_M_RAJ, support factorn_P, roughness factorK_RP, material start pointP_RAJ_Z_WS, and material fatigue limitP_RAJ_D_WS.- Returns:
Copy of
assessment_parameters_with component shift factorf_RAJ, component start pointP_RAJ_Z, initial fatigue limitP_RAJ_D_0, and component fatigue limitP_RAJ_Dadded.- Return type:
Notes
Implements FKM nonlinear Sections 2.8.6 and 2.9.6, equations (2.8-22) to (2.8-25) and (2.9-24) to (2.9-27).
n_PandK_RPenter squared forP_RAJbecause this damage parameter is energy based.
- pylife.strength.fkm_nonlinear.parameter_calculations.calculate_component_woehler_parameters_P_RAM(assessment_parameters_)[source]#
Calculate component Wöhler parameters for the
P_RAMpath.- Parameters:
assessment_parameters (pandas.Series) – Assessment parameters containing
gamma_M_RAM, support factorn_P, roughness factorK_RP, material kneeP_RAM_Z_WS, and material fatigue limitP_RAM_D_WS.- Returns:
Copy of
assessment_parameters_with component shift factorf_RAM, component kneeP_RAM_Z, and component fatigue limitP_RAM_Dadded.- Return type:
Notes
Implements FKM nonlinear Section 2.5.6, equations (2.5-24) and (2.5-25), and the fatigue-limit ordinate used by equation (2.6-88).
f_RAMmaps the material Wöhler curve to the assessed component.
- pylife.strength.fkm_nonlinear.parameter_calculations.calculate_cyclic_assessment_parameters(assessment_parameters_)[source]#
Calculate cyclic Ramberg-Osgood material parameters.
- Parameters:
assessment_parameters (pandas.Series) – Assessment parameters containing
MatGroupFKMand ultimate tensile strengthR_min MPa.- Returns:
Copy of
assessment_parameters_with Young’s modulusEin MPa, cyclic hardening exponentn_prime, and cyclic hardening coefficientK_primein MPa added.- Return type:
Notes
Implements FKM nonlinear guideline Section 2.5.3, in particular equation (2.5-13).
Eandn_primeare taken from the material group table, whileK_primeis estimated fromR_m.
- pylife.strength.fkm_nonlinear.parameter_calculations.calculate_failure_probability_factor_P_RAJ(assessment_parameters_)[source]#
Calculate the material safety factor for
P_RAJ.- Parameters:
assessment_parameters (pandas.Series) – Assessment parameters containing failure probability
P_Aor an already computed reliability indexbeta.P_A = 0.5disables the safety-factor shift and yieldsgamma_M_RAJ = 1.- Returns:
Copy of
assessment_parameters_with reliability indexbetawhen needed and material safety factorgamma_M_RAJadded.- Return type:
Notes
Implements FKM nonlinear Section 2.8.6.3, equation (2.8-38). The guideline clips
gamma_M_RAJto at least1.2except for the explicitP_A = 0.5no-statistics case used for experiment-like assessments.
- pylife.strength.fkm_nonlinear.parameter_calculations.calculate_failure_probability_factor_P_RAM(assessment_parameters_)[source]#
Calculate the material safety factor for
P_RAM.- Parameters:
assessment_parameters (pandas.Series) – Assessment parameters containing failure probability
P_Aor an already computed reliability indexbeta.P_A = 0.5disables the safety-factor shift and yieldsgamma_M_RAM = 1.- Returns:
Copy of
assessment_parameters_with reliability indexbetawhen needed and material safety factorgamma_M_RAMadded.- Return type:
Notes
Implements FKM nonlinear Section 2.5.6.3, equation (2.5-38). The guideline clips
gamma_M_RAMto at least1.1except for the explicitP_A = 0.5no-statistics case used for experiment-like assessments.
- pylife.strength.fkm_nonlinear.parameter_calculations.calculate_material_woehler_parameters_P_RAJ(assessment_parameters_)[source]#
Calculate material Wöhler parameters for the
P_RAJpath.- Parameters:
assessment_parameters (pandas.Series) – Assessment parameters containing
MatGroupFKM, ultimate tensile strengthR_min MPa, and failure probabilityP_Aas a dimensionless probability.- Returns:
Copy of
assessment_parameters_withP_RAJ_Z_WSatN = 1cycle, fatigue limitP_RAJ_D_WS, and material curve sloped_RAJadded.- Return type:
Notes
Implements FKM nonlinear guideline Sections 2.8.5 and 2.9.4, equations (2.8-20), (2.8-21), and (2.9-12). The implementation uses the corrected
P_RAJ,D,WSrelation where the printed equation (2.9-13) is ambiguous.
- pylife.strength.fkm_nonlinear.parameter_calculations.calculate_material_woehler_parameters_P_RAM(assessment_parameters_)[source]#
Calculate material Wöhler parameters for the
P_RAMpath.- Parameters:
assessment_parameters (pandas.Series) – Assessment parameters containing
MatGroupFKM, ultimate tensile strengthR_min MPa, and failure probabilityP_Aas a dimensionless probability.- Returns:
Copy of
assessment_parameters_withP_RAM_Z_WSatN = 1e3cycles, fatigue limitP_RAM_D_WS, first sloped_1, and second sloped_2of the material damage Wöhler curve added.- Return type:
Notes
Implements FKM nonlinear guideline Section 2.5.5, equations (2.5-22) and (2.5-23). For
P_Avalues other than0.5the curve is shifted by the material-group dependent 2.5 % factor from the guideline table.
- pylife.strength.fkm_nonlinear.parameter_calculations.calculate_nonlocal_parameters(assessment_parameters_)[source]#
Calculate nonlocal notch support factors.
- Parameters:
assessment_parameters (pandas.Series) – Assessment parameters containing
MatGroupFKM, reference highly stressed surfaceA_refin mm², component highly stressed surfaceA_sigmain mm², relative stress gradientGin 1/mm, and ultimate tensile strengthR_min MPa.- Returns:
Copy of
assessment_parameters_with statistical support factorn_st, unclipped fracture-mechanical support factorn_bm_, clipped fracture-mechanical support factorn_bm, and total support factorn_Padded.- Return type:
Notes
Implements FKM nonlinear Section 2.5.6.1, equations (2.5-27) to (2.5-32). The same factors are used by the
P_RAMandP_RAJassessment paths; forP_RAJthe corresponding formulas are stated in Section 2.8.6.1.
- pylife.strength.fkm_nonlinear.parameter_calculations.calculate_roughness_component_woehler_parameters_P_RAJ(assessment_parameters_, include_n_P)[source]#
Calculate roughness-adjusted component parameters for
P_RAJ.- Parameters:
assessment_parameters (pandas.Series) – Assessment parameters containing
gamma_M_RAJ,P_RAJ_Z_WS,P_RAJ_D_WS_rau,P_RAJ_Z_1e3, and optionally nonlocal support factorn_P.include_n_P (bool) – Whether to include
n_Pin the component curve shift. Set toTruefor the surface point with notch support andFalsewhen the roughness extension shall omit that support factor.
- Returns:
Copy of
assessment_parameters_withP_RAJ_Z, shiftedP_RAJ_Z_1e3, initial fatigue limitP_RAJ_D_0, and component fatigue limitP_RAJ_Dadded.- Return type:
Notes
Implements FKM nonlinear Sections 2.8.6 and 2.9.6 together with the roughness and surface-layer extension.
n_Penters squared forP_RAJbecause this damage parameter is energy based.
- pylife.strength.fkm_nonlinear.parameter_calculations.calculate_roughness_component_woehler_parameters_P_RAM(assessment_parameters_, include_n_P)[source]#
Calculate roughness-adjusted component parameters for
P_RAM.- Parameters:
assessment_parameters (pandas.Series) – Assessment parameters containing
gamma_M_RAM,P_RAM_Z_WS,P_RAM_D_WS_rau, and optionally nonlocal support factorn_P.include_n_P (bool) – Whether to include
n_Pin the component curve shift. Set toTruefor the surface point with notch support andFalsewhen the roughness extension shall omit that support factor.
- Returns:
Copy of
assessment_parameters_with component curve kneeP_RAM_Zand component fatigue limitP_RAM_Dadded.- Return type:
Notes
Implements FKM nonlinear Section 2.5.6 together with the roughness and surface-layer extension. The material curve ordinates are divided by the material safety factor
gamma_M_RAMand optionally multiplied byn_P.
- pylife.strength.fkm_nonlinear.parameter_calculations.calculate_roughness_material_woehler_parameters_P_RAJ(assessment_parameters_)[source]#
Calculate roughness-adjusted material parameters for
P_RAJ.- Parameters:
assessment_parameters (pandas.Series) – Assessment parameters containing
P_RAJ_Z_WS,P_RAJ_D_WS, material sloped_RAJ, and roughness factorK_RP.- Returns:
Copy of
assessment_parameters_withP_RAJ_Z_1e3, roughness-adjusted fatigue limitP_RAJ_D_WS_rau, adjusted sloped_RAJ_2_rau, and the check valued_RAJ_2_rau_alternativeadded.- Return type:
Notes
Implements the roughness and surface-layer extension to FKM nonlinear Sections 2.8.6 and 2.9.6. The
P_RAJroughness correction acts withK_RP ** 2becauseP_RAJis an energy-like damage parameter.
- pylife.strength.fkm_nonlinear.parameter_calculations.calculate_roughness_material_woehler_parameters_P_RAM(assessment_parameters_)[source]#
Calculate roughness-adjusted material parameters for
P_RAM.- Parameters:
assessment_parameters (pandas.Series) – Assessment parameters containing
P_RAM_Z_WS,P_RAM_D_WS, material sloped_2, and roughness factorK_RP.- Returns:
Copy of
assessment_parameters_with roughness-adjusted fatigue limitP_RAM_D_WS_rau, adjusted second sloped2_RAM_rau, and the check valued2_RAM_rau_alternativeadded.- Return type:
Notes
Implements the roughness and surface-layer extension to FKM nonlinear Section 2.5.6. The fatigue-limit ordinate is multiplied by
K_RPand the second finite-life slope is recomputed so that the original transition cycle number remains unchanged.
- pylife.strength.fkm_nonlinear.parameter_calculations.calculate_roughness_parameter(assessment_parameters_)[source]#
Calculate the roughness factor
K_RP.- Parameters:
assessment_parameters (pandas.Series) – Assessment parameters containing
MatGroupFKMand ultimate tensile strengthR_min MPa. IfK_RPis absent, roughnessR_zin µm is also required.- Returns:
Copy of
assessment_parameters_with roughness factorK_RPadded, or the unchanged copy whenK_RPwas already supplied.- Return type:
Notes
Implements FKM nonlinear Section 2.5.6.2, equation (2.5-37). For the
P_RAJpath the corresponding formulas are stated in Section 2.8.6.2. A roughness ofR_z <= 1µm givesK_RP = 1.
- pylife.strength.fkm_nonlinear.parameter_calculations.compute_beta(P_A)[source]#
Calculate the reliability index
betafrom a failure probability.- Parameters:
P_A (float) – Failure probability for the assessment as a dimensionless probability.
- Returns:
Reliability index
betacorresponding toP_Afor a standard normal distribution.- Return type:
- Raises:
RuntimeError – Raised if the numerical root search does not converge.
Notes
The FKM nonlinear guideline uses
betain the material safety factor but does not provide this conversion formula. This helper solvesPhi(-beta) = P_Afor the standard normal distribution.Examples
>>> from pylife.strength.fkm_nonlinear.parameter_calculations import compute_beta >>> round(float(abs(compute_beta(0.5))), 6) 0.0