Матрица жёсткости 2D

Теперь вычислим матрицу жёсткости для двумерного случая. В двумерном пространстве градиент имеет вид υ=(υx,υy)\nabla \upsilon = \left( \frac{\displaystyle \partial \upsilon}{\displaystyle \partial x}, \frac{\displaystyle \partial \upsilon}{\displaystyle \partial y} \right), а скалярное произведение градиентов соответственно υυ=(υx)2+(υy)2\nabla \upsilon \cdot \nabla \upsilon = \left( \frac{\displaystyle \partial \upsilon}{\displaystyle \partial x} \right)^2 + \left( \frac{\displaystyle \partial \upsilon}{\displaystyle \partial y} \right)^2. Учитывая, что область MM представляет собой координатную плоскость, разбитую на симплексы-треугольники, исследуемую часть функционала для одного треугольника с вершинами (xi,yi),(xi+1,yi+1),(xi+2,yi+2)(x_i, y_i), (x_{i+1}, y_{i+1}), (x_{i+2}, y_{i+2}) можно записать как

[(υx)2+(υy)2]dS.\int_{\triangle} \left[ \left( \frac{\displaystyle \partial \upsilon}{\displaystyle \partial x} \right)^2 + \left( \frac{\displaystyle \partial \upsilon}{\displaystyle \partial y} \right)^2 \right] \,dS.
(6.7)

Функция υ(x,y)=i=1Nυi(x,y)\upsilon(x, y) = \sum_{i=1}^N \upsilon_i(x, y). Пробная функция на треугольнике имеет вид υ(i)(i+2)(x,y)=qiϕi(x,y)+qi+1ϕi+1(x,y)+qi+2ϕi+2(x,y)\upsilon_{(i)(i+2)}(x, y) = q_i \cdot \phi_i(x, y) + q_{i+1} \cdot \phi_{i+1}(x, y) + q_{i+2} \cdot \phi_{i+2}(x, y). Примем во внимание (5.9) и (5.10) из раздела о функциях <<крышек>> и запишем соотношения для функций <<крышек>>

