Матрица демпфирования 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.31)

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

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

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

тетυ(i)(i+3)2dV=тет[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\begin{aligned} &\int_{\text{тет}} \upsilon_{(i)(i+3)}^2 \,dV = \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 \end{aligned}

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

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

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

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

тетυ(i)(i+3)2dV=тет[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\begin{aligned} &\int_{\text{тет}} \upsilon_{(i)(i+3)}^2 \,dV = \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 \end{aligned}

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

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

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

тетυ(i)(i+3)2dV=Vтет20[2qi2+2qi+12+2qi+22+2qi+32+2qiqi+1+2qiqi+2+2qiqi+3+2qi+1qi+2+2qi+1qi+3+2qi+2qi+3]\begin{aligned} &\int_{\text{тет}} \upsilon_{(i)(i+3)}^2 \,dV = \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] \end{aligned}

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

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.34)

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

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.35)

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