📄 hscclt.cpp
字号:
N=xxyytemp2+ccstress*(-1.0)*xxyytemp1*pow((cpt-Estrain)/cpt,xxyytemp1-1.0)/cpt/cpt*(cpt*(6.0+0.03*2.0*T)/1000000.0-(cpt-Estrain)*(6.0+0.03*2.0*T)/1000000.0);
N=xxyytemp2+fc*(-0.003125)*(1.0-pow((cpt-Estrain)/cpt,xxyytemp1));//fdivT
}
if(T>=100.0 && T<400.0)
{ //fdivT
N=xxyytemp2+ccstress*(-1.0)*xxyytemp1*pow((cpt-Estrain)/cpt,xxyytemp1-1.0)/cpt/cpt*(cpt*(6.0+0.03*2.0*T)/1000000.0-(cpt-Estrain)*(6.0+0.03*2.0*T)/1000000.0);
}
if(T>=400.0 && T<917.24)
{ //fdivT
N=xxyytemp2+ccstress*(-1.0)*xxyytemp1*pow((cpt-Estrain)/cpt,xxyytemp1-1.0)/cpt/cpt*(cpt*(6.0+0.03*2.0*T)/1000000.0-(cpt-Estrain)*(6.0+0.03*2.0*T)/1000000.0);//fdivT
N=xxyytemp2+fc*(-0.00145)*(1.0-pow((cpt-Estrain)/cpt,xxyytemp1));//fdivT
}
if(T>=917.24)
{
N=0.0;
}
}
if(Estrain>=cpt)
{
Hstress=1.0;
if(T<=650.0)
{ //fdives*fthdivT
N=-ccstress*30.0*30.0/cpt/cpt/(130.00-fc/1000000.0)/(130.00-fc/1000000.0)*2.0*(Estrain-cpt)*Hstress*(0.008*2.0*T+6.0)/1000000.0;
}
if(T>650.0)
{
N=0.0;
}
xxyytemp2=N;
if(T<100.0)
{
N=xxyytemp2+ccstress*(-1.0)*30.0*30.0/(130.0-fc/1000000.0)/(130.0-fc/1000000.0)/cpt/cpt/cpt/cpt*(2.0*(Estrain-cpt)*(-1.0)*cpt*cpt*(6.0+0.03*2.0*T)/1000000.0-(Estrain-cpt)*(Estrain-cpt)*2.0*cpt*(6.0+0.03*2.0*T)/1000000.0);
N=xxyytemp2+fc*(-0.003125)*(1.0-30.0*(Estrain-cpt)*30.0*(Estrain-cpt)/cpt/cpt/(130.0-fc/1000000.0)/(130.0-fc/1000000.0));
}
if(T>=100.0 && T<400.0)
{
N=xxyytemp2+ccstress*(-1.0)*30.0*30.0/(130.0-fc/1000000.0)/(130.0-fc/1000000.0)/cpt/cpt/cpt/cpt*(2.0*(Estrain-cpt)*(-1.0)*cpt*cpt*(6.0+0.03*2.0*T)/1000000.0-(Estrain-cpt)*(Estrain-cpt)*2.0*cpt*(6.0+0.03*2.0*T)/1000000.0);
}
if(T>=400.0 && T<=917.24)
{
N=xxyytemp2+ccstress*(-1.0)*30.0*30.0/(130.0-fc/1000000.0)/(130.0-fc/1000000.0)/cpt/cpt/cpt/cpt*(2.0*(Estrain-cpt)*(-1.0)*cpt*cpt*(6.0+0.03*2.0*T)/1000000.0-(Estrain-cpt)*(Estrain-cpt)*2.0*cpt*(6.0+0.03*2.0*T)/1000000.0);
N=N+fc*(-0.00145)*(1.0-30*(Estrain-cpt)*30*(Estrain-cpt)/cpt/cpt/(130.0-fc/1000000.0)/(130.0-fc/1000000.0));
}
if(T>=874.0)
{
N=0.0;
}
}
}
if(T>=917.24)
{
N=0.0;
}
}
return(N); //过的书上的公式有错误,符号相反;
}
//混凝土的时间切线模量的值,见过镇海的书P204页,式(12-4),isub表示采用的建议公式类别,Estress表示有效
//应力,Estrain表示有效应变,T表示温度,time0表示时间
double Ectimet(int isub,double Estress,double Estrain,double T,double time0)
{
double N;
double Hstress; //临时变量,见过镇海书p204,式12-5.
double Ntemp; //临时变量;
if(isub==1) //按过镇海建议;
{
ccstress=fc/(1.0+18.0*pow(T/1000.0,5.1)); //混凝土高温受压峰值应力;
ctstress=0.0-ccstress*0.1; //混凝土的高温受拉峰值应力;
cpt=cp*(1.0+5.0*pow(T/1000.0,1.7)); //混凝土高温峰值应力所对应的应变;
E0tt=ccstress/cpt*2.2; //过镇海的书,p25式(2-9);
ceptt=ctstress/E0tt; //混凝土的受拉峰值应变;
if(Estrain<=ceutt) //混凝土拉裂;
{
N=0.0;
}
if(Estrain>=ceutt && Estrain<=ceptt)
{
N=0.0;
}
if(Estrain>=ceptt && Estrain<=0.0)
{
N=0.0;
}
if(Estrain>=0 && Estrain<=cpt) //混凝土受压
{
Hstress=1.0/(1.0+ccstress*(2.2/cpt-2.8*Estrain/cpt/cpt+0.6*Estrain*Estrain/cpt/cpt/cpt)*((72.0*T*T/1000/1000.0-T/1000.0)/1000.0/fc+60.0*sqrt(time0/60.0/120.0)*(exp(6.0*T/1000.0)-1.0)/ccstress/1000000.0));
if(time0>1000.0)
{
N=-ccstress*(2.2/cpt-2.8*Estrain/cpt/cpt+0.6*Estrain*Estrain/cpt/cpt/cpt)*Hstress*Estress/ccstress*(exp(6.0*T/1000.0)-1.0)*60.0/1000000.0*0.5/60.0/120.0/sqrt(time0/60.0/120.0);
}
if(time0<=1000.0)
{
N=0.0;
}
}
if(Estrain>=cpt)
{
if(time0>=1000.0)
{
Ntemp=ccstress*((0.8*(Estrain/cpt-1.0)*(Estrain/cpt-1.0)+Estrain/cpt)/cpt-Estrain/cpt*(1.6*(Estrain/cpt-1.0)/cpt+1.0/cpt))/((0.8*(Estrain/cpt-1.0)*(Estrain/cpt-1.0)+Estrain/cpt)*(0.8*(Estrain/cpt-1.0)*(Estrain/cpt-1.0)+Estrain/cpt));
Hstress=1.0/(1.0+Ntemp*((72.0*T*T/1000/1000.0-T/1000.0)/1000.0/fc+60.0*sqrt(time0/60.0/120.0)*(exp(6.0*T/1000.0)-1.0)/ccstress/1000000.0));
N=-Ntemp*Hstress*Estress/ccstress*(exp(6.0*T/1000.0)-1.0)*60.0/1000000.0*0.5/60.0/120.0/sqrt(time0/60.0/120.0);
}
if(time0<=1000.0)
{
N=0.0;
}
}
}
if(isub==2) //按Lie建议公式;
{
N=0.0;
}
if(isub==3) //按Kodur建议HSC公式
{
N=0.0;
}
return(N);
}
//钢筋的应力切线模量
double Esst(int isub,double Estress,double Estrain,double T,double time0,double fy,double ey)
//钢筋的应力切线模量的值,过的书P204式(12-3),isub表示采用的建议公式类别,Estress表示有效应力,Estrain表示有效应变,T表示温度;
{
double N;
double Hstress; //临时变量,见过镇海书p205,式12-10
double xxyytemp1;
double Esttl; //钢筋的原点切线模量
double seut; //钢筋的高温极限拉应变
double sfut; //钢筋的高温极限抗拉强度
double fsdives; //钢筋应力对应力应变的导数
if(isub==1) //按过镇海建议
{
seyt=2295.0/1000000.0;
sfyt=fy/(1.0+24.0*pow(T/1000.0,4.5)); //钢筋的高温屈服强度
sfut=sfu/(1.0+36.0*pow(T/1000.0,6.2));//钢筋的高温极限抗拉强度
Esttl=sfyt/seyt;
if(T<=608.0)
{
seut=0.16-0.23*T/1000.0;
}
if(T>=608.0)
{
seut=0.02;
}
if(Estrain<=-seyt)//钢筋受拉
{
//先求Hstress;
if(sgaowenx==0)
{
Hstress=1.0;
}
if(sgaowenx==1)//高温蠕变对应力的导数
{
xxyytemp1=0.0;
if(Estress>=-103.42*(1.0e6) && Estress<0.0)
{
xxyytemp1=0.00346/103.42/1.0e6*1.75*pow(-Estress/(103.42*1.0e6),0.75)+1.103*(1.0e18)/103.42/1.0e6*4.7*pow(-Estress/(103.42*1.0e6),3.7)*Wendubu;
}
if(Estress<=-103.42*(1.0e6) && Estress>=-310.26*(1.0e6))
{
xxyytemp1=0.00346/103.42/1.0e6*1.75*pow(-Estress/(103.42*1.0e6),0.75)+1.23*(1.0e16)*exp(-4.5*Estress/(103.42*1.0e6))*4.5/103.42/1.0e6*Wendubu;
}
if(Estress<-310.26*(1.0e6))
{
xxyytemp1=0.0;
}
fsdives=-(sfut-sfyt)*0.62*pow(1.5*(-(Estrain-seyt))/(seut-seyt)-0.5*pow((-(Estrain-seyt))/(seut-seyt),3.0),0.62-1.0)*(-1.5/(seut-seyt)-0.5*3.0*pow((-(Estrain-seyt))/(seut-seyt),2.0)*(-1.0)/(seut-seyt));
Hstress=1.0/(1.0+fsdives*xxyytemp1);
}
fsdives=-(sfut-sfyt)*0.62*pow(1.5*(-(Estrain-seyt))/(seut-seyt)-0.5*pow((-(Estrain-seyt))/(seut-seyt),3.0),0.62-1.0)*(-1.5/(seut-seyt)-0.5*3.0*pow((-(Estrain-seyt))/(seut-seyt),2.0)*(-1.0)/(seut-seyt));
N=fsdives*Hstress;
}
if(Estrain>=-seyt && Estrain<=seyt)
{
//先求Hstress
if(sgaowenx==0) //不考虑高温徐变
{
Hstress=1.0;
}
if(sgaowenx==1) //考虑高温徐变
{
xxyytemp1=0.0;
if(Estress>=-103.42*(1.0e6) && Estress<=0.0)//高温蠕变对应力的导数
{
xxyytemp1=0.00346/103.42/1.0e6*1.75*pow(-Estress/(103.42*1.0e6),0.75)+1.103e18/103.42/1.0e6*4.7*pow(-Estress/(103.42*1.0e6),3.7)*Wendubu;
}
if(Estress<=-103.42*(1.0e6) && Estress>=-310.26*(1.0e6))
{
xxyytemp1=0.00346/103.42/1.0e6*1.75*pow(-Estress/(103.42*1.0e6),0.75)+1.23*(1.0e16)*exp(-4.5*Estress/(103.42*1.0e6))*4.5/103.42/1.0e6*Wendubu;
}
if(Estress<=-310.26*(1.0e6))
{
xxyytemp1=0.0;
}
if(Estress<=103.42*(1.0e6) && Estress>=0.0)
{
xxyytemp1=0.00346/103.42/1.0e6*1.75*pow(Estress/(103.42*1.0e6),0.75)+1.103*(1.0e18)/103.42/1.0e6*4.7*pow(Estress/(103.42*1.0e6),3.7)*Wendubu;
}
if(Estress>=103.42*(1.0e6) && Estress<=310.26*(1.0e6))
{
xxyytemp1=0.00346/103.42/1.0e6*1.75*pow(Estress/(103.42*1.0e6),0.75)+1.23*(1.0e16)*exp(4.5*Estress/(103.42*1.0e6))*4.5/103.42/1.0e6*Wendubu;
}
if(Estress>=310.26*(1.0e6))
{
xxyytemp1=0.0;
}
Hstress=1.0/(1.0+xxyytemp1*Esttl);
}
//计算N
N=Esttl*Hstress;
}
if(Estrain>=seyt)//钢筋受压
{
//先求Hstress
if(sgaowenx==0)
{
Hstress=1.0;
}
if(sgaowenx==1)
{
xxyytemp1=0.0;
if(Estress<=103.42*(1.0e6) && Estress>0.0)
{
xxyytemp1=0.00346/103.42/1.0e6*1.75*pow(Estress/(103.42*1.0e6),0.75)+1.103*(1.0e18)/103.42/1.0e6*4.7*pow(Estress/(103.42*1.0e6),3.7)*Wendubu;
}
if(Estress>=103.42*(1.0e6) && Estress<=310.26*(1.0e6))
{
xxyytemp1=0.00346/103.42/1.0e6*1.75*pow(Estress/(103.42*1.0e6),0.75)+1.23*(1.0e16)*exp(4.5*Estress/(103.42*1.0e6))*4.5/103.42/1.0e6*Wendubu;
}
if(Estress>=310.26*(1.0e6))
{
xxyytemp1=0.0;
}
fsdives=(sfut-sfyt)*0.62*pow(1.5*(Estrain-seyt)/(seut-seyt)-0.5*pow((Estrain-seyt)/(seut-seyt),3.0),0.62-1.0)*(1.5/(seut-seyt)-0.5*3.0*pow((Estrain-seyt)/(seut-seyt),2.0)/(seut-seyt));
Hstress=1.0/(1.0+fsdives*xxyytemp1);
}
fsdives=(sfut-sfyt)*0.62*pow(1.5*(Estrain-seyt)/(seut-seyt)-0.5*pow((Estrain-seyt)/(seut-seyt),3.0),0.62-1.0)*(1.5/(seut-seyt)-0.5*3.0*pow((Estrain-seyt)/(seut-seyt),2.0)/(seut-seyt));
N=fsdives*Hstress;
}
}
if(isub==2) //按Lie建议公式
{
if(T<995.0)
{
seyt=4.0*(1.0e-6)*fy*(1.0e-6);
sfyt=1.0e3*(50.0-0.04*T)*(1.0-exp(sqrt(0.001)*(-30.0+0.03*T)))*6.9*seyt*1.0e6; //钢筋的高温屈服强度
Esttl=1.0e6*(1.0e3)*(50.0-0.04*T)*(1.0-exp((-30.0+0.03*T)*sqrt(0.001)))*6.9;
if(Estrain<=-seyt)//钢筋受拉;
{
//先求Hstress;
if(sgaowenx==0)
{
Hstress=1.0;
}
if(sgaowenx==1)
{
xxyytemp1=0.0;
if(Estress>=-103.42*(1.0e6) && Estress<0.0)
{
xxyytemp1=0.00346/103.42/1.0e6*1.75*pow(-Estress/(103.42*1.0e6),0.75)+1.103*(1.0e18)/103.42/1.0e6*4.7*pow(-Estress/(103.42*1.0e6),3.7)*Wendubu;
}
if(Estress<=-103.42*(1.0e6) && Estress>=-310.26*(1.0e6))
{
xxyytemp1=0.00346/103.42/1.0e6*1.75*pow(-Estress/(103.42*1.0e6),0.75)+1.23*(1.0e16)*exp(-4.5*Estress/(103.42*1.0e6))*4.5/103.42/1.0e6*Wendubu;
}
if(Estress<=-310.26*(1.0e6))
{
xxyytemp1=0.0;
}
Hstress=1.0/(1.0-(1.0e6)*(50.0-0.04*T)*6.9*(-exp((-30.0+0.03*T)*sqrt(-(Estrain-seyt+0.001))))*(-30.0+0.03*T)/2.0/sqrt(-(Estrain-seyt+0.001))*(-1.0)*xxyytemp1);
}
N=-(1.0e6)*(50.0-0.04*T)*6.9*(-exp((-30.0+0.03*T)*sqrt(-(Estrain-seyt+0.001))))*(-30.0+0.03*T)/2.0/sqrt(-(Estrain-seyt+0.001))*(-1.0)*Hstress;
}
if(Estrain>=-seyt && Estrain<=seyt)
{
//先求Hstress;
if(sgaowenx==0) //不考虑高温徐变;
{
Hstress=1.0;
}
if(sgaowenx==1) //考虑高温徐变;
{
if(Estress>=-103.42*(1.0e6) && Estress<=0.0)
{
xxyytemp1=0.00346/103.42/1.0e6*1.75*pow(-Estress/(103.42*1.0e6),0.75)+1.103e18/103.42/1.0e6*4.7*pow(-Estress/(103.42*1.0e6),3.7)*Wendubu;
}
if(Estress<=-103.42*(1.0e6) && Estress>=-310.26*(1.0e6))
{
xxyytemp1=0.00346/103.42/1.0e6*1.75*pow(-Estress/(103.42*1.0e6),0.75)+1.23*(1.0e16)*exp(-4.5*Estress/(103.42*1.0e6))*4.5/103.42/1.0e6*Wendubu;
}
if(Estress<=-310.26*(1.0e6))
{
xxyytemp1=0.0;
}
if(Estress<=103.42*(1.0e6) && Estress>=0.0 )
{
xxyytemp1=0.00346/103.42/1.0e6*1.75*pow(Estress/(103.42*1.0e6),0.75)+1.103*(1.0e18)/103.42/1.0e6*4.7*pow(Estress/(103.42*1.0e6),3.7)*Wendubu;
}
if(Estress>=103.42*(1.0e6)&& Estress<=310.26*(1.0e6))
{
xxyytemp1=0.00346/103.42/1.0e6*1.75*pow(Estress/(103.42*1.0e6),0.75)+1.23*(1.0e16)*exp(4.5*Estress/(103.42*1.0e6))*4.5/103.42/1.0e6*Wendubu;
}
if(Estress>=310.26*(1.0e6))
{
xxyytemp1=0.0;
}
Hstress=1.0/(1.0+xxyytemp1*(1.0e6)*(1.0e3)*(50.0-0.04*T)*(1.0-exp((-30.0+0.03*T)*sqrt(0.001)))*6.9);
}
N=Esttl*Hstress;//计算N
}
if(Estrain>=seyt) //钢筋受压;
{
//先求Hstress;
if(sgaowenx==0)
{
Hstress=1.0;
}
if(sgaowenx==1)
{
xxyytemp1=0.0;
if(Estress<=103.42*(1.0e6) && Estress>0.0)
{
xxyytemp1=0.00346/103.42/1.0e6*1.75*pow(Estress/(103.42*1.0e6),0.75)+1.103*(1.0e18)/103.42/1.0e6*4.7*pow(Estress/(103.42*1.0e6),3.7)*Wendubu;
}
if(Estress>=103.42*(1.0e6) && Estress>=310.26*(1.0e6))
{
xxyytemp1=0.00346/103.42/1.0e6*1.75*pow(Estress/(103.42*1.0e6),0.75)+1.23*(1.0e16)*exp(4.5*Estress/(103.42*1.0e6))*4.5/103.42/1.0e6*Wendubu;
}
if(Estress>=310.26*(1.0e6))
{
xxyytemp1=0.0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -