中科大计算流体力学CFD之大作业一
计算流体力学大作业

计算流体⼒学⼤作业管壳式换热器壳程流动传热数值模拟机械与动⼒⼯程学1.问题描述⼀⼯业⽤换热器,功能是加热壳程介质。
管程流体为上⼀⼯段的⾼温废液。
近似认为废液在管内流动时,管壁温度恒定。
2.软件环境表1 软件环境前处理软件计算软件后处理软件Gambit2.3.6/Pro-e ANSYS-Fluent15.0 Fluent15.0其他软件如截图⼯具,图⽚编辑软件等不逐⼀列举。
3.模型建⽴表2 换热器⼏何参数折流板尺⼨依据GB151选取。
在gambit中建⽴壳程流体的⽔⼒模型,建模时进⾏必要的简化,忽略折流板和壳体之间的间隙,忽略定距管和拉管。
从观察中可以看出管壳式换热器是左右对称的装置,为了减少计算的时间,提⾼⼯作的效率,可以去对称的⼀半进⾏计算,然后由软件处理得到结果。
图1 ⼏何模型4.⽹格划分⽹格总数1649730。
折流板之间的流动区域选⽤⾮结构化⽹格,以便于⽹格划分。
⽹格质量检查复合要求。
图2 ⽹格模型由于本⽂只需得到壳程的⼤致流动情况,不要要精确解,因此为了节约⽹格划分⼯作量,没有划分边界层⽹格。
图3⽹格局部放⼤5.边界条件设置表3 边界条件设置进⼝流速取2m/s,分别取壳程⾛空⽓和⽔两种介质,⽐较壳程流体对传热的影响。
打开能量⽅程;湍流模拟采⽤k-ε⽅程;迭代求解⽅法默认。
6.计算结果当壳程⾛⽔时,出⼝温度为323K,温度升⾼了25℃。
图4壳程⾛⽔时温度分布图5壳程⾛⽔时流速分布图6壳程⾛⽔时折流板处的回流当壳程⾛空⽓时,出⼝温度为378K,温度升⾼了65℃。
与管壁温度⼀致。
图7壳程⾛空⽓时温度分布图8壳程⾛空⽓时流速分布图8壳程⾛空⽓时折流板处的回流从两种流体的对⽐可以看出,由于空⽓和⽔的粘性都很⼩,所以两者的流动状态并没有显著差别,回流区的位置和⼤⼩也基本⼀直。
因此可以说明,当⼊⼝速度⼀致时,在低粘度,不考虑重⼒的前提下,流体的性质对换热器壳程内流速分布的影响可以忽略。
另外从加热效果的⾓度讲,虽然壳程⾛空⽓时出⼝温度⽐较⾼,但空⽓的密度低,⽐热低,因此实际上带⾛的管程热量只有壳程⾛⽔时的千分之⼀。
计算流体力学大作业

计算液体力学基础及应用课程期末作业-----程序调试最终版学号: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。
《计算流体力学》作业

《计算流体力学》作业西安交通大学航天学院1(第二章)如图所示,在一个二维平行板通道内的中心线上置有一个温度均匀的正方形柱体,计算区域入口流体温度为T in = c ,流速已达充分发展,上下平板绝热,出口边界离开柱体比较远。
试写出层流、稳态对流换热的控制方程组,并对所取定的计算区域写出流速及温度的边界条件。
u (y)T in = c绝热绝热T h进口出口xy2(第四章)推导二阶偏导的四阶精度差分(均分网格)考虑函数在(x, y )=(1,1) 处,(1)计算的精确值;(2)分别采用一阶前差,一阶后差及中心差分近似,其中∆x =∆y= 0.1,计算(1,1)处的估算值。
计算它们与(1)结果的相对误差;(3)重复(2),只是∆x =∆y= 0.01。
将此时得到的有限差分结果与(2)对比。
(),=+x y x y e e φ/,/∂∂∂∂x y φφ/,/∂∂∂∂x y φφ3(第四章)4(第四章)试证明一维非稳态对流-扩散方程的隐式中心差分(对流、扩散项)格式(1)无条件稳定;(2)是相容的。
数值求解一维线性对流方程:给定初始分布:5(第四章)编程题格式稳定性验证1. 用LAX 格式求解:(1)CFL=0.5时,t=0,t=0.8,1.2时刻的波形;(2)CFL=1.2时,t=0,t=0.8,1.2时刻的波形;2. 用FTCS 格式求解:(1)CFL=0.5时,t=0,t=0.4,t=0.6时刻的波形;(2)CFL=1.2时,t=0,t=0.4时刻的波形;网格数=100网格数=100数值求解一维线性对流方程:给定初始分布:6(第四章)编程题数值粘性影响验证1. 用LAX格式求解:(1)CFL=0.5时,网格数=100,t=0,t=1,2时刻的波形;(2)CFL=0.5时,网格数=100,200,400,800,t=2时刻的波形;有一个二维稳态无源项的对流-扩散问题,已知。
四个边上的Φ值如图所示,其中Δx=Δy=2。
流体力学大作业

