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

📄 hscclt.cpp

📁 是一个结构试验设计的加工曲线的跟踪实现 没有密码。第一次
💻 CPP
📖 第 1 页 / 共 5 页
字号:
			   }   

			   //计算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 + -