24小时热门版块排行榜    

查看: 2504  |  回复: 0

阿斯顿秦文

新虫 (正式写手)

[交流] 如何使用Optistruct进行应力拓扑优化或多目标、多约束优化

Optistruct是一款非常优秀的商业有限元求解器、优化求解器,功能强大到炸裂,使用起来也很方便。但偶尔用起来也有一点点小麻烦,初学者经常会碰到的问题就是不知道怎么使用Optistruct进行多目标优化或应力优化这种涉及多个响应的优化。Optistruct中的响应是指要作为目标函数或约束函数的结构的性能,比如质量、体积、体积分数、应力、位移等等,其中应力和位移这种响应属于局部响应,即结构中有很多个这种响应,某点的位移或应力不能代表结构的整体性能。以应力优化为例,假如我们想要进行应力最小优化,我们实际上是要使结构中的最大应力最小,但是值得注意的是,优化过程中,具有最大应力的单元一直会变,因此不可能使某个应力值最小,而另外一方面,optistruct也只允许有一个目标函数,怎么办呢?

       通过查询各类资料,本人摸索出一个行之有效的方法,概述如下:

1. 创建一个公式,应力优化经常使用p范数凝聚所有的应力值,结构中有多少个单元,公式中即有多少个未知数

2. 创建NEL个应力响应,NEL为结构中的单元个数

3. 创建一个总的响应,类型选择为:function,勾选第一步创建的公式,然后不要着急create,先点击edit,勾选response,在数目中输入单元个数,然后挨个在弹出的NEL个框中,填入一个个响应

4. 在目标函数中,选择第三步创建的总响应作为目标函数。

        假如这么干的话,难点在于第二步和第三步,因为我们要创建NEL个应力响应,每个响应对应一个单元。第三步则要勾选一个个响应,这些响应要和公式中的未知数一一对应,NEL一般很大,手动创建太难了,为此我们很自然想到使用脚本自动创建这些数据,只要了解Optistruct的语言习惯,自动创建不是难题,本人在研究时,首先创建了基本的优化模型,并验证可运行,然后使用Python脚本自动完成了1-3步。对于下面的经典L型梁




如何使用Optistruct进行应力拓扑优化或多目标、多约束优化
其中有1600个单元,手动创建很不现实,部分响应和公式如下图所示
如何使用Optistruct进行应力拓扑优化或多目标、多约束优化-1
使用本人单独开发的小脚本,很方便完成这部分内容,然后将它们粘贴到之前创建的简单优化模型中即可。

优化过程和优化后的效果如下图所示:
如何使用Optistruct进行应力拓扑优化或多目标、多约束优化-2
拓扑优化后的等值图如下图,可见应力集中的部位基本被消除。本人使用的p范数为6,大家可以尝试其它数值得到更优异的解:
如何使用Optistruct进行应力拓扑优化或多目标、多约束优化-3
而柔度最小化优化的结果是下面这样的,显然和应力最小拓扑优化是不一样的,因为拐角还是直的,没有去除应力集中。
如何使用Optistruct进行应力拓扑优化或多目标、多约束优化-4


创建公式需要注意格式,感兴趣的同学可以在以下链接内
https://www.jishulink.com/conten ... 1-8566-244e8522b4ac
尝试下载附件,附件包括脚本和有效的应力优化模型,谢谢。

同样使用本文的方法还可以求解多目标优化和多约束优化等等,不仅仅是拓扑优化,尺寸优化,形状优化也能解决,因为这三种优化类型都需要响应。
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 阿斯顿秦文 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[硕博家园] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +3 2JOx3r2CYEgw 2026-08-22 6/300 2026-08-23 00:40 by OEbVnUOu01ol
[考博] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +3 2JOx3r2CYEgw 2026-08-21 8/400 2026-08-23 00:28 by OEbVnUOu01ol
[基金申请] 2026国自然函评费到账 +11 羊腰板 2026-08-21 11/550 2026-08-22 22:03 by lsbin3733
[论文投稿] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +3 2JOx3r2CYEgw 2026-08-22 3/150 2026-08-22 22:03 by OEbVnUOu01ol
[基金申请] 93BebMhtakh前后11位开头都是大写 +7 且听虎啸 2026-08-17 8/400 2026-08-22 21:55 by 医学老男孩
[硕博家园] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 +3 2JOx3r2CYEgw 2026-08-22 5/250 2026-08-22 21:54 by OEbVnUOu01ol
[教师之家] 跳槽后在研项目怎么办? +3 简单化xn 2026-08-22 7/350 2026-08-22 19:46 by 简单化xn
[基金申请] 什么时候开奖? +7 CrisMessi 2026-08-18 8/400 2026-08-22 18:29 by 淀粉搬运工
[基金申请] 只有每年这种时候来逛逛小木虫 +24 yaoyewhu2008 2026-08-20 26/1300 2026-08-22 17:43 by kammury
[教师之家] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +4 2JOx3r2CYEgw 2026-08-21 4/200 2026-08-22 16:52 by sunzitan
[基金申请] 时间戳今天,20号变了 +5 archvillain 2026-08-20 5/250 2026-08-22 06:12 by hui_daxiao
[基金申请] 放榜前的不淡定 40+4 snowwithsea 2026-08-19 14/700 2026-08-21 23:51 by cratir
[基金申请] 时间戳又变了 +13 wuchongjun 2026-08-20 19/950 2026-08-21 17:21 by 紫杉醇
[基金申请] 让我中一个面上吧! +11 大萍1987 2026-08-20 13/650 2026-08-21 14:48 by 20120902066
[基金申请] 我面上完蛋了 +7 且听虎啸 2026-08-20 8/400 2026-08-21 12:31 by 酷酷墨镜
[基金申请] 应该是下周三26日公布了吧? +4 哈哈蛤? 2026-08-21 4/200 2026-08-21 10:58 by Vivilian
[基金申请] 基金啊基金 +4 longfie172 2026-08-20 4/200 2026-08-21 08:58 by mark mao
[基金申请] 估计是周四 +3 archvillain 2026-08-18 3/150 2026-08-21 01:48 by jnhyjjm
[基金申请] 今天系统多次维护,明天很可能放榜! +10 zju2000 2026-08-16 11/550 2026-08-20 20:02 by cl479861084
[基金申请] 明天放榜? +5 Shxjjxjkx 2026-08-18 5/250 2026-08-18 18:14 by -大大大大大-
信息提示
请填处理意见