汽车CAE仿真知识点整理
----------仅用于相互交流与学习,不用于营利
一、做仿真分析报告的总体框架:
1、分析目的(背景及意义):通常为法律法规要求,设计验证校核需要等;
2、分析工况介绍;
3、材料说明,材料名称、弹性模量、泊松比、密度、屈服强度、抗拉强度等;
4、结构示意图,分析模型的约束及加载;
5、每种工况对应的分析结果图,判定结果表:材料牌号、屈服强度、抗拉强度、最大应力、判定结果;
6、总结及建议,结果表:分析项目、屈服强度、抗拉强度、最大应力、是否满足设计要求。综合结论;
二、白车身扭转刚度仿真分析
绘制扭转刚度曲线需要在承载式白车身底部前纵梁、门槛梁、后纵梁上选取一系列的点。X取值:每间隔100mm取一个点,读取它们的坐标值及在Z向的位移,根据每对左右取值点的Y向距离值、Z向位移值求出扭转角。
三、白车身弯曲刚度仿真分析
边界条件:约束白车身前左、右减震器Y、Z二个方向的平动自由度;约束白车身后左、右弹簧座X、Y、Z三个方向的平动自由度。
加载:载荷作用于座椅安装点,前排各1000N,后排座椅2000N;
变形量测点分布于前后纵梁和门槛。
在车身纵梁下部和门槛梁下部分布一系列考核点,通过考核点的X坐标和Z向变形量绘制弯曲刚度曲线。
绘制白车身弯曲刚度变形曲线。
各车型弯曲刚度要求:A级车弯曲刚度不小于10000N/mm;B、C级车弯曲刚度不小于14000N/mm。
各门框及窗框对角线变形量以参考车型为准,一般要求门框变形量小于0.2%。
K=P/Dmax,K为车身整体弯曲刚度;其中P为加载的弯曲载荷总和(通常为4000N);Dmax为纵梁、门槛梁位移系列中Z向最大的位移点的变形值,这个点一般位于门槛下方。(通常取纵梁、门槛梁上两数据点Z向位移的平均值)
计算的弯曲刚度变形曲线连续变化,无突变。
形貌优化:
加强筋设置
optistruct创建非线性材料步骤:
进入Utility菜单,选择table create
在create table栏中选取tables1,点击next
出现create/edit tables1后,给予应力应变曲线一个名称,x轴输入应变,y轴输入应力
在材料卡片中创建一个mat1的卡片,点击create/edit
在MAT1这一行中输入杨氏模量,泊松比和密度
在图表的下方勾选MATS1
在TID中选择刚刚创建好的应力应变曲线,type选plastic,Limit输入弹性极限
输入完毕后,选择return,材料非线性赋予完毕。
最大主应力提取:
0D/1D单元
外表越简单,内涵越丰富,说的大概就是0D/1D单元吧。这部分内容涉及到很多求解器的概念,考虑到不同求解器有不同的0D/1D单元,本文以OptiStruct求解器为例,结合实例为大家形象地讲解。
0D单元
简单地说,0D单元就是一个点。
为什么需要这个点呢?
有可能是为了减少计算量,希望把实际中的一个不重要的复杂零件简化为一个质量点,只考虑零件的质量和惯量(忽略该零件的刚度、形状等特性)。也有可能是把实际中的一个焊点/螺栓/铆钉/粘胶/销简化为一个初始长度为0的数学弹簧或者将一个弹簧阻尼器简化为一个数学上的初始长度为0的弹簧阻尼器。
质量点单元
本文只能告诉你怎么简化,至于该不该简化是工程师应该想的事。
质量是质点或质点系平动惯性的度量:
F=ma
质点系的质量就是各个质量的算术和
转动惯量是质点或质点系转动惯性的度量
J = m / α
质点系的惯量计算方法如下(对坐标轴)
当然,以上公式了解一下就行,如果你有一个2D或者3D模型,赋好材料属性后HyperMesh可以直接获取一个零件的质量和惯量。
得到的信息如下(多个页面):
第一个页面是质量与惯量信息,其中惯量是基于全局坐标系计算得到的。
第二个页面是第一页信息的张量表示
注意!
右下3x3矩阵的非对角线元素值是Ixy,Ixz,Iyz的相反数;
第三个页面是在质心位置平行于全局坐标系方向计算的相应值(张量表示);
同样的,6x6矩阵的右下3x3矩阵的非对角线元素取的是Ixy,Ixz,Iyz的相反数。
hanf
获得这些值后如何创建一个质量点来替代实际零件呢?
可以按照以下设置进行 ⬇
首先,为了告诉软件这个点具体表示什么(质量点还是0长度弹簧等),需要用户进入1D > Elem types面板,进行单元类型设置。
CONM2表示质量点单元
选好单元类型后,进入1D > masses面板,进行质量点单元的创建。
默认情况下,按上述方法创建的质量点是没有惯量的,如果需要考虑惯量,可以使用工具栏上的card edit按钮(见下图)进行修改。
下图中没有选择CID_options,也就是使用默认的质心位置为坐标系原点,坐标轴方向平行全局坐标系。这时只需要设置质量大小和3x3的惯量矩阵(副对角线的两个3x3子矩阵全为零)。数值的大小直接取summary第三页的最后一个矩阵中的值即可(如果从6x6矩阵的右下角3x3矩阵取值则需要加上负号)。
如果你的惯量数据是在某个特定坐标系(通常就是主惯性轴)下测得的,建议设置一个局部坐标系(当前版本HyperMesh界面下不支持该操作,需要编辑fem文件)并输入I11,I22,I33。
弹簧单元
另一种常用的0D单元是弹簧单元,目前OptiStruct中最常用的弹簧单元是零长度具有6方向刚度的cbush单元。用于模拟弹簧阻尼器以及各种零件之间的连接关系(固接,铰接及各种其它运动副)。
Cbush单元比较复杂,OptiStruct中的关键字如下
用户需要指定:
1.两个节点,通常要求这两个节点的空间位置相同(否则求解器会报警告)
2.属性,包括各个方向的刚度/阻尼/质量等信息
3.方向矢量,各种刚度等参数都是在该方向下定义的,最简单的方法是指定一个局部坐标系。
接下来通过具体的例子进行讲解~
例1 |
模拟弹簧阻尼器 |
输入模型如下图:
模型中有2个RBE2单元(刚性单元,后面马上就讲到了),独立节点都在中间位置(坐标完全一致),模型已经在中间位置定义好一个直角坐标系。
Step 1. 创建pbush属性,除了K3方向外的其余5个方向都定义为刚性
Step 2. 激活重复对象选择功能(快捷键o或者下拉菜单Preferences > graphics)
Step 3. 进入面板区1D > springs创建cbush单元,设置如下
注意!
面板里面的两个node要分别选择两个不同的节点,方法是在节点位置点击后会出现下图中的圆形图标,这时将鼠标缓慢移动到要选择的节点位置附近,然后再次点击鼠标左键即可选中。
例2 |
模拟球铰 |
重复上例中的Step1至Step3,只需在Step1中修改pbush的刚度选项如下,其它设置完全一样,即为球铰。
这里的转动刚度设定值0.001是随意给定的,该值只要足够小,在实际中可忽略不计即可,等效于释放了该方向自由度。但若给定太小的刚度值(比如1e-6以下)可能导致刚度矩阵病态。
扩 展
实际结构中的其它各种约束条件都可以通过类似的自由度释放的方式来实现。比如圆柱副、平面副、万向节等。
需要注意的是:在线性静力分析中,平面副之类的多自由度铰,如果设置不当,会引发求解器的刚体位移问题。
实际上,在非线性工况下OptiStruct还提供了一个更加便捷的铰链创建工具——JOINTG(2017.3以后版本)
HyperMesh对应的界面在面板区1D > joints
某些铰链需要通过PJOINTG属性定义相关的参数
相关的关键字示例如下:
如想进一步了解jointg的使用方法可以通过以下链接中的文件学习
学习文件下载链接如下https://pan.baidu.com/s/1eSYMOxFfOFcPrUSD2GCU8g
例4 |
深沟球轴承建模 |
典型的深沟球轴承结构如下图,是传动系统精确建模的关键之一,通常内圈和外圈采用实体建模,滚子采用弹簧单元进行简化。考虑到实际的滚子是接触传力,所以应该采用抗压不抗拉的非线性弹簧单元进行建模(非线性刚度,所以必须是非线性工况)。
根据接触传力的特点:
1. 接触面的力的方向垂直于曲面法向
2. 滚子受力若要平衡,两端的力必须要在同一条直线上
取一个滚子位置演示如何在HyperMesh中进行建模
Step 1. 从整体模型中取出一个滚子的部分
Step 2. 沿着这个部分的中心位置切开,并按照弹簧的数量撒点(假定是10根弹簧,弹簧的刚度参数需要通过实验对标得到具体值)
Step 3. 创建弹簧所在位置的线,在geom > lines面板里的工具从边上的点沿着中心点方向拉伸。
结果如下:
Step 4. 创建弹簧的位移-力曲线
Step 5. 创建pbush1D属性
注意!
这里的K用于线性静态分析/模态分析等线性工况(这时cbush1D会自动转化为cbush)
Step 6. 将spring单元类型为cbush1D
Step 7. 划分单元,每条线一个单元
结果如下:
需要设置非线性迭代卡片,输出卡片、工况等关键字才能起作用。这部分是求解器的内容了,有兴趣的可以下载下面的例子进一步学习。
案例下载链接如下 ⬇
https://pan.baidu.com/s/1z_Cluj42Oy9xrLj6U4uzxg
RBE2单元
RBE2是刚性单元,在1D > rigids面板创建
Calculate node也可以切换为选择任意一个模型中的点(通常是不属于任何网格的节点)
右侧的6个自由度选项是控制从属节点的自由度(独立节点总是具有6个自由度)
RBE2常用于载荷加载和模型连接,也经常和其它单元组成复杂焊点
RBE3单元
RBE3是加权单元,加权的方式取决于各个从属节点weight的值
RBE3在1D > rbe3面板创建
RBE2转换为RBE3
使用1D > config edit面板
RBE3转换为RBE2
使用1D > config edit面板
1D单元
1D单元有杆和梁两大类
最简单的1D单元是杆单元,杆对应于实际结构中的绗架,典型结构如下图柳州白沙大桥的拉索
杆单元可以抗拉、抗压、抗扭,但是不能抗弯,所以定义杆单元的时候需要提供材料、截面形状。
在HyperMesh中创建杆单元的步骤如下
Step 1. 创建材料
Step 2. 创建截面
Step 3. 创建属性
Step 4. 将属性赋给component
Step 5. 在面板区1D > rods面板创建杆单元
这样就创建了一个杆单元
接下来做一个有趣的例子。
你只需要下载并运行如下脚本就可以得到一个C60(足球)的杆模型
C60运行脚本下载链接如下 ⬇
https://pan.baidu.com/s/1VH8ybUgwFeTOOHUlj6VqiA
模型中绿色的球是只是为了显示目的
除了crod,杆单元还有一些变种,比如:
1. 自带截面的ctube管单元
2. 两头自带连接功能的cweld焊点单元等
Cweld是一种强大的单元,可以连接:
单元-单元
点-单元
点-点
如果焊点直径超过单个被连接单元的尺寸,还可以指定一片单元与另一片单元的连接。
Cweld单元通常都是批量创建,放在后面介绍焊点模块的时候再介绍具体操作。
其它更复杂的无法用杆单元简化的情况则需要使用梁单元,梁单元在土木工程、重型机械、航空、船舶等行业被大量使用,比如鸟巢的钢结构需要使用梁单元进行模拟,梁单元的内容将在下一期进行介绍。
前处理:
六面体网格划分
焊缝壳单元
查看更多评论 >