首页/文章/ 详情

HyperStudy_使用包含矩阵对悬臂工字梁进行多目标优化 HS-4450

2月前浏览678

 

了解如何使用从DOE创建的数据,并通过重复使用数据的包含矩阵将其传递给优化问题。

在开始之前,请将本教程中使用的模型文件从 /HS-4450/ 复 制到您的工作目录。

包含矩阵功能将一组已存在的数据传递给正在运行的进程。在本教程中,从DOE创建的数据将传递给一个优化问题,该问题会重用这些数据。这促进了高效的设计探索实践:使用直接求解器调用的优化仍然可以与DOE结合使用来完成,以研究系统而不会丢失任何数据。

一、执行研究设置

1.启动HyperStudy。

2.通过以下方式开始新研究:

a)在菜单栏中,单击File>New

b)在功能区上,单击。

3.在Add Study对话框中,输入研究名称,选择研究的位置,然后单击OK

4.转到Define Models步骤。

5.添加Parameterized File模型。

a)从Directory中,将ibeam.tpl文件拖放到工作区中。

 

b)在Solver input file列中,输入ibeam.py。

这是HyperStudy在评估期间写入的求解器输入文件的名称。

c)在Solver execution script列中,选择Python(py)

6.单击Import Variables

从ibeam.tpl资源文件导入四个Inputs Variable。

7.转到Define Input Variables步骤。

8.查看Inputs Variable的下限和上限范围。

二、执行试运行

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.为y轴惯性矩创建Iy输出响应。

a)从目录中,将位于approaches/setup_1-def/run__00001/m_1中的output.hstp文件拖放到工作区中。

b)在File Assistant对话框中,将Reading技术设置为Altair® HyperWorks®,然后单击Next

c)选择Single item in a time series,然后单击Next

d)定义以下选项,然后单击Next

  将Type设置为Output。

将Request设置为Iy。

将Component设置为Value。   
 

e)标记输出响应Iy。

f)将Expression设置为Maximum

g)单击Finish

 

3.通过重复步骤2创建另外四个输出响应,但根据表1更改分配给每个输出的Request:

Output Response      
Request      
Volume      
Vol      
IZ      
Iz      
Displacement      
d      
Frequency1      
Freq      

4.单击Evaluate以提取响应值。

四、运行Hammersley DOE研究

1.添加DOE。

a)在Explorer中,右键单击并从上下文菜单中选择Add。

此时将打开Add对话框。

b)对于Definition from ,选择一种方法。

c)选择DOE,然后单击OK

2.转到DOE 1>Specifications步骤。

3.在工作区中,将Mode设置为Hammersley

4.在Settings选项卡中,验证Number of Runs为17。

 

5.单击Apply

6.转到DOE 1>Evaluate步骤。

7.单击Evaluate Tasks

8.转到DOE 1>Post-Processing步骤。

9.单击Pareto Plot选项卡。

在选项菜单中,确保Linear effects已启用。

Pareto图显示Inputs Variable对输出响应的分级影响。例如,对于惯性的y轴矩,高度的影响最大,腹板厚度的影响最小。相比之下,对于z轴转动惯量,翼缘长度和翼缘厚度是影响最大的变量。条形的大小表示影响的大小,哈希线的斜率表示效果的符号:正或负。例如,增加高度将增加Iy,但会减少位移。

 

五、运行优化

1.添加优化。

a)在Explorer中,右键单击并从上下文菜单中选择Add。

b)在Add对话框中,选择Optimization

c)对于Definition from,选择一种方法,然后单击OK。

2.转到Optimization>Definition>Define Output Responses步骤。

3.单击Objectives/Constraints - Goals选项卡。

4.将目标应用于Volume Output responses。

a)单击Add Goal

b)在Apply On列中,选择Volume

c)在Type列中,选择Minimize

 

5.将目标应用于Iy输出响应。

a)单击Add Goal

b)在Apply On列中,选择Iy

c)在Type列中,选择Maximize

 

6.转到Optimization>Specifications步骤。

7.在工作区中,将Mode设置为Global Response Search Method(GRSM)

8.在Settings选项卡中,将Number of Runs更改为50。

9.单击More选项卡并定义以下设置:

a)将Points per Iteration(每次迭代的点数) 设置为4

b)将Use Inclusion Matrix设置为Without initial

GRSM执行全局搜索,因此变量的初始值并不重要,不必在优化中使用。

 

10.使用Inclusion Matrix从DOE导入运行数据。

a)单击工作区右上角的Edit Matrix > Inclusion Matrix。

 

b)在Edit Inclusion Matrix对话框中,单击Import Values

c)在Import Values对话框中,选择Approach evaluation data,然后单击Next

d)将方法设置为DOE 1,然后单击Next

e)单击Finish

f)查看导入的运行数据,然后单击OK。

11.单击Apply

12.转到Evaluate步骤。

13.单击Evaluate Tasks

14.转到Post-Processing步骤。

15.单击Optima选项卡。

16.观察设计的非主导正面。

这些点表示最小化体积和最大化y轴惯性矩的目标之间的权衡。在图中,很明显,随着转动惯量的增加,体积也会增加。此曲线表示在竞争目标要求下最佳可用设计的权衡。

 

17.单击Scatter选项卡,沿Optima图中显示的相同轴绘制物镜。

此散点图显示优化中的所有运行。在比较散点图和最优图时,请注意,最优图仅包含非主导运行的子集。主导设计是两个目标都可以改进的设计。非主导设计是指一个目标只能以牺牲另一个目标为代价来改进的设计。

 


来源:TodayCAEer
pythonUMAltair
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2026-06-02
最近编辑:2月前
TodayCAEer
本科 签名征集中
获赞 85粉丝 194文章 743课程 2
点赞
收藏
作者推荐
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