行业新闻

拓扑优化和小菜er的学习总结

首先声明,我真的是很不厉害的那种,也在学习拓扑优化的过程,走了很多弯路,但是后来也发现了一些我自认为很好的学习资源哈哈,不希望学习拓扑优化的大朋友小朋友们和我一样,所以我会不定期更新一些我觉得很好的东西哦~虽然不一定有用处,但是希望看到这篇文章的你能有所收获哈,手动比心,我也只是一个小小的搬运工~

1、先推荐几本书嘻嘻哈哈(以下仅为个人拙见!如果实在找不到的小伙伴仅限于想好好学习拓扑优化的小伙伴可以私信我哦,不希望他们在你的书单里沉底)

(1)拓扑优化书籍(和我一样英文不太好的小朋友大朋友们,强烈建议先看第三本中文的内容,再看那两本变密度法和双向渐进法的英文书籍)

2003,Bendsoe,Sigmund《Topology Optimization: Theory and Applications》

2010,Huang X, Xie M《Evolutionary topology optimization of continuum structures: Methods and applications》

2015,杜建镔《结构优化及其在振动和声学设计的应用》

(2)有限元分析

曾攀,《有限元分析及应用》

P.I. Kattan著,韩来彬译《MATLAB有限元分析与应用》这个就看看啊,他里面的代码其实比较老了感觉,对着上一本书编就好哈,只是说可以借鉴哈

(3)最优化+matlab(这本主要是看一下寻优到底是个什么东东,不同的模型对应哪些求解方法,因为我就是很菜的那种,之前一直不太懂拓扑优化是什么,后来我自己理解就是一种寻优手段,和最优化一样,只不过这里的特别之处在于敏度问题,我们正常的最优化大多是求导数,然后给一个寻优路径和步长,其实拓扑优化也是一样的,只不过他的导数相对复杂了,是我们提到的灵敏度和有限元分析挂钩了,个人理解)

2018,许国根,赵后随《最优化方法及其MATLAB实现》

2、然后推荐几篇论文(都是大家很熟知的几个,文中都是有代码的哦,因为我还是用变密度比较多,所以推荐的都是我搜集到的有代码的哈,MMC/MMV的代码我还没有,如果哪个小伙伴愿意分享给我那我也是开心的起飞哦~我也还没都看完呢,希望一起交流学习呀,感激哦)如果下载不了的强烈推荐SCIHUB哈哈,至于方法选择我不太懂哦,反正就是各有优缺点吧,没有十全十美的

(1)99行

《A 99 line topology optimization code written in Matlab》如果做散热的话Sigmund那本书里是有代码的哦~

这里强烈推荐和这个一起看哦~(99行组件的时候单元用的顺时针排序,强烈建议大家自己改成逆时针哦~因为后期你去做复合材料不改会出问题哦)拓扑优化学习报告-北理工-王路拓扑优化学习报告 - 北理工 - 王路 - 百度文库

(2)88行因为变密度法灰度单元较多,所以大家也想了很多办法去做到边界清晰,这里面有提到几种,但其实还有很多哦

《Efficient topology optimization in MATLAB using 88 lines of code》

(3)169行

《An efficient 3D topology optimization code written in Matlab》

(3)BESO用于结构设计以及材料设计

《Bi-directional Evolutionary Structural Optimization on Advanced Structures and Materials: A Comprehensive Review》

调用abaqus进行有限元分析

《A simple and compact Python code for complex 3D topology optimization》

(4)水平集

《Matlab code for a level set-based topology optimization method using a reaction diffusion equation》

《An 88-line MATLAB code for the parameterized level set method based topology optimization using radial basis functions》

《A discrete level-set topology optimization code written in Matlab》

(5)多边形有限元网格的拓扑优化

《PolyTop: a Matlab implementation of a general topology optimization framework using unstructured polygonal finite element meshes》

(6)多相材料

《Alternating active-phase algorithm for multimaterial topology optimization problems: a 115-line MATLAB implementation》

(7)多目标下面这个主要是刚度和隔热的目标

《Density-based topology optimization for 3D-printable building structures》

3、关于模型和求解

再推荐一篇论文,我觉得对我理解这部分很有用哦~

段尊义博士论文《纤维增强复合材料框架结构拓扑与纤维铺角一体化优化设计》1.3.1这节

这里MMA以及GCMMA的代码大家可以给作者Krister Svanberg <krille@math.kth.se>发邮箱索取的哈,代码里的介绍部分很详细呢

至于推导,我没有发言的权利,因为我现在推导的都是很简单的呢嘻嘻

4、自己的一点小体会

(1)如果你和我一样很小白,请先用99行去做,虽然很多for循环看起来运算比较慢,但是我发现其实速度也还可以的,你编完程序之后用matlab的运行并计时功能看一下哪里最慢,matlab其实有好多函数真的很好用啊,但是一定要选对哦!举个小例子吧,我亲测,可能真的是我matlab也差,所以我第一次发现的时候超级开心哦,这里的Ke是关于符号变量theta的矩阵,所以有的时候你算得慢,可能真的不是99行和88行的区别,而是你别的函数没用到合适的那个,有啥matlab问题可以去matlab论坛或者百度哦,下载代码可以去github哦

f=matlabFunction(Ke);

ke=f(xs(:));几秒!!!

% ke1=double(subs(Ke,theta,xs(:)));很慢!!!

(2)推荐知云翻译软件,亲测好用哈哈

(3)推荐思维导图,我觉得看论文总结不错

(4)推荐得到APP哈哈,里面好多电子书能看,但是可能和学术没多大关系哈

(5)觉得纸质版书籍没必要的,可以去淘宝找客服买电子版,我买基本上是5块钱一本,但是有的不是很清楚哦,所以不要盲目下单,先试读一下再决定买不买

(6)做好笔记很重要,我就是乱七八糟,啥也找不到哈哈哈哈

(7)学会规划真的很重要哦,有的时候真的不是智商的问题,而是管理自己,自律的问题

(8)要锻炼哦~要不然老坐着搞科研会对身体不好哦,现在疫情在家,可以晚上的时候跳绳跑步哦~

(9)不要怕问题,刚开始真的是很长很长很长的时间,如果我说得有一年多我很迷茫,你会不会笑话我哈哈,我做了我以为多的努力但是我什么都不会,慢慢的我也觉得我懂了一丢丢,虽然很少,但是让我明白,我也是可以的,不管结果如何,那个过程都是你自己的收获~

(10)硬着头皮不爱看文献也要好好看,因为不看真的不知道别人做了啥

(11)共勉,要相信自己,被质疑的时候不要急于反驳,要反思一下自己怎么能说服别人,而这个的前提是你有足够的知识才可以哦~加油,会越来越好的

(12)好吧,我不喜欢11这个数字,所以硬强也是要加上一句的,希望我的分享能帮助到你,虽然不认识,但是和你说,如果我分享的对你有用,我会很开心的哦~因为我也受过很多人的帮助,但真的奈何自己智商堪忧哈哈哈哈,很感激那些人哦

(13)又有灵感了!欢迎一起学习一起进步啊,后面有好的的东西我会继续分享的哦~

附加一个因为没有用水平集,竟然没看过水平集的文章,水平集第二个里面福利啊

平台注册入口