最开始接触仿真是在大学时,土木结构多为梁板柱等规则可批量生成的结构体,所以一开始并没有学GUI界面,而是直接学的是ANSYS APDL,王新敏老师$^{[1][2][3]}$三本书给我的启发很大,后来于空间结构研究中心学习了《空间钢结构APDL参数化计算与分析》,给了我不小的震撼,按照一定规则生成的结构体,都可以以参数化的形式编程。
参加工作后学习了Hypermesh 和 Creo, 一直有个想法在我的脑海中:能不能将各个部件网格参数化,并以装配的形式组合在一起 ?这个问题直到我遇到了另一个软件Romax给我了解答。Romax作为轴齿分析软件,它可以参数化输入轴齿参数,生成轴齿计算模型。分析其内核,原理十分简单,Romax计算基于多少动力学,齿轮和轴承的刚度计算皆源于工程算法如(ISO6336 、ISO16281)等。

那么我能不能将其部件拓展的更广,不再局限于轴承和齿轮,2~3年前我开始构思整个框架的搭建,期间大改了好几次,最近准备将其逐步开源。
Baffalo框架简介
Baffalo设计的目的是让CAE分析先于CAD, 同时集成一些关键的设计参数,形成CAE BOM,以便在设计初期就结构或是系统的承载或响应等关键信息。
网格框架
首先需要解决的问题是如何进行网格划分,比如下图由齿轮端面拉伸为3维的实体网格。
![]() | ![]() |
斜齿轮端面网格 | 斜齿轮三维网格 |
我将网格划分拆分为了点、线、面、二维网格、三维网格,每个独立的模块负责处理功能,也方便后期拓展和维护

Point2D: 用来生成2维点
Point: 生成3维点
Line2D : 由2维的点生成2维线
Line: 由点生成线
Surface2D: 由2维的线生成2维平面
Mesh2D: 由2维的生成2维网格
Mesh: 生成3维网格
除此之外,
工程模块
在工程机械中,包含一个个部件,为此在Baffalo中设计了抽象的部件Component类:
- input : 输入,可以是载荷,几何尺寸
- params : 参数, 默认的设置,材料等
- output : 输出,网格模型,关键设计参数
- baseline : 基准,部件须达到的设计基准
- capacity : 能力,部件的安全系数
对比simulink,此处多了两个接口,一个是baseline,还有一个是capacity, 这两个接口非常符合工程设计的需要,比如BoltJoint螺栓节点校核中,需要螺栓节点的极限、屈服和疲劳等安全系数就可以在该接口查看。同时针对多部件装配成的系统,设计了Margin类,方便查看整个系统的安全裕度。

求解
目前Baffalo并不支持复杂装配体求解,它支持将文件导出到ANSYS、Simpack(developing)中求解。
对于一些简单的求解器,笔者可能会尝试开发,比如转子动力学RotDyn, 基于铁木辛柯梁,该模块可以建立轴与轴套两个部件的转子动力学分析,谐响应和模态分析可导出ANSYS求解,频响分析、时序分析则在本地求解,同时加入了主动磁力轴承和PID控制等部件。
后处理
后处理计划在ParaView中执行,一方面采用成熟的开源软件可以节省开发时间,另一方面在网格数量较大时,Matlab的画图模块无法很流畅的处理。
Baffalo对输出的VTK格式做了适配,利用Assembly中的Plot2函数可以直接将装配体导入到ParaView中,因此可以在产品设计初期基于网格来做一些简单产品的效果和渲染图。下图为联轴器的装配视图,左边为零件区,右边为视图区。
零件
Baffalo零件都继承于Component类,目前已经上传了很多通用零件模块,但仍有很多部件正在开发,因为中途经历过一次框架的升级,很多零件(比如齿轮和滚子轴承)还需要重新更改,这需要花费很多时间。一些零件模块如下:
- 普通轴Commonshaft: 定义轴内径、外径和长度划分轴网格
- 普通板Commonplate : 定义截面,拉伸成网格
- 带台阶板 BossPlate : 带台阶板
- 复杂体 Body: 生成复杂形状形体,不追求完全准确,但求其质量、转动惯量等信息匹配。
- 轴套Housing: 旋转成体网格
- 导向轴支座ShaftSupport : 对应非标选型手册中的导向轴支座
- 工字梁IBeam: 工字梁
- 复合材料圆环CompositeRing: 复合材料圆环
- 螺栓Bolt : 单个螺栓
- 螺栓节点BoltJoint: 螺栓节点分析校核
- 层合板Laminate: 复合材料层合板分析
方法
工程中会需要许多工程计算方法,笔者也将一些计算归类于+method文件夹下:
- 编织复合材料元胞WovenCell : 编织复合材料微观力学计算
- 旋转圆盘RotatingDisc : 弹性力学旋转圆盘应力分析
- 厚壁筒体ThickWallCylinder : 弹性力学厚壁筒体分析
- 过盈配合InterferenceFit : 过盈配合分析
- 复合材料微观力学Composite_Micromechanics : 复合材料微观力学分析
参考文献
[1] ANSYS工程结构数值分析
[2] ANSYS结构动力分析
[3] ANSYS结构分析单元与应用
[4] 空间钢结构APDL参数化计算与分析
[5] ISO 6336
[6] ISO 16281
本网站基于Hexo 3-Hexz主题生成。如需转载请标注来源,如有错误请批评指正,欢迎邮件至 392176462@qq.com