The fkm_nonlinear functions#

pylife.strength.fkm_nonlinear.assessment_nonlinear_standard.perform_fkm_nonlinear_assessment(assessment_parameters, load_sequence, calculate_P_RAM=True, calculate_P_RAJ=True)[source]#

Perform the FKM nonlinear lifetime assessment.

Use this function when the material and component assessment parameters are already available as a pandas.Series and the load history is given as a scalar load sequence or as scaled node histories from an FE model. The function evaluates the P_RAM path with the extended Neuber notch approximation, the P_RAJ path with the Seeger-Beste notch approximation, or both paths.

Parameters:
  • assessment_parameters (pandas.Series) – User and derived assessment parameters. Required user-supplied keys are MatGroupFKM with one of 'Steel', 'SteelCast', or 'Al_wrought'; FinishingFKM with currently only 'none'; ultimate tensile strength R_m in MPa; roughness factor K_RP or roughness R_z in µm; failure probability P_A or reliability index beta; load occurrence probability P_L in percent; transfer factor c from reference load to stress in MPa per load unit; highly stressed surface A_sigma in mm²; reference surface A_ref in mm², usually 500; relative stress gradient G in 1/mm as a float or node-indexed pandas.Series; load shape factor K_p; and optionally n_bins for P_RAJ discretization. Optional load scatter keys are s_L for a normal distribution in MPa or LSD_s for a lognormal distribution.

  • load_sequence (pandas.Series or pandas.DataFrame) – Load sequence to assess. Use a pandas.Series for one assessment point. Use a pandas.DataFrame with a two-level ('load_step', 'node_id') index for multiple FE nodes whose histories are scaled versions of the same sequence.

  • calculate_P_RAM (bool, optional) – Whether to calculate the P_RAM damage-parameter path. Default is True.

  • calculate_P_RAJ (bool, optional) – Whether to calculate the P_RAJ damage-parameter path. Default is True.

Returns:

Assessment result. For P_RAM it contains P_RAM_is_life_infinite, P_RAM_lifetime_n_cycles, P_RAM_lifetime_n_times_load_sequence, P_RAM_damage_parameter, P_RAM_collective, P_RAM_recorder_collective, P_RAM_woehler_curve, P_RAM_damage_calculator, and the two HCM detectors P_RAM_detector and P_RAM_detector_1st. For P_RAJ it contains the analogous P_RAJ_* keys, plus P_RAJ_miner_* keys for the elementary Miner comparison. The key assessment_parameters stores the copied input series with all derived parameters. If P_A = 0.5 for a single-point assessment, additional lifetime helper keys such as P_RAM_lifetime_N_1ppm, P_RAM_N_max_bearable, and P_RAM_failure_probability are available, with analogous P_RAJ keys for the P_RAJ path.

Return type:

dict

See also

pylife.strength.fkm_nonlinear.parameter_calculations.calculate_cyclic_assessment_parameters

Derive cyclic material parameters.

pylife.stress.rainflow.fkm_nonlinear.FKMNonlinearDetector

Count closed hysteresis loops for nonlinear assessment.

Notes

Implements the computational proof of strength according to the FKM nonlinear guideline 2019. Load scatter is treated by one of three guideline methods: normal scatter via s_L, lognormal scatter via LSD_s, or the blanket factor from P_L. Set P_A = 0.5 and P_L = 50 to suppress statistical safety factors for experiment-like evaluations.

class pylife.strength.fkm_nonlinear.FKMNLConstants#