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

Теперь вычислим матрицу демпфирования для одномерного случая. Матрица демпфирования связана с интегралом квадрата пробной функции. Рассмотрим интеграл для одного отрезка с вершинами xi,xi+1x_i, x_{i+1}

xixi+1υ2dx.\int_{x_i}^{x_{i+1}} \upsilon^2 \,dx.
(6.20)

Пробная функция на отрезке имеет вид υ(i)(i+1)(x)\upsilon_{(i)(i+1)}(x)=qiϕi(x){} = q_i \cdot \phi_i(x)+qi+1ϕi+1(x){} + q_{i+1} \cdot \phi_{i+1}(x). Примем во внимание (5.7) и (5.8) из раздела о функциях «крышек» и запишем соотношения для функций «крышек»

ϕi(x)\displaystyle \phi_i(x) =ai\displaystyle {} = a_i+bix\displaystyle {} + b_i \cdot xϕi+1(x)\displaystyle \phi_{i+1}(x) =ai+1\displaystyle {} = a_{i+1}+bi+1x\displaystyle {} + b_{i+1} \cdot x
(6.21)

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

xixi+1υ(i)(i+1)2dx\displaystyle \int_{x_i}^{x_{i+1}} \upsilon_{(i)(i+1)}^2 \,dx =xixi+1[qi(ai+bix)\displaystyle {} = \int_{x_i}^{x_{i+1}} \bigl[ q_i \cdot (a_i + b_i \cdot x)+qi+1(ai+1+bi+1x)]2dx.\displaystyle {} + q_{i+1} \cdot (a_{i+1} + b_{i+1} \cdot x) \bigr] ^2 \,dx.

Учитывая (5.8), можно записать

xixi+1υ(i)(i+1)2dx\displaystyle \int_{x_i}^{x_{i+1}} \upsilon_{(i)(i+1)}^2 \,dx =1(xixi+1)2xixi+1[(qixi+1+qi+1xi)\displaystyle {} = \frac{\displaystyle 1}{\displaystyle (x_i - x_{i+1})^2} \cdot \int_{x_i}^{x_{i+1}} \bigl[ (-q_i \cdot x_{i+1} + q_{i+1} \cdot x_i)+(qiqi+1)x]2dx.\displaystyle {} + (q_i - q_{i+1}) \cdot x \bigr] ^2 \,dx.

Раскроем квадрат и разделим интеграл на три части

xixi+1υ(i)(i+1)2dx\displaystyle \int_{x_i}^{x_{i+1}} \upsilon_{(i)(i+1)}^2 \,dx =1(xixi+1)2\displaystyle {} = \frac{\displaystyle 1}{\displaystyle (x_i - x_{i+1})^2}[xixi+1(qixi+1+qi+1xi)2dx+2xixi+1(qixi+1+qi+1xi)(qiqi+1)xdx+xixi+1(qiqi+1)2x2dx]\displaystyle {} \cdot \Big[ \int_{x_i}^{x_{i+1}} (-q_i \cdot x_{i+1} + q_{i+1} \cdot x_i)^2 \,dx + 2 \cdot \int_{x_i}^{x_{i+1}} (-q_i \cdot x_{i+1} + q_{i+1} \cdot x_i) \cdot (q_i - q_{i+1}) \cdot x \,dx + \int_{x_i}^{x_{i+1}} (q_i - q_{i+1})^2 \cdot x^2 \,dx \Big]

Вычислим каждый из трёх интегралов

xixi+1υ(i)(i+1)2dx\displaystyle \int_{x_i}^{x_{i+1}} \upsilon_{(i)(i+1)}^2 \,dx =(qixi+1+qi+1xi)2x(xixi+1)2xixi+1\displaystyle {} = \frac{\displaystyle (-q_i \cdot x_{i+1} + q_{i+1} \cdot x_i)^2 \cdot x}{\displaystyle (x_i - x_{i+1})^2} \bigg|_{x_i}^{x_{i+1}}+(qixi+1+qi+1xi)(qiqi+1)x2(xixi+1)2xixi+1\displaystyle {} + \frac{\displaystyle (-q_i \cdot x_{i+1} + q_{i+1} \cdot x_i) \cdot (q_i - q_{i+1}) \cdot x^2}{\displaystyle (x_i - x_{i+1})^2} \bigg|_{x_i}^{x_{i+1}}+(qiqi+1)2x33(xixi+1)2xixi+1.\displaystyle {} + \frac{\displaystyle (q_i - q_{i+1})^2 \cdot x^3}{\displaystyle 3 \cdot (x_i - x_{i+1})^2} \bigg|_{x_i}^{x_{i+1}}.

После упрощения получаем

xixi+1υ(i)(i+1)2dx\displaystyle \int_{x_i}^{x_{i+1}} \upsilon_{(i)(i+1)}^2 \,dx =(qi2+qiqi+1+qi+12)(xixi+1)23(xixi+1)\displaystyle {} = - \frac{\displaystyle (q_i^2 + q_i \cdot q_{i+1} + q_{i+1}^2) \cdot (x_i - x_{i+1})^2}{\displaystyle 3 \cdot (x_i - x_{i+1})}=xi+1xi3\displaystyle {} = \frac{\displaystyle x_{i+1} - x_i}{\displaystyle 3}(qi2+qiqi+1+qi+12).\displaystyle {} \cdot (q_i^2 + q_i \cdot q_{i+1} + q_{i+1}^2).

