计算流体力学大作业
西工大-计算流体力学大作业
计算流体力学大作业学号: 姓名:1、不可压平面流通过二维容器(如图)。
采用 简单迭代、超松弛迭代 求解 势流方程获得容器内的速势和速度分布 。
边界条件按照课本中给,即流经 A 、B 的体积流量为1。
要求: 1)推导差分方程的迭代公式;2)编写计算机程序 ; 3)绘制计算结果曲线 。
答:1)迭代公式推导对于容器中的定常流场,其支配方程为22220x yφφ∂∂+=∂∂ 求解域为下图所示矩形区域则支配方程由有限差分形式代换,得1,,1,,1,,122220()()i j i j i ji j i j i j x y φφφφφφ+-+--+-++=∆∆具有22()()x y ∆+∆的截断误差对于正方形网格,有22()()x y h ∆=∆=,则上式可改写为n=17,1,1,,1,11()4i j i j i j i j i j φφφφφ+-+-=+++若采用简单迭代公式,即Liebmann 公式,则有(1)()(1)()(1),1,1,,1,11()4n n n n n i j i j i j i j i j φφφφφ++++-+-=+++若采用超松弛迭代,即SOR 公式,则有(1)()()(1)()(1),,1,1,,1,1(1)()4n n n n n n i j i j i j i j i j i j ωφωφφφφφ++++-+-=-++++其中松弛因子12ω<<。
ω最佳值opt ω为opt ω=式中cos(/)cos(/)m n αππ=+,m ,n 分别表示在网格系统中垂直线和水平线的总数。
2)计算机程序本程序采用C 语言编写。
程序源代码如下: #include<stdio.h> #include<math.h> void main() { int m=25,n=17,ilast[17],jlast[25]; int step1,step2; double h=0.25; double psi_j[25][17],psiprv_j,vel_j[25][17],velx_j[25][17],vely_j[25][17]; double psi_c[25][17],psiprv_c,vel_c[25][17],velx_c[25][17],vely_c[25][17]; double Pi,Alpha,Omega,Error; int i,j; for(i=0;i<17;i++) jlast[i]=17; for(i=17;i<m;i++) jlast[i]=17-(i-16); for(j=0;j<9;j++) ilast[j]=25; for(j=9;j<n;j++) ilast[j]=25-(j-8); //数据初始化 for(j=0;j<n;j++) { psi_j[0][j]=1.0; psi_c[0][j]=1.0;}for(i=1;i<m;i++){psi_j[i][jlast[i]-1]=1.0;psi_c[i][jlast[i]-1]=1.0; }for(j=0;j<8;j++){psi_j[m-1][j]=1.0;psi_c[m-1][j]=1.0;}for(i=1;i<m-1;i++){if(i>6 && i<21){psi_j[i][0]=0.0;psi_c[i][0]=0.0;}else{psi_j[i][0]=1.0;psi_c[i][0]=1.0;}}for(i=1;i<m-1;i++){for(j=1;j<jlast[i]-1;j++){psi_j[i][j]=0.5;psi_c[i][j]=0.5;}}//处理右上角数据for(i=0;i<m;i++){for(j=0;j<n;j++){if(j>jlast[i]-1){psi_j[i][j]=0;vel_j[i][j]=3;psi_c[i][j]=0;vel_c[i][j]=3;}}}Pi=4.0*atan(1.0);Alpha=cos(Pi/m)+cos(Pi/n);Omega=(8.0-4*sqrt(4-pow(Alpha,2)))/pow(Alpha,2);//计算速势step1=0;step2=0;//简单迭代while(1){Error=0.0;for(i=1;i<m-1;i++){for(j=1;j<jlast[i]-1;j++){psiprv_j=psi_j[i][j];psi_j[i][j]=(psi_j[i-1][j]+psi_j[i+1][j]+psi_j[i][j-1]+psi_j[i][j+1])/4.0;Error=Error+fabs(psi_j[i][j]-psiprv_j);}}step1++;if(step1>1000)break;if(Error<=0.001)break;}//超松弛迭代while(1){Error=0.0;for(i=1;i<m-1;i++){for(j=1;j<jlast[i]-1;j++){psiprv_c=psi_c[i][j];psi_c[i][j]=(1-Omega)*psi_c[i][j]+Omega*(psi_c[i-1][j]+psi_c[i+1][j]+psi_c[i][j-1]+psi_c[i][j+1])/4.0;Error=Error+fabs(psi_c[i][j]-psiprv_c);}}step2++;if(step2>1000)break;if(Error<=0.001)break;}//计算速度for(i=0;i<m;i++){for(j=0;j<jlast[i];j++){if(j==0){vely_j[i][j]=(-3*psi_j[i][j]+4*psi_j[i][j+1]-psi_j[i][j+2])/2/h;vely_c[i][j]=(-3*psi_c[i][j]+4*psi_c[i][j+1]-psi_c[i][j+2])/2/h;}else if(j==jlast[i]-1){vely_j[i][j]=(psi_j[i][j-2]-4*psi_j[i][j-1]+3*psi_j[i][j])/2/h;vely_c[i][j]=(psi_c[i][j-2]-4*psi_c[i][j-1]+3*psi_c[i][j])/2/h;}else{vely_j[i][j]=(psi_j[i][j+1]-psi_j[i][j-1])/2/h;vely_c[i][j]=(psi_c[i][j+1]-psi_c[i][j-1])/2/h;}}}for(j=0;j<n;j++){for(i=0;i<ilast[j];i++){if(i==0){velx_j[i][j]=(-3*psi_j[i][j]+4*psi_j[i+1][j]-psi_j[i+2][j])/2/h;velx_c[i][j]=(-3*psi_c[i][j]+4*psi_c[i+1][j]-psi_c[i+2][j])/2/h;}else if(i==ilast[j]-1){velx_j[i][j]=(psi_j[i-2][j]-4*psi_j[i-1][j]+3*psi_j[i][j])/2/h;velx_c[i][j]=(psi_c[i-2][j]-4*psi_c[i-1][j]+3*psi_c[i][j])/2/h;}else{velx_j[i][j]=(psi_j[i+1][j]-psi_j[i-1][j])/2/h;velx_c[i][j]=(psi_c[i+1][j]-psi_c[i-1][j])/2/h;}}}for(i=0;i<m;i++){for(j=0;j<jlast[i];j++){vel_j[i][j]=sqrt(pow(velx_j[i][j],2)+pow(vely_j[i][j],2));vel_c[i][j]=sqrt(pow(velx_c[i][j],2)+pow(vely_c[i][j],2));}}//输出结果分布FILE *fp;fp=fopen("f:\\ESL\\YFresult.txt","w");fprintf(fp,"简单迭代结果\n");fprintf(fp,"速度势分布\n");for(j=n-1;j>=0;j--){for(i=0;i<ilast[j];i++){fprintf(fp,"%-10.6f\n",psi_j[i][j]);}}fprintf(fp,"速度分布\n");for(j=n-1;j>=0;j--){for(i=0;i<ilast[j];i++){fprintf(fp,"%-10.6f\n",vel_j[i][j]);}}fprintf(fp,"超松弛迭代结果\n");fprintf(fp,"速度势分布\n");for(j=n-1;j>=0;j--){for(i=0;i<ilast[j];i++){fprintf(fp,"%-10.6f\n",psi_c[i][j]);}}fprintf(fp,"速度分布\n");for(j=n-1;j>=0;j--){for(i=0;i<ilast[j];i++){fprintf(fp,"%-10.6f\n",vel_c[i][j]);}}fclose(fp);//输出tecplot数据FILE *fp1;fp1=fopen("f:\\ESL\\TECPLOT-result.txt","w");fprintf(fp1,"title=erwei grid\n");fprintf(fp1,"variables=x, y, psi_easy, velocity_easy, psi_SOR\n, velocity_SOR\n");fprintf(fp1,"zone t=grid,i=25,j=17,f=point\n");for(j=0;j<n;j++){for(i=0;i<m;i++){fprintf(fp1,"%-10.6f,%-10.6f,%-10.6f,%-10.6f,%-10.6f,%-10.6f\n",i*h,j*h,psi_j[i][j],vel_j[i][j],p si_c[i][j],vel_c[i][j]);}}fclose(fp1);}3)计算结果采用简单迭代,容器内的速势和速度分布速势分布(简单迭代)速度分布(简单迭代)采用超松弛迭代,容器内的速势和速度分布速势分布(SOR ) 速度分布(SOR )2、用点源(汇)分布在对称轴的源汇模拟流体绕过NACA0012旋称体的二维轴对称势流解。
《计算流体力学》作业答案
计算流体力学作业答案问题1:什么是计算流体力学?计算流体力学(Computational Fluid Dynamics,简称CFD)是研究流体力学问题的一种方法,它使用数值方法对流体流动进行数值模拟和计算。
主要包括求解流体运动的方程组,通过空间离散和时间积分等计算方法,得到流体在给定条件下的运动和相应的物理量。
问题2:CFD的应用领域有哪些?CFD的应用领域非常广泛,包括但不限于以下几个方面:1.汽车工业:CFD可以用于汽车流场的模拟和优化,包括空气动力学性能和燃烧过程等。
2.航空航天工业:CFD可以用于飞机、火箭等流体动力学性能的预测和优化,包括机身、机翼的设计和改进等。
3.能源领域:CFD可以用于燃烧、热交换等能源领域的流体力学问题求解和优化。
4.管道流动:CFD可以用于石油、化工等行业的管道流动模拟和流体输送优化。
5.空气净化:CFD可以用于大气污染物的传输和分布模拟,以及空气净化设备的设计和改进。
6.生物医药:CFD可以用于生物流体输送和生物反应过程的模拟和分析,包括血液流动、药物输送等。
问题3:CFD的数值方法有哪些?CFD的数值方法一般包括以下几种:1.有限差分法(Finite Difference Method,FDM):将模拟区域划分为网格,并在网格上离散化流体运动的方程组,利用有限差分近似求解。
2.有限体积法(Finite Volume Method,FVM):将模拟区域划分为有限体积单元,通过对流体流量和通量的控制方程进行离散化,求解离散化方程组。
3.有限元法(Finite Element Method,FEM):将模拟区域划分为有限元网格,通过对流体运动方程进行弱形式的变分推导,将流动问题转化为求解线性方程组。
4.谱方法(Spectral Method):采用谱方法可以对流体运动方程进行高精度的空间离散,通常基于傅里叶变换或者基函数展开的方式进行求解。
5.计算网格方法(Meshless Methods):不依赖网格的数值方法,主要包括粒子方法(Particle Methods)、网格自适应方法(Gridless Method)等。
计算流体力学课程大作业
《计算流体力学》课程大作业——基于涡量-流函数法的不可压缩方腔驱动流问题数值模拟张伊哲 航博1011、 引言和综述2、 问题的提出,怎样使用涡量-流函数方法建立差分格式3、 程序说明4、 计算结果和讨论5、 结论1引言虽然不可压缩流动的控制方程从形式上看更为简单,但实际上,目前不可压缩流动的数值方法远远不如可压缩流动的数值方法成熟。
考虑不可压缩流动的N-S 方程:01()P t νρ∇⋅=⎧⎪∂⎨+∇⋅=-∇+∆⎪∂⎩U UUU f U (1.1)其中ν是运动粘性系数,认为是常数。
将方程组写成无量纲的形式:01()Re P t∇⋅=⎧⎪∂⎨+∇⋅=-∇+∆⎪∂⎩U UUU f U (1.2) 其中Re 是雷诺数。
从数学角度看,不可压缩流动的控制方程中不含有密度对时间的偏导数项,方程表现出椭圆-抛物组合型的特点;从物理意义上看,在不可压缩流动中,压力这一物理量的波动具有无穷大的传播速度,它瞬间传遍全场,以使不可压缩条件在任何时间、任何位置满足,这就是椭圆型方程的物理意义。
这就造成不可压缩的N-S 方程不能使用比较成熟的发展型...偏微分方程的数值求解理论和方法。
如果将动量方程和连续性方程完全耦合求解,即使使用显示的离散格式,也将会得到一个刚性很强的、庞大的稀疏线性方程组,计算量巨大,更重要的问题是不易收敛。
因此,实际应用中,通常都必须将连续方程和动量方程在一定程度上解耦。
目前,求解不可压缩流动的方法主要有涡量-流函数法,SIMPLE 法及其衍生的改进方法,有限元法,谱方法等,这些方法各有优缺点。
其中涡量-流函数法是解决二维不可压缩流动的有效方法。
作者本学期学习了研究生计算流体课程,为了熟悉计算流体的基本方法,选择使用涡量-流函数法计算不可压缩方腔驱动流问题,并且对于不同雷诺数下的解进行比较和分析,得出一些结论。
本文接下来的内容安排为:第2节提出不可压缩方腔驱动流问题,并分析该问题怎样使用涡量-流函数方法建立差分格式、选择边界条件。
计算流体力学大作业
计算液体力学基础及应用课程期末作业-----程序调试最终版学号:134212059 姓名:徐影ContentsCFD模型示意图一、拟一维喷管理论解求解二、拟一维喷管的CFD求解三、理论值与CFD解的对比CFD模型示意图两圆弧直径为10米,喉部直径为0.59米,长为3米clear all;I=imread('xuying.png'); imshow(I)一、拟一维喷管理论解求解喷管内马赫数的变化公依赖于面积比A/A0,所以可以将Ma作为x的函数1.2.采用隐函数绘图给出理论的马赫数解gamma=1.4;h0=59/100;% 取学生学号后两位数的十分之一作喉部直径syms x Ma A_x y;% xz为x坐标,Ma为马赫数A_x=((10.59-2*sqrt(25-(x-1.5)^2))/0.59)^2;% A_x为面积系数figure('Color',[1 1 1]);set(gcf,'position',[0,0,1.5*468,468]);plot_Ma=A_x^2-(2/(gamma+1)+(gamma-1)/(gamma+1)*y^2)^((gamma+1)/(gamma-1))/y^2;subplot(1,2,1);gca=ezplot(plot_Ma,[0,3]);xlabel('x');ylabel('马赫数');title('采用隐函数求解的马赫数结果');grid on; % 得到两条曲线,由递增规律选取上升曲线段,从该曲线上得到一系列点的坐标为[x0,Ma0]load tk.mat;x_0=tk(:,1);Ma_0=tk(:,2);% 这里load的数据采用某算法从上面出的图取点拟合得到,用到polyval和polyfit函数subplot(1,2,2);plot(x_0,Ma_0);xlabel('x');ylabel('马赫数');title('马赫数的理论解');grid on;求出马赫数后,压力、密度、温度的变化都是Ma的函数,求出理论值并绘图1.2.3.p_0=(1+(gamma-1)/2*Ma_0.^2).^(-gamma/(gamma-1));rho_0=(1+(gamma-1)/2*Ma_0.^2).^(-1/(gamma-1));t_0=(1+(gamma-1)/2*Ma_0.^2).^-1;figure('Color',[1 1 1]);set(gcf,'position',[0,0,1.5*468,1.5*468]);subplot(3,1,1);plot(x_0,p_0);title('压力比理论值');xlabel('x');ylabel('p');grid on; subplot(3,1,2);plot(x_0,rho_0);title('密度比理论值');xlabel('x');ylabel('rho');grid on; subplot(3,1,3);plot(x_0,t_0);title('温度比理论值');xlabel('x');ylabel('T');grid on;二、拟一维喷管的CFD求解clear all;L=3;N=31;dx=L/(N-1);x=linspace(0,L,N);C=0.5;n=2000;student_num=59;A=((10+student_num/100-2*((25-((x-1.5).^2))).^0.5)/(student_num/100)).^2;%面积比A/A_0与x坐标的关系第一步,密度比、温度比、速度比的初始条件设定1.2.3.Rou=1-0.3146*x;rhobi=zeros(1,n);T=1-0.2314*x;V=(0.1+1.09*x).*sqrt(T);P_rou_t=zeros(size(Rou));P_v_t=zeros(size(Rou));P_T_t=zeros(size(Rou));P_rou_t_2=zeros(size(Rou));P_v_t_2=zeros(size(Rou));P_T_t_2=zeros(size(Rou));第二步,预估步第三步,并求Δt,求rou, V, T的预测量1.2.3.第四步,修正步第五步,求平均时间导数1.2.3.最后,得到t+Delta t时刻流动参数的修正值为1.2.3.第七步,边界条件处理for j=1:ntemp=Rou(16);% 第二步,预估步for i=2:30P_rou_t(i)=-V(i)*((Rou(i+1)-Rou(i))/dx)-Rou(i)*((V(i+1)-V(i))/dx)-Rou(i)*V(i)*((log(A(i+1))-log(A(i)))/dx);P_v_t(i)=-V(i)*((V(i+1)-V(i))/dx)-((T(i+1)-T(i))/dx+((Rou(i+1)-Rou(i))/dx)*T(i)/Rou(i))*1/1.4;P_T_t(i)=-V(i)*((T(i+1)-T(i))/dx)-0.4*T(i)*(((V(i+1)-V(i))/dx)+V(i)*((log(A(i+1))-log(A(i)))/dx));end% 第三步,并求Δt,求rou, V, T的预测量dt=C*(dx./(V(2:30)+sqrt(T(2:30))));dt=min(dt);Rou1(2:30)=Rou(2:30)+P_rou_t(2:30).*dt;V1(2:30)=V(2:30)+P_v_t(2:30).*dt;T1(2:30)=T(2:30)+P_T_t(2:30).*dt;V1(1)=V(1);T1(1)=T(1);Rou1(1)=Rou(1);% 第四步,修正步%for i=2:30P_rou_t_2(i)=-V1(i)*((Rou1(i)-Rou1(i-1))/dx)-Rou1(i)*((V1(i)-V1(i-1))/dx)-Rou1(i)*V1(i)*((log(A(i))-log(A(i-1)))/dx); P_v_t_2(i)=-V1(i)*((V1(i)-V1(i-1))/dx)-((T1(i)-T1(i-1))/dx+((Rou1(i)-Rou1(i-1))/dx)*T1(i)/Rou1(i))*1/1.4;P_T_t_2(i)=-V1(i)*((T1(i)-T1(i-1))/dx)-0.4*T1(i)*(((V1(i)-V1(i-1))/dx)+V1(i)*((log(A(i))-log(A(i-1)))/dx));end% 第五步,求平均时间导数P_rou_av=(P_rou_t+P_rou_t_2)/2;P_v_av=(P_v_t+P_v_t_2)/2;P_T_av=(P_T_t+P_T_t_2)/2;% 最后,得到t+Delta t时刻流动参数的修正值为Rou(2:30)=Rou(2:30)+P_rou_av(2:30).*dt;T(2:30)=T(2:30)+P_T_av(2:30).*dt;V(2:30)=V(2:30)+P_v_av(2:30).*dt;P(2:30)=Rou(2:30).*T(2:30);% 第七步,边界条件处理V(1)=2*V(2)-V(3);V(31)=2*V(30)-V(29);Rou(31)=2*Rou(30)-Rou(29);T(31)=2*T(30)-T(29);p=Rou.*T;Ma=V./sqrt(T);rhobi(j)=abs((temp-Rou(16))/temp); % 计算后一次时间步与前一时间步之间的密度比的变化情况,以此检验CFD过程收敛性质end最终结果的绘图figure('Color',[1 1 1]);set(gcf,'position',[0,0,1.2*468,1.5*468]);subplot(3,1,1);plot(1:n,rhobi);xlabel('x');ylabel('Ma');title('相对密度比');grid on;% 密度比收敛情况绘图subplot(3,1,2);plot(x,Ma);title('喷管内马赫数分布');xlabel('x');ylabel('Ma');grid on;% 马赫数CFD值绘图subplot(3,1,3);plot(x,p);title('喷管内压力分布');xlabel('x');ylabel('p');grid on; % 压力分布CFD值绘图shu=[x;A;Ma;V;T;p;Rou];显示各参量最终计算结果fprintf('%6s\t%12s\t%12s\t%12s\t%12s\t%12s\t%12s\r\n','x','A/A_0','Ma','v/v_0','T/T_0','p/p_0','rho')% 依次显示坐标点、形状参数、马赫数、速度、温度、压力的结果fprintf('%6.1f\t%12.4f\t%12.4f\t%12.4f\t%12.4f\t%12.4f\t%12.4f\r\n',shu)x A/A_0 Ma v/v_0 T/T_0 p/p_0 rho0.0 3.1709 0.1859 0.1859 1.0000 1.0000 1.00000.1 2.8156 0.2124 0.2121 0.9975 0.9915 0.99390.2 2.5056 0.2389 0.2383 0.9956 0.9847 0.98900.3 2.2361 0.2711 0.2700 0.9922 0.9728 0.98050.4 2.0030 0.3056 0.3038 0.9885 0.9602 0.97140.5 1.8022 0.3451 0.3422 0.9834 0.9433 0.95910.6 1.6303 0.3882 0.3838 0.9775 0.9234 0.94470.7 1.4844 0.4364 0.4298 0.9700 0.8989 0.92670.8 1.3617 0.4891 0.4794 0.9611 0.8701 0.90540.9 1.2600 0.5469 0.5331 0.9502 0.8362 0.88001.0 1.1771 0.6096 0.5903 0.9374 0.7974 0.85071.1 1.1116 0.6776 0.6508 0.9224 0.7536 0.81701.2 1.0620 0.7507 0.7142 0.9051 0.7053 0.77921.3 1.0273 0.8289 0.7800 0.8855 0.6532 0.73761.4 1.0068 0.9119 0.8475 0.8636 0.5982 0.69271.5 1.0000 0.9998 0.9160 0.8394 0.5416 0.64521.6 1.0068 1.0921 0.9849 0.8132 0.4847 0.59601.7 1.0273 1.1887 1.0534 0.7853 0.4288 0.54611.8 1.0620 1.2893 1.1210 0.7559 0.3753 0.49641.9 1.1116 1.3934 1.1869 0.7255 0.3250 0.44802.0 1.1771 1.5009 1.2507 0.6943 0.2788 0.40152.1 1.2600 1.6113 1.3119 0.6629 0.2371 0.35762.2 1.3617 1.7245 1.3705 0.6315 0.2001 0.31682.3 1.4844 1.8398 1.4258 0.6006 0.1678 0.27952.4 1.6303 1.9576 1.4782 0.5702 0.1400 0.24552.5 1.8022 2.0764 1.5269 0.5408 0.1163 0.21512.6 2.0030 2.1983 1.5732 0.5122 0.0962 0.1879。
计算流体力学与传热学大作业
########学院计算流体力学与传热学学号:专业:学生姓名:任课教师:教授2013年12月目录第一章验证显式格式的稳定性 (4)1.1 概述 (4)1.2 数学推导 (4)1.3 问题描述 (4)1.4 数值模拟 (4)1.5 结果及分析 (5)第二章判断肋片可以按一维问题处理的主要依据 (6)2.1 概述 (6)2.2 问题描述及算法 (6)2.3 数值模拟 (7)2.4 结果及分析 (8)第三章三层墙导热 (9)3.1 概述 (9)3.2 问题描述 (9)3.3 TDMA算法 (9)3.4 结果 (10)第四章一维无源稳态对流扩散问题 (11)4.1 公式及初值 (11)4.2 情况一 (11)4.3 情况二 (12)4.4 情况三 (13)第五章用ADI算法计算长方肋内的温度分布 (14)5.1 问题描述 (14)5.2 初始参数 (14)5.3 情况一,一列列扫 (14)5.4 情况二,一行行扫 (14)5.5 情况三,采用ADI算法 (15)5.6 结果分析 (15)参考文献 (16)第一章 验证显式格式的稳定性1.1 概述将一维非稳态热传导方程用显式格式差分化为代数方程,在求解的迭代过程中必须满足一定的条件,才能使方程收敛且结果正确。
此处即验证β≤½。
1.2 数学推导方程: 22T t T x α∂∂=∂∂(1)显式离散格式: 此处时间向前差分,空间中心差分11122n n n n ni i i i i T T T T T t x α+-+--+=∆∆1112(2)n n n n ni i i i i t T T T T T xα+-+∆-=-+∆ 令β=2tx α∆∆则: 111(2)n n n n ni i i i i T T T T T β+-+-=-+ (2)误差也应该满足上式,故:()()1()()()2()()iiiiiIkx Ikx Ik x x Ikx Ik x x n n n n nT e T e T e T e T e ψψβψψψ----∆--+∆+⎡⎤-=-+⎣⎦()()()1()12()()()iiiiIkx Ikx Ik x x Ik x x n n n nT e T e T e T e ψβψβψψ----∆-+∆+⎡⎤=-++⎣⎦()()1()12()()iiiIkx Ikx Ikxn n Ik x Ik x n T e T e e e T e ψβψβψ---+-∆∆=-++()()1()121()n Ik x Ik x nT e e T ψββψ+-∆∆=-++≤ 因此 β≤½。
计算流体力学大作业
1 提出问题[问题描述]Sod 激波管问题是典型的一类Riemann 问题。
如图所示,一管道左侧为高温高压气体,右侧为低温低压气体,中间用薄膜隔开。
t=0 时刻,突然撤去薄膜,试分析其他的运动。
Sod 模型问题:在一维激波管的左侧初始分布为:0 ,1 ,1111===u p ρ,右侧分布为:0 ,1.0 ,125.0222===u p ρ,两种状态之间有一隔膜位于5.0=x 处。
隔膜突然去掉,试给出在14.0=t 时刻Euler 方程的准确解,并给出在区间10≤≤x 这一时刻u p , ,ρ的分布图。
2 一维Euler 方程组分析可知,一维激波管流体流动符合一维Euler 方程,具体方程如下: 矢量方程:0U ft x∂∂+=∂∂ (0.1)分量方程:连续性方程、动量方程和能量方程分别是:222,,p u ρ()()()()2000u tx u u pt x x u E p E tx ρρρρ∂⎧∂+=⎪∂∂⎪⎪∂∂∂⎪++=⎨∂∂∂⎪⎪∂+⎡⎤∂⎣⎦+=⎪∂∂⎪⎩ (0.2)其中 22v u E c T ρ⎛⎫=+ ⎪⎝⎭对于完全气体,在量纲为一的形式下,状态方程为:()2p T Ma ργ∞=(0.3)在量纲为一的定义下,定容热容v c 为:()211v c Ma γγ∞=- (0.4)联立(1.2),(1.3),(1.4)消去温度T 和定容比热v c ,得到气体压力公式为:()2112p E u γρ⎛⎫=-- ⎪⎝⎭(0.5)上式中γ为气体常数,对于理想气体4.1=γ。
3 Euler 方程组的离散3.1 Jacibian 矩阵特征值的分裂Jacibian 矩阵A 的三个特征值分别是123;;u u c u c λλλ==+=-,依据如下算法将其分裂成正负特征值:()12222k k k λλελ±±+=(0.6)3.2 流通矢量的分裂这里对流通矢量的分裂选用Steger-Warming 分裂法,分裂后的流通矢量为()()()()()()()12312322232121212122f u u c u c u u c u c w γλλλργλλλγλλγλ⎛⎫⎪-++ ⎪=-+-++ ⎪ ⎪ ⎪-+-+++ ⎪⎝⎭+++++++++++(0.7)()()()()()()()12312322232121212122f u u c u c u u c u c w γλλλργλλλγλλγλ⎛⎫⎪-++ ⎪=-+-++ ⎪ ⎪ ⎪-+-+++ ⎪⎝⎭-----------(0.8)其中:()()()223321c w γλλγ±±±-+=- c 为量纲为一的声速:22Tc Ma ∞=(0.9)联立(1.3),(1.9)式,消去来流马赫数得:ργp c =3.3 一阶迎风显示格式离散Euler 方程组 10n n i i x i x i U U f f t xδδ+-++--++=∆∆ (0.10)得到()()n+1nj j 11U =U j j j j t f f f f x++---+∆⎡⎤--+-⎣⎦∆ 算法如下:① 已知初始时刻t=0的速度、压力及密度分布000,,j j j u P ρ,则可得到特征值分裂值0k λ±,从而求出流通矢量0j f ±;② 应用一阶迎风显示格式可以计算出1t t =∆时刻的组合变量1j U ,从而得到1t t =∆时刻的速度、压力及密度分布111,,j j j u P ρ;③ 利用1t t =∆时刻的速度、压力及密度分布111,,j j j u P ρ可得特征值分裂值1k λ±,从而求出流通矢量1j f ±;④ 按照步骤2的方法即可得到2t t =∆时刻的速度、压力及密度分布222,,j j j u P ρ;⑤ 循环以上过程即可得到()1t n t =+∆时刻的速度、压力及密度分布n+1n+1n+1,,j j j u P ρ。
计算流体力学大作业报告
课程综合作业课程名称: _________ 计算流体力学 ___________专业班级: _______________ 研究方向:_______________ 学生姓名: ________________ 学号:________________完成日期: _______________________________________计算流体力学课程综合报告1. 简介计算流体动力学(Computational Fluid Dynamics ,简称CFD是通过计算机数值计算和图像显示,对包含有流体流动和热传导等相关物理现象的系统所做的分析。
其基本思想为: 把原来在时间域及空间域上连续的物理量的场,如速度场和压力场,用一系列有限个离散点上的变量值的集合来代替,通过一定的原则和方式建立起关于这些离散点上场变量之间关系的代数方程组,然后求解代数方程组获得场变量的近似值。
CFD可以看作是在流动基本方程(质量守恒方程、动量守恒方程、能量守恒方程)控制下对流动的数值模拟。
通过这种数值模拟,我们可以得到极其复杂问题的流场内各个位置上的基本物理量(速度、压力、温度、浓度等)的分布,以及这些物理量随时间的变化情况,确定旋涡分布特性、空化特性及脱流区等。
还可据此算出相关的其他物理星,如旋转式流体机械的转矩、水力损失和效率等。
此外,与CAD联合,还可进行结构优化设计等。
2. 计算流体动学的特点:①流动问题的控制方程一般是非线性的,自变量多,计算域的几何形状和边界条件复杂,很难求得解析解,而用CFD方法则有可能找出满足工程需要的数值解。
②可利用计算机进行各种数值试验,例如,选择不同流动参数进行物理方程中各项有效性和敏感性试验,从而进行方案比较。
③它不受物理模型和实验模型的限制,省钱省时,有较多的灵活性,能给出详细和完整的资料,很容易模拟特殊尺寸、高温、有毒、易燃等真实条件和实验中只能接近而无法达到的理想条件。
④数值解法是一种离散近似的计算方法,依赖于物理上合理、数学上适用、适合于在计算机上进行计算的离散的有限数学模型,且最终结果不能提供任何形式的解析表达式,只是有限个离散点上的数值解,并有一定的计算误差。
计算流体力学大作业sod激波管
Байду номын сангаас
•
Γ
S
无源:SΦ=0;稳态:非稳态项=0,简化为:
d u d Γ d
dx dx dx
方程离散化
对简化后的控制方程在目标节点所在的控制容积内积分:
e
w
du
dx
dx
e
w
d dx
Γ
d
dx
dx
扩散项采用中心差分,得:
u
e
u w
Γe x
E
P
Γe x
P W
PE
WP
记对流强度F=ρu,扩散传导性D=Γ/Δx。Fe=(ρu)e,Fw=(ρu)w;De=Γe/ΔxPE, Dw=Γw/ΔxWP。针对本问题,采用均匀网格,Fe=Fw=ρu,De=Dw=Γ/Δx。代入 上式,得到:
300 continue write(4,*)bb-deltx/2,upfai(M) close(unit = 4)
(3)网格数n=20;u=2.0m/s(Pe=1.0,F=2.0,D=2.0)
离散方程满足守恒性、有界 性和输运性三个物理特征。数据 显示,混合格式的结果与中心差 分的结果一致,相较于一阶上风 格式误差较小,因为该情况下扩 散占的比重较对流大,一阶上风 会过高估计上游信息对下游的影 响。
1.内节点法:
(1)网格数n=5;u=0.1m/s(Pe=0.2,F=0.1,D=0.5)
节点 位置
表1 u=0.1m/s,Δx=0.2m结果对比表
数值解与误差率
解析解
中心差分
误差率
一阶上风 误差率
混合
误差率
1
x=0.1
0.9388
0.9421
北航计算流体力学大作业题目及分析
无反射边界条件方法
• Thompson特征边界条件(一维到高维) • Giles无反射边界条件(二维) • 要求:要阐述清楚以上两种无反射边界条 件方法的原理以及推导过程,并利用文献 中的算例说明各种边界条件定义方法对模 拟结果的影响
• • • • 当地时间步长方法 残差光顺法 多重网格方法 低速预处理方法
• 要求:三种方法的原理、数值方法、适用 性等要阐述清楚,要有文献的算例和分析
网格生成方法及网格质量控制
• 结构化网格生成方法 • 非结构网格生成方法
• 网格类型及网格质量对模拟结果准确性的 影响分析
• 要求:要阐述清楚常用的网格生成方法, 对网格质量对模拟结果的影响要利用文献 的算例进行分析
通量差分分裂格式
• • • • Riemann问题及近似Riemann解 Godnov格式 Roe格式 膨胀激波问题、Carbuncle问题(运动强激 波的计算不稳定问题)、以及熵修正方法
• 要求:要阐述清楚格式的构造思路和方法、 格式的特点、与其它类型通量格式的计算 比较等
对流迎风分裂格式
• AUSM格式(Liou M.S.)
– 格式构造的思想 – AUSM、AUSMD/P格式(Jameson)
– SLIP格式、CUSP格式、…… – LED概念
• 要求:要阐述清楚格式的构造思路和方法、 格式的特点、与其它类型通量格式的计算 比较等
通量计算的高精度格式
• ENO、WENO概念及格式 • 间断Galerkin方法 • 拟谱方法
– Spectral Difference – Spectral Volume – Penalty Lifting method
计算流体力学大作业
计算流体力学大作业流体力学是研究流体运动和力学性质的物理学分支,广泛应用于各个领域,例如天气预报、航空航天工程、水力工程等。
本文将介绍流体力学的基本概念,并结合具体的应用案例进行分析和计算。
首先,我们来了解流体力学的一些基本概念。
流体是一种由分子或离子组成的具有流动性质的物质,包括气体和液体。
流体力学研究流体的运动规律和受力情况。
流体力学的研究对象主要包括流体的运动状态、速度场、压力场和力学性质。
流体力学的基本方程包括质量守恒方程、动量守恒方程和能量守恒方程。
质量守恒方程描述了流体质量的守恒原则,即流体的质量既不会凭空消失也不会凭空增加。
动量守恒方程描述了流体的动量守恒原则,即流体在受力作用下会改变其速度和方向。
能量守恒方程描述了流体的能量守恒原则,即流体在受力作用下会改变其热能和动能。
接下来,我们将结合具体的应用案例进行流体力学的计算。
以水力工程为例,假设有一个水泵,流入口直径为15厘米,流出口直径为10厘米,水泵的转速为2000转/分钟。
我们需要计算水泵的流量和水速。
首先,我们可以使用质量守恒方程来计算流量。
根据质量守恒方程,流体的质量流量是恒定的。
我们可以根据流入口和流出口的横截面积和水速来计算质量流量。
假设流入口的水速为v1,流出口的水速为v2,流入口的横截面积为A1,流出口的横截面积为A2,则有以下公式:质量流量1=质量流量2ρ*A1*v1=ρ*A2*v2其中,ρ为水的密度,A1和A2分别为流入口和流出口的横截面积,v1和v2分别为流入口和流出口的水速。
我们可以通过这个公式计算出水泵的流量。
其次,我们可以使用动量守恒方程来计算水速。
根据动量守恒方程,流体在受力作用下会改变其速度和方向。
假设水泵在流出口施加了一个压力,我们可以通过动量守恒方程来计算出水速。
假设流入口的速度为v1,流出口的速度为v2,流入口的压力为P1,流出口的压力为P2,则有以下公式:ρ*A1*v1+P1=ρ*A2*v2+P2其中,ρ为水的密度,A1和A2分别为流入口和流出口的横截面积,v1和v2分别为流入口和流出口的水速,P1和P2分别为流入口和流出口的压力。
流体力学大作业计算题答案-2
一.选择题1.牛顿内摩擦定律适用于()。
A.任何流体B.牛顿流体C.非牛顿流体2.液体不具有的性质是()。
A.易流动性B.压缩性C.抗拉性D.粘滞性3.连续介质假定认为流体()连续。
A.在宏观上B.在微观上C.分子间D.原子间4.在国际单位制中流体力学基本量纲不包括()。
A.时间B.质量C.长度D.力.5.在静水中取一六面体,作用在该六面体上的力有() A.切向力、正压力B.正压力 C.正压力、重力 D.正压力、切向力、重力6.下述哪些力属于质量力 ( ) ( ) A.惯性力B.粘性力C.弹性力D.表面张力 E.重力7.某点存在真空时,()() A.该点的绝对压强为正值B.该点的相对压强为正值 c.该点的绝对压强为负值D.该点的相对压强为负值8.流体静压强的()。
A.方向与受压面有关 B.大小与受压面积有关 B.大小与受压面方位无关9.流体静压强的全微分式为()。
A.B.C.10.压强单位为时,采用了哪种表示法()。
A.应力单位B.大气压倍数C.液柱高度11.密封容器内液面压强小于大气压强,其任一点的测压管液面()。
A.高于容器内液面B.低于容器内液面C.等于容器内液面12.流体运动的连续性方程是根据()原理导出的。
A.动量守恒 B. 质量守恒 C.能量守恒 D. 力的平衡13. 流线和迹线重合的条件为()。
A.恒定流 B.非恒定流 C.非恒定均匀流14.总流伯努利方程适用于()。
A.恒定流 B.非恒定流 C.可压缩流体15. 总水头线与测压管水头线的基本规律是:()、() A.总水头线总是沿程下降的。
B.总水头线总是在测压管水头线的上方。
C.测压管水头线沿程可升可降。
D.测压管水头线总是沿程下降的。
16 管道中液体的雷诺数与()无关。
A. 温度 B. 管径 C. 流速 D. 管长17.某圆管直径d=30mm,其中液体平均流速为20cm/s。
液体粘滞系数为0.0114cm3/s,则此管中液体流态为()。
计算流体力学大作业
剪切波速(m/s) 130 220 420 800
图 1 框架结构平面和立面图(单位:mm)
附
录
水平地震影响系数最大值
特征周期表 (s)
地震影响系数曲线
2 max
(
0.45 max
Tg T ) 2 max
[2 0.2 1 (T 5Tg )]max
0 0 .1
e(i)=-exp(-0.05*w(i)*0.02)*(w(i)/sqrt(1-0.05^2)*sin(wd(i)*0.02)); f(i)=exp(-0.05*w(i)*0.02)*(cos(wd(i)*0.02)-0.05/sqrt(1-0.05^2)*sin(wd(i)*0.02) ); g(i)=(-1/0.02+exp(-0.05*w(i)*0.02)*((w(i)/sqrt(1-0.05^2)+0.05/(0.02*sqrt(1-0.0 5^2)))*sin(wd(i)*0.02)+cos(wd(i)*0.02)/0.02))/K(i); h(i)=(1-exp(-0.05*w(i)*0.02)*(0.05/sqrt(1-0.05^2)*sin(wd(i)*0.02)+cos(wd(i)*0 .02)))/(0.02*K(i)); C=-M(i)*D; end for i=1:3 for j=2:2503 WY(1,i)=Y0; SD(1,i)=V0; C(1,i)=0; WY(j,i)=c(i)*C(j-1,i)+d(i)*C(j,i)+a(i)*WY(j-1,i)+b(i)*SD(j-1,i); SD(j,i)=g(i)*C(j-1,i)+h(i)*C(j,i)+e(i)*WY(j-1,i)+f(i)*SD(j-1,i); end end A1=[V(1,1);V(2,1);V(3,1)]; A2=[V(1,2);V(2,2);V(3,2)]; A3=[V(1,3);V(2,3);V(3,3)]; for j=1:2503 wy=WY(j,1)*A1+WY(j,2)*A2+WY(j,3)*A3; y1(j)=wy(1,1); y2(j)=wy(2,1); y3(j)=wy(3,1); end x=0:0.02:0.02*2502; figure(1) plot(x,y1) xlabel('振动时间 /s','FontSize',12) ylabel('第一层位移 /m','FontSize',12) title('1940El Centro ( NS) 地震动作用下结构的动力时程反应分析 ','FontName',' 隶书 ','FontSize',12) figure(2) plot(x,y2) xlabel('振动时间 /s','FontSize',12) ylabel('第二层位移 /m','FontSize',12) title('1940El Centro ( NS) 地震动作用下结构的动力时程反应分析 ','FontName',' 隶书 ','FontSize',12) figure(3)
计算流体力学课程作业
计算流体力学大作业——有限差分法解Poisson 方程五点格式解区域内Poisson 方程摘要:本文结合计算流体力学课上所学知识,采用数值解法中的有限差分法求解Poisson 方程(偏微分方程中椭圆型方程的一种),并用其五点格式采用高斯—塞德尔(Gauss-Seidel )迭代求解。
并比较了数值近似解与真实解,以及不同步长情况下误差的大小,得到了一定的结论。
关键词:Poisson 方程 有限差分法 五点格式一、计算流体流体力学的特点计算流体力学中许多问题求解最终都会变成偏微分方程的求解,而在数学上,除了几种极少数情况外,要求出它们精确解是很难的。
计算机技术的发展使得这一难题的一很好地解决。
二、偏微分方程的种类2.1、 椭圆型偏微分方程椭圆型偏微分方程的一般形式为()(,)div c u au f x t -∇+= 其中:若12(,,,,)(,)n u u x x x t u x t ==,u ∇为u 的梯度,则其定义为 12,,,n u u x x x ⎡⎤∂∂∂∇=⎢⎥∂∂∂⎣⎦ 散度()div v 的定义为12()n div v v x x x ⎛⎫∂∂∂=+++ ⎪∂∂∂⎝⎭这样,()div c u ∇可以更明确地表示为1122()n n u u u div c u c c c x x x x x x ⎡⎤⎛⎫⎛⎫⎛⎫∂∂∂∂∂∂∇=+++⎢⎥ ⎪ ⎪ ⎪∂∂∂∂∂∂⎝⎭⎝⎭⎝⎭⎣⎦若c 为常数,则进一步化简为 22222212()n div c u c u c u x x x ⎛⎫∂∂∂∇=+++=∆ ⎪∂∂∂⎝⎭其中,∆又称为Laplace 算子。
这样椭圆型偏微分方程可以简单地写为22222212(,)n c u au f x t x x x ⎛⎫∂∂∂-++++= ⎪∂∂∂⎝⎭2.2、抛物型偏微分方程抛物型偏微分方程的一般形式为 ()(,)u d div c u au f x t t∂-∇+=∂ 根据上面叙述,若c 为常数,则该方程可以更简单地写为22222212(,)n u d c u au f x t t x x x ⎛⎫∂∂∂∂-++++= ⎪∂∂∂∂⎝⎭ 2.3、双曲型偏微分方程双曲型偏微分方程的一般形式为22()(,)u d div c u au f x t t∂-∇+=∂ 若c 为常数,则可以将该方程简化为2222222212(,)n u d c u au f x t t x x x ⎛⎫∂∂∂∂-++++= ⎪∂∂∂∂⎝⎭三类方程的直接的区别在于u 对t 的导数的阶次。
流体力学大作业二
(1)以给水管道经济流速确定各管段直径。
(2)计算各管段水头损失,选某一段列式计算,其余列表,见下表
(3)确定水塔水面高程
管段
管长l(m)
流量Q(L/s)
管径d(mm)
流速v(m/s)
流量模数K(L/s)
水头损失hf(m)
0-1
1-5
5-6
1-2
2-3
3-4
注意:应写清所有步骤。
某分支管网布置如图所示已知水塔地面高程为60m4点出口地面高程为10m6点出口地面高程为12m4点自由水头都为8m
“有压管的设计计算”大作业
姓名:
学号:
专业班级:
成绩:
教师评语:ห้องสมุดไป่ตู้
年月日
某分支管网布置如图所示,已知水塔地面高程为6.0m,4点出口地面高程为10m,6点出口地面高程为12m,4点和6点自由水头都为8m。各管段长度为l01=200mm,l12=100mm,l23=300mm,l34=80mm,l15=80mm,l56=150mm,全部管路采用铸铁管。试设计各管段管径及水塔所需高度。
北航计算流体力学大作业
汽车气动特性分析1.汽车模型图1为原设计图,图2为二维简化模型示意图:图 1 汽车模型设计图图 2 简化模型示意图2. 题目要求流体属性:空气静温T=300K 、静压Pa p 510015.1⨯=、气体常数R=8314./29.、比热比4.1=γ,只计算层流。
(1)工况一:汽车在地面行驶,速度分别为:12、120、240km/h ,对应马赫数取为Ma = 0.01、0.1、0.2。
(2)工况二:假设汽车在天空飞行,速度分别为:Ma = 0.2、0.8、2.0。
(3)分别采用基于密度的算法和基于压力的算法。
输出结果:(1)网格生成推荐采用ICEM ,要求在Tecplot 中显示温度场、压力场、马赫数分布、流线图;(2)对比分析当Ma = 0.2时工况1和工况2流场的差别。
(3)对于工况二,Ma = 2.0,基于密度的算例在原网格(大约100*80)基础上加密1倍(200*160),分析网格对计算结果的影响。
(4)比较采用基于密度的算法和基于压力的算法的收敛情况。
(5)分析汽车的阻力和升力随行驶速度的变化规律。
(6)在完成二维计算的基础上,尝试采用三维模型计算可获得加分(工况1或者工况2,Ma = 0.2)。
3. 输出结果3.1. 工况一网格如图3所示(140*80):图 3 工况一网格3.1.1.温度场图 4 基于密度0.01马赫图 5 基于密度0.1马赫图 6 基于密度0.2马赫注:初始温度设置为300K 图7 基于压力0.01马赫图8 基于压力0.1马赫图9 基于压力0.2马赫3.1.2.压力场图10 基于密度0.01马赫图11 基于密度0.1马赫图12 基于密度0.2马赫注:初始压强设置为101325Pa 图13 基于压力0.01马赫图14 基于压力0.1马赫图15 基于压力0.2马赫3.1.3.马赫数分布图16 基于密度0.01马赫图17 基于密度0.1马赫图18 基于密度0.2马赫图19 基于压力0.01马赫图20 基于压力0.1马赫图21 基于压力0.2马赫3.1.4.流线图图22 基于密度0.01马赫图23 基于密度0.1马赫图24 基于密度0.2马赫图25 基于压力0.01马赫图26 基于压力0.1马赫图27 基于压力0.2马赫3.2.工况二网格如图28所示(100*80):图28 工况二网格(计算结果图见下一页)3.2.1.温度场图29 基于密度0.2马赫图30 基于密度0.8马赫图31 基于密度2马赫注:初始温度设置为300K 图32 基于压力0.2马赫图33 基于压力0.8马赫图34 基于压力2马赫3.2.2.压力场图35 基于密度0.2马赫图36 基于密度0.8马赫图37 基于密度 2.0马赫注:初始压强设置为101325Pa 图38 基于压力0.2马赫图39 基于压力0.8马赫图40 基于压力 2.0马赫3.2.3.马赫数分布图41 基于密度0.2马赫图42 基于密度0.8马赫图43 基于密度 2.0马赫图44 基于压力0.2马赫图45 基于压力0.8马赫图46 基于压力 2.0马赫3.2.4.流线图图47 基于密度0.2马赫图48 基于密度0.8马赫图49 基于密度 2.0马赫图50 基于压力0.2马赫图51 基于压力0.8马赫图52 基于压力 2.0马赫3.3.对比分析当Ma = 0.2时工况1和工况2流场的差别3.4.对于工况2,Ma = 2.0,基于密度的算例在原网格(大约100*80)基础上加密1倍(200*160),分析网格对计算结果的影响网格对比如下:图53 100*80网格图54 200*160网格计算结果如下所示:总结:加密网格后结果的连续性较差。
中科大计算流体力学CFD之大作业一
中科大计算流体力学CFD之大作业一中科大计算流体力学CFD之大作业一中科大计算流体力学(CFD)课程是一门非常实践性的课程,着重于学生对流体流动过程的数值模拟和分析。
在课程结束前的大作业一是一个很好的机会,通过完成一个真实流体力学问题的数值模拟,学生可以将所学的知识应用到实际的问题中,提高对流体流动过程的理解。
我选择的大作业一是模拟一个风扇在房间中的空气流动。
这是一个常见的问题,也是一个比较复杂的数值模拟任务。
通过模拟风扇产生的气流,我们可以了解风扇的性能,以及气流对房间内温度和空气质量的影响。
在开始模拟之前,首先需要确定模拟的几何模型。
我选择了一个具有一个大门和一个窗户的简单房间模型。
这个模型符合实际情况,而且不会太复杂,方便进行数值模拟。
接下来,需要确定模拟中的物理模型和边界条件。
根据风扇产生的气流特性,我采用了湍流模型,并对大门和窗户设置了适当的进出口边界条件。
接下来是最关键的一步,即选择和优化数值模拟的方法。
我使用了基于有限体积法的求解器,在计算网格上进行离散,将房间划分为小的网格单元。
然后,我对求解器的算法和网格进行了优化,以提高计算效率和精度。
通过进行一系列的数值实验,我成功地优化了数值模拟方法,并获得了较为准确的结果。
最后,我对模拟结果进行了分析和讨论。
通过对不同位置和高度的温度和速度分布进行分析,我得出了以下结论:风扇对房间中的温度和空气质量有着显著影响;风扇的位置和角度对气流的分布和速度分布有着重要影响;房间的尺寸和几何形状也会对气流分布产生影响。
通过完成这个大作业一,我不仅提高了CFD方法的理论知识,还掌握了实际应用的技能。
在模拟中,我还学习了如何进行参数优化和结果分析。
最重要的是,我进一步认识到了流体力学的复杂性和重要性。
总之,中科大计算流体力学(CFD)大作业一是一次非常有意义的学习经历。
通过模拟一个风扇在房间中的空气流动,我不仅巩固了所学的知识,还学会了如何应用这些知识解决实际问题。
计算流体力学大作业
南京理工大学动力工程学院计算流体力学大作业题目基于Fluent的小口径炮弹流体动力学分析专业姓名学号电话成绩年月日基于Fluent的小口径炮弹流体动力学分析摘要小口径火炮武器系统广泛应用于陆军、海军和空军,用于野战防空、要地防空、舰船防空和飞机空中近距格斗。
本文以小口径炮弹为研究对象,对其进行了飞行过程中的流体动力学分析,对其控制方程进行了分析,最后利用ANSYS软件的Fluent模块对其在来流马赫数为2.5,迎角为5度的情况时的空气绕流情况进行了仿真分析,得到了炮弹的阻力系数和升力系数变换图、速度矢量图、流线绕流图和弹的压力分布图,并对所得到的结果进行了分析,得出了一些结论。
这对以后小口径炮弹的改进有很大的帮助。
关键词:小口径火炮仿真 Fluent1、引言小口径速射火炮是抗击中低空飞机、直升机、巡航导弹、战役战术导弹的重要武器装备,是形成弹幕、终端毁伤来袭武器以保卫重要目标的最后一道屏障。
随着战场条件和目标特性的变化,对近程防空反导武器提出了新的需求,在国内外现有小口径速射火炮武器系统的基础上,分析高射速发射火炮武器系统的特点,分析炮弹在出炮口后的飞行流体动力学特性有非常重要的意义。
小口径速射火炮【1】,涵盖23mm、25mm、30mm、35mm、37mm等口径,发射方式涵盖转管发射(多管转管自动机、多转管自动机共架)、转膛发射、双管联动、并行发射及电控串行发射(“金属风暴”)等。
随着技术的进步,小口径速射火炮性能突飞猛进,瞬时射速达到几万~几十万发/min。
其中,射速为1000~8000发/min的小口径火炮发射、弹药技术等技术群称为“高射速发射技术”;而发射速度达到8000发/min以上的小口径火炮发射技术、弹药技术等技术群则称为“超高射速发射技术”。
高射速发射技术,由小口径火炮武器系统的雷达、光电等传感器跟踪来袭目标,计算机解算,指挥火炮,发射密集弹丸形成弹幕,击落穿过中远程防空火力的“漏网者”,有效保卫重要目标、战略要地、机动部队和二次打击能力,是抗击巡航导弹、空地导弹、反舰导弹、制导炸弹以及无人飞机等攻击的有效屏障。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1 提出问题[问题描述]Sod 激波管问题是典型的一类Riemann 问题。
如图所示,一管道左侧为高温高压气体,右侧为低温低压气体,中间用薄膜隔开。
t=0 时刻,突然撤去薄膜,试分析其他的运动。
Sod 模型问题:在一维激波管的左侧初始分布为:0 ,1 ,1111===u p ρ,右侧分布为:0 ,1.0 ,125.0222===u p ρ,两种状态之间有一隔膜位于5.0=x 处。
隔膜突然去掉,试给出在14.0=t 时刻Euler 方程的准确解,并给出在区间10≤≤x 这一时刻u p , ,ρ的分布图。
2 一维Euler 方程组分析可知,一维激波管流体流动符合一维Euler 方程,具体方程如下: 矢量方程:0U ft x∂∂+=∂∂ (0.1)分量方程:连续性方程、动量方程和能量方程分别是:222,,p u ρ()()()()2000u tx u u pt x x u E p E tx ρρρρ∂⎧∂+=⎪∂∂⎪⎪∂∂∂⎪++=⎨∂∂∂⎪⎪∂+⎡⎤∂⎣⎦+=⎪∂∂⎪⎩ (0.2)其中 22v u E c T ρ⎛⎫=+ ⎪⎝⎭对于完全气体,在量纲为一的形式下,状态方程为:()2p T Ma ργ∞=(0.3)在量纲为一的定义下,定容热容v c 为:()211v c Ma γγ∞=- (0.4)联立(1.2),(1.3),(1.4)消去温度T 和定容比热v c ,得到气体压力公式为:()2112p E u γρ⎛⎫=-- ⎪⎝⎭(0.5)上式中γ为气体常数,对于理想气体4.1=γ。
3 Euler 方程组的离散3.1 Jacibian 矩阵特征值的分裂Jacibian 矩阵A 的三个特征值分别是123;;u u c u c λλλ==+=-,依据如下算法将其分裂成正负特征值:()12222k k k λλελ±±+=(0.6)3.2 流通矢量的分裂这里对流通矢量的分裂选用Steger-Warming 分裂法,分裂后的流通矢量为()()()()()()()12312322232121212122f u u c u c u u c u c w γλλλργλλλγλλγλ⎛⎫⎪-++ ⎪=-+-++ ⎪ ⎪ ⎪-+-+++ ⎪⎝⎭+++++++++++(0.7)()()()()()()()12312322232121212122f u u c u c u u c u c w γλλλργλλλγλλγλ⎛⎫⎪-++ ⎪=-+-++ ⎪ ⎪ ⎪-+-+++ ⎪⎝⎭-----------(0.8)其中:()()()223321c w γλλγ±±±-+=- c 为量纲为一的声速:22Tc Ma ∞=(0.9)联立(1.3),(1.9)式,消去来流马赫数得:ργp c =3.3 一阶迎风显示格式离散Euler 方程组 10n n i i x i x i U U f f t xδδ+-++--++=∆∆ (0.10)得到()()n+1nj j 11U =U j j j j t f f f f x++---+∆⎡⎤--+-⎣⎦∆ 算法如下:① 已知初始时刻t=0的速度、压力及密度分布000,,j j j u P ρ,则可得到特征值分裂值0k λ±,从而求出流通矢量0j f ±;② 应用一阶迎风显示格式可以计算出1t t =∆时刻的组合变量1j U ,从而得到1t t =∆时刻的速度、压力及密度分布111,,j j j u P ρ;③ 利用1t t =∆时刻的速度、压力及密度分布111,,j j j u P ρ可得特征值分裂值1k λ±,从而求出流通矢量1j f ±;④ 按照步骤2的方法即可得到2t t =∆时刻的速度、压力及密度分布222,,j j j u P ρ;⑤ 循环以上过程即可得到()1t n t =+∆时刻的速度、压力及密度分布n+1n+1n+1,,j j j u P ρ。
4 计算结果分析实际编程中,空间步长取0.001,空间网格数为1001,时间步长取0.00001,计算到终点时刻0.14s耗费机时137s,计算时间还是可以接受的。
分析图4-1~4-3,可以观察到在隔膜附近流动参数变化剧烈,与初始条件相比,可以看出激波的影响范围有限,始终在[0.3,0.75]x 区间内变化。
图4-1是0.14时刻的密度分布图,观察可知,在密度波的传播过程中,间断面上会出现了两次“沉降”,说明密度在沉降位置发生了剧烈变化。
图4-2是0.14时刻的压力分布图,在压力波的传播过程中,在间断面上出现了一个“压力沉降”现象,说明压力在沉降位置突降。
图4-3是0.14时刻的速度分布图,在间断面处产生一个向两边运动的速度,并且只有在隔膜附近才有气体流动,其他地方静止。
图4-1激波管内密度分布图(0.14s)图4-2激波管内压力分布图(0.14s)图4-3激波管内速度分布图(0.14s)源程序代码:Ⅰ分量和矩阵结合编写的源程序:function sobtubing_SW()tic;close allee=1e-8;%%%%%%%%%%%划分时空网格%%%%%%%%%%%delta_t=0.00001;Nt=round(0.14/delta_t);delta_x=0.001;N_left=round(0.5/delta_x+1);N_right=round(0.5/delta_x+1)N=N_left+N_right-1;%1%%%%%%%%%初始条件%%%%%%%%%%%%%%%P=[ones(1,N_left-1) 0.1*ones(1,N_right)];Den=[ones(1,N_left-1) 0.125*ones(1,N_right)];u=zeros(1,N);gama=1.4;Den_u=Den.*u;E=P./(gama-1) +(0.5*u.^2).*Den;%%%%%%%%%%%计算特征值分裂%%%%%%%%%%%%for j=1:Ntepso=1e-8*ones(1,N);gama=1.4;C=sqrt(gama*P./Den);lamta=ones(3,N);lamta_p=ones(3,N);lamta_n=ones(3,N);lamta(1,:)=u; lamta(2,:)=u-C; lamta(3,:)=u+C;for i=1:3lamta_p(i,:)=0.5*(lamta(i,:)+sqrt(lamta(i,:).^2+epso.^2)); lamta_n(i,:)=0.5*(lamta(i,:)-sqrt(lamta(i,:).^2+epso.^2));end%%%%%%%%%%%%%%计算正通量%%%%%%%%%%%%%%%gama=1.4;C=sqrt(gama*P./Den);Ftran_p=ones(3,N);f1_Pos=0.5/gama*Den.*(2*(gama-1)*lamta_p(1,:)+lamta_p(2,:)+lamta_p(3, :));f2_Pos=0.5/gama*Den.*(2*(gama-1)*lamta_p(1,:).*u+lamta_p(2,:).*(u-C)+ lamta_p(3,:).*(u+C));f3_Pos=0.5/gama*Den.*((gama-1)*lamta_p(1,:).*u.^2+0.5*lamta_p(2,:).*( u-C).^2 ...+0.5*lamta_p(3,:).*(u+C).^2+(0.5*(3-gama)/(gama-1)*(lamta_p(2,:)+lamt a_p(3,:)).*C.^2));%%%%%%%%%%%%%%计算负通量%%%%%%%%%%%%%%%gama=1.4;C=sqrt(gama*P./Den);f1_Neg=0.5/gama*Den.*(2*(gama-1)*lamta_n(1,:)+lamta_n(2,:)+lamta_n(3, :));f2_Neg=0.5/gama*Den.*(2*(gama-1)*lamta_n(1,:).*u+lamta_n(2,:).*(u-C)+ lamta_n(3,:).*(u+C));f3_Neg=0.5/gama*Den.*((gama-1)*lamta_n(1,:).*u.^2+0.5*lamta_n(2,:).*( u-C).^2 ...+0.5*lamta_n(3,:).*(u+C).^2+(0.5*(3-gama)/(gama-1)*(lamta_n(2,:)+lamt a_n(3,:)).*C.^2));%%%%%%%%%%%%%%计算流动参数%%%%%%%%%%%%%%for i=2:N-1%密度计算temp1(1,i) = (f1_Pos(1,i) - f1_Pos(1,i-1)) / delta_x;temp2(1,i) = (f1_Neg(1,i+1) - f1_Neg(1,i)) / delta_x;Den(1,i) = Den(1,i) - delta_t*(temp1(1,i) + temp2(1,i));% 密度、速度乘积计算temp1(1,i) = (f2_Pos(1,i) - f2_Pos(1,i-1)) / delta_x;temp2(1,i) = (f2_Neg(1,i+1) - f2_Neg(1,i)) /delta_x;Den_u(1,i) = Den_u(1,i) - delta_t*(temp2(1,i) + temp1(1,i));% 速度计算u(1,i) = Den_u(1,i) / Den(1,i);% 能量计算temp1(1,i) = (f3_Pos(1,i) - f3_Pos(1,i-1)) /delta_x;temp2(1,i) = (f3_Neg(1,i+1) - f3_Neg(1,i)) /delta_x;E(1,i) = E(1,i) - delta_t*(temp2(1,i) + temp1(1,i));% 压强计算P(1,i) = (gama - 1)*(E(1,i) - 0.5*Den(1,i)*u(1,i)^2);endend%结果显示x=0:0.001:1;axis([0 1 0 1]);plot(x,u,'LineWidth',2);xlabel('\fontsize{14}x');ylabel('\fontsize{14}速度V');figure(2);plot(x,P,'LineWidth',2);xlabel('\fontsize{14}x');ylabel('\f ontsize{14}压力P')figure(3);plot(x,Den,'LineWidth',2);xlabel('\fontsize{14}x');ylabel(' \fontsize{14}密度ρ')Calculate_time=toc。