Вектор нагрузки 2D

Теперь вычислим вектор нагрузки для двумерного случая. Вектор нагрузки связан с интегралом произведения функции источника на пробную функцию. Рассмотрим интеграл для одного треугольника с вершинами (xi,yi),(xi+1,yi+1),(xi+2,yi+2)(x_i, y_i), (x_{i+1}, y_{i+1}), (x_{i+2}, y_{i+2})

f(x,y)υdS.\int_{\triangle} f(x, y) \cdot \upsilon \,dS.
(6.40)

Пробная функция на треугольнике имеет вид υ(i)(i+2)(x,y)\upsilon_{(i)(i+2)}(x, y) =qiϕi(x,y)= q_i \cdot \phi_i(x, y) +qi+1ϕi+1(x,y)+ q_{i+1} \cdot \phi_{i+1}(x, y) +qi+2ϕi+2(x,y)+ q_{i+2} \cdot \phi_{i+2}(x, y). Для вычисления интеграла необходимо интерполировать функцию источника f(x,y)f(x, y) на треугольнике \triangle линейной функцией. Представим f(x,y)f(x, y) в виде f~(x,y)\widetilde{f}(x, y) =e1= e_1 +e2x+ e_2 \cdot x +e3y+ e_3 \cdot y. Коэффициенты e1,e2,e3e_1, e_2, e_3 определяются из условий интерполяции в узлах

e1\displaystyle e_1 +e2xi\displaystyle + e_2 \cdot x_i +e3yi\displaystyle + e_3 \cdot y_i =fi\displaystyle = f_ie1\displaystyle e_1 +e2xi+1\displaystyle + e_2 \cdot x_{i+1} +e3yi+1\displaystyle + e_3 \cdot y_{i+1} =fi+1\displaystyle = f_{i+1}e1\displaystyle e_1 +e2xi+2\displaystyle + e_2 \cdot x_{i+2} +e3yi+2\displaystyle + e_3 \cdot y_{i+2} =fi+2\displaystyle = f_{i+2}
(6.41)

Поскольку функции «крышки» ϕn\phi_n равны единице в своём узле и нулю в остальных, линейный интерполянт функции источника, выраженный через них, принимает вид

f~(x,y)\displaystyle \widetilde{f}(x, y) =fiϕi(x,y)\displaystyle = f_i \cdot \phi_i(x, y) +fi+1ϕi+1(x,y)\displaystyle + f_{i+1} \cdot \phi_{i+1}(x, y) +fi+2ϕi+2(x,y),\displaystyle + f_{i+2} \cdot \phi_{i+2}(x, y),
(6.42)

где fi,fi+1,fi+2f_i, f_{i+1}, f_{i+2} — значения функции источника в вершинах треугольника.

Подставим интерполированную функцию источника и пробную функцию в (6.40). Примем во внимание (6.25) из раздела о функциях «крышек»

f(x,y)υdS\displaystyle \int_{\triangle} f(x, y) \cdot \upsilon \,dS =(nfnϕn)(mqmϕm)dS\displaystyle = \int_{\triangle} \left( \sum_{n} f_n \cdot \phi_n \right) \cdot \left( \sum_{m} q_m \cdot \phi_m \right) \,dS =mnqmfnϕmϕndS,\displaystyle = \sum_{m} \sum_{n} q_m \cdot f_n \cdot \int_{\triangle} \phi_m \cdot \phi_n \,dS,

где индексы mm и nn пробегают вершины треугольника {i,i\{i, i +1,i+1, i +2}+2\}.

Воспользуемся соотношениями (6.26) для интегралов произведений функций «крышек», выведенными при вычислении матрицы демпфирования, где SS_{\triangle} — площадь треугольника, которая вычисляется по формуле (6.9). После приведения подобных получаем

f(x,y)υdS\displaystyle \int_{\triangle} f(x, y) \cdot \upsilon \,dS =S12[qi(2fi+fi+1+fi+2)+qi+1(fi+2fi+1+fi+2)+qi+2(fi+fi+1+2fi+2)]\displaystyle = \frac{\displaystyle S_{\triangle}}{\displaystyle 12} \cdot \Big[ q_i \cdot (2 \cdot f_i + f_{i+1} + f_{i+2}) + q_{i+1} \cdot (f_i + 2 \cdot f_{i+1} + f_{i+2}) + q_{i+2} \cdot (f_i + f_{i+1} + 2 \cdot f_{i+2}) \Big]

Введём обозначения для элементов локального вектора нагрузки треугольника

ri=S12(2fi+fi+1+fi+2)ri+1=S12(fi+2fi+1+fi+2)ri+2=S12(fi+fi+1+2fi+2)\begin{split} &r_i = \frac{\displaystyle S_{\triangle}}{\displaystyle 12} \cdot (2 \cdot f_i + f_{i+1} + f_{i+2})\\ &r_{i+1} = \frac{\displaystyle S_{\triangle}}{\displaystyle 12} \cdot (f_i + 2 \cdot f_{i+1} + f_{i+2})\\ &r_{i+2} = \frac{\displaystyle S_{\triangle}}{\displaystyle 12} \cdot (f_i + f_{i+1} + 2 \cdot f_{i+2}) \end{split}
(6.43)

Таким образом, локальный вектор нагрузки для двумерного треугольного элемента имеет вид

R=[riri+1ri+2]=S12[211121112][fifi+1fi+2].\begin{aligned}\mathbf{R}_{\triangle} = \begin{bmatrix} r_i\\ r_{i+1}\\ r_{i+2} \end{bmatrix} = \frac{\displaystyle S_{\triangle}}{\displaystyle 12} \begin{bmatrix} 2 & 1 & 1\\ 1 & 2 & 1\\ 1 & 1 & 2 \end{bmatrix} \begin{bmatrix} f_i\\ f_{i+1}\\ f_{i+2} \end{bmatrix}.\end{aligned}
(6.44)

Заметим, что полученный вектор нагрузки совпадает с произведением локальной матрицы демпфирования (6.28) на вектор узловых значений источника, то есть R\mathbf{R}_{\triangle} =Cf= \mathbf{C}_{\triangle} \cdot \mathbf{f}.

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