The fkm_nonlinear.parameter_calculations module

pylife.strength.fkm_nonlinear.parameter_calculations.calculate_component_woehler_parameters_P_RAJ(assessment_parameters_)[source]

Calculate the component woehler curve from the material woehler curve (Sec. 2.8.6 of FKM nonlinear). This involves multiplying the appropriate factors to the points P_RAJ_Z_WS and P_RAJ_D_WS in the material woehler curve to obtain the points P_RAJ_Z and P_RAJ_D in the component Woehler curve.

If assessment_parameters.beta is set, the safety factor gamma_M for the capacity to withstand stresses of the component (de: Beanspruchbarkeit) is computed from the damage index beta. Otherwise, it is derived from the failure probability assessment_parameters.P_A

The calculated values will be set in a copy of the input series. The intended use is as follows:

assessment_parameters = calculate_material_woehler_parameters_P_RAJ(assessment_parameters)
assessment_parameters = calculate_nonlocal_parameters(assessment_parameters)
assessment_parameters = calculate_roughness_parameter(assessment_parameters)
assessment_parameters = calculate_failure_probability_factor_P_RAJ(assessment_parameters)
assessment_parameters = calculate_component_woehler_parameters_P_RAJ(assessment_parameters)
Parameters:

assessment_parameters (pandas Series) –

The named material parameters. This Series has to include at least the following values:

  • gamma_M_RAJ: The factor for the standard deviation of the capacity to withstand stresses of the component.

  • n_P: The factor for nonlocal effects, can be computed by calculate_nonlocal_parameters.

  • K_RP: The roughness factor K_R,P.

  • P_RAJ_Z_WS: The point at N=1 in the material Woehler curve.

  • P_RAJ_D_WS: The threshold for infinite life in the material Woehler curve.

  • Either the failure probability, P_A, or the damage index, beta.

Returns:

A copy of assessment_parameters with the following additional items set:

  • f_RAJ: The factor to map between component and material Woehler curves.

  • P_RAJ_Z: The first point in the component Woehler curve.

  • P_RAJ_D_0 and P_RAJ_D: The infinite life threshold of the component Woehler curve.

Return type:

pandas DataFrame

pylife.strength.fkm_nonlinear.parameter_calculations.calculate_component_woehler_parameters_P_RAM(assessment_parameters_)[source]

Calculate the component woehler curve from the material woehler curve (Sec. 2.5.6 of FKM nonlinear). This involves multiplying the appropriate factors to the point P_RAM_Z_WS in the material woehler curve to obtain the point P_RAM_Z in the component Woehler curve.

If assessment_parameters.beta is set, the safety factor gamma_M for the capacity to withstand stresses of the component (de: Beanspruchbarkeit) is computed from the damage index beta. Otherwise, it is derived from the failure probability assessment_parameters.P_A

The calculated values will be set in a copy of the input series. The intended use is as follows:

assessment_parameters = calculate_material_woehler_parameters_P_RAM(assessment_parameters)
assessment_parameters = calculate_nonlocal_parameters(assessment_parameters)
assessment_parameters = calculate_roughness_parameter(assessment_parameters)
assessment_parameters = calculate_failure_probability_factor_P_RAM(assessment_parameters)
assessment_parameters = calculate_component_woehler_parameters_P_RAM(assessment_parameters)
Parameters:

assessment_parameters (pandas Series) –

The named material parameters. This Series has to include at least the following values:

  • gamma_M_RAM: The factor for the standard deviation of the capacity to withstand stresses of the component.

  • n_P: The factor for nonlocal effects, can be computed by calculate_nonlocal_parameters.

  • K_RP: The roughness factor K_R,P.

  • P_RAM_Z_WS: The point for N=1e3 in the material Woehler curve.

  • P_RAM_D_WS: The threshold for infinite life in the material Woehler curve.

  • Either the failure probability, P_A, or the damage index, beta.

Returns:

A copy of assessment_parameters with the following additional items set:

  • f_RAM: The factor to map between component and material Woehler curves.

  • P_RAM_Z: The “Zeitfestigkeit” point in the component Woehler curve.

  • P_RAM_D: The “Dauerfestigkeit” point in the component Woehler curve, i.e., the fatigue strength limit, the P_RAM value below which we have infinite life

