对不连续被积函数使用高斯求积

计算科学 数值分析 正交 一体化
2021-12-01 08:35:58

假设我有以下积分:

1111Cif(x,y)dxdy
在哪里
Ci={C1in Ω1C2in Ω2
那么如何使用高斯求积来计算它,而不必将晶胞分成两个单独的部分或将它们重新转换成另外 2 个晶胞。我的意思是,由于被积函数在晶胞上是不连续的,因此似乎无法直接使用 Guass 求积,那么我还需要什么其他信息或应该采取什么处理来处理它?有可能实现这个目标吗?

1个回答

您的问题可能听起来像“不能将高斯求积用于不连续被积函数”,这不是必要的情况。问题是它的直接应用(不考虑不连续性)可能会产生不令人满意的精度(例如,添加更多正交点只会缓慢降低正交误差)。

要获得适合您目标的答案,您应该在问题中指定如何设置Ωi被描述。我可以为一个特定案例提供参考。我在使用水平集方法时知道这种集成,其中接口可以将域欧米茄分成两部分,所以集合Ωi由水平集函数的符号隐式给出,因为接口本身是由零水平集给出的。

所以如果你能构造一个平滑函数ϕ(尤其是那个ϕ几乎在任何地方都有定义)使得Ω1={x:ϕ(x)<0}Ω2={x:ϕ(x)>0}然后在 Google 或科学数据库中搜索“正交方法隐式定义体积”等术语。我不能推荐具体的出版物,因为我没有解决这个问题的实际经验。

类似地,所谓的流体体积法必须在不使用水平集函数的情况下处理此类问题,而是使用“特征函数”Ωi.

添加:

正如我之前写的,我之前没有应用过这种类型的数值求积,我只知道这个问题在水平集方法中已经解决了很多次,因此我不想推荐任何特定的算法,我建议搜索适合特定需求的变体。快速搜索一下,我得到了这个最近的PDF 文件

用于超矩形中隐式定义的表面和体积的高阶求积方法 RI Saye SIAM 科学计算杂志 2015 37:2, A993-A1019

简单地检查一下,它声称可以使用水平集函数给出的信息找到正交点(和相应的正权重),使得它们严格位于一个子域中。这当然是在水平集方法中应该遵循的方向。

其它你可能感兴趣的问题