《有限元法及其应用》,机械工业出版社,2006,
光盘演示算例
06 悬臂梁优化算例 (ANSYS)
在实际工程中,经常遇到需要对结构构件进行截面优化,以充分利用材料并节省造价。
ANSYS软件提供了一些常用的结构优化功能,本算例将以一个受均布荷载的平面悬臂梁为例,介绍实用ANSYS软件对构件进行优化。
知识要点:
(1) 输出命令流文件
(2) Element Table的使用
(3) 结果的求和,排序
(4) 设计变量,状态变量,目标变量
(5) 优化算法
(1) 首先用ANSYS建立有限元模型,先输入以下控制参数:
P=1e6 ! 作用在悬臂梁上的局部荷载
L=10 ! 悬臂梁长度
T1=1 ! 悬臂梁固定端截面高度
T2=1 ! 悬臂梁中点截面高度
T3=1 ! 悬臂梁自由端截面高度
(2) 进入ANSYS主菜单Preprocessor->Element Type->Add/Edit/Delete,添加单元类型为Plane
82
(3) 在ANSYS主菜单Materials Props->Material Models中添加钢材材料属性:Structural->Linear->Elastic->Isotropic,输入弹性模量为200E3,泊松比为0.3
(1) 下面建立悬臂梁的模型,首先建立关键点信息,在ANSYS主菜单Preprocessor->Modeling->Create->Keypoints->In
Active CS,依次输入以下关键点:
(4) 选择ANSYS主菜单Preprocessor->Modeling->Create->Lines->Lines->Straight
Line,依次连接关键点1-2,2-3,3-6,6-5,5-4,4-1,5-2
(5) 选择ANSYS主菜单Preprocessor->Modeling->Create->Areas->Aribitrary->By
Lines,依次点选直线1,7,5,6和2,3,4,7,生成面模型如图
(6) 进入ANSYS主菜单Preprocessor->Meshing ->Size Cntrls ->ManualSize
->Global ->Size,设定单元的最大尺寸为L/50
(7) 进入ANSYS主菜单Preprocessor->Meshing ->Mesh->Areas->Free,对生成的面进行网格划分
(8) 完成建模后开始添加边界条件,首先进入ANSYS主菜单Solution->Define Loads->Apply->Structural->Displacement->On
Lines, 选中直线6,选择约束所有位移
(9) 接着进入ANSYS主菜单Solution->Define Loads->Apply->Structural->On
Lines,选择直线1和直线2,输入压力大小为P
(10) 下面进行求解,进入ANSYS主菜单Solution->Solve->Current LS,求解当前工况
(11) 然后进入后处理进行结果整理,首先进入ANSYS主菜单General Postproc->List Results->Sorted
Listing->Sort Nodes,选择对所有节点的von Mises应力进行排序。
(12) 接着进入ANSYS窗口顶部菜单Parameters->Get scalar data,在Get Scalar Data窗口中,选择Results
data->Other operations,在Get Data from Other Post1 Operations中选择from
sort oper'n->Maximum value,把排序的结果存入SMAX变量中。这时可以看到SMAX的数值为325648992。
(13) 接着我们需要所有单元的总体积,进入ANSYS主菜单General Postproc->Element Table->Define
Table,在Element Table Data窗口中选择Add,在Define Additional Element Table Items中选择单元的几何信息(Geometry)->单元体积(Elem
Volume VOLU)
(14) 下面对所有的单元体积进行求和,进入ANSYS主菜单General Postproc->Element Table->Sum
of Each Item,对刚才得到的单元体积进行求和
(15) 接着进入ANSYS窗口顶部菜单Parameters->Get scalar data,在Get Scalar Data窗口中,选择Results
data->Elem table sums,在Get Element Table Sum Results中,选择将体积的求和结果存入VTOTAL变量中。
(16) 至此就完成了整个建立模型以及得到相应优化设计所需变量的操作。下面需要把刚才操作的命令流文件存成一个输入命令流。在ANSYS操作目录下找到jobname.log文件,将它复制为cantilever.txt文件,并将命令流里面参数定义以前的部分删去。
(17) 下面开始进行优化设计,进入ANSYS主菜单Design Opt->Analysis,选择cantilever.txt输入文件,如图所示。
(18) 下面开始设定设计变量,即需要优化的变量。进入ANSYS主菜单Design Opt->Design Variables,在Design
Variables窗口中点击Add按钮,添加第一个设计变量为T1,最大值为2,如图所示。
(18) 同样的添加T2, T3为设计变量,并设定其最大值均为2
(19) 下面添加状态变量,所谓状态变量就是优化结果必须满足的条件。我们这里设置最大的应力不能超过300MPa,进入ANSYS主菜单Design
Opt->State Variable,设定状态变量为SMAX,最大值为300e6
(20) 最后定义目标变量,就是优化的对象,本例子中为悬臂梁的总体积。进入ANSYS主菜单Design Opt->Objective,选择优化对象为VTOTAL,如图。
(21) 下面就可以进行优化操作了。ANSYS中提供了8类不同的优化工具。作者根据经验建议一般首先选择Sub-Problem优化工具进行初步优化,再使用First-Order优化工具进行进一步优化。进入ANSYS主菜单Design
Opt->Method/Tool,选择Sub-Problem,其他选项采用默认设置。
(22) 进入ANSYS主菜单Design Opt->Run,进行首次优化操作。优化得到的构件截面如图所示。目前总体积为5.868
(23) 进入ANSYS主菜单Design Opt->Method/Tool,选择First-Order,进入ANSYS主菜单Design
Opt->Run,再做一次优化
(24) 进入ANSYS主菜单Design Opt->Design Sets->Graphs/Tables,选择绘图的横坐标为优化次数(Set
Number),总坐标为总体积(VTOTAL),可以看到优化过程中体积的变化。