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

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

xixi+1f(x)υdx.\int_{x_i}^{x_{i+1}} f(x) \cdot \upsilon \,dx.
(6.34)

Пробная функция на отрезке имеет вид υ(x)\upsilon(x) =qiϕi(x)= q_i \cdot \phi_i(x) +qi+1ϕi+1(x)+ q_{i+1} \cdot \phi_{i+1}(x). Для вычисления интеграла необходимо интерполировать функцию источника f(x)f(x) на отрезке [xi,xi+1][x_i, x_{i+1}] линейной функцией. Представим f(x)f(x) в виде f~(x)\widetilde{f}(x) =e1= e_1 +e2x+ e_2 \cdot x. Коэффициенты e1e_1 и e2e_2 определяются из условий интерполяции в узлах

e1\displaystyle e_1 +e2xi\displaystyle + e_2 \cdot x_i =fi\displaystyle = f_ie1\displaystyle e_1 +e2xi+1\displaystyle + e_2 \cdot x_{i+1} =fi+1\displaystyle = f_{i+1}
(6.35)

Решая эту систему по аналогии с (5.8), получаем

e1\displaystyle e_1 =fixi+1fi+1xixi+1xi\displaystyle = \frac{\displaystyle f_i \cdot x_{i+1} - f_{i+1} \cdot x_i}{\displaystyle x_{i+1} - x_i}e2\displaystyle e_2 =fi+1fixi+1xi\displaystyle = \frac{\displaystyle f_{i+1} - f_i}{\displaystyle x_{i+1} - x_i}
(6.36)

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

xixi+1f(x)υdx\displaystyle \int_{x_i}^{x_{i+1}} f(x) \cdot \upsilon \,dx =xixi+1(e1+e2x)[qi(ai+bix)+qi+1(ai+1+bi+1x)]dx.\displaystyle = \int_{x_i}^{x_{i+1}} (e_1 + e_2 \cdot x) \cdot \left[ q_i \cdot (a_i + b_i \cdot x) + q_{i+1} \cdot (a_{i+1} + b_{i+1} \cdot x) \right] \,dx.

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

xixi+1f(x)υdx\displaystyle \int_{x_i}^{x_{i+1}} f(x) \cdot \upsilon \,dx =xixi+1[e1(qiai+qi+1ai+1)+e1(qibi+qi+1bi+1)x+e2(qiai+qi+1ai+1)x+e2(qibi+qi+1bi+1)x2]dx\displaystyle = \int_{x_i}^{x_{i+1}} \Big[ e_1 \cdot (q_i \cdot a_i + q_{i+1} \cdot a_{i+1}) + e_1 \cdot (q_i \cdot b_i + q_{i+1} \cdot b_{i+1}) \cdot x + e_2 \cdot (q_i \cdot a_i + q_{i+1} \cdot a_{i+1}) \cdot x + e_2 \cdot (q_i \cdot b_i + q_{i+1} \cdot b_{i+1}) \cdot x^2 \Big] \,dx

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

xixi+1f(x)υdx\displaystyle \int_{x_i}^{x_{i+1}} f(x) \cdot \upsilon \,dx =e1(qiai+qi+1ai+1)xxixi+1\displaystyle = e_1 \cdot (q_i \cdot a_i + q_{i+1} \cdot a_{i+1}) \cdot x \bigg|_{x_i}^{x_{i+1}} +[e1(qibi+qi+1bi+1)+e2(qiai+qi+1ai+1)]x22xixi+1\displaystyle + \left[ e_1 \cdot (q_i \cdot b_i + q_{i+1} \cdot b_{i+1}) + e_2 \cdot (q_i \cdot a_i + q_{i+1} \cdot a_{i+1}) \right] \cdot \frac{\displaystyle x^2}{\displaystyle 2} \bigg|_{x_i}^{x_{i+1}} +e2(qibi+qi+1bi+1)x33xixi+1\displaystyle + e_2 \cdot (q_i \cdot b_i + q_{i+1} \cdot b_{i+1}) \cdot \frac{\displaystyle x^3}{\displaystyle 3} \bigg|_{x_i}^{x_{i+1}}

Подставляя выражения для e1,e2e_1, e_2 из (6.36) и используя соотношения (5.8), после упрощения получаем

xixi+1f(x)υdx\displaystyle \int_{x_i}^{x_{i+1}} f(x) \cdot \upsilon \,dx =(fi+fi+1)(xi+1xi)2(qiai+qi+1ai+1)\displaystyle = \frac{\displaystyle (f_i + f_{i+1}) \cdot (x_{i+1} - x_i)}{\displaystyle 2} \cdot (q_i \cdot a_i + q_{i+1} \cdot a_{i+1}) +xi+1xi6[fixi+fi+1xi+1+(fi+fi+1)(xi+xi+1)](qibi+qi+1bi+1)\displaystyle + \frac{\displaystyle x_{i+1} - x_i}{\displaystyle 6} \cdot \left[ f_i \cdot x_i + f_{i+1} \cdot x_{i+1} + (f_i + f_{i+1}) \cdot (x_i + x_{i+1}) \right] \cdot (q_i \cdot b_i + q_{i+1} \cdot b_{i+1})

