Sigmund的99行Matlab拓扑优化程序简析
引言
Sigmund在2001年在Structural and Multidisciplinary Optimization 发表一篇名为 “A 99 line topology optimization code written in Matlab”论文。该论文附带一个使用Matlab编写的拓扑优化程序。这个只有99行代码的程序基于Matlab环境构建了一个完整的拓扑优化流程:前处理(构建有限元仿真模型), 有限元模型分析计算,拓扑优化迭代和后处理(分析结果显示)。Sigmund在论文中对这个程序的拓扑优化流程做了详细解释。本文仅从程序设计角度解析这段代码。
Sigmund的99行Matlab拓扑优化程序使用模块化方法设计,主要包含以下几个模块:
- 程序主流程
- 有限元模型求解模块
- Filter模块
- 单元刚度阵计算模块:计算平面四边形单元的刚度矩阵
- 优化模块: 使用优化准则法更新设计变量
- 目标函数计算和灵敏度分析模块
下面几个小节首先列出Sigmund99行拓扑优化程序完整代码,接着解释程序中5个全局变量在优化流程中的功用,然后对程序的各个功能模块做详细解析,最后总结程序的局限性并列出扩展程序功能时所需要修改的相应模块。
99行拓扑优化代码
Sigmund的99行Matlab拓扑优化程序如下所示
% a 99 line topology optimization code by Ole Sigmund,October 1999
clear
nelx=60;
nely=40;
volfr
Sigmund的99行Matlab拓扑优化程序简析相关推荐
- matlab拓扑优化流程图,Sigmund的99行Matlab拓扑优化程序简析
引言 Sigmund在2001年在Structural and Multidisciplinary Optimization 上发表一篇名为 "A 99 line topology opti ...
- TopOpt | 99行拓扑优化程序完全注释
博客搬家到自己搭建的 主页 啦q(≧▽≦q),大家快来逛逛鸭! The Corresponding Files (Click to Save): Code: top.m Refe ...
- Matlab拓扑优化99行步骤,[TopOpt] 针对99行改进的88行拓扑优化程序完全注释
The program can be promoted by line: top88(120,40,0.5,3.0,3.5,1) 代码注释 88行程序为了提高效率,逻辑.流程没有99行程序那么清楚,建 ...
- TopOpt | 针对99行改进的88行拓扑优化程序完全注释
博客搬家到自己搭建的 主页 啦q(≧▽≦q),大家快来逛逛鸭! The Corresponding Files (Click to Save): Code top88.m R ...
- Federico Ferrari 和Ole Sigmund的高效3D拓扑优化程序
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.top3D125 二.使用步骤 三.主程序 四.程序说明 四.备注 前言 Federico Ferrari 和Ol ...
- matlab拓扑优化流程图,matlab 拓扑优化 A variety of MATLAB topological optimi - DSSZ
文件名大小更新时间 matlab 拓扑优化\esoL.m38182015-07-02 matlab 拓扑优化\esoX.m38582015-07-02 matlab 拓扑优化\softbeso.m36 ...
- PHP+新浪微博开放平台+新浪云平台(SAE)开发微博应用——PHP SDK中Demo程序简析
PHP+新浪微博开放平台+新浪云平台(SAE) --新浪微博应用开发的一个解决方案 一.PHP+新浪微博开放平台+新浪云平台(SAE)方案的基础 二.建立微博应用的过程 三.PHP SDK中Demo程 ...
- 多约束拓扑优化MATLAB,MATLAB拓扑优化88行经典(99行优化版)
[实例简介] The paper presents an efficient 88 line MATLAB code for topology optimization. It has been de ...
- 基于matlab有限体积法的传热结构拓扑优化程序
这里写自定义目录标题 设计域 设计结果 代码 主代码(备注:程序没有经过优化,所以看起来比较多,请指正) 有限体积求解 敏度求解 MMA程序更新设计变量 过滤函数 参考文献 设计域 设计结果 代码 主 ...
最新文章
- 在JSF 2中对定制验证器进行参数化
- 【Android Developers Training】 81. 解析XML数据
- 微型计算机主机箱内的所有部件均由大规模,2012年自考《计算机应用基础》模拟试题...
- 【飞秋】微软简化Visual Studio 非程序员也能开发软件
- Android系统性能优化(67)----内存泄漏检测
- MFC单选按钮的使用
- gamma分布_RAW和Gamma
- 蓝桥杯---简单的计算器
- ASP.NET 路由
- 数据结构与算法 第一章 引入
- zk4android,zk4 复刻实战有感
- 达芬奇的十大经典名画解读
- linux 卸载二进制包,Ubuntu19.10系统的软件安装与卸载命令
- python代码画人物_Python绘制可爱的卡通人物 | 【turtle使用】
- PG内核分析 Question and Answer
- 夜空中的守望者的目光
- Android学习之AlarmManager使用
- 微信开发者工具 设置一个tab为4个空格
- python初级 2 字符串格式化
- Zune software is not installed. Install the latest version of Zune software.
热门文章
- Matlab多核并行计算parfor的那些事儿【注意事项】
- chrome插件开发时跨域问题解决方案
- java毕业设计校园篮球互动平台mybatis+源码+调试部署+系统+数据库+lw
- 添加视频的html语言,添加视频内容.html
- 汇丰全球数字主管:汇丰银行正“谨慎关注”加密货币投资
- Python-自动化测试-多表单
- Web.Config配置文件中customErrors元素的使用方法
- 程序员面试失败的几种原因,你中枪了吗?
- C语言之移位操作符、位操作符详解
- 135-146 李游前端精品课程笔记