MENU

形函数

• March 16, 2022 • Read: 4889 • Finitie Element Method Theory,Data Visualization

采用有限元法进行微分方程的数值计算时,单元内部会采用形函数进行插值,以节点值去表示出单元内部任意位置处的函数值。以一维问题为例,如果场函数为$u(x)$,那么在划分单元后,每一个单元内部值采用本单元两个节点处的值去表示,单元内两个端点分别为$x_1,x_2$,节点处场函数值记作$u_1, u_2$,注意到这里的1和2,是节点的局部坐标,因为一维问题中,这里采用简单的两点单元,左侧记作1,右侧为2。从基函数插值的角度来看,希望去寻求出一个插值基函数,利用叠加原理近似表示出内部的函数值,即

$$ u^e(x) = N_1(x)u^e_1 + N_2(x)u^e_2 \\ \Rightarrow u^e(x) = \sum_{i=1}^{2}N_i(x) \cdot u^e_i $$

仅从数学的角度来看,形函数$N(x)$实际就是一个权重函数,利用$u_1$和$u_2$的值,以及他们各自位置处的权重来近似评估之间部分的值。另一个角度来看,近似的目的在于利用两个端点的值插值出内部值,插值表示两个端点是必须要满足函数的,而两个端点则需要两个未知数待求,本质上是一个一次函数多项式的确定问题,依据这个解释得到:

$$ u^e_1 = a + bx^e_1\\ u^e_2 = a + bx^e_2 $$

求解这个方程组,得出$a,b$的表达后,进行同类项的合并,即可得到形函数的表达。

$$ N_1 = \frac{x_2 - x}{x_2 - x1}\\ N_2 = \frac{x - x_1}{x_2 - x_1} $$

形函数本质上表示该位置处值的权重,当然这个权重值会随着位置发生变化,如果距离“1”处近,那么1位置对于该点的影响权重更大,那么1处形函数值要更大一点。既然表示权重,那么总的权重必定为1,因此两个形函数的和必定为1,形函数图像是单调函数,其图像为:

import numpy as np
import matplotlib.pyplot as plt


N = 20
num = 5
x = np.linspace(0, 1, num)


def n1(en):
    x1, x2 = x[[en, en+1]]
    ex = np.linspace(x1, x2, N)
    return (x2 - ex) / (x2 - x1)


def n2(en):
    x1, x2 = x[[en, en+1]]
    ex = np.linspace(x1, x2, N)
    return (ex - x1) / (x2 - x1)


mycolor = plt.cm.get_cmap("coolwarm", num-1)
fig, ax = plt.subplots()
for en in range(num - 1):
    ax.plot(np.linspace(x[en], x[en+1], N), n1(en), color=mycolor(en))
    ax.plot(np.linspace(x[en], x[en+1], N), n2(en), color=mycolor(en))
ax.plot(x, np.zeros_like(x), color='k', marker='o', linestyle='-.')
ax.spines['left'].set_visible(False)
ax.yaxis.set_visible(False)
plt.show()

上述代码可以绘制出各个单元的形函数,总长度为1,共4个单元,每一个的单元长度为0.25。

shape

Archives Tip
QR Code for this page
Tipping QR Code
Leave a Comment

