資源簡介
matlab實現基于SIMP法的99和169行連續體結構二維和三維拓撲優化程序,采用優化準則法求解。另附10篇相關研究的碩士博士學位論文
板殼結構動力學拓撲優化設計理論方法研究及二次開發_李耀明
基于拓撲優化的船舶結構輕量化研究_欽倫洋
基于拓撲優化與靈敏度分析的公交車車身骨架輕量化_丁明亮
結構拓撲優化理論及在轎車副車架開發中應用研究_朱劍峰
結構拓撲優化啟發式算法的研究_何林偉
結構拓撲優化設計模型應當存在更合理的提法
結構拓撲優化設計若干問題的建模_求解及解讀_牛飛
連續體結構拓撲優化改進的敏度修正方法研究_朱劍峰
連續體結構拓撲優化理論與應用研究_左孔天
連續體結構拓撲優化敏度修正方法研究_陳垂福
代碼片段和文件信息
%%%%?A?99?LINE?TOPOLOGY?OPTIMIZATION?CODE?BY?OLE?SIGMUND?JANUARY?2000?%%%%%%%?CODE?MODIFIED?FOR?INCREASED?SPEED?September?2002?BY?OLE?SIGMUND?%%%
%原始的OLE?SIGMUND代碼?先關論文中附錄部分?
function?topA_O_Sigmund(nelxnelyvolfracpenalrmin);
nelx=80;%x軸向單元數目
nely=20;%y軸向單元數目
volfrac=0.4;%體積比
penal=3.0;%材料插值的懲罰因子
rmin=1.2;%敏度過濾的半徑
%?INITIALIZE?初始化
x(1:nely1:nelx)?=?volfrac;?%將材料均勻分布在設計領域,x是設計變量
loop?=?0;?%存放迭代次數的變量
change?=?1;?%每次迭代目標函數的改變值,用來判斷何時收斂
%?START?ITERATION?開始迭代
while?change?>?0.01???%當兩次目標函數的迭代的差小于0.01時候,停止迭代
??loop?=?loop?+?1;%迭代次數加1
??xold?=?x;?%將前一次的設計變量付給xold
%?FE-ANALYSIS?有限元分析
??[U]=FE(nelxnelyxpenal);????%?penal為材料插值的懲罰因子,調用FE有限元分析函數??????????
%?objectIVE?FUNCTION?AND?SENSITIVITY?ANALYSIS???目標函數和靈敏度分析
??[KE]?=?lk;%單元剛度矩陣?調用KE函數,單元剛度矩陣子程序
??c?=?0.;?%用來存放目標函數的變量,這里目標函數是剛度最大,也就是柔度最小
??for?ely?=?1:nely
????for?elx?=?1:nelx
??????n1?=?(nely+1)*(elx-1)+ely;?%n1和n2兩個節點分別是四邊形單元的左上角節點和右上角節點,變量n1和n2表示全局節點編號中的左上和右元節點編號,
??????n2?=?(nely+1)*?elx???+ely;%所示單元的自由度分別有:edof?=?[2*n1-1;?2*n1;?2*n2-1;?2*n2;?2*n2+1;?2*n2+2;?2*n1+1;?2*n1+2]?
??????Ue?=?U([2*n1-1;2*n1;?2*n2-1;2*n2;?2*n2+1;2*n2+2;?2*n1+1;2*n1+2]1);%用于從全局位移矢量U中提取單元位移矢量Ue。
??????c?=?c?+?x(elyelx)^penal*Ue‘*KE*Ue;%計算目標函數柔度的值
??????dc(elyelx)?=?-penal*x(elyelx)^(penal-1)*Ue‘*KE*Ue;?%靈敏度計算
????end
??end
%?FILTERING?OF?SENSITIVITIES
??[dc]???=?check(nelxnelyrminxdc);?????%靈敏度過濾,為了邊界光順?調用check子程序
%?DESIGN?UPDATE?BY?THE?OPTIMALITY?CRITERIA?METHOD
??[x]????=?OC(nelxnelyxvolfracdc);??%優化準則法更新設計變量
%?PRINT?RESULTS
??change?=?max(max(abs(x-xold)));?%計算目標函數的改變量
??disp([‘?It.:?‘?sprintf(‘%4i‘loop)?‘?Obj.:?‘?sprintf(‘%10.4f‘c)?...
???????‘?Vol.:?‘?sprintf(‘%6.3f‘sum(sum(x))/(nelx*nely))?...
????????‘?ch.:?‘?sprintf(‘%6.3f‘change?)])
?????%屏幕顯示迭代信息
%?PLOT?DENSITIES??
??colormap(gray);?imagesc(-x);?axis?equal;?axis?tight;?axis?off;pause(1e-6);
??%屏幕顯示迭代信息優化結果的圖形顯示(個人認為這種圖形顯示方法很不好,太簡單了。比
%較方便的圖形顯示應該是:?每一次迭代同時顯示優化結果、目標函數曲線,然后自動保存每一次的結果)
end?
%%%%%%%%%%?OPTIMALITY?CRITERIA?UPDATE?%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function?[xnew]=OC(nelxnelyxvolfracdc)???%oc算法子程序
l1?=?0;?l2?=?100000;?move?=?0.2;%l1、l2用于體積約束的拉格朗日乘子
while?(l2-l1?>?1e-4)
??lmid?=?0.5*(l2+l1);
??xnew?=?max(0.001max(x-movemin(1.min(x+movex.*sqrt(-dc./lmid)))));%?這里是OC算法的核心所在,具體含義可參考論文中的公式
??if?sum(sum(xnew))?-?volfrac*nelx*nely?>?0;
????l1?=?lmid;
??else
????l2?=?lmid;
??end
end
%%%%%%%%%%?MESH-INDEPENDENCY?FILTER?%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function?[dcn]=check(nelxnelyrminxdc)%靈敏度過濾技術子程序
dcn=zeros(nelynelx);
for?i?=?1:nelx
??for?j?=?1:nely
????sum=0.0;?
????for?k?=?max(i-floor(rmin)1):min(i+floor(rmin)nelx)
??????for?l?=?max(j-floor(rmin)1):min(j+floor(rmin)nely)
????????fac?=?rmin-sqrt((i-k)^2+(j-l)^2);
????????sum?=?sum+max(0fac);
????????dcn(ji)?=?dcn(ji)?+?max(0fac)*x(lk)*dc(lk);
??????end
????end
????dcn(ji)?=?dcn(ji)/(x(ji)*sum);
??end
end
%只是為了光順邊界的,現在二重敏度過濾技術用得更多一點了
%%%%%%%%%%?FE-ANALYSIS?%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function?[U]=FE(nelxnelyxpenal)%有限元求解
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????6559??2018-01-14?23:10??基于SIMP法的99和169行連續體結構二維和三維拓撲優化程序,采用優化準則法求解。另附10篇相關研究的碩士博士學位論文\99行優化代碼?走通\topA_O_Sigmund.m
?????文件???????5137??2018-01-14?23:09??基于SIMP法的99和169行連續體結構二維和三維拓撲優化程序,采用優化準則法求解。另附10篇相關研究的碩士博士學位論文\99行優化代碼?走通\topB.m
?????文件???????6633??2018-01-14?23:10??基于SIMP法的99和169行連續體結構二維和三維拓撲優化程序,采用優化準則法求解。另附10篇相關研究的碩士博士學位論文\99行優化代碼?走通\topC_O_Sigmund.m
?????文件?????????86??2018-01-05?23:16??基于SIMP法的99和169行連續體結構二維和三維拓撲優化程序,采用優化準則法求解。另附10篇相關研究的碩士博士學位論文\99行優化代碼?走通\新建文本文檔.txt
?????文件???????8050??2014-09-20?16:14??基于SIMP法的99和169行連續體結構二維和三維拓撲優化程序,采用優化準則法求解。另附10篇相關研究的碩士博士學位論文\基于SIMP法的169行連續體結構三維拓撲優化程序,采用優化準則法求解。?169?line\top3d.m
?????文件????5326707??2018-01-09?20:51??基于SIMP法的99和169行連續體結構二維和三維拓撲優化程序,采用優化準則法求解。另附10篇相關研究的碩士博士學位論文\基于拓撲優化與靈敏度分析的公交車車身骨架輕量化_丁明亮.caj
?????文件???10015582??2018-01-13?10:57??基于SIMP法的99和169行連續體結構二維和三維拓撲優化程序,采用優化準則法求解。另附10篇相關研究的碩士博士學位論文\基于拓撲優化的船舶結構輕量化研究_欽倫洋.caj
?????文件??????????0??2017-12-31?22:09??基于SIMP法的99和169行連續體結構二維和三維拓撲優化程序,采用優化準則法求解。另附10篇相關研究的碩士博士學位論文\板殼結構動力學拓撲優化設計理論方法研究及二次開發_李耀明.caj
?????文件????2521167??2017-12-31?21:57??基于SIMP法的99和169行連續體結構二維和三維拓撲優化程序,采用優化準則法求解。另附10篇相關研究的碩士博士學位論文\結構拓撲優化啟發式算法的研究_何林偉.caj
?????文件????3087307??2018-01-14?22:58??基于SIMP法的99和169行連續體結構二維和三維拓撲優化程序,采用優化準則法求解。另附10篇相關研究的碩士博士學位論文\結構拓撲優化理論及在轎車副車架開發中應用研究_朱劍峰.caj
?????文件?????397751??2018-01-11?09:45??基于SIMP法的99和169行連續體結構二維和三維拓撲優化程序,采用優化準則法求解。另附10篇相關研究的碩士博士學位論文\結構拓撲優化設計模型應當存在更合理的提法.pdf
?????文件???38854366??2017-12-31?22:08??基于SIMP法的99和169行連續體結構二維和三維拓撲優化程序,采用優化準則法求解。另附10篇相關研究的碩士博士學位論文\結構拓撲優化設計若干問題的建模_求解及解讀_牛飛.caj
?????文件????1103939??2018-01-14?22:54??基于SIMP法的99和169行連續體結構二維和三維拓撲優化程序,采用優化準則法求解。另附10篇相關研究的碩士博士學位論文\連續體結構拓撲優化改進的敏度修正方法研究_朱劍峰.caj
?????文件?????619320??2018-01-14?22:55??基于SIMP法的99和169行連續體結構二維和三維拓撲優化程序,采用優化準則法求解。另附10篇相關研究的碩士博士學位論文\連續體結構拓撲優化敏度修正方法研究_陳垂福.caj
?????文件????3873507??2017-12-31?21:56??基于SIMP法的99和169行連續體結構二維和三維拓撲優化程序,采用優化準則法求解。另附10篇相關研究的碩士博士學位論文\連續體結構拓撲優化理論與應用研究_左孔天.caj
?????目錄??????????0??2018-01-15?09:51??基于SIMP法的99和169行連續體結構二維和三維拓撲優化程序,采用優化準則法求解。另附10篇相關研究的碩士博士學位論文\99行優化代碼?走通
?????目錄??????????0??2018-01-15?09:51??基于SIMP法的99和169行連續體結構二維和三維拓撲優化程序,采用優化準則法求解。另附10篇相關研究的碩士博士學位論文\基于SIMP法的169行連續體結構三維拓撲優化程序,采用優化準則法求解。?169?line
?????目錄??????????0??2018-01-15?09:52??基于SIMP法的99和169行連續體結構二維和三維拓撲優化程序,采用優化準則法求解。另附10篇相關研究的碩士博士學位論文
-----------?---------??----------?-----??----
?????????????65826111????????????????????18
評論
共有 條評論