Return type:

pandas DataFrame

pylife.strength.fkm_nonlinear.parameter_calculations.calculate_cyclic_assessment_parameters(assessment_parameters_)[source]

Calculate the values of \(n', K'\), and \(E\), used to describe the cyclic material behavior (Sec. 2.5.3 of FKM nonlinear).

The calculated values will be set in a copy of the input series. The intended use is as follows:

assessment_parameters = calculate_cyclic_assessment_parameters(assessment_parameters)
Parameters:

assessment_parameters (pandas Series) –

The named material parameters. This Series has to include at least the following values:

  • MatGroupFKM: Which material group, one of Steel, SteelCast, Al_wrought

  • R_m: The ultimate tensile strength of the material, \(R_m\).

Returns:

A copy of assessment_parameters with the following additional items set:

  • E: Young’s modulus, constant estimated according to the material group

  • n_prime: parameter for the Ramberg-Osgood material law

  • K_prime: parameter for the Ramberg-Osgood material law

Return type:

pandas DataFrame

pylife.strength.fkm_nonlinear.parameter_calculations.calculate_failure_probability_factor_P_RAJ(assessment_parameters_)[source]

Calculate the factor for the failure probability of the component, i.e., the factor for the standard deviation of the capacity to withstand stresses of the component. This calculation is for use with the P_RAJ damage parameter.

If assessment_parameters.beta is set, the safety factor gamma_M for the capacity to withstand stresses of the component (de: Beanspruchbarkeit) is computed from the damage index beta. Otherwise, it is derived from the failure probability assessment_parameters.P_A

The calculated values will be set in a copy of the input series. The intended use is as follows:

assessment_parameters = calculate_failure_probability_factor_P_RAJ(assessment_parameters)
Parameters:

assessment_parameters (pandas Series) –

The named material parameters. This Series has to include at least the following values:

  • Either the failure probability, P_A, or the damage index, beta.

Returns:

A copy of assessment_parameters with the following additional items set:

  • gamma_M_RAJ: The factor for the standard deviation of the capacity to withstand stresses of the component.

Return type:

pandas DataFrame

pylife.strength.fkm_nonlinear.parameter_calculations.calculate_failure_probability_factor_P_RAM(assessment_parameters_)[source]

Calculate the factor for the failure probability of the component, i.e., the factor for the standard deviation of the capacity to withstand stresses of the component. This calculation is for use with the P_RAM damage parameter.

If assessment_parameters.beta is set, the safety factor gamma_M for the capacity to withstand stresses of the component (de: Beanspruchbarkeit) is computed from the damage index beta. Otherwise, it is derived from the failure probability assessment_parameters.P_A

The calculated values will be set in a copy of the input series. The intended use is as follows:

assessment_parameters = calculate_failure_probability_factor_P_RAM(assessment_parameters)
Parameters:

assessment_parameters (pandas Series) –

The named material parameters. This Series has to include at least the following values:

  • Either the failure probability, P_A, or the damage index, beta.

Returns:

A copy of assessment_parameters with the following additional items set:

  • gamma_M_RAM: The factor for the standard deviation of the capacity to withstand stresses of the component.

Return type:

pandas DataFrame

pylife.strength.fkm_nonlinear.parameter_calculations.calculate_material_woehler_parameters_P_RAJ(assessment_parameters_)[source]

Calculate the parameters of the material damage Woehler curve for the P_RAJ damage parameter (Sec. 2.9.4 of FKM nonlinear).

The calculated values will be set in a copy of the input series. The intended use is as follows:

assessment_parameters = calculate_material_woehler_parameters_P_RAJ(assessment_parameters)
Parameters:

assessment_parameters (pandas Series) –

The named material parameters. This Series has to include at least the following values:

  • MatGroupFKM: Which material group, one of Steel, SteelCast, Al_wrought

  • R_m: The ultimate tensile strength of the material, \(R_m\).

  • P_A: The failure probability

Returns:

