评估边界上的积分 - FEM

计算科学 有限元 数值分析
2021-12-14 01:45:20

我正在实施一个 MatLab 程序来求解本文中给出的方程其中涉及求解来自问题的变分公式的积分。其中之一是 其中是一个函数,使得在节点的三角分区的,它的值是 1 和 0 在别处。也就是说,是为有限元法上的三角形分区定义的标准节点基。

Ωf(i=1Nuiϕi)ϕjdΩ
ϕj(xj,yj)Ω{ϕi}

我的困惑是如何评估这个积分。这是我认为我需要做的:

在每次迭代中,我们要评估在三角形分区的每个节点处近似值个节点。该积分仅在位于边界上的节点处进行评估。例如,假设是这些节点之一,并且我们想要在这个节点上的值(即,我们想要在某个迭代中获得 u_1)。然后,我们应该评估:u(k)=(u1(k),...,uN(k))TuNΩ(x1,y1)u

Ωf(i=1Nuiϕi(x1,y1))ϕ1(x1,y1)dΩ=Ωf(u1)dΩ

如果这是正确的,我真的很困惑,如果是,我该如何计算这个积分?

如果问题令人困惑,我很抱歉,但如果需要,本文可以清楚地说明应该做什么。

谢谢!

2个回答

所以取你的第一个表达式,并给它一个名字,用它做一个方程,然后用一个求积规则代替: 其中是求积法则的权重和点。如果这是您整个系统的 RHS,则可能不应该出现,因为这将为您的域中如果这是在典型的左侧,那么您对刚度矩阵如果周围的任何元素中

[F(u)]jqwqf(iuiϕi(xq))ϕj(xq)
wqxqϕjiji,jxqxi,那么你可以跳过内部总和中的那个术语,因为并且只需将添加到你的部分总和中如果您编辑以包含您要解决的整个方程,例如 ,用于线性运算符以帮助澄清,这可能会很好。无论哪种方式,您都可能希望形成一个矩阵方程来求解每个如果未知且是非线性的,那么从这个系统中形成一个矩阵来求解可能是不可能的。ϕi(xq)=0f(0)iLu=F(u)LF(u)=somethingelseuiuifui

内的这个内部和可能是非线性的,这将是一个昂贵的计算项。都具有合理的大小并且很便宜,您可能能够快速构建完整的表。fNqNiNf

您似乎对基你是对的,对于所有你可能错过的是的三角形元素上它都是非零的。{ϕi}.ϕi(xi,yi)=1ϕi(xj,yj)=0ij.ϕi(xi,yi).

该论文描述了一种标准的 Galerkin 离散化方法。表达式左侧的积分可以解析评估,因为函数是多项式。f(u)=u(ua)(ub)