计算程序_计算流体力学_对流方程_有限差分法_Lax格式_迎风格式_FTCS格式
计算流体力学的求解步骤
计算流体力学的求解步骤
计算流体力学(Computational Fluid Dynamics,简称 CFD)是通过计算机数值计算和图像显示,对包含有流体流动和热传导等相关物理现象的系统所做的分析。
其求解步骤通常包括以下几个方面:
1. 建立物理模型:根据实际问题建立相应的物理模型,包括流动区域、边界条件、流体性质等。
2. 数学模型:将物理模型转化为数学模型,通常使用 Navier-Stokes 方程等流体动力学基本方程来描述流体的运动和行为。
3. 网格生成:将计算区域划分为离散的网格单元,以便在每个网格点上进行数值计算。
4. 数值方法:选择合适的数值方法,如有限差分法、有限体积法或有限元法等,对数学模型进行离散化,将其转化为代数方程组。
5. 求解算法:使用适当的求解算法,如迭代法或直接解法,求解代数方程组,得到各个网格点上的流体变量的值。
6. 结果可视化:将计算得到的结果以图形或图表的形式展示出来,以便对流体的流动情况进行分析和评估。
7. 结果验证:将计算结果与实验数据或其他可靠的参考数据进行比较,验证计算结果的准确性和可靠性。
8. 优化与改进:根据结果验证的情况,对物理模型、数学模型、网格生成、数值方法或求解算法等进行优化和改进,以提高计算精度和效率。
需要注意的是,计算流体力学的求解步骤可能因具体问题和应用领域的不同而有所差异。
在实际应用中,还需要根据具体情况选择合适的软件工具和计算平台来执行上述步骤。
北航CFD讲义第16课,计算流体力学基础部分小结
计算流体力学基础部分小结一.偏微分方程(PDE)的性质:1.线性方程、非线性方程和方程的守恒型2.椭圆、抛物、双曲方程的定义和判断方法二.构筑差分方式的方法1.用Taylor公式2.用多项式三.差分方程(PDE)的性质1.相容性、收敛性和稳定性;Lax定理2.等价微分方程推导和精度分析3.稳定性分析:孤立扰动法和V on Neumann方法四.推进型方程(双曲、抛物型方程)1.影响域和依赖域;双曲型方程的CFL条件2.频散和耗散3.显式格式和隐式格式的不同特点(对双曲方程而言)4.抛物型方程常用格式①FTCS格式②Dufort-Frankel格式③Laasonen格式④Crank-Nicolson格式5.双曲型方程常用格式①Euler后差格式(仅对迁移方程而言)②Lax-Wendroff格式(含推导)③MacCormark格式④Crank-Nicolson格式五.平衡型方程(椭圆型方程)1.求解Laplace方程的五点格式2.各种迭代方法(含推导)①点迭代(Jacobi、G-S和SOR)②线迭代(Jacobi、G-S和SOR)③ADI法(Jacobi、G-S和SOR)六.常见格式(Euler方程)1.MacCormark格式的优缺点2.AF格式的特点(以上两种格式均以Euler方程为求解对象)七.网格生成与坐标变换1.为什么要采用贴体网格2.为什么要进行坐标变换3.对网格的几个主要的要求八.边界条件处理1.确定边界条件的两个原则2.何谓“解析边界条件”?何谓“数值边界条件”?3.如何确定进出口边界条件?4.如何确定物面边界条件?。
计算流体力学_对流方程_有限差分法_Lax格式_迎风格式_FTCS格式
有限差分法数值求解一维伯格斯方程作者:潭花林1. 引言本文利用有限差分法计算了一维伯格斯方程的初边值问题。
采用FTCS 格式,并深入讨论了它的相容性、收敛性与稳定。
有限差分法在计算流体力学、数值传热学中都有众多的应用,而且可以用于高维情形。
所有问题都是采用matlab 编程计算。
本文只是一个简单的一维问题的算例。
关键词:计算流体力学,有限差分法,一维对流方程2. 题目用计算机求对流方程的初值问题()01 01 0 18,020 0u u t xx u u x t t x ∂∂+=∂∂>⎧⎪∂⎪==-=⎨∂⎪<⎪⎩ 的数值解(由于对流方程的计算结果只依赖与上游,只需要给出上有的边界条件就可以了)。
(1)分别用C 格式,Lax 格式,FTCS 格式在12t x ∆=∆ ,2tx∆=∆两种情况下计算。
(2)计算围为1818x -≤≤,取1,0x t ∆=>,计算80个时间步长。
(3)写出计算报告,容为(I )计算课题 (II )计算框图 (III )计算程序(IV )计算结果,0,10,20,40t =时的,u x -图 (V )体会3. 计算原理3.1. 迎风格式点采用如下差分格式(),1,,1,237,180i n i n i ni n tu u u u xi n α+-∆=--∆≤≤≤≤初值为()(),1,01811,137i i i u u x x i x x i ==-+-∆∆=≤≤ 边界条件为 1,2,n n u u =稳定性:差分格式的稳定性:误差方程与差分方程相同(),1,,1,i n i n i ni n txαεεεε+-∆=--∆设误差为,iIkx i n n c eε=,则()()11111i i ii Ikx Ikx Ikx Ikx n n nn Ik x n n tc e c e c e c e xt c e c x αα-+-∆+∆=--∆∆⎡⎤=--⎢⎥∆⎣⎦放大因子()11Ik xtG e xα-∆∆=--∆所以2221x y t t G G x x αα⎡⎤∆∆⎛⎫⎛⎫--+= ⎪ ⎪⎢⎥∆∆⎝⎭⎝⎭⎣⎦ 为使1G ≤,应有01txα∆<≤∆对于本问题,初值和边界条件并不影响稳定性和收敛性问题。
《计算流体力学》作业
《计算流体力学》作业西安交通大学航天学院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。
应用计算流体力学基础
Fin
x
An i1 2
Fin
Fn i 1
x
Lax-Wendroff格式
Q F G 0 t x y
Qn1 i, j
Qn i, j
t 2x
F F n i1, j
n i1, j
t 2y
G G n i, j1
(t)
xi
ui
(
u
ju 2
j
)
dV
f ju jdV ijnjuidS qinidS q0dV
(t)
S (t )
S (t )
(t)
1.流体力学方程组
方程组的无量纲化
xx L yy L zz L
特征长度
特征密度
0
x xx
y xy
z xz
Fˆv
J
x yx
y yy
z yz
x zx y zy z zz
x bx
yby
zbz
0
x xx
y xy
z xz
q0
微分形式
1.流体力学方程组
ij
pij
ij
pij
ui x j
u j xi
uk xk
ij
2
3
Stokes流体假设
牛顿流体本构关系 Sutherland公式(空气)
中国科学院大学计算流体期末考试试题电子版
《计算流体力学》2009年期末考试试卷1. 写出差分格式的相容性、收敛性与稳定性的定义,写出Lax 等价定理(10’)2. 写出可压缩无粘性流动的一维Euler 方程组,计算域为H L x x x ≤≤,请根据方程的性质写出右边界处适定的边界条件。
提示:考虑亚声速/超音速、出流/入流等不同情况讨论。
(15’)3. 考虑线性单波方程)(00>=∂∂+∂∂a xua t u (1) 其差分逼近形式为ni n i n i tF a u u ∆-=+1,其中xu u F ni n i ni∆=1--。
x t ∆∆与分别为时间步长与空间步长。
(1)试利用Taylor 级数展开法给出相应的修正方程。
(10’) (2)根据修正方程说明什么条件下格式是稳定的。
(5’)选做题,请在4,5题之间任选一道 4. 对于方程(1),其差逼近式为n i n i n itF a u u ∆-=+1,考虑下列两种空间差分格式xu u F n i n i ni ∆=1--(2)xu u F ni n i ni ∆=+-1(3)试运用特征线方法,画出微分方程及差分方程解在(00,t x )点值的依赖域,并据此分析采用差分格式(2)及(3)的稳定性条件。
(20’) 5. 方程与差分格式与4题相同。
试通过Fourier 稳定性分析方法分别写出这两种差分格式误差放大因子的表达式,并由此推导出稳定性条件。
(20’)6. 对于方程(1),设逼近xu∂∂的迎风差分格式表达式为: x du cu bu au F i i i i i ∆+++=+--/)(112 (4)其中i u 为第i 个网格点上函数u(x)的值,网格间距为x ∆(等间距分布);i F 为导数xu ∂∂在i 点值上的差分逼近。
(1)如果要求(4)式具有3阶逼近精度,是确定系数a,b,c,d 值。
(5’) (2)相同网格下,若差分格式的表达式为111111+--++=+i i i i i u c u b u a F aF (5)要求(5)具有3阶精度,是确定系数111,,,c b a a 的值(10’)(3)试通过Fourier 分析,给出(4)和(5)式修正波数的表达式,要求分别写出其实部r k 和虚部i k 的表达式。
计算流体力学实验报告
计算流体力学实验报告——热传导方程求解姓名:梁庆学号:0808320126指导老师:江坤日2010/1230基于FTCS格式热传导方程求解程序设计摘要计算流体力学是通过数值方法求解流体力学控制方程,得到流场的定量描述,并以预测流体运动规律的学科。
在CFD中,我们将流体控制方程中积分微分项,近似的表示为离散的代数形式,使得积分或微分形式的控制方程转化为离散的代数方程组;然后通过计算机求解这些代数方程,从而得到流场在空间和时间点上的数值解。
基于以上思路,我们利用FTCS&式差分,工程上常用的热传导方程,并编制计算机求解程序,解出其数值解。
并通过Matlab 绘制,求解结果,分别以二维,三维的形式,给出求解结果,本实验通过求解的数值解,制作了 1 秒内长度为 1 的距离内,热传导情况动画,以备分析所用。
关键词FTCS 有限差分热传导方程( 0)问题重述编制一个可以有限差分程序,实现求解热传导方程。
非定常热传导方程:t 2初边值问题的有限差分求解。
初始条件和边界条件为:u(x,0) f(x)u(0,t) a(t) 0其中 1,初值条件为:f(x) u(1,t) b(t) 00 0 x 0.3 1 0.3 x 0.710x 310~3 0.7 1.0 取网格点数 Mx=100,要求计算t=0.01,t=0.1,t=1,t=10,时的数值解。
计算时间步长取(0) Vtvx 70.1。
差分格式为: FTCS 格式 本程序采用FTCS 格式为:n 1Uk$1 (12 )u nnu k程序设计规程解决差分格式程序设计,主要解决初值初始化问题,差分求解问题,输出显示问题, 三大模块。
本文通过函数设计,分别将这里的三个问题,用三个函数实现。
有限差分初始化初始条件边界条件依次顺序 養分 输出数值 解 图形动画 显示差分求解输出显示2. 差分模块的建立差分模块函数体:void deidai(double **nu m,double x,double t) {double dt=t/(N-1); double dx=x/100.0; double ss=dt/(dx*dx);cout<<"差分因子为:"<<ss<<e ndl; for(i nt i=1;i<N;i++)for(i nt j=1;j<1OO;j++)nu m[i][j]=ss* nu m[i-1][j+1]+(1-2*ss)* num[i-1][j]+ss* nu m[i-1][j-1];〃 差分格式具体差分原理如下:从前往后依次求解图1设计总图FTC5格式三、程序建立及各模块1. 初始化模块建立差分 原理图2差分模块本程序需实现有提示性的操作, 因而需要有相应的文字输出,在主函数中,输出提示文字,输入界面如下:图3输入界面3. 显示模块的建立本程序在输入求解时间上,每次所取的差分空间步长,由题目中 100网格数所定,时间步长由_V 20.1,反求得到,故而,所求时间越长,所求得的结果越细,为了便于在 Vx 2C++中输出显示,实验时只输出其中一部分结果。
计算流体力学电子教案ppt课件
解:由于板在y、z方向为无限大,因此可作为一维问题 处理,即只考虑x方向。相对于无源问题,控制方程中增 加了源项。即
d dx
(k
dT dx
)
q
0
第一步:生成离散网格(先控制体后节点),生成5个单元
aPP aWW aEE Su (2 8)
aW
w
xWP
Aw
,
aE
e
k x
A,
aP
aW
aE SP
SP
2k x
A,Su
2k x
A
TB
23
根据以上过程可以得到左右边界控制体的离散方程:
左端控制体
kA(T2
x
T1
)
kA(T1 TA ) x / 2
0
右端控制体
kA(TB x
T5
/2
)
kA(T5 T4 ) x
0
(T2 T1) (2T1 2TA ) 0 (2TB 2T5 ) (T5 T4 ) 0
计算流体力学电子教案
1
目录
• 第一章 绪论 • 第二章 扩散问题的有限体积法 • 第三章 对流扩散问题的有限体积法 • 第四章 差分格式问题 • 第五章 压力--速度耦合问题的有限体积法 • 第六章 有限体积法离散方程的解法 • 第七章 非稳态流动问题的有限体积法 • 第八章 边界条件处理
2
第二章 扩散问题的有限体积法
即
kA(T2 T1 ) x
kA(T1 TA ) x / 2
0
在上述过程中有一假定:认为A点的温度梯度dT/dx与A
计算程序_计算流体力学_对流方程_有限差分法_Lax格式_迎风格式_FTCS格式
% 一维对流方程迎风格式、Lax格式、FTCS格式差分法计算% 潭花林清华大学航天航空学院% FTCS格式对于一维对流方程不稳定,最好不用clcclear all% 1.参数定义dx=1;x1=-18;x2=18;x=x1:dx:x2;L1=length(x);% dt=0.5*dx; % 收敛dt=2*dx; % 不收敛t1=0;t2=t1+80*dt;t=t1:dt:t2;L2=length(t);alpha=1;lambda=alpha*dt/dx;geshi=1; % 迎风格式% geshi=2; % Lax格式% geshi=3; % FTCS格式% 2.显式求解zeta=zeros(L1,L2);for kk=1:3geshi=kk;for ii=1:L1if x(ii)>0zeta(ii,1)=1;elseif x(ii)==0zeta(ii,1)=1/2;elseif x(ii)<0zeta(ii,1)=0;endendendendif geshi==1for ii=2:L1for jj=1:(L2-1)zeta(ii,jj+1)=zeta(ii,jj)-lambda*(zeta(ii,jj)-z eta(ii-1,jj));endzeta(1,jj+1)=zeta(2,jj+1);endzeta1=zeta;else if geshi==2for ii=2:(L1-1)for jj=1:(L2-1)zeta(ii,jj+1)=(zeta(ii+1,jj)+zeta(ii-1,jj))/2-. ..lambda/2*(zeta(ii+1,jj)-zeta(ii-1,jj));endzeta(1,jj+1)=zeta(2,jj+1);zeta(L1,jj+1)=zeta(L1,jj)-lambda*(zeta(L1,jj)-z eta(L1-1,jj));endzeta2=zeta;else if geshi==3for ii=2:(L1-1)for jj=1:(L2-1)zeta(ii,jj+1)=zeta(ii,jj)-lambda/2*(zeta(ii+1,j j)-zeta(ii-1,jj));endzeta(1,jj+1)=zeta(2,jj+1);zeta(L1,jj+1)=zeta(L1,jj)-lambda*(zeta(L1,jj)-z eta(L1-1,jj));endzeta3=zeta;endendendend% 3.绘图% 3.1 t=0figure(1)n=1;plot(x,zeta1(1:L1,n),'-k',x,zeta2(1:L1,n),'-.k' ,x,zeta3(1:L1,n),'--k')% 作图% axis equal %%% 是否要求x、y坐标间距相等% grid on %%% 是否要求画网格xlabel('x/m'),ylabel('t/s') % %% x,y轴表示的变量含义%text(1,2,'f(x)') %%% 图中文字标识legend('迎风格式','Lax格式','FTCS格式') %%% 不同曲线的线型区分title('t=0时刻的计算结果') %%% 标题axis([-18,18,-0.2,1.2])% 3.2 t=10figure(2)n=(10-t(1))/dt;plot(x,zeta1(1:L1,n),'-k',x,zeta2(1:L1,n),'-.k' ,x,zeta3(1:L1,n),'--k')% 作图% axis equal %%% 是否要求x、y坐标间距相等% grid on %%% 是否要求画网格xlabel('x/m'),ylabel('t/s') % %% x,y轴表示的变量含义%text(1,2,'f(x)') %%% 图中文字标识legend('迎风格式','Lax格式','FTCS格式') %%% 不同曲线的线型区分title('t=10s时刻的计算结果') %%% 标题% 3.3 t=20figure(3)n=(20-t(1))/dt;plot(x,zeta1(1:L1,n),'-k',x,zeta2(1:L1,n),'-.k' ,x,zeta3(1:L1,n),'--k')% 作图% axis equal %%% 是否要求x、y坐标间距相等% grid on %%% 是否要求画网格xlabel('x/m'),ylabel('t/s') %%% x,y轴表示的变量含义%text(1,2,'f(x)') %%% 图中文字标识legend('迎风格式','Lax格式','FTCS格式') %%% 不同曲线的线型区分title('t=20s时刻的计算结果') %%% 标题% 3.4 t=40figure(4)n=(40-t(1))/dt;plot(x,zeta1(1:L1,n),'-k',x,zeta2(1:L1,n),'-.k' ,x,zeta3(1:L1,n),'--k')% 作图% axis equal %%% 是否要求x、y坐标间距相等% grid on %%% 是否要求画网格xlabel('x/m'),ylabel('t/s') % %% x,y轴表示的变量含义%text(1,2,'f(x)') %%% 图中文字标识legend('迎风格式','Lax格式','FTCS格式') %%% 不同曲线的线型区分title('t=40s时刻的计算结果') %%% 标题聚乙烯(PE)简介1.1聚乙烯化学名称:聚乙烯英文名称:polyethylene,简称PE结构式:聚乙烯是乙烯经聚合制得的一种热塑性树脂,也包括乙烯与少量α-烯烃的共聚物。
计算流体力学讲义_2008
计算流体力学目录第一章引论1.1计算流体力学及其特征1.2计算流体力学发展的历史1.3计算流体力学研究内容1.4第二章流体力学方程与模型方程2.1 流体力学基本方程2.2 模型方程及其数学性质2.3 双曲型方程初边值问题第三章有限差分数值解法3.1有限差分方法3.2差分方程3.3差分解法的理论基础3.4 差分修正方程分析3.5小扰动稳定性分析方法3.6高精度格式以及精度分析第四章有限体积等方法4.1 有限体积法4.2 其他方法介绍第五章代数方程组求解5.1高斯消去法5.2追赶法5.3迭代法5.4 其他常用方法第六章可压缩流体力学方程组差分解法6.1一维方程以及Jocobin系数矩阵6.2一维Euler方程的离散6.3其他离散方法6.4多维问题差分解法6.5粘性项的差分解法第七章可压缩流体力学方程组的差分解法7.1控制方程性质分析7.2人工压缩方法7.3非定常原始变量法求解7.4涡量—流函数法第八章渗流力学方程组求解8.1 渗流力学方程组以及方程性质8.2 单相渗流力学方程求解8.3 多相渗流力学方程组求解第九章网格生成技术9.1网格理论9.2结构网格9.3非结构网格以及混合网格第十章计算流体力学在石油工程中应用10.1计算流体力学软件介绍10.2计算流体力学软件学习10.3计算流体力学软件使用实例第一章引论(3学时)1.1 计算流体力学及其特征1.1.1 定义利用数值方法通过计算机求解描述流体运动的数学方程,揭示流体运动的物理规律,研究定常流体运动的空间物理特征和非定常流体运动的时-空物理特征1.1.2 特点:1. 扩大了研究范围,原则上可以求解如何流体力学控制方程所能描述的流体力学问题2. 可以给出比较完整的定量结果3. 数值解是离散近似解放,与精确解有误差4. 对复杂问题需要与理论分析和实验研究相结合1.1.3 先导课1. 流体力学以及高等流体力学:解决流体力学基本方程建立的问题2. 数学物理方程:解决流体力学方程的数学性质分析3. 线性代数:解决流体力学方程组的矩阵运算问题4. 计算方法或数值分析:代数方程组的求解方法计算流体力学主要解决偏微分方程组向代数方程组离散方法问题1.2 计算流体力学发展历史计算流体力学的发展:促进了流体力学问题新规律、新机理的研究,也促进了相关偏微分方程组相关理论的发展。
计算流体力学的主要工作流程
计算流体力学的主要工作流程英文回答:Major Workflows in Computational Fluid Dynamics.Computational fluid dynamics (CFD) is a powerful tool used to simulate and analyze the behavior of fluids in various applications. The main workflows in CFD typically involve the following steps:1. Preprocessing.Defining the geometry of the computational domain.Generating a mesh to discretize the domain.Setting boundary conditions.Defining the fluid properties.2. Solving.Discretizing the governing equations using numerical methods (e.g., finite volume, finite difference, or finite element methods)。
Solving the discretized equations to obtain the flow field (velocity, pressure, temperature, etc.)。
3. Postprocessing.Visualizing and analyzing the results.Extracting relevant data (e.g., flow patterns, forces, heat transfer)。
Validating the results.中文回答:计算流体力学的主要工作流程。
一维对流方程的迎风格式
一维对流方程的迎风格式标题:一维对流方程的迎风格式简介:本文将介绍一维对流方程的迎风格式,探讨其数值求解方法,并分析其在实际问题中的应用。
正文:一维对流方程是描述流体运动中物质传输的基本方程之一,其数值求解在科学计算和工程应用中具有重要意义。
迎风格式是一种常用的求解一维对流方程的数值方法,其基本原理是根据流体速度来调整网格上的近似解。
在迎风格式中,我们首先将一维对流方程离散化,得到差分格式。
然后,根据网格上的迎风方向速度来选择合适的近似解,以确保数值解的稳定性和精确性。
具体而言,对于一维对流方程u_t+au_x=0,我们假设网格点(xi,tn)处的解为ui^n。
利用向前差分和向后差分的组合,可以得到迎风格式的数值离散方程:ui^{n+1}=ui^n-a(dt/dx)(ui^n-ui^{n-1})其中,a为对流速度,dt为时间步长,dx为空间步长。
通过迎风格式的数值求解,我们可以得到在下一个时间步的解ui^{n+1}。
迎风格式的特点是它能够处理对流方程中的激波和间断等现象。
由于迎风格式中的近似解取决于流体速度,它能够更好地捕捉到流体中物质传输的特点。
因此,迎风格式在流体动力学、气象学和地质学等领域中得到广泛应用。
需要注意的是,迎风格式的稳定性和精确性与时间步长和空间步长的选择有关。
较小的时间步长和空间步长能够提高数值解的精确性,但也会增加计算量。
因此,在实际应用中,需要综合考虑计算效率和数值解的准确性。
总结起来,一维对流方程的迎风格式是一种常用的数值求解方法,能够有效地处理流体中的物质传输问题。
在进行数值计算时,我们需要合理选择时间步长和空间步长,以确保数值解的稳定性和精确性。
迎风格式在科学计算和工程应用中具有广泛的应用前景,对于解决一维对流方程相关问题具有重要意义。
注意:本文旨在提供关于一维对流方程的迎风格式的基本介绍,并未涉及具体的数值实现和应用案例。
如需深入研究和应用,请参考相关专业文献和资料。
高等计算流体力学讲义(5)
高等计算流体力学讲义(5)§7. TVD 格式一、背景1.求解线性波动方程0t x u au a const +==的经典差分格式 (1)一阶迎风格式(First order )11100n nj j n nj j nnj j u u a u u a u u a λ++-⎧-<⎪=-⋅⎨->⎪⎩, 其中txλ∆=∆。
上式也可以写为: 11/21/21/2111/211()()()22()()22n n n n j j j j n nn n nj j j j j n n n n n j j j j j u u f f a a f u u u u a a f u u u u λ++-+++---=--=+--=+--(2)Lax -Friedrichs 格式 (First order )()111111202n nn n n jj j j j u u u u u a t x +-++--+-+=∆∆或11/21/21/2111/211()1()()22()()22n n n nj j j j n n n nn j j j j j n n n n n j j j j j u u f f a f u u u u a f u u u u λλλ++-+++---=--=+--=+-- (3)Lax -Wendroff 格式 (second order )()()1211112222n n n n j j j jn n n j j j uu u u a t au u u txx++-+---∆+=-+∆∆∆。
或11/21/221/21121/211()()()22()()22n n n n j j j j n n nn n j j j j j n n nn n j j j j j u u f f a a fu u u u a a f u u u u λλλ++-+++---=--=+--=+--(4)Warming -Beam 格式 (Second order )()()()()12122121212212342022342022n n nn n jj j j jn n n j j j n n n n n j j j j jn n nj j j uu u u u a t au u u a txxu u u u u a t au u u a txx+----+++++-+-∆+=-+>∆∆∆-+--∆+=-+<∆∆∆2.二阶以上的差分或有限体积格式在间断附近的解可能会出现振荡。
计算流体力学数值格式
计算流体力学数值格式
计算流体力学是研究流体运动的物理学分支,而数值方法则是用数值计算的方式对流体力学方程进行求解。
在计算流体力学中,常用的数值格式包括有限差分法(Finite Difference Method)、有限体积法(Finite V olume Method)和有限元法(Finite Element Method)。
下面将简要介绍这些数值格式:
1. 有限差分法:有限差分法是将求解区域划分为离散的网格,通过近似表示导数和二阶导数的差商形式,将偏微分方程转化为代数方程组。
然后通过迭代求解代数方程组来获得流场的数值解。
2. 有限体积法:有限体积法基于质量守恒原理,将求解区域划分为离散的控制体积单元。
通过对每个控制体积应用质量守恒、动量守恒和能量守恒方程,得到离散形式的方程组。
最后通过迭代求解离散方程组来获得数值解。
3. 有限元法:有限元法通过将求解区域划分为离散的单元,然后在每个单元上构建插值函数,将偏微分方程转化为代数方程组。
通过求解这个代数方程组来获得流场的数值解。
这些数值格式在计算流体力学中具有不同的适用性和特点,一般需要根据具体问题的特征和求解要求选择合适的数值方法。
此外,还有其他的数值格式和方法,如SPH(Smoothed Particle Hydrodynamics)方法、边界元法等,用于特定的求解问题或特定的流体力学模拟场景。
计算流体力学---报告
计算流体力学——计算机编程报告班级: 09083201学号: 0908320125: 马海涛一.题目:非定常热传导方程∂u∂t =γ∂2u∂x 2(γ>0)初值问题的有限分差求解。
求解域(x,t)∈[0,1]×[0,∞],初值条件和边界条件为{u (x ,0)=f (x )u (0,t )=a (t )u (1,t )=b (t )其中,γ=1。
处置边界条件具体取法为 F(x)= {0 0<x <0.31 0.3≤x ≤0.7−103x +1030.7≤x ≤1.0取网格点数M x =101,要求计算t=0.01,0.1,1,10时的数据。
计算中时间步长的取法为x =γ∆t ∆x 2=0.1,0.5,1。
差分格式:FTCS 格式,BTCS 格式二.分析:编制通用过程,给定参数由手动输入获得,将给定参数带入相应方程得到不同格式不同参数下的数值解,再将数据输出进行处理。
程序界面如下:三.编程过程:(1)FTCS 格式:根据FTCS 格式解法第一步利用边界条件置n=0,为差分格式赋初值,编程步骤为:For i = 1 To 100 '赋初值x(i) = x(i - 1) + 0.01u(1, i) = 0u(0, i) = 0NextFor i = 0 To 100 '求函数 If x(i) < 0.3 Thenf(i) = 0ElseIf x(i) >= 0.3 And x(i) <= 0.7 Thenf(i) = 1ElseIf x(i) > 0.7 And x(i) < 1 Thenf(i) = (-10 / 3) * x(i) + 10 / 3End IfNextFor i = 0 To 100 '为数组u赋初值 u(i, 0) = f(i)Next第二步:利用循环求解点数值解,并将相应边界条件带入,在计算t 值大于等于输入t值时停止循环,因为迭代循环的一个数据只与它的前一个数据有关,为了节省存在编程时循环当中不断地用本次得到的数据赋给上一个变量,以达到释放前n-2个变量所占用的存。
计算流体力学作业
计算流体力学课程作业任课教师:***姓名:学号:指导老师:目录1.写出通用方程,并说明如何代表各类守恒方程。
(1)2.推导流体运动的质量、动量守恒方程。
(2)3.简述源项线性化、网格划分问题。
(5)4.用ddx (KðTðx)+S=0,谈谈边界条件如何处理。
(7)5.用有限体积法离散ρc ðTðt=ððx(KðTðx),并推广到二维、三维问题,写出过程。
(8)6.从不同角度对流体运动分类。
(11)7.谈谈物理模型试验与计算流体力学方法的关系。
(12)8.讨论离散对流项时离散格式的进化过程。
(13)9.利用幂函数格式离散二维、三维通用方程的离散方程。
(14)10.解释交错网格的概念。
(15)11.简述压力校正法解N-S方程的过程。
(15)12.思考∑a nb v nb′为什么可以省去。
(17)1.写出通用方程,并说明如何代表各类守恒方程。
答:(1)写出通用方程。
在Cartesian坐标系下单位体积黏性流动N-S方程组微分形式如下:{ðρðt+∇∙(ρV)=0 (1)ðρuðt+∇∙(ρuV)=∇∙(μ∇u)+13μ[ððx(∇∙V)]−ðpðx+F x+S mx(2a)ðρvðt+∇∙(ρvV)=∇∙(μ∇v)+13μ[ððy(∇∙V)]−ðpðy+F y+S my(2b)ðρw ðt +∇∙(ρwV)=∇∙(μ∇w)+13μ[ððz(∇∙V)]−ðpðz+F z+S mz(2c)ðρeðt+∇∙(ρeV)=∇∙(k∇T)−p(∇∙V)+Φ+Q (3)上述微分形式黏性流动N-S方程组中,式(1)为连续性方程,式(2a)、(2b)、(2c)分别为x、y、z方向上的动量方程,式(3)为能量方程。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
% 一维对流方程迎风格式、Lax格式、FTCS格式差分法计算
% 潭花林清华大学航天航空学院
% FTCS格式对于一维对流方程不稳定,最好不用
clc
clear all
% 1.参数定义
dx=1;
x1=-18;
x2=18;
x=x1:dx:x2;
L1=length(x);
% dt=0.5*dx; % 收敛
dt=2*dx; % 不收敛
t1=0;
t2=t1+80*dt;
t=t1:dt:t2;
L2=length(t);
alpha=1;
lambda=alpha*dt/dx;
geshi=1; % 迎风格式
% geshi=2; % Lax格式
% geshi=3; % FTCS格式
% 2.显式求解
zeta=zeros(L1,L2);
for kk=1:3
geshi=kk;
for ii=1:L1
if x(ii)>0
zeta(ii,1)=1;
else
if x(ii)==0
zeta(ii,1)=1/2;
else
if x(ii)<0
zeta(ii,1)=0;
end
end
end
end
if geshi==1
for ii=2:L1
for jj=1:(L2-1)
zeta(ii,jj+1)=zeta(ii,jj)-lambda*(zeta(ii,jj)-z eta(ii-1,jj));
end
zeta(1,jj+1)=zeta(2,jj+1);
end
zeta1=zeta;
else if geshi==2
for ii=2:(L1-1)
for jj=1:(L2-1)
zeta(ii,jj+1)=(zeta(ii+1,jj)+zeta(ii-1,jj))/2-. ..
lambda/2*(zeta(ii+1,jj)-zeta(ii-1,jj));
end
zeta(1,jj+1)=zeta(2,jj+1);
zeta(L1,jj+1)=zeta(L1,jj)-lambda*(zeta(L1,jj)-z eta(L1-1,jj));
end
zeta2=zeta;
else if geshi==3
for ii=2:(L1-1)
for jj=1:(L2-1)
zeta(ii,jj+1)=zeta(ii,jj)-lambda/2*(zeta(ii+1,j j)-zeta(ii-1,jj));
end
zeta(1,jj+1)=zeta(2,jj+1);
zeta(L1,jj+1)=zeta(L1,jj)-lambda*(zeta(L1,jj)-z eta(L1-1,jj));
end
zeta3=zeta;
end
end
end
end
% 3.绘图
% 3.1 t=0
figure(1)
n=1;
plot(x,zeta1(1:L1,n),'-k',x,zeta2(1:L1,n),'-.k' ,x,zeta3(1:L1,n),'--k')% 作图
% axis equal %%% 是否要求x、y坐标间距相等
% grid on %%% 是否要求画网格
xlabel('x/m'),ylabel('t/s') % %% x,y轴表示的变量含义
%text(1,2,'f(x)') %%% 图中文字标识
legend('迎风格式','Lax格式','FTCS格式
') %%% 不同曲线的线型区分
title('t=0时刻的计算结果') %%% 标题axis([-18,18,-0.2,1.2])
% 3.2 t=10
figure(2)
n=(10-t(1))/dt;
plot(x,zeta1(1:L1,n),'-k',x,zeta2(1:L1,n),'-.k' ,x,zeta3(1:L1,n),'--k')% 作图
% axis equal %%% 是否要求x、y坐标间距相等
% grid on %%% 是否要求画网格
xlabel('x/m'),ylabel('t/s') % %% x,y轴表示的变量含义
%text(1,2,'f(x)') %%% 图中文字标识
legend('迎风格式','Lax格式','FTCS格式
') %%% 不同曲线的线型区分
title('t=10s时刻的计算结果') %%% 标题
% 3.3 t=20
figure(3)
n=(20-t(1))/dt;
plot(x,zeta1(1:L1,n),'-k',x,zeta2(1:L1,n),'-.k' ,x,zeta3(1:L1,n),'--k')% 作图
% axis equal %%% 是否要求x、y坐标间距相等
% grid on %%% 是否要求画网格
xlabel('x/m'),ylabel('t/s') %
%% x,y轴表示的变量含义
%text(1,2,'f(x)') %%% 图中文字标识
legend('迎风格式','Lax格式','FTCS格式
') %%% 不同曲线的线型区分
title('t=20s时刻的计算结果') %%% 标题
% 3.4 t=40
figure(4)
n=(40-t(1))/dt;
plot(x,zeta1(1:L1,n),'-k',x,zeta2(1:L1,n),'-.k' ,x,zeta3(1:L1,n),'--k')% 作图
% axis equal %%% 是否要求x、y坐标间距相等
% grid on %%% 是否要求画网格
xlabel('x/m'),ylabel('t/s') % %% x,y轴表示的变量含义
%text(1,2,'f(x)') %%% 图中文字标识
legend('迎风格式','Lax格式','FTCS格式
') %%% 不同曲线的线型区分
title('t=40s时刻的计算结果') %%% 标题。