给定实验数据,在曲面上积分

计算科学 正交
2021-12-12 14:39:35

我有一个由三角形组成的 3D 表面网格,我有一个函数的值u(x,y,z)在网格的每个顶点(每个三角形的每个顶点)。

我需要计算以下积分:

SuxxdA

通常,我将此积分计算为每个三角形的总和,假设u在每个三角形上是线性的(因为我知道每个三角形顶点中的值)。所以我可以使用基础多项式(典型的 fem)。我的问题是这个基必须是 1 次多项式,但我需要第二个偏导数,所以这个积分将为零。

我如何计算这个积分?

1个回答

为什么你说这个积分即使使用线性插值也会为零?你熟悉VTK库吗?

基本上,这是在表面上计算积分的过程:

  1. 使用计算每个点或顶点上的uxxvtkGradientFilter

  2. 使用 进行表面积分vtkIntegrateAttributes

它应该工作。您可以按照此过程使用 FDM 求导来计算,然后在任何其他编程语言或库中计算积分。uxx