Матрица демпфирования 3D

Перейдём к вычислению матрицы демпфирования для трёхмерного случая. Матрица демпфирования связана с интегралом квадрата пробной функции. Рассмотрим интеграл для одного тетраэдра с вершинами

(xi,yi,zi),(xi+1,yi+1,zi+1),(xi+2,yi+2,zi+2),(xi+3,yi+3,zi+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})
тетυ2dV.\int_{\text{тет}} \upsilon^2 \,dV.
(6.29)

Пробная функция на тетраэдре имеет вид υ(i)(i+3)(x,y,z)\upsilon_{(i)(i+3)}(x, y, z) =qiϕi= q_i \cdot \phi_i +qi+1ϕi+1+ q_{i+1} \cdot \phi_{i+1} +qi+2ϕi+2+ q_{i+2} \cdot \phi_{i+2} +qi+3ϕi+3+ q_{i+3} \cdot \phi_{i+3}. Аналогично двумерному случаю, функции «крышек» для тетраэдра имеют линейный вид согласно (6.13)

ϕi(x,y,z)\displaystyle \phi_i(x, y, z) =ai\displaystyle = a_i +bix\displaystyle + b_i \cdot x +ciy\displaystyle + c_i \cdot y +diz\displaystyle + d_i \cdot zϕi+1(x,y,z)\displaystyle \phi_{i+1}(x, y, z) =ai+1\displaystyle = a_{i+1} +bi+1x\displaystyle + b_{i+1} \cdot x +ci+1y\displaystyle + c_{i+1} \cdot y +di+1z\displaystyle + d_{i+1} \cdot zϕi+2(x,y,z)\displaystyle \phi_{i+2}(x, y, z) =ai+2\displaystyle = a_{i+2} +bi+2x\displaystyle + b_{i+2} \cdot x +ci+2y\displaystyle + c_{i+2} \cdot y +di+2z\displaystyle + d_{i+2} \cdot zϕi+3(x,y,z)\displaystyle \phi_{i+3}(x, y, z) =ai+3\displaystyle = a_{i+3} +bi+3x\displaystyle + b_{i+3} \cdot x +ci+3y\displaystyle + c_{i+3} \cdot y +di+3z\displaystyle + d_{i+3} \cdot z
(6.30)

Подставим пробную функцию в (6.29)

тетυ(i)(i+3)2dV\displaystyle \int_{\text{тет}} \upsilon_{(i)(i+3)}^2 \,dV =тет[qiϕi(x,y,z)+qi+1ϕi+1(x,y,z)+qi+2ϕi+2(x,y,z)+qi+3ϕi+3(x,y,z)]2dV\displaystyle = \int_{\text{тет}} \Big[ 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) \Big]^2 \,dV

Для линейных функций «крышек» на тетраэдре справедливы следующие соотношения

