J. Пример применения функционала

Рассмотрим, как функционал метода Бубнова-Галёркина из приложения I применяется на практике: разберём одномерный пример от начала до конца — от пробных функций до системы линейных уравнений в матричной форме.

Решаем уравнение теплопроводности L[u]=fL[u] = f, где параболический оператор LL задан в (I.2), на отрезке [x0,x4][x_0, x_4]. На концах отрезка задаются краевые условия первого рода (Дирихле, (1.13)) или второго рода (Нейман, (1.14)). В этом приложении мы доводим до матричной формы сам функционал Бубнова-Галёркина, сохраняя граничный интеграл SυυdS\int_S \upsilon \cdot \nabla \upsilon \,dS в общем виде; подстановка конкретных граничных значений (условий Дирихле или Неймана) разбирается в отдельных приложениях.

Одномерная сетка из четырёх симплексов-отрезков s₁…s₄ и пяти узлов
Рис. J.1. Одномерная сетка примера: четыре симплекса-отрезка s1,,s4s_1, \ldots, s_4 и пять узлов x0,,x4x_0, \ldots, x_4; длины отрезков обозначаются l(i)(i+1)l_{(i)(i+1)}.

Возьмём четыре симплекса-отрезка s1,s2,s3,s4s_1, s_2, s_3, s_4, три внутренние точки x1,x2,x3x_1, x_2, x_3 и две граничные точки x0,x4x_0, x_4 (рисунок J.1). Пробные функции для симплексов-отрезков примут вид

υ(0)(1)(x)=q0ϕ0(x)+q1ϕ1(x)υ(1)(2)(x)=q1ϕ1(x)+q2ϕ2(x)υ(2)(3)(x)=q2ϕ2(x)+q3ϕ3(x)υ(3)(4)(x)=q3ϕ3(x)+q4ϕ4(x)\begin{split} &\upsilon_{(0)(1)}(x) = q_0 \cdot \phi_0(x) + q_1 \cdot \phi_1(x) \\ &\upsilon_{(1)(2)}(x) = q_1 \cdot \phi_1(x) + q_2 \cdot \phi_2(x) \\ &\upsilon_{(2)(3)}(x) = q_2 \cdot \phi_2(x) + q_3 \cdot \phi_3(x) \\ &\upsilon_{(3)(4)}(x) = q_3 \cdot \phi_3(x) + q_4 \cdot \phi_4(x) \\ \end{split}

Функции «крышки» и их производные для симплексов-отрезков имеют вид

ϕ0(x)=a0+b0xϕ0(x)=b0ϕ1(x)=a1+b1xϕ1(x)=b1ϕ2(x)=a2+b2xϕ2(x)=b2ϕ3(x)=a3+b3xϕ3(x)=b3ϕ4(x)=a4+b4xϕ4(x)=b4\begin{split} &\phi_0(x) = a_0 + b_0 \cdot x \quad \phi_0'(x) = b_0 \\ &\phi_1(x) = a_1 + b_1 \cdot x \quad \phi_1'(x) = b_1 \\ &\phi_2(x) = a_2 + b_2 \cdot x \quad \phi_2'(x) = b_2 \\ &\phi_3(x) = a_3 + b_3 \cdot x \quad \phi_3'(x) = b_3 \\ &\phi_4(x) = a_4 + b_4 \cdot x \quad \phi_4'(x) = b_4 \\ \end{split}

Коэффициенты принимают следующие значения. Введём обозначение l(i)(i+1)=xi+1xil_{(i)(i+1)} = x_{i+1} - x_i для длины симплекса между точками xix_i и xi+1x_{i+1}.

Коэффициенты «крышек» для произвольного симплекса между точками xix_i и xi+1x_{i+1} выводятся так же, как в разделе «Пробные функции», и в обозначении l(i)(i+1)=xi+1xil_{(i)(i+1)} = x_{i+1} - x_i равны

ai=xi+1l(i)(i+1)bi=1l(i)(i+1)ai+1=xil(i)(i+1)bi+1=1l(i)(i+1)\begin{split} &a_i = \frac{\displaystyle x_{i+1}}{\displaystyle l_{(i)(i+1)}} \quad b_i = \frac{\displaystyle -1}{\displaystyle l_{(i)(i+1)}} \\ &a_{i+1} = \frac{\displaystyle -x_i}{\displaystyle l_{(i)(i+1)}} \quad b_{i+1} = \frac{\displaystyle 1}{\displaystyle l_{(i)(i+1)}} \end{split}

Для краевых «крышек» ϕ0\phi_0 и ϕ4\phi_4 берётся соответствующая половина. Подставив эти коэффициенты, сразу запишем пробные функции на каждом симплексе.

Подставим коэффициенты в пробные функции и выразим их относительно xx:

Для симплекса s1s_1:

υ(0)(1)(x)=q0ϕ0(x)+q1ϕ1(x)=q0(x1l(0)(1)xl(0)(1))+q1(x0l(0)(1)+xl(0)(1))=1l(0)(1)[q0(x1x)+q1(xx0)]\begin{split} \upsilon_{(0)(1)}(x) &= q_0 \cdot \phi_0(x) + q_1 \cdot \phi_1(x) \\ &= q_0 \cdot \left(\frac{\displaystyle x_1}{\displaystyle l_{(0)(1)}} - \frac{\displaystyle x}{\displaystyle l_{(0)(1)}}\right) + q_1 \cdot \left(\frac{\displaystyle -x_0}{\displaystyle l_{(0)(1)}} + \frac{\displaystyle x}{\displaystyle l_{(0)(1)}}\right) \\ &= \frac{\displaystyle 1}{\displaystyle l_{(0)(1)}} \left[q_0 \cdot (x_1 - x) + q_1 \cdot (x - x_0)\right] \end{split}

