Метод Ньютона–Рафсона¶
Линеаризация и итерационная рекуррентная формула¶
Нелинейное уравнение в момент времени \(t_{n+1}\) относительно узлового перемещения \(\boldsymbol{u}_{n+1}\), полученное в разделе Виртуальная работа внешних сил и сборка глобального уравнения, решается методом Ньютона–Рафсона. Узловое перемещение до момента \(t_n\), \(\boldsymbol{u}_n\), считается известным, а приращение перемещения \(\Delta\boldsymbol{u}\) принимается за неизвестную величину, для которой требуется определить
Далее зависимость вектора внешних сил от узлового перемещения не учитывается, и при \(\boldsymbol{F}(\boldsymbol{u}_{n+1}) = \boldsymbol{F}_{n+1}\)
решается это уравнение.
Для текущего решения \(\Delta\boldsymbol{u}\) определим касательную жёсткость
С её помощью линеаризация нелинейного уравнения даёт
Пусть поправка на \(i\)-й итерации равна \(d\boldsymbol{u}_i\), а вектор невязки в начале итерации равен
Тогда итерационная рекуррентная формула имеет вид
Таким образом, невязка \(\boldsymbol{R}_i\) представляет собой величину, соответствующую дисбалансу сил относительно состояния равновесия.
Формирование касательной матрицы жёсткости¶
Касательная жёсткость \(\boldsymbol{K} = \partial\boldsymbol{Q}/\partial\boldsymbol{u}\) формируется путём частного дифференцирования по узловым перемещениям вектора внутренних сил элемента, полученного в разделе Дискретизация виртуальной работы внутренних сил, интегрирования полученных подынтегральных выражений по области каждого элемента и их сборки. Если обозначить подынтегральное выражение уровня элемента через \(\boldsymbol{K}^e_X\) (запись в исходной конфигурации, формулировка TL) или \(\boldsymbol{K}^e_x\) (запись в текущей конфигурации, формулировка UL), то касательная жёсткость элемента равна
Ниже приведены окончательные формы подынтегральных выражений TL/UL. В обоих случаях они раскладываются в сумму материального члена жёсткости (члена начального перемещения) и геометрического члена жёсткости (члена начального напряжения).
Полная лагранжева формулировка¶
В полной лагранжевой формулировке предполагается линейная связь между скоростью второго напряжения Пиолы–Кирхгофа \(\dot{\boldsymbol{S}}\) и скоростью деформации Грина–Лагранжа \(\dot{\boldsymbol{E}}\): \(\dot{\boldsymbol{S}} = \boldsymbol{\mathsf{C}}:\dot{\boldsymbol{E}}\). Это соответствует определяющим законам для линейно-упругих материалов (материалов Сен-Венана–Кирхгофа) и гиперупругих материалов; в FrontISTR полная лагранжева формулировка применяется к этим материалам. Тогда подынтегральное выражение касательной жёсткости элемента в тензорной форме записывается как
Первый член правой части — материальный член жёсткости (член начального перемещения), второй — геометрический член жёсткости (член начального напряжения).
В реализации FrontISTR это подынтегральное выражение вычисляется в матричной форме с использованием записи Фойгта:
Здесь \(\boldsymbol{B}_L, \boldsymbol{B}_{NL}\) — B-матрицы, введённые в разделе Дискретизация виртуальной работы внутренних сил, а \(\tilde{\boldsymbol{C}}\) — представление определяющего тензора \(\boldsymbol{\mathsf{C}}\) в записи Фойгта, то есть матрица материальной жёсткости \(6\times 6\) (Тензорная запись и математические основы). Матрицы \(\boldsymbol{S}_9, \boldsymbol{F}_9\) используются для представления геометрического члена жёсткости в виде матричного произведения. Сначала для тензора второго ранга размера \(3\times 3\) \(\boldsymbol{A}\) определим обозначение \([\,\cdot\,]\), которое переставляет его компоненты в 9-компонентный вектор, как
При таком определении \(\boldsymbol{F}_9\) выражает вариацию градиента деформации в виде \([\delta\boldsymbol{F}] = \boldsymbol{F}_9\, \delta\boldsymbol{u}^e\) и является матрицей \(9\times d n_e\). Для узла элемента \(\alpha = 1, \ldots, n_e\) соответствующий блок \(9\times d\) равен
а сама матрица задаётся как \(\boldsymbol{F}_9 = [[\boldsymbol{F}_9]_1, \ldots, [\boldsymbol{F}_9]_{n_e}]\), где блоки расположены по горизонтали в порядке узлов элемента. Матрица \(\boldsymbol{S}_9\) выбирается так, чтобы в сочетании с этой матрицей геометрический член жёсткости записывался как \(\delta\boldsymbol{u}^{eT}\, \boldsymbol{F}_9^T \boldsymbol{S}_9 \boldsymbol{F}_9\, \dot{\boldsymbol{u}}^e\); это следующая матрица \(9\times 9\)
Это полученная матрица.
Обновлённая лагранжева формулировка¶
В обновлённой лагранжевой формулировке предполагается линейная связь между производной Яуманна относительного тензора напряжений Кирхгофа \(\hat{\boldsymbol{\sigma}}^{\nabla J}\) и тензором скоростей деформации \(\boldsymbol{D}\): \(\hat{\boldsymbol{\sigma}}^{\nabla J} = \boldsymbol{\mathsf{C}}:\boldsymbol{D}\). Это форма гипоупругого определяющего закона, общая для линейно-упругих, упругопластических и ползучих материалов; в FrontISTR обновлённая лагранжева формулировка применяется к этим материалам. Тогда подынтегральное выражение касательной жёсткости элемента, записанное в текущей конфигурации, в тензорной форме имеет вид
где \(\boldsymbol{\sigma}^{\nabla T}\) — производная Трусделла, \(\boldsymbol{A}_{(L)}\) — линейная часть деформации Альманси, \(\boldsymbol{F}_t = \partial\boldsymbol{u}/\partial\boldsymbol{x}\) — градиент перемещения относительно текущей конфигурации, а \(\boldsymbol{L}\) — тензор градиента скорости. Первый член правой части — материальный член жёсткости, второй — геометрический член жёсткости.
В реализации FrontISTR это подынтегральное выражение вычисляется в матричной форме с использованием записи Фойгта:
Здесь \(\boldsymbol{b}\) — B-матрица, сформированная в текущей конфигурации (Дискретизация виртуальной работы внутренних сил). \(\boldsymbol{\sigma}_9, \boldsymbol{f}_9\) получаются из \(\boldsymbol{S}_9, \boldsymbol{F}_9\), определённых для формулировки TL, заменой второго напряжения PK \(\boldsymbol{S}\) на напряжение Коши \(\boldsymbol{\sigma}\) и градиента по исходной конфигурации \(\partial N_\alpha^e/\partial X_i\) на градиент по текущей конфигурации \(\partial N_\alpha^e/\partial x_i\).
\(\boldsymbol{G}\) — зависящая от напряжения Коши поправочная матрица, необходимая для согласования гипоупругого определяющего закона \(\hat{\boldsymbol{\sigma}}^{\nabla J} = \boldsymbol{\mathsf{C}}:\boldsymbol{D}\) с формулировкой касательной жёсткости как определяющего закона на основе производной Трусделла. Она получается представлением компонент тензора четвёртого ранга \(G_{ijkl} = \delta_{il}\sigma_{kj} + \delta_{jl}\sigma_{ik}\) в записи Фойгта \(6\times 6\):
Это полученная матрица.
Сборка глобальной матрицы жёсткости¶
Глобальная касательная жёсткость \(\boldsymbol{K}\) получается делением жёсткости каждого элемента \(\boldsymbol{K}^e\) на блоки \(d\times d\) \(\boldsymbol{K}^e_{\alpha\beta}\) для каждой пары узлов и использованием множества сборки тензоров второго ранга \(\mathcal{E}^2(i_g, i_h)\), введённого в разделе Сборка физических величин в узлах элементов:
Полученные значения располагаются в матрице в строке \(i_g\) и столбце \(i_h\). В реализации множество \(\mathcal{E}^2\) явно не создаётся; вместо этого соответствующие блоки непосредственно суммируются внутри цикла по элементам. Матрица квадратная, её размер равен числу степеней свободы на узел \(\times\) общее число узлов \(n_g\), но поскольку компоненты между узлами, не связанными через элементы, равны \(0\), она хранится в разреженном формате.
Матрицы жёсткости элемента для формулировок TL и UL имеют одинаковую форму, за исключением переключения опорной конфигурации (узловые координаты и источник построения B-матрицы) и наличия или отсутствия матрицы \(\boldsymbol{G}\). Поэтому в FrontISTR обе формулировки реализованы в общей подпрограмме.
Алгоритм итераций¶
Подводя итог, в начале итераций задаётся \(\Delta\boldsymbol{u} = \boldsymbol{0}\) и вычисляется начальная невязка \(\boldsymbol{R}_0 = \boldsymbol{F}_{n+1} - \boldsymbol{Q}(\boldsymbol{u}_n)\). Затем на \(i\)-й итерации выполняются следующие действия.
- Для текущего перемещения \(\boldsymbol{u}_n + \Delta\boldsymbol{u}\) вычислить касательную жёсткость \(\boldsymbol{K}_i = \partial\boldsymbol{Q}/\partial\boldsymbol{u}|_{\boldsymbol{u}_n + \Delta\boldsymbol{u}}\) по процедуре из раздела Формирование касательной матрицы жёсткости.
- Для учёта геометрических граничных условий изменить касательную матрицу жёсткости и вектор невязки для степеней свободы, на которые наложены ограничения перемещений, получив \(\tilde{\boldsymbol{K}}_i, \tilde{\boldsymbol{R}}_{i-1}\) (Обработка геометрических граничных условий).
- Решить линейное уравнение \(\tilde{\boldsymbol{K}}_i\, d\boldsymbol{u}_i = \tilde{\boldsymbol{R}}_{i-1}\) и получить поправку \(d\boldsymbol{u}_i\). Эта процедура часто составляет большую часть вычислительной нагрузки итерационного расчёта.
- Обновить приращение перемещения как \(\Delta\boldsymbol{u} \leftarrow \Delta\boldsymbol{u} + d\boldsymbol{u}_i\) и соответственно вычислить вектор внутренних сил \(\boldsymbol{Q}(\boldsymbol{u}_n + \Delta\boldsymbol{u})\) и невязку \(\boldsymbol{R}_i = \boldsymbol{F}_{n+1} - \boldsymbol{Q}(\boldsymbol{u}_n + \Delta\boldsymbol{u})\).
- Проверить сходимость и завершить итерации, если она достигнута. В компонентах невязки \(\boldsymbol{R}_i\), соответствующих степеням свободы с геометрическими граничными условиями, появляются составляющие, соответствующие реакциям в закреплениях, поэтому критерий сходимости формируется по \(\tilde{\boldsymbol{R}}_i\) после исключения этих компонент. Конкретные критерии и пороговые значения приведены в разделе Критерии сходимости. Если сходимость не достигнута до предельного числа итераций, итерация считается неудачной.
После сходимости итераций сходившееся \(\Delta\boldsymbol{u}\) прибавляется к \(\boldsymbol{u}_n\), чтобы получить накопленное перемещение в момент \(t_{n+1}\): \(\boldsymbol{u}_{n+1} = \boldsymbol{u}_n + \Delta\boldsymbol{u}\), после чего выполняется переход к следующему временному шагу.
Связанные темы¶
- Виртуальная работа внешних сил и сборка глобального уравнения — исходная точка нелинейного уравнения, которое требуется решить
- Дискретизация виртуальной работы внутренних сил — формирование \(\boldsymbol{B}_L, \boldsymbol{B}_{NL}, \boldsymbol{b}\)
- Обработка геометрических граничных условий — изменение касательной матрицы жёсткости и вектора невязки с учётом ограничений перемещений
- Критерии сходимости — условия остановки на основе нормы невязки
- Тензорная запись и математические основы — представление матрицы материала \(\tilde{\boldsymbol{C}}\) в записи Фойгта
- Нелинейные итерации и интегрирование по времени (функции) — выбор и применение со стороны справочника функций