了解如何使用指向HyperStudy的直接链接从HyperMesh内部开始执行形状优化。
在开始之前,请将本教程中使用的模型文件从 /HS-1540/ 复 制到您的工作目录。
有限元求解器是ANSYS。HyperMorph用于执行形状参数化。目标是最小化带孔板的最大应力。可以预期解决方案是某种椭圆。因此,输入变量是孔的半轴。
图1.双对称板模型
1.启动HyperWorks,验证HyperMesh是否已选中,然后单击Create Session。
2.在Startup对话框中,验证HyperMesh是否已选中
3.对于Profile ,选择Ansys。
4.单击Create Session。
5.在User Profiles对话框中,将用户配置文件设置为Ansys。
6.在菜单栏中,单击File>Import>Solver Deck。
7.将File type设置为Ansys。
8.在File字段中,打开plate.cdb文件。
9.在Solver Import Options对话框中,单击Import。
有限元模型出现在图形区域中。
图2.
1.如有必要,请启用HyperMorph面板。
a)在菜单栏中,验证View>Panels已启用。
b)在面板区域中,选择Tool子面板,然后单击HyperMorph。
图3.
2.生成域和手柄,用于操纵网格的形状并生成形状扰动以进行形状优化。
a)在面板区域中,单击domains。
b)验证create子面板。
c)单击第一个箭头,然后选择auto functions。
图4.
d)单击generate。
图5.
3.单击return。
4.在面板区域中,单击morph。
5.更改维度。
a)转到alter dimensions子面板。
b)通过单击第一个箭头并选择radius将半径定义为形状。
c)在模型视窗中,点击孔的红色边。
图6.
d)在radius= 字段中,输入20.0000。
e)单击底部箭头,然后选择hold center。
图7.更改标注子面板的设置
6.单击morph。
将生成第一个形状。
7.保存形状sh1。
a)在Morph功能区的Save组中,单击Shapes工具。
此时将打开Edit Shapes对话框。
b)在Edit Shapes对话框中,单击。
将添加一个形状。
c)右键单击创建的形状,从上下文菜单中选择**Rename,**然后输入sh1作为新名称。
d)禁用shape1的Preview复选框。
8.在更改维度子面板中,单击undo以准备生成下一个形状。
9.生成第二个形状。
a)转到move handles子面板。
b)单击第二个箭头,然后选择translate。
c)单击第三个箭头,然后选择along xyz。
d)在x val= 字段中,输入10.0000。
e)在模型视窗中,点击位于四分之一圆一角的下部黄色手柄。
图8.
f)单击morph。
将生成第二个形状。
10.通过重复步骤7保存形状,但将形状重命名为sh2。
11.在移动手柄子面板中,单击undo以准备生成下一个形状。
12.生成第三个形状。
a)转到move handles子面板。
b)在模型视窗中,点击位于四分之一圆一角的上部黄色手柄。
图9.
c)在x val= 字段中,输入0.000。
d)在y val= 字段中,输入10.0000。
e)单击morph。
将生成第三个形状。
13.通过重复步骤7保存形状,但将形状重命名为sh3。
14.单击undo all以恢复初始网格。
15.Save HyperMesh模型。
a)在菜单栏中,单击File>Save As>HyperMesh Model。
b)在Save File As对话框中,将文件另存为plateDV.hm。
16.关闭HyperMesh Desktop。
1.启动HyperStudy。
2.在菜单栏中,单击Edit>Solver Script。
此时将打开Register Solver Script对话框。
3.添加求解器脚本。
a)单击Add Solver Script。
此时将打开Add对话框。
b)在Label和Varname字段中,输入Ansys。
c)从求解器脚本类型列表中,选择Other Application。
d)单击OK。
图10.
4.在脚本Ansys的Path列中,单击。
5.在Open对话框中,打开ansys.bat文件。
该脚本ansys.bat是Windows上Ansys的执行脚本示例。将ansys.bat复 制到您的工作目录以使用它。
6.单击OK。
1.通过以下方式开始新研究:
a)在菜单栏中,单击File>New。
b)在功能区上,单击。
2.在Add Study对话框中,输入研究名称,选择研究的位置,然后单击OK。
3.转到Define Models步骤。
4.添加HyperMesh模型。
a)从Directory中,将HyperMesh(.hm) 文件plateDV.hm拖放到工作区中。
图11.
b)在Solver Input File列中,输入plate.cdb。
这是HyperStudy在任何评估期间写入的求解器输入文件的名称。
c)在Solver execution script列中,选择Ansys。
d)在Solver Input Arguments列中,$file后输入plate.out plate。
图12.
5.导入变量。
a)单击Import Variables。
在HyperWorks中打开Model Parameters对话框。
b)展开Shape(形状),然后选择sh1.S、sh2.S和sh3.S的。
c)验证Lower bound为-1.0,Upper bound为1.0。
d)单击Add。
e)单击OK。
图13.
6.转到Define Input Variables步骤。
7.查看输入变量的下限、初始和上限。
图14.
1.转到Test Models步骤。
2.单击Run Define。
在study Directory中创建approaches/setup_1-def/ 目录。approaches/setup_1-def/run__00001/m_1目录包含输入文件,该文件是试运行的结果。
1.转到Define Output Responses步骤。
2.从目录中,将位于approaches/setup_1-def/run__00001/m_1目录中的plate.rst文件拖放到工作区中。
3.在File Assistant对话框中,将Reading技术设置为Altair® HyperWorks®,然后单击Next。
4.选择Multiple Items at Multiple Time Steps(readsim),然后单击Next。
5.定义以下选项,然后单击Next。
a)将Subcase设置为Step 1。
b)将Type设置为Stress(2D)。
c)将Request设置为First-Last。
d)将Component设置为vonMises。
6.**Optional:**输入数据源和输出响应的标签。
7.将Expression设置为Maximum。
8.单击Finish。
Output response 1将添加到工作区。
9.单击Evaluate以提取响应值。
1.添加优化。
a)在Explorer中,右键单击并从上下文菜单中选择Add。
b)在Add对话框中,选择Optimization。
c)对于Definition from,选择一种方法,然后单击OK。
2.转到Optimization>Definition>Define Output Responses步骤。
3.单击Objectives/Constraints - Goals选项卡。
4.将目标添加到响应1。
a)单击Add Goal。
b)在Type列中,选择Minimize。