假设我有以下积分:
在哪里
那么如何使用高斯求积来计算它,而不必将晶胞分成两个单独的部分或将它们重新转换成另外 2 个晶胞。我的意思是,由于被积函数在晶胞上是不连续的,因此似乎无法直接使用 Guass 求积,那么我还需要什么其他信息或应该采取什么处理来处理它?有可能实现这个目标吗?
假设我有以下积分:
您的问题可能听起来像“不能将高斯求积用于不连续被积函数”,这不是必要的情况。问题是它的直接应用(不考虑不连续性)可能会产生不令人满意的精度(例如,添加更多正交点只会缓慢降低正交误差)。
要获得适合您目标的答案,您应该在问题中指定如何设置被描述。我可以为一个特定案例提供参考。我在使用水平集方法时知道这种集成,其中接口可以将域欧米茄分成两部分,所以集合由水平集函数的符号隐式给出,因为接口本身是由零水平集给出的。
所以如果你能构造一个平滑函数(尤其是那个几乎在任何地方都有定义)使得和然后在 Google 或科学数据库中搜索“正交方法隐式定义体积”等术语。我不能推荐具体的出版物,因为我没有解决这个问题的实际经验。
类似地,所谓的流体体积法必须在不使用水平集函数的情况下处理此类问题,而是使用“特征函数”.
添加:
正如我之前写的,我之前没有应用过这种类型的数值求积,我只知道这个问题在水平集方法中已经解决了很多次,因此我不想推荐任何特定的算法,我建议搜索适合特定需求的变体。快速搜索一下,我得到了这个最近的PDF 文件:
用于超矩形中隐式定义的表面和体积的高阶求积方法 RI Saye SIAM 科学计算杂志 2015 37:2, A993-A1019
简单地检查一下,它声称可以使用水平集函数给出的信息找到正交点(和相应的正权重),使得它们严格位于一个子域中。这当然是在水平集方法中应该遵循的方向。