简介:这份资料是一份ABAQUS随机振动分析的实操讲义,面向需要完成结构动力学仿真与产品可靠性评估的工程师、高校师生及有限元初学者,围绕随机激励下结构响应预测这一典型工程问题展开。全包仅含1个PDF文档,体积约2.82MB,轻量便于查阅打印,内容以图文步骤形式呈现,无需额外脚本或工程文件即可跟随练习。讲义以某电子产品简化模型为例,完整覆盖IGES实体导入与shell模型创建、CAE中删除面与延展表面、修补底座及圆孔、按厚度分割加强区、材料与截面属性赋值、结构装配以及随机振动分析设置等环节,并给出四底座固支承受随机激励的载荷边界条件与结果解读思路。文中对导入后密集点影响网格划分、孔半径略大于原孔以清除冗余点等细节均有提示,可帮助读者规避常见建模障碍。目前已有686人学习下载,适合希望系统掌握ABAQUS随机振动流程、补齐前处理建模短板的读者参考。
1. 从 IGES 到 shell 几何:ABAQUS随机振动分析的前置修模链路
很多人第一次做随机振动,卡的不是求解器,而是几何。项目给的是 IGES 实体,交付前却要转成壳,中间得靠 ABAQUS/CAE 一层层删面、补面、切孔——任何一处几何有裂缝,后面的频率步就会先崩。这篇以某电子产品在 PSD 基础激励下的响应分析为主线,把从导入 IGES 到提交random作业的完整链路拆开讲。它适合已经会点 ABAQUS 基本操作、但对随机响应分析一知半解的工程师,也适合拿它当中文版操作参照的学生。所谓随机振动,本质是把结构放到一段功率谱密度描述的基础激励里,先求模态,再用模态叠加算响应;复杂度不在公式,而在单位、截面、耦合和关键字这四件事上。
IGES 文件按实体的逻辑存面,ABAQUS 读进来默认会给一批 Solid 体。本例结构是电子产品的壳类件,单元类型要按 shell 走,所以导入这一关就得改拓扑:主菜单File → Import → Part,选文件后在Create Part From IGES File里把Topology切成Shell,Name 写random。切完以后你会发现模型常常比想象的乱——原始 CAD 遗留面、圆孔边的密集点、肋板和外表面的缺口全在。主菜单Shape → Shell → Remove Face是关键工具,点面变红后中键确认即可删除,逐块清到只剩需要的承载表面。
删不是目的,补才是。产品外形上常缺 3 个外表面加 6 个内表面,用Shape → Shell → Extrude:选中边缘进入 Sketch,用Create Lines画出轮廓线,再在Edit Extrusion里把Type设成Up to Face,用Flip调好箭头方向,最后点底面作为终止面。四角的底座孔更不能马虎,原 IGES 在孔周会留下十几到几十个密集的角点,划分网格时直接把你逼疯。做法是用Shape → Cut → Extrude在孔圈上画一个半径略大于原孔的圆——例子里原孔 2.75,切到 2.755 就够,把密集点整体切掉。
几何后期还要处理两类事:切薄区和分割加强区。厚度不一致的位置要在Tools → Partition,Type=Face、Method=Sketch,在面上画线把区域切出来,这样后面赋不同 Section 才有落脚点。肋板处同样切一个矩形加强区。到这一步,"能划分网格"和"能算准"其实是两回事,但边界已经画好了。整个修模阶段最容易翻车的是面与面之间留缝、法向反了、或者 Extrude 方向选错,检查手段是打开Tools → Query → Geometry逐块点,看有没有 Free edge。
2. 单位、截面与耦合约束:把电子产品模型装配成可算的壳单元系统
几何修完,接手的是 Property 模块。这一步看着无聊,实际是随机振动最常出事的地方。IGES 给的是毫米量纲,材料参数就必须全程用 mm 制,否则频率算出来会差三个数量级,随机响应的量级也跟着一起错。
2.1 毫米制材料参数与四种壳厚截面
Material → Create建材料,在Mechanical → Elasticity → Elastic填杨氏模量7e7、泊松比0.3;再在General → Density填2.7e-6。这里 7e7 是 MPa(N/mm²),2.7e-6 对应吨每立方毫米量级的密度,配合毫米几何正好自洽。接着Section → Create,Category 选Shell,依次建出厚度1.6、3、6、8四个截面。建完别急着Assign,先把 Section 名字带厚度写清楚,比方Section-1_6MM,不然后面挑截面时对着列表发蒙。
| 部位 | 建议厚度(mm) | 说明 |
|---|---|---|
| 主体外壳 | 1.6 | 最薄,最容易在 PSD 下局部共振 |
| 侧壁 | 3 | 过渡段 |
| 肋板 | 6 | 承力区 |
| 加强底座 | 8 | 接地点,刚度大 |
分配用Assign → Section,选面群一次性刷完。注意壳单元没有厚度方向实体,厚度只影响弯曲刚度和质量,如果发现某块算出来偏刚,先看是不是厚度写反了部位。
2.2 参考点、Coupling 与固支边界
四个底座要做固支,但直接给底座面加密约束容易引起局部应力集中,惯用做法是打一个参考点,通过 Coupling 把底座面绑到这个点上。例子里Tools → Reference Point建 RP-1,坐标默认(0,0,0);Constraint → Create选Coupling,控制点选 RP-1,被控区域选底座表面上带网格的那块面。对话框里记得取消不需要的自由度勾选,避免把整个面自由度全锁死。约束建完,边界条件用BC → Create,直接把Encastre加在 RP-1 上,四个底座通过耦合同时被固支。
# 耦合约束与固支在 INP 里的等价写法(对照检查用) *Coupling, Constraint name=Constraint-1, Ref node=1, Surface=Surf-1 *Kinematic 1, 1 1, 2 1, 3 *Boundary 1, ENCASTRE这段代码检查的是你 CAE 里耦合和约束到底生成了什么:*Coupling后面接*Kinematic是运动耦合,1,1到1,3表示从节点跟随参考点的三个平动自由度;*Boundary里ENCASTRE一次锁六个自由度的固定边界。如果发现激励算完位移量级奇怪,先回来看这一对约束是不是把某个方向多锁了。
3. 频率步 + 随机响应步:模态求解与 PSD 基础激励的参数配置
随机响应分析在前处理层面永远拆成两步:先频率,再随机响应。第一步求模态频率和振型,第二步用模态结果去叠加 PSD 输入。少了频率步,求解器会直接报模态缺失。
3.1 频率分析步:取多少阶模态
Step → Create,Procedure type选Linear perturbation,子选项选Frequency。进入Edit Step,在Number of eigenvalues requested的eigen里选Value,填20。为什么是 20?因为 PSD 激励覆盖到 2000Hz,前 20 阶模态通常已经把主要参与质量吃掉了——真正确认够不够,得在结果里看有效模态质量占比。对电子产品这种紧凑结构,前几阶往往是整体弯曲,高几阶才是局部壳板共振,阶数太少会漏掉关键响应。
3.2 随机响应步:频率范围、点数与偏置
第二步Step → Create,Procedure type选Linear perturbation,子选项选Random response。在Edit Step的 Basic 页填:
| 参数 | 取值 | 含义 |
|---|---|---|
| Scale | Linear | 频率轴线性 |
| Lower Frequency | 10 | 起始激励频率(Hz) |
| Upper Frequency | 2000 | 结束激励频率(Hz) |
| Number of Points | 20 | 频响采样点数 |
| Bias | 3 | 采样点向低频聚集 |
偏置 Bias 是关键。频率轴取对数时,10 到 2000 跨度两个多数量级,如果点数均匀铺开,低频共振区采样过疏,峰值直接被削平。偏置设 3 让采样点往低频挤,配合 PSD 曲线在 150、350、700、1400Hz 的台阶变化,峰值附近才有足够密度。
3.3 阻尼参数:直接模态阻尼怎么填
同一个对话框切到Damping页,勾using direct damping data,在Direct Modal里依次填1、20、0.001。这三个数是起始模态号、结束模态号和对应的模态阻尼比,含义是第 1 到第 20 阶模态统一用 0.001 的阻尼比。0.001 对电子产品整机大致落在合理区间,但结构件、装配刚度不同会差很多,做对标时这一步是第一顺位要调的量。填错阻尼最典型的后果是共振峰高度离谱——不是求解器错,是你给的能量耗散不对。
# 用 Python 直接改 INP 里的模态阻尼段做扫参 import re with open("random.inp") as f: txt = f.read() # 对应 *MODAL DAMPING, DEFINITION=DIRECT 段 pattern = re.compile(r"(\*Modal Damping.*?\n)([\d\s\.,\-\n]+)", re.S) for zeta in [0.001, 0.005, 0.02]: body = f"1, 20, {zeta}\n" txt_new = pattern.sub(r"\1" + body, txt, count=1) with open(f"random_zeta_{zeta}.inp", "w") as g: g.write(txt_new)这段脚本利用*Modal Damping块的文本特征,对 0.001、0.005、0.02 三档阻尼比批量生成 INP,跑完对比同一节点 U3 的 PSD 响应峰。比值一摆出来,你就能判断实验测得的实际阻尼大概落在哪一档,比一次性猜参数靠谱。
4. 关键字硬核补丁:用 *PSD-DEFINITION 和 *BASE MOTION 打通 CAE 盲区
前处理到这一步会撞上一件让人头疼的事:ABAQUS/CAE 的图形界面没有 PSD 谱定义、基础运动和相关性的入口。这几个关键字必须手工写进 INP,否则求解器读不到激励,只是空转模态。入口是Model → Edit keywords → Model-1。
4.1 PSD 谱定义:台阶型基础加速度谱
谱本身是个台阶函数,本例给到 2000Hz,阶梯关键点在 10、149、150、349、350、699、700、1399、1400、2000Hz,对应的G=9.81e3是按毫米单位换算的重力加速度。往 INP 的 Model 数据段插入:
*PSD-DEFINITION, NAME=PSD, TYPE=BASE, G=9.81e3 0.04, 0.0, 10 0.04, 0.0, 149 0.065, 0.0, 150 0.065, 0.0, 349 0.094, 0.0, 350 0.094, 0.0, 699 0.130, 0.0, 700 0.130, 0.0, 1399 0.072, 0.0, 1400 0.072, 0.0, 2000每行三个数:PSD 值、实部与虚部(虚部为 0,代表纯实功率谱)、频率。相邻行频率成对给出,正是为了让谱在 149→150 之间做垂直跳变,而不是斜线过渡。TYPE=BASE表示这是基础加速度激励,而不是力或位移谱。
4.2 基础运动与相关性
光有谱不够,还要指定在哪个自由度上施加、用哪个 load case:
*BASE MOTION, DOF=1, LOAD CASE=1 *CORRELATION, PSD=PSD, TYPE=UNCORRELATED 1, 1.DOF=1表示基础激励作用在 X 向平动。*CORRELATION里TYPE=UNCORRELATED与后面1, 1.配合,表示多方向激励之间互不相关、自相关系数为 1。如果工况需要三向同时激励,这里要扩展成互不相关的多组,并对应新增 load case。写完关键字必须回输入文件确认位置——它要落在 Modal 数据段之后、History 数据段之前,插错位置求解器会以unknown keyword报错,别看错在别处去。
提示:每次改完 Edit keywords 都回 CAE 里再点一次 Write Input,让图形界面把后续改动落到 INP 里,别只在关键字编辑窗口改而不落盘。
5. 网格、输出与后处理:结果能不能用,全看这三步
几何、材料、关键字都齐了,随机响应能不能给出可用结果,最后压在三件事上:网格质量、输出请求、后处理取值。任意一处偷懒,报出来的 PSD 都可以很美,但没意义。
5.1 全局种子与 Quad-dominated 控制
Mesh 模块里Seed → Instance,选全部三个部件,Global Seeds的Approximate global size填3.5。这个数针对毫米量纲,大致意味着单元边长 3.5mm,对厚度 1.6mm 的壳来说偏粗,但能压低总自由度。要更细可以降到 2,代价是频率步和随机响应步都明显变慢。肋板区另用Mesh → Controls单独处理,Element Shape选Quad-dominated,把四块肋板选上,避免四边形被劈成四面体导致壳单元退化。
划分完成后先看两点:一是有没有报未连接节点,直接搜 INP 里的*Nset数量,或回 CAE 用Tools → Query → Mesh找孤立点;二是孔边圆整度,如果圆孔变成多边形,返回 4.3 的切除步骤把切圆半径再调大一点。
5.2 历史输出与场输出一起抓
随机振动最有信息量的输出是历史输出,本例关心薄弱环节的位移。Tools → Set → Create建 Set-1 圈住关键区域,再Output → History output requests → Create,Domain选Set,输出U1、U2、U3。这里选的是 Step-2,才不会把频率步的无效输出混进来。同时Output → Field output requests加一份默认场输出,方便在云图上找热点。
*Output, history, set=Set-1, frequency=1 U1, U2, U3frequency=1表示每一步增量都写一次历史输出,随机响应里就是每个采样频率都记。Set-1 若不小心圈到耦合约束面上,U1、U2、U3 会被参考点位移污染,取结果前先看节点编号确认圈选范围。
5.3 后处理:先看频率,再读 RMS 与峰值
提交random作业,Job Manager 里点Monitor盯住Standard日志,重点看两行:模态求解是否收敛、随机响应有没有出现zero mass类警告。算完进 Visualization,Result → Field Output里点Step/Frame,先确认低阶频率是否落在合理区间——电子产品整机一阶通常几十到几百赫兹,如果一阶跑到几千赫兹,八成是单位错了或者截面厚度贴反。接着切到History Output,X 轴选频率、Y 轴选 U3 的 PSD 曲线,找峰值对应的频率与幅值,逐级对比 PSD 输入曲线的台阶。
真正拿去做设计判断的是 RMS。对PSD U3曲线在 10 到 2000Hz 积分再开方,得到该节点的位移均方根,用它去对标产品规范里的加速度或位移限值。峰值频率和 RMS 一起看:峰值频率落在激励台阶内、RMS 明显偏大的区域,就是下一轮改设计要加厚、加筋或者加装减振的位置。
注意:修改几何或截面后,关键字块要重新落到 INP。CAE 会保留你手写的关键字,但一旦切了 Step 或重写输入,位置就容易跑偏,每次重提作业前扫一眼
*PSD-DEFINITION是否还在正确的数据段。
本文还有配套的精品资源,点击获取