📄 hscclt.cpp
字号:
}
//计算N
//先考虑应力对温度的切线模量;
N=Estrain*1.0e3*(1.0e6)*(-0.04*(1.0-exp((-30.0+0.03*T)*sqrt(0.001)))*6.9+(50.0-0.04*T)*(-exp((-30.0+0.03*T)*sqrt(0.001)))*6.9*0.03*sqrt(0.001))*Hstress;
if(Estress>=0.0)
{
N=N+(1.0e6)*(-0.04*(1.0-exp((-30.0+0.03*T)*sqrt(0.001)))*6.9+(50.0-0.04*T)*(-exp((-30.0+0.03*T)*sqrt(0.001)))*6.9*sqrt(0.001)*0.03)*Hstress;
N=N+Hstress*1.0e6*(1.0e3*seyt-1.0)*(-0.04*(1.0-exp((-30.0+0.03*T)*sqrt(0.001)))*6.9+(50.0-0.04*T)*(-exp((-30.0+0.03*T)*sqrt(0.001))*6.9*sqrt(0.001)*0.03));
}
if(Estress<0.0)
{
N=N-(1.0e6)*(-0.04*(1.0-exp((-30.0+0.03*T)*sqrt(0.001)))*6.9+(50.0-0.04*T)*(-exp((-30.0+0.03*T)*sqrt(0.001)))*6.9*sqrt(0.001)*0.03)*Hstress;
N=N-Hstress*1.0e6*(1.0e3*seyt-1.0)*(-0.04*(1.0-exp((-30.0+0.03*T)*sqrt(0.001)))*6.9+(50.0-0.04*T)*(-exp((-30.0+0.03*T)*sqrt(0.001))*6.9*sqrt(0.001)*0.03));
}
xxyytemp2=N;
//考虑钢筋的热膨胀的切线模量;
if(T<=1000.0)
{
N=xxyytemp2+Hstress*(1.0e-6)*(12.0+0.004*2.0*T)*Esttl;
}
if(T>=1000.0)
{
N=xxyytemp2+Hstress*(1.0e-6)*16.0*Esttl;
}
xxyytemp2=N;
//考虑钢筋高温瞬时蠕变模型
if(sgaowenx==1)
{
if(Estress<=-103.42*(1.0e6) && Estress>=-310.26*(1.0e6))
{
//xxyytemp1:高温瞬时蠕变对温度的导数;
xxyytemp1=(-1.23e16)*exp(-4.5*Estress/(103.42e6))*WendubuDT;
N=xxyytemp2+(-1.0)*Hstress*Esttl*xxyytemp1;
}
if(Estress>=-103.42*(1.0e6) && Estress<=0.0)
{
//xxyytemp1:高温瞬时蠕变对温度的导数;
xxyytemp1=-1.103e18*pow(-Estress/103.42e6,4.7)*WendubuDT;
N=xxyytemp2+(-1.0)*Hstress*Esttl*xxyytemp1;
}
if(Estress<=103.42*(1.0e6) && Estress>=0.0)
{
//xxyytemp1:高温瞬时蠕变对温度的导数;
xxyytemp1=1.103e18*pow(Estress/103.42e6,4.7)*WendubuDT;
N=xxyytemp2+(-1.0)*Hstress*Esttl*xxyytemp1;
}
if(Estress>=103.42*(1.0e6) && Estress<=310.26*(1.0e6))
{
//xxyytemp1:高温瞬时蠕变对温度的导数;
xxyytemp1=(1.23e16)*exp(4.5*Estress/(103.42e6))*WendubuDT;
N=xxyytemp2+(-1.0)*Hstress*Esttl*xxyytemp1;
}
}
}
if(Estrain>=seyt)
{
//先求Hstress;
if(sgaowenx==0)
{
Hstress=1.0;
}
if(sgaowenx==1)
{
if(Estress<=103.42*(1.0e6))
{
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))*xxyytemp1);
}
//应力对温度的切线模量;
N=1.0e6*(-0.04*(1.0-exp((-30.0+0.03*T)*sqrt((Estrain-seyt+0.001))))*6.9+(50.0-0.04*T)*(-exp((-30.0+0.03*T)*sqrt((Estrain-seyt+0.001))))*6.9*sqrt((Estrain-seyt+0.001))*0.03)*Hstress;
N=N+Hstress*1.0e6*(1.0e3*seyt-1.0)*(-0.04*(1.0-exp((-30.0+0.03*T)*sqrt(0.001)))*6.9+(50.0-0.04*T)*(-exp((-30.0+0.03*T)*sqrt(0.001)))*6.9*sqrt(0.001)*0.03);
xxyytemp2=N;
//考虑热膨胀应变切线分量;
if(T<=1000.0)
{
N=xxyytemp2+Hstress*(1.0e-6)*(12.0+2.0*0.004*T)*((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)));
}
if(T>1000.0)
{
N=xxyytemp2+Hstress*(1.0e-6)*16.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)));
}
xxyytemp2=N;
//考虑高温瞬时蠕变分量;
if(sgaowenx==1)
{
if(Estress<=103.42*(1.0e6))
{
//xxyytemp1:高温瞬时蠕变对温度的导数;
xxyytemp1=1.103e18*pow(Estress/103.42e6,4.7)*WendubuDT;
N=xxyytemp2+(-1.0)*Hstress*(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)))*xxyytemp1;
}
if(Estress>=103.42*(1.0e6) && Estress<=310.26*(1.0e6))
{
//xxyytemp1:高温瞬时蠕变对温度的导数;
xxyytemp1=(1.23e16)*exp(4.5*Estress/(103.42e6))*WendubuDT;
N=xxyytemp2+(-1.0)*Hstress*(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)))*xxyytemp1;
}
}
}
}
if(T>995.0)
{
N=0.0;
}
}
return(N);
}
//钢筋的时间切线模量
double Estimet(int isub,double Estress,double Estrain,double T,double time0,double fy,double ey)
//钢筋的时间切线模量的值,见过镇海的书P204页,式(12-4),isub表示采用的建议公式类别,Estress表示有效应力,Estrain表示有效应变,T表示温度,time0表示时间;
{
double N=0.0;
double Hstress; //临时变量,见过镇海书p204,式12-5
double xxyytemp1; //临时变量;
double Esttl; //钢筋的原点切线模量
double xxyytemp2;
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(sgaowenx==0)
{
Hstress=1.0;
N=0.0;
}
if(sgaowenx==1)
{
if(Estrain<=-seyt)
{
//先求Hstress
if(Estress>=-103.42*(1.0e6))//高温蠕变对应力求导
{
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);
N=-fsdives*Hstress;
xxyytemp2=N;
if(Estress>=-103.42*(1.0e6)) //高温蠕变对温度求导
{
N=xxyytemp2*(-1.103e18)*pow(-Estress/(103.42e6),4.7)*exp(-75000.0/(T*9.0/5.0+491.0));
}
if(Estress<=-103.42*(1.0e6) && Estress>=-310.26*(1.0e6))
{
N=xxyytemp2*(-1.23e16)*exp(-4.5*Estress/(103.42e6))*exp(-75000.0/(T*9.0/5.0+491.0));
}
}
if(Estrain>=-seyt && Estrain<=seyt)
{
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;
}
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;
xxyytemp2=N;
if(Estress<=-103.42*(1.0e6) && Estress>=-310.26*(1.0e6) )
{
N=xxyytemp2*(-1.23e16)*exp(-4.5*Estress/(103.42e6))*exp(-75000.0/(T*9.0/5.0+491.0));
}
if(Estress>=-103.42*(1.0e6) && Estress<=0.0)
{
N=xxyytemp2*(-1.103e18)*pow(-Estress/(103.42e6),4.7)*exp(-75000.0/(T*9.0/5.0+491.0));
}
if(Estress<=103.42*(1.0e6) && Estress>=0.0)
{
N=xxyytemp2*(1.103e18)*pow(Estress/(103.42e6),4.7)*exp(-75000.0/(T*9.0/5.0+491.0));
}
if(Estress>=103.42e6 && Estress<=310.26*(1.0e6))
{
N=xxyytemp2*(1.23e16)*exp(4.5*Estress/(103.42e6))*exp(-75000.0/(T*9.0/5.0+491.0));
}
}
if(Estrain>=seyt)
{
//先求Hstress;
if(Estress<=103.42*(1.0e6))
{
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);
N=-fsdives*Hstress;
xxyytemp2=N;
if(Estress<=103.42*(1.0e6))
{
N=xxyytemp2*(1.103e18)*pow(Estress/(103.42e6),4.7)*exp(-75000.0/(T*9.0/5.0+491.0));
}
if(Estress>=103.42*(1.0e6) && Estress<=310.26*(1.0e6))
{
N=xxyytemp2*(1.23e16)*exp(4.5*Estress/(103.42e6))*exp(-75000.0/(T*9.0/5.0+491.0));
}
}
}
}
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(sgaowenx==0)
{
Hstress=1.0;
N=0.0;
}
if(sgaowenx==1)
{
if(Estrain<=-seyt)
{
//先求Hstress;
if(Estress>=-103.42*(1.0e6))
{
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-+0.001))))*(-30.0+0.03*T)/2.0/sqrt(-(Estrain-seyt+0.001))*(-1.0)*xxyytemp1);
N=-(1.0e6)*(-1.0)*(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;
xxyytemp2=N;
if(Estress>=-103.42*(1.0e6))
{
N=xxyytemp2*(-1.103e18)*pow(-Estress/(103.42e6),4.7)*exp(-75000.0/(T*9.0/5.0+491.0));
}
if(Estress<=-103.42*(1.0e6) && Estress>=-310.26*(1.0e6))
{
N=xxyytemp2*(-1.23e16)*exp(-4.5*Estress/(103.42e6))*exp(-75000.0/(T*9.0/5.0+491.0));
}
}
if(Estrain>=-seyt && Estrain<=seyt)
{
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;
}
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*Es
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -