雨流法(循环计数)

分类: 構造解析 | 综合版 2026-04-06
CAE visualization for rainflow counting theory - technical simulation diagram
レインフロー法(サイクルカウント)

理论与物理

雨流法是什么

🧑‍🎓

老师,雨流法是什么?


🎓

雨流法(Rainflow Counting)是一种从变动载荷的时间历程中提取闭合迟滞回线(循环)的方法。Endo and Matsuishi(1968年,日本的远藤·松石)以雨水流动为例命名。


为什么需要循环计数

🎓

S-N曲线或Coffin-Manson公式给出的是恒定振幅的疲劳寿命。实际载荷是变动振幅的。通过雨流法将变动载荷分解为“多个恒定振幅循环的集合”,并使用Miner法则计算累积损伤。


算法

🎓

1. 提取应力时间历程的峰值/谷值

2. 像“雨水从屋顶(pagoda roof)流下”一样识别闭合循环

3. 记录每个循环的应力范围 $\Delta\sigma$ 和平均应力 $\sigma_m$

4. 构建直方图(雨流矩阵)


总结

🎓
  • 变动载荷→分解为恒定振幅循环 — 疲劳评估的前处理
  • 源自日本的算法(1968年) — 世界标准
  • ASTM E1049 — 雨流法的标准
  • 疲劳软件(nCode等)中自动计算

  • Coffee Break 闲谈

    “雨水从屋顶流下”算法

    雨流法的名称来源于将应力时间历程图旋转90°后,看起来像雨水从屋顶流下。1968年由松本登·宗宫恒二等人提出,作为从不规则变动载荷中准确提取疲劳循环的方法,已成为世界标准。于1985年标准化为ASTM E1049。

    各项的物理意义
    • 惯性项(质量项):$\rho \ddot{u}$,即“质量×加速度”。您是否有过急刹车时身体被向前甩出的经历?那种“被带走的感觉”正是惯性力。物体越重越难启动,一旦启动也越难停止。建筑物在地震中摇晃,也是因为地面突然移动,而建筑物的质量“被落下”。静力分析中此项设为零,这是“缓慢施力因此加速度可忽略”的假设。对于冲击载荷或振动问题,此项绝对不能省略。
    • 刚度项(弹性恢复力):$Ku$ 或 $\nabla \cdot \sigma$。拉伸弹簧时能感觉到“想要恢复原状的力”吧?那就是胡克定律 $F=kx$,也是刚度项的本质。那么提问——用相同的力拉伸铁棒和橡皮筋,哪个伸长更多?当然是橡皮筋。这种“难以伸长的程度”就是杨氏模量 $E$,它决定了刚度。常见的误解:“刚度高=强度高”是不对的。刚度是“抵抗变形的能力”,强度是“抵抗破坏的能力”,是不同的概念。
    • 外力项(载荷项):体积力 $f_b$(如重力)和表面力 $f_s$(如压力、接触力)。可以这样理解——桥上卡车的重量是“作用在整个内部上的力”(体积力),轮胎压路面的力是“仅作用在表面上的力”(表面力)。风压、水压、螺栓预紧力…都是外力。这里容易犯的错误:弄错载荷方向。本想施加“拉伸”却变成了“压缩”——听起来像笑话,但在3D空间中坐标系发生旋转时确实会发生。
    • 阻尼项:瑞利阻尼 $C\dot{u} = (\alpha M + \beta K)\dot{u}$。试着弹一下吉他的弦。声音会一直持续吗?不,会逐渐变小。这是因为振动能量通过空气阻力和弦的内部摩擦转化为热能。汽车的减震器也是同样原理——故意吸收振动能量以提高乘坐舒适性。如果阻尼为零会怎样?建筑物在地震后会一直摇晃不停。实际上不会这样,因此设置适当的阻尼很重要。
    假设条件与适用范围
    • 连续体假设:将材料视为连续介质,忽略微观不均匀性
    • 小变形假设(线性分析时):变形相对于初始尺寸足够小,应力-应变关系为线性
    • 各向同性材料(除非特别指定):材料特性不依赖于方向(各向异性材料需要单独定义张量)
    • 准静态假设(静力分析时):忽略惯性力·阻尼力,仅考虑外力与内力的平衡
    • 不适用的情形:大变形·大旋转问题需要几何非线性。塑性·蠕变等非线性材料行为需要扩展本构关系
    量纲分析与单位制
    变量SI单位注意事项·换算备忘
    位移 $u$m(米)输入为mm时,载荷·弹性模量也需统一为MPa/N系
    应力 $\sigma$Pa(帕斯卡)= N/m²MPa = 10⁶ Pa。与屈服应力比较时注意单位制不一致
    应变 $\varepsilon$无量纲(m/m)注意工程应变与对数应变的区别(大变形时)
    弹性模量 $E$Pa钢:约210 GPa,铝:约70 GPa。注意温度依赖性
    密度 $\rho$kg/m³mm系中为tonne/mm³(钢为 = 10⁻⁹ tonne/mm³)
    力 $F$N(牛顿)mm系和m系均统一为N

    数值解法与实现

    雨流法的计算

    🎓

    所有疲劳软件都内置了雨流法。输入FEM的应力时间历程→雨流法→S-N/ε-N→Miner法则的自动流程。


    在MATLAB/Python中也可使用 rainflow 库轻松计算。


    总结

    🎓
    • 内置于所有疲劳软件nCode, fe-safe, FEMFAT
    • Python/MATLAB也可计算 — rainflow库

    • Coffee Break 闲谈

      雨流矩阵的读法

      雨流法的结果以雨流矩阵(RFC矩阵)表示,纵轴为最小应力,横轴为最大应力的频率分布。对角线元素振幅小、循环数低,边缘元素振幅大、损伤高。疲劳损伤由远离对角线的元素主导,实际评估中这些边缘数据的精度左右着Miner法则计算的精度。

      线性单元(一阶单元)

      节点间线性插值。计算成本低,但应力精度低。注意剪切锁定(可通过减缩积分或B-bar法缓解)。

      二阶单元(带中间节点)

      可表现曲线变形。应力精度大幅提高,但自由度约增加2~3倍。推荐:应力评估重要时使用。

      完全积分 vs 减缩积分

      完全积分:有过约束(锁定)风险。减缩积分:有沙漏模式(零能模式)风险。根据情况选择。

      自适应网格

      基于误差指标(ZZ估计量等)的自动细化。高效提高应力集中部位的精度。有h法(单元细分)和p法(增加阶次)。

      牛顿·拉弗森法

      非线性分析的标准方法。每次迭代更新切线刚度矩阵。在收敛半径内具有二次收敛性,但计算成本高。

      修正牛顿·拉弗森法

      切线刚度矩阵使用初始值或每隔几次迭代更新。每次迭代成本低,但收敛速度为线性。

      收敛判定标准

      力残差范数: $||R|| / ||F_{ext}|| < \epsilon$(通常 $\epsilon = 10^{-3}$〜$10^{-6}$)。位移增量范数: $||\Delta u|| / ||u|| < \epsilon$。能量范数: $\Delta u \cdot R < \epsilon$

      载荷增量法

      不一次性施加全部载荷,而是分小步增加。弧长法(Riks法)可以超越载荷-位移关系的极值点进行追踪。

      直接法 vs 迭代法的比喻

      直接法是“用笔算精确解联立方程”的方法——可靠但大规模问题耗时过长。迭代法是“反复猜测逼近正确答案”的方法——最初是粗略答案,但每次迭代精度都会提高。就像查字典时,从第一页开始顺序查找(直接法)不如先估计位置翻开,再前后调整(迭代法)来得高效,原理相同。

      网格阶次与精度的关系

      一阶单元是“用直尺近似曲线”——用直线折线表现,因此精度有限。二阶单元是“柔性曲线”——可以表现曲线变化,即使网格密度相同,精度也显著提高。但是,每个单元的计算成本增加,需要根据总体的成本效益来判断。

      实践指南

      雨流法的实务

      🎓

      评估汽车道路数据(实际行驶的应力时间历程)的疲劳寿命。飞机的飞行谱。管道的压力循环。


      实务检查清单

      🎓
      • [ ] 应力时间历程是否基于实际载荷(实测 or FEM
      • [ ] 峰值/谷值的提取是否正确
      • [ ] 雨流矩阵的应力范围和平均应力是否合理
      • [ ] 小循环(低于疲劳极限)的过滤是否恰当

      • Coffee Break 闲谈

        从实际路面数据评估疲劳

        在汽车的耐久性试验中,通过应变片测量实际路面行驶数据,并用雨流法解析以评估疲劳损伤。福特公司从1980年代开始通过EDAP(工程耐久性分析包)将此方法标准化,并优化了算法,使得处理10公里比利时路面行驶数据在1990年代的PC上仅需数秒。

        分析流程的比喻

        分析流程其实和烹饪非常相似。首先是采购食材(准备CAD模型),进行预处理(网格生成),开火烹饪(求解器执行),最后装盘(后处理可视化)。这里有个重要的问题——烹饪中最容易失败的工序是哪里?其实是“预处理”。网格质量差的话,无论使用多么优秀的求解器,结果都会一团糟。

        初学者容易陷入的陷阱

        您确认过网格收敛性吗?是否认为“计算能运行=结果正确”?这其实是CAE初学者最容易掉入的陷阱。求解器一定会对给定的网格返回“一个像样的答案”。但如果网格太粗糙,这个答案就会与现实有很大偏差。至少用3个级别的网格密度确认结果是否稳定——如果忽视这一点,就会陷入“计算机给出的答案应该正确”的危险误区。

        边界条件的思考方式

        边界条件的设置,与编写考试的“题目”是一样的。如果题目错了会怎样?无论计算多么精确,答案都是错的。“这个面真的是完全固定的吗?”“这个载荷真的是均匀分布的吗?”——正确建模现实的约束条件,其实是整个分析中最重要的步骤。

        软件比较

        工具

        🎓

        内置于所有疲劳软件。MATLAB/Python也可实现。


        Coffee Break 闲谈

        雨流计数的标准差异与实现

        对于同一载荷历程,ASTM E1049-85和DIN 45667的循环计数结果可能相差最大15%。MSC Fatigue默认采用四点法(遵循ASTM),nCode默认采用HCM法(遵循DIN),汽车行业ZF公司则标准采用HCM法。标准选择直接关系到疲劳寿命预测的精度。

        选定时最重要的3个问题

        • “要解决什么问题”:雨流法(循环计数)所需的物理模型·单元类型是否支持。例如,流体方面是否支持LES,结构方面接触·大变形的支持能力有差异。
        • “谁来使用”:新手团队适合GUI丰富的工具,有经验者适合脚本驱动的灵活工具。类似于汽车的自动挡(GUI)和手动挡(脚本)的区别。
        • “要扩展到什么程度”:考虑到未来的分析规模扩大(HPC支持)、向其他部门扩展、与其他工具的联动,这样的选择有助于长期的成本削减。

        尖端技术

        雨流法的前沿

        🎓
        • 多轴雨流法 — 多轴应力状态的循环计数。Wang-Brown法、Bannantine-Socie法
        • 频域循环计数 — 直接从PSD计算(Dirlik法)。无需转换回时域

        • Coffee Break 闲谈

          向高斯过程的扩展与非稳态载荷

          传统的雨流法以稳态随机载荷为前提,但实际载荷多为统计特性随时间变化的非稳态过程。2010年代确立的“加窗雨流法”在时间窗口内进行循环提取,实现了对非稳态载荷的应对。已应用于风力涡轮机运行条件变化引起的疲劳评估。

          故障排除

          雨流法的问题

          🎓
          • 循环数过多 → 微小振动(噪声)被作为循环提取。通过滤波去除
          • 应力时间历程过短 → 重复代表性载荷块来估算寿命

          • Coffee Break 闲谈

            中途截断数据的残留循环问题

            当实测数据的开头和结尾不完整时,会产生雨流法的“残留”循环。忽略此问题会导致损伤量被低估10~20%。ASTM E1049推荐使用范围对法来补全残留循环,但在实务中,根本的解决方法是设计测量协议,确保整个测量区间完整。

            当“分析结果不符”时

            1. 首先深呼吸——慌张地随机更改设置会使问题更加复杂
            2. 创建最小重现案例——以最简单的形式重现雨流法(循环计数)的问题。“减法式调试”最有效率
            3. 每次只改变一个变量再执行——同时进行多项更改,会不知道哪个起了作用。与科学实验相同的“对照实验”原则
            4. 回归物理本质——如果计算结果出现“物体逆重力漂浮”等非物理现象,应怀疑输入数据存在根本性错误
            関連シミュレーター

            この分野のインタラクティブシミュレーターで理論を体感しよう

            シミュレーター一覧

            関連する分野

            熱解析製造プロセス解析V&V・品質保証
            この記事の評価
            ご回答ありがとうございます!
            参考に
            なった
            もっと
            詳しく
            誤りを
            報告
            参考になった
            0
            もっと詳しく
            0
            誤りを報告
            0
            Written by NovaSolver Contributors
            Anonymous Engineers & AI — サイトマップ
            关于作者