A copy of assessment_parameters with the following additional items set:

  • P_RAJ_Z_WS: First sampling point of the material damage Woehler curve for N=1 (not N=1e3 as for P_RAM!)

  • P_RAJ_D_WS: Damage threshold for infinite life, the “knee” of the material damage Woehler curve

  • d_RAJ: slope of the material damage Woehler curve

Return type:

pandas DataFrame

pylife.strength.fkm_nonlinear.parameter_calculations.calculate_material_woehler_parameters_P_RAM(assessment_parameters_)[source]

Calculate the parameters of the material damage Woehler curve for the P_RAM damage parameter (Sec. 2.5.5 of FKM nonlinear).

The calculated values will be set in a copy of the input series. The intended use is as follows:

assessment_parameters = calculate_material_woehler_parameters_P_RAM(assessment_parameters)
Parameters:

assessment_parameters (pandas Series) –

The named material parameters. This Series has to include at least the following values:

  • MatGroupFKM: Which material group, one of Steel, SteelCast, Al_wrought

  • R_m: The ultimate tensile strength of the material, \(R_m\).

  • P_A: The failure probability

Returns:

A copy of assessment_parameters with the following additional items set:

  • P_RAM_Z_WS: First sampling point (“knee”) of the material damage Woehler curve at N=1e3

  • P_RAM_D_WS: Damage threshold for infinite life, the second “knee” of the material damage Woehler curve

  • d_1: first slope of the material damage Woehler curve

  • d_2: second slope of the material damage Woehler curve

Return type:

pandas DataFrame

pylife.strength.fkm_nonlinear.parameter_calculations.calculate_nonlocal_parameters(assessment_parameters_)[source]
Calculate the factors for the nonlocal effects on the component lifetime.

(Sec. 2.5.6.1 of FKM nonlinear). This includes the statistic factor and the fracture mechanics factor.

The calculation procedure is the same for P_RAM and P_RAJ damage parameters. For P_RAJ, the equivalent formulas are presented in chapter 2.8.6.1 of FKM nonlinear.

The calculated values will be set in a copy of the input series. The intended use is as follows:

assessment_parameters = calculate_nonlocal_parameters(assessment_parameters)
Parameters:

assessment_parameters (pandas Series) –

The named material parameters. This Series has to include at least the following values:

  • MatGroupFKM: Which material group, one of Steel, SteelCast, Al_wrought

  • A_ref: Reference surface area of the highly loaded area, usually set to 500 [mm^2].

  • A_sigma: Surface area of the highly loaded area of the component (in [mm^2]).

  • R_m: The ultimate tensile strength of the material, \(R_m\).

  • G: Relative stress gradient [mm]

Returns:

A copy of assessment_parameters with the following additional items set:

  • n_st: The statistic factor (de: Statistische Stützzahl)

  • n_bm: The fracture mechanic factor (de: bruchmechanische Stützzahl)

  • n_P: The total material factor as the product of n_st and n_bm (de: werkstoffmechanische Stützzahl)

Return type:

pandas DataFrame

pylife.strength.fkm_nonlinear.parameter_calculations.calculate_roughness_component_woehler_parameters_P_RAJ(assessment_parameters_, include_n_P)[source]

Calculate the component woehler curve from the material woehler curve (Sec. 2.8.6 of FKM nonlinear), but with the special roughness consideration described in the extension surface layer & roughness. This involves multiplying the appropriate factors to the points P_RAJ_Z_WS and P_RAJ_D_WS_rau in the material woehler curve to obtain the points P_RAJ_Z and P_RAJ_D in the component Woehler curve.

The “appropriate factors” consist of gamma_M which relates to the failure probability and optionally n_P, which describes the supporting effect of the notch (fracture mechanical number and statistic number). The roughness has already been incorporated during calculate_roughness_material_woehler_parameters_P_RAJ.

The calculated values will be set in a copy of the input series. The intended use is as follows:

