资源简介
关于水平集方法的拓扑优化代码-TOPLSM.m
这是我在香港中文大学王煜教授团队做的关于拓扑优化的水平集方法源程序。希望大家共同学习一下!讨论讨论!
这是我在香港中文大学王煜教授团队做的关于拓扑优化的水平集方法源程序。希望大家共同学习一下!讨论讨论!
代码片段和文件信息
function TOPLSM(DomainWidth DomainHight EleNumPerRow EleNumPerCol LV LCurFEAInterval PlotInterval TotalItNum)
%=================================================================%
% TOPLSM a 199-line Matlab program is developed and presented here for the
% mean compliance optimization of structures in 2D with the classical level set method.
%
% Developed by: Michael Yu WANG Shikui CHEN and Qi XIA
% First Version : July 10 2004
% Second Version: September 27 2004
% Last Modification:October 31 2005 optimize the code.
%
% The code can be downloaded from the webpage:
% http://www2.acae.cuhk.edu.hk/~cmdl/download.htm
%
% Department of Automation and Computer-Aided Engineering
% The Chinese University of Hong Kong
% Email: yuwang@acae.cuhk.edu.hk
%
%Main references:
% (1.)M.Y. Wang X. M. Wang and D. M. GuoA level set method for structural topology optimization
% Computer Methods in Applied Mechanics and Engineering 192(1-2) 227-246 January 2003
%
%(2.) M. Y. Wang and X. M. Wang PDE-driven level sets shape sensitivity and curvature flow for structural topology optimization
% CMES: Computer Modeling in Engineering & Sciences 6(4) 373-395 October 2004.
%
%(3.) G. Allaire F. Jouve A.-M. Toader Structural optimization using sensitivity analysis and a level-set method
% J. Comp. Phys. Vol 194/1 pp.363-393 2004.
%Parameters:
% DomainWidth : the width of the design domain;
% DomainHight : the hight of the design domain;
% EleNumPerRow : the number of finite elements in horizontal direction;
% EleNumPerCol : the number of finite elements in vertical direction;
% LV : Lagrange multiplier for volume constraint;
% LCur : Lagrange multiplier for perimeter constraint whose shape sensitivity is curvature;
% FEAInterval : parameters to specify the frequency of finite element
% analysis;
% PlotInterval : parameters to specify the frequency of plotting;
% TotalItNum : total iteration number.
%=================================================================%
% Step 1: Data initialization
EW = DomainWidth / EleNumPerRow; % The width of each finite element.
EH = DomainHight / EleNumPerCol; % The hight of each finite element.
M = [ EleNumPerCol + 1 EleNumPerRow + 1 ]; % the number of nodes in each dimension
[ x y ] = meshgrid( EW * [ -0.5 : EleNumPerRow + 0.5 ] EH * [ -0.5 : EleNumPerCol + 0.5 ]);
[ FENd.x FENd.y FirstNodePerCol ] = MakeNodes(EleNumPerRowEleNumPerColEWEH); % get the coordinates of the finite element nodes
Ele.NodesID = MakeElements( EleNumPerRow EleNumPerCol FirstNodePerCol );
LSgrid.x = x(:); LSgrid.y = y(:); % The coordinates of each Level Set grid
for i = 1 : length(Ele.NodesID(:1))
Ele.LSgridID(i) = find((LSgrid.x - FENd.x(Ele.NodesID(i1)) - EW/2).^2 +... % get the ID of the level set grid that lies in the middle of a finite element
(LSgrid.y - FENd.y(Ele.NodesID(i1)) - EH/2).^2 <= 100*ep
相关资源
- Matlab路面裂缝识别69319
- 高灵敏度GPS接收机MATLAB仿真,附捕获
- 基于MATLAB的质点弹道计算与外弹道优
- 阵列天线的matlab仿真
- MATLAB 经典程序源代码大全
- MATLAB小波软阈值去噪代码33473
- 天线阵的波束形成在MATLAB仿真程序及
- 非线性SVM算法-matlab实现
- 《MATLAB 智能算法超级学习手册》-程序
- 组合导航matlab程序
- 读取txt文件内容matlab代码实现
- Matlab实现基于相关的模板匹配程序
- matlab优化工具箱讲解
- 基于MATLAB的快速傅里叶变换
- 光纤传输中的分布傅立叶算法matlab实
- 基于matlab的图像处理源程序
- matlab 椭圆拟合程序
- 算术编码解码matlab源代码
- optical_flow 光流法 matlab 实现程序
- 引导图像滤波器 Matlab实现
- 分形几何中一些经典图形的Matlab画法
- OFDM系统MATLAB仿真代码
- SVM工具箱(matlab中运行)
- 图像小波变换MatLab源代码
- LU分解的MATLAB实现
- 冈萨雷斯数字图像处理matlab版(第三
- 替代数据法的matlab程序
- 用matlab实现的多站定位系统性能仿真
- 通过不同方法进行粗糙集属性约简m
- k近邻算法matlab实现
评论
共有 条评论