物理分析课程设计---一维扩散方程求解
- 格式:doc
- 大小:219.00 KB
- 文档页数:7
一维对流扩散方程的格子Boltzmann模型研究雷娟霞;李春光【摘要】给出了一维对流扩散方程(e)u/(e)t+α(e)u/(e)x=β(e)2u/(e)x2的一种三速格子Botzmann模型(D1Q3模型).采用Chapman-Enskog多尺度展开技术,导出了该模型的平衡态分布函数.理论分析和数值算例均表明,该模型方法具有计算量小、精度较高等特点.【期刊名称】《宁夏工程技术》【年(卷),期】2018(017)003【总页数】4页(P218-221)【关键词】格子Boltzmann方法;对流扩散方程;Chapman-Enskog展开;平衡态分布函数;数值模拟【作者】雷娟霞;李春光【作者单位】北方民族大学数学与信息科学学院,宁夏银川 750021;北方民族大学数值计算与工程应用研究所,宁夏银川 750021【正文语种】中文【中图分类】O242.1对流扩散方程在数学物理领域扮演着非常重要的角色。
近年来,关于这类方程的一些数值模拟方法逐渐发展起来,包括有限差分法[1—2]、有限元法[3]、有限体积法[4]等。
然而,由于对流扩散方程求解的复杂性,传统的数值模拟方法很难对其进行有效模拟。
格子 Boltzmann 方法(Lattice Boltzmann method,简称LBM)不同于传统的数值方法,它是介于宏观和微观的介观方法。
LBM在求解非线性偏微分方程,特别是在流体力学的研究中取得了很大成果,这是由于LBM具有物理背景清晰、边界容易处理、编程实现简单等优点。
LBM提供了联系宏观和微观的可能性和现实性,除了在一般的流体力学问题中得到了成功的验证之外,在湍流[5—6]、多相流[7]、粒子悬浮流[8]等相关领域也具有广阔的应用前景。
本文利用LBM构造了一个D1Q3模型,该模型具有3个速度方向,平衡态分布函数的最小量也展开到三阶。
本文给出了详细的理论推导,同时用数值算例验证了模型的有效性。
1 模型及方法1.1 一维对流扩散方程考虑如下一维对流扩散方程:式中:α,β为常数为对流项为扩散项。
一维扩散方程自相似解一维扩散方程是描述物质在空间中扩散传播的方程。
它在许多物理和工程领域中都有广泛的应用,例如热传导、扩散过程中的物质浓度变化等。
一维扩散方程的自相似解是指在特定的条件下,方程的解在空间和时间上具有相似性。
先来看一维扩散方程的一般形式:∂u/∂t = D ∂²u/∂x²其中,u(x,t)表示扩散物质在时刻t、位置x处的浓度或温度;D 是扩散系数,反映了传导介质的特性。
对于自相似解,我们希望找到一种特殊的解形式,使得在空间和时间上,解在不同位置和不同时刻具有相似的形态。
为了得到自相似解,我们将引入相似变换。
假设我们有一个自变量变换:x' = x/√(Dt),t' = t/√(Dt),其中D是扩散系数。
通过这个变换,我们可以将原方程变为:∂u/∂t' = ∂²u/∂x'²接下来,我们将应用这个相似变换,来找到一维扩散方程的自相似解。
首先,我们将把扩散方程作为自变量进行变换:u(x,t) = U(x',t')将自变量变换带入一维扩散方程:∂U/∂t' = ∂²U/∂x'²接下来,我们对新的变量x'和t'进行求导,以确定新的依赖关系:∂u/∂x = ∂U/∂x' * ∂x'/∂x + ∂U/∂t' * ∂t'/∂x∂u/∂t = ∂U/∂x' * ∂x'/∂t + ∂U/∂t' * ∂t'/∂t在相似变换中,∂x'/∂x = 1/√(Dt),∂t'/∂x = 0,∂x'/∂t = 0,∂t'/∂t = 1/√(Dt),将这些值带入方程,可得:∂u/∂x = (1/√(Dt)) * ∂U/∂x'∂u/∂t = (1/√(Dt)) * ∂U/∂t'将这些结果代入一维扩散方程,有:(1/√(Dt)) * ∂U/∂t' = (1/√(Dt)) * ∂²U/∂x'²可以发现,新的方程中√(Dt)这一项在两边都能够相互抵消。
一维传热扩散方程和求解3.185 2003秋季一维传热扩散方程的k,ρ,(传热系数,密度,比热)对溶质的扩散方程是常数:cp或者在圆柱型坐标:球型坐标1:最重要的不同是在非稳态中使用了热扩散系数pc kρα=,但在傅立叶第一定律中使用了热传导系数k 来计算热通量:基于以上原因,把D 用k 和α来代替,并使p c ρ等于1,就可以得到溶质扩散方程。
1许多书上都简化了圆柱和球形方程,分别被r 和r 除,并使含有r 的项分离出来,就得到2圆柱型p c q r T r r T t Tρα&+∂∂+∂∂=∂∂)122(球型p c q r T r r T t T ρα&+∂∂+∂∂=∂∂)222(一维热传导答案1. 稳态(a)无热量产生i 笛卡尔方程:答案:T=Ax+B通过平板的传导通量大小和通过流体边界层的热传导(和一级化学反应或者通过流体边界层的质量传递相似):(是流体温度,和扩散中的流体浓度相似;是流体反方向的温度) fl T 1T 无量纲形式:其中khLh =π(a.k.a毕渥数) ⅱ圆柱型方程答案T=A㏑r+B结合在通过流体边界层的热量传热和在,之间的通过柱体的传导的通量大小1R 1R 2Rⅲ球坐标方程答案T=A/r+B(b)产生恒定的热量¡笛卡尔方程答案ⅱ圆柱坐标方程答案ⅲ球坐标方程答案(c)(只有扩散)一级均向反应消耗反应物,所以G=-Kc ⅰ笛卡尔方程答案ⅱ包含贝塞尔函数的圆柱和球坐标答案,但方程式如下:2建立在笛卡尔坐标上没有热量产生,具有恒定的k,p c ρ的非稳态答案其中pc k ρα=(a )相同的起始条件T=,恒定的边界条件x=0,∞T S T T =半无限厚介质;或者无限厚介质的起始条件是阶越函数。
答案是试差函数或者它的补集半无限厚介质标准注释:这种理论也可以用于“组合扩散”,就是两个不同温度(浓度)的物体在x=0连接在一起,并彼此扩散;边界条件是两个物体边界条件的中间值。
课程设计报告课程名称:核反应堆物理分析题目:一维扩散方程求解院系:核科学与工程学院班级:学号:姓名:指导教师:成绩:教师签名:日期:2011 年6月日目录摘要 (1)课程设计的目的与要求 (1)设计正文 (1)课程设计总结或结论 (3)参考文献 (4)摘要和关键词摘要这个设计用微分方程的差分数值求解方法,运用MATLAB编程计算出一维扩散方程中子通量密度的离散解。
关键词:一维扩散方程一.课程设计的目的与要求学习使用微分方程的数值解法(差分方法)来近似求解一维扩散方程,掌握差分方法的核心思想,熟练使用matlab数据处理,origin绘图软件。
通过给定的微分方程及边界条件,计算平板型,圆柱形,球形反应堆中子通量密度分布。
二.设计正文通过查找有关资料,根据二阶线性微分方程○1转换为差分方程的一般公式其中○2h为给定步长,我们把原方程化简为○3对比方程○1和○3得出○4把○4代入○2等式右端向量差分方程其实就是一个线性方程组,此线性方程组的系数矩阵为:则有这是一个三对角阵,故可用追赶法解式○3。
下面通过matlab程序来计算变换后的差分方程的解。
所编程序如下:clear;N=input('请输入参数:');alpha=input('请输入alpha值:');if alpha==0rmax=input('请输入平板的厚度:');f0=input('请输入平板中心的中子通量密度:');elseif alpha==1rmax=input('请输入堆芯半径:');f0=input('请输入圆柱中心的中子通量密度:');elseif alpha==2rmax=input('请输入堆芯半径:');f0=input('请输入球形中心的中子通量密度:');endh=rmax/N;D=0.8*10^(-2)for i=1:1:N-1a(1,i)=2*D*(i-1/2)^alpha*h^(alpha-1);c(1,i)=2*D*(i+1/2)^alpha*h^(alpha-1);b(1,i)=a(1,i)+c(1,i)+2*h*8.5*10^(-28)*(i*h)^2;g(1,i)=2*i^2*h^3*10^14*cos(pi*i*h/2);endnewa=a(:,2:N-1);newc=c(:,1:N-2);Hb=diag(b);Hc=diag(newc,1);Ha=diag(newa,-1);H=-Ha+Hb-Hc;G=g;G(1,1)=g(1,1)+a(1,1)*f0;p(1,1)=b(1,1);for k=1:1:N-2q(1,k)=c(1,k)/p(1,k);p(1,k+1)=b(1,k+1)-a(1,k+1)*q(1,k);endfor k=1:1:N-2y(1,1)=G(1,1)/p(1,1);y(1,k+1)=(G(1,k+1)-a(1,k+1)*y(1,k))/p(1,k+1);endfor k=N-2:-1:1u(1,N)=y(1,N-1);u(1,k+1)=y(1,k)-q(1,k)*u(1,k+2);endu(1,1)=f0;u(1,N+1)=0;X=0:h:rmax;P=polyfit(X,u,5)U=polyval(P,X);plot(X,U)三.课程设计总结或结论本次课程设计加深了我对中子扩散理论的认识,充分的将理论和实践结合起来。
标题:一维热扩散问题的C++描述一维热扩散问题在物理学和工程领域中具有重要的应用。
它描述了热量在一维空间中的传导和扩散过程,是热传导方程的一个经典问题。
在本文中,我们将使用C++编程语言来描述一维热扩散问题,并计算其数值解。
本文将从问题的数学描述开始,然后逐步介绍如何用C++来模拟热传导过程,并给出完整的代码和计算结果。
问题描述:1. 数学模型假设我们有一个长度为L的均匀材料棒,初始时刻材料棒的温度分布为u(x,0)。
根据热传导方程,材料棒上任意一点x处的温度u(x,t)满足如下偏微分方程:∂u/∂t = α ∂²u/∂x²其中α是材料的热扩散系数。
我们假设材料棒的两端保持在恒定的温度,即u(0,t)=u0,u(L,t)=uL。
这就构成了一维热扩散问题的数学模型。
2. 离散化方法为了求解这个偏微分方程,我们需要对空间和时间进行离散化。
我们将材料棒均匀地划分成N个小段,长度为Δx,时间上也划分成M个小段,长度为Δt。
对于任意的i和j,我们用u(i,j)来表示材料棒上第i 个小段的温度在第j个时间点的值。
C++代码实现:1. 初始化参数我们需要初始化材料棒的参数,包括长度L、离散化的段数N、时间步长Δt等。
```cppdouble L = 1.0; // 材料棒长度int N = 100; // 离散化的段数double dx = L / N; // 空间步长double dt = 0.001; // 时间步长double alpha = 0.1; // 热扩散系数```2. 初始化温度分布接下来,我们需要初始化材料棒的温度分布,即u(x,0)。
我们可以假设初始时刻的温度分布为一个正弦波或者矩形波等。
```cppdouble u0 = 0.0; // 棒的左端温度double uL = 1.0; // 棒的右端温度std::vector<double> u(N+1,0.0); // 温度数组for(int i=0; i<=N; i++){u[i] = 0.5*sin(2*3.1415*i/N); // 正弦波初始温度分布}```3. 迭代求解我们使用显式差分格式来迭代求解热传导方程。
一维扩散方程数值求解一维扩散方程是描述物质扩散过程的数学模型,广泛应用于物理、化学、生物和工程等领域。
本文将介绍一维扩散方程的数值求解方法,并探讨其在实际问题中的应用。
一维扩散方程的数值求解是通过离散化连续物理问题,将其转化为有限个代数方程的求解过程。
首先,我们需要将一维空间进行离散化,将其划分为一系列离散节点。
然后,通过数值方法近似计算节点上的物理量,如浓度、温度等。
最常用的数值方法包括有限差分法和有限元法。
有限差分法是一种简单且常用的数值求解方法。
它通过将偏导数用差商近似表示,将一维扩散方程转化为离散的代数方程组。
具体而言,我们可以使用向前差分、向后差分或中心差分等方式来近似计算偏导数。
然后,通过代数方程组的求解,得到离散节点上的物理量。
有限元法是一种更为灵活和精确的数值求解方法。
它将一维空间划分为一系列小单元,通过定义适当的插值函数,将节点上的物理量表示为有限个自由度的线性组合。
然后,通过求解线性方程组,得到每个单元上的物理量。
最后,通过汇总所有单元的解,得到整个一维空间上的物理量分布。
一维扩散方程的数值求解在许多领域都有广泛的应用。
在物理学中,它可以用于描述热传导、质量传递等过程。
在化学工程中,它可以用于模拟反应器内物质的传输与转化。
在生物学中,它可以用于研究细胞内物质的扩散行为。
在工程学中,它可以用于设计材料的扩散性能和优化结构。
除了基本的一维扩散方程,还可以考虑一些扩展问题。
例如,考虑非线性扩散系数、吸附效应、反应等因素。
这些扩展模型可以更准确地描述实际问题,但也增加了数值求解的难度。
一维扩散方程的数值求解是解决物质扩散问题的重要手段。
通过合理选择数值方法和适当的离散化方式,可以得到准确的物理量分布。
这为我们研究和解决实际问题提供了有力的工具。
同时,我们也需要注意数值误差和收敛性等问题,以确保数值结果的可靠性和有效性。
因此,深入理解一维扩散方程的数值求解方法,对于科学研究和工程应用都是非常重要的。
一维扩散方程差分格式的数值计算一维扩散方程是描述物质在一维空间中扩散过程的方程。
数值计算是一种近似求解微分方程的方法,可以通过离散化空间和时间来求解一维扩散方程。
本文将介绍一维扩散方程差分格式的数值计算方法,并给出一个具体的数值计算实例。
∂u/∂t=D∂²u/∂x²其中,u是扩散物质的浓度,t是时间,x是空间坐标,D是扩散系数。
差分格式的基本思想是将连续的时间和空间变量离散化为一系列有限的点,然后用离散化后的点代替原方程中的连续变量,从而得到一个差分方程。
一维扩散方程的差分格式数值计算方法有很多种,下面介绍两种基本的差分格式:显式差分格式和隐式差分格式。
1.显式差分格式:显式差分格式的基本思路是使用当前时间步的解来计算下一个时间步的解。
通过对一维扩散方程进行差分得到:(u_i)_(n+1)=(u_i)_n+D*(∆t/∆x²)*((u_(i-1))_n-2(u_i)_n+(u_(i+1))_n)其中,(u_i)_(n+1)表示时间步n+1时刻、位置i处的扩散物质浓度。
该公式使用当前时间步n的解来逐点计算下一个时间步n+1的解。
2.隐式差分格式:隐式差分格式的基本思路是使用下一个时间步的解来计算当前时间步的解。
通过对一维扩散方程进行差分得到:((u_i)_(n+1)-(u_i)_n)/∆t=D*(∆x²)*((u_(i-1))_(n+1)-2(u_i)_(n+1)+(u_(i+1))_(n+1))这是一个关于时间步n+1的隐式方程,需要使用迭代方法求解。
数值计算的实例:假设在一根长为L的杆上有一种扩散物质,杆的两端固定浓度为0,即u(0, t) = u(L, t) = 0;初始时刻杆上的浓度分布为一个正弦函数,即u(x, 0) = sin(πx/L);扩散系数为D。
我们需要计算杆上扩散物质的浓度随时间的变化情况。
首先,选择合适的网格间距∆x和时间步长∆t。
然后将杆上的空间坐标和时间离散化为一系列点,得到网格。
课程设计报告
课程名称:核反应堆物理分析题目:一维扩散方程求解院系:核科学与工程学院班级:
学号:
姓名:
指导教师:
成绩:
教师签名:
日期: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
h=rmax/N;
D=0.8*10^(-2)
for i=1:1:N-1
a(1,i)=2*D*(i-1/2)^alpha*h^(alpha-1);
c(1,i)=2*D*(i+1/2)^alpha*h^(alpha-1);
b(1,i)=a(1,i)+c(1,i)+2*h*8.5*10^(-28)*(i*h)^2;
g(1,i)=2*i^2*h^3*10^14*cos(pi*i*h/2);
end
newa=a(:,2:N-1);
newc=c(:,1:N-2);
Hb=diag(b);
Hc=diag(newc,1);
Ha=diag(newa,-1);
H=-Ha+Hb-Hc;
G=g;
G(1,1)=g(1,1)+a(1,1)*f0;
p(1,1)=b(1,1);
for k=1:1:N-2
q(1,k)=c(1,k)/p(1,k);
p(1,k+1)=b(1,k+1)-a(1,k+1)*q(1,k);
end
for k=1:1:N-2
y(1,1)=G(1,1)/p(1,1);
y(1,k+1)=(G(1,k+1)-a(1,k+1)*y(1,k))/p(1,k+1);
end
for k=N-2:-1:1
u(1,N)=y(1,N-1);
u(1,k+1)=y(1,k)-q(1,k)*u(1,k+2);
end
u(1,1)=f0;
u(1,N+1)=0;
X=0:h:rmax;
P=polyfit(X,u,5)
U=polyval(P,X);
plot(X,U)
三.课程设计总结或结论
本次课程设计加深了我对中子扩散理论的认识,充分的将理论和实践结合起来。
基本了解源迭代,中子通量密度迭代的方法,充分认识到有限差分法在扩散临界计算中的重要性。
四.参考文献
微分方程数值方法(第二版)胡建伟汤怀民编MATLAB程序设计与应用(第二版)刘卫国主编
核反应堆物理分析谢仲生等编
附录(设计流程图、程序、表格、数据等)
真实的离散数据
5次多项式拟合所得图形
在求解区间[a,b]按N等分划分微分方程在网点
用差商代替倒数,
省略高阶无穷项
用追赶法求解对
三角阵
用matlab做拟合
曲线。