趙曉偉,王守波,李廣惠
(1.山東建筑大學,山東 濟南 250101; 2.山東省建設建工(集團)有限責任公司第四分公司,山東 濟南 250014)
材料力學中采用彎矩方程積分法求平面彎曲梁的撓度和轉(zhuǎn)角問題。首先建立梁的撓曲線近似微分方程, 進行兩次積分運算再根據(jù)邊界條件確定積分常數(shù),從而求得撓度方程和轉(zhuǎn)角方程。但是這種方法分析梁的彎曲變形時,需先確定梁的彎矩方程,當梁上作用復雜載荷時,確定梁的彎矩方程變得十分困難[1-3]。載荷方程積分法[4]需要進行四次積分運算結(jié)合邊界條件才能得到撓度方程。當梁上作用復雜載荷時,載荷方程積分法運算過程煩瑣冗長。這兩種方法在工程實際計算中受到很大的限制。
在實際工程應用中,求解平面彎曲梁撓度和轉(zhuǎn)角問題可以看作是微分方程邊值問題。目前求解常微分方程的邊值問題的方法主要有有限元法和有限差分法[5],這兩種方法的計算精度取決于對求解區(qū)域劃分單元的大小。而配點法求解此問題不需要劃分單元,不需要積分,公式也簡單,容易編程。配點法主要有擬譜法和微分求積法兩種。擬譜法[6]將未知函數(shù)展開為譜函數(shù)的線性組合,這種方法的理論研究還在進一步的發(fā)展,在工程技術人員中應用不廣泛。微分求積法[7-8]是將未知函數(shù)在區(qū)間上所有離散點的函數(shù)值的加權和來逼近該函數(shù)在某一離散點的偏導數(shù)或積分,其權系數(shù)的確定通常根據(jù)Lagrange多項式在網(wǎng)格點處的導數(shù)值給出。因此,離散點不能取得太多,否則Lagrange多項式表示的曲線隨多項式次數(shù)的升高而出現(xiàn)Runge現(xiàn)象,從而產(chǎn)生計算的不穩(wěn)定性[9-11]。而重心Lagrange插值[12]很好地避免了這些缺點。
采用重心插值配點法就是用重心Lagrange插值多項式求出某一函數(shù)在各個離散點的微分矩陣,從而可以通過矩陣的運算來求出常微分方程的解。而材料力學中梁彎曲問題的求解最終也歸結(jié)為在一定的邊界條件和初始條件下的(偏)微分方程(組)的求解,所以,可以把重心插值配點法作為用于材料力學問題的求解的一種數(shù)值方法。本文把重心插值配點法用于平面彎曲梁的撓度問題的分析中,計算結(jié)果精度較高,效果滿意。
(1)
對g(x)求n階導數(shù),得式(2):
(2)
函數(shù)g(x)在節(jié)點x1,x2,…,xN處的n階導數(shù)表示為式(3):
(3)
式(3)可寫成矩陣形式(見式(4)):
g(n)=D(n)g
(4)
對式(2)求導直接得到一階微分矩陣,通過下面遞推公式得到高階微分矩陣(見式(5)—式(7)):
(5)
令:
(6)
w(n)=DNg
(7)
于是,對微分方程的求解就變成對線性方程組的求解,就線性方程組(7)可以得到未知函數(shù)的離散值。
細長梁(見圖1),承受集度為q(x)的荷載,發(fā)生彈性彎曲,控制方程為:
EIw(4)=q(x)
(8)
其中,E為截面彈性模量;I為截面慣性矩;w為梁的撓度;q(x)為梁的荷載集度。
梁的撓度,記為w=w(x),轉(zhuǎn)角即為梁橫截面對其原來位置轉(zhuǎn)過的角度,記為θ=w′(x)。
圖1所示簡支梁的邊界條件如式(9)所示:
w(0)=0,w(L)=0,w″(0)=0,w″(L)=0
(9)
因此,圖1任意載荷下的梁的彎曲變形問題,就是在邊界條件式(9)下,求解微分方程式(8)邊值問題。
在梁上取N個節(jié)點,則w(4)可用微分矩陣對N個節(jié)點值w求導表示,寫成矩陣形式見式(10):
(10)
D4w=f
(11)
由式(11)即可求得梁的節(jié)點位移列陣。微分矩陣以及梁節(jié)點位移的計算,本文都編制Matlab程序來實現(xiàn)。
算例1:圖2所示簡支梁AB,梁長50 cm,高2 cm,寬1 cm,彈性模量為10 GPa,q0=100 N/m,得到梁軸線各節(jié)點的撓度和轉(zhuǎn)角,與解析解比較如表1所示(選取13個節(jié)點計算)。
表1 算例1梁各節(jié)點撓度、轉(zhuǎn)角的解析解與本文解比較
由表1,圖3,圖4可知,承受正弦荷載作用的簡支梁,劃取13個節(jié)點,用重心插值配點法計算出的撓度和轉(zhuǎn)角結(jié)果與文獻[4]精確解完全吻合,撓度和轉(zhuǎn)角最大相對誤差為10-9,充分說明了重心插值配點法計算復雜載荷受彎梁撓度和轉(zhuǎn)角的可行性和精確性。
算例2:一懸臂梁承受荷載如圖5所示,其他參數(shù)同算例1,得到梁軸線的各節(jié)點撓度、轉(zhuǎn)角,與解析解比較如表2所示(選取12個節(jié)點計算)。
表2 算例2梁各節(jié)點撓度、轉(zhuǎn)角的解析解與本文解比較
由表2,圖6,圖7可知,承受余弦荷載作用的懸臂梁,劃取12個節(jié)點,用重心插值配點法計算出的撓度和轉(zhuǎn)角結(jié)果與文獻[4]精確解完全吻合,撓度和轉(zhuǎn)角最大相對誤差為10-9~10-8,充分說明了重心插值配點法計算復雜載荷受彎梁撓度和轉(zhuǎn)角的可行性和精確性。
算例3:一懸臂梁承受荷載如圖8所示,其他參數(shù)同算例1,得到梁軸線的各節(jié)點撓度、轉(zhuǎn)角與解析解比較如表3所示(選取7 個節(jié)點計算)。
表3 算例3梁各節(jié)點撓度、轉(zhuǎn)角的解析解與本文解比較
由表3,圖9,圖10可知,承受拋物線荷載作用的簡支梁,劃取7個節(jié)點,用重心插值配點法計算出的撓度和轉(zhuǎn)角結(jié)果與文獻[4]精確解完全吻合,撓度和轉(zhuǎn)角最大相對誤差為×10-14,充分說明了重心插值配點法計算復雜載荷受彎梁撓度和轉(zhuǎn)角的可行性和精確性。
1)本文方法利用微分矩陣來求解,可得到非常精確的撓度和轉(zhuǎn)角,非常適用于求解承受復雜載荷的細長梁,更便于求解承受非線性分布荷載彎曲梁。從算例中可以看出,數(shù)值解與精確解完美吻合,驗證了重心插值配點法在梁的彎曲變形計算中的可行性和精確性[14]。該方法不僅有較高的精度,還具有極好的數(shù)值穩(wěn)定性。2)該方法可用于材料力學彎曲變形課堂教學,可讓學生借助Matlab語言編程計算獲得數(shù)值解,并與精確解進行對比,可讓學生體會到求解問題的多樣性,提高學生的學習興趣和熱情。3)這種方法便于處理邊界支承條件,可以用疊加法也可以用替代法,編制程序時非常容易實現(xiàn)邊界條件的施加。且數(shù)學原理簡單,容易編制程序,因此在結(jié)構(gòu)分析中,有良好的應用前景。