The classes for damage calculation
The following classes perform lifetime assessment according to the guideline FKM nonlinear. The objects are given a load collective and a damage parameter woehler curve. They calculate the damage parameters values for the collective and use the woehler curve to calculate a lifetime or infinite strength.
DamageCalculatorPRAM
: uses the P_RAM damage parameterDamageCalculatorPRAJ
: uses the P_RAJ damage parameterDamageCalculatorPRAJMinerElementary
uses the P_RAJ damage parameter but omits the horizontal finite strength line in the Woehler curve, corresponding to the Miner Elementary method.
- class pylife.strength.fkm_nonlinear.damage_calculator.DamageCalculatorPRAM(collective, component_woehler_curve_P_RAM)[source]
This class performs the lifetime assessment according to the FKM nonlinear assessment. It holds damage values from two previous runs of the HCM algorithm and a component woehler curve of type WoehlerCurvePRAM. The outputs are lifetime numbers and detection of infinite life.
This class implements the assessment procedure using the damage parameter P_RAM.
- property P_RAM_max
The maximum P_RAM damage parameter value of the second run of the HCM algorithm. If this value is lower than the fatigue strength limit, the component has infinite life. The method
compute_damage
needs to be called beforehand.
- property collective
- get_lifetime_functions(assessment_parameters)[source]
Return two python functions that can be used for detailed probabilistic assessment.
The first function,
N_max_bearable(P_A, clip_gamma=False)
, calculates the maximum number of cycles that the component can withstand with the given failure probability. The parameterclip_gamma
specifies whether the scaling factor gamma_M will be at least 1.1 (P_RAM) or 1.2 (P_RAJ), as defined in eq. (2.5-38) (PRAM) / eq. (2.8-38) (PRAJ)The second function,
failure_probability(N)
, calculates the failure probability for a given number of cycles.- Parameters:
assessment_parameters (pd.Series) – The assessment parameters, only the material group is required to determine the respective f_2,5% constant.
- Returns:
N_max_bearable – python function,
N_max_bearable(P_A)
failure_probability – python function,
failure_probability(N)
- property is_life_infinite
Whether the component has infinite life. The method
compute_damage
needs to be called beforehand.
- property lifetime_n_cycles
The number of load cycles (as defined in the load collective) until failure. The method
compute_damage
needs to be called beforehand.
- property lifetime_n_times_load_sequence
The number of times the whole load sequence can be traversed until failure. The method
compute_damage
needs to be called beforehand.
- class pylife.strength.fkm_nonlinear.damage_calculator.DamageCalculatorPRAJ(collective, assessment_parameters, component_woehler_curve_P_RAJ)[source]
This class performs the lifetime assessment according to the FKM nonlinear assessment. It holds damage values from two previous runs of the HCM algorithm and a component woehler curve of type WoehlerCurvePRAJ. The outputs are lifetime numbers and detection of infinite life.
This class implements the assessment procedure using the damage parameter P_RAJ.
- property P_RAJ_max
The maximum P_RAJ damage parameter value of the second run of the HCM algorithm. If this value is lower than the fatigue strength limit, the component has infinite life. The method
compute_damage
needs to be called beforehand.
- property collective
- get_lifetime_functions()[source]
Return two python functions that can be used for detailed probabilistic assessment.
The first function,
N_max_bearable(P_A, clip_gamma=False)
, calculates the maximum number of cycles that the component can withstand with the given failure probability. The parameterclip_gamma
specifies whether the scaling factor gamma_M will be at least 1.1 (P_RAM) or 1.2 (P_RAJ), as defined in eq. (2.5-38) (PRAM) / eq. (2.8-38) (PRAJ) The second function,failure_probability(N)
, calculates the failure probability for a given number of cycles.- Parameters:
assessment_parameters (pd.Series) – The assessment parameters, only the material group is required to determine the respective f_2,5% constant.
- Returns:
N_max_bearable – python function,
N_max_bearable(P_A)
failure_probability – python function,
failure_probability(N)
- property is_life_infinite
Whether the component has infinite life. The method
compute_damage
needs to be called beforehand.
- property lifetime_n_cycles
The number of load cycles (as defined in the load collective) until failure. The method
compute_damage
needs to be called beforehand.
- property lifetime_n_times_load_sequence
The number of times the whole load sequence can be traversed until failure. The method
compute_damage
needs to be called beforehand.
- class pylife.strength.fkm_nonlinear.damage_calculator_praj_miner.DamageCalculatorPRAJMinerElementary(collective, component_woehler_curve_P_RAJ)[source]
This class performs the lifetime assessment as a modification to the FKM nonlinear guideline. For the P_RAJ damage parameter, the lifetime is computed directly using the woehler curve, analogous to the procedure with P_RAM. The whole approach with binning and infinite strength decrease is omitted.
The class reuses the DamageCalculatorPRAM class.
- class ComponentWoehlerCurvePRAMStub(component_woehler_curve_P_RAJ)[source]
- property P_RAM_D
The damage parameter value of the endurance limit
- property P_RAM_Z
The damage parameter value that separates the first and second section, corresponding to N = 1e3
- calc_P_RAM(N)[source]
Evaluate the woehler curve at the specified number of cycles.
- Parameters:
N (array-like) – Number of cycles where to evaluate the woehler curve.
- Returns:
The P_RAM values that correspond to the given N values.
- Return type:
array-like
- property d_1
The slope of the Wöhler Curve in the first section, for N < 1e3
- property d_2
The slope of the Wöhler Curve in the second section, for N >= 1e3
- property fatigue_life_limit
The fatigue life limit N_D of the component, i.e., the number of cycles at the fatigue strength limit P_RAM_D.
- property fatigue_strength_limit
The fatigue strength limit of the component, i.e., the P_RAM value below which we have infinite life.
- property P_RAJ_max
The maximum P_RAM damage parameter value of the second run of the HCM algorithm. If this value is lower than the fatigue strength limit, the component has infinite life.
- property collective
- property is_life_infinite
Whether the component has infinite life.
- property lifetime_n_cycles
The number of load cycles (as defined in the load collective) until failure.
- property lifetime_n_times_load_sequence
The number of times the whole load sequence can be traversed until failure.