《计算流体力学》课程大作业作业内容:3-4人为小组完成数值模拟,在第8次课上每组进行成果展示,并在课程结束后每组上交一份纸质版报告。
数值模拟实现形式:自编程或者使用任意的开源、商业模型。
成果展示要求:口头讲述和幻灯片结合的方式,每组限时10分钟(8分钟讲述,2分钟提问和讨论)。
报告要求:按照期刊论文的思路和格式进行撰写(包括但不限于如下内容:摘要、绪论\引言、数值模型简介、数值结果分析\讨论、结论、参考文献)。
(以下题目二选一)题目一:固定单方柱扰流问题根据文章《Interactions of tandem square cylinders at low Reynolds numbers》中的实验进行数值模拟,完成但不局限于如下工作:(1)根据Fig. 2 中的雷诺数和方柱排列形式,进行相同雷诺数不同间距比情况下的方柱绕流数值模拟,并做出流线图和Fig.2中的结果对比。
(2)根据Fig. 3 中的雷诺数和方柱排列形式,进行相同雷诺数后柱不同转角情况下的方柱绕流数值模拟,并做出流线图和Fig.3中的结果对比。
(3)根据Fig. 12, 13 中的雷诺数和方柱间距比的设置进行数值模拟,作出频率、斯特劳哈尔数、阻力系数随雷诺数变化的折线并与图中对应的折线画在同一坐标系下比较。
(中共有4条折线,对应4种不同的方柱排列形式下的物理参数随雷诺数变化的规律,仅需选取单柱模型和其中一种双柱模型进行数值模拟,共计16个工况)。
题目二:溃坝问题根据文章《Experimental investigation of dynamic pressure loads during dam break》中的实验进行数值模拟,完成但不局限于如下工作:(1)分别完成二维、三维的溃坝的数值建模,讨论二维、三维模型的区别。
(2)分别将二维、三维溃坝的数值模拟结果和Fig. 7,10中各时刻的自由面形态进行对比,并分别观测溃坝前端水舌的位置随时间的变化,其结果和Fig. 12 种的各试验结果放在同一坐标系下进行对比。
中科院计算流体力学最新讲义CFD1110讲不可压流动 21页

u u u 2
8
2) 对流项的处理原则
V0
VVVp 1 2V
t
Re
守恒型 普通型
关系式1:
( V ) V V V V ( V ) V V( u x)u ( u y)v u u xv y yu( u x y v)
6
奇偶失联与交错网格
u v 0 x y
压力项,通 常采用中心 差分离散
u u u v u p 1 2u t x y x Re
p p i 1 ,jp i 1 ,j,
v u v v v p 1 2u
t x y y Re
引入流函数
u ,v
y
x
uv1 2 (4)
t x y Re
2 (5)
(4) (5) 式即涡量-流函数的控制方程
计算结束后,如果需要计算压力,则求解如下方程
(2) (3) x y
2pux22u y xv yv22
讲课录像及讲义上传至网盘 cid-1cc0dcbff560c149.skydrive.live/browse.aspx/.Public
Copyright by Li Xinliang
1
知识回顾
一、 代数方程组的求解 Axb
直 接 法
Gauss 消元法
a11 a12 a13 a1n
Step 3: 最终步
Vn1 V* p0 t
得到n+1时刻的V
以 1阶精度时间推进方法为例,实际上可采用更高阶精度时间推进方法: Karniadakis GE, Israeli M, Orszag SA. 1991 Highorder splitting methods for the incompressible Navier-stokes equations. J. Comp. Phys. 97:414-443.
计算流体力学作业电子版