assessment_parameters = calculate_roughness_parameter(assessment_parameters)
assessment_parameters = calculate_roughness_material_woehler_parameters_P_RAJ(assessment_parameters)
assessment_parameters = calculate_nonlocal_parameters(assessment_parameters)    # include this line if include_n_P is True
assessment_parameters = calculate_failure_probability_factor_P_RAJ(assessment_parameters)
assessment_parameters = calculate_roughness_component_woehler_parameters_P_RAJ(assessment_parameters, True)
Parameters:
  • assessment_parameters (pandas Series) –

    The named material parameters. This Series has to include at least the following values:

    • gamma_M_RAJ: The factor for the standard deviation of the capacity to withstand stresses of the component.

    • n_P: The factor for nonlocal effects, can be computed by calculate_nonlocal_parameters.

      This is only needed if include_n_P is True.

    • P_RAJ_Z_WS: The point at N=1 in the material Woehler curve (note that for P_RAJ it is not N=1e3 as for P_RAM!)

    • P_RAJ_D_WS_rau: The threshold for infinite life in the material Woehler curve.

  • include_n_P (bool) – Whether the supporting effect of the notch should be included, i.e., the factor n_P should be used.

Returns:

A copy of assessment_parameters with the following additional items set:

  • P_RAJ_Z: The first point in the component Woehler curve at N=1 (not N=1e3 as for P_RAM!).

  • P_RAJ_D_0 and P_RAJ_D: The infinite life threshold of the component Woehler curve.

Return type:

pandas DataFrame

pylife.strength.fkm_nonlinear.parameter_calculations.calculate_roughness_component_woehler_parameters_P_RAM(assessment_parameters_, include_n_P)[source]

Calculate the component woehler curve from the material woehler curve (Sec. 2.5.6 of FKM nonlinear), but with the special roughness consideration described in the extension surface layer & roughness. This involves multiplying the appropriate factors to the point P_RAM_Z_WS and P_RAM_D_WS_rau in the material woehler curve to obtain the points P_RAM_Z and P_RAM_D in the component Woehler curve.

The “appropriate factors” consist of gamma_M which relates to the failure probability and optionally n_P, which describes the supporting effect of the notch (fracture mechanical number and statistic number). The roughness has already been incorporated during calculate_roughness_material_woehler_parameters_P_RAM.

The calculated values will be set in a copy of the input series. The intended use is as follows:

assessment_parameters = calculate_roughness_parameter(assessment_parameters)
assessment_parameters = calculate_roughness_material_woehler_parameters_P_RAM(assessment_parameters)
assessment_parameters = calculate_nonlocal_parameters(assessment_parameters)    # include this line if include_n_P is True
assessment_parameters = calculate_failure_probability_factor_P_RAM(assessment_parameters)
assessment_parameters = calculate_roughness_component_woehler_parameters_P_RAM(assessment_parameters, True)
Parameters:
  • assessment_parameters (pandas Series) –

    The named material parameters. This Series has to include at least the following values:

    • gamma_M_RAM: The factor for the standard deviation of the capacity to withstand stresses of the component.

    • n_P: The factor for nonlocal effects, can be computed by calculate_nonlocal_parameters.

      This is only needed if include_n_P is True.

    • P_RAM_Z_WS: The point at N=1e3 in the material Woehler curve.

    • P_RAM_D_WS_rau: The point in the material Woehler curve.

  • include_n_P (bool) – Whether the supporting effect of the notch should be included, i.e., the factor n_P should be used.

Returns:

A copy of assessment_parameters with the following additional items set:

  • P_RAM_Z: The “Zeitfestigkeit” point in the component Woehler curve.

  • P_RAM_D: The “Dauerfestigkeit” point in the component Woehler curve, i.e., the fatigue strength limit, the P_RAM value below which we have infinite life

Return type:

pandas DataFrame

pylife.strength.fkm_nonlinear.parameter_calculations.calculate_roughness_material_woehler_parameters_P_RAJ(assessment_parameters_)[source]

For FKM nonlinear roughness & surface layer, calculate the additional parameters in the P_RAJ Woehler curve that model the dependency on the roughness. The resulting woehler curve is still the material woehler curve but with roughness effects. The other assessment factors are yet missing.

The calculated values will be set in a copy of the input series. The intended use is as follows:

