24小时热门版块排行榜    

查看: 2071  |  回复: 2

阿斯顿秦文

新虫 (正式写手)

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

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的回帖

ozfx4857

禁虫 (小有名气)


小木虫: 金币+0.5, 给个红包,谢谢回帖
本帖内容被屏蔽

2楼2021-01-24 08:18:08
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

阿斯顿秦文

新虫 (正式写手)

引用回帖:
2楼: Originally posted by ozfx4857 at 2021-01-24 08:18:08
难道不能直接使用最小最大化应力吗

你可以试试

发自小木虫IOS客户端
3楼2021-01-27 13:33:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 阿斯顿秦文 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考博] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +3 DpSrDtM079iu 2026-08-22 3/150 2026-08-23 00:55 by OEbVnUOu01ol
[硕博家园] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 +3 2JOx3r2CYEgw 2026-08-22 6/300 2026-08-23 00:52 by OEbVnUOu01ol
[硕博家园] 售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
[硕博家园] 售SCI一区T0P文章,我:8O.55.1.O.54,科目全,可伽急 +4 QTy3jDtz1uLt 2026-08-21 10/500 2026-08-22 23:42 by OEbVnUOu01ol
[论文投稿] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +3 2JOx3r2CYEgw 2026-08-22 3/150 2026-08-22 22:03 by OEbVnUOu01ol
[硕博家园] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +3 2JOx3r2CYEgw 2026-08-22 3/150 2026-08-22 22:03 by OEbVnUOu01ol
[基金申请] 范进中举一文的中心思想 +3 zjuhero 2026-08-22 4/200 2026-08-22 20:02 by mycsru
[教师之家] 跳槽后在研项目怎么办? +3 简单化xn 2026-08-22 7/350 2026-08-22 19:46 by 简单化xn
[教师之家] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +4 2JOx3r2CYEgw 2026-08-21 4/200 2026-08-22 16:52 by sunzitan
[基金申请] 人气不行了 +8 fansofjerry 2026-08-21 8/400 2026-08-22 16:30 by zyqchem
[基金申请] 时间戳今天,20号变了 +5 archvillain 2026-08-20 5/250 2026-08-22 06:12 by hui_daxiao
[基金申请] 建议基金发布提前给出明确的时间点 +10 kulium 2026-08-21 13/650 2026-08-21 21:58 by alongwaytogo
[基金申请] 今日不放榜?网传国自然预计 8 月 27 日可查结果 +16 医学老男孩 2026-08-20 20/1000 2026-08-21 21:13 by Ldrop2023
[基金申请] 科研孤儿太难了 +17 我4大白菜 2026-08-20 18/900 2026-08-21 20:57 by zhangev
[基金申请] 我面上完蛋了 +7 且听虎啸 2026-08-20 8/400 2026-08-21 12:31 by 酷酷墨镜
[基金申请] 今天放榜没戏了吧 +9 yuleib84 2026-08-19 11/550 2026-08-21 10:06 by gltch
[基金申请] 今天系统多次维护,明天很可能放榜! +10 zju2000 2026-08-16 11/550 2026-08-20 20:02 by cl479861084
[基金申请] 时间戳变了,能看出什么问题? +18 基诺咪客 2026-08-17 23/1150 2026-08-20 17:19 by Godzela
[基金申请] 明天放榜? +5 Shxjjxjkx 2026-08-18 5/250 2026-08-18 18:14 by -大大大大大-
信息提示
请填处理意见