




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、弯矩.曲率计算程序#include<stdio.h>#include&比math.h>floatabstr(float);/*定义名为abstr的函数,其功能是求绝对值*/intsign(float);/*定义名为sign的函数,其功能是获取数值的正负号*/voidmain(void)floatm300,c300,p300,d300;/*定义一维单精度浮点型变量数组,数组长度为300,m:弯矩;c:曲率;p:外力;d:挠度*/floatmom100,coc100;/*定义一维单精度浮点型变量数组,数组长度为300,mom:纵梁方向距梁端n*da
2、处弯矩;coc:对应曲率*/inti;/*定义为整型变量*/for(i=0;i<300;i+)/*为数组m,c,p,d,mom,coc赋初值0*/mi=0.0;ci=0.0;pi=0.0;di=0.0;for(i=0;i<100;i+)momi=0.0;coci=0.0;/*EnterDataToStoreInInput.dat*FILE*file1,*file2,*file3,*file4;floatfy,es,esh;/*定义钢筋屈服强度,钢筋弹性模量,钢筋的极限拉应变*/floatfc,fct;/*定义混凝土抗压强度,抗拉强度*/floatas1,as;/*定
3、义抗压钢筋面积,抗拉钢筋面积*/floatl,a,h,b;/*定义梁跨长,作用点到左端距离,截面宽、高*/floatao2;/*抗压和抗拉钢筋中心到梁顶距离*/intsn,ln,st;/*定义截面划分条带数,a长度上的分段数,钢筋型号*/file1=fopen("input.dat","r");/*从input.dat中读取相应数据*/fscanf(file1,"%f%f%f",&fy,&es,&esh);fscanf(file1,&
4、;quot;%f%f",&fc,&fct);fscanf(file1,"%f%f",&as1,&as);fscanf(file1,"%f%f%f%f",&l,&a,&h,&b);fscanf(file1,"%f%f",&ao0,&ao1);fscanf(file1,"%d%d%d&quo
5、t;,&sn,&ln,&st);fclose(file1);/*EndofInputingData*floatdc=0.0000002,de=0.00005,ee,em;/*定义曲率增量,应变增量,截面中间处应变,应变的中间变量*/floatsf1=0.0,sf2=0.0,dsf;floatffc=0.0,fs=0.0;floatmi=0.0,mic,mis;截面钢筋合弯矩*/*定义截面合力sf1,sf2,截面合力修正值dsf*/*定义混凝土合力,钢筋合力*/floatz,e,s,r;力*/*定义条带到截面中间的距离,应变,应力,反/*定义某一条
6、带的弯矩,混凝土截面内的合弯矩,floateo,eu,cc=0.0;/*定义混凝土达到极限强度时的应变,破坏时的应变,cc为计算挠度时曲率变量,只对cc赋初值0.0*/floatlp,hh,hn,aas,etop;/*塑性较长度的一半,分成sn个条带后每条带的高度,钢筋面积的中间变量,梁顶混凝土应变*/floatesy,da;后每段长度*/floatdd,dsn,dl;floatmm,mo,co,dp,tan;/*定义钢筋的屈服应变,梁纵向弹性区段分段ln/*均为挠度中间变量*/*弯矩中间变量,外力作用点处弯矩,对应曲,外力变化量,屈服点处弯矩与曲率的比值*/intj,k,n,ii,jj;in
7、tjmax1=500,jmax2=0,jmax3=0;/*定义jmax1,jmax2,jmax3三个整型变量并赋初值*/esy=fy/es;/*计算钢筋的屈服应变*/hn=h/sn;/*计算h高度的截面所分成的sn条带时,每条带的高度hn*/eu=-0.004;/*定义混凝土破坏时的应变为-0.004*/eo=-0.002;/*给条带应变赋初值*/ee=-0.0001;/*给截面中间处应变赋初值*/j=0;ii=0;do/*do-while循环,用于将曲率与计算截面的弯矩对应*/j+;ii=0;/*监测程序运行的整个过程发现ii增长的不健康,无法给sf1动态赋值,因而在这里加一个ii=0*/c
8、j=cj-1+dc;do/*do-while循环,计算某一曲率下的混凝土与钢筋的合弯矩,并保证钢筋混凝土截面内合力为0*/ii+;mic=0.0;mis=0.0;/*给混凝土和钢筋的弯矩赋初值为0*/*CalculateTheForceOfConcrete*ffc=0.0;/*给混凝土合力赋初值为0*/for(i=0;i<sn;i+)/*for循环,用于各条带混凝土产生的合力与合弯矩*/z=h/2-i*hn-hn/2;/*求每一条带到截面中间的距离*/e=ee+z*cj;/*以截面中间处应变为基准计算每一条带中心处应变,原代码左端为"ee"有误
9、*/if(e>0.00015)s=0.0;/*if语句,用来判断每一条带中心处应变所在范围,从而选择对应公式计算该处应力*/elseif(e>0.0001)s=fct;elseif(e>0.0)s=(2*fct*e)/(e+0.0001);elseif(e>eo)s=-0.85*fc*(2*e/eo-(e/eo)*(e/eo);elseif(e>eu)s=-0.85*fc*(1-100*(eo-e);elses=0.0;ffc=ffc+s*b*(h/sn);/*将每一条带中心的混凝土受力叠加求合力*/mic=mic+s*b*
10、z*(h/sn);/*将每一条带中心的混凝土弯矩叠加求合弯矩*/*CalculateTheForceOfSteel*fs=0.0;/*钢筋合力初值为0.0*/for(k=0;k<2;k+)/*计算截面钢筋的合力和弯矩*/z=aok-h/2;/*钢筋距上边缘的距离*/e=ee+z*cj;/*截面曲率为cj时钢筋的应变,其中ee为截面中心的应变,为保证截面合力为0,会做调整*/if(abstr(e)<=esy)s=e*es;/*弹性阶段钢筋应力的计算*/elseif(abstr(e)<=esh)s=sign(e)*fy;/*屈服阶段钢筋应力的计算,其中si
11、gn是根据应变的符号确定应力符号的函数*/elses=sign(e)*(fy+0.01*es*(abstr(e)-esh);/*钢筋硬化后钢筋应力的计算*/if(z<0.0)aas=as1;/*把受压钢筋的截面面积赋给变量aas*/elseaas=as;/*把受拉钢筋的截面面积赋给变量aas*/if(abstr(e)>esy)dc=0.0000003;/*钢筋屈服后的曲率增量*/fs=fs+s*aas;/*截面钢筋合力*/mis=mis+s*aas*z;/*截面钢筋合弯矩*/if(ii=1)/*从此处到计算mm之前,是在计算判断赋给截面中心应变的增量是多少时,截面的
12、合力接近0*/sf1=ffc+fs;/*截面合力*/ee=ee+de;/*第一次计算截面内力后给ee一个增量,然后再次计算得到截面内力,用两次的计算结果计算ee的合理增量*/em=de;)else(sf2=ffc+fs;dsf=sf2-sf1;em=-sf2*em/dsf;时的ee增量*/if(dsf=0.0)em=de;合理的*/ee=ee+em;sf1=sf2;力sf1*/)mm=mic+mis;/*把初定的变量de赋2eem,参与后边的计算*/*用ee+de计算的截面合力*/*两次计算的截面合力差*/*计算合理的ee增量,也就是使截面合力趋近0/*如果计算的增量为0,则第一次赋给ee的增
13、量是/*计算合理的截面中心处的应变*/*将最后一次计算的合力sf2赋给上一次计算的合while(abstr(sf2)>=0.1);截面的合力*/if(e>=esy)(if(j<=jmax1)jmax1=j;筋屈服时,将曲率增加次数赋给/*当截面合力的误差大于/*如果在曲率增加次数小于jmax1*/0.1时重新再次计算500并且底部受拉钢/*截面合弯矩*/*顶部条带中心的最大应变*/etop=ee-(h/2-hn/2)*cj;mj=mm;/*把合弯矩赋给数组mj*/if(mj>=mi)/*如果弯矩一直增大,则把弯矩赋给mi,用于下一次比较,
14、同时将j赋名jmax2*/(mi=mj;jmax2=j;/*顶部应变的代数值不小于1.2*eu时,增加/*曲率增加的总次数j赋名jmax3*/while(etop>=1.2*eu);曲率,进行下一次计算*/jmax3=j;/*PutOutTheAnswerofMomentAndCurvature上述过程建立了控制界面曲率与弯矩的对应关系*/file2=fopen("out1.dat","w");for(j=0;j<=jmax3;j+)/*打印计算出的弯矩和对应的曲率*/(fprintf(file
15、2,"%18.8g,%18.8gn",cj,mj);)fclose(file2);if(st=1)lp=0.35*h;if(st=2)lp=0.5*h;tan=mjmax1/cjmax1;da=a/ln;dc=0.00000022;/*钢筋类型为1时,塑性较一半的长度*/*钢筋类型为2时,塑性较一半的长度*/*弯矩曲率图斜率*/*长度为a的梁分成ln段后每段的长度*/*计算荷载-挠度关系时的曲率增量*/j=0;docc=cc+dc;j=j+1;if(cc<=cjmax1)作用的荷载及相应截面的挠度*/*截面计算曲率小于钢筋屈服前的曲率时,计算i
16、=-1;do矩*/*当满足条件i<=jmax1+1时计算曲率对应的弯i+;if(ci<=cc)&&(cc<ci+1)/*判断截面计算曲率在已经求出的曲率列表中的位置*/mm=mi+(cc-ci)*(mi+1-mi)/(ci+1-ci);/*假设弯矩曲率在相邻值间是线性变化的,求该曲率对应的弯矩*/)while(i<=jmax1+1);性阶段的关系*/r=mm/a;pj=(mm*l)/(a*(l-a);for(n=1;n<=ln;n+)momn=r*n*da;jj=-1;do/*此条件表示的意思
17、是弯矩曲率关系要是处在弹/*计算支座反力*/*根据合弯矩计算作用的集中荷载*/*采用共轮梁法计算挠度*/*当计算长度为n*da时,计算截面的弯矩*/*当计算长度为n*da时,计算截面的曲率*/jj+;if(mjj<=momn)&&(momn<mjj+1)/*判断计算截面的弯矩在弯矩列表中的位置*/*计算截面的曲率*/cocn=cjj+(momn-mjj)*(cjj+1-cjj)/(mjj+1-mjj);)while(jj<jmax1);系要是处在弹性阶段的关系*/dd=cocn*da*(n*da-da/2);dj=dj+
18、dd;)/*此条件表示的意思是弯矩曲率关/*共辗梁法计算计算截面的挠度*/*挠度叠加后写到挠度数组中*/elseif(cc<=cjmax2)算作用的荷载及相应截面的挠度*/dsn=0.0;i=-1;do的弯矩*/i+;if(ci<=cc)&&(cc<ci+1)士中的位置*/*截面计算曲率小于钢筋最大应变曲率时,计/*定义dsn初始等于0*/*当满足条件i<=jmax1+1时计算曲率对应/*判断截面计算曲率在已经求出的曲率列)while(i<=jmax2+1);但是力还处于上升阶段*/r=mm/
19、a;pj=(mm*l)/(a*(l-a);da=(a-lp)/ln;长度*/for(n=1;n<=ln;n+)momn=r*n*da;for(jmm=mi+(cc-ci)*(mi+1-mi)/(ci+1-ci);/*假设弯矩曲率在相邻值间是线性变化的,求该曲率对应的弯矩*/*此条件表示的意思是此时已经出现塑性较,/*计算支座反力*/*根据合弯矩计算作用的集中荷载*/*减去塑性较的一半以后a长度上的每一小段的/*采用共轮梁法计算挠度*/*当计算长度为n*da时,计算截面的弯矩*/j=0;jj<=jmax2;jj+)/*计算除了塑性较区域后的挠度*/if(mjj&
20、;lt;=momn)&&(momn<mjj+1)/*判断计算截面的弯矩在弯矩列表中的位置*/cocn=cjj+(momn-mjj)*(cjj+1-cjj)/(mjj+1-mjj);/*计算截面的曲率*/)dd=cocn*da*(n*da-da/2);/*共轮梁法计算计算截面的挠度*/dsn=dsn+dd;/*挠度叠加后得到最后值即为除塑性较区域的挠度*/)mo=r*a;/*截面弯矩*/for(jj=jmax1;jj<=jmax2;jj+)/*计算塑性较区域的挠度*/if(mjj<=mo)&&
21、;(mo<mjj+1)/*判断计算截面的弯矩在弯矩列表中的位置*/co=cjj+(mo-mjj)*(cjj+1-cjj)/(mjj+1-mjj);/*计算截面的曲率*/dl=co*lp*(a-lp/2);/*塑性较区域的挠度*/dj=dsn+dl;/*塑性较区域和非塑性较区域挠度的叠加*/elsedsn=0.0;/*定义初始值为0*/i=-1;do/*计算到了下降段以后的弯矩挠度*/i+;if(ci<=cc)&&(cc<ci+1)/*判断计算截面的曲率在曲率列表中的位置*/mm=mi+(cc-ci)*(mi+1-mi)/(ci+1-ci);/*计算截面的弯矩*/while(i<jmax3);r=mm/a;pj=(mm*l)/(a*(1-a)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 书类合同范例
- 中介商业租房合同范例
- 充电服务合同范例
- 分包委托合同范例
- 主体砖砌体合同范例
- 人员劳动合同范例
- 会务服务合同范例合同网
- 劳动合同范例电影
- 健康食堂创建合同范例
- 2022年南京医科大学自考英语(二)练习题(附答案解析)
- 湖南省2023年普通高等学校对口招生考试英语试卷
- 第11课《山地回忆》公开课一等奖创新教学设计
- 无人机执照考试知识考题(判断题100个)
- 学校保洁服务投标方案(技术标)
- 2025年春新人教版生物七年级下册课件 第三单元 植物的生活 第二章 植物体内的物质与能量变化 第一节 水的利用与散失
- 《脐橙采摘机器人结构设计》13000字(论文)
- 2025年黄河委员会招聘历年高频重点提升(共500题)附带答案详解
- 2025年保险公司工作计划
- 《情绪ABC理论》课件
- (已压缩)矿产资源储量技术标准解读300问-1-90
- 电工(高级技师)理论知识试题库+参考答案
评论
0/150
提交评论