积分超过参考元素11D FEM:如何映射正交点?

计算科学 有限元 Python 一体化
2021-12-18 23:25:41

以下与几天前提出的一个问题有关1,但现在我想只关注问题的一部分。

我在计算参考元素上的积分时遇到问题:

01(fΠh1(f))2dx.

我想我了解如何在参考元素上使用基函数以及它们的值是什么f应该用于插值。问题出在第一个 f在被积函数中。我怎样才能映射它?如果仿射图是x=xj+γ(xj+1xj)我可以把它换成f并获得

f(x(γ))=cos(2π(xj+γ(xj+1xj))).

我该如何继续?我在页面上关注这些美丽的笔记49但这很简单。

使用 Python 来做到这一点,我最终得到了这个:

def func_ref(z, x, a, b):
    cos_a = np.cos(2*np.pi*x[a])
    cos_b = np.cos(2*np.pi*x[b])
    return np.power((cos_a - cos_a * (1 - z) + cos_b * z) * (x[b] - x[a]), 2)

其中x只是包含节点的向量,ab将是左右邻居,z是积分变量。第一个学期,cosa应该是第一个 f被积分的,但我不知道/不明白如何做到这一点。谢谢你。

可能的解决方案

写得对吗

01(cos(2π(xi+γ(xi+1xi))cos(xi)(1γ)+cos(xj+1)γ)2(xi+1xi)dγ

并整合关于γ?

0个回答
没有发现任何回复~