Questions tagged «advection»

2
在完全封闭的诺伊曼边界条件(边界处的反射)下通过有限差分求解对流方程时的奇异振荡
我正在尝试求解平流方程,但是当波从边界反射时,解决方案中会出现奇怪的振荡。如果有人在看过此文物之前,我很想知道原因以及如何避免它! 这是一个动画gif,在单独的窗口中打开以查看动画(它仅被缓存一次,或仅播放一次!) 请注意,在波开始从第一个边界开始反射之前,传播似乎非常稳定。您认为这里可能会发生什么?我花了几天时间仔细检查我的代码,找不到任何错误。奇怪的是,似乎有两种传播的解决方案:一种是积极的,一种是消极的。从第一个边界反射之后。解决方案似乎沿着相邻的网格点传播。 实现细节如下。 对流方程, ∂ü∂Ť= v ∂ü∂X∂ü∂Ť=v∂ü∂X\frac{\partial u}{\partial t} = \boldsymbol{v}\frac{\partial u}{\partial x} 其中是传播速度。vv\boldsymbol{v} Crank-Nicolson是对流方程的无条件 稳定离散化,条件是在空间中缓慢变化(傅立叶变换时仅包含低频分量)。u (x )ü(X)u(x) 我应用的离散化是 ϕn + 1Ĵ- φñĴΔ Ť= v [ 1 - β2 Δ X(ϕñj + 1- φñj − 1) + β2 Δ X(ϕn + 1j + 1- φn + 1j − 1)]ϕĴñ+1个-ϕĴñΔŤ=v[1个-β2ΔX(ϕĴ+1个ñ-ϕĴ-1个ñ)+β2ΔX(ϕĴ+1个ñ+1个-ϕĴ-1个ñ+1个)] …

