Матрица жёсткости 1D

Вычислим матрицу жёсткости для одномерного случая. В одномерном пространстве градиент имеет вид υ=υx\nabla \upsilon = \frac{\displaystyle \partial \upsilon}{\displaystyle \partial x}, а скалярное произведение градиентов соответственно υυ=(υx)2\nabla \upsilon \cdot \nabla \upsilon = \left( \frac{\displaystyle \partial \upsilon}{\displaystyle \partial x} \right)^2. Учитывая, что область MM представляет собой координатную ось, сегментированную на симплексы-отрезки, исследуемую часть функционала для одного отрезка (xi,xi+1)(x_i, x_{i+1}) можно записать как

xixi+1(υx)2dx.\int_{x_i}^{x_{i+1}} \left( \frac{\displaystyle \partial \upsilon}{\displaystyle \partial x} \right)^2 \,dx.
(6.1)

В общем случае пробная функция υ(x)=i=1Nυi(x)\upsilon(x) = \sum_{i=1}^N \upsilon_i(x), тогда как на симплексе она имеет вид υ(i)(i+1)(x)=qiϕi(x)+qi+1ϕi+1(x)\upsilon_{(i)(i+1)}(x) = q_i \cdot \phi_i(x) + q_{i+1} \cdot \phi_{i+1}(x). Примем во внимание (5.7) и (5.8) из раздела о функциях <<крышек>> и запишем соотношения для функций <<крышек>>

{ϕi(x)=ai+bixϕi+1(x)=ai+1+bi+1x\begin{cases} \phi_i(x) = a_i + b_i \cdot x\\ \phi_{i+1}(x) = a_{i+1} + b_{i+1} \cdot x \end{cases}
(6.2)

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

υ(i)(i+1)(x)x=qibi+qi+1bi+1\frac{\displaystyle \partial \upsilon_{(i)(i+1)}(x)}{\displaystyle \partial x} = q_i \cdot b_i + q_{i+1} \cdot b_{i+1}
(6.3)

Заметим, что производная не зависит от xx и является константой на отрезке. Подставим (6.3) в (6.1)

xixi+1(υ(i)(i+1)x)2dx=L(qibi+qi+1bi+1)2,\int_{x_i}^{x_{i+1}} \left( \frac{\displaystyle \partial \upsilon_{(i)(i+1)}}{\displaystyle \partial x} \right)^2 \,dx = L \cdot (q_i \cdot b_i + q_{i+1} \cdot b_{i+1})^2,

где LL — длина отрезка, которая вычисляется по формуле

L=xi+1xi.L = x_{i+1} - x_i.
(6.4)

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

xixi+1(υ(i)(i+1)x)2dx=L[qi2bi2+qi+12bi+12+2qiqi+1bibi+1].\int_{x_i}^{x_{i+1}} \left(\frac{\displaystyle \partial \upsilon_{(i)(i+1)}}{\displaystyle \partial x}\right)^2 \,dx = L \cdot \left[ q_i^2 \cdot b_i^2 + q_{i+1}^2 \cdot b_{i+1}^2 + 2 \cdot q_i \cdot q_{i+1} \cdot b_i \cdot b_{i+1} \right].

Примем во внимание формулы из (5.8) для коэффициентов bb и введём обозначения для элементов локальной матрицы жёсткости отрезка

k(i)(i)=Lbi2=1xi+1xik(i+1)(i+1)=Lbi+12=1xi+1xik(i)(i+1)=k(i+1)(i)=Lbibi+1=1xi+1xi\begin{split} &k_{(i)(i)} = L \cdot b_i^2 = \frac{\displaystyle 1}{\displaystyle x_{i+1} - x_i}\\ &k_{(i+1)(i+1)} = L \cdot b_{i+1}^2 = \frac{\displaystyle 1}{\displaystyle x_{i+1} - x_i}\\ &k_{(i)(i+1)} = k_{(i+1)(i)} = L \cdot b_i \cdot b_{i+1} = -\frac{\displaystyle 1}{\displaystyle x_{i+1} - x_i} \end{split}
(6.5)

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

K=[k(i)(i)k(i)(i+1)k(i+1)(i)k(i+1)(i+1)]=1xi+1xi[1111].\begin{aligned}\mathbf{K} = \begin{bmatrix} k_{(i)(i)} & k_{(i)(i+1)}\\ k_{(i+1)(i)} & k_{(i+1)(i+1)} \end{bmatrix} = \frac{\displaystyle 1}{\displaystyle x_{i+1} - x_i} \begin{bmatrix} 1 & -1\\ -1 & 1 \end{bmatrix}.\end{aligned}
(6.6)

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