有限元软件中通用梁单元的统一形成方法1)
2021-07-14孙树立傅向荣
陈 璞 杜 晖 孙树立 傅向荣
∗(北京大学工学院力学与工程科学系,北京100871)
†(中国农业大学水利与土木工程学院,北京100083)
梁单元无疑是有限元分析中应用最为广泛的单元之一。为了满足各种工程需求,梁单元常常可能要求具备以下特性或功能:
(1)剪切变形;
(2)端头刚域,梁−柱交汇处的区域;
(3)部分刚接,梁−柱交汇等处的刚度损失;
(4)端头铰接,梁−柱交汇等处的构造或刚度缺失;
(5)截面变化,例如桥梁等大跨结构;
(6)部分偏心,例如与墙柱相连的外立面梁;
(7)几何刚度,轴向力引起的附加刚度;
(8)轴线为曲线,例如:拱。
在中外文献中关于梁单元的形成方法层出不穷,这里不一一列举,但大部分文献或只考虑某一特定的单元形式,或形成方案过于繁琐,不宜在工程软件中获得应用。本文从工程实用的角度出发,着重讨论前5类功能在长为L的二维平面梁单元中的统一实现,读者不难将其推广至三维情形。
1 梁单元刚度矩阵的统一形成方式
以Timoshenko梁(T−梁)讨论刚度矩阵以及载荷向量的形成方案,Euler梁(E−梁)可以作为T−梁的一个特例。为了处理变截面梁、端头刚域以及端头部分刚接,我们以柔度法为讨论重点。
1.1 梁单元与相应的简支梁单元
考虑一个置于Oxy平面内长为L的梁单元,其主轴与x轴重合,左端与原点O重合。与标准的有限元教材[1-2]稍许不同,考虑到单元的通用性,工程软件中梁单元的4×4刚度矩阵(这里只考虑弯曲部分)往往不是按相应的公式直接形成的,而是通过简支梁或悬臂梁的2×2刚度矩阵扩张得到的。为此,对照梁单元与同跨度的简支梁(图1),它们的挠度和转角满足变换
图1 梁单元和简支梁单元的位移向量
其中w(ξ),θ(ξ),ws(ξ),θs(ξ)分别以自然坐标ξ=x/L表示梁单元和相应简支梁的挠度与转角。w(ξ),θ(ξ)满足T−梁的控制方程,当且仅当ws(ξ),θs(ξ)满足该方程。记u(e)={w i,θi,w j,θj}为梁单元两端的挠度与截面转角,u(e)s={αi,αj}为简支梁两端截面转角,则有
其中,S是两组结点位移之间的几何关系矩阵,其转置是相应的两端外力关系矩阵,即
其中,f(e)={Q i M i Q j M j}是梁单元两端的作用力,而f(e)s={M i M j}是相应简支梁两端的作用力矩,Q i=−Q j=(M i+M j)/L反映了梁端作用力的平衡关系。由此可知,通过这两个关系矩阵,任意梁单元的变形和梁端作用力均可由一个相应的简支梁表达出来,当然我们也可以由简支梁得到普通梁单元的刚度矩阵与等效载荷向量。
1.2 等截面简支梁的柔度矩阵与刚度矩阵
记ξ=x/L为梁单元的自然坐标,(∗)′为(∗)对ξ的导数。由于简支梁是静定结构,我们可以通过考虑剪切效应的最小余能原理求简支T−梁的柔度矩阵
其中的弯矩取线性插值
满足梁平衡关系。对于等截面梁,简支T−梁的柔度矩阵可解析给出
其中无量纲参数η=12EI/(GAsL2),表示弯曲与剪切刚度之比。其刚度矩阵可由式(4)求逆获得
另一方面,我们还可以利用最小势能原理获得梁单元与相应简支梁单元的刚度矩阵变换关系以及简支梁单元的刚度矩阵[3]。记H2(ξ)=ξ(ξ−1)2,H4(ξ)=ξ2(ξ−1)为[0,1]上标准的三次Hermite插值函数中关于导数的两个,则满足无分布力简支T−梁方程的位移插值形函数可以写为
其中
基于最小势能原理的单元刚度矩阵为
由式(7)中的积分,可以获得与式(5)完全相同的刚度矩阵。式(4)和式(5)互为逆,表明两端截面转角、力矩和插值所得的跨内挠度、弯矩之间的准确关系。
当η=0时,剪切刚度无穷大,T−梁回归到E−梁。作为ξ的函数,Ns就是Hermite插值H,Ms是其微商H′。此时,式(5)也退化到E−梁的刚度矩阵。
1.3 变截面梁单元
当截面沿中性轴变化时,位移的三次Hermite插值形函数不再满足梁的平衡方程,因此最小势能原理所导出的刚度矩阵不再是简支梁的精确刚度矩阵。但作为静定结构,简支梁的弯矩分布仍然是线性的,插值函数式(3)仍然给出结构力学意义下的精确内力,式(2)是精确的表达式。由此,最小余能原理所导出的柔度矩阵还是简支梁的精确柔度矩阵。在这种意义下,变截面梁单元的刚度矩阵可以从柔度矩阵求逆而准确得到。
式(2)一般可通过较高阶的Gauss积分或Lobatto积分获得。我们的经验是5点Gauss积分的精度已足够工程应用。变截面梁的刚度矩阵如采用位移法得到,则可能隐含较大的误差[4]。
1.4 梁端刚域
在结构力学中梁−柱的计算是所谓的中心线计算。在实际工程中,梁在其与柱的交汇区域内几乎没有弯曲变形,这一部分称为刚域(图2),其长度一般可取为柱的中线到柱外缘距离的75%。
图2 刚域的简化
一旦计入不变形的刚域,梁的弹性变形部分缩短,刚度增大。如图3,仍记梁柱中心线处简支梁的转角为又记刚域外缘弹性梁的转角为那么由线性化的几何关系得到
图3 含刚域的梁模型
现在,长为L−c−d的弹性简支梁两端的截面转角与外力矩满足
综合起来,中心线位置的简支梁柔度矩阵为
1.5 梁端部分刚接
梁端有时与柱等其他构件的连接不紧密,不能完全传递力矩,此时一般称为部分刚接,它也可在弹塑性计算中模拟理想塑性铰。在有限元计算中,部分刚接用梁端的附加扭转弹簧来模拟。
较为方便地获得刚度矩阵的方法仍然是利用最小余能原理,修改不含转角弹簧的柔度矩阵。例如,用最小余能原理得到图4所示含右端转动弹簧的柔度矩阵
图4 部分刚接简支梁模型
其逆即为相应的刚度矩阵。
由以上讨论可以得到梁单元刚度矩阵形成方式:首先计算弹性简支梁的柔度矩阵,如果存在刚域或部分刚接的情形,则需进行端头刚域与集中弹簧修正,获得,最后通过变换S计算梁单元的刚度矩阵。
2 等效结点力
2.1 梁跨中载荷的等效结点力
梁载荷的等效结点力大约是工程有限元软件中最为复杂的部分。由于工程实际需求,必须要考虑多种形式的载荷,例如:集中力、均布载荷、三角形分布载荷、梯形分布载荷等,且载荷作用在纯弹性梁、组合刚域−弹性梁、组合弹簧−弹性梁。按梁的形式分工况形成载荷无疑是一种可能性,但我们在这里再一次从简支梁出发,给出一个简洁的方案。限于篇幅,仅叙述集中力的作用下的等效载荷,其他分布载荷情况可考虑为单位集中力的等效结点力的积分。
假设集中力p作用在梁上,距i端的距离为a,记b=L−a,用力的平衡关系可得简支梁跨内集中力作用在两端支座上的等效作用力
用柔度法可得两端的转角
其中
是简支梁在集中力p作用下的弯矩。对于等截面简支梁[5]可得到
如果是变截面梁,式(12)的数值积分需要按函数的光滑性分段进行。
用式(13)跨内载荷产生的转角,可以得到跨内载荷在两端的等效作用力矩
同时按照平衡关系,这两个等效力矩也会带来在支座上的附加作用力,应用式(1)中的转换矩阵S,我们获得最终等效结点载荷
对于等截面梁,等效结点力的表达式是
如不考虑η,即剪切刚度无穷大,式(17)退化为等截面E−梁的等效结点力。
上面的推导过程中,我们没有区分是否是等截面梁。如果是变截面梁,封闭形式的等效结点力一般难于得到,在程序中建议用分段数值积分计算。
如果要考虑带刚域梁的等效结点力,则需要分别处理作用在弹性部分与刚域部分的跨内载荷。我们首先用前述的方法计算出作用在弹性部分载荷的等效结点力⌒p(e),沿用图3的记号,记中心线的等效结点力为p(e),用平衡即可得到它们之间的转换关系
如果集中力p作用在左、右端的刚域上,即a≤c或b≤d,那么等效集中力仅出现在一端,分别为
在实际计算中并不需要显式地采用式(17),而是通过计算简支梁的支反力与转角间接获得等效结点力,然后再实施关于刚域的变换。
特别注意,部分刚接或杆端扭转弹簧对简支梁的反力与转角计算在目前的方案中均无直接影响,它们对等效结点载荷的影响间接地通过刚度矩阵的修改计入。当然我们假定,梁的一端不同时出现矛盾的部分刚接与刚域。
2.2 梁的内力求解
如图5所示,假设我们已经通过求解有限元方程获得了梁两端的位移u(e)={w i,θi,w j,θj},则两端的真实作用力可按产生结点位移所必需的作用力与跨间载荷的等效结点力叠加计算,
图5 梁的内力计算
其中p(e)是等效结点力[6]。对于梁单元,这样得到的端头作用力与端头内力之间仅有符号的差异。内力输出时应按工程习惯进行正负号的调整。无论是否含端头刚域与弹簧,跨内分布横向载荷q(x)的梁内力用梁段的平衡关系给出
3 从简支梁刚度到整体坐标系梁的刚度
各方向定义在图6中给出。
图6 梁的方向定义
为了获得整体坐标系下的梁(弯−拉−扭)的12×12单元刚度矩阵,需要经过两次变换,第一次是将整体的位移通过坐标变换转换到梁局部坐标系中其中{i;n1,n2,n3}是梁的右手局部坐标系,n1是从i到j的方向,n2是次弯曲轴方向,n3是主弯曲轴方向。第二次是将局部坐标系的位移变换到“简支”坐标系的位移,它的形式是
4 总结
梁的刚度矩阵与等效结点载荷的形成方案要考虑多方面的因素,如图7所示。
图7 梁单元
梁单元刚度矩阵的形成方案按以下顺序进行:
(1)由式(2)求简支梁的柔度矩阵,如有刚域或部分刚接情形,需作修正;
(2)求逆获得简支梁的刚度矩阵;
(3)按式(7)求梁的刚度矩阵。
前两步针对变截面梁(无显式),对于有显式表达的等截面梁,可直接写出Ks,再变换即可。
梁的刚度矩阵与等效结点载荷在有限元软件中应用非常广泛,本文从有限元软件实现的角度给出了一个通用梁单元的框架,便于工程软件开发人员参考借鉴。以上仅是我们对有限元梁单元的一点思考,有不当与谬误之处,请同行批评指正。