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

📄 nozzle.cpp

📁 C语言实现二维无粘欧拉方程的求解
💻 CPP
字号:
#include "iostream.h"
#include "stdio.h"
#include "math.h"
#include "mesh.h"
#include "define.h"
#include "Initialize.h"
#include "COM_U.h"
#include "Boundary.h"

void main()
{
	double coordinate_x[N+4][M+4],coordinate_y[N+4][M+4];
	double Area[N+3][M+3],L_x[N+4][M+3],L_y[N+4][M+3],H_x[N+3][M+4],H_y[N+3][M+4];
	double U[4][N+3][M+3];
	double u,min,mout;
	double rfa[5]={rfa1,rfa2,rfa3,rfa4,rfa5};
	
	int i,j,n;
	FILE *fp;
	if((fp=fopen("Nozzle.dat","w"))==NULL)
		cout<<"can't open file!"<<endl;
	fprintf(fp,"ZONE F=POINT I=%d J=%d\n",M-1,N-1);

////////////////////////////////////////////////////////////////////////////////////////////////
	mesh(coordinate_x,coordinate_y,Area,L_x,L_y,H_x,H_y);
	Initialize(U);
	for(i=0;i<step;i++)
	{
		min=mout=0.0;
		Boundary(U,Area,L_x,L_y,H_x,H_y);
		//for(j=0;j<5;j++)
		//{
			
			COM_U(U,1.0,Area,L_x,L_y,H_x,H_y);
		//}
		for(n=2;n<N+1;n++)
		{
			min+=U[1][n][2]*H_x[n][2];
			mout+=U[1][n][M]*H_x[n][M+1];
		}
		cout<<"i="<<i<<endl;
		cout<<min<<"    "<<mout<<endl;
	}
///////////////////////////////////////////////////////////////////////////////////////////////
	
	for(i=2;i<N+1;i++)
	{
		for(j=2;j<M+1;j++)
		{
			u=sqrt(pow(U[1][i][j]/U[0][i][j],2)+pow(U[2][i][j]/U[0][i][j],2));
			fprintf(fp,"%f   %f   %f   %f   %f    %f\n",coordinate_x[i][j],coordinate_y[i][j],
				    U[0][i][j],U[1][i][j]/U[0][i][j],U[2][i][j]/U[0][i][j],
					u/sqrt(k*(k-1)*(U[3][i][j]/U[0][i][j]-u*u/2)));
		}
	}
	fclose(fp);
}

⌨️ 快捷键说明

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