前段时间新入职的小伙伴在做一个控制器随机振动分析的时候,算完和我说结果都没问题,3σ应力都很小。但是根据我以前的经验,3σ应力不应该这么小,我怀疑他计算参数应该有问题,就让他把模型发我检查。
我反复检查网格、边界条件都没问题,最后发现,竟然是 *PSD-DEFINITION 里一个不起眼的参数填错了。
在 Abaqus 中定义功率谱密度(PSD)时,单位制的匹配极其绕人。特别是当 TYPE=BASE(基础励磁)且输入关联到重力加速度 时,稍有不慎,结果就会当场飙升 1,000,000 倍。
今天,我们就用通俗易懂的彻底把 G参数、Real实部、单位制转换的底层逻辑一次性讲明白。建议收藏,每次调模型前拿出来对一下!
很多初学者把 G 误认为是“当前单位制下的重力加速度”,然后不管三七二十一直接填进去。
💡 核心定义这里的 G 实际上是一个缩放因子(Scale Factor)。它的唯一任务,是把你的输入数据,转换成 Abaqus 内部计算所用的绝对加速度单位。
它的填法完全取决于你的输入数据长什么样:
情况一:如果你用“多少个 g”来描述 PSD 强度(最常见)这时候,你需要在 Abaqus 中告诉系统:** 在当前单位制下等于多少绝对加速度?**
mm-t-s 单位制(汽车/机械常用): G = 9810
m-kg-s 单位制(国际标准): G = 9.81
情况二:如果你的输入数据已经是绝对加速度(如 )既然数据已经到齐了,不需要通过 来换算,那么直接设置 G = 1.0
当 TYPE=BASE 且未指定 DB 时,Real 输入框的数据单位是 (即 )。这里的 怎么填,取决于你上面对 G 的定义。
工程上最常用的有两种组合,强烈推荐情况 A:
如果测试报告或标准给出的 PSD 曲线纵轴是 ,你不需要做任何数学换算,直接照抄原数据数值填入 Real。此时的 G 必须填入当前单位制下的重力加速度绝对值。
| mm-t-s (毫米-吨) | 9810 | |||
| m-kg-s (米-公斤) | 9.81 |
* 💾 INP 文件写法示例(以 mm 单位制、0.05 g²/Hz @ 100Hz 为例):
*PSD-DEFINITION, NAME=psd_name, TYPE=BASE, G=9810
0.05, 0.0, 100.0
(注:由于通常不考虑相位差,Imaginary 虚部一般直接填 0.0)
例如在ANSA中可如下填写即可
如果你的数据已经手动转换过了,统一设置 G = 1.0。但此时 Real 的数值必须乘以巨大的系数。
| mm-t-s (毫米-吨) | 1.0 | ||
| m-kg-s (米-公斤) | 1.0 |
在几何建模时,从 m 切换到 mm 只是数值乘以 1000。但在 PSD 分析中,这是最容易让人倾家荡产的地方!
因为 PSD 的纵轴是加速度的平方。长度单位从 m 变成 mm 时,加速度数值扩大了 倍,而进入平方项后,这个放大效应会变成:
我们来看两种转换场景的本质区别:
0.005,换成毫米单位制,曲线上的纵轴数值要手动乘以 ,变成 5000!敲黑板划重点: 如果输入单位是 ,从 m 切换到 mm,你的输入数据(Real)数值完全不需要动!
因为 是一个相对单位(多少个重力加速度),不管模型单位是米还是毫米,这一条 的曲线数值都一样。你唯一需要改变的,是软件里的放大因子 G(从 9.81 变成 9810)。
| PSD 纵轴数值 | |||
| 横轴频率 (Hz) | |||
| 放大因子 G | 关键! |
为了让你彻底放心,我们用著名的迈尔斯公式(Miles Equation)来做个倒推验证。总加速度响应 的计算公式为:
由于等式右边的频率 、阻尼放大倍数 和输入响应 (单位为 )在两种单位制下数值完全相同,因此手算出来的总加速度响应 物理量(比如算出来是 )也完全相同。
这两种绝对加速度在各自的单位制下,算出来的应力结果数量级是完全等价的(m 单位制输出 ,mm 单位制输出 ,两者正好差 倍,完美对齐!)。
📥 工程师防错专用(建议长按截图保存)
[ ] 数据单位是 :数据数值雷打不动,只改软件里的 G 参数(米制填 9.81,毫米制填9810)。[ ] 数据单位是 :转成毫米单位制时,数据实部(Real)必须手动乘以 1,000,000! [ ] 虚部(Imaginary):无特殊相位要求时,一律闭眼填 0.0。
互动话题:你在做随机振动或者谱分析时,还踩过哪些由于“单位制”导致的坑?欢迎在评论区留言吐槽!
(期待您的点赞、在看、分享三连!)