⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hscclt.cpp

📁 是一个结构试验设计的加工曲线的跟踪实现 没有密码。第一次
💻 CPP
📖 第 1 页 / 共 5 页
字号:
					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 + -