基于C++平台的混凝土梁配筋程序设计
——以双筋矩形截面梁正截面抗弯为例
2021-06-14陈汉阳刘一哲张博方谢丹凤陈雨霄
陈汉阳 刘一哲 张博方 谢丹凤 陈雨霄
(山东理工大学,山东淄博 255000)
钢筋混凝土目前已经广泛用于建筑工程的各个领域,钢筋与混凝土良好的黏结能力是其共同工作的基础。钢筋混凝土梁受弯阶段分为截面开裂前的阶段、正常使用阶段和破坏阶段,梁施加比较小的荷载时,钢筋混凝土截面的内力较小,下侧的混凝土承受弯矩引起的正应力。由于混凝土抗压性能远强于混凝土的抗拉性能,随着荷载的增加,下侧混凝土逐渐开裂,下部受拉钢筋逐步起作用,截面中和轴逐渐上移,荷载继续增加,上部混凝土压碎时候构件失去承载能力[1]。以常使用矩形截面为例,混凝土上部收到负弯矩的作用,同时需要在混凝土的上部和下部配置钢筋,保证安全性,即钢筋混凝土双筋矩形梁正截面的设计和承载力的验算[2]。由于双筋矩形截面梁设计牵扯到各种复杂的规范参数和计算公式,手算容易出现一题,根据规范和设计思路,运用C++编写一套钢筋混凝土双筋矩形截面正截面受弯截面设计和截面复核的程序,为计算提供便利。
1 双筋矩形截面设计思路
1.1 程序的设计公式与思路
双筋矩形截面正截面计算公式:
式中:fy——钢筋抗拉强度设计值;fy′——钢筋抗压强度设计值;fc——混凝土抗压强度的设计值;As——受拉区纵向受力钢筋的截面面积;As′——受压区纵向受力钢筋的截面面积;α1——计算系数;β1——计算系数;b——截面宽度;x——计算受压区高度;M——荷载在该截面上产生的弯矩设计值;h0——截面的有效高度;as——受拉区边缘到拉钢筋合力作用点的距离;as′——受压区边缘到受压区纵向受力钢筋合力作用点之间的距离;ρmin——截面最小配筋率,取值为0.2%和45的较大值;ft——混凝土抗拉强度的设计值;ξb——相对界限受压区高度;asb——受弯构件截面最大的抵抗矩系数[3]。以上参数来着《混凝土结构设计规范》(GB 50010—2010)[4]。
将混凝土设计分为两类,一类是截面设计问题,一类是截面复核问题。截面设计问题中已知截面的弯矩设计值、截面的尺寸b×h、钢筋种类和混凝土强度等级,要求确认受拉钢筋的截面面积As和受压钢筋截面面积As′。第二类是截面复核问题,已知截面的弯矩设计值、截面的尺寸b×h、钢筋种类和混凝土强度等级、受拉钢筋的截面面积As和受压钢筋截面面积As′,需要确定设计的截面是否满足给定的弯矩设计值。
程序功能流程:(1)截面设计(设计As)。在程序中输入截面配筋设计所需要的信息,且所有信息应满足程序中给出的规范要求,根据输入信息中是否有As′的数量信息进行分类计算。若As已知,程序根据截面弯矩平衡原理以及边界条件要求得出截面配筋初步结果。若得出的初步结果满足国家规范要求,可以输出最终结果。使用者可以在结果±5%的范围内选取经济、适合、安全的截面钢筋数量。(2)截面校核(检验M是否小于Mu)。在程序界面上输入所需信息,信息中提供的As′与As要满足规范条件。通过已知信息程序算出中间参数x,根据x的边界信息要求,程序会分类算出相对应要求下的截面极限弯矩值。程序将提供的M与算出的Mu进行比较,根据比较结果的大小,判断截面是否安全满足承受荷载要求。
1.2 程序的编辑原理
在设计软件前,先了解程序所适用于的环境,分析程序的受众范围以及用户的使用需求,并构建UML以方便后续的程序搭建。为了设计一种集成化、专业化的软件,使用C++这种面向对象的编程语言。将程序的逻辑功能与界面设计拆分成两个互不干涉的模块,便可以同时进行或分开进行程序搭建,而不是线性进行,保证了程序代码的利用率以及搭建效率。
在程序搭建的基础上,用devc++与qt两种环境,devc++作为灵活性高的编程环境,效率高,且能满足逻辑代码的功能需求,qt作为专业级的集成开发环境(IDE),致力于面向对象的程序开发,封装性好、功能性强,因此可以用来设计操作界面[5]。
在程序的搭建中,频繁使用了逻辑判断语句,并分装到函数中,频繁调用可以节省空间,提高代码的利用率。为了将逻辑程序与qt环境的编译器兼容在一起,重构逻辑程序,设计了默认构造函数Logic以及condition函数,组装成Logic类。为了传递QString值,Logic类调用了QObject类,使用了Q_Object宏,至此,Logic类成为QObject的派生类,也与操作界面建立了通信的基础。在搭建通信程序时,使用了qt的信号槽机制,并在Mainwindow类创建了Logic类的实例,用connect方法实现了两类的通信,保证了两类的有机结合,互相独立,共同组成了一项完整的工程[6]。
1.3 程序的使用说明
使用本程序计算前,程序下方有五列参数规范,点击对应按钮,就可到相应的系数表格,可以帮助用户找到不同材料所对应的系数。为了将参数有效传输给计算机,用户需要在程序左方文本输入框中输入对应数字,若As与As′都未给定,则不需要在As′以及As对应的文本输入框输入数字,此类问题是截面设计问题。若As和As′都给定,此类问题为截面校核问题。单击执行页面显示规范如图1所示。
图1 单击执行页面显示的规范
输入完所有参数后,点击“计算”按钮,程序报告答案,报告的答案分两种情况:As与As′都未给定或只给定As′的情况,程序右方分析用户锁给参数,计算As以及As′。As与As′都给定的情况,程序弹出对话框,告知用户设计的截面是否符合标准。验算承载力不满足的情况如图2所示。
图2 验算承载力不满足的情况
2 程序分析
钢筋混凝土正截面配筋程序具有一定应用局限性,虽然只局限了钢筋混凝土矩形截面这种特殊情形的设计,但如果此程序设计软件形成搭接接口,建模软件建模完成后,可以对不同的矩形梁构建进行验算分析,使判断具有安全性和合理性。目前广联达、revit等传统建模软件仅进行三维建模,对于内部构建受力合理性还具有局限性。此程序可以帮助此类正向设计软件,提供外端接口,优化对钢筋混凝土构建正截面承载力验算。
此程序对于规范的导入具有优势,通过选取不同情况,系统确定合理的规范数值,得出程序的结果。通过软件不断调试和手算分析,对程序得出的结果和手算结果进行对比,最终将程序结果误差控制在2%之内,且安全性远超承载力的要求,对于得出的钢筋也具有合理的经济性要求[7]。手算验证与程序计算拟合误差分析如图3所示。
图3 手算验证与程序计算拟合误差分析
3 结语
文章通过计算机编程进行参数化设计,实现了钢筋混凝土双筋矩形截面的程序化设计。将规范和计算公式导入程序,使用人员可以很快通过规范选择相匹配的参数代入程序,获得最终的截面设计方案,减少了手算带来的麻烦和一些计算错误,便利了钢筋混凝土梁的设计。但是,此程序只是基于矩形截面正截面受弯构件截面设计和复核,对于其他受力形式,如钢筋混凝土斜截面抗剪承载力和一些组合受力形式并没有进行程序设计,仍然具有一定的局限性,还需进一步研究。