Перейти к статье

 

Отслеживание процесса решения нелинейной задачи на основе Convergence.log

Рассмотрим процесс решения уравнений для нелинейных процессов на примере статической постановки.

После стандартной конечно-элементной дискретизации уравнения равновесия задача сводится к следующей: найти вектор узловых перемещений u n+1, удовлетворяющих уравнению:

где f int , f ext - вектора внутренних и внешних сил в узлах соответственно.

Данное уравнение является нелинейным. В CAE Fidesys оно решается итерационным методом Ньютона-Рафсона. Каждая итерация данного метода представляет решение линеаризованной задачи (1).

Пусть известно приближение . Тогда итерация ( k ) метода Ньютона-Рафсона сводится к линейной системе уравнений:

где r (k-1) , δu (k) - абсолютные приращения сил и перемещений соответственно (в CAE Fidesys абсолютные невязки | r (k-1)  | , | δu (k) | обозначены как ABS. FORCE RESIDUAL, ABS. VARIABLE RESIDUAL).

Решив систему (2), обновляем узловые перемещения в виде:

Процесс решения методом Ньютона-Рафсона иллюстрируется с помощью рисунка:

Критерии остановки итерационного процесса зависят от характеристик модели.

Рассмотрим их подробнее.

Введем понятие относительных невязок сил и перемещений соответственно:.

Их эквиваленты в CAE Fidesys обозначаются как REL. FORCE RESIDUAL и REL. VARIABLE RESIDUAL.

Тогда обоснование вывода о решении (2) и остановки итерационного процесса следует из стандартных предложений:

Данный критерий используется для случаев, не представленных в 1 и 2. Фактически, речь идет о расчетах с конечными деформациями, идущими возможно в связке с другими нелинейностями.

Нелинейный расчет может закончится по следующим причинам:

В случае 2 и 3 возможным решением будет увеличение минимального числа шагов или максимального количества итераций. Однако если количество итераций больше 20, это значит сходимость очень медленная и желательно проверить постановку задачи. Также можно обратить внимание на случаи когда невязки увеличиваются на итерациях, обычно это признак того что задача не сойдется.

Подшаги

Введем понятие подшагов для нелинейной задачи. Сходимость задачи зависит от начального приближения, чем оно дальше от решения, тем хуже сходимость. Чтобы это исправить нужно прикладывать меньшую долю нагрузки (столбец RATIO), для уменьшения приращений перемещений. Для контроля данных подшагов введено несколько параметров:

Если подшаг сошелся, то длина следующего шага увеличится, до тех пор пока не достигнет 1/(количество минимальных подшагов).

Если подшаг разошелся, то он будет перезапущен с нулевым начальным приближением. Затем в случае неудачи длина подшага будет уменьшена в два раза и будет уменьшаться до тех пор, пока не достигнет значения 1/(количество максимальных подшагов). В таком случае расчет закончится неудачно.

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

В статических задачах столбец LOAD TIME указывает на текущее время. Это время условно и равно 1 для одного статического шага. Столбец RATIO показывает долю примененных нагрузок этого статического шага.

Для динамических нелинейных задач алгоритм дробления шагов описанный выше тоже применим, однако в этом типе расчета динамические шаги по времени заменяют минимальное количество шагов, а настройка количества начальных шагов игнорируется.

Столбец LOAD TIME указывает на текущее время, а столбец RATIO показывает долю примененных нагрузок для данного шага.

ЗАМЕЧАНИЯ:

На рисунке ниже показан пример содержания файла Convergence.log (для задачи с настройками: 2 - статических шага, минимальное количество подшагов - 2, максимальное количество подшагов - 8, максимальное количество итераций - 10):