求解如下二維傳熱問題(參考《流體力學中的有限元方法》P156-165):

控制方程:

采用 Galerkin 弱形式:

選用三節點三角形單元,插值多項式:

代入節點坐標求得基函數:

其中:


單元近似函數:

代入弱形式,利用基函數任意性得單元剛度矩陣:

記:




代入基函數具體表達式:

經等參變換(詳見文獻 P201),對常數 p 情況:

此處 A 為三角形面積。邊界項 g 均為 0,故不計算。
Fem1.cpp:直接計算積分值Fem2.cpp:采用面積坐標插值函數,積分值取三角形面積 1/3,更通用Fem3.cpp:求解題目 2兩者結果一致,驗證了算法正確性。
四邊形區域網格劃分:

計算結果用 Matlab 可視化:

圖 2、3 為題 1 兩程序結果(視角不同),圖 4 為題 2 解:

同框架還成功求解三角形、橢圓形區域問題。
感謝王旭教授在數學與計算上的悉心指導!