AnyMath 文档

雨水流

方法进行疲劳特性分析 «雨».

库::`工程师`

语法

函数调用

  • [参数:c],[参数:rm],[参数:rmrrmm],[参数:idx]=rainflow(___,"ext") -以识别的转折点_(波峰和波谷)的向量的形式设置随时间变化的图片。 论点 "分机" 它可以与任何以前的语法选项一起使用。

  • 雨水(___;<参数:out>=:情节) -绘制负载变化(转折点)。

争论

输入参数

# x

负载随时间变化的模式

+

向量资料

Details

荷随时间变化的模式,设为矢量。 论点 x 必须包含最终值。

数据类型

漂浮物32, 漂浮64</无翻译>

#

财政司司长

采样率

+

标量,标量

Details

的采样频率,设置为正实标量。

数据类型

漂浮物32, 漂浮64</无翻译>

# t

时间值

+

向量资料

Details

时间值设置为表示计数之间的时间间隔的向量。

数据类型

漂浮物32, 漂浮64</无翻译>

输入参数 «名称-值»

将可选参数对指定为 名称=值,在哪里 姓名 -参数的名称,以及 价值 -适当的值。 类型参数 «名称-值» 它们必须放在其他参数之后。

#

输出数据的类型

+

:数据 (默认)| :剧情

Details

输出数据的类型:

  • :数据 -函数返回数据;

  • :剧情 -函数返回一个图形。

输出参数

# c

循环次数

+

矩阵

Details

作为矩阵返回的循环次数的数据。 矩阵 c 它包含以下列中有关循环的信息:数量、负载范围、平均负载值、循环开始索引和循环结束索引。 有关示例,请参阅算法。 如果指定了采样频率、时间间隔或时间值向量,则矩阵的最后两列 c 它们包含初始和最终周期持续时间。

# rm

雨的矩阵流动

+

矩阵

Details

雨的基质流动。 线条 rm 它们对应于循环的负载范围,列对应于循环的平均负载值。

# rmr,rmm

直方图区间的边界

+

向量资料

Details

作为向量返回的直方图区间的边界。 争论 rmrrmm 它们包含矩阵的行和列的间隔的边界 [参数:rm] 相应地。

# idx

转折点的线性指标

+

向量资料

Details

作为向量返回的转折点的线性索引。

例子:

已识别转折点的计数周期

Details

我们将生成一组极值,模拟负载方向的变化。 让我们绘制数据图。

X = [-2, 1, -3, 5, -1, 3, -4, 4, -2]



plot(X, xlabel="Sample Index", ylabel="Stress")

rainflow 3

让我们计算这个数据的周期数。 我们指出输入数据由已经确定的极值组成。

import EngeeDSP.Functions: rainflow



C, hist, edges = rainflow(X, "ext")

让我们根据电压负载范围绘制周期数的直方图。

counts = sum(hist, dims=2)[:]


bin_centers=(边缘[1:结束-1]+边缘[2:结束])/2

bar(bin_centers,counts,xlabel="压力范围",ylabel="循环计数")

rainflow 4

算法

疲劳性能分析检查损伤如何在受循环应力变化的物体中累积。 破坏物体所需的周期数取决于周期的幅度。 宽带输入激励包含各种幅度的周期,并且对象中滞后的存在导致一些周期完全或部分嵌入其他周期的事实。 _方法 «雨»_估计作为循环幅度的函数的负载变化循环的数目。

一、功能 雨量 将负载变化模式转换为_旋转点的序列。 转折点是负载变化标志的局部最小值和最大值。 该函数通过考虑序列*Z*的移动参考点和具有以下特征的三个点的移动有序子集来计数周期:

  1. 第一点和第二点统称为*Y*。

  2. 第二点和第三点统称为*X*。

  3. 在这两个点上,*X*和*Y*点按时间从早到晚排序,但不一定在转折点序列中排序。

  4. 值*X*的载荷范围,记为r(X),为第一点幅值与第二点幅值之差的绝对值。 R(Y)的定义类似。

函数的算法 雨量 它看起来像这样:

rainflow 1 cn

在结束时,该函数收集各种周期和半周期的数据,并制作它们的负载范围,平均负载值以及开始和结束点的表格。 该信息随后可用于构建循环直方图。

考虑以下转折点序列:

rainflow 2 cn

步骤 Z 转折点 三个转折点? Y r(Y) X r(X) r(X)<r(Y)? Z*in*Y 行动

1

一个

A,B,C

是的

AB

3

BC

4

非也。

是的

  1. 计数*AB*半个周期

  2. 忽略*A*

  3. 设置*Z*到*B*

2

B

B,C

非也。

阅读*D*

3

B

B,C,D

是的

BC

4

CD

8

非也。

是的

  1. 计数*BC*半个周期

  2. 丢弃*B*

  3. 设置*Z*到*C*

4

C

C,D

非也。

阅读*E*

5

C

C,D,E

是的

CD

8

6

是的

阅读*F*

6

C

C,D,E,F

是的

6

EF

4

是的

阅读*G*

7

C

C,D,E,F,G

是的

EF

4

FG

7

非也。

非也。

  1. 计数*EF*一个完整的周期

  2. 排除*E*和*F*

8

C

C,D,G

是的

CD

8

DG

9

非也。

是的

  1. 在半个周期内计数*CD*

  2. 排除*C*

  3. 设置*Z*到*D*

9

D

D,G

非也。

阅读*H*

10

D

D,G,H

是的

DG

9

GH

8

是的

读*J*

11

D

D,G,H,J

是的

GH

8

HJ

7

是的

阅读*K*

12

D

D,G,H,J,K

是的

HJ

7

JK

4

是的

阅读*L*

13

D

D,G,H,J,K,L

是的

JK

4

KL

3

是的

阅读*M*

14

D

D,G,H,J,K,L,M

是的

KL

3

LM

5

非也。

非也。

  1. 计数*KL*一个完整的周期

  2. 排除*K*和*L*

15

D

D,G,H,J,M

是的

HJ

7

JM

5

是的

阅读*N*

16

D

D,G,H,J,M,N

是的

JM

5

MN

1

是的

阅读*P*

17

D

D,G,H,J,M,N,P

是的

MN

1

NP

4

非也。

非也。

  1. 计数*MN*一个完整的周期

  2. 排除*M*和*N*

18

D

D,G,H,J,P

是的

HJ

7

JP

9

非也。

非也。

  1. 考虑*HJ*作为一个完整的循环

  2. 排除*H*和*J*

19

D

D,G,P

是的

DG

9

GP

10

非也。

是的

  1. 计数*DG*为半个周期

  2. 排除*D*

  3. 设置*Z*到*G*

20

G

G,P

没有数据

将*GP*计数为半个周期

现在让我们收集结果。

循环次数 负载范围 平均负荷值 开始 结局

1/2

3

−0.5

一个

B

1/2

4

−1

B

C

1

4

1

E

F

1/2

8

1

C

D

1

3

−0.5

K

L

1

1

2.5

M

N

1

7

0.5

H

J

1/2

9

0.5

D

G

1/2

10

1

G

P

让我们将其与应用函数算法的结果进行比较 雨量 对于给定的序列:

import EngeeDSP.Functions: rainflow



q = rainflow([-2 1 -3 5 -1 3 -4 4 -3 1 -2 3 2 6])[1]
9×5 Matrix{Float64}:

 0.5   3.0  -0.5   1.0   2.0

 0.5   4.0  -1.0   2.0   3.0

 1.0   4.0   1.0   5.0   6.0

 0.5   8.0   1.0   3.0   4.0

 1.0   3.0  -0.5  10.0  11.0

 1.0   1.0   2.5  12.0  13.0

 1.0   7.0   0.5   8.0   9.0

 0.5   9.0   0.5   4.0   7.0

 0.5  10.0   1.0   7.0  14.0

文学作品

  1. ASTM E1049-85(2017),疲劳分析中循环计数的标准规范. 西Conshohocken,PA:ASTM国际,2017, https://www.astm.org/e1049-85r17.html.