三角形上紧支撑函数的数值积分


10

如标题所示,我正在尝试计算三角形上紧密支持的函数(Wendland的五次多项式)的积分。注意,函数的中心在3-D空间中。我整合上的任意这个功能,但小三角形(area<(radius/4)22)。我目前使用的是1985年Dunavant描述的集成(p = 19)。

但是,这些正交规则似乎不适用于紧凑支持的问题。这是由以下事实:当我整合支持f(r)=[r1](这样一个函数,它是1半径为1的圆内),其上使用三角形离散的平面上,我的(归一化)的结果之间1.001和0.897。

所以我的问题是,针对此类问题是否存在专门的正交规则?低阶复合积分规则会更好地工作吗?

不幸的是,此例程在我的代码中确实至关重要,因此精度至关重要。另一方面,我需要在单个时间步中“几次”执行此集成,因此计算开销不应太高。并行化不是问题,因为我将串行执行集成。

预先感谢您的回答。

编辑:Wendland的五次多项式由下式给出W(q)=[q2]αh3(1q2)4(2q+1)α=2116π - [R0q=rr0hr0R3

EDIT2:如果Δ是二维三角形,那么我想用\ omega(r)= W(\ frac {\ | r-r_0 \ |} {h})计算\ int_ \ Delta \ omega(r)dr。所以qW¯¯永远不会小于0。注意,积分是在在2 d面的表面积分\ mathbb {R} ^ 3Δω(r)drω(r)=W(rr0h)qWR3

EDIT3:我对一维(线)问题有解析的解决方案。为二维(三角形)计算一个可能也是可能的。


您能否为我们提供更多您要集成的功能的详细信息?只是多项式吗?还是分段多项式?
2012年

根据要求进行编辑。
Azrael3000

Answers:


4

由于函数在内是平滑的,但不是固定程度的(即在平面内),因此,我建议在两个维度上使用简单的自适应方案,例如采用Romberg方法梯形法则q2

也就是说,如果你的三角形由顶点定义,和,和你有一个例行它集成沿线从到,你可以做以下(在Matlab表示法):ý ž [R 3xyzR3romb(f,a,b)fab

int = romb( @(xi) romb( W , xi , y+(z-y)*(xi-x)./(z-x) ) , x , z );

在中romb,不要使用固定数量的点,而是继续扩大表,直到两个连续对角线之间的差值低于所需的公差为止。由于您的函数很流畅,因此这应该是一个不错的错误估计。

如果三角形的一部分在的域之外,则可以尝试相应地调整上述代码中的积分极限。W(q)

这可能不是解决问题的最有效的计算方法,但是自适应性将为您提供比固定度数规则强得多的鲁棒性。


除了之外,该函数在其他任何地方都很平滑。这一点附近造成了麻烦。q=0
阿诺德·纽迈耶

啊分解成两个一维问题,一点也不坏。因为有一件事我还没告诉你。我有一维解析解决方案,因此可以用解析函数替换内部横杆。我已经给该镜头+1了
Azrael3000

@ArnoldNeumaier,很抱歉,我不知道怎么可能。你能解释一下吗?
Pedro 2012年

就,光滑是函数,但据我所知,是的非光滑函数,并且积分超过。因此,复合函数是的非光滑函数。q - [R [R [Rqqrrr
阿诺德·诺伊迈耶

1
@Pedro我实现了它,它就像一个魅力。实际上,我们今天也找到了一种分析解决方案。但这仅适用于一种特殊情况,可用于重建一般情况。这意味着我们需要进行一些域分解。由于Romberg收敛约有4个步骤,因此我认为这将比使用解析公式更快。根据维基百科,当使用有理多项式时,我们仍然可以比Romberg做得更好。您会在我下一篇论文的致谢中找到您的名字:)干杯。
Azrael3000

2

有关孵化规则的良好概述,请参阅“ R. Cools,Cubature公式百科全书J. Complexity,19:445-453,2003”。使用固定规则,可以为您带来一些规则完全集成多项式的优势(就像高斯正交在一维中一样)。

Cools还是CUBPACK的主要作者之一,CUBPACK是用于数字培养的软件包。


我认为这里的问题是该函数是的多项式,但是在空间坐标中是非线性函数。该函数平滑到基函数的边缘,但多项式除外,除非沿轴。qqq
Pedro 2012年

这是正确的佩德罗。
Azrael3000

喔好吧。我的错。抱歉。
GertVdE 2012年

2

积分规则假定该函数在局部上由低次多项式很好地近似。您的问题与紧凑支持无关。紧密支撑的径向基函数在支撑边界处是平滑的,并且可以使用平滑度最高的正交规则而不会出现问题。(高阶规则无济于事;因此,您可能不应该使用将5级多项式精确积分的规则。)

在您的情况下,这种不精确性来自以下事实:即使在附近的三角形中,即使它们不包含,对多项式逼近性的假设也会失败。r 0r0r0

q q r r r 0 r rW是的函数,是光滑的,但是是的非光滑函数,其梯度在极限中变为无限大。积分在之上,并且复合函数是的非光滑函数。qqrrr0rr

如果三角形不包含,则函数为但这无济于事,因为高阶导数在附近非常快地增长,并且高阶方法的误差与高阶导数成正比,因此非常大!C i n f r 0r0Cinfr0

简单的解决方法是将每个三角形T拆分为N_T个子三角形。您可以使远离,并使接近。您可以离线给定直径和距距离的三角形必须具有多少,才能达到所需的精度。此外,只应使用接近低阶公式。- [R 0 Ñ Ť » 1 - [R 0 Ñ Ť - [R 0 - [R 0NT=1r0NT1r0NTr0r0

当您在一个三角形上积分但是3维时,该三角形显然在。R 3r0R3

因此,一种更快的补救方法是将的积分制表为三角坐标的函数(通过将其旋转到二维平面以使一个顶点位于轴上并对其进行反射以使其第二个坐标进行归一化)顶点位于其上方)。此列表必须足够详细,以使线性或二次插值足够准确。但是您可以使用首先概述的慢速方法来创建此表。x y xr0=0xyx

解决该问题的另一种方法是使用紧凑支持的径向基函数,该函数是而不是的多项式。这到处都很平滑,并且易于集成。 qq2q


我认为有一个小误会。我更新了我的问题的描述。实际上,积分中的永远不能小于不一定包含在三角形中。- [R 0qr0
Azrael3000

您的新加入对我来说没有意义。如果那么必须是。还是在的2D三角形上进行积分?-我不认为在三角形中。我只是在稍后的回答中添加了更多细节。 - [R [R 3 - [R 0r0R3rR3r0
阿诺德·诺伊迈耶

是的,我在的2D三角形上积分是正确的。R3
Azrael3000
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.