Перейдём к вычислению матрицы жёсткости для трёхмерного случая. В трёхмерном пространстве градиент имеет вид ∇ υ = ( ∂ υ ∂ x , ∂ υ ∂ y , ∂ υ ∂ z ) \nabla \upsilon = \left( \frac{\displaystyle \partial \upsilon}{\displaystyle \partial x}, \frac{\displaystyle \partial \upsilon}{\displaystyle \partial y}, \frac{\displaystyle \partial \upsilon}{\displaystyle \partial z} \right) ∇ υ = ( ∂ x ∂ υ , ∂ y ∂ υ , ∂ z ∂ υ ) , а скалярное произведение градиентов соответственно ∇ υ ⋅ ∇ υ = ( ∂ υ ∂ x ) 2 + ( ∂ υ ∂ y ) 2 + ( ∂ υ ∂ z ) 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 + \left( \frac{\displaystyle \partial \upsilon}{\displaystyle \partial z} \right)^2 ∇ υ ⋅ ∇ υ = ( ∂ x ∂ υ ) 2 + ( ∂ y ∂ υ ) 2 + ( ∂ z ∂ υ ) 2 . Учитывая, что область M 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 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 , y , z ) = ∑ i = 1 N υ i ( x , y , z ) \upsilon(x, y, z) = \sum_{i=1}^N \upsilon_i(x, y, z) υ ( x , y , z ) = ∑ i = 1 N υ i ( x , y , z ) . Пробная функция на тетраэдре имеет вид υ ( i ) ( i + 3 ) ( x , y , z ) = q i ⋅ ϕ i ( x , y , z ) + q i + 1 ⋅ ϕ i + 1 ( x , y , z ) + q i + 2 ⋅ ϕ i + 2 ( x , y , z ) + q i + 3 ⋅ ϕ i + 3 ( x , y , z ) \upsilon_{(i)(i+3)}(x, y, z) = q_i \cdot \phi_i(x, y, z) + q_{i+1} \cdot \phi_{i+1}(x, y, z) + q_{i+2} \cdot \phi_{i+2}(x, y, z) + q_{i+3} \cdot \phi_{i+3}(x, y, z) υ ( i ) ( i + 3 ) ( x , y , z ) = q i ⋅ ϕ i ( x , y , z ) + q i + 1 ⋅ ϕ i + 1 ( x , y , z ) + q i + 2 ⋅ ϕ i + 2 ( x , y , z ) + q i + 3 ⋅ ϕ i + 3 ( x , y , z ) . Аналогично двумерному случаю, функции <<крышек>> для тетраэдра имеют линейный вид
Вычислим частные производные пробной функции
Заметим, что производные не зависят от x x x , y y y и z z z и являются константами на тетраэдре. Подставим (6.15 { ∂ υ ( i ) ( i + 3 ) ( x , y , z ) ∂ x = q i ⋅ b i + q i + 1 ⋅ b i + 1 + q i + 2 ⋅ b i + 2 + q i + 3 ⋅ b i + 3 ∂ υ ( i ) ( i + 3 ) ( x , y , z ) ∂ y = q i ⋅ c i + q i + 1 ⋅ c i + 1 + q i + 2 ⋅ c i + 2 + q i + 3 ⋅ c i + 3 ∂ υ ( i ) ( i + 3 ) ( x , y , z ) ∂ z = q i ⋅ d i + q i + 1 ⋅ d i + 1 + q i + 2 ⋅ d i + 2 + q i + 3 ⋅ d i + 3 \begin{cases}
\frac{\displaystyle \partial \upsilon_{(i)(i+3)}(x, y, z)}{\displaystyle \partial x} = 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}\\
\frac{\displaystyle \partial \upsilon_{(i)(i+3)}(x, y, z)}{\displaystyle \partial y} = 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}\\
\frac{\displaystyle \partial \upsilon_{(i)(i+3)}(x, y, z)}{\displaystyle \partial z} = 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}
\end{cases} ⎩ ⎨ ⎧ ∂ x ∂ υ ( i ) ( i + 3 ) ( x , y , z ) = q i ⋅ b i + q i + 1 ⋅ b i + 1 + q i + 2 ⋅ b i + 2 + q i + 3 ⋅ b i + 3 ∂ y ∂ υ ( i ) ( i + 3 ) ( x , y , z ) = q i ⋅ c i + q i + 1 ⋅ c i + 1 + q i + 2 ⋅ c i + 2 + q i + 3 ⋅ c i + 3 ∂ z ∂ υ ( i ) ( i + 3 ) ( x , y , z ) = q i ⋅ d i + q i + 1 ⋅ d i + 1 + q i + 2 ⋅ d i + 2 + q i + 3 ⋅ d i + 3 ) в (6.13 ∫ тет [ ( ∂ υ ∂ 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. ∫ тет [ ( ∂ x ∂ υ ) 2 + ( ∂ y ∂ υ ) 2 + ( ∂ z ∂ υ ) 2 ] d V . )
∫ тет [ ( ∂ υ ( i ) ( i + 3 ) ∂ x ) 2 + ( ∂ υ ( i ) ( i + 3 ) ∂ y ) 2 + ( ∂ υ ( i ) ( i + 3 ) ∂ z ) 2 ] d V = 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 ] , \begin{aligned}
&\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 =\\
&\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],
\end{aligned} ∫ тет [ ( ∂ x ∂ υ ( i ) ( i + 3 ) ) 2 + ( ∂ y ∂ υ ( i ) ( i + 3 ) ) 2 + ( ∂ z ∂ υ ( i ) ( i + 3 ) ) 2 ] d V = 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 ] , где V тет V_{\text{тет}} V тет — объём тетраэдра, который вычисляется по формуле
где Δ \Delta Δ — определитель матрицы
Раскроем квадраты и перегруппируем члены
∫ тет ( ∇ υ ( i ) ( i + 3 ) ) 2 d V = 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 ) ] \begin{gathered}
\int_{\text{тет}} (\nabla \upsilon_{(i)(i+3)})^2 \,dV = 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]
\end{gathered} ∫ тет ( ∇ υ ( i ) ( i + 3 ) ) 2 d V = 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 ) ] Коэффициенты b k b_k b k , c k c_k c k и d k d_k d k для каждой вершины k k k тетраэдра вычисляются через миноры определителя Δ \Delta Δ . Для вершины с индексом k k k коэффициенты имеют вид
где Δ k ( x ) \Delta_k^{(x)} Δ k ( x ) , Δ k ( y ) \Delta_k^{(y)} Δ k ( y ) и Δ k ( z ) \Delta_k^{(z)} Δ k ( z ) — миноры, получаемые вычёркиванием k k k -й строки и соответствующего столбца (x x x , y y y или z z z ) из матрицы (6.17 Δ = ∣ 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 ∣ . \begin{aligned}\Delta = \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}.\end{aligned} Δ = x i x i + 1 x i + 2 x i + 3 y i y i + 1 y i + 2 y i + 3 z i z i + 1 z i + 2 z i + 3 1 1 1 1 . ).
Введём обозначения для элементов локальной матрицы жёсткости тетраэдра
Таким образом, локальная матрица жёсткости для тетраэдрального элемента имеет вид
Локальная матрица жёсткости является симметричной, то есть k m n лок = k n m лок k_{mn}^{\text{лок}} = k_{nm}^{\text{лок}} k mn лок = k nm лок . Глобальная матрица жёсткости K \mathbf{K} K получается путём суммирования вкладов от всех тетраэдральных элементов сетки методом сборки: элементы локальных матриц добавляются к соответствующим элементам глобальной матрицы согласно глобальной нумерации узлов. Размерность глобальной матрицы жёсткости равна N × N N \times N N × N , где N N N — общее количество узлов сетки.