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

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

(xi,yi,zi),\displaystyle (x_i, y_i, z_i),(xi+1,yi+1,zi+1),\displaystyle (x_{i+1}, y_{i+1}, z_{i+1}),(xi+2,yi+2,zi+2),\displaystyle (x_{i+2}, y_{i+2}, z_{i+2}),(xi+3,yi+3,zi+3)\displaystyle (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\displaystyle {} = \frac{\displaystyle V_{\text{тет}}}{\displaystyle 20}[2qi2+2qi+12+2qi+22+2qi+32+2qiqi+1+2qiqi+2+2qiqi+3+2qi+1qi+2+2qi+1qi+3+2qi+2qi+3]\displaystyle {} \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)\displaystyle c_{(i)(i)} =Vтет10\displaystyle {} = \frac{\displaystyle V_{\text{тет}}}{\displaystyle 10}c(i+1)(i+1)\displaystyle c_{(i+1)(i+1)} =Vтет10\displaystyle {} = \frac{\displaystyle V_{\text{тет}}}{\displaystyle 10}c(i+2)(i+2)\displaystyle c_{(i+2)(i+2)} =Vтет10\displaystyle {} = \frac{\displaystyle V_{\text{тет}}}{\displaystyle 10}c(i+3)(i+3)\displaystyle c_{(i+3)(i+3)} =Vтет10\displaystyle {} = \frac{\displaystyle V_{\text{тет}}}{\displaystyle 10}c(m)(n)\displaystyle c_{(m)(n)} =c(n)(m)\displaystyle {} = c_{(n)(m)}=Vтет20,\displaystyle {} = \frac{\displaystyle V_{\text{тет}}}{\displaystyle 20},m\displaystyle mn,\displaystyle {} \neq n,m,n\displaystyle m, n{i,i\displaystyle {} \in \{i, i+1,i\displaystyle {} +1, i+2,i\displaystyle {} +2, i+3}\displaystyle {} +3\}
(6.32)

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

Cтет\displaystyle \mathbf{C}_{\text{тет}} =[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)]\displaystyle {} = \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}=Vтет20\displaystyle {} = \frac{\displaystyle V_{\text{тет}}}{\displaystyle 20}[2111121111211112].\displaystyle \begin{bmatrix} 2 & 1 & 1 & 1\\ 1 & 2 & 1 & 1\\ 1 & 1 & 2 & 1\\ 1 & 1 & 1 & 2 \end{bmatrix}.
(6.33)

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