Questions tagged «pde»

偏微分方程(PDE)是与多个变量的函数的偏导数相关的方程。该标签旨在解决有关使用PDE建模现象,解决PDE以及其他相关方面的问题。

3
用数值方法解决一些PDE问题时,可变比例缩放是否必不可少?
在半导体仿真中,通常需要对方程进行缩放以使它们具有归一化的值。例如,在极端情况下,半导体中的电子密度可能会变化超过18个数量级,而电场会发生形状变化,变化超过6个(或更多)数量级。 但是,论文从未真正给出这样做的理由。我个人很高兴以实际单位处理方程式,这样做有任何数值上的优势,否则是不可能的吗?我认为使用双精度数字将足以应付这些波动。 这两个答案都非常有用,非常感谢!

1
与Adams-Bashforth算法相比,使用Adams-Moulton有哪些相对优势?
我正在计算两个空间维度和时间上两个耦合的PDE的系统。由于函数评估很昂贵,因此我想使用多步方法(使用Runge-Kutta 4-5初始化)。 使用五个先前的函数求值的Adams-Bashforth方法的全局误差为(在s = 5的情况下O(h5)O(h5)O(h^5)s=5s=5s=5在下面引用的Wikipedia文章下),并且每步需要一个函数求值(每个PDE)。 另一方面,Adams-Moulton方法每个步骤需要进行两次功能评估:一项用于预测步骤,另一项用于校正步骤。再一次,如果使用五个函数求值,则全局误差为。(s = 4O(h5)O(h5)O(h^5)s=4s=4s=4 Wikipedia文章中的) 那么,在Adams-Bashforth上使用Adams-Moulton的背后原因是什么?它具有相同数量级的错误,功能评估的次数是两倍。从直觉上讲,预测校正方法应该是有利的,但是有人可以对此进行定量解释吗? 参考:http : //en.wikipedia.org/wiki/Linear_multistep_method#Adams.E2.80.93Bashforth_methods

5
使用时空并行的PDE计算示例
在初始边界值PDEs的数值解中,在空间中采用并行性是很常见的。在时间离散化中采用某种形式的并行性的情况要少得多,并且并行性通常受到更大的限制。我知道越来越多的代码和已发表的作品展示了时间并行性,但是它们都不包含空间并行性。 是否有在空间和时间上都包含并行性的实现示例?我对出版物和可用代码都感兴趣。

4
模拟有限差分法的说明性示例
尽管我试图在互联网上找到一个简洁的解释,但我似乎无法掌握模拟有限差分的概念,甚至无法理解它与标准有限差分的关系。看看一些简单的示例,了解如何对经典线性PDE(双曲线,椭圆形和抛物线形)实现它们。

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)); …

3
如何在有限差分法中施加边界条件
我想使用高阶中心差近似值时遇到问题: (−ui+2,j+16ui+1,j−30ui,j+16ui−1,j−ui−2,j12)(−ui+2,j+16ui+1,j−30ui,j+16ui−1,j−ui−2,j12)\left(\frac{-u_{i+2,j}+16u_{i+1,j}-30u_{i,j}+16u_{i-1,j}-u_{i-2,j}}{12}\right) 泊松方程 (uxx+uyy=0)(uxx+uyy=0)(u_{xx}+u_{yy}=0)在边界条件为的平方域中: Δ X = Δ ÿ = 0.1u(0,y)=u(x,0)=u(x,1)=0,u(1,y)=sinπyu(0,y)=u(x,0)=u(x,1)=0,u(1,y)=sin⁡πyu(0,y)=u(x,0)=u(x,1)=0,u(1,y)=\sin \pi y Δx=Δy=0.1Δx=Δy=0.1\Delta{x}=\Delta{y}=0.1 当我想获取域内部点的值时,考虑此近似值,某些点取决于边界的外部点。例如,需要具有的值ü 我- 2 ,Ĵ = Ü - 1 ,0点是的边界之外。在这种情况下,有人可以帮我吗? u1,1u1,1u_{1,1}ui−2,j=u−1,0ui−2,j=u−1,0u_{i-2,j}=u_{-1,0}

3
多维度的PDE
我知道,找到PDE近似解的大多数方法都无法随维数扩展,并且Monte Carlo用于需要约100维的情况。 有什么好的方法可以有效地对〜4-10维的PDE进行数值求解?10-100? 除了蒙特卡洛,还有没有其他方法可以随维数扩展?

