联系我们:186 6505 3298
现有二维壳单元模型,求解器为Abaqus,在HyperMesh中进行模型创建和工况设置。结构下方固定,在右侧受到水平向右的分布力的作用。希望通过优化局部形状和材料参数弹性模量让部分单元的应力最大值小于200MPa,优化目标是质量最小化。本案例所使用的模型文件link.hm在CH14_06_abaqus_opt文件夹下,设置好的模型为abaqus_opt.hstx,可以通过HyperStudy菜单File > import archive打开。
使用HyperMesh可以非常方便地为Abaqus模型进行参数化,支持将形状变量和各类关键字卡片中的数字作为参数。HyperMesh支持Abaqus 的*PARAMETER关键字,定义的参数将会写入.inp文件中。具体请参考HyperMesh帮助文档:Entities and Solver Interfaces > Named Entities > Parameters。
1. 准备工作
Step 01 用HyperMesh打开模型文件link.hm,进入HyperMorph面板下的domains,创建2D domains,默认选择所有单元,创建图Z14-1所示的变形域。
Step 02 创建形状变量。进入HyperMorph面板下的Morph子面板,选择图Z14-2右上角的黄色控制柄,沿y轴负向移动5mm,单击Morph按钮,然后进入save shape子面板,将当前状态保存为sh1,最后单击undo all按钮返回。创建的形状变量如图Z14-3所示,可以用shape面板下的animate shape进行动画显示。
Step 03 将材料属性进行参数化。在左侧模型浏览器中找到并选中材料STL,在下方的对象编辑器(Entity Editor)中找到弹性模量E,单击后选择Create and Assign Parameter,进行参数设置,如图Z14-4所示。
Step 04 在弹出的Create Parameters对话框中,输入参数名称Young,这个参数可以在HyperMesh中被其他卡片的属性引用,如图Z14-5所示。单击Close按钮以后,材料卡片中的弹性模量将会被参数Young代替。保存.hm文件。
2. 建立HyperStudy模型
Step 01 从HyperMesh的Application菜单启动HyperStudy。单击New,选择工作目录,新建一个Study。
Step 02 在添加模型之前,首先进行Abaqus求解器的注册。从Edit菜单下选择Register Solver Script,输入求解器名称Abaqus,选择类型Generic,如图Z14-6所示。在接下来弹出的对话框中单击文件夹图标,选择Abaqus安装路径下的abaqus.bat文件,单击OK按钮退出。
Step 03 单击Add Model按钮,当前.hm文件会被自动选中作为Resource。如图Z14-7所示,在Solver Input File中输入生成的Abaqus计算文件名称link.inp,在Solver Execution Script中选择刚刚注册的求解器Abaqus,在Solver Input Arguments中输入计算参数:job=${filebasename} interactive。
注:${filebasename}表示模型文件link.inp不包含扩展名的部分,即link(Abaqus在求解时要求“job=”后面的参数不包含扩展名),interactive为Abaqus求解选项。对于Abaqus求解器建议修改环境文件,如<ABAQUS INSTALL>v6.116.11-1siteabaqus v6.env,将其中的ask_delete选项修改为OFF,在运行过程中将会自动覆盖工作目录下的文件而不会弹出询问对话框。其他支持的选项请参考Abaqus的帮助文档。
Step 04 单击Import Variables按钮,将会弹出Model Parameters对话框,在HyperMesh Model Parameters一栏双击参数名称“Young”和“sh1.S”,单击OK按钮后形状变量和材料的弹性模量将被添加到HyperStudy模型中,如图Z14-8所示。
Step 05 单击Next按钮进入下一步,可以看到已经导入的两个变量,设置形状变量的下限为0,上限为1;设置弹性模量的上限为227700,下限为186300,如图Z14-9所示。
Step 06 在Test Models面板中对模型进行试算。试算完成后进入下一步Define Output Responses。打开FiLe Assistant对话框,打开link.dat文件,选择Single Item in a Time Series,读取模型质量作为第一个输出响应。
Step 07 再次打开File Assistant对话框,打开link.odb文件,选择Multi Items at Multi Time Steps,在接下来的步骤中选择Subcase 为Step-2,结果类型Type为S-Stress component (PART-1-1),起始单元Start为E1,终止单元End为E378(可在右侧输入378进行快速过滤),Components选择Mises,如图Z14-10所示。在下一步中,Use Data Source in New Responses选择默认的Maximum,单击Finish按钮,完成E1~E378单元最大应力的设置。
Step 08 设置完成后,可以单击Evaluate按钮查看当前这两个响应的具体数值,如图Z14-11所示。
3. 优化
Step 01 进入下一步,添加一个新的Optimization,模型和响应是从Setup中继承过来的,无须更改。进入Define Output Responses面板,切换到Objectives/Constraints -Goals选项卡,将质量响应的类型选择为Minimize,最大应力的类型切换为Constraint,在后面的空格选择“<=”并输入约束值200,如图Z14-12所示。
Step 02 进入Specifications面板,选择ARSM算法,其他选项保持默认。在下一步Evaluate Tasks中进行计算。
Step 03 计算过程中设计变量、优化目标及设计约束的表格和曲线都是实时更新的,在Iteration Plot选项卡下可以查看优化目标随迭代次数的变化曲线。
Step 04 在图Z14-13所示的Iteration History选项卡下可以查看每次迭代中设计变量、优化目标和设计约束的取值,最优结果以绿色底纹标出。第10次迭代结果最好,形状变量取值为1,表示变形到最大弹性模量取值为207000,最大应力为150,满足设计约束。质量为1.19×10-4,相比初始设计的1.33×10-4减少10.5%。选中第10行,单击Show in Explorer按钮,将会打开最优解对应的求解目录,可以使用前后处理软件查看模型和结果。
电话:186 6505 3298 邮箱:gaolu@icae.com.cn 地址:广东省-广州市-天河区 天河北路663号机械研究所8栋9层
关注我们