一维对流扩散方程的数值解法

一维对流扩散方程的数值解法
一维对流扩散方程的数值解法

一维对流扩散方程的数值解法

对流-扩散方程是守恒定律控制方程的一种模型方程,它既是能量方程的表示形式,同时也可以认为是把压力梯度项隐含到了源项中去的动量方程的代表。因此,以对流-扩散方程为例,来研究数值求解偏微分方程的相容性、收敛性和稳定性具有代表性的意义。

1 数学模型

本作业从最简单的模型方程,即一维、稳态、无源项的对流扩散方程出发,方程如下: 22, 02f f f

U D x t x x

???+=≤≤??? (1)

初始条件 (),0sin(2)f x t A kx π==

(2)

解析解

()()()224,sin 2Dk t

f x t e

A k x Ut ππ-=-

(3)

式中,1,0.05,0.5,1U D A k ====

函数(3)描述的是一个衰减波的图像,如图1所示

t=0 t=0.5 t=1

图1 函数()()()224,sin 2Dk t

f x t e

k x Ut ππ-=- 的图像(U=1,D=0.05,k=1)

2 数值解法

2.1 数值误差分析

在网格点(),i n 上差分方程的数值解n

i f 偏离该点上相应的偏微分方程的精确解

(),f i n 的值,称为网格节点上的数值误差。

当取定网格节点数21N =时,观察差分方程的解与微分方程的解在不同时间步长下的趋近程度,其中时间步长分别取值0.05,0.025,0.0125,0.0005t ?=。

(a )21,0.05N t =?= (b )21,0.025N t =?=

(c )21,0.0125N t =?= (d )201,0.0005N t =?=

图2 数值误差随步长的变化情况

从图2的(a)~(d)可以定性的看出,数值误差与步长的大小有关。在满足稳定性条件的前提下,数值误差随着时间步长的减小而减小,同时,图(d )表示增大网格的分辨率也有助于减小网格误差。

为了对数值误差有一个定量的认识,接下来取定时间步长为0.0005t ?=,分别算出

11,21,41,61,81,101,121,161N =时,指标E =1所示。

表1 不同网格节点数下指标E 的值

由表1可以看出,指标E 的值随着网格节点数的增加呈先大幅减小后平缓变化的趋势,该趋势示于图3中。

(a ) (b )

图3 不同网格节点数下指标E 的值

在图3的(a )和(b )中,随着网格节点数的增加,曲线最后都趋于水平,即此时再增加网格节点数,对于提高数值求解的精确性作用不大。 2.2 截断误差分析

对于方程

()5f x x =

(4)

其一阶导数和二阶导数的精确解分别为4

5f x x

?=?和23220f x x ?=?。

一阶导数和二阶导数的中心差分表示式分别为

211()2i i f f f

o h x h

+--?=+?和221122

2()i i i f f f f

o h x h

+--+?=+?,2()o h 为截断误差。 当空间步长分别取值为0.2,0.1,0.05,0.025,0.0125h =时,节点()1i x =取处一阶导数和二阶导数的精确解与离散解的差值见表2。

表2 截断误差随空间步长的变化

图示如下

图4 截断误差随空间步长的变化

由图4可以看出,截断误差随着步长的减小而减小,当步长趋近于0时,截断误差趋近于0。

3 结论

(1)在满足稳定性条件的前提下,数值误差随着时间步长的减小而减小。而对于空间步长的减小,数值误差呈先大幅减小后变平缓的趋势,即存在一个网格无关解的网格节点数。

(2)对于导数在空间上的离散,二阶精度的中心差分格式能较好的满足数值求解精确性的要求,当选取合适的步长时,其精确性也将显著提高。

%% =============================================================== clear

clc

format long

%% ===============================================================

U=1;D=0.05;k=1;A=0.5;

T=0.5;dt=0.05;m=T/dt;

L=2;N=21;h=L/(N-1);

%% ===============================================================

E0=0; E=0; %误差估计

%% ===============================================================

x=linspace(0,L,N);y=[1:N];

for i=1:N

f0(i)=A*sin(2*pi*k*x(i)); %初始条件

end

%% ===============================================================

for is=1:m,is

%% =============================================================== for i=2:N-1

f(i)=f0(i)-(U*dt/(2*h))*(f0(i+1)-f0(i-1))+(D*dt/(h^2))*(f0(i+1)-2 *f0(i)+f0(i-1));

end

%f(1)=f0(1)-(U*dt/(2*h))*(f0(2)-f0(N-1))+(D*dt/(h^2))*(f0(2)-2*f0 (1)+f0(N-1)); %边界条件

%f(N)=f0(N)-(U*dt/(2*h))*(f0(2)-f0(N-1))+(D*dt/(h^2))*(f0(2)-2*f0 (N)+f0(N-1)); %边界条件

f(1)=exp(-4*D*k^2*pi^2*dt*is)*A*sin(2*pi*k*(0-U*dt*is)); %边界条件 f(N)=exp(-4*D*k^2*pi^2*dt*is)*A*sin(2*pi*k*(L-U*dt*is)); %±边界条件 f0=f;

end

%% ===============================================================

for i=1:N

fexact(i)=exp(-4*D*k^2*pi^2*T)*A*sin(2*pi*k*(x(i)-U*T));

E0=(f(i)-fexact(i))^2+E0;

end

E=h*sqrt(E0)

%% ===============================================================

f1=exp(-4*D*k^2*pi^2*T)*A*sin(2*pi*k*(x-U*T));

plot(y,f1,'r',y,f,'b','linewidt',2),legend('Exact','Numerical'),axis( [1 N -2 2]),grid on

