首页/文章/ 详情

使用DRESP3(第三类响应)进行尺寸优化

5天前浏览193
第三类响应的应用场景少之又少,但是不能没有,以下是每一类响应的用途和对应的分析:

第一类响应(DRESP1)

用途:这类响应是OptiStruct内置的直接响应,如节点位移、应变能、模态频率等,适用于大多数优化问题。它们易于使用,并且OptiStruct会自动计算灵敏度,从而显著提高优化计算的速度  。
分析:第一类响应通常用于直接从有限元分析中获取的结果,如最大位移、最大应力、模态分析结果等。这些响应对于快速评估结构性能非常有用,因为它们通常需要的计算资源较少。

第二类响应(DRESP2)

用途:当第一类响应无法满足需求时,第二类响应可以派上用场。它们是第一类响应的代数表达式,允许用户利用OptiStruct内置的公式或者自定义公式来计算更复杂的响应 。
分析:这类响应适用于需要通过已有响应进行进一步数学运算的情况,例如,通过最大值、平均值或其他统计方法组合多个响应来定义新的响应。这可以用于评估例如扭转刚度,或弯曲刚度的计算或组合多个载荷情形下的响应。

第三类响应(DRESP3)

用途:这类响应用于那些无法通过内置响应或代数表达式解决的复杂问题。它们允许用户通过外部程序如Compose、Excel、C/C++、Fortran等来计算响应 。
分析:第三类响应适用于需要特殊算法或复杂数学模型的情况,例如,当需要考虑非线性效应、材料损伤或其他高级材料行为时。这类响应提供了最大的灵活性,但通常不提供灵敏度信息,可能导致优化过程变慢。
在选择响应时,应考虑以下原则:
优先考虑刚度相关的响应,如应变能和加权应变能。
优先考虑全局性响应,如模态频率、体积、体积分数。
优先考虑鲁棒性高的响应,如应力、高阶模态频率等 。
常见的优化问题设置包括位移加体积(百分比)、(加权)应变能加体积(百分比)、频率加体积(百分比)等 。
详细信息可以查看altair公众号文章
【HyperMesh宝典】之OptiStruct优化响应
在本教程中,OptiStruct中的标准响应传递给HyperMath脚本,并将脚本中新创建的响应用作优化约束。
在开始之前,请将本教程中使用的文件复 制到您的工作目录。
http://majorv.help.altair.com/minorv/simulation/tutorials/hwsolvers/optistruct/OS-T-4095/dresp3_simple.zip
由于HyperMath是一个解释器,因此您可以构建自定义响应,而无需编译HyperMath脚本。
您需要将结构模型加载到HyperMesh中。材料、壳体属性、载荷和边界条件已在此模型中定义。这三个component的厚度被标识为设计变量。单元编号58 和59(位于孔圆周上的单元)的von Mises应力定义为响应,总体积响应也被定义为响应。
Element 58 和59 的von Mises应力作为输入传递给HyperMath脚本,该脚本又返回两个值:两个von Mises应力之和,以及两个Element von Mises应力的平均值。
本教程的优化问题表述为:
Objective:最小化体积。
Constraints:对von Mises应力和平均von Mises应力之和的约束。
Designvariables:三个部分的厚度。    
图1.

一、启动HyperMath

1.启动HyperMath。
2.在菜单栏中,单击File>Open
3.在Open File对话框中,打开您保存到工作目录的dresp3_simple_h.hml文件。
4.检查HyperMath脚本以计算外部响应。
使用函数MYSUM标识的HyperMath脚本,采用两个输入rparam[1] 和rparam[2],并返回两个响应rresp[1] - 两个输入的总和,以及rresp[2] - 两个输入的平均值。
计算出的响应rresp[1] 和rresp[2] 被发送回OptiStruct以用于优化。上面的脚本将链接到OptiStruct输入文件中的DRESP3 相关卡片,该文件会将两个输入传递给此脚本,然后从此脚本接收两个输出。
Note:在这个脚本中,可以为函数分配任何名称,比如MYSUM、myresponses、sumandavg等。但是,函数的参数名称如iparam、rresp、rparam等,不能更改。现在将使用DRESP3 设置外部响应。    
图2.

二、启动HyperMesh并设置OptiStruct用户配置文件

