本文摘要(由AI生成):
本文主要介绍了梁单元在OptiStruct中的定义、分类、卡片项、坐标系以及创建方法。梁单元比杆单元复杂,需要定义更多的参数,包括材料、截面面积、扭转常数、截面惯性矩、惯性积、截面定位方向、节点偏置、自由度释放等。梁单元分为CBAR和CBEAM两种,CBAR是简单梁,CBEAM是复杂梁,两者的主要区别在于CBAR单元只支持一个截面,且剪切中心与中性轴重合,而CBEAM单元可以支持多个截面,且剪切中心与中性轴不一定重合。用户可以分别为偏置和定位矢量选择坐标系,梁单元的单元坐标系按照一定的方法确定。梁单元的创建方法包括在1D > bars面板创建、从曲线创建、从2D单元创建、从3D单元创建等。
无论是在前处理还是求解器层面梁单元都比上一讲介绍的杆单元复杂。
杆单元只需要定义材料、截面面积和扭转常数。
但梁单元必须定义材料、截面面积、扭转常数、截面惯性矩、惯性积、截面定位方向、节点偏置、自由度释放等参数。
在OptiStruct中的梁又可以分为CBAR各CBEAM两种,CBAR是简单梁,CBEAM是复杂梁。
两者的主要区别如下 ⬇
1. CBAR单元只支持一个截面,即不能模拟变截面梁。
2. CBAR单元的剪切中心与中性轴重合,即截面形状必须是轴对称的,常见的比如L型标准截面梁和汽车的A柱B柱等非标准截面梁都是非对称的,必须采用CBEAM。
CBAR和CBEAM的卡片如下 ⬇
CBEAM还有一些可选的卡片项
用户可以分别为偏置和定位矢量选择坐标系
梁单元的单元坐标系如下图所示 ⬇
上图中:GA和GB是模型中的节点,根据偏置值得到最终计算使用的梁单元节点位置End A和End B。
梁单元的单元坐标系按照以下方法确定 ⬇
x轴方向为End A指向End B
xy平面由x轴以及用户输入矢量v确定,v矢量有多种输入方式(目的都是定义一个矢量方向)
z轴方向根据x,y轴方向使用右手定则(叉乘)确定
创建梁单元并赋予对应的属性后HyperMesh可以实时显示单元的3D形状、方位、偏置等信息。一般而言,只要梁单元3D显示和实体几何完全一致,模型就建对了。简单点说—所见即所得。
打开3D显示前的梁单元可能是这样显示的 ⬇
打开工具栏上的下面这个图标后,梁单元瞬间就变成3D了。
梁单元创建的主要界面在1D > bars面板,但是也可以通过其它方法直接得到梁单元:
本例中的CBEAM(梁)单元截面完全在梁单元以外。原因是CBEAM单元默认在剪切中心创建,而HAT截面的剪切中心刚好位于几何以外。
在实际建模时需要设定合理的偏置(offset)值才能使截面3D显示和几何重合从而使计算准确,本文的视频中有操作演示。
梁单元和杆单元等1D单元一样,都可以通过节点、曲线、2D单元、3D单元等创建。
例1. 从曲线创建梁单元
HyperMesh中有很多创建曲线的方法,例如要从曲面上直接长出一些法向曲线 ⬇
只需要在lines面板的Normal From Geometry按钮(子面板)直接创建
结果如下:
接下来我们用一个梯子的模型来演示。
原始模型只有几条几何曲线 ⬇
完成后的模型(局部)如下 ⬇
Step1. 导入CAD模型
Step2. 在Model Browser右键菜单中创建材料
Step3. 在Model Browser右键菜单中创建标准矩形截面并输入参数
Step4. 创建标准圆形截面并输入参数
Step5. 创建矩形梁属性
这里可以选择PABAL或者PBAR,区别是PABAL可以直接为尺寸优化提供优化的设计变量。
Step6. 创建圆形梁属性
Step7. 在面板区1D > elem types面板将默认单元类型切换为CBAR
Step8. 创建shortbeam comp并划分网格
结果如下 ⬇
Step9. 创建longbeam comp并划分网格
为了和shortbeam的节点融合,需要使用shortbeam中的节点进行下一步的梁单元创建。
先使用nodes面板在longbeam的线端点各创建一个点
然后在linemesh进行1D网格划分,
局部结果如下 ⬇
例2. 从两片对应的2D单元创建梁单元
Step1. 打开2D网格
Step2. 进入面板区1D > linear 1D进行梁单元创建
结果如下 ⬇
例3. 从2D单元的边界创建梁单元
Step1. 打开2D单元模型
Step2. 在面板区的2D > Detach面板分离2D单元
(也就是把原先共节点的2D单元变成不共节点,结果是在原先的每个节点处为每个单元都复 制出了一个节点)
Step3. 在自由边位置生成1D单元
工具位于面板区Tools > edges
Step4. 在以上面板点击preview equiv预览要合并的节点
然后点击equivalence按钮进行节点合并
Step5. 删除重复单元
工具位于Tool > check elems,点击duplicates后会显示重复的1D单元。
注意到除了瓶口位置外的所有1D单元都有重复。
点击上述面板的save failed进行保存。
Step6. 使用面板区Tool > delete面板删除重复单元
这里只需要再次点击elems后选中retrieve即可全部选中刚才保存的那些重复单元,然后点击右侧的delete entity按钮完成删除。
实际上以上操作也完全可以在3D单元上进行。
另外,在航空工具里面提供了一个更加高级的工具可以沿着2D模型的不同方向直接生成带不同截面的梁单元。
例4. 类飞机GFEM模型的梁单元建模
Step1. 打开2D模型
里面有圆柱坐标系、2D单元、几何
Step2. 将user profile切换到Engineering Solutions > Aerospace > OptiStruct
Step3. 打开下拉菜单
设置如下 ⬇
得到的梁单元如下 ⬇
有部分截面的显示方向不一致,原因是这些梁单元的n1和n2的顺序反了,需要调整一下。
脚本内容如下 ⬇
运行脚本后会要求选择需要调整方向的梁单元
运行结果如下 ⬇
例5. 杆单元和梁单元的转换
梁单元网格也可以通过杆单元模型直接转换得到。比如上一讲中的C60杆单元模型。
Step1. 打开杆单元模型
Step2. 在面板区的1D > elem types将梁的单元类型设置为cbar
Step3. 在面板区的config edit面板将crod单元转为bar2单元
结果如下 ⬇
创建梁的材料,截面和属性。
Step3. 更新梁单元的定位矢量(这里使用球心的节点来定位截面)和属性
Direction node选中球心位置的一个节点
点击update后选中如下选项
结果如下:
✴ 一般而言梁单元的计算精度比同等尺度的体单元更高,可以使用比2D/3D单元更大的单元尺寸,但是如果需要梁单元也是可以细化的。
Step1. 将User Profiles切换为
Engineering Solutions > Aerospace >OptiStruct
Step2. 打开下拉菜单Aerospace > Beams >
Split 1D Elems
例6. (RBE2/RBE3)与梁单元的相互转换
在上一讲已经介绍了RBE2与RBE3相互转换的方法,所以这里只需要考虑RBE2与梁单元之间的转换
不过这里没有什么软件界面可以介绍的,直接运行下面的脚本可以完成转换
效果如下 ⬇
开始时是6个可爱的RBE2单元小球球
运行脚本后放大看都变成了梁单元
本讲到这里就告一段落啦,下一讲继续介绍梁截面创建和HyperBeam模块的使用~