Виртуальная работа внешних сил и сборка глобальных уравнений¶
В разделе Дискретизация виртуальной работы внутренних сил левая часть слабой формы была сведена к вектору внутренних сил элемента \(\boldsymbol{q}^e\) (метод UL) или \(\boldsymbol{Q}^e\) (метод TL). В этой главе из виртуальной работы внешних сил вводится вектор внешних узловых сил элемента \(\boldsymbol{F}^e\), после чего посредством операции сборки, при которой физические величины в узлах элемента переупорядочиваются по глобальным номерам узлов и суммируются, получается система нелинейных уравнений относительно узловых перемещений, решаемая при нелинейном структурном анализе в FrontISTR.
Разложение виртуальной работы внешних сил по элементам¶
Правая часть принципа виртуальных работ может быть разложена по элементам как виртуальная работа внешних сил, состоящая из объемной силы (массовой силы) и заданной поверхностной силы на механической границе. Чтобы записать интерполяцию перемещений, введенную в разделе Функции формы и конечно-элементная аппроксимация, в матричной форме, используется блок \(\boldsymbol{N}_\alpha\) размера \(d \times d\), на диагонали которого расположена функция формы \(N_\alpha^e\) узла \(\alpha\), а также матрица \(\boldsymbol{N} = [\boldsymbol{N}_1, \ldots, \boldsymbol{N}_{n_e}]\), составленная из этих блоков по горизонтали; тогда \(\delta\boldsymbol{u} = \boldsymbol{N}\, \delta\boldsymbol{u}^e\). Подстановка этого выражения в виртуальную работу внешних сил, записанную в исходной конфигурации, дает
где вектор внешних узловых сил элемента записан как \(\boldsymbol{F}^e = (\boldsymbol{F}^{eT}_1, \ldots, \boldsymbol{F}^{eT}_{n_e})^T\). Тем самым виртуальная работа внешних сил приводится к той же форме «узловой вектор элемента × тестовая функция», что и для внутренних сил (при записи в текущей конфигурации получается та же форма с заменами \(dV \to dv\), \(\rho_0 \to \rho\), \(\bar{\boldsymbol{t}}_0 \to \bar{\boldsymbol{t}}\)).
Сборка физических величин в узлах элементов¶
Полученные для каждого элемента узловые физические величины \(\boldsymbol{Q}^e_\alpha, \boldsymbol{F}^e_\alpha\) суммируются в глобальные векторы, упорядоченные по глобальным номерам узлов. Если глобальный номер узла, соответствующий локальному номеру узла \(\alpha\) элемента \(\Omega^e\), обозначить как
то физическая величина в узле элемента совпадает с соответствующей компонентой глобальной узловой величины (например, \(\boldsymbol{u}^e_\alpha = \boldsymbol{u}_{i_g}\)). Поскольку в общем случае узел \(i_g\) принадлежит нескольким элементам, введем множество пар \((e, \alpha)\), для которых глобальный номер узла равен \(i_g\):
Используя это множество и переписывая суммирование как \(\sum_e \sum_\alpha = \sum_{i_g} \sum_{(e,\alpha) \in \mathcal{E}(i_g)}\), получаем узловую внутреннюю силу и глобальный вектор внутренних сил для всех \(n_g\) узлов:
Величина \(\boldsymbol{Q}_{i_g}\) соответствует результирующей внутренних узловых сил элементов, действующих в узле \(i_g\), и равна \(\boldsymbol{0}\), если внешние силы отсутствуют и выполнено равновесие. Для метода UL той же процедурой получаются \(\boldsymbol{q}_{i_g}, \boldsymbol{q}\); поскольку по значениям \(\boldsymbol{q} = \boldsymbol{Q}\), далее, за исключением мест, где требуется различать эти величины, используется обозначение \(\boldsymbol{Q}\). Глобальный вектор внешних сил \(\boldsymbol{F}\) получается таким же суммированием.
В реализации множество \(\mathcal{E}(i_g)\) явно не создается; вместо этого соответствующие компоненты накапливаются внутри цикла по элементам.
Инициализировать глобальный вектор внутренних сил Q нулями: Q_{i_g} = 0 (i_g = 1, ..., n_g)
for e = 1 to (число элементов)
for α = 1 to n_e
i_g = gdx(e, α)
Q_{i_g} += Q^e_α
end for
end for
Глобальный вектор внешних сил \(\boldsymbol{F}\) строится по той же процедуре. Операция, при которой физические величины в узлах элементов добавляются и сохраняются в векторах и матрицах, пронумерованных по глобальным номерам узлов, называется сборкой (assemble). Для тензоров второго порядка, связанных с двумя номерами узлов (например, матриц жесткости), аналогичная операция сборки определяется с помощью множества \(\mathcal{E}^2(i_g, i_h) = \{ (e, \alpha, \beta) \mid \mathrm{gdx}(e, \alpha) = i_g\ \mathrm{and}\ \mathrm{gdx}(e, \beta) = i_h \}\) (конкретное построение см. в разделе Матрица касательной жесткости).
Нелинейное уравнение, подлежащее решению¶
Подставляя результаты сборки внутренних и внешних сил в принцип виртуальных работ и учитывая, что выражение должно выполняться для произвольной тестовой функции \(\delta\boldsymbol{u}^n\), удовлетворяющей геометрическим граничным условиям, получаем
В контексте инкрементального анализа (Схема инкрементального анализа) восстановим индекс времени \(_{n+1}\) и опустим верхний индекс \(^n\), обозначающий глобальный узловой вектор. Тогда уравнение, подлежащее решению, имеет вид
Таким образом, дискретизированная краевая задача определения узловых перемещений \(\boldsymbol{u}_{n+1}\) в момент времени \(t_{n+1}\) сводится к решению этого нелинейного уравнения относительно перемещений совместно с геометрическими граничными условиями. Линеаризация уравнения и построение матрицы касательной жесткости приведены в разделе Матрица касательной жесткости, а итерационный метод решения — в разделе Метод Newton-Raphson.
Связанные разделы¶
- Принцип виртуальных работ — исходная точка слабой формы
- Схема инкрементального анализа — индексы времени и выбор исходной конфигурации
- Функции формы и конечно-элементная аппроксимация — интерполяция перемещений и тестовых функций, а также узловые векторы элементов
- Дискретизация виртуальной работы внутренних сил — вывод векторов внутренних сил элементов \(\boldsymbol{q}^e, \boldsymbol{Q}^e\)
- Матрица касательной жесткости — сборка матрицы жесткости (та же процедура)
- Метод Newton-Raphson — итерационное решение нелинейного уравнения
- Список обозначений физических величин