1.启动HyperMesh。
此时将打开User Profile对话框。
2.选择OptiStruct,然后单击OK。
这将加载用户配置文件。它包括相应的模板、宏菜单和导入阅读器,将HyperMesh的功能缩减为与生成OptiStruct模型相关的功能。

三、导入模型

1.点击File>Import>Solver Deck
导入选项卡将添加到您的选项卡菜单中。
2.对于File type ,选择OptiStruct
3.选择文件图标。
此时将打开Select OptiStruct文件Browser。
4.选择保存到工作目录的dresp3_simple.fem文件。
5.单击Open
6.单击Import,然后单击Close以关闭Import选项卡。

四、设置优化

4.1将HyperMath脚本库附加到OptiStruct    
OptiStruct需要HyperMath脚本的位置,以便分别传递和接收必要的输入和输出。这是使用LOADLIB卡实现的。
1.在Analysis页面中,单击control cards面板。
2.Card Image对话框中,单击LOADLIB
3.输入inputs。
a)将Type设置为DRESP3
b)在GROUP字段中,输入HLIB。
c)在PATH字段中,输入.hml文件的位置。
示例:c:/temp/dresp3_simple_h.hml
4.Note:HyperMesh Desktop中用于输入文件路径和名称的空间有限。如果带有文件名的完整文件路径不合适,请退出面板并手动编辑其余路径。
5.单击return
4.2创建设计变量
在此步骤中,您应该仍处于Card Image对话框中。
三个component厚度的设计变量已经定义。还定义了单元58 和59 的总体积和von Mises应力的响应。
 当前版本的HyperMesh不支持DRESP3 批量数据输入。因此,这些卡将在BULK_UNSUPPORTED_CARDS面板中定义。
Note:'$' 符号表示注释,求解器不会读取以下数据。
1.单击BULK_UNSUPPORTED_CARDS
2.Control Card对话框中,输入以下DRESP3 信息:
图3.    
这定义了两个外部响应:单元58 和59 的von Mises应力之和(SUMH) 以及单元58 和59 的平均von Mises应力之和(AVGH)。
DRESP3 响应的ID与DRESP1 响应不同,并指向名为HLIB定义的库。此外,函数MYSUM与dresp3_simple_h.hml脚本中的函数名称相同。
这样就完成了DRESP3 卡与HyperMath脚本的链接。
4.3Create Constraints
在此步骤中,您应该仍处于Control Card对话框中。
由于当前版本的HyperMesh不支持DRESP3卡,因此也无法从dconstraints面板将DCONSTR卡分配给DRESP3 响应。因此,DCONSTR卡也是使用BULK_UNSUPPORTED_CARDS面板添加的。
1.Control Card对话框中,在DRESP3 信息后面输入以下约束数据(DCONSTRDCONADD):
图4.
2.单击OK
3.单击return
现在定义了SUMH响应和AVGH响应的上限约束50 和25。

五、运行优化

1.导出dresp3_simple.fem文件。
a)在菜单栏中,单击File>Export>Solver Deck
b)选择求解器文件的导出目录。
c)在Export Browser中,单击,选择dresp3_simple.fem文件,然后单击Save
d)单击Export
 .fem文件名用于OptiStruct输入模型。    
2.编辑dresp3_simple.fem文件。
a)在文本编辑器中,打开dresp3_simple.fem文件。
b)在Subcase Information部分下,添加DESSUB = 10
c)保存文件。
 创建的DRESP3 是SUBCASE相关的响应,因此要从SUBCASE中引用。DESSUB命令执行此操作。此行必须手动添加,因为当前版本的HyperMesh不支持DRESP3 批量数据输入。
3.运行优化。
a)在开始菜单中,单击All Programs >Altair Simulation 2022.3>OptiStruct
b)在OptiStruct中,打开dresp3_simple.fem文件。
c)单击Run
4.作业完成后,对结果进行后处理。
Note:完整的FEM文件dresp3_simple_complete.fem可用,可用作参考。  


来源:TodayCAEer
OptiStructHyperMesh非线性UM材料Altair
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2025-04-02
最近编辑:5天前
TodayCAEer
本科 签名征集中
获赞 24粉丝 83文章 316课程 1
点赞
收藏
作者推荐
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