RainflowMatrix (FPScript)

21.09.2021

Determines the Rainflow Matrix for a data set.

Syntax

RainflowMatrix(DataSet, ClassLimits, Hysteresis, Options)

 

The syntax of the RainflowMatrix function consists of the following parts:

Part

Description

DataSet

The data set for which a Rainflow matrix is to be determined.

Permitted data structures are data series und signal. All real data types are permitted.

If the argument is a list, then the function is executed for each element of the list and the result is also a list.

ClassLimits

Contains a data series, which contains the class limits for the count. If ClassLimits contains n values, this leads to n-1 closed classes. The first or the last value in ClassLimits provides the lowest or highest limit of the class division. Values that lie outside the limits are not counted.

Permitted data structures are data series. All real data types are permitted. The unit has to be compatible with that of parameter DataSet.

If the argument is a list, then the first element in the list is taken. If this is also a list, then the process is repeated.

Hysteresis

Specifies a hysteresis (range filter), which leads to suppression of small load alternations around a class limit. Only the crossings where the absolute value is as least as high as the hysteresis are counted.

Permitted data structures are scalar value. All real data types are permitted. The unit has to be compatible with that of parameter DataSet.

The value must be greater or equal to 0.

If the argument is a list, then the first element in the list is taken. If this is also a list, then the process is repeated.

Options

Selects various output options for the Rainflow matrix.

The argument Options can have the following values:

Constant

Meaning

EXCLUDE_RESIDUE

The residue is not included in the matrix.

INCLUDE_PARTIAL_RESIDUE

If the residue has a closed hysteresis "a-b-a" in the center, then this is included in the matrix.

INCLUDE_RESIDUE

The residue is included in the matrix [1].

INCLUDE_HALFCYLCES_RESIDUE

The half-cycles of the residual are included in the matrix with half weighting [2].

+ COUNT_RANGEMEAN

If you add this constant, the matrix is returned in the range-mean-format. The X component will then contain the lower limits of the range classes and the Z component will contain the mean values of the mean value classes. The closed hystereses are counted once. Otherwise, the matrix is returned in the "from-to" format. The X component contains the mean values of the "from" classes and the Z component contains the mean values of the "to" classes. Each closed hysteresis is counted as a transition "from"->"to" and a transition "to"->"from".

+ COUNT_ASYMMETRIC

If you add this constant, the range pairs will be counted only once at the position "from"->"to". The result is an asymmetrical matrix, which shows positive and negative range pairs as differentiated. Otherwise, each range pair is counted twice at the positions "from"->"to" and "to"->"from". The matrix is then symmetrical and its count total is twice as high. The asymmetrical matrix can be converted into a symmetrical matrix by adding its transposed matrix.

If the argument is a list, then the first element in the list is taken. If this is also a list, then the process is repeated.

Remarks

If DataSet was specified as a data series, the result is a data matrix of 64-bit integer values with the Rainflow matrix. The rows in the matrix correspond to the "from" classes or range classes of the crossings and the columns correspond to the "to" classes or the mean value classes.

If DataSet was specified as a signal, the result is a signal series with a Z component whose X and Z components contain the class mid-points or the range- and mean value classes resulting from class limits.

To include the Residual in the matrix, a particularly well-balanced procedure is used. The residue is thereby divided at its highest point and the two halves are appended to each other in reverse order. This sequence then satisfies the algorithm and is included in the matrix [1].

Available in

Option Counting Procedures

Examples

RainflowMatrix(Signal(DataSet, 1), (11., Minimum(DataSet), Range(DataSet) / 10.), _
Range(DataSet) / 10. * 0.01, EXCLUDE_RESIDUE)

Calculates the Markov matrix of the 'DataSet' data series (see MarkovMatrixexample) with 10 classes of equal size.

RainflowMatrix(Signal(DataSet, 1), (11., Minimum(DataSet), Range(DataSet) / 10.), _
Range(DataSet) / 10. * 0.01, EXCLUDE_RESIDUE + COUNT_ASYMMETRIC)

Calculates the asymmetrical Rainflow matrix of the 'DataSet' data series with 10 classes of equal size.

See Also

LevelCrossingCount Function

MarkovMatrix Function

PeakCount Function

RangeCount Function

Counting Procedures Option

Count Matrix Analysis Object

References

[1] J.B. de Jonge: Counting Methods for the Analysis of Load Time Histories. In: NLR Memorandum SB-80-106 U. 1980.

[2] : Standard Practices for Cycle Counting in Fatigue Analysis. In: ASTM E1049-85(2017). ASTM International, West Conshohocken, PA, 2017,2017.

Share article or send as email:

You might be interested in these articles