An Exponentially Convergent Nonpolynomial Finite Element Method for Time-Harmonic Scattering from Polygons

An Exponentially Convergent Nonpolynomial Finite Element Method for Time-Harmonic Scattering from Polygons
复制标题

DOI:
10.1137/090768667
复制
发表时间:
2010-04
期刊:
SIAM J. Sci. Comput.
影响因子:
--
通讯作者:
A. Barnett;T. Betcke
A. Barnett;T. Betcke
中科院分区:
其他
文献类型:
--
作者:
A. Barnett;T. Betcke

文献摘要

被引文献

相似文献

近年来,非多项式有限元方法由于有效解决波浪问题而受到越来越多的关注。与它们的近亲特定解法一样,高效率来自于使用亥姆霍兹方程的解作为基函数。我们提出并分析了一种从多边形域散射二维标量波的方法,该方法纯粹通过增加每个元素中基函数的数量来实现指数收敛。关键要素是使用基函数来捕获角点处的奇点,并通过基本解决方案的组合来表示趋于无穷大的散射场。该解决方案是通过最小化最小二乘函数来获得的,我们将其离散化以获得矩阵最小二乘问题。我们给出了最小二乘函数收敛速度的可计算指数界限,与观察到的数值收敛非常一致。具有挑战性的数值示例,包括具有多个角奇点的非凸多边形和空腔域,只需几秒钟的 CPU 时间即可求解到大约 10 位数字的精度。这些示例是使用 MPSpack 简洁实现的,MPSpack 是作者开发的用于使用非多项式基函数进行波计算的 MATLAB 工具箱。包含一个代码示例。
In recent years nonpolynomial finite element methods have received increasing attention for the efficient solution of wave problems. As with their close cousin the method of particular solutions, high efficiency comes from using solutions to the Helmholtz equation as basis functions. We present and analyze such a method for the scattering of two-dimensional scalar waves from a polygonal domain that achieves exponential convergence purely by increasing the number of basis functions in each element. Key ingredients are the use of basis functions that capture the singularities at corners and the representation of the scattered field towards infinity by a combination of fundamental solutions. The solution is obtained by minimizing a least-squares functional, which we discretize in such a way that a matrix least-squares problem is obtained. We give computable exponential bounds on the rate of convergence of the least-squares functional that are in very good agreement with the observed numerical convergence. Challenging numerical examples, including a nonconvex polygon with several corner singularities, and a cavity domain, are solved to around 10 digits of accuracy with a few seconds of CPU time. The examples are implemented concisely with MPSpack, a MATLAB toolbox for wave computations with nonpolynomial basis functions, developed by the authors. A code example is included.