1
是否有一种多网格算法可以解决Neumann问题,并且收敛速度与级别数无关?
多重网格方法通常可以在水平上解决Dirichlet问题(例如,点Jacobi或Gauss-Seidel)。当使用连续有限元方法时,组装小诺伊曼问题比组装小Dirichlet问题要便宜得多。诸如BDDC之类的非重叠域分解方法(如FETI-DP)可以解释为在层次上解决“固定”诺伊曼问题的多网格方法。不幸的是,多级BDDC的条件数缩放为 C( 1 + 日志(高H))2 升C(1个+日志⁡(HH))2大号C \left(1 + \log \left(\frac{H}{h}\right)\right)^{2L} 其中是能级数,是粗化率。相反,基于Dirichlet问题的带有平滑器的多网格方法的条件数具有与层数无关的条件数。大号大号LH/小时H/HH/h 有没有办法解决“固定”的诺伊曼问题而又不失去层次独立性的方法?
14 pde  multigrid 

2
特征值问题中的验证
让我们从形式问题开始 (L+k2)u=0(L+k2)u=0(\mathcal{L} + k^2) u=0 带有一组给定的边界条件(Dirichlet,Neumann,Robin,Periodic,Bloch-Periodic)。这对应于在某些几何和边界条件下找到某个算子的特征值和特征向量LL\mathcal{L}。例如,可以在声学,电磁学,弹性力学,量子力学等方面获得这样的问题。 我知道可以使用不同的方法(例如,有限差分方法)离散化运算符 [A]{U}=k2{U}[A]{U}=k2{U}[A]\{U\} = k^2 \{U\} 或使用有限元方法获得 [ K] { U} = k2[ M] { U}。[K]{U}=k2[M]{U}.[K]\{U\} = k^2 [M]\{U\} \enspace . 在一种情况下,得到一个特征值问题,而在另一种情况下得到一个广义的特征值问题。在获得问题的离散版本后,人们使用求解器来解决特征值问题。 一些想法 在这种情况下,“人造溶液”的方法无用,因为没有源项可以平衡方程。 [ K][K][K][M][M][M] [∇2+ω2/c2]u(ω)=f(ω),∀ω∈[ωmin,ωmax][∇2+ω2/c2]u(ω)=f(ω),∀ω∈[ωmin,ωmax][\nabla^2 + \omega^2/c^2] u(\omega) = f(\omega) \enspace ,\quad \forall \omega \in [\omega_\min, \omega_\max] 代替 [∇2+k2]u=0.[∇2+k2]u=0.[\nabla^2 + k^2] u = …