Для симплекса s2s_2:

υ(1)(2)(x)=q1ϕ1(x)+q2ϕ2(x)=q1(x2l(1)(2)xl(1)(2))+q2(x1l(1)(2)+xl(1)(2))=1l(1)(2)[q1(x2x)+q2(xx1)]\begin{split} \upsilon_{(1)(2)}(x) &= q_1 \cdot \phi_1(x) + q_2 \cdot \phi_2(x) \\ &= q_1 \cdot \left(\frac{\displaystyle x_2}{\displaystyle l_{(1)(2)}} - \frac{\displaystyle x}{\displaystyle l_{(1)(2)}}\right) + q_2 \cdot \left(\frac{\displaystyle -x_1}{\displaystyle l_{(1)(2)}} + \frac{\displaystyle x}{\displaystyle l_{(1)(2)}}\right) \\ &= \frac{\displaystyle 1}{\displaystyle l_{(1)(2)}} \left[q_1 \cdot (x_2 - x) + q_2 \cdot (x - x_1)\right] \end{split}

Для симплекса s3s_3:

υ(2)(3)(x)=q2ϕ2(x)+q3ϕ3(x)=q2(x3l(2)(3)xl(2)(3))+q3(x2l(2)(3)+xl(2)(3))=1l(2)(3)[q2(x3x)+q3(xx2)]\begin{split} \upsilon_{(2)(3)}(x) &= q_2 \cdot \phi_2(x) + q_3 \cdot \phi_3(x) \\ &= q_2 \cdot \left(\frac{\displaystyle x_3}{\displaystyle l_{(2)(3)}} - \frac{\displaystyle x}{\displaystyle l_{(2)(3)}}\right) + q_3 \cdot \left(\frac{\displaystyle -x_2}{\displaystyle l_{(2)(3)}} + \frac{\displaystyle x}{\displaystyle l_{(2)(3)}}\right) \\ &= \frac{\displaystyle 1}{\displaystyle l_{(2)(3)}} \left[q_2 \cdot (x_3 - x) + q_3 \cdot (x - x_2)\right] \end{split}

Для симплекса s4s_4:

υ(3)(4)(x)=q3ϕ3(x)+q4ϕ4(x)=q3(x4l(3)(4)xl(3)(4))+q4(x3l(3)(4)+xl(3)(4))=1l(3)(4)[q3(x4x)+q4(xx3)]\begin{split} \upsilon_{(3)(4)}(x) &= q_3 \cdot \phi_3(x) + q_4 \cdot \phi_4(x) \\ &= q_3 \cdot \left(\frac{\displaystyle x_4}{\displaystyle l_{(3)(4)}} - \frac{\displaystyle x}{\displaystyle l_{(3)(4)}}\right) + q_4 \cdot \left(\frac{\displaystyle -x_3}{\displaystyle l_{(3)(4)}} + \frac{\displaystyle x}{\displaystyle l_{(3)(4)}}\right) \\ &= \frac{\displaystyle 1}{\displaystyle l_{(3)(4)}} \left[q_3 \cdot (x_4 - x) + q_4 \cdot (x - x_3)\right] \end{split}

Найдём производные пробных функций по xx:

Для симплекса s1s_1:

υ(0)(1)(x)=1l(0)(1)(q1q0)\upsilon'_{(0)(1)}(x) = \frac{\displaystyle 1}{\displaystyle l_{(0)(1)}} (q_1 - q_0)

Для симплекса s2s_2:

υ(1)(2)(x)=1l(1)(2)(q2q1)\upsilon'_{(1)(2)}(x) = \frac{\displaystyle 1}{\displaystyle l_{(1)(2)}} (q_2 - q_1)

Для симплекса s3s_3:

υ(2)(3)(x)=1l(2)(3)(q3q2)\upsilon'_{(2)(3)}(x) = \frac{\displaystyle 1}{\displaystyle l_{(2)(3)}} (q_3 - q_2)

Для симплекса s4s_4:

υ(3)(4)(x)=1l(3)(4)(q4q3)\upsilon'_{(3)(4)}(x) = \frac{\displaystyle 1}{\displaystyle l_{(3)(4)}} (q_4 - q_3)

Вычислим квадраты пробных функций:

Для симплекса s1s_1:

υ(0)(1)2(x)=1l(0)(1)2[q0(x1x)+q1(xx0)]2=1l(0)(1)2[q02(x1x)2+2q0q1(x1x)(xx0)+q12(xx0)2]\begin{split} \upsilon_{(0)(1)}^2(x) &= \frac{\displaystyle 1}{\displaystyle l_{(0)(1)}^2} \left[q_0 \cdot (x_1 - x) + q_1 \cdot (x - x_0)\right]^2 \\ &= \frac{\displaystyle 1}{\displaystyle l_{(0)(1)}^2} \left[q_0^2(x_1 - x)^2 + 2q_0q_1(x_1 - x)(x - x_0) + q_1^2(x - x_0)^2\right] \end{split}

Для симплекса s2s_2:

υ(1)(2)2(x)=1l(1)(2)2[q1(x2x)+q2(xx1)]2=1l(1)(2)2[q12(x2x)2+2q1q2(x2x)(xx1)+q22(xx1)2]\begin{split} \upsilon_{(1)(2)}^2(x) &= \frac{\displaystyle 1}{\displaystyle l_{(1)(2)}^2} \left[q_1 \cdot (x_2 - x) + q_2 \cdot (x - x_1)\right]^2 \\ &= \frac{\displaystyle 1}{\displaystyle l_{(1)(2)}^2} \left[q_1^2(x_2 - x)^2 + 2q_1q_2(x_2 - x)(x - x_1) + q_2^2(x - x_1)^2\right] \end{split}

Для симплекса s3s_3:

υ(2)(3)2(x)=1l(2)(3)2[q2(x3x)+q3(xx2)]2=1l(2)(3)2[q22(x3x)2+2q2q3(x3x)(xx2)+q32(xx2)2]\begin{split} \upsilon_{(2)(3)}^2(x) &= \frac{\displaystyle 1}{\displaystyle l_{(2)(3)}^2} \left[q_2 \cdot (x_3 - x) + q_3 \cdot (x - x_2)\right]^2 \\ &= \frac{\displaystyle 1}{\displaystyle l_{(2)(3)}^2} \left[q_2^2(x_3 - x)^2 + 2q_2q_3(x_3 - x)(x - x_2) + q_3^2(x - x_2)^2\right] \end{split}

Для симплекса s4s_4:

υ(3)(4)2(x)=1l(3)(4)2[q3(x4x)+q4(xx3)]2=1l(3)(4)2[q32(x4x)2+2q3q4(x4x)(xx3)+q42(xx3)2]\begin{split} \upsilon_{(3)(4)}^2(x) &= \frac{\displaystyle 1}{\displaystyle l_{(3)(4)}^2} \left[q_3 \cdot (x_4 - x) + q_4 \cdot (x - x_3)\right]^2 \\ &= \frac{\displaystyle 1}{\displaystyle l_{(3)(4)}^2} \left[q_3^2(x_4 - x)^2 + 2q_3q_4(x_4 - x)(x - x_3) + q_4^2(x - x_3)^2\right] \end{split}

Вычислим квадраты производных пробных функций:

Для симплекса s1s_1:

(υ(0)(1)(x))2=1l(0)(1)2(q1q0)2=1l(0)(1)2(q022q0q1+q12)\begin{aligned} \left(\upsilon'_{(0)(1)}(x)\right)^2 &= \frac{\displaystyle 1}{\displaystyle l_{(0)(1)}^2} (q_1 - q_0)^2 \\ &= \frac{\displaystyle 1}{\displaystyle l_{(0)(1)}^2} \left(q_0^2 - 2q_0q_1 + q_1^2\right) \end{aligned}

Для симплекса s2s_2:

(υ(1)(2)(x))2=1l(1)(2)2(q2q1)2=1l(1)(2)2(q122q1q2+q22)\begin{aligned} \left(\upsilon'_{(1)(2)}(x)\right)^2 &= \frac{\displaystyle 1}{\displaystyle l_{(1)(2)}^2} (q_2 - q_1)^2 \\ &= \frac{\displaystyle 1}{\displaystyle l_{(1)(2)}^2} \left(q_1^2 - 2q_1q_2 + q_2^2\right) \end{aligned}

Для симплекса s3s_3:

(υ(2)(3)(x))2=1l(2)(3)2(q3q2)2=1l(2)(3)2(q222q2q3+q32)\begin{aligned} \left(\upsilon'_{(2)(3)}(x)\right)^2 &= \frac{\displaystyle 1}{\displaystyle l_{(2)(3)}^2} (q_3 - q_2)^2 \\ &= \frac{\displaystyle 1}{\displaystyle l_{(2)(3)}^2} \left(q_2^2 - 2q_2q_3 + q_3^2\right) \end{aligned}

Для симплекса s4s_4:

(υ(3)(4)(x))2=1l(3)(4)2(q4q3)2=1l(3)(4)2(q322q3q4+q42)\begin{aligned} \left(\upsilon'_{(3)(4)}(x)\right)^2 &= \frac{\displaystyle 1}{\displaystyle l_{(3)(4)}^2} (q_4 - q_3)^2 \\ &= \frac{\displaystyle 1}{\displaystyle l_{(3)(4)}^2} \left(q_3^2 - 2q_3q_4 + q_4^2\right) \end{aligned}

Запишем линейную аппроксимацию функции источника f(x)f(x) на каждом симплексе согласно (6.36). В нашем примере источник действует только на внутренних симплексах: на крайних он тождественно равен нулю.

Для симплекса s1s_1 (между x0x_0 и x1x_1):

Поскольку функция плотности тепловых источников тождественно равна нулю на этом интервале:

f~(0)(1)(x)=0.\widetilde{f}_{(0)(1)}(x) = 0.

Для симплекса s2s_2 (между x1x_1 и x2x_2):

f~(1)(2)(x)=e1(1)(2)+e2(1)(2)x,\widetilde{f}_{(1)(2)}(x) = e_1^{(1)(2)} + e_2^{(1)(2)} \cdot x,

где:

e1(1)(2)=f1x2f2x1x2x1=f1x2f2x1l(1)(2)e2(1)(2)=f2f1x2x1=f2f1l(1)(2)\begin{split} &e_1^{(1)(2)} = \frac{\displaystyle f_1 \cdot x_2 - f_2 \cdot x_1}{\displaystyle x_2 - x_1} = \frac{\displaystyle f_1 \cdot x_2 - f_2 \cdot x_1}{\displaystyle l_{(1)(2)}} \\ &e_2^{(1)(2)} = \frac{\displaystyle f_2 - f_1}{\displaystyle x_2 - x_1} = \frac{\displaystyle f_2 - f_1}{\displaystyle l_{(1)(2)}} \end{split}

Для симплекса s3s_3 (между x2x_2 и x3x_3):

f~(2)(3)(x)=e1(2)(3)+e2(2)(3)x,\widetilde{f}_{(2)(3)}(x) = e_1^{(2)(3)} + e_2^{(2)(3)} \cdot x,

где:

e1(2)(3)=f2x3f3x2x3x2=f2x3f3x2l(2)(3)e2(2)(3)=f3f2x3x2=f3f2l(2)(3)\begin{split} &e_1^{(2)(3)} = \frac{\displaystyle f_2 \cdot x_3 - f_3 \cdot x_2}{\displaystyle x_3 - x_2} = \frac{\displaystyle f_2 \cdot x_3 - f_3 \cdot x_2}{\displaystyle l_{(2)(3)}} \\ &e_2^{(2)(3)} = \frac{\displaystyle f_3 - f_2}{\displaystyle x_3 - x_2} = \frac{\displaystyle f_3 - f_2}{\displaystyle l_{(2)(3)}} \end{split}

Для симплекса s4s_4 (между x3x_3 и x4x_4):

Поскольку функция плотности тепловых источников тождественно равна нулю на этом интервале:

f~(3)(4)(x)=0.\widetilde{f}_{(3)(4)}(x) = 0.

Теперь запишем произведение функции источника на соответствующие пробные функции для каждого симплекса.

Для симплекса s1s_1:

Поскольку f~(0)(1)(x)=0\widetilde{f}_{(0)(1)}(x) = 0, имеем:

f~(0)(1)(x)υ(0)(1)(x)=0.\widetilde{f}_{(0)(1)}(x) \cdot \upsilon_{(0)(1)}(x) = 0.

Для симплекса s2s_2:

f~(1)(2)(x)υ(1)(2)(x)=(e1(1)(2)+e2(1)(2)x)1l(1)(2)[q1(x2x)+q2(xx1)].\begin{aligned} \widetilde{f}_{(1)(2)}(x) \cdot \upsilon_{(1)(2)}(x) &= \left(e_1^{(1)(2)} + e_2^{(1)(2)} \cdot x\right) \\ &\quad \cdot \frac{\displaystyle 1}{\displaystyle l_{(1)(2)}} \left[q_1 \cdot (x_2 - x) + q_2 \cdot (x - x_1)\right]. \end{aligned}

Подставляя значения e1(1)(2)e_1^{(1)(2)} и e2(1)(2)e_2^{(1)(2)}:

f~(1)(2)(x)υ(1)(2)(x)=1l(1)(2)2[(f1x2f2x1)+(f2f1)x][q1(x2x)+q2(xx1)].\begin{aligned} \widetilde{f}_{(1)(2)}(x) \cdot \upsilon_{(1)(2)}(x) &= \frac{\displaystyle 1}{\displaystyle l_{(1)(2)}^2} \left[(f_1 \cdot x_2 - f_2 \cdot x_1) + (f_2 - f_1) \cdot x\right] \\ &\quad \cdot \left[q_1 \cdot (x_2 - x) + q_2 \cdot (x - x_1)\right]. \end{aligned}

Преобразуем первый множитель:

(f1x2f2x1)+(f2f1)x=f1(x2x)+f2(xx1).(f_1 \cdot x_2 - f_2 \cdot x_1) + (f_2 - f_1) \cdot x = f_1 \cdot (x_2 - x) + f_2 \cdot (x - x_1).

Следовательно:

f~(1)(2)(x)υ(1)(2)(x)=1l(1)(2)2[f1(x2x)+f2(xx1)][q1(x2x)+q2(xx1)].\begin{aligned} \widetilde{f}_{(1)(2)}(x) \cdot \upsilon_{(1)(2)}(x) &= \frac{\displaystyle 1}{\displaystyle l_{(1)(2)}^2} \left[f_1 \cdot (x_2 - x) + f_2 \cdot (x - x_1)\right] \\ &\quad \cdot \left[q_1 \cdot (x_2 - x) + q_2 \cdot (x - x_1)\right]. \end{aligned}

Раскроем скобки:

f~(1)(2)(x)υ(1)(2)(x)=1l(1)(2)2[f1q1(x2x)2+f1q2(x2x)(xx1)+f2q1(xx1)(x2x)+f2q2(xx1)2].\begin{aligned} \widetilde{f}_{(1)(2)}(x) \cdot \upsilon_{(1)(2)}(x) = \frac{\displaystyle 1}{\displaystyle l_{(1)(2)}^2} \Big[ &f_1 q_1 (x_2 - x)^2 + f_1 q_2 (x_2 - x)(x - x_1) \\ &+ f_2 q_1 (x - x_1)(x_2 - x) + f_2 q_2 (x - x_1)^2 \Big]. \end{aligned}

Для симплекса s3s_3:

f~(2)(3)(x)υ(2)(3)(x)=(e1(2)(3)+e2(2)(3)x)1l(2)(3)[q2(x3x)+q3(xx2)].\begin{aligned} \widetilde{f}_{(2)(3)}(x) \cdot \upsilon_{(2)(3)}(x) &= \left(e_1^{(2)(3)} + e_2^{(2)(3)} \cdot x\right) \\ &\quad \cdot \frac{\displaystyle 1}{\displaystyle l_{(2)(3)}} \left[q_2 \cdot (x_3 - x) + q_3 \cdot (x - x_2)\right]. \end{aligned}

По аналогии с симплексом s2s_2:

f~(2)(3)(x)υ(2)(3)(x)=1l(2)(3)2[f2(x3x)+f3(xx2)][q2(x3x)+q3(xx2)].\begin{aligned} \widetilde{f}_{(2)(3)}(x) \cdot \upsilon_{(2)(3)}(x) &= \frac{\displaystyle 1}{\displaystyle l_{(2)(3)}^2} \left[f_2 \cdot (x_3 - x) + f_3 \cdot (x - x_2)\right] \\ &\quad \cdot \left[q_2 \cdot (x_3 - x) + q_3 \cdot (x - x_2)\right]. \end{aligned}

Раскроем скобки:

f~(2)(3)(x)υ(2)(3)(x)=1l(2)(3)2[f2q2(x3x)2+f2q3(x3x)(xx2)+f3q2(xx2)(x3x)+f3q3(xx2)2].\begin{aligned} \widetilde{f}_{(2)(3)}(x) \cdot \upsilon_{(2)(3)}(x) = \frac{\displaystyle 1}{\displaystyle l_{(2)(3)}^2} \Big[ &f_2 q_2 (x_3 - x)^2 + f_2 q_3 (x_3 - x)(x - x_2) \\ &+ f_3 q_2 (x - x_2)(x_3 - x) + f_3 q_3 (x - x_2)^2 \Big]. \end{aligned}

Для симплекса s4s_4:

Поскольку f~(3)(4)(x)=0\widetilde{f}_{(3)(4)}(x) = 0, имеем:

f~(3)(4)(x)υ(3)(4)(x)=0.\widetilde{f}_{(3)(4)}(x) \cdot \upsilon_{(3)(4)}(x) = 0.

Для левой границы x0x_0 (смежный симплекс s1=[x0,x1]s_1 = [x_0, x_1]) производная по внешней нормали равна

υ(x)nx=x0=q0q1x1x0=q0q1l(0)(1).\begin{aligned} \frac{\displaystyle \partial \upsilon(x)}{\displaystyle \partial n} \bigg|_{x=x_0} &= \frac{\displaystyle q_0 - q_1}{\displaystyle x_1 - x_0} \\ &= \frac{\displaystyle q_0 - q_1}{\displaystyle l_{(0)(1)}}. \end{aligned}

Для правой границы x4x_4 (смежный симплекс s4=[x3,x4]s_4 = [x_3, x_4]) производная по внешней нормали равна

υ(x)nx=x4=q4q3x4x3=q4q3l(3)(4).\begin{aligned} \frac{\displaystyle \partial \upsilon(x)}{\displaystyle \partial n} \bigg|_{x=x_4} &= \frac{\displaystyle q_4 - q_3}{\displaystyle x_4 - x_3} \\ &= \frac{\displaystyle q_4 - q_3}{\displaystyle l_{(3)(4)}}. \end{aligned}

Интеграл по границе согласно (6.51) принимает вид

SυυdS=q4υ(x)nx=x4+q0υ(x)nx=x0.\begin{aligned} \int_S \upsilon \cdot \nabla \upsilon \,dS &= q_4 \cdot \frac{\displaystyle \partial \upsilon(x)}{\displaystyle \partial n} \bigg|_{x=x_4} \\ &\quad + q_0 \cdot \frac{\displaystyle \partial \upsilon(x)}{\displaystyle \partial n} \bigg|_{x=x_0}. \end{aligned}

Подставляя найденные производные:

SυυdS=q4q4q3l(3)(4)+q0q0q1l(0)(1).\begin{aligned} \int_S \upsilon \cdot \nabla \upsilon \,dS &= q_4 \cdot \frac{\displaystyle q_4 - q_3}{\displaystyle l_{(3)(4)}} \\ &\quad + q_0 \cdot \frac{\displaystyle q_0 - q_1}{\displaystyle l_{(0)(1)}}. \end{aligned}

Выразим относительно qq:

SυυdS=1l(0)(1)q021l(0)(1)q0q1+1l(3)(4)q421l(3)(4)q3q4.\begin{aligned} \int_S \upsilon \cdot \nabla \upsilon \,dS &= \frac{\displaystyle 1}{\displaystyle l_{(0)(1)}} \cdot q_0^2 - \frac{\displaystyle 1}{\displaystyle l_{(0)(1)}} \cdot q_0 \cdot q_1 \\ &\quad + \frac{\displaystyle 1}{\displaystyle l_{(3)(4)}} \cdot q_4^2 - \frac{\displaystyle 1}{\displaystyle l_{(3)(4)}} \cdot q_3 \cdot q_4. \end{aligned}

Интеграл жёсткости для каждого симплекса вычисляется как интеграл квадрата производной пробной функции. Поскольку производные пробных функций являются константами, интегрирование сводится к умножению на длину симплекса.

Согласно локальной формуле из раздела «Матрица жёсткости 1D», для каждого симплекса этот интеграл равен 1l(i)(i+1)\frac{1}{l_{(i)(i+1)}}.

Общий интеграл жёсткости по всей области MM равен сумме интегралов по всем симплексам:

M(υ)2dM=i=14si(υ(x))2dx=1l(0)(1)(q022q0q1+q12)+1l(1)(2)(q122q1q2+q22)+1l(2)(3)(q222q2q3+q32)+1l(3)(4)(q322q3q4+q42).\begin{aligned} \int_M (\nabla \upsilon)^2 \,dM &= \sum_{i=1}^{4} \int_{s_i} \left(\upsilon'(x)\right)^2 \,dx \\ &= \frac{\displaystyle 1}{\displaystyle l_{(0)(1)}} \left(q_0^2 - 2q_0q_1 + q_1^2\right) + \frac{\displaystyle 1}{\displaystyle l_{(1)(2)}} \left(q_1^2 - 2q_1q_2 + q_2^2\right) \\ &\quad + \frac{\displaystyle 1}{\displaystyle l_{(2)(3)}} \left(q_2^2 - 2q_2q_3 + q_3^2\right) + \frac{\displaystyle 1}{\displaystyle l_{(3)(4)}} \left(q_3^2 - 2q_3q_4 + q_4^2\right). \end{aligned}

Интеграл демпфирования для каждого симплекса вычисляется как интеграл квадрата пробной функции.

Согласно локальной формуле из раздела «Матрица демпфирования 1D», интеграл квадрата пробной функции на симплексе равен l(i)(i+1)3(qi2+qiqi+1+qi+12)\frac{l_{(i)(i+1)}}{3}\left(q_i^2 + q_i q_{i+1} + q_{i+1}^2\right).

Общий интеграл демпфирования по всей области MM равен сумме интегралов по всем симплексам:

Mυ2dM=i=14siυ2(x)dx=l(0)(1)3(q02+q0q1+q12)+l(1)(2)3(q12+q1q2+q22)+l(2)(3)3(q22+q2q3+q32)+l(3)(4)3(q32+q3q4+q42).\begin{aligned} \int_M \upsilon^2 \,dM &= \sum_{i=1}^{4} \int_{s_i} \upsilon^2(x) \,dx \\ &= \frac{\displaystyle l_{(0)(1)}}{\displaystyle 3} \left(q_0^2 + q_0q_1 + q_1^2\right) + \frac{\displaystyle l_{(1)(2)}}{\displaystyle 3} \left(q_1^2 + q_1q_2 + q_2^2\right) \\ &\quad + \frac{\displaystyle l_{(2)(3)}}{\displaystyle 3} \left(q_2^2 + q_2q_3 + q_3^2\right) + \frac{\displaystyle l_{(3)(4)}}{\displaystyle 3} \left(q_3^2 + q_3q_4 + q_4^2\right). \end{aligned}

Интеграл нагрузки для каждого симплекса вычисляется как интеграл произведения функции источника на пробную функцию.

Согласно локальной формуле из раздела «Вектор нагрузки 1D», на крайних симплексах s1s_1 и s4s_4 интеграл равен нулю (источник там тождественно нулевой), а на s2s_2 и s3s_3 — соответствующему вкладу локального вектора нагрузки.

Общий интеграл нагрузки по всей области MM равен сумме интегралов по всем симплексам:

Mf~(x)υ(x)dM=i=14sif~(x)υ(x)dx=0+l(1)(2)6(2f1q1+f1q2+f2q1+2f2q2)+l(2)(3)6(2f2q2+f2q3+f3q2+2f3q3)+0.\begin{aligned} \int_M \widetilde{f}(x) \cdot \upsilon(x) \,dM &= \sum_{i=1}^{4} \int_{s_i} \widetilde{f}(x) \cdot \upsilon(x) \,dx \\ &= 0 + \frac{\displaystyle l_{(1)(2)}}{\displaystyle 6} \left(2f_1 q_1 + f_1 q_2 + f_2 q_1 + 2f_2 q_2\right) \\ &\quad + \frac{\displaystyle l_{(2)(3)}}{\displaystyle 6} \left(2f_2 q_2 + f_2 q_3 + f_3 q_2 + 2f_3 q_3\right) + 0. \end{aligned}

Упростив:

Mf~(x)υ(x)dM=l(1)(2)6(2f1q1+f1q2+f2q1+2f2q2)+l(2)(3)6(2f2q2+f2q3+f3q2+2f3q3).\begin{aligned} \int_M \widetilde{f}(x) \cdot \upsilon(x) \,dM &= \frac{\displaystyle l_{(1)(2)}}{\displaystyle 6} \left(2f_1 q_1 + f_1 q_2 + f_2 q_1 + 2f_2 q_2\right) \\ &\quad + \frac{\displaystyle l_{(2)(3)}}{\displaystyle 6} \left(2f_2 q_2 + f_2 q_3 + f_3 q_2 + 2f_3 q_3\right). \end{aligned}

Запишем все полученные интегралы в матричной форме. Введём вектор неизвестных q=(q0q1q2q3q4)T\vec{q} = \begin{pmatrix} q_0 & q_1 & q_2 & q_3 & q_4 \end{pmatrix}^T.

Интеграл жёсткости можно записать в матричном виде:

M(υ)2dM=qTKq,\int_M (\nabla \upsilon)^2 \,dM = \vec{q}^T \cdot K \cdot \vec{q},

где KK — матрица жёсткости размером 5×55 \times 5:

K=(1l(0)(1)1l(0)(1)0001l(0)(1)1l(0)(1)+1l(1)(2)1l(1)(2)0001l(1)(2)1l(1)(2)+1l(2)(3)1l(2)(3)0001l(2)(3)1l(2)(3)+1l(3)(4)1l(3)(4)0001l(3)(4)1l(3)(4)).\begin{aligned}K = \begin{pmatrix} \frac{1}{l_{(0)(1)}} & -\frac{1}{l_{(0)(1)}} & 0 & 0 & 0 \\ -\frac{1}{l_{(0)(1)}} & \frac{1}{l_{(0)(1)}} + \frac{1}{l_{(1)(2)}} & -\frac{1}{l_{(1)(2)}} & 0 & 0 \\ 0 & -\frac{1}{l_{(1)(2)}} & \frac{1}{l_{(1)(2)}} + \frac{1}{l_{(2)(3)}} & -\frac{1}{l_{(2)(3)}} & 0 \\ 0 & 0 & -\frac{1}{l_{(2)(3)}} & \frac{1}{l_{(2)(3)}} + \frac{1}{l_{(3)(4)}} & -\frac{1}{l_{(3)(4)}} \\ 0 & 0 & 0 & -\frac{1}{l_{(3)(4)}} & \frac{1}{l_{(3)(4)}} \end{pmatrix}.\end{aligned}

Матрица KK является симметричной и трёхдиагональной.

Интеграл демпфирования можно записать в матричном виде:

Mυ2dM=qTDq,\int_M \upsilon^2 \,dM = \vec{q}^T \cdot D \cdot \vec{q},

где DD — матрица демпфирования размером 5×55 \times 5:

D=(l(0)(1)3l(0)(1)6000l(0)(1)6l(0)(1)3+l(1)(2)3l(1)(2)6000l(1)(2)6l(1)(2)3+l(2)(3)3l(2)(3)6000l(2)(3)6l(2)(3)3+l(3)(4)3l(3)(4)6000l(3)(4)6l(3)(4)3).\begin{aligned}D = \begin{pmatrix} \frac{l_{(0)(1)}}{3} & \frac{l_{(0)(1)}}{6} & 0 & 0 & 0 \\ \frac{l_{(0)(1)}}{6} & \frac{l_{(0)(1)}}{3} + \frac{l_{(1)(2)}}{3} & \frac{l_{(1)(2)}}{6} & 0 & 0 \\ 0 & \frac{l_{(1)(2)}}{6} & \frac{l_{(1)(2)}}{3} + \frac{l_{(2)(3)}}{3} & \frac{l_{(2)(3)}}{6} & 0 \\ 0 & 0 & \frac{l_{(2)(3)}}{6} & \frac{l_{(2)(3)}}{3} + \frac{l_{(3)(4)}}{3} & \frac{l_{(3)(4)}}{6} \\ 0 & 0 & 0 & \frac{l_{(3)(4)}}{6} & \frac{l_{(3)(4)}}{3} \end{pmatrix}.\end{aligned}

Матрица DD также является симметричной и трёхдиагональной.

Интеграл нагрузки можно записать в матричном виде:

Mf~(x)υ(x)dM=FTq,\int_M \widetilde{f}(x) \cdot \upsilon(x) \,dM = \vec{F}^T \cdot \vec{q},

где F\vec{F} — вектор нагрузки размером 5×15 \times 1:

F=(02f1l(1)(2)6+f2l(1)(2)6f1l(1)(2)6+2f2l(1)(2)6+2f2l(2)(3)6+f3l(2)(3)6f2l(2)(3)6+2f3l(2)(3)60).\begin{gathered}\vec{F} = \begin{pmatrix} 0 \\ \frac{2f_1 \cdot l_{(1)(2)}}{6} + \frac{f_2 \cdot l_{(1)(2)}}{6} \\ \frac{f_1 \cdot l_{(1)(2)}}{6} + \frac{2f_2 \cdot l_{(1)(2)}}{6} + \frac{2f_2 \cdot l_{(2)(3)}}{6} + \frac{f_3 \cdot l_{(2)(3)}}{6} \\ \frac{f_2 \cdot l_{(2)(3)}}{6} + \frac{2f_3 \cdot l_{(2)(3)}}{6} \\ 0 \end{pmatrix}.\end{gathered}

Упростив, получим:

F=(0l(1)(2)6(2f1+f2)f1l(1)(2)6+f2(l(1)(2)+l(2)(3))3+f3l(2)(3)6l(2)(3)6(f2+2f3)0).\begin{gathered}\vec{F} = \begin{pmatrix} 0 \\ \frac{l_{(1)(2)}}{6} \left(2f_1 + f_2\right) \\ \frac{f_1 \cdot l_{(1)(2)}}{6} + \frac{f_2 (l_{(1)(2)} + l_{(2)(3)})}{3} + \frac{f_3 \cdot l_{(2)(3)}}{6} \\ \frac{l_{(2)(3)}}{6} \left(f_2 + 2f_3\right) \\ 0 \end{pmatrix}.\end{gathered}

Интеграл по границе можно записать в матричном виде:

SυυdS=qTBq,\int_S \upsilon \cdot \nabla \upsilon \,dS = \vec{q}^T \cdot B \cdot \vec{q},

где BB — матрица граничных условий размером 5×55 \times 5:

B=(1l(0)(1)12l(0)(1)00012l(0)(1)000000000000012l(3)(4)00012l(3)(4)1l(3)(4)).\begin{aligned}B = \begin{pmatrix} \frac{1}{l_{(0)(1)}} & -\frac{1}{2l_{(0)(1)}} & 0 & 0 & 0 \\ -\frac{1}{2l_{(0)(1)}} & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & -\frac{1}{2l_{(3)(4)}} \\ 0 & 0 & 0 & -\frac{1}{2l_{(3)(4)}} & \frac{1}{l_{(3)(4)}} \end{pmatrix}.\end{aligned}

Матрица BB является симметричной и содержит ненулевые элементы только в углах, соответствующих граничным узлам q0q_0 и q4q_4.

Стационарное уравнение

Согласно (I.5), в матричной форме имеем:

a2qTKq2FTqa2qTBqmin.a^2 \cdot \vec{q}^T \cdot K \cdot \vec{q} - 2 \cdot \vec{F}^T \cdot \vec{q} - a^2 \cdot \vec{q}^T \cdot B \cdot \vec{q} \rightarrow \min.

Вычисляя производную по q\vec{q}, получаем систему линейных уравнений:

a2(KB)q=F.a^2 (K - B) \cdot \vec{q} = \vec{F}.

Нестационарное уравнение

Согласно (I.6), в матричной форме имеем:

qnTDqn+Δta2qnTKqn2ΔtFTqn2qn1TDqnΔta2qnTBqnmin.\begin{aligned} &\vec{q}_n^T \cdot D \cdot \vec{q}_n + \Delta t \cdot a^2 \cdot \vec{q}_n^T \cdot K \cdot \vec{q}_n - 2 \cdot \Delta t \cdot \vec{F}^T \cdot \vec{q}_n \\ &- 2 \cdot \vec{q}_{n-1}^T \cdot D \cdot \vec{q}_n - \Delta t \cdot a^2 \cdot \vec{q}_n^T \cdot B \cdot \vec{q}_n \rightarrow \min. \end{aligned}

Вычисляя производную по qn\vec{q}_n, получаем систему линейных уравнений:

[D+Δta2(KB)]qn=ΔtF+Dqn1.\left[D + \Delta t \cdot a^2 (K - B)\right] \cdot \vec{q}_n = \Delta t \cdot \vec{F} + D \cdot \vec{q}_{n-1}.

Обозначения:

  • KK — матрица жёсткости 5×55 \times 5,
  • DD — матрица демпфирования 5×55 \times 5,
  • BB — матрица граничных условий 5×55 \times 5,
  • F\vec{F} — вектор нагрузки 5×15 \times 1,
  • q\vec{q} — вектор неизвестных 5×15 \times 1 для стационарного случая,
  • qn,qn1\vec{q}_n, \vec{q}_{n-1} — векторы неизвестных на текущем и предыдущем временных слоях,
  • aa — коэффициент теплопроводности,
  • Δt\Delta t — временной шаг.

Матрицы жёсткости, демпфирования и граничных условий симметричны и разрежены (трёхдиагональны). Однако, как видно из следующего пункта, стационарная система остаётся вырожденной — её диагональные элементы на границах обнуляются, поэтому решить её можно лишь после учёта граничных условий. Нестационарная же система благодаря матрице демпфирования оказывается хорошо обусловленной.

Вычислим разность матриц KBK - B, которая входит в итоговые уравнения для стационарного и нестационарного случаев:

KB=(012l(0)(1)00012l(0)(1)1l(0)(1)+1l(1)(2)1l(1)(2)0001l(1)(2)1l(1)(2)+1l(2)(3)1l(2)(3)0001l(2)(3)1l(2)(3)+1l(3)(4)12l(3)(4)00012l(3)(4)0).\begin{aligned}K - B = \begin{pmatrix} 0 & -\frac{1}{2l_{(0)(1)}} & 0 & 0 & 0 \\ -\frac{1}{2l_{(0)(1)}} & \frac{1}{l_{(0)(1)}} + \frac{1}{l_{(1)(2)}} & -\frac{1}{l_{(1)(2)}} & 0 & 0 \\ 0 & -\frac{1}{l_{(1)(2)}} & \frac{1}{l_{(1)(2)}} + \frac{1}{l_{(2)(3)}} & -\frac{1}{l_{(2)(3)}} & 0 \\ 0 & 0 & -\frac{1}{l_{(2)(3)}} & \frac{1}{l_{(2)(3)}} + \frac{1}{l_{(3)(4)}} & -\frac{1}{2l_{(3)(4)}} \\ 0 & 0 & 0 & -\frac{1}{2l_{(3)(4)}} & 0 \end{pmatrix}.\end{aligned}
(J.1)

Матрица KBK - B остаётся симметричной и трёхдиагональной. Характерной особенностью является то, что диагональные элементы на границах (первый и последний) обнуляются, что отражает вклад граничных условий в систему.

Хитрость этой матрицы в том, что диагональные элементы на границах обнулились, и из самой системы их не найти. Вы скажете: ну ок, есть же граничные условия — именно. Чтобы довести пример до конца, осталось разобрать способ учёта граничных условий в системе; этому посвящены следующие приложения.