1. 已知有限体积法求解的通用控制方程为()()()u div div grad S tρφρφφ∂+=Γ+∂ 其中φ为通用变量,可代表u 、v 、w 、T 等求解变量。
(1)试说明通用控制方程中各项的物理意义;(2)对于特定的方程,φ、Γ、S 具有特定的形式,对应于质量守恒方程、动量守恒方程、能量守恒方程、(多种化学组分的)组分质量守恒方程,试写出φ、Γ、S 的具体表达式。
解答:(1) 方程中的各项(从左到右)分别是瞬态项、对流项、扩散项及源项。
(2)2. 简述有限体积法建立离散方程时应遵守的四条基本原则。
解答:1) 控制体积界面上的连续性原则当一个面为相邻的两个控制体积所共有时,在这两个控制体积的离散方程中,通过该界面的通量(包括热通量、质量通量、动量通量)的表达式必须相同。
即:通过某特定界面从一个控制体积所流出的热通量,必须等于通过该界面进入相邻控制体积的热通量,否则,总体平衡就得不到满足。
2) 正系数原则中心节点系数aP 和相邻节点系数anb 必须恒为正值。
该原则是求得合理解的重要保证。
当违背这一原则,结果往往是得到物理上不真实的解。
例如,如果相邻节点的系数为负值,就可能出现边界温度的增加引起的相邻节点温度降低。
3) 源项的负斜率线性化原则源项斜率为负可以保证正系数原则。
从式(C2)中看到,当相邻节点的系数皆为正值,但有源项Sp 的存在,中心节点系数aP 仍有可能为负。
当我们规定Sp ≤0,便可以保证aP 为正值。
4) 系数aP 等于相邻节点系数之和原则当源项为0时,我们发现中心节点系数等于相邻节点系数之和,而当有源项存在时也应该保证这一原则,如果不能满足这个条件,可以取SP 为0。
3.什么是对流质量流量F 、扩散传导量D 以及Pelclet 数Pe ,试用定义式表达之。
解答:F 表示通过界面上单位面积的对流质量通量(convective mass flux),简称对流质量流量;D 表示界面的扩散传导性(量)(diffusion conductance)。
计算流体力学课程大作业

