CCG 05-03:有限元基函数与余切权重

本页只解决一个问题

分片线性函数的梯度怎样推导出 cotangent 权重?

本页是原长篇讲义的单概念版本。第一次阅读只追踪本页定义的对象;看见未掌握的前置符号时,先沿链接退回,不要跳过定义硬背结论。

开始前

5. 分片线性有限元基函数

对每个顶点ii,定义帽函数ϕi\phi_i:

ϕi(pj)=δij,\phi_i(p_j)=\delta_{ij},

并在每个三角形内线性。任意分片线性函数

uh=∑iuiϕi.u_h=\sum_i u_i\phi_i.

在每个三角形内∇ϕi\nabla\phi_i 为常向量。

5.1 单个三角形上的梯度

在二维有向三角形(qi,qj,qk)(q_i,q_j,q_k) 中,令R90(x,y)=(−y,x)R_{90}(x,y)=(-y,x),有

∇ϕi=R90(qk−qj)2A,\nabla\phi_i =\frac{R_{90}(q_k-q_j)}{2A},

以及循环置换。因为ϕi\phi_i 在对边(j,k)(j,k) 上为 0,梯度垂直于该边;大小为“高度的倒数”。

6. 余切权重的有限元推导

连续 Dirichlet 能量的双线性型为

a(u,v)=∫M⟨∇u,∇v⟩dA.a(u,v)=\int_M\langle\nabla u,\nabla v\rangle dA.

离散 stiffness matrix

Lij=∫M⟨∇ϕi,∇ϕj⟩dA.L_{ij}=\int_M\langle\nabla\phi_i,\nabla\phi_j\rangle dA.

在包含边(i,j)(i,j) 的单个三角形(i,j,k)(i,j,k) 上:

∫t⟨∇ϕi,∇ϕj⟩dA=−12cot⁡θk.\int_t\langle\nabla\phi_i,\nabla\phi_j\rangle dA =-\frac12\cot\theta_k.

6.1 计算过程

由梯度公式:

⟨∇ϕi,∇ϕj⟩=(qk−qj)⋅(qi−qk)4A2.\langle\nabla\phi_i,\nabla\phi_j\rangle =\frac{(q_k-q_j)\cdot(q_i-q_k)}{4A^2}.

分子对应角kk 两条边的负点积:

(qk−qj)⋅(qi−qk)=−∥qj−qk∥∥qi−qk∥cos⁡θk.(q_k-q_j)\cdot(q_i-q_k) =-\|q_j-q_k\|\|q_i-q_k\|\cos\theta_k.

又

2A=∥qj−qk∥∥qi−qk∥sin⁡θk.2A=\|q_j-q_k\|\|q_i-q_k\|\sin\theta_k.

乘以三角形面积AA 后得到−12cot⁡θk-\frac12\cot\theta_k。

对于内部边(i,j)(i,j) 两侧对角αij,βij\alpha_{ij},\beta_{ij}:

wij=12(cot⁡αij+cot⁡βij),w_{ij}=\frac12(\cot\alpha_{ij}+\cot\beta_{ij}),

Lij=−wij,i≠j,L_{ij}=-w_{ij},\quad i\ne j,

Lii=∑j∈N(i)wij.L_{ii}=\sum_{j\in N(i)}w_{ij}.

读完必须能回答

  1. 不看公式,用自己的话回答开头的核心问题。
  2. 指出本页最重要公式中每个符号的类型:标量、向量、矩阵、映射还是集合。
  3. 找出定理成立所需的假设,并举一个删除某条假设后可能失败的例子。
  4. 对最小例子手算一遍;若本页含代码,再比较手算与程序输出。

前后课程

上一课:锥奇点与离散 Gauss-Bonnet | 下一课:离散能量、质量矩阵与 Dirichlet 问题