assessment_parameters = calculate_roughness_material_woehler_parameters_P_RAJ(assessment_parameters)
assessment_parameters = calculate_roughness_component_woehler_parameters_P_RAJ(assessment_parameters)
Parameters:

assessment_parameters (pandas Series) –

The named material parameters. This Series has to include at least the following values:

  • P_RAJ_Z_WS: Point at N=1 of the material damage Woehler curve (not N=1e3 as for P_RAM!)

  • P_RAJ_D_WS: Damage threshold for infinite life, the second “knee” of the material damage Woehler curve

  • d_RAJ: The slope of the material damage Woehler curve without roughness effect

  • K_RP: The roughness factor K_R,P

Returns:

A copy of assessment_parameters with the following additional items set:

  • P_RAJ_Z_1e3: The upper “knee” of the material damage Woehler curve at N=1e3.

  • P_RAJ_D_WS_rau: Damage threshold for infinite life, the lower “knee” of the material damage Woehler curve

  • d_RAJ_2_rau: The second slope of the material damage Woehler curve adjusted by roughness factor K_R,P

Return type:

pandas DataFrame

pylife.strength.fkm_nonlinear.parameter_calculations.calculate_roughness_material_woehler_parameters_P_RAM(assessment_parameters_)[source]

For FKM nonlinear roughness & surface layer, calculate the additional parameters in the P_RAM Woehler curve that model the dependency on the roughness. The resulting woehler curve is still the material woehler curve but with roughness effects. The other assessment factors are yet missing.

The calculated values will be set in a copy of the input series. The intended use is as follows:

assessment_parameters = calculate_roughness_material_woehler_parameters_P_RAM(assessment_parameters)
assessment_parameters = calculate_roughness_component_woehler_parameters_P_RAM(assessment_parameters)
Parameters:

assessment_parameters (pandas Series) –

The named material parameters. This Series has to include at least the following values:

  • P_RAM_Z_WS: First sampling point (“knee”) of the material damage Woehler curve at N=1e3

  • P_RAM_D_WS: Damage threshold for infinite life, the second “knee” of the material damage Woehler curve

  • d_2: The second slope of the material damage Woehler curve without roughness effect

  • K_RP: The roughness factor K_R,P

Returns:

A copy of assessment_parameters with the following additional items set:

  • P_RAM_D_WS_rau: Damage threshold for infinite life, the lower “knee” of the material damage Woehler curve

  • d2_RAM_rau: second slope of the material damage Woehler curve, adjusted by roughness factor K_R,P

Return type:

pandas DataFrame

pylife.strength.fkm_nonlinear.parameter_calculations.calculate_roughness_parameter(assessment_parameters_)[source]

Calculate the roughness factor K_R,P (Sec. 2.5.6.2 of FKM nonlinear).

If the factor assessment_parameters[“K_RP”] is already set, this function does nothing.

The calculation is the same for P_RAM and P_RAJ damage parameters. For P_RAJ, the equivalent formulas are presented in chapter 2.8.6.2 of FKM nonlinear.

The calculated values will be set in a copy of the input series. The intended use is as follows:

assessment_parameters = calculate_roughness_parameter(assessment_parameters)
Parameters:

assessment_parameters (pandas Series) –

The named material parameters. This Series has to include at least the following values:

  • MatGroupFKM: Which material group, one of Steel, SteelCast, Al_wrought

  • R_m: The ultimate tensile strength of the material, \(R_m\).

  • R_z: Only if K_RP is not yet given: The surface roughness of the component, \(R_z\).

Returns:

A copy of assessment_parameters with the following additional items set:

  • K_RP: The roughness factor K_R,P.

Return type:

pandas DataFrame

pylife.strength.fkm_nonlinear.parameter_calculations.compute_beta(P_A)[source]

Calculates the beta parameter (“damage index”), which is an intermediate value for the lifetime assessment factor gamma_M. Note that the FKM nonlinear guideline does not list the formula for beta, they assume that the beta value is known.

Parameters:

P_A (float) – Failure probability for the assessment

Returns:

The parameter beta.

Return type:

float