Перейдём к вычислению матрицы жёсткости для трёхмерного случая. В трёхмерном пространстве градиент имеет вид ∇ υ \nabla \upsilon = ( ∂ υ ∂ x , ∂ υ ∂ y , ∂ υ ∂ z ) = \left( \frac{\displaystyle \partial \upsilon}{\displaystyle \partial x}, \frac{\displaystyle \partial \upsilon}{\displaystyle \partial y}, \frac{\displaystyle \partial \upsilon}{\displaystyle \partial z} \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 + ( ∂ υ ∂ z ) 2 + \left( \frac{\displaystyle \partial \upsilon}{\displaystyle \partial z} \right)^2 . Учитывая, что трёхмерная расчётная область M M разбита на симплексы-тетраэдры, исследуемую часть функционала для одного тетраэдра с вершинами
( x i , y i , z i ) , ( x i + 1 , y i + 1 , z i + 1 ) , ( x i + 2 , y i + 2 , z i + 2 ) , ( x i + 3 , y i + 3 , z i + 3 ) (x_i, y_i, z_i), \quad (x_{i+1}, y_{i+1}, z_{i+1}), \quad (x_{i+2}, y_{i+2}, z_{i+2}), \quad (x_{i+3}, y_{i+3}, z_{i+3}) можно записать как
Функция υ ( x , y , z ) \upsilon(x, y, z) = ∑ i = 1 N υ i ( x , y , z ) = \sum_{i=1}^N \upsilon_i(x, y, z) . Пробная функция на тетраэдре имеет вид υ ( i ) ( i + 3 ) ( x , y , z ) \upsilon_{(i)(i+3)}(x, y, z) = q i ⋅ ϕ i ( x , y , z ) = q_i \cdot \phi_i(x, y, z) + q i + 1 ⋅ ϕ i + 1 ( x , y , z ) + q_{i+1} \cdot \phi_{i+1}(x, y, z) + q i + 2 ⋅ ϕ i + 2 ( x , y , z ) + q_{i+2} \cdot \phi_{i+2}(x, y, z) + q i + 3 ⋅ ϕ i + 3 ( x , y , z ) + q_{i+3} \cdot \phi_{i+3}(x, y, z) . Аналогично двумерному случаю, функции «крышек» для тетраэдра имеют линейный вид
Вычислим частные производные пробной функции
Заметим, что производные не зависят от x x , y y и z z и являются константами на тетраэдре. Подставим (6.14 ∂ υ ( i ) ( i + 3 ) ( x , y , z ) ∂ x \displaystyle \frac{\displaystyle \partial \upsilon_{(i)(i+3)}(x, y, z)}{\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} + q i + 3 ⋅ b i + 3 \displaystyle + q_{i+3} \cdot b_{i+3} ∂ υ ( i ) ( i + 3 ) ( x , y , z ) ∂ y \displaystyle \frac{\displaystyle \partial \upsilon_{(i)(i+3)}(x, y, z)}{\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} + q i + 3 ⋅ c i + 3 \displaystyle + q_{i+3} \cdot c_{i+3} ∂ υ ( i ) ( i + 3 ) ( x , y , z ) ∂ z \displaystyle \frac{\displaystyle \partial \upsilon_{(i)(i+3)}(x, y, z)}{\displaystyle \partial z} = q i ⋅ d i \displaystyle = q_i \cdot d_i + q i + 1 ⋅ d i + 1 \displaystyle + q_{i+1} \cdot d_{i+1} + q i + 2 ⋅ d i + 2 \displaystyle + q_{i+2} \cdot d_{i+2} + q i + 3 ⋅ d i + 3 \displaystyle + q_{i+3} \cdot d_{i+3} ) в (6.12 ∫ тет [ ( ∂ υ ∂ x ) 2 + ( ∂ υ ∂ y ) 2 + ( ∂ υ ∂ z ) 2 ] d V . \int_{\text{тет}} \left[ \left( \frac{\displaystyle \partial \upsilon}{\displaystyle \partial x} \right)^2 + \left( \frac{\displaystyle \partial \upsilon}{\displaystyle \partial y} \right)^2 + \left( \frac{\displaystyle \partial \upsilon}{\displaystyle \partial z} \right)^2 \right] \,dV. )
∫ тет [ ( ∂ υ ( i ) ( i + 3 ) ∂ x ) 2 + ( ∂ υ ( i ) ( i + 3 ) ∂ y ) 2 + ( ∂ υ ( i ) ( i + 3 ) ∂ z ) 2 ] d V \displaystyle \int_{\text{тет}} \left[ \left( \frac{\displaystyle \partial \upsilon_{(i)(i+3)}}{\displaystyle \partial x} \right)^2 + \left( \frac{\displaystyle \partial \upsilon_{(i)(i+3)}}{\displaystyle \partial y} \right)^2 + \left( \frac{\displaystyle \partial \upsilon_{(i)(i+3)}}{\displaystyle \partial z} \right)^2 \right] \,dV = V тет ⋅ [ ( q i ⋅ b i + q i + 1 ⋅ b i + 1 + q i + 2 ⋅ b i + 2 + q i + 3 ⋅ b i + 3 ) 2 + ( q i ⋅ c i + q i + 1 ⋅ c i + 1 + q i + 2 ⋅ c i + 2 + q i + 3 ⋅ c i + 3 ) 2 + ( q i ⋅ d i + q i + 1 ⋅ d i + 1 + q i + 2 ⋅ d i + 2 + q i + 3 ⋅ d i + 3 ) 2 ] , \displaystyle = \quad V_{\text{тет}} \cdot \Big[ (q_i \cdot b_i + q_{i+1} \cdot b_{i+1} + q_{i+2} \cdot b_{i+2} + q_{i+3} \cdot b_{i+3})^2 \quad + (q_i \cdot c_i + q_{i+1} \cdot c_{i+1} + q_{i+2} \cdot c_{i+2} + q_{i+3} \cdot c_{i+3})^2 \quad + (q_i \cdot d_i + q_{i+1} \cdot d_{i+1} + q_{i+2} \cdot d_{i+2} + q_{i+3} \cdot d_{i+3})^2 \Big], где V тет V_{\text{тет}} — объём тетраэдра, который вычисляется по формуле
где Δ \Delta — определитель матрицы
Раскроем квадраты и перегруппируем члены
∫ тет ( ∇ υ ( i ) ( i + 3 ) ) 2 d V \displaystyle \int_{\text{тет}} (\nabla \upsilon_{(i)(i+3)})^2 \,dV = V тет ⋅ [ q i 2 ⋅ [ b i 2 + c i 2 + d i 2 ] + q i + 1 2 ⋅ [ b i + 1 2 + c i + 1 2 + d i + 1 2 ] + q i + 2 2 ⋅ [ b i + 2 2 + c i + 2 2 + d i + 2 2 ] + q i + 3 2 ⋅ [ b i + 3 2 + c i + 3 2 + d i + 3 2 ] + 2 ⋅ q i ⋅ q i + 1 ⋅ ( b i ⋅ b i + 1 + c i ⋅ c i + 1 + d i ⋅ d i + 1 ) + 2 ⋅ q i ⋅ q i + 2 ⋅ ( b i ⋅ b i + 2 + c i ⋅ c i + 2 + d i ⋅ d i + 2 ) + 2 ⋅ q i ⋅ q i + 3 ⋅ ( b i ⋅ b i + 3 + c i ⋅ c i + 3 + d i ⋅ d i + 3 ) + 2 ⋅ q i + 1 ⋅ q i + 2 ⋅ ( b i + 1 ⋅ b i + 2 + c i + 1 ⋅ c i + 2 + d i + 1 ⋅ d i + 2 ) + 2 ⋅ q i + 1 ⋅ q i + 3 ⋅ ( b i + 1 ⋅ b i + 3 + c i + 1 ⋅ c i + 3 + d i + 1 ⋅ d i + 3 ) + 2 ⋅ q i + 2 ⋅ q i + 3 ⋅ ( b i + 2 ⋅ b i + 3 + c i + 2 ⋅ c i + 3 + d i + 2 ⋅ d i + 3 ) ] \displaystyle = V_{\text{тет}} \cdot \Big[ q_i^2 \cdot [b_i^2 + c_i^2 + d_i^2] + q_{i+1}^2 \cdot [b_{i+1}^2 + c_{i+1}^2 + d_{i+1}^2] + q_{i+2}^2 \cdot [b_{i+2}^2 + c_{i+2}^2 + d_{i+2}^2] + q_{i+3}^2 \cdot [b_{i+3}^2 + c_{i+3}^2 + d_{i+3}^2] + 2 \cdot q_i \cdot q_{i+1} \cdot (b_i \cdot b_{i+1} + c_i \cdot c_{i+1} + d_i \cdot d_{i+1}) + 2 \cdot q_i \cdot q_{i+2} \cdot (b_i \cdot b_{i+2} + c_i \cdot c_{i+2} + d_i \cdot d_{i+2}) + 2 \cdot q_i \cdot q_{i+3} \cdot (b_i \cdot b_{i+3} + c_i \cdot c_{i+3} + d_i \cdot d_{i+3}) + 2 \cdot q_{i+1} \cdot q_{i+2} \cdot (b_{i+1} \cdot b_{i+2} + c_{i+1} \cdot c_{i+2} + d_{i+1} \cdot d_{i+2}) + 2 \cdot q_{i+1} \cdot q_{i+3} \cdot (b_{i+1} \cdot b_{i+3} + c_{i+1} \cdot c_{i+3} + d_{i+1} \cdot d_{i+3}) + 2 \cdot q_{i+2} \cdot q_{i+3} \cdot (b_{i+2} \cdot b_{i+3} + c_{i+2} \cdot c_{i+3} + d_{i+2} \cdot d_{i+3}) \Big] Коэффициенты b k b_k , c k c_k и d k d_k для каждой вершины k k тетраэдра вычисляются через миноры определителя Δ \Delta . Для вершины с индексом k k коэффициенты имеют вид
где Δ k ( x ) \Delta_k^{(x)} , Δ k ( y ) \Delta_k^{(y)} и Δ k ( z ) \Delta_k^{(z)} — миноры, получаемые вычёркиванием k k - й строки и соответствующего столбца (x x , y y или z z ) из матрицы (6.16 Δ \displaystyle \Delta = ∣ x i y i z i 1 x i + 1 y i + 1 z i + 1 1 x i + 2 y i + 2 z i + 2 1 x i + 3 y i + 3 z i + 3 1 ∣ . \displaystyle = \begin{vmatrix} x_i & y_i & z_i & 1\\ x_{i+1} & y_{i+1} & z_{i+1} & 1\\ x_{i+2} & y_{i+2} & z_{i+2} & 1\\ x_{i+3} & y_{i+3} & z_{i+3} & 1 \end{vmatrix}. ).
Введём обозначения для элементов локальной матрицы жёсткости тетраэдра
Таким образом, локальная матрица жёсткости для тетраэдрального элемента имеет вид
Локальная матрица жёсткости является симметричной, то есть k m n лок k_{mn}^{\text{лок}} = k n m лок = k_{nm}^{\text{лок}} . Глобальная матрица жёсткости K \mathbf{K} получается путём суммирования вкладов от всех тетраэдральных элементов сетки методом сборки: элементы локальных матриц добавляются к соответствующим элементам глобальной матрицы согласно глобальной нумерации узлов. Размерность глобальной матрицы жёсткости равна N × N N \times N , где N N — общее количество узлов сетки.
Матрица жёсткости 2D Матрица демпфирования 1D