振动测试是评估结构在随机振动环境下疲劳寿命的重要手段。在产品开发中,物理振动台测试成本高、周期长。DesignLife 的振动疲劳分析能力使我们能够在虚拟环境中模拟 PSD(功率谱密度)或扫频正弦加载下的振动测试,大大降低测试成本并加速设计迭代。
本节将通过三个循序渐进的实例来讲解虚拟振动测试:单轴 PSD 振动测试、三轴顺序振动测试,以及三轴同时振动测试。振动分析除了 PSD 加载外,还需要来自 FE 的频率响应函数(FRF),即在不同频率下由单位载荷驱动的实部和虚部应力。
本例将对一个缺口板试件进行简单的 PSD 振动测试模拟。试件几何和测试数据由 Thales Group 提供。文件位于 \demo\designlife\10_Vibration\ 目录下。
步骤1 拖放 frequency_response_specimen.op2 到工作区创建 FE Input glyph。模型为一个带收腰段的板试件,左端夹持,右端在 Z 方向施加随机加速度激励。
步骤2 拖放 testpsd.csv 创建 MultiColumn Input glyph,连接 Data Values Display 和 XY Display glyph,点击 Run。在 XY Display 中使用工具栏图标制作对数-对数图。
振动输入为随机加速度加载,PSD 从 10 Hz 处的 3.6 (m/s^2)^2/Hz 上升到 25 Hz 处的 36 (m/s^2)^2/Hz,然后在 1000 Hz 之前保持恒定。
步骤3 从 DesignLife 面板拖出 Vibration CAE Fatigue glyph,连接到 FE Input 和 MultiColumn Input glyph。Vibration CAE Fatigue glyph 有两个 FE 输入端口(上为 FRF,下为静态偏移载荷)和两个 PSD 输入端口(上为多列输入,下为直方图输入),以及两个输出端口。
步骤4 添加并连接 FE Display 和 Data Values Display glyph。
步骤1 右键 Vibration Analysis glyph 选择 Edit Material Mapping(点击 Yes 运行流程)。试件材料为铝合金 6082-T6(UTS 350 MPa),标准库中无此材料疲劳属性,需要估算。点击 Generate 按钮,设置:Material Name = 6082_T6_estimate,Dataset Type = Standard SN,UTS = 350 MPa,Material type = Aluminium,Standard error of log(N) = 0。
步骤2 将生成的材料拖放到 Default Material 行,点击 OK。
步骤3 选择 Edit Load Mapping,在 FRF 选项卡中将 1-PSD Acceleration 拖到 Load Case 1。点击 OK。
步骤4 右键选择 Properties,设置以下属性:AnalysisGroup_ShellLayer = Top,AnalysisGroup_SolutionLocation = Element,AnalysisGroup_StressUnits = Pa,SNEngine_CombinationMethod = AbsMaxPrincipal。点击 OK 并运行。
步骤1 右键 FE Display glyph 选择 Properties,在 Results Legend 中点击 Max.Min. 按钮,设 Min Value 为 1E-10,点击 Apply。
步骤2 展开 DataValuesDisplay2 glyph,点击 Column 12 按计算寿命排序。预测寿命为 3773 repeats(1 repeat = 1 秒 ExposureDuration)。
将 ExposureDuration 改为 3600s 后,最大预期应力为 326 MPa,接近但低于材料 UTS。设置 CheckStaticFailure = True 重新运行,预测寿命变为 1990 repeats。
七个试件的物理振动台测试结果(秒):1620、1020、1560、1560、1800、1860、2100。仿真结果与实验数据高度吻合。
PSD 频域方法
DesignLife 支持四种从应力 PSD 预测雨流幅值概率密度函数的算法:Lalanne、Dirlik、Narrow Band 和 Steinberg。Lalanne 和 Dirlik 方法最为通用;Narrow Band 方法仅适用于窄带条件,否则非常保守。本例中虽然输入覆盖宽频带,但关键区域的结构响应基本为窄带,因此 Narrow Band 方法也表现良好。
基本振动分析产生零平均应力的应力循环。如果构件因制造或装配方式存在已知平均应力,可以通过静态偏移载荷工况纳入计算。打开 vibration_process_WithStaticOffset.flo,将 FRF 和静态偏移文件分别连接到对应端口。
在 Advanced Edit 中可以看到两个 FE Import Results Set(FRF 和静态偏移),VibrationOffset 属性为 True。SNEngine 的 MeanStressCorrection 已设为 Goodman 以考虑平均应力影响。
本例模拟按 MIL-STD-810F 标准对安装支架进行的三轴顺序 PSD 振动测试,模拟美国公路卡车振动环境。先激励 X 轴,然后 Y 轴,最后 Z 轴,这是大多数电动振动台仅能单轴激励的实际情况。
步骤1 打开 vibration_dutycyle_pt1.flo,拖放 mounting_bracket_random.op2 到工作区。
步骤2 从 Input 面板拖出 Vibration Generator glyph,重命名为 VibrationGenerator_Zaxis。在 Properties 中添加三行数据:10 Hz / 0.015 g^2/Hz,40 Hz / 0.015 g^2/Hz,500 Hz / 0.00015 g^2/Hz。
步骤3 拖出 Vibration CAE Fatigue glyph,连接 FEInput。右键选择 Advanced Edit,在 Loading 中将 Loading Type 设为 Duty Cycle。添加三个 Vibration Load Provider,分别重命名为 x_axis_load、y_axis_load、z_axis_load,并各自添加 Histogram Input。
步骤4 设置重复次数:x_axis_load = 900,y_axis_load = 900,z_axis_load = 1800(代表 900 秒 X 轴 + 900 秒 Y 轴 + 1800 秒 Z 轴 = 共 1 小时)。
步骤5 连接 Vibration Generator 到正确的端口,再次 Advanced Edit 进行载荷映射。为每个轴的 Load Case 分配对应的 PSD。
步骤6 Edit Material Mapping 中分配 AL_ALLOY_UML_UTS400 到 Default Material。设 SNEngine_CombinationMethod = AbsMaxPrincipal。
步骤7 连接 FE Display 和 Data Values Display,添加 Hot Spot Detection Glyph,保存并运行。
结果显示损伤最高的节点为 957,热点列表显示前 10 个损伤最大区域。由于重复次数代表 1 小时的顺序激励,结果表示 1 小时内的损伤。
本例使用 Cross Power Spectrum(交叉功率谱)技术,同时激励 X、Y、Z 三轴,模拟真实世界的同时多轴激励。需要两个流程:第一个流程将时域数据转换为频域,第二个流程进行疲劳分析。
步骤1 打开 Cross_PSD.flo,加载 3Axis_Acc.s3t。该流程包含 Cross Power Spectral Density Matrix SuperGlyph,创建交叉谱输入文件。
步骤2 运行第一个流程,生成频域文件和 .mpl 载荷映射文件。
步骤3 打开 Vibration_CPSD.flo,加载 FE 模型。Edit Load Mapping 中选择 Interactive,浏览选择生成的 .mpl 文件。分配 Al_Alloy_UML_UTS400 材料,运行流程。
DataValuesDisplay 显示最损伤节点在列表顶部,寿命单位为秒,表示构件在三轴同时激励下的预测持续时间。
✅ 掌握了 PSD 振动疲劳分析的完整流程
✅ 学会了单轴、顺序多轴和同时多轴振动测试的模拟方法
✅ 了解了 Cross Power Spectrum 技术和静态应力偏移的应用