Теперь вычислим матрицу жёсткости для двумерного случая. В двумерном пространстве градиент имеет вид ∇ υ \nabla \upsilon = ( ∂ υ ∂ x , ∂ υ ∂ y ) = \left( \frac{\displaystyle \partial \upsilon}{\displaystyle \partial x}, \frac{\displaystyle \partial \upsilon}{\displaystyle \partial y} \right) , а скалярное произведение градиента с самим собой равно ∇ υ ⋅ ∇ υ \nabla \upsilon \cdot \nabla \upsilon = ( ∂ υ ∂ x ) 2 = \left( \frac{\displaystyle \partial \upsilon}{\displaystyle \partial x} \right)^2 + ( ∂ υ ∂ y ) 2 + \left( \frac{\displaystyle \partial \upsilon}{\displaystyle \partial y} \right)^2 . Учитывая, что двумерная расчётная область M M разбита на симплексы-треугольники, исследуемую часть функционала для одного треугольника с вершинами ( x i , y i ) , ( x i + 1 , y i + 1 ) , ( x i + 2 , y i + 2 ) (x_i, y_i), (x_{i+1}, y_{i+1}), (x_{i+2}, y_{i+2}) можно записать как
Функция υ ( x , y ) \upsilon(x, y) = ∑ i = 1 N υ i ( x , y ) = \sum_{i=1}^N \upsilon_i(x, y) . Пробная функция на треугольнике имеет вид υ ( i ) ( i + 2 ) ( x , y ) \upsilon_{(i)(i+2)}(x, y) = q i ⋅ ϕ i ( x , y ) = q_i \cdot \phi_i(x, y) + q i + 1 ⋅ ϕ i + 1 ( x , y ) + q_{i+1} \cdot \phi_{i+1}(x, y) + q i + 2 ⋅ ϕ i + 2 ( x , y ) + q_{i+2} \cdot \phi_{i+2}(x, y) . Примем во внимание (5.9 { a i + b i ⋅ x i + c i ⋅ y i = 1 a i + b i ⋅ x i + 1 + c i ⋅ y i + 1 = 0 a i + b i ⋅ x i + 2 + c i ⋅ y i + 2 = 0 { a i + 1 + b i + 1 ⋅ x i + c i + 1 ⋅ y i = 0 a i + 1 + b i + 1 ⋅ x i + 1 + c i + 1 ⋅ y i + 1 = 1 a i + 1 + b i + 1 ⋅ x i + 2 + c i + 1 ⋅ y i + 2 = 0 { a i + 2 + b i + 2 ⋅ x i + c i + 2 ⋅ y i = 0 a i + 2 + b i + 2 ⋅ x i + 1 + c i + 2 ⋅ y i + 1 = 0 a i + 2 + b i + 2 ⋅ x i + 2 + c i + 2 ⋅ y i + 2 = 1 \begin{cases} a_{i} + b_{i} \cdot x_i + c_{i} \cdot y_i = 1\\ a_{i} + b_{i} \cdot x_{i+1} + c_{i} \cdot y_{i+1} = 0\\ a_{i} + b_{i} \cdot x_{i+2} + c_{i} \cdot y_{i+2} = 0 \end{cases} \begin{cases} a_{i+1} + b_{i+1} \cdot x_i + c_{i+1} \cdot y_i = 0\\ a_{i+1} + b_{i+1} \cdot x_{i+1} + c_{i+1} \cdot y_{i+1} = 1\\ a_{i+1} + b_{i+1} \cdot x_{i+2} + c_{i+1} \cdot y_{i+2} = 0 \end{cases} \begin{cases} a_{i+2} + b_{i+2} \cdot x_i + c_{i+2} \cdot y_i = 0\\ a_{i+2} + b_{i+2} \cdot x_{i+1} + c_{i+2} \cdot y_{i+1} = 0\\ a_{i+2} + b_{i+2} \cdot x_{i+2} + c_{i+2} \cdot y_{i+2} = 1 \end{cases} ) и (5.10 { a i = ( x i + 1 ⋅ y i + 2 − x i + 2 ⋅ y i + 1 ) / det b i = ( y i + 1 − y i + 2 ) / det c i = ( − x i + 1 + x i + 2 ) / det { a i + 1 = ( − x i ⋅ y i + 2 + x i + 2 ⋅ y i ) / det b i + 1 = ( − y i + y i + 2 ) / det c i + 1 = ( x i − x i + 2 ) / det { a i + 2 = ( x i ⋅ y i + 1 − x i + 1 ⋅ y i ) / det b i + 2 = ( y i − y i + 1 ) / det c i + 2 = ( − x i + x i + 1 ) / det \begin{cases} a_{i} = (x_{i+1} \cdot y_{i+2} - x_{i+2} \cdot y_{i+1}) / \det\\ b_{i} = (y_{i+1} - y_{i+2}) / \det\\ c_{i} = (-x_{i+1} + x_{i+2}) / \det \end{cases} \begin{cases} a_{i+1} = ( - x_i \cdot y_{i+2} + x_{i+2} \cdot y_i) / \det\\ b_{i+1} = (-y_i + y_{i+2}) / \det\\ c_{i+1} = (x_i - x_{i+2}) / \det \end{cases} \begin{cases} a_{i+2} = (x_i \cdot y_{i+1} - x_{i+1} \cdot y_i) / \det\\ b_{i+2} = (y_i - y_{i+1}) / \det\\ c_{i+2} = (-x_i + x_{i+1}) / \det \end{cases} ) из раздела о функциях «крышек» и запишем соотношения для функций «крышек»
Вычислим частные производные пробной функции
Заметим, что производные не зависят от x x и y y и являются константами на треугольнике. Подставим (6.8 ∂ υ ( i ) ( i + 2 ) ( x , y ) ∂ x \displaystyle \frac{\displaystyle \partial \upsilon_{(i)(i+2)}(x, y)}{\displaystyle \partial x} = q i ⋅ b i \displaystyle = q_i \cdot b_i + q i + 1 ⋅ b i + 1 \displaystyle + q_{i+1} \cdot b_{i+1} + q i + 2 ⋅ b i + 2 \displaystyle + q_{i+2} \cdot b_{i+2} ∂ υ ( i ) ( i + 2 ) ( x , y ) ∂ y \displaystyle \frac{\displaystyle \partial \upsilon_{(i)(i+2)}(x, y)}{\displaystyle \partial y} = q i ⋅ c i \displaystyle = q_i \cdot c_i + q i + 1 ⋅ c i + 1 \displaystyle + q_{i+1} \cdot c_{i+1} + q i + 2 ⋅ c i + 2 \displaystyle + q_{i+2} \cdot c_{i+2} ) в (6.6 ∫ △ [ ( ∂ υ ∂ x ) 2 + ( ∂ υ ∂ y ) 2 ] d S . \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. )
∫ △ [ ( ∂ υ ( i ) ( i + 2 ) ∂ x ) 2 + ( ∂ υ ( i ) ( i + 2 ) ∂ y ) 2 ] d S \displaystyle \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 = S △ ⋅ [ ( q i ⋅ b i + q i + 1 ⋅ b i + 1 + q i + 2 ⋅ b i + 2 ) 2 + ( q i ⋅ c i + q i + 1 ⋅ c i + 1 + q i + 2 ⋅ c i + 2 ) 2 ] , \displaystyle = \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], где S △ S_{\triangle} — площадь треугольника, которая вычисляется по формуле
где d d = x i ⋅ y i + 1 = x_i \cdot y_{i+1} − x i ⋅ y i + 2 - x_i \cdot y_{i+2} − x i + 1 ⋅ y i - x_{i+1} \cdot y_i + x i + 1 ⋅ y i + 2 + x_{i+1} \cdot y_{i+2} + x i + 2 ⋅ y i + x_{i+2} \cdot y_i − x i + 2 ⋅ y i + 1 - x_{i+2} \cdot y_{i+1} — определитель из (5.10 { a i = ( x i + 1 ⋅ y i + 2 − x i + 2 ⋅ y i + 1 ) / det b i = ( y i + 1 − y i + 2 ) / det c i = ( − x i + 1 + x i + 2 ) / det { a i + 1 = ( − x i ⋅ y i + 2 + x i + 2 ⋅ y i ) / det b i + 1 = ( − y i + y i + 2 ) / det c i + 1 = ( x i − x i + 2 ) / det { a i + 2 = ( x i ⋅ y i + 1 − x i + 1 ⋅ y i ) / det b i + 2 = ( y i − y i + 1 ) / det c i + 2 = ( − x i + x i + 1 ) / det \begin{cases} a_{i} = (x_{i+1} \cdot y_{i+2} - x_{i+2} \cdot y_{i+1}) / \det\\ b_{i} = (y_{i+1} - y_{i+2}) / \det\\ c_{i} = (-x_{i+1} + x_{i+2}) / \det \end{cases} \begin{cases} a_{i+1} = ( - x_i \cdot y_{i+2} + x_{i+2} \cdot y_i) / \det\\ b_{i+1} = (-y_i + y_{i+2}) / \det\\ c_{i+1} = (x_i - x_{i+2}) / \det \end{cases} \begin{cases} a_{i+2} = (x_i \cdot y_{i+1} - x_{i+1} \cdot y_i) / \det\\ b_{i+2} = (y_i - y_{i+1}) / \det\\ c_{i+2} = (-x_i + x_{i+1}) / \det \end{cases} ).
Раскроем квадраты и перегруппируем члены
∫ △ ( ∇ υ ( i ) ( i + 2 ) ) 2 d S \displaystyle \int_{\triangle} (\nabla \upsilon_{(i)(i+2)})^2 \,dS = S △ ⋅ [ q i 2 ⋅ [ b i 2 + c i 2 ] + q i + 1 2 ⋅ [ b i + 1 2 + c i + 1 2 ] + q i + 2 2 ⋅ [ b i + 2 2 + c i + 2 2 ] + 2 ⋅ q i ⋅ q i + 1 ⋅ ( b i ⋅ b i + 1 + c i ⋅ c i + 1 ) + 2 ⋅ q i ⋅ q i + 2 ⋅ ( b i ⋅ b i + 2 + c i ⋅ c i + 2 ) + 2 ⋅ q i + 1 ⋅ q i + 2 ⋅ ( b i + 1 ⋅ b i + 2 + c i + 1 ⋅ c i + 2 ) ] \displaystyle = 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] Примем во внимание формулы из (5.10 { a i = ( x i + 1 ⋅ y i + 2 − x i + 2 ⋅ y i + 1 ) / det b i = ( y i + 1 − y i + 2 ) / det c i = ( − x i + 1 + x i + 2 ) / det { a i + 1 = ( − x i ⋅ y i + 2 + x i + 2 ⋅ y i ) / det b i + 1 = ( − y i + y i + 2 ) / det c i + 1 = ( x i − x i + 2 ) / det { a i + 2 = ( x i ⋅ y i + 1 − x i + 1 ⋅ y i ) / det b i + 2 = ( y i − y i + 1 ) / det c i + 2 = ( − x i + x i + 1 ) / det \begin{cases} a_{i} = (x_{i+1} \cdot y_{i+2} - x_{i+2} \cdot y_{i+1}) / \det\\ b_{i} = (y_{i+1} - y_{i+2}) / \det\\ c_{i} = (-x_{i+1} + x_{i+2}) / \det \end{cases} \begin{cases} a_{i+1} = ( - x_i \cdot y_{i+2} + x_{i+2} \cdot y_i) / \det\\ b_{i+1} = (-y_i + y_{i+2}) / \det\\ c_{i+1} = (x_i - x_{i+2}) / \det \end{cases} \begin{cases} a_{i+2} = (x_i \cdot y_{i+1} - x_{i+1} \cdot y_i) / \det\\ b_{i+2} = (y_i - y_{i+1}) / \det\\ c_{i+2} = (-x_i + x_{i+1}) / \det \end{cases} ) для коэффициентов b b и c c и введём обозначения для элементов локальной матрицы жёсткости треугольника
Таким образом, локальная матрица жёсткости для треугольного элемента имеет вид
Глобальная матрица жёсткости K \mathbf{K} получается путём суммирования вкладов от всех треугольных элементов сетки методом сборки: элементы локальных матриц добавляются к соответствующим элементам глобальной матрицы согласно глобальной нумерации узлов. Размерность глобальной матрицы жёсткости равна N × N N \times N , где N N — общее количество узлов сетки.
Матрица жёсткости 1D Матрица жёсткости 3D