тетϕmϕndV\displaystyle \int_{\text{тет}} \phi_m \cdot \phi_n \,dV ={Vтет10,m=nVтет20,mn\displaystyle = \begin{cases} \frac{\displaystyle V_{\text{тет}}}{\displaystyle 10}, & m = n\\ \frac{\displaystyle V_{\text{тет}}}{\displaystyle 20}, & m \neq n \end{cases}
(6.31)

где VтетV_{\text{тет}} — объём тетраэдра, который вычисляется по формуле (6.15).

Раскроем квадрат пробной функции

тетυ(i)(i+3)2dV\displaystyle \int_{\text{тет}} \upsilon_{(i)(i+3)}^2 \,dV =тет[qi2ϕi2+qi+12ϕi+12+qi+22ϕi+22+qi+32ϕi+32+2qiqi+1ϕiϕi+1+2qiqi+2ϕiϕi+2+2qiqi+3ϕiϕi+3+2qi+1qi+2ϕi+1ϕi+2+2qi+1qi+3ϕi+1ϕi+3+2qi+2qi+3ϕi+2ϕi+3]dV\displaystyle = \int_{\text{тет}} \Big[ q_i^2 \cdot \phi_i^2 + q_{i+1}^2 \cdot \phi_{i+1}^2 + q_{i+2}^2 \cdot \phi_{i+2}^2 + q_{i+3}^2 \cdot \phi_{i+3}^2 + 2 \cdot q_i \cdot q_{i+1} \cdot \phi_i \cdot \phi_{i+1} + 2 \cdot q_i \cdot q_{i+2} \cdot \phi_i \cdot \phi_{i+2} + 2 \cdot q_i \cdot q_{i+3} \cdot \phi_i \cdot \phi_{i+3} + 2 \cdot q_{i+1} \cdot q_{i+2} \cdot \phi_{i+1} \cdot \phi_{i+2} + 2 \cdot q_{i+1} \cdot q_{i+3} \cdot \phi_{i+1} \cdot \phi_{i+3} + 2 \cdot q_{i+2} \cdot q_{i+3} \cdot \phi_{i+2} \cdot \phi_{i+3} \Big] \,dV

Применим формулы (6.31)

тетυ(i)(i+3)2dV\displaystyle \int_{\text{тет}} \upsilon_{(i)(i+3)}^2 \,dV =qi2Vтет10\displaystyle = q_i^2 \cdot \frac{\displaystyle V_{\text{тет}}}{\displaystyle 10} +qi+12Vтет10\displaystyle + q_{i+1}^2 \cdot \frac{\displaystyle V_{\text{тет}}}{\displaystyle 10} +qi+22Vтет10\displaystyle + q_{i+2}^2 \cdot \frac{\displaystyle V_{\text{тет}}}{\displaystyle 10} +qi+32Vтет10\displaystyle + q_{i+3}^2 \cdot \frac{\displaystyle V_{\text{тет}}}{\displaystyle 10} +2qiqi+1Vтет20\displaystyle + 2 \cdot q_i \cdot q_{i+1} \cdot \frac{\displaystyle V_{\text{тет}}}{\displaystyle 20} +2qiqi+2Vтет20\displaystyle + 2 \cdot q_i \cdot q_{i+2} \cdot \frac{\displaystyle V_{\text{тет}}}{\displaystyle 20} +2qiqi+3Vтет20\displaystyle + 2 \cdot q_i \cdot q_{i+3} \cdot \frac{\displaystyle V_{\text{тет}}}{\displaystyle 20} +2qi+1qi+2Vтет20\displaystyle + 2 \cdot q_{i+1} \cdot q_{i+2} \cdot \frac{\displaystyle V_{\text{тет}}}{\displaystyle 20} +2qi+1qi+3Vтет20\displaystyle + 2 \cdot q_{i+1} \cdot q_{i+3} \cdot \frac{\displaystyle V_{\text{тет}}}{\displaystyle 20} +2qi+2qi+3Vтет20\displaystyle + 2 \cdot q_{i+2} \cdot q_{i+3} \cdot \frac{\displaystyle V_{\text{тет}}}{\displaystyle 20}

Упростим выражение

тетυ(i)(i+3)2dV\displaystyle \int_{\text{тет}} \upsilon_{(i)(i+3)}^2 \,dV =Vтет20[2qi2+2qi+12+2qi+22+2qi+32+2qiqi+1+2qiqi+2+2qiqi+3+2qi+1qi+2+2qi+1qi+3+2qi+2qi+3]\displaystyle = \frac{\displaystyle V_{\text{тет}}}{\displaystyle 20} \cdot \Big[ 2 \cdot q_i^2 + 2 \cdot q_{i+1}^2 + 2 \cdot q_{i+2}^2 + 2 \cdot q_{i+3}^2 + 2 \cdot q_i \cdot q_{i+1} + 2 \cdot q_i \cdot q_{i+2} + 2 \cdot q_i \cdot q_{i+3} + 2 \cdot q_{i+1} \cdot q_{i+2} + 2 \cdot q_{i+1} \cdot q_{i+3} + 2 \cdot q_{i+2} \cdot q_{i+3} \Big]

Введём обозначения для элементов локальной матрицы демпфирования тетраэдра

c(i)(i)=Vтет10c(i+1)(i+1)=Vтет10c(i+2)(i+2)=Vтет10c(i+3)(i+3)=Vтет10c(m)(n)=c(n)(m)=Vтет20,mn,m,n{i,i+1,i+2,i+3}\begin{split} &c_{(i)(i)} = \frac{\displaystyle V_{\text{тет}}}{\displaystyle 10}\\ &c_{(i+1)(i+1)} = \frac{\displaystyle V_{\text{тет}}}{\displaystyle 10}\\ &c_{(i+2)(i+2)} = \frac{\displaystyle V_{\text{тет}}}{\displaystyle 10}\\ &c_{(i+3)(i+3)} = \frac{\displaystyle V_{\text{тет}}}{\displaystyle 10}\\ &c_{(m)(n)} = c_{(n)(m)} = \frac{\displaystyle V_{\text{тет}}}{\displaystyle 20}, \quad m \neq n, \quad m, n \in \{i, i+1, i+2, i+3\} \end{split}
(6.32)

Таким образом, локальная матрица демпфирования для тетраэдрального элемента имеет вид

Cтет=[c(i)(i)c(i)(i+1)c(i)(i+2)c(i)(i+3)c(i+1)(i)c(i+1)(i+1)c(i+1)(i+2)c(i+1)(i+3)c(i+2)(i)c(i+2)(i+1)c(i+2)(i+2)c(i+2)(i+3)c(i+3)(i)c(i+3)(i+1)c(i+3)(i+2)c(i+3)(i+3)]=Vтет20[2111121111211112].\begin{aligned}\mathbf{C}_{\text{тет}} = \begin{bmatrix} c_{(i)(i)} & c_{(i)(i+1)} & c_{(i)(i+2)} & c_{(i)(i+3)}\\ c_{(i+1)(i)} & c_{(i+1)(i+1)} & c_{(i+1)(i+2)} & c_{(i+1)(i+3)}\\ c_{(i+2)(i)} & c_{(i+2)(i+1)} & c_{(i+2)(i+2)} & c_{(i+2)(i+3)}\\ c_{(i+3)(i)} & c_{(i+3)(i+1)} & c_{(i+3)(i+2)} & c_{(i+3)(i+3)} \end{bmatrix} = \frac{\displaystyle V_{\text{тет}}}{\displaystyle 20} \begin{bmatrix} 2 & 1 & 1 & 1\\ 1 & 2 & 1 & 1\\ 1 & 1 & 2 & 1\\ 1 & 1 & 1 & 2 \end{bmatrix}.\end{aligned}
(6.33)

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