{ϕi(x,y)=ai+bix+ciyϕi+1(x,y)=ai+1+bi+1x+ci+1yϕi+2(x,y)=ai+2+bi+2x+ci+2y\begin{cases} \phi_i(x, y) = a_i + b_i \cdot x + c_i \cdot y\\ \phi_{i+1}(x, y) = a_{i+1} + b_{i+1} \cdot x + c_{i+1} \cdot y\\ \phi_{i+2}(x, y) = a_{i+2} + b_{i+2} \cdot x + c_{i+2} \cdot y \end{cases}
(6.8)

Вычислим частные производные пробной функции

{υ(i)(i+2)(x,y)x=qibi+qi+1bi+1+qi+2bi+2υ(i)(i+2)(x,y)y=qici+qi+1ci+1+qi+2ci+2\begin{cases} \frac{\displaystyle \partial \upsilon_{(i)(i+2)}(x, y)}{\displaystyle \partial x} = q_i \cdot b_i + q_{i+1} \cdot b_{i+1} + q_{i+2} \cdot b_{i+2}\\ \frac{\displaystyle \partial \upsilon_{(i)(i+2)}(x, y)}{\displaystyle \partial y} = q_i \cdot c_i + q_{i+1} \cdot c_{i+1} + q_{i+2} \cdot c_{i+2} \end{cases}
(6.9)

Заметим, что производные не зависят от xx и yy и являются константами на треугольнике. Подставим (6.9) в (6.7)

[(υ(i)(i+2)x)2+(υ(i)(i+2)y)2]dS=S[(qibi+qi+1bi+1+qi+2bi+2)2+(qici+qi+1ci+1+qi+2ci+2)2],\begin{aligned} &\int_{\triangle} \left[ \left( \frac{\displaystyle \partial \upsilon_{(i)(i+2)}}{\displaystyle \partial x} \right)^2 + \left( \frac{\displaystyle \partial \upsilon_{(i)(i+2)}}{\displaystyle \partial y} \right)^2 \right] \,dS =\\ &\quad S_{\triangle} \cdot \left[ (q_i \cdot b_i + q_{i+1} \cdot b_{i+1} + q_{i+2} \cdot b_{i+2})^2 + (q_i \cdot c_i + q_{i+1} \cdot c_{i+1} + q_{i+2} \cdot c_{i+2})^2 \right], \end{aligned}

где SS_{\triangle} — площадь треугольника, которая вычисляется по формуле

S=d2,S_{\triangle} = \frac{\displaystyle |d|}{\displaystyle 2},
(6.10)

где d=xiyi+1xiyi+2xi+1yi+xi+1yi+2+xi+2yixi+2yi+1d = x_i \cdot y_{i+1} - x_i \cdot y_{i+2} - x_{i+1} \cdot y_i + x_{i+1} \cdot y_{i+2} + x_{i+2} \cdot y_i - x_{i+2} \cdot y_{i+1} — определитель из (5.10).

Раскроем квадраты и перегруппируем члены

(υ(i)(i+2))2dS=S[qi2[bi2+ci2]+qi+12[bi+12+ci+12]+qi+22[bi+22+ci+22]+2qiqi+1(bibi+1+cici+1)+2qiqi+2(bibi+2+cici+2)+2qi+1qi+2(bi+1bi+2+ci+1ci+2)]\begin{gathered} \int_{\triangle} (\nabla \upsilon_{(i)(i+2)})^2 \,dS = S_{\triangle} \cdot\\ \Big[ q_i^2 \cdot [b_i^2 + c_i^2] + q_{i+1}^2 \cdot [b_{i+1}^2 + c_{i+1}^2] + q_{i+2}^2 \cdot [b_{i+2}^2 + c_{i+2}^2]\\ + 2 \cdot q_i \cdot q_{i+1} \cdot (b_i \cdot b_{i+1} + c_i \cdot c_{i+1}) + 2 \cdot q_i \cdot q_{i+2} \cdot (b_i \cdot b_{i+2} + c_i \cdot c_{i+2})\\ + 2 \cdot q_{i+1} \cdot q_{i+2} \cdot (b_{i+1} \cdot b_{i+2} + c_{i+1} \cdot c_{i+2}) \Big] \end{gathered}

Примем во внимание формулы из (5.10) для коэффициентов bb и cc и введём обозначения для элементов локальной матрицы жёсткости треугольника

k(i)(i)=S[bi2+ci2]=12d[(yi+1yi+2)2+(xi+1+xi+2)2]k(i+1)(i+1)=S[bi+12+ci+12]=12d[(yi+yi+2)2+(xixi+2)2]k(i+2)(i+2)=S[bi+22+ci+22]=12d[(yiyi+1)2+(xi+xi+1)2]k(i)(i+1)=k(i+1)(i)=S(bibi+1+cici+1)=12d[(yi+1yi+2)(yi+yi+2)+(xi+1+xi+2)(xixi+2)]k(i)(i+2)=k(i+2)(i)=S(bibi+2+cici+2)=12d[(yi+1yi+2)(yiyi+1)+(xi+1+xi+2)(xi+xi+1)]k(i+1)(i+2)=k(i+2)(i+1)=S(bi+1bi+2+ci+1ci+2)=12d[(yi+yi+2)(yiyi+1)+(xixi+2)(xi+xi+1)]\begin{split} &k_{(i)(i)} = S_{\triangle} \cdot [b_i^2 + c_i^2] = \frac{\displaystyle 1}{\displaystyle 2 \cdot |d|} \cdot [(y_{i+1} - y_{i+2})^2 + (-x_{i+1} + x_{i+2})^2]\\ &k_{(i+1)(i+1)} = S_{\triangle} \cdot [b_{i+1}^2 + c_{i+1}^2] = \frac{\displaystyle 1}{\displaystyle 2 \cdot |d|} \cdot [(-y_i + y_{i+2})^2 + (x_i - x_{i+2})^2]\\ &k_{(i+2)(i+2)} = S_{\triangle} \cdot [b_{i+2}^2 + c_{i+2}^2] = \frac{\displaystyle 1}{\displaystyle 2 \cdot |d|} \cdot [(y_i - y_{i+1})^2 + (-x_i + x_{i+1})^2]\\ &k_{(i)(i+1)} = k_{(i+1)(i)} = S_{\triangle} \cdot (b_i \cdot b_{i+1} + c_i \cdot c_{i+1})\\ &= \frac{\displaystyle 1}{\displaystyle 2 \cdot |d|} \cdot [(y_{i+1} - y_{i+2}) \cdot (-y_i + y_{i+2}) + (-x_{i+1} + x_{i+2}) \cdot (x_i - x_{i+2})]\\ &k_{(i)(i+2)} = k_{(i+2)(i)} = S_{\triangle} \cdot (b_i \cdot b_{i+2} + c_i \cdot c_{i+2})\\ &= \frac{\displaystyle 1}{\displaystyle 2 \cdot |d|} \cdot [(y_{i+1} - y_{i+2}) \cdot (y_i - y_{i+1}) + (-x_{i+1} + x_{i+2}) \cdot (-x_i + x_{i+1})]\\ &k_{(i+1)(i+2)} = k_{(i+2)(i+1)} = S_{\triangle} \cdot (b_{i+1} \cdot b_{i+2} + c_{i+1} \cdot c_{i+2})\\ &= \frac{\displaystyle 1}{\displaystyle 2 \cdot |d|} \cdot [(-y_i + y_{i+2}) \cdot (y_i - y_{i+1}) + (x_i - x_{i+2}) \cdot (-x_i + x_{i+1})] \end{split}
(6.11)

Таким образом, локальная матрица жёсткости для треугольного элемента имеет вид

K=[k(i)(i)k(i)(i+1)k(i)(i+2)k(i+1)(i)k(i+1)(i+1)k(i+1)(i+2)k(i+2)(i)k(i+2)(i+1)k(i+2)(i+2)]=S[bi2+ci2bibi+1+cici+1bibi+2+cici+2bi+1bi+ci+1cibi+12+ci+12bi+1bi+2+ci+1ci+2bi+2bi+ci+2cibi+2bi+1+ci+2ci+1bi+22+ci+22].\begin{aligned}\mathbf{K}_{\triangle} &= \begin{bmatrix} k_{(i)(i)} & k_{(i)(i+1)} & k_{(i)(i+2)}\\ k_{(i+1)(i)} & k_{(i+1)(i+1)} & k_{(i+1)(i+2)}\\ k_{(i+2)(i)} & k_{(i+2)(i+1)} & k_{(i+2)(i+2)} \end{bmatrix}\\ &= S_{\triangle} \begin{bmatrix} b_i^2 + c_i^2 & b_i \cdot b_{i+1} + c_i \cdot c_{i+1} & b_i \cdot b_{i+2} + c_i \cdot c_{i+2}\\ b_{i+1} \cdot b_i + c_{i+1} \cdot c_i & b_{i+1}^2 + c_{i+1}^2 & b_{i+1} \cdot b_{i+2} + c_{i+1} \cdot c_{i+2}\\ b_{i+2} \cdot b_i + c_{i+2} \cdot c_i & b_{i+2} \cdot b_{i+1} + c_{i+2} \cdot c_{i+1} & b_{i+2}^2 + c_{i+2}^2 \end{bmatrix}.\end{aligned}
(6.12)

Глобальная матрица жёсткости K\mathbf{K} получается путём суммирования вкладов от всех треугольных элементов сетки методом сборки: элементы локальных матриц добавляются к соответствующим элементам глобальной матрицы согласно глобальной нумерации узлов. Размерность глобальной матрицы жёсткости равна N×NN \times N, где NN — общее количество узлов сетки.