The FKMNonlinearRecorder class

class pylife.stress.rainflow.recorders.FKMNonlinearRecorder[source]

Recorder that goes together with the FKMNonlinearDetector.

property R

1-D numpy array containing the stress relation of the recorded hystereses, which are usually computed as S_min / S_max. Only for hystereses resulting from Memory 3, the FKM nonlinear document defines R = -1 (eq. 2.9-54). This is indicated by _is_zero_mean_stress_and_strain=True`̀ . For these hystereses, this function returns -1 instead of ``S_min / S_max, which may be different.

property S_a

1-D numpy array containing the stress amplitudes of the recorded hystereses.

property S_m

1-D numpy array containing the mean stresses of the recorded hystereses, which are usually computed as (S_min + S_max) / 2. Only for hystereses resulting from Memory 3, the FKM nonlinear document defines S_m to be zero (eq. 2.9-52). This is indicated by _is_zero_mean_stress_and_strain=True`̀ . For these hystereses, this function returns 0 instead of ``(S_min + S_max) / 2.

property S_max

1-D float array containing the maximum stress values of the recorded hystereses.

property S_min

1-D float array containing the minimum stress values of the recorded hystereses.

__init__()[source]

Instantiate a FKMNonlinearRecorder.

property collective

The overall collective recorded as pandas.DataFrame.

The load values are given in the columns loads_min, and loads_max for consistency with other recoders. Stress and strain values for the hystereses are given in the columns S_min, S_max, and epsilon_min, epsilon_max, respectively. The column is_closed_hysteresis indicates whether the row corresponds to a closed hysteresis or was recorded as a memory 3 hysteresis, which counts only half the damage in the FKM nonlinear procedure. The columns epsilon_min_LF and epsilon_max_LF describe the minimum and maximum seen value of epsilon in the entire load history, up to the current hysteresis. These values may be lower (min) or higher (max) than the min/max values of the previously recorded hysteresis as they also take into account parts of the stress-strain diagram curve that are not part of hystereses.

The resulting DataFrame will have a MultiIndex with levels “hysteresis_index” and “assessment_point_index”, both counting from 0 upwards. The nodes of a mesh are, thus, mapped to the index sequence 0,1,…, even if the node_id starts, e.g., with 1.

property epsilon_a

1-D float array containing the strain amplitudes of the recorded hystereses.

property epsilon_m

1-D numpy array containing the mean strain of the recorded hystereses, which are usually computed as (epsilon_min + epsilon_max) / 2. Only for hystereses resulting from Memory 3, the FKM nonlinear document defines epsilon_m to be zero (eq. 2.9-53). This is indicated by _is_zero_mean_stress_and_strain=True`̀ . For these hystereses, this function returns 0 instead of ``(epsilon_min + epsilon_max) / 2.

property epsilon_max

1-D float array containing the maximum strain values of the recorded hystereses.

property epsilon_min

1-D float array containing the minimum strain values of the recorded hystereses.

property is_closed_hysteresis

1-D bool array indicating whether the row corresponds to a closed hysteresis or was recorded as a memory 3 hysteresis, which counts only half the damage in the FKM nonlinear procedure.

property is_zero_mean_stress_and_strain
property loads_max

1-D float array containing the end load values of the recorded hystereses, i.e., the values the loops go to before turning back.

property loads_min

1-D float array containing the start load values of the recorded hystereses.

record_values_fkm_nonlinear(loads_min, loads_max, S_min, S_max, epsilon_min, epsilon_max, epsilon_min_LF, epsilon_max_LF, is_closed_hysteresis, is_zero_mean_stress_and_strain, run_index, debug_output)[source]

Record the loop values.