張斌偉 王進璽 張興元



[摘 要]針對目前高等教育大眾化,結構分析軟件化,大學生學習心理復雜化和就業形勢嚴峻化,考慮到結構力學課程特點,嘗試應用Matlab程序進行結構力學課程教學改革,編制了結構力學教學平臺,在結構力學經典內容教學中,將靜定結構和超靜定結構統一用編程分析實現,這一思想的出發點是著力于培養學生應用程序分析結構力學問題的興趣,進而提高學生應用計算機程序進行結構分析的能力,不但調動了學生自我學習的動力,而且也提高了學生的知識水平和實踐能力。
[關鍵詞]經典結構力學 Matlab語言 靜定結構 超靜定結構
[中圖分類號] TU311;G420[文獻標識碼] A[文章編號] 2095-3437(2015)07-0136-02
一、引言
目前,在應用型高校中,土木建筑類結構力學的教學模式和教學方法仍然承襲了30年前的模式,即主要是老師在課堂上講述基本概念和知識點,學生自己完成一定量的習題訓練,然后根據學生完成作業的情況,教師進行一定的系統講解,給學生建立一種解題的模板和方法。但是隨著編程軟件的快速發展以及對學生結構分析能力的要求不斷提高,應用手算的辦法進行結構分析越來越不能滿足工程需求,這就要求應用型高校培養的學生不但要理解結構力學的基本概念、方法和技巧,在此基礎上培養熟練的手算能力,而且學生也要有相應的結構程序分析能力,為今后的繼續學習和工作打好基礎。
二、Matlab語言簡介
Matlab是一種用于算法開發、數據可視化、數據分析以及數值計算的高級技術計算語言和交互式環境。除了矩陣運算、繪制函數/數據圖像等常用功能外,Matlab還可以用來創建用戶界面及調用其他語言(包括C,C++和FORTRAN)編寫的程序。由于其草稿紙式的編程環境,使得Matlab語言被稱為第四代編程語言,所具有的豐富的工具箱和大量的內嵌數值運算函數,將科技工作者從繁雜的底層編程環境中解放出來,極大的提高了科技工作者的工作效率。
三、基于Matlab語言的結構力學教學軟件平臺設計
利用Matlab語言的優越性,結合有限元的基本思想,進行了結構力學教學軟件平臺的開發,該平臺對于平面桿系結構的靜定與超靜定問題具有很好的計算效果。
本教學示范軟件平臺的開發思路如下圖所示:
圖1 ? 教學示范軟件平臺開發思路
核心計算程序如下所示:
function SolveModel
本程序為求解有限元模型核心計算程序,求解有限元模型的過程如下:
1.計算單元剛度矩陣,集成整體剛度矩陣;
2.計算單元等效節點力,集成整體節點力向量;
3.處理約束條件,修改剛度矩陣和節點力向量;
4.求解方程組,得到整體節點位移向量;
global gNode gElement gMaterial gBC1 gNF
…gDF gK gDelta
[node_number,dummy]=size(gNode);
gK=sparse(node_num*3,node_num*3);
f=sparse(node_number*3,1);
[element_number,dummy]=size(gElement);
for ie=1∶1∶element_number
k=StiffnessMatrix(ie,1);
AssembleStiffnessMatrix(ie,k);
end
[f]=LastEquivalentNodeForce(f);
[gK,f]=ChangeMarixandForce(f,node_number);
[gDelta]=SolveAndChangegDelta(f,node_number);
return
end
四、教學程序的應用范例分析
(一)靜定結構分析
為了建立學生對于結構分析的興趣,首先從最簡單的靜定結構入手進行分析,如圖2所示。
圖2 ? 計算靜定結構和單元劃分圖
從傳統的靜定結構分析方法來看,其本質就是解決脫離體的平衡問題,作為靜定結構分析,該剛架的幾何組成比較復雜,解決這一問題的途徑之一,是把力學分析與幾何組成結合起來考慮。題目難度不大,但計算量較大,凡是學習結構力學的學生,對于該算法是比較熟知的,計算結果從略。
從程序結構力學的角度來看,只需要將結構模型的信息,包括結點、單位、材料、約束和荷載等利用數據反映到程序中去。在PlaneFrameModel建模子程序中,形成gNode、gElement、gMaterial、gBC1、gBC2、gNF、gDF等信息。
利用教學軟件平臺計算,結果和傳統方法完全一樣。計算結果如表1所示。通過兩種方法的比較可知,對于靜定結構問題,雖然理論上比較簡單,但結構組成分析比較復雜時,運算量比較大。
表1 ? 結構節點內力表(電算結果)
同時,從程序結構力學的角度出發研究靜定結構,為學習結構力學的學生提供了一種全新的思路,使學生理解程序結構力學的應用廣泛性。
(二)超靜定結構分析
在結構力學的超靜定結構分析中,經典的方法是力法和位移法,但不管是哪一種方法,當結構組成比較復雜時,運算量都很大,而且有些結構幾乎無法用手算的方法進行。此時,利用程序結構力學就顯現出強大的功能和適應性。
為了方便比較,利用文獻中計算實例驗證自編教學平臺的適用性,并比較手算和電算結果,充分體現教學平臺的優越性。
題目:求圖3所示超靜定組合結構的內力。設橫梁截面抗拉和抗彎剛度分別為EA和EI,且EA=2EI / m2。吊桿截面抗拉剛度E1A1=(EI / 20) / m2。
圖3 ? 超靜定組合結構荷載分布和單元劃分圖
在教材的計算過程中,充分體現了手算方法的優點,即概念性、知識性、邏輯性的充分結合,但計算過程太過復雜,就目前應用型高校學生的基礎知識而言,這么大的運算量,是大部分學生沒法接受的,起不到學生自我提升的作用。但通過教學軟件平臺,只需將模型的基本信息以數據的形式輸入,就能得到正確的解答(如圖4所示),這種教學方法使得學生不但掌握了超靜定結構求解的基本思路和方法,而且極大的解放了學生繁雜求解運算量的工作,提高了學生解題效率,進而激勵了學生結構力學的學習興趣,為今后工程實踐中的結構計算分析打好基礎。
圖4 ? 結構內力圖(電算結果)
五、結語
利用Matlab編程語言,結合有限元基本思想,編制結構力學教學軟件平臺,通過靜定結構和超靜定結構的算例說明,培養學生程序結構力學分析能力至關重要,可以說,這是結構力學教學的最終歸宿。學生能不能建立熟練的程序結構力學分析能力,直接決定了學生在生產實踐中應用結構力學解決工程問題的能力和效率,也是今后土木建筑類畢業生在結構分析方面自我提升和創新的根基。通過算例說明,利用Matlab軟件進行結構力學的教學是適宜的,不但有助于學生對基本概念、知識點的掌握,而且極大的激發了學生對結構分析的興趣,進一步提升了學生應用結構力學解決問題的廣度和難度。
[ 參 考 文 獻 ]
[1] 楊弗康,李家寶.結構力學(上冊)(第四版)[M].北京:高等教育出版社,1998.
[2] 包世華,辛克貴.結構力學(下冊)(第3版)[M].武漢:武漢理工大學出版社,2012.
[3] 阮沈勇,王永利,桑群芳.MATLAB程序設計[M].北京:電子工業出版社,2004.
[4] 莫勒.MATLAB數值計算[M].北京:機械工業出版社,2006.
[5] 任玉杰.數值分析及其MATLAB實現[M].北京:高等教育出版社,2007.
[責任編輯:鐘 嵐]