Введём обозначение длины отрезка

xixi+1υ(i)(i+1)2dx\displaystyle \int_{x_i}^{x_{i+1}} \upsilon_{(i)(i+1)}^2 \,dx =l(i)(i+1)3\displaystyle {} = \frac{l_{(i)(i+1)}}{3}[qi2+qiqi+1+qi+12],\displaystyle {} \cdot \left[ q_i^2 + q_i \cdot q_{i+1} + q_{i+1}^2 \right],

где l(i)(i+1)l_{(i)(i+1)}=xi+1{} = x_{i+1}xi{} - x_i — длина отрезка.

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

c(i)(i)\displaystyle c_{(i)(i)} =l(i)(i+1)3\displaystyle {} = \frac{\displaystyle l_{(i)(i+1)}}{\displaystyle 3}c(i+1)(i+1)\displaystyle c_{(i+1)(i+1)} =l(i)(i+1)3\displaystyle {} = \frac{\displaystyle l_{(i)(i+1)}}{\displaystyle 3}c(i)(i+1)\displaystyle c_{(i)(i+1)} =c(i+1)(i)\displaystyle {} = c_{(i+1)(i)}=l(i)(i+1)6\displaystyle {} = \frac{\displaystyle l_{(i)(i+1)}}{\displaystyle 6}
(6.22)

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

C\displaystyle \mathbf{C} =[c(i)(i)c(i)(i+1)c(i+1)(i)c(i+1)(i+1)]\displaystyle {} = \begin{bmatrix} c_{(i)(i)} & c_{(i)(i+1)}\\ c_{(i+1)(i)} & c_{(i+1)(i+1)} \end{bmatrix}=l(i)(i+1)6\displaystyle {} = \frac{\displaystyle l_{(i)(i+1)}}{\displaystyle 6}[2112].\displaystyle \begin{bmatrix} 2 & 1\\ 1 & 2 \end{bmatrix}.
(6.23)

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

Например, рассмотрим сетку с узлами 0,1,,i,i0, 1, \ldots, i, i+1,,N{} +1, \ldots, N. При сборке каждый отрезок (j)(j+1)(j)(j+1) добавляет на диагональ вклад l(j)(j+1)3\frac{\displaystyle l_{(j)(j+1)}}{\displaystyle 3}, а на смежные внедиагональные элементы — l(j)(j+1)6\frac{\displaystyle l_{(j)(j+1)}}{\displaystyle 6}; внутренний узел ii получает диагональный вклад сразу от двух смежных отрезков — (i1)(i)(i-1)(i) и (i)(i+1)(i)(i+1), — поэтому на главной диагонали стоит сумма l(i1)(i)3\frac{\displaystyle l_{(i-1)(i)}}{\displaystyle 3}+l(i)(i+1)3{} + \frac{\displaystyle l_{(i)(i+1)}}{\displaystyle 3}. Поскольку длина l(j)(j+1)l_{(j)(j+1)} зависит от номера отрезка, её нельзя вынести как общий множитель — каждый элемент глобальной матрицы хранит длину своего отрезка. В результате матрица получается трёхдиагональной

C\displaystyle \mathbf{C} =[l(0)(1)3l(0)(1)600l(0)(1)6l(0)(1)3+l(1)(2)3l(1)(2)60l(1)(2)6l(i1)(i)3+l(i)(i+1)3l(i)(i+1)6l(i)(i+1)6l(i)(i+1)3+l(i+1)(i+2)3l(N1)(N)60l(N1)(N)6l(N1)(N)3].\displaystyle {} = \begin{bmatrix} \frac{\displaystyle l_{(0)(1)}}{\displaystyle 3} & \frac{\displaystyle l_{(0)(1)}}{\displaystyle 6} & 0 & \cdots & & & 0\\ \frac{\displaystyle l_{(0)(1)}}{\displaystyle 6} & \frac{\displaystyle l_{(0)(1)}}{\displaystyle 3} + \frac{\displaystyle l_{(1)(2)}}{\displaystyle 3} & \frac{\displaystyle l_{(1)(2)}}{\displaystyle 6} & & & & \\ 0 & \frac{\displaystyle l_{(1)(2)}}{\displaystyle 6} & \ddots & \ddots & & & \\ \vdots & & \ddots & \frac{\displaystyle l_{(i-1)(i)}}{\displaystyle 3} + \frac{\displaystyle l_{(i)(i+1)}}{\displaystyle 3} & \frac{\displaystyle l_{(i)(i+1)}}{\displaystyle 6} & & \vdots\\ & & & \frac{\displaystyle l_{(i)(i+1)}}{\displaystyle 6} & \frac{\displaystyle l_{(i)(i+1)}}{\displaystyle 3} + \frac{\displaystyle l_{(i+1)(i+2)}}{\displaystyle 3} & \ddots & \\ & & & & \ddots & \ddots & \frac{\displaystyle l_{(N-1)(N)}}{\displaystyle 6}\\ 0 & & & \cdots & & \frac{\displaystyle l_{(N-1)(N)}}{\displaystyle 6} & \frac{\displaystyle l_{(N-1)(N)}}{\displaystyle 3} \end{bmatrix}.