%plot(y,f1,'r','linewidt',4),legend('Exact'),axis([1 N -2 2]),grid on %hold on

%plot(y,f,'b','linewidt',2),legend('Numerical')

%==================================================================== i=1; %?ói(x=1)?úμ?é?μ?μ?êy?μ

h=[0.2,0.1,0.05,0.025,0.0125];

%==================================================================== for n=1:5

f1(n)=((i+h(n))^5-(i-h(n))^5)/(2*h(n)); %f=x^5;

f2(n)=((i+h(n))^5-2*i^5+(i-h(n))^5)/(h(n))^2;

E1(n)=f1(n)-5*i^4;

E2(n)=f2(n)-20*i^2;

end

%==================================================================== loglog(1./h,E1,'o-',1./h,E2,'*-'),xlabel('1/h'),ylabel('Error'),... legend('first-order derivative','second-order derivative')

对流扩散方程

徐州工程学院 课程设计报告 课程名称偏微分方程数值解 课题名称对流扩散方程 的迎风格式的推导和求解专业信息与计算科学 班级10信计3 姓名学号 指导教师杨扬 2013年 5 月23 日

一、实验目的: 进一步巩固理论学习的结果,学习双曲型对流扩散方程的迎风格式的构造 方法,以及稳定的条件。从而进一步了解差分求解偏微分方程的一些基本概念,掌握数值求解偏微分方程的基本过程。在此基础上考虑如何使用Matlab 的软件进行上机实现,并针对具体的题目给出相应的数值计算结果。 二、实验题目: ?? ? ??-=-==<<<<+=+);2/1exp(),1();exp(),0();2/exp()0,(10,10,11t t u t t u x x u t x f u b u a u xx x t 其中a1=1,b1=2, ) 2/exp(),(t x t x f --=。 用迎风格式求解双曲型对流扩散方程,观差分解对真解的敛散性()2/exp(t x u -= 三、实验原理: 1、用迎风格式求解双曲型对流扩散方程,迎风格式为: ) 01(21 1 )01(2112 1 1112 1 11 1<++-=-+->++-=-+--+++-+-+a f h u u u b h u u a u u a f h u u u b h u u a u u n j n j n j n j n j n j n j n j n j n j n j n j n j n j n j n j τ τ 若令,/*1,/*12h b h a r τμτ== 则迎风格式可整理为: > <<++-+-+=><>++++--=-+++-+2)01()()21(1)01()()21(111111a f u u r u r u a f u u r u r u n j n j n j n j n j n j n j n j n j n j τμμμτμμμ2、稳定条件: ) () (01),*11*2/(01),*11*2/(2 2<-≤>+≤a h a b h a h a b h ττ(*) 四、数值实验的过程、相关程序及结果: 本次的实验题目所给出的边界条件是第一边界条件,直接利用所给的边界条件,我们可以给出界点处以及第0层的函数值,根据a1的正负性,使用相应的<1>或者<2>式,求出其他层的函数值。误差转化成图的形式,并输出最大值。 针对三种不同的输入对应输出结果 :

第三章 一维扩散方程

第三章 一维扩散方程 本章讨论一维扩散方程。首先,从随机过程中的一维扩散方程的讨论可直接得到扩散方程的解。然后对非齐次和各类边值问题相应的扩散方程作了讨论。讨论的方程类型 (1)直线上的齐次和非齐次扩散方程: 2,,0 (,0)() t xx u c u x t u x x ??=-∞<<∞>? =?;(利用随机过程的理论得到结论,再直接验证) (,),,0 (,0)() t xx u ku f x t x t u x x ?-=-∞<<∞>?? =?;(算子方法,与常微分方程类比) (2)半直线上的扩散方程0,0,0(,0)(),(0,)0t xx u ku x t u x x u t ?-=<<∞>?? =??=? ;(其它非齐次边界等) 对扩散方程理论方面的探讨:最大(最小)值原理。由此证明方程解的唯一性和稳定性。 §3.1全直线上的扩散方程 首先讨论随机过程中的扩散过程。设想粒子在一维直线上作连续随机游动(Brown 运动),满足性质:在t ?时间内位移转移概率为均值为0,方差为2 t σ?的正态分布。在时刻t 处于x 的概率密度记为(,)Pr(())u x t dx X t x dx ==。则 2 ()2(,)(,)x y t u x t t u y t dy σ-∞ -?-∞+?=?, 或 2 2 (,)(,)y u x t t u x y t dy ∞ -+?= +? 2222 1 [(,)(,)(,)()]2 y x xx u x t u x t y u x t ty o t dy σ∞ - = ++?+?? 21 (,)(,)()2 xx u x t u x t t o t σ=+?+? 因此, 2 2 t xx u u σ= 。 可见:一维Brown 运动的状态概率密度满足扩散方程。 从随机过程的角度,可直接写出状态概率密度: 22()2(,)(,0)y x t u x t e u y dy σ-∞ - = ?。 所以,有如下定理。 定理 扩散方程2,,0 (,0)() t xx u c u x t u x x ??=-∞<<∞>?=?的解为

抛物形扩散方程的有限差分法及数值实例

偏微分方程数值解 所在学院:数学与统计学院 课题名称:抛物形扩散方程的有限差分法及数值实例学生姓名:向聘

抛物形扩散方程的有限差分法及数值实例 1.1抛物型扩散方程 抛物型偏微分方程是一类重要的偏微分方程。考虑一维热传导方程: 22(),0u u a f x t T t x ??=+<≤?? (1.1.1) 其中a 是常数,()f x 是给定的连续函数。按照初边值条件的不同给法,可将(1.1.1)的定解分为两类: 第一,初值问题(Cauchy 问题):求足够光滑的函数()t x u ,,满足方程(1.1.1)和初始条件: ()()x x u ?=0,, ∞<<∞-x (1.1.2) 第二,初边值问题(也称混合问题):求足够光滑的函数()t x u ,,满足方程(1.1.1)和初始条件: ()()x x u ?=0,, 0x l << (1.1.3) 及边值条件 ()()0,,0==t l u t u , T t ≤≤0 (1.1.4) 假定()x f 和()x ?在相应的区域光滑,并且于()0,0,()0,l 两点满足相容条件,则上述问题有唯一的充分光滑的解。 1.2抛物线扩散方程的求解 下面考虑如下热传导方程 22()(0.)(,)0(,0)()u u a f x t x u t u L t u x x ????=+????? ==??=??? (1.2.1) 其中,0x l <<,T t ≤≤0,a (常数)是扩散系数。 取N l h = 为空间步长,M T =τ为时间步长,其中N ,M 是自然数,用两族

平行直线jh x x j ==, ()N j ,,1,0 =和k t t k τ ==, ()M k ,,1,0 =将矩形域 G {}T t l x ≤≤≤≤=0;0分割成矩形网格。其中 (),j k x t 表示网格节点;h G 表示 网格内点(位于开矩形G 中的网格节点)的集合;h G 表示位于闭矩形G 中的网格节点的集合;h Γ表示h G -h G 网格边界点的集合。 k j u 表示定义在网点(),j k x t 处的待求近似解,N j ≤≤0,M k ≤≤0。 现在对方程进行差分近似: (一) 向前差分格式 =-+τ k j k j u u 111 2 2(())k k k j j j j j j u u u a f f f x h +--++= (1.2.2) ()j j j x u ??==0, k u 0=k N u =0 (1.2.3) 计算后得: 111(12)k k k k j j j j j u ru r u ru f τ++-=+-++ (1.2.4) 其中,2 a r h τ = ,1,,1,0-=N j ,1,,1,0-=M k 。 显然,这是一个四点显示格式,每一层各个节点上的值是通过一个方程组求解到的。方程组如下: 1000 121011000 232121000 3432310001121(12)(12)(12)(12)N N N N N u ru r u ru f u ru r u ru f u ru r u ru f u ru r u ru f ττττ----?=+-++?=+-++??=+-++? ???=+-++? (1.2.5) 若记 () T k N k k k u u u 1 21,,,-= u ,()()()()T N x x x 121,,,-=???? ,()()()()T N x f x f x f 121,,,-=τττ f 则显格式(1.2.4)可写成向量形式 10 ,0,1,,1 k k k M φ +?=+=-?=? u Au f u (1.2.6) 其中

微分方程数值解法

《微分方程数值解法》 【摘要】自然界与工程技术中的很多现象,可以归结为微分方程定解问题。其中,常微分方程求解是微分方程的重要基础内容。但是,对于许多的微分方程,往往很难得到甚至不存在精确的解析表达式,这时候,数值解提供了一个很好的解决思路。,针对于此,本文对常微分方程数值解法进行了简单研究,主要讨论了一些常用的数值解法,如欧拉法、改进的欧拉法、Runge —Kutta 方法、Adams 预估校正法以及勒让德谱方法等,通过具体的算例,结合MA TLAB 求解画图,初步给出了一般常微分方程数值解法的求解过程。同时,通过对各种方法的误差分析,让大家对各种方法的特点和适用范围有一个直观的感受。 【关键词】 常微分方程 数值解法 MA TLAB 误差分析 引言 在我国高校,《微分方程数值解法》作为对数学基础知识要求较高且应用非常广泛的一门课程,不仅 在数学专业,其他的理工科专业的本科及研究生教育中开设这门课程.近四十年来,《微分方程数值解法》不论在理论上还是在方法上都获得了很大的发展.同时,由于微分方程是描述物理、化学和生物现象的数学模型基础,且它的一些最新应用已经扩展到经济、金融预测、图像处理及其他领域 在实际应用中,通过相应的微分方程模型解决具体问题,采用数值方法求得方程的近似解,使具体问题迎刃而解。 2 欧拉法和改进的欧拉法 2.1 欧拉法 2.1.1 欧拉法介绍 首先,我们考虑如下的一阶常微分方程初值问题 ???==0 0)() ,('y x y y x f y (2--1) 事实上,对于更复杂的常微分方程组或者高阶常微分方程,只需要将x 看做向量,(2--1)就成了一个一阶常微分方程组,而高阶常微分方程也可以通过降阶化成一个一阶常微分方程组。 欧拉方法是解常微分方程初值问题最简单最古老的一种数值方法,其基本思路就是把(2--1)中的导数项'y 用差商逼近,从而将一个微分方程转化为一个代数方程,以便求解。 设在[]b a ,中取等距节点h ,因为在节点n x 点上,由(2--1)可得:

对流扩散方程引言

对流扩散方程的定解问题是指物质输运与分子扩散的物理过程和黏性流体流动的数学模型,它可以用来描述河流污染、大气污染、核污染中污染物质的分布,流体的流动和流体中热传导等众多物理现象。关于对流扩散方程的求解很也备受关注,因此寻找一种稳定实用的数值方法有着重要的理论与实际意义。 求解对流扩散方程的数值方法有多种,尤其是对流占优扩散方程,这些方法有迎风有限元法,有限体积法,特征有限体积法,特征有限差分法和特征有限元法,广义差分法,流线扩散法,以及这些方法与传统方法相结合的方法如迎风广义差分法,迎风有限体积法有限体积——有限元法等这些方法数值求解效果较好,及有效的避免了数值震荡,有减少了数值扩散,但是一般计算量偏大 近年,许多研究者进行了更加深入的研究,文献提出了对流扩散方程的特征混合元法,再次基础上,陈掌引入了特征间断混合元方法,还有一些学者将特征线和有限体积法相结合,提出了特征有限体积元方法(非线性和半线性),于此同时迎风有限元也得到较大的发展,胡建伟等人研究了对流扩散问题的Galerkin 部分迎风有限元方法和非线性对流扩散问题的迎风有限元,之后又有人对求解发展型对流扩散问题的迎风有限元法进行了理论分析 有限差分法和有限元是求解偏微分方程的常用数值方法,一般情况下考虑对流占优的扩散方程,当对流项其主导作用时,其解函数具有大梯度的过渡层和边界层,导致数值计算困难,采用一般的有限元或有限体积方法虽然具有形式上的高精度,不能解决数值震荡的问题,虽然我们不能简单的将对流占优扩散方程看做对流方程,但由于次方程中含有一阶不对称的导数,对流扩散方程仍会表现出“对流效应”,从而采用迎风格式逼近,尽量反应次迎风特点,此格式简单,克服了锋线前沿的数值震荡,计算结果稳定,之前的迎风格式只能达到一阶精度,我们采用高精度的广义迎风格式,此格式是守恒的,精度高,稳定性好,具有单调性,并且是特征线法的近似,有效的避免了锋线前沿的数值震荡。 有限体积是求解偏微分方程的新的离散技术,日益受到重视。有限体积与有限差分、有限元法最大的区别及优点在于有限体积将求解区域内的计算转化到控制体积边界上进行计算,而后二者均是直接(或间接)在域内计算,故有限体积有着明显的物理涵义,在很大程度上减少计算工作量又能满足计算精度要求,加快收敛速度。由于此方法讲散度的积分化为子域边界积分后子啊离散,数值解满足离散守恒,而且可以采用非结构网格,所以在计算物理特别是计算流体力学领域上有限体积有广阔的前景。 间断Galerkin(DG)方法是在1973年,Reed和Hill在求解种子迁移问题时,针对一阶双曲问题的物理特点提出的。之后C.Johnson,G.R.Richter等人对双曲问题的DG方法做了进一步的研究,并且得到了该机的误差分析结果,由于这种方法具有沿流线从“上游”到“下游”逐层逐单元计算的显示求解的特点,并且可以进行并行计算,所以被广泛应用于各类方程的求解。最近Douglas等人在{25}中处理二阶椭圆问题时,得到DG方法的有限元空间不需要满足任何连续性条件,因此空间构造简单,具有较好的局部性和并行性。DG发展的一个重要方面是对对流占优扩散方程的应用。G.R.Richter等在1992年提出利用DG方法求解定长对流扩散问题 近年DG方法有了新的发展,其中YeXiu提出间断体积元方法备受人们关注,2004年,她将有限体积法与DG相结合,提出了椭圆问题的间断有限体积法,此方法解除了逼近函数在跨越边界上连续的限制,之后更多的研究者应用到Stokes问题,抛物问题,双曲问题,并得到了较好的结果,该方法不但继承了有限体积的高精度计算简单及保持物理间局部守恒等优点,而且有限元空间无需满足任何连续性要求,空间构造简单,有较好的局部和并行性。 当对流扩散方程中的对流项占主导地位时,方程具有双曲方程的特点,这是由于对流扩散方程中的非对称的对流项所引起的迎风效应使对流扩散方程的数值求解更困难,用传统的中心差分法和标准的有限元求解会差生数值的震荡,从而使数值模拟失真,为了克服这一困难,早在20世纪50年代,就有人提出了迎风思想,由于使用迎风技巧可以有效的消除数值解不稳定性,因此吸引了众多学者的关注,从1977年,Tabata等人就针对对流扩散方程提出了三角形网格上的迎风格式{42,38},并进行了深入的研究,梁栋基于广义差分法,提出并分析了一类建立在三角网格上的广义迎风差分格式,袁益让2001年就多层渗流方程组合系统提出并分析了迎风分数步长差分方法,以上均是讨论的线性对流扩散问题,胡建伟等通过引入质量集中算子,构造并分析了一类基于三角网格的质量集中型的部分有限元方法处理线性和非线性对流扩散问

一维扩散方程的差分法matlab

一维扩散方程的差分法 m a t l a b Company number【1089WT-1898YT-1W8CB-9UUT-92108】

一维扩散方程的有限差分法 ——计算物理实验作业七 陈万 题目: 编程求解一维扩散方程的解 取1.0,1.0,1.0,10,0.1,0,1,1,0,1,1max 0222111======-=====τh D t a c b a c b a 。输出t=1,2,...,10时刻的x 和u(x),并与解析解u=exp(x+0.1t)作比较。 主程序: % 一维扩散方程的有限差分法 clear,clc; %定义初始常量 a1 = 1; b1 = 1; c1 = 0; a2 = 1;b2 = -1; c2 = 0; a0 = 1.0; t_max = 10; D = 0.1; h = 0.1; tao = 0.1; %调用扩散方程子函数求解 u = diffuse_equation(a0,t_max,h,tao,D,a1,b1,c1,a2,b2,c2); 子程序1: function output = diffuse_equation(a0,t_max,h,tao,D,a1,b1,c1,a2,b2,c2) % 一维扩散方程的有限差分法,采用隐式六点差分格式(Crank-Nicolson) % a0: x 的最大值 % t:_max: t 的最大值

% h: 空间步长 % tao: 时间步长 % D:扩散系数 % a1,b1,c1是(x=0)边界条件的系数;a2,b2,c2是(x=a0)边界条件的系数 x = 0:h:a0; n = length(x); t = 0:tao:t_max; k = length(t); P = tao * D/h^2; P1 = 1/P + 1; P2 = 1/P - 1; u = zeros(k,n); %初始条件 u(1,:) = exp(x); %求A矩阵的对角元素d d = zeros(1,n); d(1,1) = b1*P1+h*a1; d(2:(n-1),1) = 2*P1; d(n,1) = b2*P1+h*a2; %求A矩阵的对角元素下面一行元素e e = -ones(1,n-1);

偏微分方程数值解法答案

1. 课本2p 有证明 2. 课本812,p p 有说明 3. 课本1520,p p 有说明 4. Rit2法,设n u 是u 的n 维子空间,12,...n ???是n u 的一组基底,n u 中的任一元素n u 可 表为1n n i i i u c ?==∑ ,则,11 11()(,)(,)(,)(,)22j n n n n n n i j i j j i j j J u a u u f u a c c c f ???=== -=-∑∑是12,...n c c c 的二次函数,(,)(,)i j j i a a ????=,令 () 0n j J u c ?=?,从而得到12,...n c c c 满足1 (,)(,),1,2...n i j i j i a c f j n ???===∑,通过解线性方程组,求的i c ,代入1 n n i i i u c ?==∑, 从而得到近似解n u 的过程称为Rit2法 简而言之,Rit2法:为得到偏微分方程的有穷维解,构造了一个近似解,1 n n i i i u c ?== ∑, 利用,11 11()(,)(,)(,)(,)22j n n n n n n i j i j j i j j J u a u u f u a c c c f ???===-=-∑∑确定i c ,求得近似解n u 的过程 Galerkin 法:为求得1 n n i i i u c ? == ∑形式的近似解,在系数i c 使n u 关于n V u ∈,满足(,)(,) n a u V f V =,对任 意 n V u ∈或(取 ,1j V j n ?=≤≤) 1 (,)(,),1,2...n i j i j i a c f j n ???===∑的情况下确定i c ,从而得到近似解1 n n i i i u c ?==∑的过程称 Galerkin 法为 Rit2-Galerkin 法方程: 1 (,)(,)n i j i j i a c f ???==∑ 5. 有限元法:将偏微分方程转化为变分形式,选定单元的形状,对求解域作剖分,进而构 造基函数或单元形状函数,形成有限元空间,将偏微分方程转化成了有限元方程,利用 有效的有限元方程的解法,给出偏微分方程近似解的过程称为有限元法。 6. 解:对求解区间进行网格剖分,节点01......i n a x x x x b =<<<<=得到相邻节点1,i i x x -

对流扩散方程有限差分方法.

对流扩散方程有限差分方法 求解对流扩散方程的差分格式有很多种,在本节中将介绍以下3种有限差分格式:中心差分格式、Samarskii 格式、Crank-Nicolson 型隐式差分格式。 3.1 中心差分格式 时间导数用向前差商、空间导数用中心差商来逼近,那么就得到了(1)式的中心差分格式]6[ 2 1 11 1122h u u u v h u u a u u n j n j n j n j n j n j n j -+-+++-=-+-τ (3) 若令 h a τ λ=,2h v τ μ=,则(3)式可改写为 )2()(2 111111 n j n j n j n j n j n j n j u u u u u u u -+-+++-+--=μλ (4) 从上式我们看到,在新的时间层1+n 上只包含了一个未知量1 +n j u ,它可以由时间层n 上的值n j u 1-,n j u ,n j u 1+直接计算出来。因此,中心差分格式是求解对 流扩散方程的显示格式。 假定),(t x u 是定解问题的充分光滑的解,将1 +n j u ,n j u 1+,n j u 1-分别在),(n j t x 处 进行Taylor 展开: )(),(),(211ττO t u t x u t x u u n j n j n j n j +??? ?????+==++ )(2),(),(3 22211 h O x u h x u h t x u t x u u n j n j n j n j n j +????????+????????+==++ )(2),(),(3 22211 h O x u h x u h t x u t x u u n j n j n j n j n j +????????+????????-==-- 代入(4)式,有 2 111 1122),(h u u u v h u u a u u t x T n j n j n j n j n j n j n j n j -+-+++---+-= τ )()()(2222 h O v x u v h O a x u a O t u n j n j n j ?-????????-?+????????++????????=τ )()()(222h O v a O x u v x u a t u n j n j n j ?-++????????-??? ?????+????????=τ

一维对流扩散方程的数值解法

一维对流扩散方程的数值解法 对流-扩散方程是守恒定律控制方程的一种模型方程,它既是能量方程的表示形式,同时也可以认为是把压力梯度项隐含到了源项中去的动量方程的代表。因此,以对流-扩散方程为例,来研究数值求解偏微分方程的相容性、收敛性和稳定性具有代表性的意义。 1 数学模型 本作业从最简单的模型方程,即一维、稳态、无源项的对流扩散方程出发,方程如下: 22, 02f f f U D x t x x ???+=≤≤??? (1) 初始条件 (),0sin(2)f x t A kx π== (2) 解析解 ()()()224,sin 2Dk t f x t e A k x Ut ππ-=- (3) 式中,1,0.05,0.5,1U D A k ==== 函数(3)描述的是一个衰减波的图像,如图1所示 t=0 t=0.5 t=1 图1 函数()()()224,sin 2Dk t f x t e k x Ut ππ-=- 的图像(U=1,D=0.05,k=1) 2 数值解法 2.1 数值误差分析 在网格点(),i n 上差分方程的数值解n i f 偏离该点上相应的偏微分方程的精确解 (),f i n 的值,称为网格节点上的数值误差。 当取定网格节点数21N =时,观察差分方程的解与微分方程的解在不同时间步长下的趋近程度,其中时间步长分别取值0.05,0.025,0.0125,0.0005t ?=。

(a )21,0.05N t =?= (b )21,0.025N t =?= (c )21,0.0125N t =?= (d )201,0.0005N t =?= 图2 数值误差随步长的变化情况 从图2的(a)~(d)可以定性的看出,数值误差与步长的大小有关。在满足稳定性条件的前提下,数值误差随着时间步长的减小而减小,同时,图(d )表示增大网格的分辨率也有助于减小网格误差。 为了对数值误差有一个定量的认识,接下来取定时间步长为0.0005t ?=,分别算出 11,21,41,61,81,101,121,161N =时,指标E =1所示。 表1 不同网格节点数下指标E 的值

基于Peclet数判别法的一维对流扩散方程分类研究

基于Peclet 数判别法的一维对流扩散方程分类研究 摘要:采用Peclet 数的绝对值大小来判别一维对流扩散方程为对流占优型或是扩散占优型方程,运用三种隐式差分格式—中心隐式格式、对流C-N 型格式和扩散C-N 格式,对不同Peclet 数的算例进行离散和求解。然后,将计算区域中所有节点的解析解与数值解表示成矩阵形式,并求解出它们的矩阵2范数之后作比较,两者越接近则代表差分格式精度越高。通过比较得出了当方程Peclet 数的绝对值小于等于0.5时,方程为扩散占优型方程。在离散方法选取方面,针对扩散项的离散可以采用更高精度的差分格式,如扩散C-N 格式;当Peclet 数的绝对值大于等于20时,方程为对流占优型方程。此时,针对对流项可以采用更高精度的差分格式,如对流C-N 格式;当Peclet 数的绝对值介于0.5与20之间时,无法用Peclet 数判断方程类型,不过可以选择折衷的离散格式减小误差,如中心隐式格式。 关键字:一维对流扩散方程 Peclet 数判别法 有限差分方法 数值模拟 MR(2010)主题分类号:39A14;65M06 中图分类号:O242.2 文献标识码: A 1.引言 一维对流扩散方程是描述流体流动和传热问题的一类线性化模型方程。土壤、大气等多孔介质中水、盐分、温度以及污染物质的对流扩散问题都会遇到此类方程。在一维对流扩散方程的求解过程中,反映流体对流和扩散两种物理作用的分别是对流项和扩散项。所以,根据方程中对流项还是扩散项占主导作用,通常可将方程分为对流占优型和扩散占优型两类方程。然而,要想得到精确度较高的数值结果,这两种类型方程的离散方法不能采用相同的离散格式。因此,需要有一种判别方法来判断方程的类型,关于对流占优型和扩散占优型方程的判别方法一直是近年来研究的热点问题。这对研究不同类型的方程使用合适的差分格式进行离散具有实际的意义。由于Peclet 数的绝对值表示了对流作用相对扩散作用的大小,即绝 大,扩散所起的作用就可以忽略。反之,当Peclet 数为零时,方程就为纯扩散方程。本文选用一维定解非稳态对流扩散方程为例,通过考察Peclet 数的绝对值大小来对方程进行分类,方程一般形式如下: 2(,),,0 122(1)(,0)()(,)(),(,)()12(,) u u u a f x t x x x t t x x u x g x u x t t u x t t u u x t υ?φ???? ?? ?? ????+=+≤≤≥???==== 其中a 和υ分别代表对流项系数和扩散项系数。假定求解区间长度为s , Peclet 数的绝对值

微分方程的分类及其数值解法

微分方程的分类及其数值解法 微分方程的分类: 含有未知函数的导数,如dy/dx=2x 、ds/dt=0.4都是微分方程。 一般的凡是表示未知函数、未知函数的导数与自变量之间的关系的方程,叫做微分方程。未知函数是一元函数的,叫常微分方程;未知函数是多元函数的叫做偏微分方程。微分方程有时也简称方程。 一、常微分方程的数值解法: 1、Euler 法: 00d (,), (1.1)d (), (1.2) y f x y x y x y ?=???=? 001 (),(,),0,1,,1n n n n y y x y y hf x y n N +=??=+=-? (1.4) 其中0,n b a x x nh h N -=+=. 用(1.4)求解(1.1)的方法称为Euler 方法。 后退Euler 公式???+==+++),,(),(111 00n n n n y x hf y y x y y 梯形方法公式 )].,(),([2 111+++++=n n n n n n y x f y x f h y y 改进的Euler 方法11(,),(,),1().2p n n n c n n p n p c y y hf x y y y hf x y y y y ++?=+??=+???=+??? 2、Runge-Kutta 方法: p 阶方法 : 1()O h -=?总体截断误差局部截断误差 二阶Runge-Kutta 方法 ??? ????++==++=+),,(),,(,2212 1211hk y h x f k y x f k k h k h y y n n n n n n

一维对流扩散方程的稳定性条件推导

一维稳态对流扩散方程稳定性条件的推导 姓名: 班级:硕5015 学号: 2015/12/15

证明: 一维稳态对流扩散方程: 22u x x φφρ??=Γ?? 采用控制容积积分法,对上图P 控制的容积作积分,取分段线性型线,对均分网格可得下列离散方程: ()()()()()()()()11112222e w e w P E W e w e w w w e e u u u u x x x x φρρφρφρδδδδ??????ΓΓΓΓ+-+=-++????????????????记:()()()()1122e w P e w w e a u u x x ρρδδΓΓ=+-+ ()()12 e E e e a u x ρδΓ=- ()()12w W w w a u x ρδΓ= + 定义通过界面的流量u ρ记为F ,界面上单位面积扩散阻力的倒数x δΓ记为D ,则原式简化为: P P E E W W a a a φφφ=+ 12 E e e a D F =- 12 W w w a D F =+ ()P E W e w a a a F F =++- 令 u x F Pe D ρδ==Γ 则 1111222 E W P Pe Pe φφφ????-++ ? ?????=

当Pe 大于2以后,数值解出现了异常;P φ小于其左右邻点之值,在无源项情 况下是不可能的。因为当2Pe >时系数12 E e e a D F =-小于零,即右边点的通过对流及扩散作用对中间点所产生的影响是负的,这会导致物理上产生不真实的解,所以2u x Pe ρδ=≤Γ 证毕。

一维扩散方程的差分法matlab

一维扩散方程的有限差分法 ——计算物理实验作业七 陈万 题目: 编程求解一维扩散方程的解 取1.0,1.0,1.0,10,0.1,0,1,1,0,1,1max 0222111======-=====τh D t a c b a c b a 。输出t=1,2,...,10时刻的x 和u(x),并与解析解u=exp(x+0.1t)作比较。 主程序: % 一维扩散方程的有限差分法 clear,clc; %定义初始常量 a1 = 1; b1 = 1; c1 = 0; a2 = 1;b2 = -1; c2 = 0; a0 = 1.0; t_max = 10; D = 0.1; h = 0.1; tao = 0.1; %调用扩散方程子函数求解 u = diffuse_equation(a0,t_max,h,tao,D,a1,b1,c1,a2,b2,c2); 子程序1:

function output = diffuse_equation(a0,t_max,h,tao,D,a1,b1,c1,a2,b2,c2) % 一维扩散方程的有限差分法,采用隐式六点差分格式 (Crank-Nicolson) % a0: x的最大值 % t:_max: t的最大值 % h: 空间步长 % tao: 时间步长 % D:扩散系数 % a1,b1,c1是(x=0)边界条件的系数;a2,b2,c2是(x=a0)边界条件的系数 x = 0:h:a0; n = length(x); t = 0:tao:t_max; k = length(t); P = tao * D/h^2; P1 = 1/P + 1; P2 = 1/P - 1;

常微分方程数值解法

i.常微分方程初值问题数值解法 常微分方程初值问题的真解可以看成是从给定初始点出发的一条连续曲线。差分法是常微分方程初值问题的主要数值解法,其目的是得到若干个离散点来逼近这条解曲线。有两个基本途径。一个是用离散点上的差商近似替代微商。另一个是先对微分方程积分得到积分方程,再利用离散点作数值积分。 i.1 常微分方程差分法 考虑常微分方程初值问题:求函数()u t 满足 (,), 0du f t u t T dt =<≤ (i.1a ) 0(0)u u = (i.1b) 其中(,)f t u 是定义在区域G : 0t T ≤≤, u <∞上的连续函数,0u 和T 是给定的常数。我们假设(,)f t u 对u 满足Lipschitz 条件,即存在常数L 使得 121212(,)(,), [0,]; ,(,)f t u f t u L u u t T u u -≤-?∈∈-∞∞ (i.2) 这一条件保证了(i.1)的解是适定的,即存在,唯一,而且连续依赖于初值0u 。 通常情况下,(i.1)的精确解不可能用简单的解析表达式给出,只能求近似解。本章讨论常微分方程最常用的近似数值解法-差分方法。先来讨论最简单的Euler 法。为此,首先将求解区域[0,]T 离散化为若干个离散点: 0110N N t t t t T -=<< <<= (i.3) 其中n t hn =,0h >称为步长。 在微积分课程中我们熟知,微商(即导数)是差商的极限。反过来,差商就是微商的近似。在0t t =处,在(i.1a )中用向前差商 10()()u t u t h -代替微商du dt ,便得 10000()()(,())u t u t hf t u t ε=++ 如果忽略误差项0ε,再换个记号,用i u 代替()i u t 便得到 1000(,)u u hf t u -= 一般地,我们有 1Euler (,), 0,1, ,1n n n n u u hf t u n N +=+=-方法: (i.4) 从(i.1b) 给出的初始值0u 出发,由上式可以依次算出1,,N t t 上的差分解1,,N u u 。

物理分析课程设计---一维扩散方程求解

课程设计报告 课程名称:核反应堆物理分析题目:一维扩散方程求解院系:核科学与工程学院班级: 学号: 姓名: 指导教师: 成绩: 教师签名: 日期:2011 年6月日

目录 摘要 (1) 课程设计的目的与要求 (1) 设计正文 (1) 课程设计总结或结论 (3) 参考文献 (4)

摘要和关键词 摘要 这个设计用微分方程的差分数值求解方法,运用MATLAB编程计算出一维扩散方程中子通量密度的离散解。 关键词:一维扩散方程 一.课程设计的目的与要求 学习使用微分方程的数值解法(差分方法)来近似求解一维扩散方程,掌握差分方法的核心思想,熟练使用matlab数据处理,origin绘图软件。通过给定的微分方程及边界条件,计算平板型,圆柱形,球形反应堆中子通量密度分布。 二.设计正文 通过查找有关资料,根据二阶线性微分方程 ○1 转换为差分方程的一般公式 其中 ○2 h为给定步长, 我们把原方程化简为○3

对比方程○1和○3得出 ○4 把○4代入○2 等式右端向量 差分方程其实就是一个线性方程组,此线性方程组的系数矩阵为: 则有 这是一个三对角阵,故可用追赶法解式○3。 下面通过matlab程序来计算变换后的差分方程的解。 所编程序如下: clear; N=input('请输入参数:'); alpha=input('请输入alpha值:'); if alpha==0 rmax=input('请输入平板的厚度:'); f0=input('请输入平板中心的中子通量密度:'); elseif alpha==1 rmax=input('请输入堆芯半径:'); f0=input('请输入圆柱中心的中子通量密度:'); elseif alpha==2 rmax=input('请输入堆芯半径:'); f0=input('请输入球形中心的中子通量密度:'); end

微分方程数值解法答案

包括基本概念,差分格式的构造、截断误差和稳定性,这些内容是贯穿整个教材的主线。解答问题关键在过程,能够显示出你已经掌握了书上的内容,知道了解题方法。这次考试题目的类型:20分的选择题,主要是基本概念的理解,后面有五个大题,包括差分格式的构造、截断误差和稳定性。 习题一 1. 略 2. y y x f -=),(,梯形公式:n n n n n n y h h y y y h y y )121(),(2111+-+=+- =+++,所以0122)1(01])121[()121()121(y h h y h h y h h y h h n h h n n n +--+--+-+=+-+==+-+= ,当0→h 时, x n e y -→。 同理可以证明预报-校正法收敛到微分方程的解. 3. 局部截断误差的推导同欧拉公式; 整体截断误差: ? ++++++-++≤1 ),())(,(11111n n x x n n n n n n n dx y x f x y x f R εε 11)(++-++≤n n n y x y Lh R ε,这里R R n ≤ 而111)(+++-=n n n y x y ε,所以 R Lh n n += -+εε1)1(,不妨设1

微分方程数值解――

微分方程数值解―― 第二章 习题 1. 设)('x f 为)(x f 的一阶广义导数,试用类似办法定义)(x f 的k 阶广义导数) () (x f k ( ,2,1=k )。 解:对一维情形,函数的广义导数是通过分部积分来定义的。 我们知,)(x f 的一阶广义导数位)(x g ,如果满足 dx x x f dx x x g b a b a )()()()('?? -=?? 类似的,)(x f 的k 阶广义导数为)()() (x f x g k =,如果有 dx x x f dx x x g b a k k b a )()()1()()()(?? -=?? 2. 试建立与边值问题 ?????====<<=+=) 2.1(0)()(,0)()() 1.1(,''44b u b u a u a u b x a f u dx u d Lu 等价的变分问题。 证明: 设}0)()(,0)()(),(|{' '2====∈=b v a v b v a v I H v v V 对方程)1.1(两边同乘以v ,再关于x 在),(b a 上积分)(V v ∈,得 ??=+b a b a fvdx vdx u dx u d )(44 其中 dx dx dv dx u d dx dx dv dx u d dx u d v dx u d d v vdx dx u d b a b a b a b a b a ???? -=-==33 33333344|)( dx dx v d dx u d dx dv dx u d dx u d d dx dv b a b a b a ??+-=-=22222222|)( dx dx v d dx u d b a ? = 2 222 (*) 记dx uv dx v d dx u d v u a b a ?+=)(),(2 222,?=b a fvdx v f ),(。于是我们得到以下等价变分问题的提法:

偏微分方程的数值解法

《偏微分方程数值解法》试题 (专业:凝聚态物理学号:60 姓名:鄢建军)1.考虑定解问题 (1)用迎风格式()求解 1,0 (,0) 0,0 t x u u x u x x += ? ? ≤ ? ? =? ?> ? ? 。 利用迎风格式编写Fortran程序语言,运行结果如下: Fig 1.迎风格式求解结果 (2)用Beam-Warming 格式()求解。 利用Beam—Warming格式编写Fortran程序语言,运行结果如下:

Fig 2. Beam —Warming 格式求解结果 (3) 比较两种方法结果的异同。 将两种格式运行的结果绘制在一起,要求时间步长和空间步长在两种格式中都相同,运行结果如下图所示: Fig 3. 迎风格式和Beam-Warming 格式求解结果比较 从两种格式的运行结果来看,都存在边缘的误差现象,相比而言,Beam-Warming 格式的运行结果差一些。但是理论上分析,迎风格式的截断误差为()h οτ+,而Beam-Warming 格式的截断误差为22()h h οττ++。稳定性上来分析,迎风格式的稳定性较好,要求1(/)a h λλτ≤=,Beam-Warming 格式的稳定性条件为2(/)a h λλτ≤=。 2. 考虑定解问题2121110,04(,0)sin ,0(0,)(,)0u u a x l t t u x x x l l u t u l t π???-=<

实际计算时,取下列参数:a=1;1l =2.计算进行到合适的时刻为止。要求: (1) 用加权隐式格式()求解该问题,研究不同θ值对解的影响。 用加权隐式格式求解该问题,研究不同θ值对解的影响。采用的差分格式为 12212[(1)]0n n j j n n x j x j u u a u u h θδθδτ++---+=, 其截断误差为:2221(),21(),2o h o h τθτθ?+≠????+=??,稳定性条件为:112,(0),1221,(1).2 a λθθθ?≤≤

相关文档
最新文档