Questions tagged «poisson»

1
牛顿-克里洛夫什么时候不适合求解?
最近,我一直在比较来自scipy的不同非线性求解器,并且尤其对《 Scipy Cookbook》中的Newton-Krylov示例印象深刻,在该示例中,他们用大约20行代码来求解带有非线性反应项的二阶微分方程组。 我修改了示例代码,以解决半导体异质结构的非线性Poisson方程(也称为Poisson-Boltzmann方程,请参见本说明中的第17页),其形式为: d2ϕdx2−k(x)(p(x,ϕ)−n(x,ϕ)+N+(x))=0d2ϕdx2−k(x)(p(x,ϕ)−n(x,ϕ)+N+(x))=0 \frac{d^2\phi}{dx^2} - k(x) \left(p(x,\phi) - n(x,\phi) + N^{+}(x)\right) = 0 (这是传递给求解器的残差函数。) 这是一个静电问题,其中和是形式为n_i(x)e ^ {-(E_i(x,\ phi)-E_f)}的非线性函数。此处的细节并不重要,但关键是非线性函数随\ phi呈指数变化,因此残差函数可以在很大的范围内(10 ^ {-6}-10 ^ {16})发生微小变化。在\ phi中n(x,ϕ)n(x,ϕ)n(x,\phi)p(x,ϕ)p(x,ϕ)p(x,\phi)ni(x)e−(Ei(x,ϕ)−Ef)ni(x)e−(Ei(x,ϕ)−Ef)n_i(x) e^{-(E_i(x,\phi) - E_f)}ϕϕ\phi10−6−1016)10−6−1016)10^{-6} - 10^{16})ϕϕ\phi。 我用scipy的Newton-Krylov用数值方法求解了这个方程,但是它永远不会收敛(实际上,在计算雅可比方程时总是会报告一个错误)。我从Newton-Krylov求解器切换为fsolve(基于MINPACK hybrd),它第一次起作用! 牛顿-克里洛夫(Newton-Krylov)不适合某些问题的一般原因吗?输入方程是否需要以某种方式进行调节? 也许需要更多信息来发表评论,但是为什么您认为fsolve在这种情况下有效?

1
FFT泊松求解器的收敛速度
FFT毒物求解器的理论收敛速度是多少? 我正在求解泊松方程: 其中 在域具有周期边界条件。该电荷密度是净中性的。解决方案如下: 其中。在倒易空间 其中是倒易空间矢量。我对Hartree能源感兴趣: Ñ∇2VH(x,y,z)=−4πn(x,y,z)∇2VH(x,y,z)=−4πn(x,y,z)\nabla^2 V_H(x, y, z) = -4\pi n(x, y, z)[0,2]×[0,2]×[0,2]Vħ(X)=∫Ñ( y)n(x,y,z)=3π((X -1)2+(y− 1)2+(z− 1)2− 1 )n(X,ÿ,ž)=3π((X-1个)2+(ÿ-1个)2+(ž-1个)2-1个)n(x, y, z) = {3\over\pi} ((x-1)^2 + (y-1)^2 + (z-1)^2 - 1)[ 0 ,2 ] × [ 0 ,2 ] × [ 0 ,2 ][0,2]×[0,2]×[0,2][0, 2] \times [0, 2] \times …

2
用Neumann边界条件写泊松方程有限差分矩阵
我对使用有限差分法求解泊松方程感兴趣。我想更好地了解如何用Neumann边界条件编写矩阵方程。有人会审查以下内容,对吗? 有限差分矩阵 泊松方程, ∂2u(x)∂x2=d(x)∂2u(x)∂x2=d(x) \frac{\partial^2u(x)}{\partial x^2} = d(x) 可以用有限差分矩阵方程近似 1(Δx)2M∙u^=d^1(Δx)2M∙u^=d^ \frac{1}{(\Delta x)^2} \textbf{M}\bullet \hat u = \hat d 其中是矩阵,和是(列)向量, Ñ × Ñ ù ð 1 × Ñ中号中号\textbf{M}n × nñ×ñn \times nü^ü^\hat ud^d^\hat d1 × n1个×ñ1 \times n 添加Neumann边界条件 诺伊曼边界条件会在边界处强制产生一个已知通量(此处我们将其应用到边界位于的左侧),x = 0X=0x=0 ∂u (x = 0 )∂X= σ∂ü(X=0)∂X=σ \frac{\partial u(x=0)}{\partial x} …