1
具有牛顿法的有限差分的近似雅可比方程会引起不稳定性吗?
我已经在python 3中实现了向后欧拉求解器(使用numpy)。为了我自己的方便和练习,我还编写了一个小函数来计算梯度的有限差分近似值,这样我就不必总是解析地确定雅可比矩阵(如果可能的话!)。 使用Ascher和Petzold 1998中提供的描述,我编写了此函数来确定给定点x处的梯度: def jacobian(f,x,d=4): '''computes the gradient (Jacobian) at a point for a multivariate function. f: function for which the gradient is to be computed x: position vector of the point for which the gradient is to be computed d: parameter to determine perturbation value eps, where eps …

2
] 0,1 []中热方程的周期边界条件
让我们考虑一个平滑的初始条件和热方程在一个维度: 在开区间] 0 ,1 [,让我们假设我们想要与有限差分数值求解。∂tu=∂xxu∂tu=∂xxu \partial_t u = \partial_{xx} u]0,1[]0,1[]0,1[ 我知道,要使我的问题很好地解决,我需要赋予它和x = 1的边界条件。我知道Dirichlet或Neumann都能很好地工作。x=0x=0x=0x=1x=1x=1 如果我在第一种情况下有内部点x k = kNNN表示k=1,⋯,N,则我有N个未知数:uk=u(xk)表示k=1,⋯,N,因为u是在边界处规定的。xk=kN+1xk=kN+1x_k=\frac{k}{N+1}k=1,⋯,Nk=1,⋯,Nk=1,\cdots,NNNNuk=u(xk)uk=u(xk)u_k=u(x_k)k=1,⋯,Nk=1,⋯,Nk=1,\cdots,Nuuu 在第二种情况下真有未知数ü 0,⋯ ,ù Ñ + 1,我知道如何使用(均相)诺伊曼BC在边界来离散拉普拉斯,例如具有两个虚构点的红利x − 1和x N + 2以及等式:N+2N+2N+2u0,⋯,uN+1u0,⋯,uN+1u_0,\cdots,u_{N+1}x−1x−1x_{-1}xN+2xN+2x_{N+2} u1−u−12h=0=uN+2−uN2hu1−u−12h=0=uN+2−uN2h\frac{u_1-u_{-1}}{2 h} = 0 = \frac{u_{N+2}-u_N}{2 h} 我的问题是关于定期公元前。我觉得我可以使用一个方程,即 ,但也许两年,然后我会用 ∂ X ü (0 )= ∂ X ù (1 )u(0)=u(1)u(0)=u(1)u(0) = u(1)∂xu (0 …

3
使用有限差分法时如何处理弯曲边界条件?
我正在尝试自己学习数字解PDE。 我开始使用有限差分法(FDM)已有一段时间了,因为我听说FDM是PDE众多数值方法的基础。到目前为止,我对FDM有了一些基本的了解,并且能够使用我在图书馆和Internet上找到的资料来为常规区域中的一些简单PDE编写代码,但是奇怪的是,我通常所用的资料很少关于治疗不规则的,弯曲的,奇怪的边界,像这样。 而且,我从未见过处理弯曲边界的简单方法。例如,《偏微分方程的数值解-入门》(Morton K.,Mayers D)一书,其中包含我到目前为止所见的最详细的讨论(主要在p71的3.4和p199的6.4中)。对于我来说,这确实很麻烦且令人沮丧。 因此,正如标题所要求的那样,关于弯曲边界,人们通常在使用FDM时如何处理它?换句话说,最流行的治疗方法是什么?还是取决于PDE的类型? 是否有(至少相对)优雅且高精度的方法来处理弯曲边界?还是只是不可避免的痛苦? 我什至要问,当今人们是否真的将FDM用于弯曲边界?如果没有,通常的方法是什么? 任何帮助,将不胜感激。

2
冯·诺伊曼稳定性分析的有限差分方法的替代方法
我正在研究耦合的一维多孔弹性方程(比奥模型),给出为: −(λ+2μ)∂2u∂x2+∂p∂x=0−(λ+2μ)∂2u∂x2+∂p∂x=0-(\lambda+ 2\mu) \frac{\partial^2 u}{\partial x^2} + \frac{\partial p}{\partial x} = 0 ∂∂t[γp+∂u∂x]−κη[∂2p∂x2]=q(x,t)∂∂t[γp+∂u∂x]−κη[∂2p∂x2]=q(x,t)\frac{\partial}{\partial t} \left[ \gamma p + \frac{\partial u}{\partial x}\right] -\frac{\kappa}{\eta}\left[\frac{\partial^2 p}{\partial x^2}\right] =q(x,t) 在域并具有边界条件: Ω=(0,1)Ω=(0,1)\Omega=(0,1) p=0,(λ+2μ)∂u∂x=−u0p=0,(λ+2μ)∂u∂x=−u0p=0, (\lambda + 2\mu)\frac{\partial u}{\partial x}=-u_0 at and在。ü = 0 ,∂ px=0x=0x=0X=1u=0,∂p∂x=0u=0,∂p∂x=0u=0, \frac{\partial p}{\partial x} = 0x=1x=1x=1 我使用中心有限差分方案离散了这些方程式: γp吨+ 1我 -p吨我(λ + 2 …

1
有什么方法可以解决可压缩的欧拉方程
我想为可压缩的Euler方程编写自己的求解器,最重要的是,我希望它在所有情况下均能正常运行。我希望它是基于FE的(DG可以)。有哪些可能的方法? 我知道要进行零阶DG(有限体积)处理,并且应该非常可靠。我已经实现了基本的FVM求解器,并且效果很好,但是收敛速度很慢。但是,这绝对是一种选择。 我为线性化的Euler方程实现了FE解算器(适用于任何网格和任何元素的多项式阶数),但是我得到了虚假的振荡(最终爆炸了,因此无法使用它来解决我的问题),我在文献中读到,需要稳定它。如果我实施某种稳定化处理,那么对所有问题(边界条件和几何形状)都可以有效地发挥作用吗?收敛速度是多少? 除此之外,欧拉方程还有其他健壮的方法(即具有一定稳定性的高阶DG)吗? 我知道许多人在研究代码中尝试了许多不同的方法,但是我对一种适用于所有几何形状和边界条件的健壮方法感兴趣(编辑:在2D和3D中)。


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.