4 Comments
  1. 1@(呵呵)@(哈哈)@(吐舌)@(太开心)@(笑眼)@(花心)@(小乖)@(乖)@(捂嘴笑)@(滑稽)@(你懂的)@(不高兴)@(怒)@(汗)@(黑线)@(泪)@(真棒)@(喷)@(惊哭)@(阴险)@(鄙视)@(酷)@(啊)@(狂汗)@(what)@(疑问)@(酸爽)@(呀咩爹)@(委屈)@(惊讶)@(睡觉)@(笑尿)@(挖鼻)@(呵呵)@(哈哈)@(吐舌)@(太开心)@(笑眼)@(花心)@(小乖)@(乖)@(捂嘴笑)@(滑稽)@(你懂的)@(不高兴)@(怒)@(汗)@(黑线)@(泪)@(真棒)@(喷)@(惊哭)@(阴险)@(鄙视)@(酷)@(啊)@(狂汗)@(what)@(疑问)@(酸爽)@(呀咩爹)@(委屈)@(惊讶)@(睡觉)@(笑尿)@(挖鼻)@(吐)@(犀利)@(小红脸)@(懒得理)@(勉强)@(爱心)@(心碎)@(玫瑰)@(礼物)@(彩虹)@(太阳)@(星星月亮)@(钱币)@(茶杯)@(蛋糕)@(大拇指)@(胜利)@(haha)@(OK)@(沙发)@(手纸)@(香蕉)@(便便)@(药丸)@(红领巾)@(蜡烛)@(音乐)@(灯泡)#(高兴)#(不高兴)#(皱眉)#(邪恶)#(大囧)#(惊喜)#(小眼睛)#(小怒)#(无语)#(傻笑)#(期待)#(呲牙)#(喜极而泣)#(脸红)#(亲亲)#(狂汗)#(得意)#(抠鼻)#(抽烟)#(内伤)#(口水)#(吐)#(吐舌)#(不说话)#(不出所料)#(装大款)#(尴尬)#(喷水)#(喷血)#(咽气)#(愤怒)#(赞一个)#(中指)#(看不见)#(无所谓)#(欢呼)#(无奈)#(害羞)#(想一想)#(鼓掌)#(观察)#(锁眉)#(黑线)#(汗)#(哭泣)#(阴暗)#(暗地观察)#(蜡烛)#(投降)#(吐血倒地)#(便便)#(长草)#(肿包)#(坐等)#(看热闹)#(深思)#(献花)#(献黄瓜)#(中枪)#(击掌)#(扇耳光)#(中刀)

  2. 1@(呵呵)@(哈哈)@(吐舌)@(太开心)@(笑眼)@(花心)@(小乖)@(乖)@(捂嘴笑)@(滑稽)@(你懂的)@(不高兴)@(怒)@(汗)@(黑线)@(泪)@(真棒)@(喷)@(惊哭)@(阴险)@(鄙视)@(酷)@(啊)@(狂汗)@(what)@(疑问)@(酸爽)@(呀咩爹)@(委屈)@(惊讶)@(睡觉)@(笑尿)@(挖鼻)@(呵呵)@(哈哈)@(吐舌)@(太开心)@(笑眼)@(花心)@(小乖)@(乖)@(捂嘴笑)@(滑稽)@(你懂的)@(不高兴)@(怒)@(汗)@(黑线)@(泪)@(真棒)@(喷)@(惊哭)@(阴险)@(鄙视)@(酷)@(啊)@(狂汗)@(what)@(疑问)@(酸爽)@(呀咩爹)@(委屈)@(惊讶)@(睡觉)@(笑尿)@(挖鼻)@(吐)@(犀利)@(小红脸)@(懒得理)@(勉强)@(爱心)@(心碎)@(玫瑰)@(礼物)@(彩虹)@(太阳)@(星星月亮)@(钱币)@(茶杯)@(蛋糕)@(大拇指)@(胜利)@(haha)@(OK)@(沙发)@(手纸)@(香蕉)@(便便)@(药丸)@(红领巾)@(蜡烛)@(音乐)@(灯泡)#(高兴)#(不高兴)#(皱眉)#(邪恶)#(大囧)#(惊喜)#(小眼睛)#(小怒)#(无语)#(傻笑)#(期待)#(呲牙)#(喜极而泣)#(脸红)#(亲亲)#(狂汗)#(得意)#(抠鼻)#(抽烟)#(内伤)#(口水)#(吐)#(吐舌)#(不说话)#(不出所料)#(装大款)#(尴尬)#(喷水)#(喷血)#(咽气)#(愤怒)#(赞一个)#(中指)#(看不见)#(无所谓)#(欢呼)#(无奈)#(害羞)#(想一想)#(鼓掌)#(观察)#(锁眉)#(黑线)#(汗)#(哭泣)#(阴暗)#(暗地观察)#(蜡烛)#(投降)#(吐血倒地)#(便便)#(长草)#(肿包)#(坐等)#(看热闹)#(深思)#(献花)#(献黄瓜)#(中枪)#(击掌)#(扇耳光)#(中刀)

  3. 1@(呵呵)@(哈哈)@(吐舌)@(太开心)@(笑眼)@(花心)@(小乖)@(乖)@(捂嘴笑)@(滑稽)@(你懂的)@(不高兴)@(怒)@(汗)@(黑线)@(泪)@(真棒)@(喷)@(惊哭)@(阴险)@(鄙视)@(酷)@(啊)@(狂汗)@(what)@(疑问)@(酸爽)@(呀咩爹)@(委屈)@(惊讶)@(睡觉)@(笑尿)@(挖鼻)@(呵呵)@(哈哈)@(吐舌)@(太开心)@(笑眼)@(花心)@(小乖)@(乖)@(捂嘴笑)@(滑稽)@(你懂的)@(不高兴)@(怒)@(汗)@(黑线)@(泪)@(真棒)@(喷)@(惊哭)@(阴险)@(鄙视)@(酷)@(啊)@(狂汗)@(what)@(疑问)@(酸爽)@(呀咩爹)@(委屈)@(惊讶)@(睡觉)@(笑尿)@(挖鼻)@(吐)@(犀利)@(小红脸)@(懒得理)@(勉强)@(爱心)@(心碎)@(玫瑰)@(礼物)@(彩虹)@(太阳)@(星星月亮)@(钱币)@(茶杯)@(蛋糕)@(大拇指)@(胜利)@(haha)@(OK)@(沙发)@(手纸)@(香蕉)@(便便)@(药丸)@(红领巾)@(蜡烛)@(音乐)@(灯泡)#(高兴)#(不高兴)#(皱眉)#(邪恶)#(大囧)#(惊喜)#(小眼睛)#(小怒)#(无语)#(傻笑)#(期待)#(呲牙)#(喜极而泣)#(脸红)#(亲亲)#(狂汗)#(得意)#(抠鼻)#(抽烟)#(内伤)#(口水)#(吐)#(吐舌)#(不说话)#(不出所料)#(装大款)#(尴尬)#(喷水)#(喷血)#(咽气)#(愤怒)#(赞一个)#(中指)#(看不见)#(无所谓)#(欢呼)#(无奈)#(害羞)#(想一想)#(鼓掌)#(观察)#(锁眉)#(黑线)#(汗)#(哭泣)#(阴暗)#(暗地观察)#(蜡烛)#(投降)#(吐血倒地)#(便便)#(长草)#(肿包)#(坐等)#(看热闹)#(深思)#(献花)#(献黄瓜)#(中枪)#(击掌)#(扇耳光)#(中刀)

  4. 1@(呵呵)@(哈哈)@(吐舌)@(太开心)@(笑眼)@(花心)@(小乖)@(乖)@(捂嘴笑)@(滑稽)@(你懂的)@(不高兴)@(怒)@(汗)@(黑线)@(泪)@(真棒)@(喷)@(惊哭)@(阴险)@(鄙视)@(酷)@(啊)@(狂汗)@(what)@(疑问)@(酸爽)@(呀咩爹)@(委屈)@(惊讶)@(睡觉)@(笑尿)@(挖鼻)@(呵呵)@(哈哈)@(吐舌)@(太开心)@(笑眼)@(花心)@(小乖)@(乖)@(捂嘴笑)@(滑稽)@(你懂的)@(不高兴)@(怒)@(汗)@(黑线)@(泪)@(真棒)@(喷)@(惊哭)@(阴险)@(鄙视)@(酷)@(啊)@(狂汗)@(what)@(疑问)@(酸爽)@(呀咩爹)@(委屈)@(惊讶)@(睡觉)@(笑尿)@(挖鼻)@(吐)@(犀利)@(小红脸)@(懒得理)@(勉强)@(爱心)@(心碎)@(玫瑰)@(礼物)@(彩虹)@(太阳)@(星星月亮)@(钱币)@(茶杯)@(蛋糕)@(大拇指)@(胜利)@(haha)@(OK)@(沙发)@(手纸)@(香蕉)@(便便)@(药丸)@(红领巾)@(蜡烛)@(音乐)@(灯泡)#(高兴)#(不高兴)#(皱眉)#(邪恶)#(大囧)#(惊喜)#(小眼睛)#(小怒)#(无语)#(傻笑)#(期待)#(呲牙)#(喜极而泣)#(脸红)#(亲亲)#(狂汗)#(得意)#(抠鼻)#(抽烟)#(内伤)#(口水)#(吐)#(吐舌)#(不说话)#(不出所料)#(装大款)#(尴尬)#(喷水)#(喷血)#(咽气)#(愤怒)#(赞一个)#(中指)#(看不见)#(无所谓)#(欢呼)#(无奈)#(害羞)#(想一想)#(鼓掌)#(观察)#(锁眉)#(黑线)#(汗)#(哭泣)#(阴暗)#(暗地观察)#(蜡烛)#(投降)#(吐血倒地)#(便便)#(长草)#(肿包)#(坐等)#(看热闹)#(深思)#(献花)#(献黄瓜)#(中枪)#(击掌)#(扇耳光)#(中刀)