Questions tagged «diffusion»

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} = …
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.