RC混凝土弯矩曲率关系全过程数值分析-C++编程

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

练习1:

钢筋混凝土矩形截面:b=300mm,h=600mm,h0=560mm,a s’=25mm,a s=40mm,A s’=157mm2,A s=804mm2,f y’=280MPa,f y=280MPa,E s=200GPa,E c=25.5GPa,f c=13.4MPa,f t=1.54MPa,ε0=0.002,εcu=0.0038,εs u≤10%=0.10。.

利用数值方法计算截面的M~Φ关系,并附简化计算结果M u。

2Φ10

h=600mm

4Φ16

将程序计算出的结果导入excel生成如下表格:

图1.纯弯构件截面曲率phi随弯矩M加载曲线

图2.纯弯构件截面受压区高度x0随弯矩M加载曲线

纯弯构件M-phi曲线数值分析程序(C++)

#i#include

#include

#include

#include

using namespace std;

int main()

{cout<<"设计中As=804mm2,As'=157mm2,fy=280MPa,fy'=280MPa,Es=200GPa,Ec=25.5GPa"<

cout<

cout<<" fc=13.4MPa,ft=1.54MPaε0=0.002,εcu=0.0038,εsu<=0.1"<

cout<

inti;

double b,h,as0,as1,x0,c,t,p1,p2,p3,h0,x01,x02,d,f;

double k,k1,k2,ms0,ms1,mc,f1,f2,M,sc,m1,m2,m3,mc1,e1,sc1,sc2,q;

ofstreamoutfile;

b=300;h=600;as0=40;as1=40;

h0=h-as0;

//给出题目相关参数

outfile.open("data.txt");//建立数据输出文件

for(mc=0.00000001;mc<=0.0038;mc=mc+0.00001)

{

x01=0.0;x02=600.0;

for(x0=0;;)

{x0=0.5*(x01+x02);

ms1=mc/x0*(x0-25);ms0=mc/x0*(h0-x0 );//求出钢筋应变

f2=200*ms1*1000;//受压区钢筋应力

f1=200*ms0*1000;//受拉区钢筋应力

if(f1>280)

{ f1=280;}

if(f1<-280)

{f2=-280;}

if(f2>280)

{f2=280;}//εsu<=0.1是达不到的,必定小于0.1

p1=0.0;m1=0.0; p2=0.0;m2=0.0;p3=0.0;m3=0.0;

for( i=0;i<=1000;i++)

{sc=mc*(i+0.5)/1000;

if(sc<0.002)

{k=13.4*(1000*sc-sc*sc/0.000004);}

if(sc>=0.002&&sc<=0.0038)

{k=13.4;}

p1=p1+k*300*x0/1000;

m1=m1+k*300*x0/1000*(x0*(i+0.5)/1000);}//受压区混凝土

mc1=(600-x0)*mc/x0;e1=1.54/25.5/1000;//对受拉区最下缘做出判断的两个数据

if(mc1<=e1)//未开裂情况下受拉区混凝土,f2受压区钢筋f1受拉区钢筋

{d=600-x0;

for(int j=0;j<=1000;j++)

{sc1=mc1*(j+0.5)/1000;

k1=25.5*sc1*1000;

p2=p2+k1*300*d/1000;

m2=m2+k1*300*d/1000*(d*(j+0.5)/1000);}

t=f1*804+p2;c=f2*157+p1;//此种情况下全结构的压力C和拉力T

M=m1+f2*157*(x0-25)+m2+f1*804*(560-x0);//此种情况下的弯矩

}

if(mc1>=e1)//开裂情况下的受拉区混凝土,f2受压区钢筋f1受拉区钢筋

{d=e1*x0/mc;

for(int r=0;r<=1000;r++)

{sc2=e1*(r+0.5)/1000;

k2=25.5*sc2*1000;

p3=p3+k2*300*d/1000;

m3=m3+k2*300*d/1000*(d*(r+0.5)/1000);}

t=f1*804+p3;c=f2*157+p1;//此种情况下全结构的压力C和拉力T

M=m1+f2*157*(x0-25)+m3+f1*804*(h0-x0);}//此种情况下的弯矩

f=(c-t)/c;q=mc/x0;//f为压力和拉力之间的误差比,q为曲率

if(fabs(f)<0.01)

{outfile<

if(t

{ x02=x0;x01=x01;}

else

{ x01=x0;x02=x02;}}}

outfile.close();

system("pause");

return 0;

//程序结束}

}

相关文档
最新文档