李成钢,何振程,李宏宁,臧伟
[1.广东凤铝铝业有限公司,广东 佛山 528133 ;2.佛山市三水凤铝铝业有限公司,广东 佛山 528133;3.亚松聚氨酯(上海)有限公司,上海 200333;4.山东南山铝业股份有限公司,山东 烟台 265706 ]
浇注式隔热铝合金幕墙立柱的双跨连续梁挠度计算是浇注式隔热玻璃幕墙结构计算的重要组成部分。
根据文献[1]公式(9)~(11)普通铝合金简支梁的基本挠曲线微分方程、文献[2]第50 页公式(7)的浇注式隔热铝合金梁的挠曲线的微分方程,对浇注式隔热铝合金梁在集中偏心荷载P 作用下挠度计算方法进行推导,得出承受均布荷载的浇注式隔热铝合金双跨连续梁挠曲线微分方程,求导后得出挠曲线斜率的微分方程,最大挠度值发生在斜率为零处。推导出的计算公式繁杂,涉及的计算变量也较多,很容易造成计算错误或计算结果与真实值有很大偏差,为了解决这一计算难题,在挠曲线微分方程里引入了分项常数这一概念;利用《高等数学》里求方程的近似解的二分法,采用Python语言编程,简单高效求得挠曲线微分方程及挠曲线斜率微分方程极值点的近似解,从而求得挠度极值点位置及挠度极值。利用Python 中的绘图库Matplotlib 编程绘制出挠曲线图能够正确反映挠曲线的变化规律,便于合理确定双跨梁短跨的中间滑支座的正确位置。
根据参考文献[1]里公式(9)~(11)普通铝合金简支梁的基本挠曲线微分方程可以表达为:
式中:y—梁的挠度,单位:mm;
x—梁的挠曲线上任意的横坐标,单位:mm;
M—铝合金梁的弯曲力矩,单位:N·mm;
E—铝合金弹性模量,单位:N/mm2;
I—梁的横截面对中性轴的惯性矩,单位:mm4。
根据双跨连续梁挠度计算的需要,仅对普通铝合金简支梁在集中偏心荷载P 作用下受力分析:
图1 在集中偏心荷载P 作用下简支梁计算力学模型
梁在两端的支反力:
分段列出剪力和弯矩方程:
AC 段 0≤x1≤a
参考文献[1](Example 9-3),利用公式(1)用积分法求弯曲变形。
该梁两段的挠度方程:
教师要重视实验过程中新生成的探究问题。学生在实验过程中也许会发现一些新的问题,教师要提醒学生重视这一闪而过的新发现,鼓励他们深入探究下去,也许会有意想不到的收获。例如,在探究“红花檵木紫色叶片中的色素”时,某课题小组发现一个奇怪的现象:红花檵木紫红色的叶片,加无水乙醇后变绿色,提取液为浓的墨绿色,但是划到滤纸条上,等干燥后又变为红色,研磨用的器皿,残汁干了也恢复红色。此时,教师要鼓励他们查阅资料,寻找原因,并设计实验检验自己的猜测。这样一个逐步分析、设计实验寻找真相的过程更能促进学生科学探究能力的提升。
AC 段
该梁两段的转角方程:
Step.3 判断:若ƒ(x)=0,则x为所求的根,停止计算进程,否则继续校验:
若ƒ(x)与ƒ(a)异号,则实根在区间[a,x],x→b;
若ƒ(x)与ƒ(a)同号,则实根在区间[x,b],x→a。
Step.4 若| b-a |≤e(e 为误差值),计算进程终止,输出x,y,否则,返回Step.2。
图4为求挠度极值点及挠度极值编程代码,定义了三个函数:二分法求挠度极值点的函数erfenfa();挠曲线斜率的微分方程函数xielv();求挠度极值的挠曲线的微分方程函数naodu()。从主程序开始执行。执行主程序中的第一条语句,将500、5 500及10-12分别赋值给变量a,b,e,然后执行主程序中的第二条语句,调用函数erfenfa(a,b,e)。当erfenfa 函数被调用时,变量a,b,e 的值被实参传递,程序控制权转移到erfenfa 函数并开始执行erfenfa 函数。在erfenfa 函数内声明一个全局变量x,并将(a+b)/2 赋值给全局变量x,若| b-a |≤e(e 为误差值),则利用return 语句返回全局变量x及挠度表达式naodu(x)的值,此时,需要调用naodu 函数,naodu 函数调用时,变量x的值传递给naodu 函数,naodu 函数利用return 语句把该值时计算的挠度值返回给调用函数erfenfa();若|b-a |>e(e 为误差值),利用2.3.2.1 条款Step.3 继续执行,执行Step.3 时需要调用xielv(x)函数,直至| b-a |≤e(e 为误差值)。主程序中,“xielv(a)*xielv(b)<0”语句实际是利用主程序中原来赋值的变量a,b 的值来调用函数xielv(),利用调用函数的返回值判定是否有实根,实际是2.3.2.1 条款Step.1,如果有实根,打印输出求得的极值点的x坐标值及极值点挠度值,否则,打印输出无数值解。浮点型变量x,编程时需要注意乘以ex编程代码为“*math.exp(x)”,通过import 语句导入模块math。
图4 浇注式双跨连续梁二分法求挠度极值点及挠度极值编程代码
程序的运行结果见图5:
图5 浇注式双跨连续梁二分法求挠度极值点及挠度极值编程代码运行结果
2.4.1 Python 绘图库Matplotlib 的作用
Matplotlib 是提供数据绘图功能的Python 第三方库,广泛用于科学计算的二维数据可视化,其子库pyplot 包含大量的函数调用接口,非常适合进行绘图以达到数据可视化的目的。因此,对于不同跨距条件下,浇注式隔热铝合金幕墙立柱的双跨连续梁的挠曲线如何变化,利用二维绘图库Matplotlib 编程绘制双跨连续梁的挠曲线图是好的选择。
2.4.2 编程绘制双跨连续梁挠曲线图原理
利用Python 中的绘图库Matplotlib,对双浇注式槽口隔热玻璃幕墙立柱的双跨连续梁挠曲线图的绘制进行编程,编程代码见图6。
图6 用Python 中的绘图库Matplotlib 对浇注式双跨连续梁挠曲线图绘制编程代码
导入Matplotlib 模块中的子模块pyplot,导入Numpy 模块,给双跨梁立柱的跨距l 赋值;利用np.linspace()函数将立柱的跨距l 等分5 500 等分创建自变量梁的挠曲线上任意点的横坐标x的数组,设置区间,创建函数值挠度y的数组;调用plt.subplots()函数,函数plt.subplots()的返回值是一个(fig,axs)元组,其中,fig 是Figure 实例,axs 可以是一个axis 对象数组,将整个绘图区域分为一行一列个子区域,然后在一行一列个子区域绘制挠曲线图。因为x为数组,编程时需要注意乘以ex编程代码为“*np.exp(x)”。
横坐标x与挠度y的函数关系表达式如下:
2.4.3 编程绘制图形与编程计算所得结论分析
根据图6 中编程代码,运行后绘制出的挠曲线图见图7。
图7 用Python 中的绘图库Matplotlib 编程对浇注式双跨连续梁挠曲线图绘制
根据图7 中的绘制结果与“2.3.2.2 求挠度极值点及挠度极值基本编程方法”中对应的编程计算结果比较可知:编程计算最大挠度对应部位坐标值与图7 中比较结果一致。同时,连续双跨梁当中间滑动支座向梁起点铰支座无限靠近时,其挠曲线图无限趋近于简支梁,但双跨梁的挠度极值低于相同风荷载作用条件下简支梁挠度极值。
图7 调节套筒
通过公式(59)对浇注式隔热铝合金幕墙立柱的双跨连续梁中间滑动铰支座承受的集中偏心荷载RC的求解,解决了双跨梁短跨部分公式(60)及长跨部分公式(61)挠曲微分方程的求解问题;对长跨部分挠曲微分方程公式(61)求导,令y合'(x2)=0,通过Python 语言编程利用二分法求近似解的方法解决了挠表度极1、值点的坐标及挠度极值求解问题;通过Python 中的绘图库Matplotlib根据挠曲线微分方程编程解决了挠曲线图绘制问题。