Рассмотрим процесс решения уравнений для нелинейных процессов на примере статической постановки.
После стандартной конечно-элементной дискретизации уравнения равновесия задача сводится к следующей: найти вектор узловых перемещений
где - вектора внутренних и внешних сил в узлах соответственно.
Данное уравнение является нелинейным. В CAE Fidesys оно решается итерационным методом Ньютона-Рафсона. Каждая итерация данного метода представляет решение линеаризованной задачи (1).
Пусть известно приближение . Тогда итерация метода Ньютона-Рафсона сводится к линейной системе уравнений:
где - абсолютные приращения сил и перемещений соответственно (в CAE Fidesys абсолютные невязки обозначены как ABS. FORCE RESIDUAL, ABS. VARIABLE RESIDUAL).
Решив систему (2), обновляем узловые перемещения в виде:
Процесс решения методом Ньютона-Рафсона иллюстрируется с помощью рисунка:
Критерии остановки итерационного процесса зависит от характеристик модели. Рассмотрим их подробнее.
Введем понятие относительных невязок сил и перемещений соответственно:
Их эквиваленты в CAE Fidesys обозначаются как REL. FORCE RESIDUAL и REL. VARIABLE RESIDUAL.
Тогда обоснование вывода о решении (2) и остановки итерационного процесса следует из стандартных предложений:
- относительные невязки по двум значениям (REL. FORCE RESIDUAL и REL. VARIABLE RESIDUAL) или невязка ABS. VARIABLE RESIDUAL (для случая, когда абсолютные приращения перемещений модели близки к точности математических вычислений) стала (стали) меньше порога;
- относительные невязки по одному из значений (REL. FORCE RESIDUAL или REL. VARIABLE RESIDUAL) для случая пластичности с контактом в малых деформациях;
- то же, что 1 или ниже порога уменьшилась невязка ABS. FORCE RESIDUAL (для случая, когда абсолютные приращения сил модели близки к точности математических вычислений).
Данный критерий используется для расчетов с моделями пластичности в малых деформациях.
Данный критерий используется для случаев, не представленных в 1 и 2. Фактически, речь идет о расчетах с конечными деформациями, идущими возможно в связке с другими нелинейностями.
Нелинейный расчет может закончится по следующим причинам:
- Достигнута сходимость по одному из критериев в зависимости от типа задачи. В строке IS SATISFIED будет в одном или больше столбцах значение YES;
- Достигнуто максимальное количество итераций: «Maximum number of iterations has been reached.»;
- Один или несколько элементов потеряли устойчивость вследствии больших деформаций «Mesh quality test has failed.».
В случае 2 и 3 возможным решением будет увеличение минимального числа шагов или максимального количества итераций. Однако если количество итераций больше 20, это значит сходимость очень медленная и желательно проверить постановку задачи. Также можно обратить внимание на случаи когда невязки увеличиваются на итерациях, обычно это признак того что задача не сойдется.
Подшаги
Введем понятие подшагов для нелинейной задачи. Сходимость задачи зависит от начального приближения, чем оно дальше от решения, тем хуже сходимость. Чтобы это исправить нужно прикладывать меньшую долю нагрузки (столбец RATIO), для уменьшения приращений перемещений. Для контроля данных подшагов введено несколько параметров:
- Начальное количество подшагов определяет длину первого подшага;
- Минимальное количество подшагов определяет максимальную длину подшага;
- Максимальное количество подшагов определяет минимальную длину подшага;
Если подшаг сошелся, то длина следующего шага увеличится, до тех пор пока не достигнет 1/(количество минимальных подшагов).
Если подшаг разошелся, то он будет перезапущен с нулевым начальным приближением. Затем в случае неудачи длина подшага будет уменьшена в два раза и будет уменьшаться до тех пор, пока не достигнет значения 1/(количество максимальных подшагов). В таком случае расчет закончится неудачно.
Дополнительно длина подшага может быть уменьшена в пластических задачах, если пластические деформации превышают определенный порог.
В статических задачах столбец LOAD TIME указывает на текущее время. Это время условно и равно 1 для одного статического шага. Столбец RATIO показывает долю примененных нагрузок этого статического шага.
Для динамических нелинейных задач алгоритм дробления шагов описанный выше тоже применим, однако в этом типе расчета динамические шаги по времени заменяют минимальное количество шагов, а настройка количества начальных шагов игнорируется.
Столбец LOAD TIME указывает на текущее время, а столбец RATIO показывает долю примененных нагрузок для данного шага.
ЗАМЕЧАНИЯ:
- Порог по абсолютным значениям ABS. FORCE RESIDUAL, ABS. VARIABLE RESIDUAL пользователь напрямую не задает. Он считается, как 1e-8, умноженное на заданную пользователем относительную точность;
- Используемые понятия порога абсолютных и относительных невязок фактически устанавливаются пользователем через параметр относительной точности. Данная точность соблюдается CAE Fidesys в случае, когда не происходит дробления подшага при нахождении . Дробление подшага на несколько дополнительных используется, если метод Ньютона-Рафсона не сходится на исходном подшаге. В этом случае порог корректируется автоматически в соответствии со степенью дробления.
На рисунке ниже показан пример содержания файла Convergence.log (для задачи с настройками: 2 - статических шага, минимальное количество подшагов - 2, максимальное количество подшагов - 8, максимальное количество итераций - 10):
