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

📄 printinfo.c

📁 用C++ 写的SIMPLE算法程序,还可以
💻 C
字号:

#include "global_var.h" 


void printinfo()
{  double rhom;
   int i,j,n,jj,ibeg,iend,jbeg,jend,ifst,jfl,jfst;
   
      
      if(lprint[3])
	  {
           //---calculate the stream funtion----------------------------------------
      f[2][2][3]=0.;
      for (i=2;i<=l1;i++)
	  {
	    //IF(I .NE. 2) F(I,2,3)=F(I-1,2,3)-RHO(I-1,1)*V(I-1,2)*R(1)*XCV(I-1)
		if(i!= 2) f[i][2][3]=f[i-1][2][3]-rho(i-1,1)*v(i-1,2)*xcv[i-1];
        for (j=3;j<=m1;j++)
		{
	      rhom=fx[i]*rho(i,j-1)+fxm[i]*rho(i-1,j-1);
          f[i][j][3]=f[i][j-1][3]+rhom*u(i,j-1)*arx[j-1];
		} //for j
	  } //for i
	  } //for lprint
      
	  if(lprint[np])
	   {
      //*---construct boundary pressures by extrapolation
		for (j=2;j<=m2;j++)
			{
				p(1,j)=(p(2,j)*xcvs[3]-p(3,j)*xdif[2])/xdif[3];
				p(l1,j)=(p(l2,j)*xcvs[l2]-p(l3,j)*xdif[l1])/xdif[l2];
			 }
		for (i=2;i<=l2;i++)
			{
				p(i,1)=(p(i,2)*ycvs[3]-p(i,3)*ydif[2])/ydif[3];
				p(i,m1)=(p(i,m2)*ycvs[m2]-p(i,m3)*ydif[m1])/ydif[m2];
			}
		p(1,1)=p(2,1)+p(1,2)-p(2,2);
		p(l1,1)=p(l2,1)+p(l1,2)-p(l2,2);
		p(1,m1)=p(2,m1)+p(1,m2)-p(2,m2);
		p(l1,m1)=p(l2,m1)+p(l1,m2)-p(l2,m2);
		pref=p(ipref,jpref);
		for (j=1;j<=m1;j++)
			  for (i=1;i<=l1;i++)
		       p(i,j)=p(i,j)-pref;
	   } //lprintf[np]
      
	 
	   if(iter==0)  //第一次迭代结束。在输出结果之前先给出网格坐标
	  {   
		  fprintf(filehandle8,"\n");
          iend=0;
          while (iend!=l1)
		  {  
              ibeg=iend+1;
              iend=iend+7;
              iend=__min(iend,l1);
                fprintf(filehandle8,"\n");
               {fprintf(filehandle8," I =");for (i=ibeg;i<=iend;i++) fprintf(filehandle8,"%9d",i);fprintf(filehandle8,"\n");}
              if (mode!=3)
               {fprintf(filehandle8," X =");for (i=ibeg;i<=iend;i++) fprintf(filehandle8,"%9.2f",x[i]);fprintf(filehandle8,"\n");}
              else 
               {fprintf(filehandle8,"TH =");for (i=ibeg;i<=iend;i++) fprintf(filehandle8,"%9.2f",x[i]);fprintf(filehandle8,"\n");}
		  }
  
      jend=0;
      fprintf(filehandle8,"\n");
       while(jend!=m1)
		{
			jbeg=jend+1;
			jend=jend+7;
			jend=__min(jend,m1);
			fprintf(filehandle8,"\n");
			{fprintf(filehandle8," J =");for (j=jbeg;j<=jend;j++) fprintf(filehandle8,"%9d",j);fprintf(filehandle8,"\n");}
			{fprintf(filehandle8," Y =");for (j=jbeg;j<=jend;j++) fprintf(filehandle8,"%9.2f",y[j]);fprintf(filehandle8,"\n");}
		}
	  } //if time
    
     
	  for (n=1;n<=ngam;n++)
	  {
	    nf=n;
        if(lprint[nf])
	       {
				fprintf(filehandle8,"\n");
				fprintf(filehandle8,"%s\n",title[nf]);
                ifst=1;
                jfst=1;
                if(nf==1||nf==3) ifst=2;
                if(nf==2||nf==3) jfst=2;
                ibeg=ifst-l1;
				do {
					ibeg=ibeg+l1;
			        iend=ibeg+l2;
				    iend=__min(iend,l1);
        		    fprintf(filehandle8,"\n");
                    {fprintf(filehandle8,"    ");for (i=ibeg;i<=iend;i++) fprintf(filehandle8,"%9d",i);fprintf(filehandle8,"\n");}
					fprintf(filehandle8," J \n");
					jfl=jfst+m1;
					for (jj=jfst;jj<m1;jj++)
						 {
							j=jfl-jj;
							{fprintf(filehandle8,"%3d ",j);for (i=ibeg;i<=iend;i++) fprintf(filehandle8,"%9.2f",f[i][j][nf]);fprintf(filehandle8,"\n");}
						 }
			        } while (iend<l1) ;
  
		} // if lprint
	  }// for n
 }
	  

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -