在高温环境下工作的构件(如发动机部件、排气系统、热交换器等),其疲劳寿命不仅受到应力循环的影响,还与温度密切相关。温度变化会直接产生热应力循环导致疲劳损伤,同时材料的疲劳强度也会随温度变化。DesignLife 的高温 S-N 疲劳分析功能通过 Hybrid Load Provider 将温度数据与应力数据关联,实现考虑温度效应的疲劳寿命预测。
在本节中,我们将以不锈钢波纹管为例,学习如何使用 SN Analysis Engine 和 Hybrid Load Provider 进行温度相关疲劳分析。示例涵盖五种不同的加载配置,从标准高温分析到逐循环高温 duty cycle 分析。
文件位于 \demo\designlife\14_HighTemperatureSN\ 目录下。波纹管内孔和外径分别施加温度历程,总持续时间为 6000 秒。此外,波纹管每 200 秒承受一次压力脉冲,在热循环总持续时间内重复 30 次。
FE 分析分三个阶段进行,产生三个 ANSYS 结果文件:temperature_history.rth(温度历程,时间点 1/1200/5000/6000 秒)、thermal_stresses.rst(热应力,四个时间点)、pressure_loading.rst(5 MPa 压力载荷产生的单一应力状态)。
Hybrid Load Provider 提供两项能力:将温度和应力匹配以进行温度相关疲劳计算;通过组合不同类型的 load provider 创建应力时间历程。它至少需要一个子 load provider,可以是 Time Step、Constant Amplitude 或 Time Series 类型,还可包含 Temperature load provider。
时间对齐规则
当子 load provider 的时间点不同时,总应力历程的时间点取所有子 load provider 时间点的并集。缺失时间点的应力通过相邻时间点插值获得。起始时间取最早的子 load provider 起始时间,结束时间取最晚的结束时间。较短的 load provider 会通过重复填充时间间隙。
步骤1 加载 high_temperature.flo 流程,依次将 pressure_loading.rst、thermal_stresses.rst、temperature_history.rth 拖到 FEInput1 glyph 上(顺序很重要)。
步骤2 右键 SNAnalysis1 glyph 选择 Advanced Edit。在 FE Results > FEResultsImport > ResultsSet 中确认 IncludeTemperatures = True。
步骤3 在 SNEngine 属性中将 SNMethod 设为 MultiTemperatureCurve,TemperatureSelection 设为 AllAvailable。
TemperatureSelection 属性定义如何处理温度历程:OverallMax/OverallMin/OverallMedian 使用整个时间历程的最大/最小/平均温度作为所有循环的恒定温度;CycleMax/CycleMin 使用逐循环的最大/最小温度进行温度修正。TemperatureInterpolationLimit 定义温度超出 S-N 数据范围时是外推还是使用最高温度曲线。
步骤4 Edit Material Mapping 中将 Material Type 设为 SN temperature multi-curve,选择 SN_HighTemperature_TestData 材料拖到 Default Material。该材料包含从室温到 1050 C 的四条不同温度下的疲劳曲线。
单一压力载荷循环施加到模型上,每个节点使用热循环期间最高温度确定的疲劳属性。Temperature Load Provider 设为 Max 模式,Constant Amplitude Load Provider 将压力应力从零循环到 5 MPa。
步骤1 Edit Load Mapping,设 Loading Type = Hybrid。添加 Temperature Load Provider,Mode 设为 Max。添加 Constant Amplitude Load Provider,选择压力载荷工况,Min factor 改为 0。
运行后最大损伤为 8.273e-7(节点 13801),这是开/关第一个应力载荷工况产生的损伤。Data Values Display 中 Temperature 列显示每个节点使用的最大温度。
压力载荷循环每 200 秒施加一次,每个节点使用每个循环期间最高温度确定的疲劳属性。Temperature Load Provider Mode 设为 All,Constant Amplitude Load Provider 的 basetime = 100,sample rate = 0.01。TemperatureSelection 设为 CycleMax。
此加载定义产生 6000 秒长度的信号。Constant Amplitude Load Provider 的 basetime 产生 100 秒的起始偏移,sample rate 0.01 表示最大最小点之间间隔 100 秒,重复之间的填充间隔也是 100 秒。
在 6000 秒热瞬态应力历程上叠加每 200 秒一次的压力载荷循环。Hybrid Load Provider 将热应力和压力应力叠加,并与温度数据关联。Timestep Load Provider 定义温度历程引起的热应力,Constant Amplitude Load Provider 循环压力应力。
节点 13801 的最短寿命为 8.263E4 repeats。可以通过 Advanced Edit 添加 Time Series Output 和 Static Entity Subset 来输出特定节点的应力时间历程。
使用 800 秒的变化时间序列压力载荷循环叠加在 6000 秒热瞬态应力历程上。TimeSeries Load Provider 使用时间序列比例因子文件(pressure_hist.s3t),文件总长 700 秒,采样率 0.01,填充后段持续 800 秒。
最大损伤节点为 13792,寿命为 2.738E4 repeats。
前 5000 秒施加压力载荷循环叠加热瞬态应力,5000 秒后压力停止,系统继续冷却 1000 秒。这需要使用 Duty Cycle Load Provider 顺序运行两个 Hybrid Load Provider:第一个包含温度、时间步和恒幅载荷(1-5000 秒),第二个仅包含温度和时间步(5000-6000 秒)。
步骤1 Edit Load Mapping,设 Loading Type = Dutycycle,加载 hybrid_dutycycle.dcy 文件。检查两个 Hybrid Load Provider 的温度和时间步分配。
运行后最短寿命为 9.4656e4 repeats(节点 13801)。
✅ 掌握了高温 S-N 疲劳分析的完整流程
✅ 学会了 Hybrid Load Provider 的五种加载配置方法
✅ 了解了温度相关疲劳属性和多温度曲线材料的使用