2
Crank-Nicolson是反应扩散对流(对流)方程的稳定离散化方案吗?
我对PDE的常见离散化方案不是很熟悉。我知道Crank-Nicolson是离散化扩散方程的流行方案。平流期也是一个不错的选择吗? 我对解决反应扩散对流方程很感兴趣, ∂u∂t+∇⋅(vu−D∇u)=f∂u∂t+∇⋅(vu−D∇u)=f\frac{\partial u}{\partial t} + \nabla \cdot \left( \boldsymbol{v} u - D\nabla u \right) = f 其中DDD是物质的扩散系数uuu和vv\boldsymbol{v}是速度。 对于我的特定应用,方程式可以写成 ∂u∂t=D∂2u∂x2Diffusion+v∂u∂xAdvection (convection)+f(x,t)Reaction∂u∂t=D∂2u∂x2⏟Diffusion+v∂u∂x⏟Advection (convection)+f(x,t)⏟Reaction\frac{\partial u}{\partial t} = \underbrace{D\frac{\partial^2 u}{\partial x^2}}_{\textrm{Diffusion}} + \underbrace{\boldsymbol{v}\frac{\partial u}{\partial x}}_{\textrm{Advection (convection)}} + \underbrace{f(x,t)}_{\textrm{Reaction}} 这是我应用的Crank-Nicolson方案, un+1j−unjΔt=D[1−β(Δx)2(unj−1−2unj+unj+1)+β(Δx)2(un+1j−1−2un+1j+un+1j+1)]+v[1−α2Δx(unj+1−unj−1)+α2Δx(un+1j+1−un+1j−1)]+f(x,t)ujn+1−ujnΔt=D[1−β(Δx)2(uj−1n−2ujn+uj+1n)+β(Δx)2(uj−1n+1−2ujn+1+uj+1n+1)]+v[1−α2Δx(uj+1n−uj−1n)+α2Δx(uj+1n+1−uj−1n+1)]+f(x,t)\frac{u_{j}^{n+1} - u_{j}^{n}}{\Delta t} = D \left[ \frac{1 - \beta}{(\Delta x)^2} \left( u_{j-1}^{n} - …

1
对流扩散方程使用诺伊曼边界条件时的物理量守恒
当我应用不同的边界条件时,我不理解对流扩散方程的不同行为。我的动机是模拟在扩散和对流作用下的实际物理量(粒子密度)。除非从边缘流出颗粒密度,否则内部应保持颗粒密度。按照这种逻辑,如果我强制执行Neumann边界条件,则系统的两端,例如(在左侧和右侧),则系统应“封闭”,即如果边界处的通量为零,则没有粒子可以逸出。∂ϕ∂x=0∂ϕ∂x=0\frac{\partial \phi}{\partial x}=0 对于以下所有模拟,我已将Crank-Nicolson离散化应用于对流扩散方程,所有模拟都具有边界条件。但是,对于矩阵的第一行和最后一行(边界条件行),我允许独立于内部值进行更改。这允许端点完全隐式。∂ϕ∂x=0∂ϕ∂x=0\frac{\partial \phi}{\partial x}=0ββ\beta 下面我讨论4种不同的配置,只有一种是我所期望的。最后,我讨论了我的实现。 仅扩散限制 在此,通过将速度设置为零来关闭对流项。 仅扩散,所有点均为ββ\boldsymbol{\beta} = 0.5(Crank-Niscolson) 如脉冲面积减小所见,该量不守恒。 仅扩散,在内点处 = 0.5(Crank-Niscolson),边界处 = 1(完全隐式)βββ\boldsymbol{\beta}ββ\boldsymbol{\beta} 通过在边界上使用完全隐式方程,可以实现我所期望的:没有粒子逸出。您可以通过保留粒子扩散的区域来看到这一点。为什么在边界点选择影响情况的物理性?这是错误还是预期的?ββ\beta 扩散和平流 当包括对流项时,边界处的值似乎不会影响解。但是,对于所有情况,当边界似乎是“开放的”时,即粒子可以逃脱边界。为什么会这样呢?ββ\beta 在所有点上具有 = 0.5(Crank-Niscolson)的对流和扩散ββ\boldsymbol{\beta} 对流和扩散,在内点处 = 0.5(Crank-Niscolson),边界处 = 1(完全隐式)βββ\boldsymbol{\beta}ββ\boldsymbol{\beta} 对流扩散方程的实现 从对流扩散方程开始, ∂ϕ∂t=D∂2ϕ∂x2+v∂ϕ∂x∂ϕ∂t=D∂2ϕ∂x2+v∂ϕ∂x \frac{\partial \phi}{\partial t} = D\frac{\partial^2 \phi}{\partial x^2} + \boldsymbol{v}\frac{\partial \phi}{\partial x} 使用Crank-Nicolson进行写作, ϕn+1j−ϕnjΔt=D[1−β(Δx)2(ϕnj−1−2ϕnj+ϕnj+1)+β(Δx)2(ϕn+1j−1−2ϕn+1j+ϕn+1j+1)]+v[1−β2Δx(ϕnj+1−ϕnj−1)+β2Δx(ϕn+1j+1−ϕn+1j−1)]ϕjn+1−ϕjnΔt=D[1−β(Δx)2(ϕj−1n−2ϕjn+ϕj+1n)+β(Δx)2(ϕj−1n+1−2ϕjn+1+ϕj+1n+1)]+v[1−β2Δx(ϕj+1n−ϕj−1n)+β2Δx(ϕj+1n+1−ϕj−1n+1)] \frac{\phi_{j}^{n+1} - \phi_{j}^{n}}{\Delta t} = …

2
对流方程的隐式有限差分格式
有许多FD方案为平流式在web讨论。例如在这里:http: //farside.ph.utexas.edu/teaching/329/lectures/node89.html∂Ť∂Ť+ 你∂Ť∂X= 0∂Ť∂Ť+ü∂Ť∂X=0\frac{\partial T}{\partial t}+u\frac{\partial T}{\partial x}=0 但是我还没有看到有人提出过这样的“隐式”迎风方案: 。Ťn + 1一世- Ťñ一世τ+ ü Ťn + 1一世- Ťn + 1i − 1HX= 0Ť一世ñ+1个-Ť一世ñτ+üŤ一世ñ+1个-Ť一世-1个ñ+1个HX=0\frac{T^{n+1}_i-T^{n}_i}{\tau}+u\frac{T^{n+1}_i-T^{n+1}_{i-1}}{h_x}=0 我所看到的所有逆风方案都是处理空间导数上一个时间步的数据。是什么原因呢?经典的迎风方案与我上面写的相比如何?

4
用有限差分法离散对流方程的边界条件
我试图找到一些资源来帮助解释在使用有限差分法求解PDE时如何选择边界条件。 我目前可以使用的所有书籍和笔记都说类似的话: 对于介绍性文本而言,在存在边界的情况下管理稳定性的一般规则过于复杂。他们需要复杂的数学机制 (A. Iserles微分方程数值分析的第一门课程) 例如,当尝试为平流方程实施两步越级方法时: un+1i=un−1i+μ(uni+1−uni−1)uin+1=uin−1+μ(ui+1n−ui−1n)u_i^{n+1} = u_i^{n-1} + \mu (u_{i+1}^n - u_{i-1}^n) 使用MATLAB M = 100; N = 100; mu = 0.5; c = [mu 0 -mu]; f = @(x)(exp(-100*(x-0.5).^2)); u = zeros (M, N); x = 1/(M+1) * (1:M); u(:,1) = f(x); u(:,2) = f(x + mu/(M+1)); …

1
变速对流方程可以保守吗?
我试图更好地理解具有可变速度系数的平流方程。我尤其不明白该方程式如何保守。 在平流式, ∂ü∂Ť+ ∂∂X(v u )= 0∂u∂t+∂∂x(vu)=0 \frac{\partial u}{\partial t} + \frac{\partial}{\partial x}(\boldsymbol{v}u) = 0 让我们将u(x,t)解释u (x ,t )u(x,t)u(x,t)为某些无法创建或破坏的物理物种(ç 米− 3cm−3cm^{-3})或某些其他物理量的浓度。如果我们在我们的域上积分u (x ,t )u(x,t)u(x,t),那么我们应该得到常数, ∫X最大值X分u (x ,t )dx = 常数∫xminxmaxu(x,t)dx=constant \int_{x_{\text{min}}}^{x_{\text{max}}} u(x,t) dx = \text{constant} (这就是我保守的意思。) 如果现在让速度为空间(和时间)的函数v (x ,t )v(x,t)\boldsymbol{v}(x,t),则必须应用链式规则来给出, ∂ü∂Ť+ v ∂ü∂X+ 你∂v∂X?= 0∂u∂t+v∂u∂x+u∂v∂x⏟?=0 \frac{\partial u}{\partial t} + \boldsymbol{v}\frac{\partial …

5
如何在一维对流方程的数值解中得出杂散振荡的界?
假设我遇到以下周期性一维平流问题: ∂ü∂Ť+ c∂ü∂X= 0∂ü∂Ť+C∂ü∂X=0\frac{\partial u}{\partial t} + c\frac{\partial u}{\partial x} = 0 在 Ω = [ 0 ,1 ]Ω=[0,1个]\Omega=[0,1] u (0 ,t )= u (1 ,t )ü(0,Ť)=ü(1个,Ť)u(0,t)=u(1,t) u (x ,0 )= g(x )ü(X,0)=G(X)u(x,0)=g(x) 哪里 G(x )G(X)g(x) 在处有跳跃间断 X∗∈ (0 ,1 )X∗∈(0,1个)x^*\in (0,1)。 我的理解是,对于高于一阶的线性有限差分方案,随着时间的推移,不连续附近会出现虚假振荡,随着时间的流逝,会导致解因其预期的波形而失真。根据维基百科的解释,似乎这些振荡通常发生在用有限傅立叶级数近似不连续函数时。 由于某些原因,我似乎无法理解如何在此PDE的解决方案中观察到有限傅立叶级数。特别是,我如何分析地估计“超调”的界限?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.