资源描述:
《水平集拓扑优化经典程序》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、functionTOPLSM(DomainWidth,DomainHight,EleNumPerRow,EleNumPerCol,LV,LCur,FEAInterval,PlotInterval,TotalItNum)%=================================================================%%TOPLSM,a199-lineMatlabprogram,isdevelopedandpresentedhereforthe%meancompliance
2、optimizationofstructuresin2D,withtheclassicallevelsetmethod.%%Developedby:MichaelYuWANG,ShikuiCHENandQiXIA%FirstVersion:July10,2004%SecondVersion:September27,2004%LastModification:October31,2005,optimizethecode.%%Thecodecanbedownloadedfromthewebpage:%http
3、://www2.acae.cuhk.edu.hk/~cmdl/download.htm%%DepartmentofAutomationandComputer-AidedEngineering,%TheChineseUniversityofHongKong%Email:yuwang@acae.cuhk.edu.hk%%Mainreferences:%(1.)M.Y.Wang,X.M.Wang,andD.M.Guo,Alevelsetmethodforstructuraltopologyoptimizatio
4、n,%ComputerMethodsinAppliedMechanicsandEngineering,192(1-2),227-246,January2003%%(2.)M.Y.WangandX.M.Wang,PDE-drivenlevelsets,shapesensitivity,andcurvatureflowforstructuraltopologyoptimization,%CMES:ComputerModelinginEngineering&Sciences,6(4),373-395,Octob
5、er2004.%%(3.)G.Allaire,F.Jouve,A.-M.Toader,Structuraloptimizationusingsensitivityanalysisandalevel-setmethod,%J.Comp.Phys.Vol194/1,pp.363-393,2004.%Parameters:%DomainWidth:thewidthofthedesigndomain;%DomainHight:thehightofthedesigndomain;%EleNumPerRow:then
6、umberoffiniteelementsinhorizontaldirection;%EleNumPerCol:thenumberoffiniteelementsinverticaldirection;%LV:Lagrangemultiplierforvolumeconstraint;%LCur:Lagrangemultiplierforperimeterconstraintwhoseshapesensitivityiscurvature;%FEAInterval:parameterstospecify
7、thefrequencyoffiniteelement%analysis;%PlotInterval:parameterstospecifythefrequencyofplotting;%TotalItNum:totaliterationnumber.%=================================================================%%Step1:DatainitializationEW=DomainWidth/EleNumPerRow;%Thewidth
8、ofeachfiniteelement.EH=DomainHight/EleNumPerCol;%Thehightofeachfiniteelement.M=[EleNumPerCol+1,EleNumPerRow+1];%thenumberofnodesineachdimension[x,y]=meshgrid(EW*[-0.5:EleNumPerRow+0.5],EH*[-0.5:EleNumPerCol+0.5]);[F