Дальнейшие преобразования с учётом (5.8) приводят к окончательному результату

xixi+1f(x)υdx\displaystyle \int_{x_i}^{x_{i+1}} f(x) \cdot \upsilon \,dx =xi+1xi6[qi(2fi+fi+1)+qi+1(fi+2fi+1)].\displaystyle = \frac{\displaystyle x_{i+1} - x_i}{\displaystyle 6} \cdot \left[ q_i \cdot (2 \cdot f_i + f_{i+1}) + q_{i+1} \cdot (f_i + 2 \cdot f_{i+1}) \right].

Раскроем и перегруппируем члены

xixi+1f(x)υdx\displaystyle \int_{x_i}^{x_{i+1}} f(x) \cdot \upsilon \,dx =l(i)(i+1)[2fi+fi+16qi+fi+2fi+16qi+1],\displaystyle = l_{(i)(i+1)} \cdot \left[ \frac{\displaystyle 2 \cdot f_i + f_{i+1}}{\displaystyle 6} \cdot q_i + \frac{\displaystyle f_i + 2 \cdot f_{i+1}}{\displaystyle 6} \cdot q_{i+1} \right],

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

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

ri=l(i)(i+1)6(2fi+fi+1)ri+1=l(i)(i+1)6(fi+2fi+1)\begin{split} &r_i = \frac{\displaystyle l_{(i)(i+1)}}{\displaystyle 6} \cdot (2 \cdot f_i + f_{i+1})\\ &r_{i+1} = \frac{\displaystyle l_{(i)(i+1)}}{\displaystyle 6} \cdot (f_i + 2 \cdot f_{i+1}) \end{split}
(6.37)

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

R=[riri+1]=l(i)(i+1)6[2fi+fi+1fi+2fi+1].\begin{gathered}\mathbf{R} = \begin{bmatrix} r_i\\ r_{i+1} \end{bmatrix} = \frac{\displaystyle l_{(i)(i+1)}}{\displaystyle 6} \begin{bmatrix} 2 \cdot f_i + f_{i+1}\\ f_i + 2 \cdot f_{i+1} \end{bmatrix}.\end{gathered}
(6.38)

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

Rj\displaystyle R_j =l(j1)(j)6(fj1+2fj)\displaystyle = \frac{\displaystyle l_{(j-1)(j)}}{\displaystyle 6} \cdot (f_{j-1} + 2 \cdot f_j) +l(j)(j+1)6(2fj+fj+1),\displaystyle + \frac{\displaystyle l_{(j)(j+1)}}{\displaystyle 6} \cdot (2 \cdot f_j + f_{j+1}),
(6.39)

где l(j1)(j)l_{(j-1)(j)} =xj= x_j xj1- x_{j-1} и l(j)(j+1)l_{(j)(j+1)} =xj+1= x_{j+1} xj- x_j — длины смежных отрезков. Для граничных узлов элементные вклады собираются так же, но при последующем учёте граничных условий соответствующие компоненты системы могут изменяться.

Например, для сетки с узлами 0,1,,i,i0, 1, \ldots, i, i +1,,N+1, \ldots, N глобальный вектор нагрузки, собранный из локальных вкладов по правилу (6.39) для внутренних узлов, принимает вид (до учёта граничных условий)

R\displaystyle \mathbf{R} =[l(0)(1)6(2f0+f1)l(0)(1)6(f0+2f1)+l(1)(2)6(2f1+f2)l(i1)(i)6(fi1+2fi)+l(i)(i+1)6(2fi+fi+1)l(i)(i+1)6(fi+2fi+1)+l(i+1)(i+2)6(2fi+1+fi+2)l(N1)(N)6(fN1+2fN)].\displaystyle = \begin{bmatrix} \frac{\displaystyle l_{(0)(1)}}{\displaystyle 6} \cdot (2 \cdot f_0 + f_1)\\ \frac{\displaystyle l_{(0)(1)}}{\displaystyle 6} \cdot (f_0 + 2 \cdot f_1) + \frac{\displaystyle l_{(1)(2)}}{\displaystyle 6} \cdot (2 \cdot f_1 + f_2)\\ \vdots\\ \frac{\displaystyle l_{(i-1)(i)}}{\displaystyle 6} \cdot (f_{i-1} + 2 \cdot f_i) + \frac{\displaystyle l_{(i)(i+1)}}{\displaystyle 6} \cdot (2 \cdot f_i + f_{i+1})\\ \frac{\displaystyle l_{(i)(i+1)}}{\displaystyle 6} \cdot (f_i + 2 \cdot f_{i+1}) + \frac{\displaystyle l_{(i+1)(i+2)}}{\displaystyle 6} \cdot (2 \cdot f_{i+1} + f_{i+2})\\ \vdots\\ \frac{\displaystyle l_{(N-1)(N)}}{\displaystyle 6} \cdot (f_{N-1} + 2 \cdot f_N) \end{bmatrix}.