《计算流体力学》课程大作业——基于涡量-流函数法的不可压缩方腔驱动流问题数值模拟张伊哲 航博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节提出不可压缩方腔驱动流问题,并分析该问题怎样使用涡量-流函数方法建立差分格式、选择边界条件。
计算流体力学大作业

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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
CFD 实验报告一
姓名: 学号:
一、题目:
利用中心差分格式近似导数22/dx y d ,数值求解常微分方程
x dx y
d 2sin 2
2= (10≤≤x ) 00==x y 4
2
sin 11-
==x y 步长分别取x ∆=0.05, 0.01, 0.001,0.0001。
二、报告要求:
1)列出全部计算公式和步骤;
2)表列出程序中各主要符号和数组意义;
3)绘出数值计算结果的函数曲线,并与精确解比较;
4)比较不同差分格式和不同网格步长计算结果的精度和代价; 5)附源程序。
三、相关差分格式
二阶导数22/dx y d 的三点差分格式有向前差分、向后差分和中心差分,表达
式分别如下:
()()()22122
22122
211
222
222j j j
j j j
j j j u u u u O x x x
u u u u O x x x u u u u O x x x
++--+--+∂=+∆∂∆-+∂=+∆∂∆-+∂=+∆∂∆一阶向前差分:一阶向后差分:二阶中心差分:
代入微分方程可以得到差分方程,表达式分别如下:
212
212
11
22=sin 22=sin 22=sin 2j j j j j j j j j j j j
u u u x x
u u u x x u u u x x
++--+--+∆-+∆-+∆一阶向前差分:一阶向后差分:二阶中心差分:
对于三种差分格式,差分格式可以改写成AY b =的形式,其中A 是相同的,
非齐次项b 不同,如下所示:
2112112112A -⎡⎤⎢⎥-⎢⎥
⎢
⎥=⎢⎥
-⎢⎥
⎢⎥-⎣⎦
系数矩阵 ()()()02112
3221sin 2sin 2sin 2k k y x x b x x x x y ---⎡⎤
⎢⎥
∆⎢⎥
⎢
⎥=⎢⎥∆⎢⎥
⎢⎥
∆-⎣⎦
一阶向前差分 ()()()()2202
322121sin 2sin 2sin 2sin 2k k x x y x x b x x x x y -⎡⎤∆-⎢⎥∆⎢⎥
⎢
⎥=⎢⎥∆⎢⎥
⎢⎥∆-⎣⎦一阶向后差分 ()()()()2102
232
2211sin 2sin 2sin 2sin 2k k x x y x x b x x x x y --⎡⎤
∆-⎢⎥∆⎢⎥
⎢
⎥=⎢⎥∆⎢⎥⎢⎥
∆-⎣
⎦二阶中心差分 求解AY b =可以得到各节点y 的值[]T
1
22
1k k Y y y y y --=。
四、计算公式和步骤;
1.关于精确解的推导:
已知
22
sin 2d y
x dx =,对x 进行两次积分,得到121
sin 24
y x C x C =-++,再结合
边界条件00
==x y 和4
2
sin 11-==x y 得到相对应的1C 和2C ,确定最后精确解为:
1
sin 24y x x =-+。
2.关于数值求解方法:
对于方程组AY b =可直接求解,也可以使用追赶法求解,下面介绍简单追赶法求解三对角方程组的过程。
对于三对角方程组:
11112222211111=n n n n n n n n n y b d c y b a d c y b a d c a d y b -----⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥
⎢⎥⎢
⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢
⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎣⎦
系数矩阵A 中仅三对角线上的数值不全为0,其余位置上的数值全为0,是典型的对角占优的三对角矩阵,利用高斯消去法,经过n-1次消元可以化为同解方程组:
11122211111=11n n n n n y q u y q u y q u y q ---⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥
⎢⎥⎢
⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢
⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎣⎦
如上所示,求这些值的过程(即消元过程)称为追:
()
()
()()()111111111/,/,
/2,...,1/2,...,i i i i i i i i i i i i u c d q b d u c d u a i n q b q a d u a i n ---===-=-=--=
再利用回代过程求出方程组的各变量:
()1
,1,2,...,1n n i i i i y q y q u y i n n +==-=--
这一逆序求变量的过程(回代过程)称为赶。
五、计算结果与分析
根据题意需要分别取步长x ∆=0.05, 0.01, 0.001,0.0001进行计算,因此采用MATLAB 进行编程运算,然后将数值解与精确解进行比较,如下图所示:
∆=0.05 步长x
∆=0.01步长x
∆=0.001
步长x
∆=0.0001
步长x
从上面四个图可以看出,这几个格式的精确解和数值解之间符合度很好,其中中心差分格式精确度更高,并且随着步长的减小与精确解的符合度越高。
下面将计算结果用表格的形式列出:
)
表1 不同格式不同步长计算耗时(单位s
由不同格式不同步长计算耗时和计算精度的结果对比可知:
1、从时间代价来看,三种格式采用追赶法求解所需要的时间基本一样,从计算精度来看,中心差分格式的计算精度明显优于向前差分和向后差分格式。
2、随着步长的减小,虽然求解的计算精度增高,但所需要的时间却大大增加。
3、对于这三种格式而言,中心差分格式明显优于另两种格式。
4、从上可知,提高计算精度可以通过减少步长和采用高阶格式的方法,由于减
少步长需要用时间作为代价,所以采用高阶格式相对而言比较好。
六、源程序及其说明
符号说明:
源程序如下:
clear; %清空
long=1;%变量取值范围
dx=0.05; %设置步长
n=long/dx; % 此处n=节点数—1
y0=0;%设定始端边界条件
yl=1-sin(2)/4; %设定末端边界条件
A=zeros(n-1,n-1);%设置系数矩阵A
A(1,1:2)=[-2 1];%始端边界
for i=2:n-2
A(i,i-1:i+1)=[1,-2,1];
end
A(n-1,n-2:n-1)=[1,-2];%末端边界
b=zeros(n-1,1);%设置矩阵b
for i=1:n-1
% b(i)=dx^2*sin((i-1)*2*dx); %一阶向前差分
% b(i)=dx^2*sin((i+1)*2*dx); %一阶向后差分
b(i)=dx^2*sin(i*2*dx); %中心差分
end
b(1)=b(1)-y0;%设置边界条件
b(n-1)=b(n-1)-yl;
x=dx*(0:n);%求解精确解
Y_e=x-sin(2*x)/4;
disp('~~~~~~~~~~~~~~~~~~~SC16005041李文建~~~~~~~~~~~~~~~~~~~~~~~~'); disp(' ');
tic; % 追赶法求解并开始计时
a=1;
c=-2;
u(1)=a/c;
q(1)=b(1)/c;
for i=2:n-2
u(i)=a/(c-u(i-1)*a);
end
for i=2:n-1
q(i)=(b(i)-q(i-1))/(c-u(i-1)*a);
end
y(n-1)=q(n-1);
for i=n-2:-1:1
y(i)=q(i)-u(i)*y(i+1);
end
Y(2:n)=y(1:n-1);%加上边界值
Y(1)=y0;
Y(n+1)=yl;
toc; %结束计时
T_E=abs(Y-Y_e); %计算截断误差Q=sum(T_E.^2); %求平方和为精度disp('所求计算精度为:');
Q
plot(x,Y,'m') %画出差分近似解hold on%将两个曲线绘在同一图上plot(x,Y_e,'g') %画出精确解。