3
给定一个SPD三对角线性系统,我们是否可以预先计算,以便可以在O(1)时间内链接任何三个索引?
考虑一个对称正定三对角线线性系统 ,其中甲∈ [R Ñ × Ñ和b ∈ [R Ñ。给出三个指数0 ≤ 我&lt; Ĵ &lt; ķ &lt; Ñ,如果我们严格假设之间仅方程行我和ķ保持,我们可以消除中间变量获取形式的公式 ü X 我 + v X Ĵ + 瓦特X ķ = C甲X = bAx=bA x = bA∈Rn×nA∈Rn×nA \in \mathbb{R}^{n \times n}b∈Rnb∈Rnb \in \mathbb{R}^n0≤i&lt;j&lt;k&lt;n0≤i&lt;j&lt;k&lt;n0 \le i < j < k < niiikkkuxi+vxj+wxk=cuxi+vxj+wxk=cu x_i + v …

3
用有限体积法将Dirichlet边界条件应用于泊松方程。
我想知道在以单元为中心的非均匀网格上使用有限体积方法时通常如何应用Dirichlet条件, 我目前的实现只是在确定第一个单元格的值时施加了边界条件, ϕ1=gD(xL)ϕ1=gD(xL) \phi_1 = g_D(x_L) 其中是可变的解决方案和克d(X 大号)是在域的LHS狄利克雷边界条件值(NB X 大号 ≡ X 1 / 2)。但是,这是不正确的,因为边界条件应固定像元面的值而不是像元本身的值。我真正应该适用的是ϕϕ\phigD(xL)gD(xL)g_D(x_L) xL≡x1/2xL≡x1/2x_L \equiv x_{1/2} ϕL=gD(xL)ϕL=gD(xL) \phi_{L} = g_D(x_L) 例如,让我们求解泊松方程, 0=(ϕx)x+ρ(x)0=(ϕx)x+ρ(x) 0 = (\phi_x)_x + \rho(x) 有初始条件和边界条件 ρ=−1gD(xL)=0gN(xR)=0ρ=−1gD(xL)=0gN(xR)=0\rho=-1\\ g_D(x_L)=0 \\ g_N(x_R)=0 (其中是右侧的Neumann边界条件)。gN(xR)gN(xR)g_N(x_R) 注意数值解法如何将单元格变量的值固定为左侧的边界条件值()。这具有向上移动整个解决方案的影响。通过使用大量的网格点可以使影响最小化,但这并不是解决问题的好方法。gD(xL)=0gD(xL)=0g_D(x_L)=0 题 使用有限体积法时,将以何种方式应用Dirichlet边界条件?我假设我需要通过使用ϕ 0(幻影点)或ϕ 2进行插值或外推来固定的值,以便经过这些点的直线在x L处具有所需的值。您是否可以提供任何指导或示例,说明如何对以单元为中心的非均匀网格进行此操作?ϕ1ϕ1\phi_1ϕ0ϕ0\phi_0ϕ2ϕ2\phi_2xLxLx_L 更新资料 这是我尝试使用您建议的幻像细胞方法,看起来合理吗? 该方程对于细胞是(其中˚F表示的磁通φ),Ω1Ω1\Omega_1FF\mathcal{F}ϕϕ\phi F3/2−FL=ρ¯F3/2−FL=ρ¯ \mathcal{F}_{3/2} - \mathcal{F}_{L} = \bar{\rho} …

2
在非均匀网格(仅一维)有限体积法上求解泊松方程时的奇异误差
最近几天,我一直在尝试调试此错误,我想知道是否有人建议如何进行操作。 我正在求解泊松方程,用于非均匀有限体积网格上的阶跃电荷分布(静电/半导体物理学中的常见问题),其中未知数定义在单元中心,并且通量在单元面上。 0 = (ϕX)X+ ρ (x )0=(ϕx)x+ρ(x) 0 = (\phi_x)_x + \rho(x) 收费资料(来源条款)由 ρ (x )=⎧⎩⎨− 1 ,1 ,0 ,如果 - 1 ≤ X ≤ 0如果 0 ≤ X ≤ 1除此以外ρ(x)={−1,if −1≤x≤01,if 0≤x≤10,otherwise \rho(x)= \begin{cases} -1,& \text{if } -1 \leq x \leq 0\\ 1,& \text{if } 0 \leq x …

1
使用快速傅立叶变换来解决带有混合边界条件的二维Poisson问题需要哪个傅立叶级数?
我听说,当边界条件都是一种类型时,可以使用快速傅立叶变换来解决泊松问题。考虑一个二维矩形域,假设两个相对的边具有周期性边界条件,而另两个具有狄里克雷条件。是否可以应用快速傅立叶变换来有效解决此问题?如果是这样,指数形式是否足够?如果没有,您会为这种情况推荐哪种求解器?
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.