又是那个经典报错,Eigenvalue solver 没收敛,窗口弹出来那一刻我正在喝凉掉的美式,鼠标停在 job monitor 上愣了两秒,心想这模型又不是第一次算,昨天还能跑出前六阶屈曲模态,今天把边界条件从 PINNED 改成 ENCASTRE 就直接翻脸,刚度矩阵一变 Lanczos 提取阶数设的 10 现在只肯给 3 个还带负号,负特征值那行红得刺眼,旁边老周在啃酱香饼,芝麻掉在键盘缝隙里,空调那天还坏了,机房热得像被压杆自己放热烤着,我后背汗贴着椅子,盯着 .dat 里 ***ERROR: THE SYSTEM IS SINGULAR 看了半天,后来发现是其中一根柱底节点重复约束了两次,CAE 里看不出来,inp 里 *BOUNDARY 写了两遍 1, 1, 1 和 1, 1, 6,删掉一行就好,这种事 Ansys 里用 /SOLU 加 BUCKLE 反而不容易手滑因为批处理写死在宏里,Abaqus 这边图形界面太自由反而出鬼。
Step 里选 Static, General 别选 Linear perturbation 下的 Buckle 当主分析步,Buckle 是线性屈曲,吃的是上一步的应力刚度和刚度矩阵,前面没个像样的静力预加载它直接瞎给,我一般先来一个静力步把轴力加上,再插 Buckle 步,*STEP, NLGEOM=NO 的静力步也行但最好 NLGEOM=YES 做几何非线性预弯,然后 Buckle 步里 num eigen=15,提取算法默认 Lanczos,子空间不够就换 AMS,大模型 AMS 快但内存吃得凶,128G 工作站跑 80 万单元 AMS 能比 Lanczos 快三倍,就是有时候模态丢,别全信前几阶。
Model->Edit Step->Basic 里 Description 随便写,Incrementation 里 Maximum number of increments 给 1000,Initial 给 1e-5,Min 给 1e-8,这些数不是金科玉律,昨天那个钢桁架我 Initial 设 0.01 直接跳过临界前变形,屈曲荷载算出来比理论欧拉荷载高 12%,改回 1e-4 才贴回去,理论公式 Pcr=π²EI/L² 在那儿摆着,仿真不收敛八成不是公式错了是你加载路径太粗。
载荷那边记得用 *CLOAD 或者 *DLOAD 别用位移控制去逼屈曲,位移控制会把屈曲分岔点“压”过去,你看到的是后屈曲大变形不是临界荷载,要临界荷载就力加载,Buckle 步里载荷乘数 λ 乘到预加载上,输出里 *.odb 看 mode 形状,*NODE FILE, FREQUENCY=1 配 U, RF 就够了,模态参与因子那些花活儿做耦合分析才用,单纯找哪根杆先弯不需要。

inp 手改比 CAE 点来点去稳,尤其是 *BUCKLE 后面跟提取阶数和 shift 值,shift 设 0 就从零频附近找,设负数往负刚度区探,探屈曲一般别动,设了容易把刚体模态混进来,刚体模态特征值接近 0 但不是你要的屈曲模态,后处理里 mode 1 看着像整体平移就回去查约束,不是 Lanczos 的锅,Nastran 里 SOL 105 也这德行,模态排序和约束残缺永远缠一块。
Job->Write Input 完事去命令行 abaqus job=xxx datacheck 先跑一遍,datacheck 不求解只查关键字和单元定义,省得排队等 HPC 排到你了才发现 ** 没关的注释把 *STEP 吞了,之前那回就是复制隔壁模型的 inp,头部多了个* buckle test old后面跟了个没闭合的RESTART,批处理提交后卡在 0% 半小时,运维过来敲我桌子说你这 job 把节点锁了,我一边回“马上杀”一边abaqus terminate job=xxx`,终端白字刷出来那一瞬机房排风扇终于响了,老周酱香饼也吃完了,满屋子葱油味混着热风,我重新写 inp 把 RESTART 去掉,再提交,前六阶模态 23 秒出来,λ 分别是 1.84、2.07、3.91、4.02、5.66、5.71,和手算基频荷载差 3% 以内。
Interaction 和 Constraint 里 Coupling 别乱挂,参考点 RP 绑一大片节点再做屈曲,RP 自由度如果没全约束住,Buckle 步提取出来 mode 形状像 RP 在太空飘,不是结构屈了是参考点在浪,这种假模态比不收敛还烦,因为不报错,odb 里云图一放老板还以为新体系很柔,实际是 RP 漏了 1, 2, 3, 4, 5, 6 全锁,Ansys 里 rbe2 没设好也一样,MPC 主从节点挑错整个子结构跟风筝似的。
*RESTART, WRITE, FREQUENCY=1 留着,后处理想接着做 Riks 后屈曲就从这个 Buckle 前的静力步重启,Riks 步里 *STATIC, RIKS 配 MAX LP F 和弧长参数,弧长给太小走不过snap-through,给太大跳过跌落段,这个数我都是先跑 Buckle 拿 λ 再反推,λ=1.84 那工况我弧长初值取 0.05 倍预加载,后期自适应放到 0.3,后屈曲荷载-位移曲线出来有个回弹小平台,和试验件压溃前“咔”一声再垮的对得上,试验那天其实也没空调,夏天做压杆试验手都是汗,夹头拧紧力矩 120 N·m 还打滑,和仿真里接触滑移参数没标定的时候曲线尾段一个德行。
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删