联系我们:186 6505 3298 

公众号二维码
新浪微博二维码
百家号二维码
仿真技术
仿真技术

HyperMesh实例:基于Abaqus的结构优化

来源: | 作者:ALTAIR | 发布时间 :2024-08-29 | 381 次浏览: | 分享到:

现有二维壳单元模型,求解器为Abaqus,在HyperMesh中进行模型创建和工况设置。结构下方固定,在右侧受到水平向右的分布力的作用。希望通过优化局部形状和材料参数弹性模量让部分单元的应力最大值小于200MPa,优化目标是质量最小化。本案例所使用的模型文件link.hmCH14_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所示的变形域


创建变形域 

Z14-1 创建变形域


 Step 02  创建形状变量。进入HyperMorph面板下的Morph子面板,选择图Z14-2右上角的黄色控制柄,沿y轴负向移动5mm,单击Morph按钮,然后进入save shape子面板,将当前状态保存为sh1最后单击undo all按钮返回。创建的形状变量如图Z14-3所示,可以用shape面板下的animate shape进行动画显示。


创建形状变量     形状变量云图

Z14-2创建形状变量                      Z14-3 形状变量云图


Step 03  将材料属性进行参数化。在左侧模型浏览器中找到并选中材料STL,在下方的对象编辑器(Entity Editor中找到弹性模量E单击后选择Create and Assign Parameter,进行参数设置Z14-4所示。

 Step 04  在弹出的Create Parameters对话框中,输入参数名称Young,这个参数可以在HyperMesh中被其他卡片的属性引用如图Z14-5所示。单击Close按钮以后,材料卡片中的弹性模量将会被参数Young代替。保存.hm文件。


材料属性参数化设置    参数命名

Z14-4 材料属性参数化设置                   Z14-5 参数命名


2. 建立HyperStudy模型

 Step 01  HyperMeshApplication菜单启动HyperStudy。单击New,选择工作目录,新建一个Study

 Step 02  在添加模型之前,首先进行Abaqus求解器的注册。从Edit菜单下选择Register Solver Script,输入求解器名称Abaqus,选择类型Generic,Z14-6所示在接下来弹出对话框中单击文件夹图标,选择Abaqus安装路径下的abaqus.bat文件,单击OK按钮退出。


注册 Abaqus求解器 

Z14-6 注册 Abaqus求解器


 Step 03  单击Add Model按钮,当前.hm文件会被自动选中作为Resource如图Z14-7所示,Solver Input File中输入生成的Abaqus计算文件名称link.inpSolver Execution Script中选择刚刚注册的求解器Abaqus,在Solver Input Arguments入计算参数:job=${filebasename} interactive


定义模型 

Z14-7 定义模型


${filebasename}表示模型文件link.inp不包含扩展名的部分linkAbaqus在求解时要求job=后面的参数不包含扩展名),interactiveAbaqus求解选项。对于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所示


添加设计变量 

Z14-8 添加设计变量


 Step 05  单击Next按钮进入下一步,可以看到已经导入的两个变量,设置形状变量的下限为0,上限为1设置弹性模量的上限为227700,下限为186300Z14-9所示。


设置变量上下限 

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),起始单元StartE1,终止单元EndE378(可在右侧输入378进行快速过滤),Components选择MisesZ14-10所示。在下一步中Use Data Source in New Responses选择默认Maximum,单击Finish按钮,完成E1~E378单元最大应力的设置。


定义应力响应 

Z14-10 定义应力响应


 Step 08  设置完成后,可以单击Evaluate按钮查看当前这两个响应的具体数值Z14-11所示。


提取响应值 

Z14-11 提取响应值


3. 优化

 Step 01  进入下一步,添加一个新的Optimization,模型和响应是从Setup中继承过来的无须更改进入Define Output Responses面板,切换到Objectives/Constraints -Goals选项卡,将质量响应的类型选择为Minimize,最大应力的类型切换为Constraint,面的空格选择“<=”并输入约束值200Z14-12所示。


定义优化约束和目标 

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按钮,将会打开最优解对应的求解目录,可以使用前后处理软件查看模型和结果。


优化迭代历程 

Z14-13 优化迭代历程


软件教程
更多
建模与可视化
建模和可视化
近期发布文章
更多
设计、制造和专业解决方案
设计、制造和专业解决方案
云和HPC解决方案
云和HPC解决方案
数据分析及物联网解决方案
数据分析及物联网解决方案​
免费试用申请
助力企业数智化转型,打造仿真新业态!