葛仁余 呂良偉 朱浩杰 聶子龍 張金輪
(安徽工程大學建筑工程學院,安徽蕪湖241000)
材料力學中求平面彎曲梁的撓度和轉角采用的基本方法是彎矩方程積分法,即首先建立撓曲線近似微分方程,進行二次積分運算再結合邊界條件獲得撓度方程和轉角方程。但是彎矩方程積分法分析梁的彎曲變形時,需要事先獲得梁上任意位置的彎矩方程,當梁上作用任意分布載荷時確定梁的彎矩方程十分困難[1-3]。另一方法是載荷方程積分法[4],需要進行四次積分運算結合邊界條件才能得到撓度方程。當任意分布載荷為簡單的線性表達式時,由載荷方程積分法可以獲得彎曲變形的精確解,但是,當分布載荷為非線性表達式時,載荷方程積分法運算過程將會繁瑣冗長。積分法是計算彎曲變形的基本方法,其優(yōu)越性在于可用解析方法得到撓度方程和轉角方程,但是,當梁上作用較多外載荷時,需要分段建立彎矩積分方程和載荷積分方程,而在分段積分時,積分常數的個數分別是分段數的兩倍或四倍,因此,用積分法求解復雜載荷的變形問題時,耗費在積分運算和積分常數確定方面的工作量很大,也容易出錯,使得積分法在工程實際計算中的應用受到較大的限制。
正是彎矩方程積分法或載荷方程積分法在工程實際計算中受到較大的限制,本文引入微分求積法[5]求解任意復雜載荷下梁的彎曲變形問題。首先,根據疊加原理將作用在梁上的復雜載荷分解為各個單獨載荷,再由微分求積法將各個單獨載荷作用在梁上的載荷方程邊值問題轉化為求解線性代數方程組問題,通過Fortran語言編制通用程序計算,從而獲得梁的撓度和轉角的數值解,最后,將計算結果累計疊加,從而獲得多個載荷作用下梁的撓度和轉角。該法使梁的彎曲變形計算得以程序化,可避免彎矩方程積分法和載荷方程積分法中確定積分常數時一系列繁瑣的代數運算,尤其對于積分方法求解區(qū)間分段數較多的梁彎曲變形計算非常適用,因此,本法在求解梁的彎曲變形教學中具有巨大的功效。
如圖1所示,梁長為L,抗彎剛度為EI,q0為常數。圖1(a)有作用在梁上的任意分布載荷q(x)=q0f(x),圖1(b)有作用在梁上的集中載荷F=q0L,圖1(c)有作用在梁上的集中力偶Me=q0L2。以變形前的梁軸線為x軸,垂直向上的軸為y軸,變形后梁的軸線將成為xy平面內的一條曲線,稱為撓曲線,撓曲線上橫坐標為x的任意點的縱坐標稱為撓度,記為y=y(x);變形中梁的橫截面對其原來的位置轉過的角度θ,稱為轉角,記為θ=y′(x),在圖1所示的坐標系中,向上的撓度和逆時針方向的轉
圖1 單個載荷作用下的簡支梁
角為正,反之為負。根據文獻[4],圖1(a)梁的載荷方程為
為了便于編程計算,引入無量綱變量ξ=x/L,ξ∈[0,1],將其代入式(1)可得
圖1 (a)簡支梁兩端的邊界條件為因此,圖1(a)任意分布載荷下的梁的彎曲變形問題,就是在邊界條件式(3)下,求解微分方程式(2)的邊值問題。同理,根據文獻[4],圖1(b)和圖1(c)梁中,設AC梁段的撓度為yI(x),引入無量綱坐標ξ=x/a,x∈[0,a],ξ∈[0,1],梁的載荷方程為
設CB梁段的撓度為yII(x),引入無量綱坐標ξ=x/b,x∈[0,b],ξ∈[0,1],梁的載荷方程為
圖1 (b)和圖1(c)簡支梁兩端的邊界條件為
圖1 (b)和圖1(c)簡支梁在C處的交界條件為
在集中載荷作用下有
在集中力偶作用下有
因此,圖1(b)集中載荷作用下的梁的彎曲變形問題,就是在邊界和交界條件式(6)~式(8)下,求解微分方程式(4)和式(5)的邊值問題。圖1(c)集中力偶作用下的梁的彎曲變形問題,就是在邊界和交界條件式(6)、式(7)和式(9)下,求解微分方程式(4)和式(5)的邊值問題。
至此,根據疊加法原理,任意多個載荷共同作用下的梁的彎曲變形,可由單個分布載荷q(x)=q0f(x)、集中載荷F=q0L和集中力偶Me=q0L2單獨作用在梁上變形的疊加而獲解。
微分求積法是Bellman等[5]于1971年提出的基本理論,該方法求解微分方程具有公式簡單、編程方便、計算量少和精度高等優(yōu)點。不失一般性,以1.1節(jié)圖1(a)單個分布載荷作用下梁的變形為例,將梁長區(qū)間ξ∈[0,1]均勻等分為n段n+1個節(jié)點ξi,ξ0=0,ξn=1表示的近似值(i=0,1,···,n)。
將微分方程式(2)中待求函數y(ξ)用節(jié)點函數值進行拉格朗日插值來描述,即
式中l(wèi)j(ξ)為拉格朗日插值基函數。將式(10)求導,得
式(11)寫成向量和矩陣形式,得
這里,
A(1)稱為權系數矩陣,矩陣元素高階導數順次地采用低階導替換,逐步遞推可得
其中,
令q0L4/(EI)=1,以下同。將式(14)代入式(2),寫成向量和矩陣形式,得
其中,f=(f(ξ0)f(ξ1)···f(ξn-1)f(ξn))T。
不失一般性,以圖1(a)簡支梁為例,設I為(n+1)×(n+1)階單位陣,將邊值條件式(3)寫成向量形式
行、第n行置換,得新向量則有這里,采用Fortran語言編制通用程序計算,由高斯主元消去法求解式(17)線性代數方程組獲得未知量y。同理,1.1節(jié)的圖1(b)集中載荷和圖1(c)集中力偶分別作用下梁的彎曲變形也可類似用微分求積法編制程序獲解。
為了驗證本文微分求積法程序化求解受復雜載荷作用的梁彎曲變形的可行性和精確性,本文通過3個教學實例進行分析。設梁長為L,抗彎剛度EI為常量,分布載荷為q(x),集中載荷為F=q0L,集中力偶為Me=q0L2(q0為常數),在以上三種載荷共同作用下,由微分求積法求解梁的撓度和轉角。
如圖2所示,在課堂教學中,為了驗證微分求積法分析梁彎曲變形問題的精確性,我們使用Fortran語言編制通用程序計算,用數值計算方法代替繁雜的載荷方程積分法。按等步長方式布置離散節(jié)點,在梁長區(qū)間AC段和CB段上,皆取離散單元數為n=16,節(jié)點數為n+1=17,計算結果如表1所示,由表1可知,微分求積法計算簡支梁中點撓度yC、兩端轉角θA和θB結果與文獻[4]精確解完全吻合,充分說明了微分求積法在教學中計算受彎梁撓度和轉角的可行性和精確性。
圖2 教學實例一簡支梁外載荷示意圖
表1 簡支梁彎曲變形的數值解與精確解對比
圖3~圖4 是圖2簡支梁在復雜載荷作用下的撓度和轉角微分求積法計算值與精確解的對比,計算結果表明:微分求積法獲得梁的撓度曲線y(x)和轉角曲線θ(x)的數值計算結果與文獻[4]精確解曲線完全重合,再次驗證了本文微分求積法計算復雜載荷作用下受彎梁撓度和轉角的精確性。
圖3 教學實例一:簡支梁的撓度曲線
圖4 教學實例一:簡支梁的轉角曲線
如圖5所示,由于作用在梁上的分布載荷q(x)=q0cos[sin(x/L)]為非線性表達式,課堂教學中運用載荷方程積分法求解,耗費在積分運算和積分常數確定方面的工作量很大。若采用微分求積法編制通用程序計算,則可避免人工積分法運算過程的繁瑣冗長問題。同時,為了驗證微分求積法的收斂性,在AC段和CB段區(qū)間取離散單元數分別為n=8,12,16和20,按等步長方式布置離散節(jié)點,由微分求積法獲得圖6和圖7計算結果。由圖6和圖7可知:當n=8時計算值誤差較n=12時大,隨著區(qū)間離散單元數n的增加,梁的撓度和轉角加速收斂,當n≥16時,梁的撓度曲線和轉角曲線完全收斂。
圖5 教學實例二:簡支梁外載荷示意圖
圖6 教學實例二:簡支梁的撓度曲線
圖7 教學實例二:簡支梁的轉角曲線
算例2.1和2.2簡支梁的區(qū)間分段數為2段,為了驗證微分求積法可以求解更多的區(qū)間分段數,算例2.3的簡支梁求解區(qū)間分段數為3段,如圖8所示。在梁長區(qū)間AC段、CD段和DB段上,皆取離散單元數為n=16,節(jié)點數為n+1=17,按等步長方式布置離散節(jié)點,由微分求積法獲得梁的撓度曲線y(x)和轉角曲線θ(x),分別如圖9和圖10所示,與文獻[4]精確解曲線完全重合。
圖8 教學實例三:簡支梁外載荷示意圖
圖9 教學實例三:簡支梁的撓度曲線
圖10 教學實例三:簡支梁的轉角曲線
(1)當梁上作用較多復雜載荷時,需要分段建立載荷方程,積分運算過程繁瑣冗長,尤其分布載荷為非線性表達式時,人工積分法運算過程十分繁瑣。采用微分求積法編制通用程序計算,無論分布載荷為線性表達式還是非線性表達式,梁的分段數有多么多,受彎梁的撓度和轉角皆可順利獲解。文中教學實例2.1和教學實例2.3給出了數值解與精確解完全吻合的計算結果,驗證了微分求積法在彎曲變形計算中的可行性和精確性。
(2)在彎曲變形課堂教學中,當載荷方程積分法求解梁的彎曲變形問題受到限制時,我們可以借助Fortran語言編程計算獲得數值解,這一教學過程既讓學生體會到求解方法的多樣性,提高學生的學習積極性和興趣,也讓學生們掌握編制程序解決力學問題的一技之長,對他們今后的學習與工作都有較大幫助。