The damage_parameter module#
Calculate FKM nonlinear damage parameters for closed hystereses.
The module evaluates the P_RAM and P_RAJ damage parameters from a
collective created by the FKM nonlinear rainflow/HCM workflow. The resulting
damage-parameter columns are consumed by
pylife.strength.woehler_fkm_nonlinear.WoehlerCurvePRAM and
pylife.strength.woehler_fkm_nonlinear.WoehlerCurvePRAJ.
Notes
The implemented formulae follow the FKM nonlinear guideline damage-parameter assessment in chapters 2.6 and 2.9.
- class pylife.strength.damage_parameter.P_RAJ(collective, assessment_parameters, component_woehler_curve_P_RAJ)[source]#
Calculate the
P_RAJcrack-mechanics damage parameter.P_RAJdescribes the effective cyclic J-integral range used by the FKM nonlinear crack-opening assessment. The algorithm accounts for crack opening and closing history over the HCM runs and updates the finite-life contribution withpylife.strength.woehler_fkm_nonlinear.WoehlerCurvePRAJ.- Parameters:
collective (pandas.DataFrame) –
Hysteresis collective from the FKM nonlinear HCM recorder. Each row represents one hysteresis and must contain:
S_a: Stress amplitude in MPa.S_m: Mean stress in MPa.S_min: Minimum stress in MPa.S_max: Maximum stress in MPa.R: Stress ratioS_min / S_max, dimensionless.epsilon_a: Strain amplitude, dimensionless.epsilon_min: Minimum strain, dimensionless.epsilon_max: Maximum strain, dimensionless.epsilon_min_LF: Lower reversal strain of the load-following branch, dimensionless.epsilon_max_LF: Upper reversal strain of the load-following branch, dimensionless.is_closed_hysteresis: Flag indicating a closed hysteresis.run_index: HCM run number, either1or2.
assessment_parameters (pandas.Series) – Material and assessment parameters. The series must contain
R_min MPa,Ein MPa,n_primeas the cyclic strain-hardening exponent, andK_primeas the cyclic strength coefficient in MPa.component_woehler_curve_P_RAJ (WoehlerCurvePRAJ) – Component Wöhler curve for
P_RAJ. It is usually created with the.woehler_P_RAJaccessor fromP_RAJ_Z,P_RAJ_D_0, andd_RAJparameters.
See also
pylife.strength.woehler_fkm_nonlinear.WoehlerCurvePRAJEvaluate lifetimes and update fatigue limits from
P_RAJvalues.
Notes
The FKM nonlinear guideline defines
P_RAJin chapter 2.9 from the effective stress and strain ranges as\[P_{RAJ} = 1.24\,\frac{\Delta\sigma_\mathrm{eff}^2}{E} + \frac{1.02}{\sqrt{n'}} \Delta\sigma_\mathrm{eff} \left(\Delta\epsilon_\mathrm{eff} - \frac{\Delta\sigma_\mathrm{eff}}{E}\right)\]The implementation computes crack-opening stress, crack-opening strain, effective ranges, cumulative damage, and the updated fatigue limit for each hysteresis.
- property collective#
Return the collective with computed
P_RAJand damage columns.
- class pylife.strength.damage_parameter.P_RAM(collective, assessment_parameters)[source]#
Calculate the
P_RAMdamage parameter for a collective.P_RAMcombines stress amplitude, mean stress, strain amplitude, and the material’s mean-stress sensitivity into one scalar damage parameter per hysteresis. Use it for the elastic-plastic fatigue assessment path that is evaluated withpylife.strength.woehler_fkm_nonlinear.WoehlerCurvePRAM.- Parameters:
collective (pandas.DataFrame) –
Hysteresis collective from the FKM nonlinear HCM recorder. Each row represents one closed hysteresis and must contain:
S_a: Stress amplitude in MPa.S_m: Mean stress in MPa.epsilon_a: Strain amplitude, dimensionless.
assessment_parameters (pandas.Series) – Material and assessment parameters. The series must contain
R_m, the ultimate tensile strength in MPa, andE, Young’s modulus in MPa.
See also
pylife.strength.woehler_fkm_nonlinear.WoehlerCurvePRAMEvaluate lifetimes from
P_RAMvalues.
Notes
The FKM nonlinear guideline defines
P_RAMin chapter 2.6 as\[P_{RAM} = \sqrt{\left(\sigma_a + k\,\sigma_m\right)\epsilon_a E}\]for non-negative discriminants and as
0otherwise. The mean-stress factorkis selected from the material-dependent parameterM_sigma.- property collective#
Return the collective with the computed
P_RAMcolumn.