首页/文章/ 详情

力学概念 | P-Δ效应

4月前浏览670

 

 效应是指水平力的作用使结构发生侧向位移时,竖向力的作用会使结构产生附加弯矩和附加侧移,从而使总弯矩和总侧移进一步增加的现象。

▲图1

如图1所示,杆长为  ,质点的质量为  ,考虑它为两个自由度。为方便起见,  方向的相对位移分别为  ,荷载分别为  ,刚度分别为  ,相应的阻尼为  。当结构发生较大水平位移后,竖向惯性力和竖向外荷载在基底产生的附加弯矩为

附加弯矩可用质点上一个能产生同样大小弯矩的等效水平力来替代,等效水平力为

式中,  为影响刚度。

考虑  效应的质点水平运动方程为

竖向运动方程为

将式(2)代人式(3),则有

从以上运动方程可以看出,竖向运动方程是独立的,因此可以在给定初始条件下求出  后,代人水平运动方程,联合相应的初始条件,便可求解水平位移  。一般来说,考虑  效应等于降低了结构的刚度,通常情况下这会使结构的动力响应增大。同时,应该注意到由于水平位移虽然随着水平外荷载的增加而增加,但它们之间并不是正比关系,因此,式(5)虽然形式上是线性的,但实质上它是一个非线性方程.

▲图2

考虑如图2所示的多自由度体系,按上述的计算等效侧向力的方法,可以导出多自由度体系等效侧向力向量为

式中,  为体系的侧向位移向量,  为体系的影响刚度矩阵。这样,多自由度体系的运动方程即可表示为

式(7)可知,考虑  效应时,对刚度矩阵进行了修正

 为结构原始刚度矩阵,也称弹性刚度矩阵;  为由轴向力引起的几何刚度矩阵。平面梁单元的原始刚度矩阵为

几何刚度矩阵为

当轴向力  为拉力时相当于在原始刚度矩阵的基础上增加几何刚度矩阵,结构整体刚度会变大;当轴向力为压力时则正好相反,所以在考虑重力  效应后结构刚度会变小。

超高层建筑由于所承受的风荷载、地震作用等水平荷载非常大,因而会产生较大的水平侧移。这种情况下,结构的  效应比较明显,在进行动力分析和抗震设计时都应该考虑到  效应的影响。

有关几何刚度矩阵参看

 

有限元 | 梁的弹性稳定分析(二)

来源:数值分析与有限元编程
非线性建筑
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2025-07-18
最近编辑:4月前
太白金星
本科 慢慢来
获赞 12粉丝 28文章 367课程 0
点赞
收藏
作者推荐

Python制作项目进度计划图

甘特图是一种直观地用‌条形图‌形式展现项目计划的工具。以横轴代表时间‌,清晰展示项目从开始到结束的整个周期;纵轴代表任务列表‌,列出项目中所有需要完成的工作项;条形块代表任务‌,每个任务的‌位置‌表示开始和结束时间,‌长度‌表示任务耗时长短;连接线表示拓扑(依赖)关系‌,明确展示哪个任务完成后才能开始下一个任务(例如,必须先“设计完成”才能开始“开发”)。importmatplotlib.pyplotaspltdefmain():#项目关键节点project=["需求分析","初步设计","施工图设计","建造阶段","竣工验收","技术总结"]start_dates=[1,5,10,18,25,30]end_dates=[4,9,17,24,29,35]#实际完成情况actual_starts=[i+1foriinstart_dates]actual_ends=[i+1foriinend_dates]#创建甘特图fig,ax=plt.subplots(figsize=(12,6))plt.rcParams['font.sans-serif']=['MiSans']#这个字体能够支持中英文字符plt.rcParams['axes.unicode_minus']=False#正常显示负号#计划时间线ax.hlines(y=project,xmin=start_dates,xmax=end_dates,color='blue',linewidth=8,alpha=0.5,label='计划')#实际时间线fori,idxinenumerate(project):#使用step绘制水平阶梯图ax.step([actual_starts[i],actual_ends[i]],[idx,idx],where='mid',color='red',linewidth=3)#添加实际开始和结束标记ax.plot(actual_starts[i],idx,'>',markersize=10,color='darkred')ax.plot(actual_ends[i],idx,'|',markersize=12,color='darkred')#添加延迟标注fori,(plan,actual)inenumerate(zip(start_dates,actual_starts)):ifactual>plan:delay=actual-planax.annotate(f'+{delay}天',xy=(actual_ends[i],project[i]),xytext=(actual_ends[i]+1,project[i]),arrowprops=dict(arrowstyle='->',color='red'),color='black',fontweight='bold')#设置标题和标签ax.set_title('项目进度计划图',fontsize=18)ax.set_xlabel('时间轴',fontsize=13)ax.set_ylabel('关键节点',fontsize=13)#添加图例和网格ax.legend(['计划进度','实际进度'],loc='lowerright')ax.grid(axis='x',alpha=0.3)#添加今日标记today=20ax.axvline(today,color='green',linestyle='--',alpha=0.7)ax.text(today+0.2,project[0],'今日',rotation=90,va='bottom',color='green')plt.tight_layout()fig.savefig("项目进度计划图.png",dpi=300)plt.show()if__name__=="__main__":main()来源:数值分析与有限元编程

未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