构造插值函数

位移的多项式表示

单元的位移函数可以用多项式表示:
U = a 1 + a 2 x + a 3 y + a 4 x 2 + a 5 y 2 + a 6 x y + . . . U=a_{1}+a_{2}x+a_{3}y+a_{4}x^{2}+a_{5}y^{2}+a_{6}xy+... U=a1+a2x+a3y+a4x2+a5y2+a6xy+...
V = b 1 + b 2 x + b 3 y + b 4 x 2 + b 5 y 2 + b 6 x y + . . . V=b_{1}+b_{2}x+b_{3}y+b_{4}x^{2}+b_{5}y^{2}+b_{6}xy+... V=b1+b2x+b3y+b4x2+b5y2+b6xy+...
多项式中项数越多,位移越接近实际值,但是具体取多少项是由单元的形式确定的。
例如三节点三角形单元,节点位移共有 U i , V i , U j , V j , U m , V m U_{i},V_{i},U_{j},V_{j},U_{m},V_{m} UiViUjVjUmVm六项,因此,最多能确定6个多项式系数。即:
U = a 1 + a 2 x + a 3 y U=a_{1}+a_{2}x+a_{3}y U=a1+a2x+a3y
V = b 1 + b 2 x + b 3 y V=b_{1}+b_{2}x+b_{3}y V=b1+b2x+b3y
在这里插入图片描述
而对于六节点的三角形单元则有12个位移,可以确定12个多项式系数,即:
(1) U = a 1 + a 2 x + a 3 y + a 4 x 2 + a 5 y 2 + a 6 x y + . . . U=a_{1}+a_{2}x+a_{3}y+a_{4}x^{2}+a_{5}y^{2}+a_{6}xy+...\tag{1} U=a1+a2x+a3y+a4x2+a5y2+a6xy+...(1)
V = b 1 + b 2 x + b 3 y + b 4 x 2 + b 5 y 2 + b 6 x y + . . . V=b_{1}+b_{2}x+b_{3}y+b_{4}x^{2}+b_{5}y^{2}+b_{6}xy+... V=b1+b2x+b3y+b4x2+b5y2+b6xy+...

求多项式系数

还是以三节点三角形单元推导多项式系数的求解方法:
(2) { u i u j u m } = [ 1 x i y i 1 x j y j 1 x m y m ] ∗ { α 1 α 2 α 3 } \left\{\begin{matrix} u_{i}\\ u_{j} \\ u_{m} \\ \end{matrix}\right\} = \left[ \begin{matrix} 1&x_{i}&y_{i}\\ 1&x_{j}&y_{j}\\ 1&x_{m}&y_{m} \\ \end{matrix} \right] * \left\{\begin{matrix} \alpha_{1}\\ \alpha_{2} \\ \alpha_{3} \\ \end{matrix}\right\}\tag{2} uiujum=111xixjxmyiyjymα1α2α3(2)
令:
[ T ] = [ 1 x i y i 1 x j y j 1 x m y m ] \left[ \begin{matrix} T \end{matrix} \right] = \left[ \begin{matrix} 1&x_{i}&y_{i}\\ 1&x_{j}&y_{j}\\ 1&x_{m}&y_{m} \\ \end{matrix} \right] [T]=111xixjxmyiyjym
在JuliaFEM中称此矩阵为范德蒙矩阵,求解方法为首先已知一多项式为1+u+v,将单元的局部坐标系下的坐标分别替换多项式中的各项组成的矩阵即为范德蒙矩阵,见vandermonde.jl。
(3) { α 1 α 2 α 3 } = [ T ] − 1 ∗ { u i u j u m } \left\{ \begin{matrix} \alpha_{1}\\ \alpha_{2} \\ \alpha_{3} \\ \end{matrix} \right\}= \left[ \begin{matrix} T \end{matrix} \right] ^{-1} * \left\{\begin{matrix} u_{i}\\ u_{j} \\ u_{m} \\ \end{matrix}\right\} \tag{3} α1α2α3=[T]1uiujum(3)
将(3)式带入(1)式可得:
(4) u = [ 1 u v ] ∗ [ T ] − 1 ∗ { u i u j u m } u= \left[ \begin{matrix} 1&u&v \end{matrix} \right] * \left[ \begin{matrix} T \end{matrix} \right] ^{-1} * \left\{\begin{matrix} u_{i}\\ u_{j} \\ u_{m} \\ \end{matrix}\right\} \tag{4} u=[1uv][T]1uiujum(4)
定义形函数: [ N ] = [ 1 u v ] ∗ [ T ] − 1 \left[ \begin{matrix} N \end{matrix} \right]=\left[ \begin{matrix} 1&u&v \end{matrix} \right] * \left[ \begin{matrix} T \end{matrix} \right] ^{-1} [N]=[1uv][T]1
这里的坐标为局部坐标,由 [ T ] ∗ [ T ] − 1 = [ E ] \left[ \begin{matrix} T \end{matrix} \right]* \left[ \begin{matrix} T \end{matrix} \right] ^{-1} = \left[ \begin{matrix} E \end{matrix} \right] [T][T]1=[E]
那么 [ T ] ∗ [ X 1 ] = [ 1 0 0 ] \left[ \begin{matrix} T \end{matrix} \right]*[X1]= \left[ \begin{matrix} 1\\ 0\\ 0 \end{matrix} \right] [T][X1]=100这里的X1为[T]^{-1}的第一列,同理 [ T ] ∗ [ X 2 ] = [ 0 1 0 ] 这 里 的 X 2 为 [ T ] − 1 的 第 二 列 。 \left[ \begin{matrix} T \end{matrix} \right]*[X2]= \left[ \begin{matrix} 0\\ 1\\ 0 \end{matrix} \right]这里的X2为[T]^{-1}的第二列。 [T][X2]=010X2[T]1
JuliaFEM中的实现过程详见create_basis.jl

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值