




已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
通过程序实现梁双向受弯承载力计算以下内容包括三个部分:程序说明,源程序,例题计算。一 本作业通过C+程序编写,首先是程序说明部分。1 整个程序的运算可以实现截面上下排(单排)任意配筋的计算,(双排布筋未考虑);2 根据混凝土受压区图形为三角形,四边形,五边形时,通过循环前进行判断,得出受压区具体的图形,从而进行计算;3 程序一开始定义了一全局常量NUM=100,可以控制数组的大小,它表示最多布置钢筋数为100,实际工程中基本不会超过这个值,可以通过对它修改,实现对所有数组长度的修改;4 一开始定义了在计算过程中需要的各种变量b, h, kx, ky, tx, ty, Tan, fc, BETA, Cc分别表示截面的宽度b,高度h,混凝土受压区边长比例kx,ky,中和轴同y轴夹角大小Tan,混凝土圆柱体抗压强度fc,混凝土受压区高度修正系数BETA,混凝土受压区合力Cc;同时还定义了一系列数组用于储存钢筋的相关值:AsNUM, LNUM, SNUM, FsNUM, EsNUM, fyNUM, RNUM,分别表示钢筋的面积,应变,力,应力,弹模,屈服强度,直径;5 input()函数表示数据的录入,分别输入截面尺寸,材料常数等数据,在输入钢筋的特征常数时,考虑到经常一排钢筋采用相同的钢筋,所以设置了一个选项:是否需要单独输入每根钢筋的数据,是请输1,否请输2。在数据的录入过程中,长度均要求按mm输入,其他应按MPa输入,这在输入数据前都通过输出相关语句进行了提醒;6 定义了一个float YLJS(float KX, float KY)函数,实现计算钢筋的应变,并返回所有钢筋的合力为函数值,方便了后面的计算;7 定义了一个int SOLVE()函数,可以判断受压区图形形状,并通过循环计算出实际的中和轴位置,(得到符合题目要求的kx,ky的值);8 在主函数中,首先调用input()函数,输入数据,通过一个for循环for(int jj=0;jjn+m;jj+)if(jj=n-1) Xjj=tx+(b-2*tx)*jj/(n-1),Yjj=ty;else Xjj=tx+(b-2*tx)*(jj-n)/(m-1),Yjj=h-ty;计算出各钢筋距离截面右上角的位置后,将得到的值放入X和Y,其中n表示上排钢筋数,m表示下排钢筋数;9 定义了一个整数c,通过它判断受压区的面积,为1时为三角形,2时为四边形,3时为五边形;10 在调用SOLVE()函数时,会调用YLJS函数:float YLJS(float KX, float KY)float s=0; for(int j=0;j=fyj/Esj) if(Lj=0) Fsj=fyj; else Fsj=fyj*(-1); else Fsj=Lj*Esj; /压为正,拉为负 Asj=3.14*Rj*Rj/4;Sj=Fsj*Asj;s=s+Sj;return s; 在函数的一开始s用来表示各个钢筋的合力,一开始赋初值0,通过循环叠加得到,钢筋的力通过应力乘以面积得到,应力则是根据应变得到,根据平截面假定,通过公式计算出,同时通过if语句,使得钢筋的应变不会超过它弹性的最大应变,最后函数返回值为s; 11. 调用SOLVE()函数,在SOLVE函数中首先定义了a1,a2,a3,a4四个变量,用来方便后面计算中中间数据的存贮,首先分别计算出当受压区面积恰好为最大三角形和最大四边形时候混凝土的压力Cc和钢筋的力S;因为kx大于ky和kx小于ky时候,计算不一样,所以通过if语句,分开讨论,此处a3对应最大三角形状态时钢筋合力,a4和Cc分别对应最大四边形时钢筋和混凝土合力;接着计算俩种状态下的钢筋和混凝土的合力之和,分别储存到a3和a4中,当a3大于0时,说明混凝土受压区面积过大,则受压区图形必为三角形,当a4小于0时,则说明受压区面积过小,受压区图形必为五边形,当a3*a4小于0时,则受压区面积为四边形; 12. 当c=1时对应三角形,采用二分法进行循环,当最后的a3的绝对值小于 2MPa时,循环停止,得到对应的kx和ky;当c=2时为四边形的状态,根据kx和ky的大小,判断梯形的上下底边的方向,并通过对kx(或ky)递增的思想得到对应的值;当c=3时,思想同上;13. 返回c值为SOLVE的函数值,继续主函数,定义了重心坐标和俩个方向的弯矩;通过c的不同,计算四种图形对应的重心坐标;14. 分别计算每根钢筋俩个方向的弯矩,通过叠加得到最终截面能承受的弯矩Mux和Muy,输出结果。二 函数源程序代码#include#includeconst int NUM=100; /定义一全局常量 用来控制数组的容量;float b,h,kx,ky,tx,ty,Tan,fc,BETA,Cc; /Tan表示中和轴和y轴夹角的正切值,BETA即为混凝土受压区高度修正系数,Cc为混凝土的合力float AsNUM,LNUM,SNUM,FsNUM,EsNUM,fyNUM,RNUM; /L表示钢筋的应变,S表示钢筋的力,Fs表示钢筋应力,ES表示钢筋弹模,fy表示钢筋屈服强度,R表示钢筋直径int n,m; /分别表示上下排钢筋的根数float XNUM,YNUM; /表示钢筋的位置void input(); /数据输入函数声明;float YLJS(float,float); /计算钢筋的应力;int SOLVE();int main() input(); / 数据的录入;for(int jj=0;jjn+m;jj+) if(jj=ky)xx=(BETA-1/kx+BETA/(3*kx)*b/(2*BETA-1/kx);yy=ky*h*(BETA-1/kx)*(BETA-1/kx)+BETA*BETA/kx-2*BETA*BETA/(3*kx*kx)/(2*BETA-1/kx);else if (c=2&kxky)xx=kx*b*(BETA-1/ky)*(BETA-1/ky)+BETA*BETA/ky-2*BETA*BETA/(3*ky*ky)/(2*BETA-1/ky);yy=(BETA-1/ky+BETA/(3*ky)*h/(2*BETA-1/ky); elsexx=b*(1-(1-ky*BETA+ky/kx)*(1-kx*BETA+kx/ky)*(2+kx*BETA-kx/ky)/3)/(2-(1-ky*BETA+ky/kx)*(1-kx*BETA)+kx/ky);yy=h*(1-(1-ky*BETA+ky/kx)*(1-kx*BETA+kx/ky)*(2+ky*BETA-ky/kx)/3)/(2-(1-ky*BETA+ky/kx)*(1-kx*BETA)+kx/ky);float Mxs=0,Mxx=0,Mys=0,Myx=0; /Mxs,Mys,Mxx,Myx分别表示上部钢筋和下部钢筋x和y方向的和弯矩;for(int i=0;in;i+)Mxs=Mxs+Si*(h-Yi);Mys=Mys+Si*(b-Xi);for(int j=0;jm;j+) Mxx=Mxx+Sn+j*(h-Yn+j);Myx=Myx+Sn+j*(b-Xn+j);Mux=Cc*(h-yy)+Mxs+Mxx; Muy=Cc*(b-xx)+Mys+Myx; coutxx=xxmm yy=yymmendl; coutMux=Mux/1e6KNm Muy=Muy/1e6KNmendl;return 0;void input() /数据输入函数;for(int i=0;iNUM;i+) /数组初始化;Asi=0;Li=0;Si=0;Fsi=0;Esi=0;fyi=0;Ri=0;Xi=Yi=0; cout请依次输入梁截面宽度b和高度h(单位mm)bh;coutb=bmm h=hmmendl;cout请依次输入钢筋x方向和y方向外排钢筋重心距离边缘厚度tx和ty(单位mm)txty;couttx=txmm ty=tymmendl;cout请输入截面x方向和y方向的弯矩比值TanTan;coutTan=Tanendl;cout请输入混凝土抗压强度设计值fc(单位MPa)fc;coutfc=fcMPaendl;cout梁上下截面均只考虑单排配筋的情况endl;cout请输入上排钢筋的根数n;cout是否需要单独输入每根钢筋的数据,是请输1,否请输2Y;if(Y=1) for(int j=1;j=n;j+) cout请从右往左依次输入上排第j根钢筋的弹性模量Es(单位MPa)屈服强度fy(单位MPa)和直径R(单位mm)Esj-1fyj-1Rj-1;cout上排第j根钢筋的Es=Esj-1MPa fy=fyj-1MPa R=Rj-1mmendl; else if(Y=2) cout请依次输入上排钢筋的弹性模量Es(单位MPa)屈服强度fy(单位MPa)和直径R(单位mm)Es0fy0R0; for(int j=1;j=n;j+) Esj-1=Es0; fyj-1=fy0; Rj-1=R0; cout上排钢筋的Es=Es0MPa fy=fy0MPa R=R0mmendl;else cout输入错误,请重新开始endl;cout请输入下排钢筋的根数m;cout是否需要单独输入每根钢筋的数据,是请输1,否请输2Y; if(Y=1) for(int j=1;j=m;j+) cout请从右往左依次输入下排第j根钢筋的弹性模量Es(单位MPa)屈服强度fy(单位MPa)和直径R(单位mm)Esn+j-1fyn+j-1Rn+j-1;cout下排第j根钢筋的Es=Esn+j-1MPa fy=fyn+j-1MPa R=Rn+j-1mmendl; else if(Y=2) cout请依次输入下排钢筋的弹性模量Es(单位MPa)屈服强度fy(单位MPa)和直径R(单位mm)EsnfynRn; for(int j=1;j=m;j+) Esn+j-1=Esn; fyn+j-1=fyn; Rn+j-1=Rn; cout下排钢筋的Es=EsnMPa fy=fynMPa R=Rnmmendl;else cout输入错误,请重新开始endl;if(fc=27.6)BETA=0.85; /1psi=0.0069MPa else BETA=0.85-0.05*(fc-27.6)/(6.9);float YLJS(float KX, float KY)float s=0; for(int j=0;j=fyj/Esj) if(Lj=0) Fsj=fyj; else Fsj=fyj*(-1); else Fsj=Lj*Esj; /压为正,拉为负 Asj=3.14*Rj*Rj/4;Sj=Fsj*Asj;s=s+Sj;return s; /返回值为所有钢筋的合力int SOLVE()float a1,a2,a3,a4;if(kx=ky) a3=YLJS(1/BETA,b/(BETA*Tan*h);a4=YLJS(Tan/BETA,b/(BETA*h);Cc=0.425*fc*ky*h*(2*BETA-1/kx)*b;else a3=YLJS(Tan/BETA,b/(h*BETA);a4=YLJS(1/BETA,b/(h*BETA*Tan); Cc=0.425*fc*BETA*kx*b*(2*BETA-1/ky)*h;a3=a3+0.425*fc*BETA*ky*h*BETA*kx*b;a4=a4+Cc;int c=a3*a4;if(c=0&a3=0) c=1; cout混凝土受压区面积为三边形=0&a40) c=3; cout混凝土受压区面积为五边形endl; else c=2;cout混凝土受压区面积为四边形endl; if(c=1) a1=0,a2=0.5; kx=0.5;do a3=0; kx=kx+a2*a1; a2=a2*0.5; coutkx=0) a1=-1; else a1=1; a3=a3/1000; while(fabs(a3)=2&kx=ky)kx=(Tan/BETA+1/BETA)*0.5;ky=kx*b/(Tan*h);do kx=kx+0.001*a1; Cc=0.425*fc*ky*h*(2*BETA-1/kx)*b; a3=Cc+YLJS(kx,ky); if(a3=0) a1=-1; else a1=1; a3=a3/1000;while(fabs(a3)=2);else ky=(1/(BETA*Tan)+1/BETA)*0.5;kx=ky*Tan*h/b;a1=0;do ky=ky+0.001*a1; Cc=0.425*fc*BETA*kx*b*(2*BETA-1/ky)*h; a3=Cc+YLJS(kx,ky); if(a3=0) a1=-1; else a1=1; a3=a3/1000;while(fabs(a3)=2); return 2;else a1=0,a2=5;kx=5; do a3=0; kx=kx+a2*a1; a2=a2*0.5; ky=kx*b/(Tan*h); Cc=b*h*(1-0.5*(1-kx*BETA+kx/ky)*(1-ky*BETA+ky/kx); a3=Cc+YLJS(kx,ky); if(a3=0) a1=-1; else a1=
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 业务订单执行进展表
- 医疗设备使用与管理知识点测验卷
- 古典诗歌阅读教学设计:四季美景语文古诗词感悟
- 环境行业-环境质量监测表
- 金融机构运营绩效评估报告表
- 词句用法探讨:高中英语语法专题:动词时态与语态
- 那个勇敢的消防员写人8篇范文
- 孤独症心理测试题及答案
- 公路路政考试试题及答案
- 等级考试试题及答案汉语
- 人教部编版语文六年级下册1-6单元作文习作范文
- 《医疗和疾控机构后勤安全生产工作管理指南2023版》
- 公路工程投标方案(技术标)
- 中药饮片供货应急处理方案
- 2024年广州市“广汽杯”班组长综合管理技能竞赛考试题库-上(单选题)
- 2024年上海市中考英语试卷及答案
- GB/T 25390-2024风能发电系统风力发电机组球墨铸铁件
- 2024浙江交投高速公路运营管理限公司招聘6人高频考题难、易错点模拟试题(共500题)附带答案详解
- 社交焦虑对人际关系的影响
- 替罗非班-诱导性血小板减少症
- 东山县文旅集团笔试题目
评论
0/150
提交评论