Решатель/Solver Dynamic.Часть 3. Параметры ITR, DRLTU, DABSU, DRLTI, DABSI

Параметры решения нелинейной системы уравнений (ITR, DRLTU, DABSU, DRLTI, DABSI)

Общие сведения

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

После дискретизации дифференциальных уравнений задача приводится к виду:

F(U) = 0

где:

  • U — вектор независимых переменных;
  • F(U) — система нелинейных уравнений.

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

Решение системы выполняется итерационным методом Ньютона.


Метод Ньютона

На каждой итерации производится уточнение решения до тех пор, пока не будет достигнута требуемая точность.

На рисунке показан процесс последовательного приближения к точному решению.

Рис.1. Геометрическая интерпретация метода Ньютона при решении нелинейного уравнения

На рисунке:

  • точка U^0 соответствует начальному приближению;
  • точки U^1, U^2, U^3 являются последовательными итерациями;
  • точка U^{*} соответствует точному решению;
  • \Sigma F характеризует невязку текущего решения;
  • \Delta U характеризует величину изменения аргумента между соседними итерациями.

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


Этапы решения системы

Процесс решения СнЛУ на каждом шаге интегрирования состоит из нескольких этапов.

Шаг 1. Выбор начального приближения

На первом шаге интегрирования начальное приближение определяется начальными условиями задачи.

На последующих шагах используется прогноз, сформированный по результатам предыдущего шага интегрирования.


Шаг 2. Вычисление невязок

Для текущего значения переменных вычисляются:

  • силы;
  • моменты;
  • потоковые переменные элементов модели.

После суммирования формируется невязка:

\Sigma F(i)

В многомерном случае формируется вектор невязок для всех уравнений системы.


Шаг 3. Вычисление поправки

Для одного уравнения поправка определяется выражением:

dU^{(i)} = -\frac{\Sigma F^{(i)}}{\tan\!\left(\alpha^{(i)}\right)}

Для системы уравнений используется матричная форма:

dU^{(i)} = -\Sigma F{(i)} \cdot \left[Y{(i)}\right]^{-1}

где:

  • \Sigma F(i) — вектор невязок;
  • Y{(i)} — матрица Якоби;
  • \left[Y{(i)}\right]^{-1} — обратная матрица Якоби.

После вычисления поправки новое значение переменной определяется как:

U(i+1) = U(i) + dU(i)


Шаг 4. Контроль точности

После получения нового приближения выполняется проверка условий завершения итерационного процесса.

Контроль производится одновременно:

  • по величине изменения аргумента;
  • по величине невязки.

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


Параметры контроля по аргументу (DRLTU, DABSU)

Допустимая ошибка определения аргумента вычисляется по формуле:

[dU(i)] = DABSU + |U(i)| \cdot DRLTU

где:

  • DABSU — абсолютная составляющая допустимой погрешности;
  • DRLTU — относительная составляющая допустимой погрешности.

Таким образом:

  • DABSU задает минимально допустимую ошибку;
  • DRLTU масштабирует допустимую ошибку относительно текущего значения переменной.

Параметры контроля по невязке (DRLTI, DABSI)

Допустимая невязка определяется выражением:

[\Sigma F(i)] = DABSI + \Sigma |F(i)| \cdot DRLTI

где:

  • DABSI — абсолютная допустимая невязка;
  • DRLTI — относительная допустимая невязка.

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


Условия завершения итераций

Итерационный процесс считается завершенным, если одновременно выполняются условия:

dU(i) < [dU(i)]

и

\Sigma |F(i)| < [\Sigma F(i)]

Именно эти условия показаны на рисунке в виде допустимых областей по аргументу и невязке.


Параметр ITR

Параметр:

ITR

задает максимально допустимое количество итераций метода Ньютона на одном шаге интегрирования.

По умолчанию:

ITR = 5

Если за разрешенное число итераций условия сходимости не выполнены, текущий шаг считается неудачным.

В этом случае:

  1. шаг интегрирования уменьшается;
  2. выполняется повторная попытка решения;
  3. процесс начинается заново из предыдущей точки.

Сообщение R006

Если после многократного уменьшения шага добиться сходимости не удается, программа завершает расчет сообщением:

R006
Несходимость решения системы нелинейных уравнений

Это означает, что при текущих настройках и структуре модели метод Ньютона не смог найти решение.


Основные причины плохой сходимости

Документация PRADIS выделяет несколько наиболее распространенных причин.

Недостаточное значение ITR

Слишком малое число разрешенных итераций может приводить к преждевременному прекращению процесса решения.

Ошибки структуры модели

Например:

  • неверные связи между элементами;
  • закрепленные степени свободы с наложенным кинематическим воздействием;
  • ошибочные соединения вращательных и поступательных координат.

Вырожденные параметры элементов

Например:

  • чрезмерно большие жесткости;
  • сильно вытянутые конечные элементы;
  • нереалистичные геометрические размеры.

Контактные элементы и сухое трение

Подобные нелинейности существенно усложняют работу метода Ньютона и могут требовать уменьшения шага интегрирования.

Ошибки вычисления якобиана

Наиболее характерны при разработке пользовательских элементов и не могут быть исправлены настройкой параметров интегратора.


Практические рекомендации

Для большинства расчетов рекомендуется начинать с параметров по умолчанию:

ITR = 5
DRLTU = 0.001
DABSU = 0.01
DRLTI = 0.001
DABSI = 0.1

При появлении большого количества потерянных шагов или сообщений о несходимости следует:

  1. проверить корректность модели;
  2. проанализировать количество итераций на шаг;
  3. увеличить ITR;
  4. при необходимости скорректировать параметры точности;
  5. только после этого рассматривать изменение других параметров интегратора.

Основные выводы

  • DRLTU и DABSU определяют точность решения по аргументу.
  • DRLTI и DABSI определяют точность решения по невязке.
  • Решение считается найденным только при выполнении обоих критериев.
  • Параметр ITR ограничивает количество итераций метода Ньютона.
  • Недостаточная сходимость приводит к уменьшению шага интегрирования.
  • При невозможности достичь сходимости выдается сообщение R006.
  • Большинство проблем со сходимостью связано не с настройками интегратора, а с особенностями или ошибками расчетной модели.


Управление процессом решения системы нелинейных уравнений (ITR, DABSI, SECOND)

Общие сведения

В предыдущем разделе были рассмотрены параметры, определяющие критерии завершения итерационного процесса метода Ньютона:

  • DRLTU;
  • DABSU;
  • DRLTI;
  • DABSI;
  • ITR.

Однако влияние этих параметров на качество и скорость расчета удобно рассматривать на конкретном примере.

В данном разделе используется тестовая задача падения монеты ребром на упругое основание. Пример специально выбран таким образом, чтобы показать влияние параметров решения системы нелинейных уравнений на статистику расчета и точность получаемых результатов.


Исходная тестовая модель

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

В модели:

  • сила тяжести приложена к центру масс монеты;
  • взаимодействие с основанием моделируется упругим упором;
  • производится расчет падения и последующих отскоков монеты.

В качестве контролируемых величин используются:

  1. перемещение центра тяжести монеты;
  2. разница перемещений точек A и D по оси Y.

Поскольку расчетная схема полностью симметрична, величина

\Delta Y(A\text{-}D)

в идеальном случае должна быть равна нулю.

Появление ненулевого значения связано главным образом с погрешностью решения системы нелинейных уравнений.


Расчетная схема

Рис.2. Тестовый пример для иллюстрации влияния параметров ITR, DABSI и SECOND на результаты расчета

На рисунке показаны:

  • геометрия модели монеты;
  • положение точек A и D;
  • траектория движения центра масс;
  • накопление погрешности симметрии при различных настройках интегратора.

PSL-описание примера

В документации PRADIS тестовая задача задается на внутреннем языке PSL.

Важно отметить, что данный текст не требуется создавать пользователю вручную при работе через объект Dynamics.

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

Приведенный PSL-текст используется только для демонстрации того, каким образом данная задача формируется внутри вычислительного ядра комплекса.

$ DATA:

Точка O =  0,       0         ;   Точка A =  1.0 E-2, 0.
Точка B =  0.5 E-2, 0.869 E-2 ;   Точка C = -0.5 E-2, 0.869 E-2
Точка D = -1.0 E-2, 0.        ;   Точка E = -0.5 E-2,-0.869 E-2
Точка F =  0.5 E-2,-0.869 E-2
Материал = 1.E-3, 2.E11, 0.3, 7800; Сила тяжести = - 0.025
Параметры упора = 0.5, 1.E7

$ FRAGMENT:

        # BASE : 15
        # STRUCT:
Тр.1'TRGUL (1 2  3  4  5  6;Точка O,Точка A,Точка B,Материал);
Тр.2'TRGUL (1 2  5  6  7  8;Точка O,Точка B,Точка C,Материал);
Тр.3'TRGUL (1 2  7  8  9 10;Точка O,Точка C,Точка D,Материал);
Тр.4'TRGUL (1 2  9 10 11 12;Точка O,Точка D,Точка E,Материал);
Тр.5'TRGUL (1 2 11 12 13 14;Точка O,Точка E,Точка F,Материал);
Тр.6'TRGUL (1 2 13 14  3  4;Точка O,Точка F,Точка A,Материал);
Сила тяжести 'F (2; Сила тяжести);
Упор   ' UPRL (15  2; Параметры упора);
Опора  ' MD   (15 15 15; 0, 0);

        # OUTPUT:
Перемещение центра тяжести 'X (2; 1)
Разница перемещений A_D y  'DX (4, 10; 1)

$ RUN:
        Расчет    'SHTERM (END=1)
$ PRINT :
        Результат 'DISP ()
$ END

Особенности расчета тестовой задачи

Для рассматриваемой модели характерна достаточно сложная статистика решения.

После первого удара монеты об основание возникают интенсивные упругие колебания.

При этом:

  • возрастают внутренние усилия;
  • увеличиваются невязки системы уравнений;
  • ухудшается сходимость метода Ньютона;
  • возрастает количество потерянных шагов.

Средний шаг интегрирования в данной задаче составляет порядка:

3·10⁻⁴ с

а среднее количество итераций достигает:

≈ 3.9 итерации на шаг

Наибольшие трудности возникают после первого отскока монеты от основания.

Причина заключается в том, что даже небольшие ошибки определения перемещений при высоких жесткостях элементов приводят к заметным невязкам усилий и ухудшению сходимости процесса решения СнЛУ.


Максимальное количество итераций на шаг интегрирования (ITR)

Назначение параметра ITR

Параметр

ITR

задает максимально допустимое количество итераций метода Ньютона на одном шаге интегрирования.

По умолчанию:

ITR = 5

Если решение не найдено за разрешенное число итераций:

  • текущий шаг считается неудачным;
  • шаг интегрирования уменьшается;
  • выполняется повторная попытка решения.

Ожидаемый эффект увеличения ITR

Увеличение параметра ITR позволяет:

  • уменьшить количество потерянных шагов;
  • повысить вероятность успешного завершения шага;
  • увеличить средний шаг интегрирования;
  • сократить общее количество шагов расчета.

Результаты расчета

Таблица 1. Влияние параметра ITR на статистику расчета

ITR Общее количество шагов Итераций Итераций на шаг Потеряно шагов Потеряно итераций
5 4060 16431 4.05 / 3.90 6 / 539 15 / 2695
6 3717 16656 4.48 / 4.31 5 / 388 13 / 2328
7 788 4786 6.07 / 6.01 5 / 70 12 / 490
8 719 4607 6.41 / 6.28 4 / 63 8 / 504
9 458 3169 6.92 / 6.80 5 / 33 17 / 297
10 435 3085 7.09 / 6.82 4 / 43 8 / 430
11 301 2068 6.87 / 6.67 4 / 18 8 / 198
12 273 1842 6.75 / 6.51 3 / 14 6 / 168
13 251 1471 5.86 / 5.73 6 / 4 37 / 52
14 201 1075 5.35 / 5.37 4 / 0 17 / 0
15 194 1116 5.75 / 5.83 4 / 0 8 / 0

Анализ результатов

Из таблицы видно, что наиболее заметное улучшение статистики происходит при переходе от:

ITR = 5

к

ITR = 7

Количество шагов уменьшается более чем в пять раз:

4060 → 788

а количество потерянных шагов по несходимости резко сокращается.

При дальнейшем увеличении ITR статистика продолжает улучшаться, однако эффект становится менее выраженным.

Начиная примерно с:

ITR = 11

наблюдается уменьшение среднего количества итераций на успешный шаг.

Это связано с тем, что интегратор получает возможность использовать более крупные шаги, приближающиеся к ограничению SMAX.


Не всегда увеличение ITR полезно

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

Примером является расчет гидроамортизатора автомобиля.

Таблица 2. Статистика расчета гидроамортизатора

ITR Шагов Итераций Итераций на шаг Потеряно шагов Потеряно итераций
5 2234 7646 3.42 / 3.07 132 / 336 544 / 1680
9 3144 10618 3.38 / 2.96 578 / 16 2932 / 144
15 3252 11118 3.42 / 2.92 635 / 3 3443 / 35

В данном случае увеличение ITR привело к росту потерь по локальной погрешности и ухудшению общей статистики расчета.


Точность решения СнЛУ и параметр SECOND

Назначение параметра SECOND

Параметр

SECOND

управляет обязательным выполнением второй итерации метода Ньютона.

Возможны два режима:

SECOND = 0

обычный режим;

SECOND = 1

обязательная вторая итерация.


Почему возникает проблема

При очень строгих требованиях к локальной погрешности, например:

DABSX = 0.001

интегратор уменьшает шаг расчета.

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

Однако при этом:

  • сохраняются относительно большие невязки;
  • возникает накопление ошибок;
  • нарушается симметрия решения.

Для рассматриваемой задачи это проявляется в появлении разницы перемещений между точками A и D.


Влияние параметров DABSI и SECOND

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

Напомним, что в качестве контролируемой величины была выбрана разница перемещений точек A и D по оси Y.

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

Рис.2. Тестовый пример для иллюстрации влияния на результаты расчета параметров DABSI, DABSX и SECOND


Варианты расчета

Для анализа были выполнены три расчета с различными настройками параметров.

Вариант а)

Используются параметры по умолчанию:

DABSX = 0.1
SECOND = 0
DABSI = 0.1

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


Вариант б)

Ужесточаются требования к локальной погрешности интегрирования:

DABSX = 0.001
SECOND = 0
DABSI = 0.1

При этом параметры решения системы нелинейных уравнений остаются без изменений.


Вариант в)

Дополнительно повышается точность решения системы нелинейных уравнений:

DABSX = 0.001
SECOND = 1
DABSI = 0.001

В этом случае:

  • включается обязательная вторая итерация метода Ньютона;
  • уменьшается допустимая невязка при решении СнЛУ;
  • повышается точность вычисления перемещений.

Что показывает рис.2.

На рисунке сравниваются результаты всех трех расчетов.

Основной интерес представляет переменная:

Разница перемещений точек A и D по оси Y

Так как задача симметрична, эта величина должна стремиться к нулю.

Чем больше становится разница между перемещениями точек A и D, тем больше накопленная погрешность решения системы нелинейных уравнений.


Почему ухудшается результат при уменьшении DABSX

На первый взгляд может показаться, что уменьшение параметра

DABSX

должно автоматически повышать точность расчета.

Однако из рис.2 видно, что переход от варианта а) к варианту ,б) приводит к увеличению ошибки симметрии.

Причина заключается в особенностях работы метода Ньютона.

Что происходит при уменьшении DABSX

При более строгих требованиях к локальной погрешности:

  • интегратор начинает использовать более мелкие шаги;
  • решение на шаге становится проще получить;
  • часто оказывается достаточно одной итерации метода Ньютона.

В результате решение системы нелинейных уравнений принимается слишком рано.

При этом допустимая невязка:

DABSI = 0.1

остается достаточно большой.

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

Именно это и приводит к появлению заметного поворота монеты относительно симметричного положения.


Использование параметра SECOND

Одним из способов устранения этой проблемы является использование параметра:

SECOND = 1

Этот параметр требует обязательного выполнения второй итерации метода Ньютона.

Даже если первая итерация уже удовлетворяет критериям точности, выполняется дополнительное уточнение решения.

Что дает обязательная вторая итерация

Использование параметра SECOND позволяет:

  • уменьшить остаточные невязки;
  • повысить точность решения СнЛУ;
  • улучшить симметрию решения;
  • уменьшить накопление ошибки при длительном расчете.

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


Использование параметра DABSI

Другой способ повышения точности связан с уменьшением параметра:

DABSI

Этот параметр задает допустимую абсолютную невязку при решении системы нелинейных уравнений.

Влияние DABSI

Чем меньше значение DABSI, тем:

  • точнее выполняются уравнения равновесия;
  • меньше остаточные усилия в системе;
  • выше точность найденного решения.

В варианте в) используется:

DABSI = 0.001

что в 100 раз строже по сравнению с вариантом а) и вариантом б).


Почему вариант в) дает лучший результат

В варианте в одновременно используются:

DABSX = 0.001
SECOND = 1
DABSI = 0.001

Такое сочетание обеспечивает:

  • строгий контроль локальной погрешности;
  • дополнительное уточнение решения на каждом шаге;
  • более точное выполнение условий равновесия.

Поэтому накопленная ошибка симметрии оказывается существенно меньше, чем в варианте б).


Практические рекомендации

Если в результатах расчета наблюдаются:

  • нарушение симметрии конструкции;
  • накопление ошибки со временем;
  • повышенная чувствительность к шагу интегрирования;
  • заметное влияние остаточных усилий,

следует обратить внимание на параметры DABSI и SECOND.

Рекомендуемый порядок действий

  1. Выполнить расчет с настройками по умолчанию.
  2. При обнаружении проблем включить:

SECOND = 1

  1. Если этого недостаточно — уменьшить параметр:

DABSI

  1. Сравнить результаты нескольких расчетов и оценить влияние изменения параметров.

Основные выводы

  • DABSI задает допустимую абсолютную невязку при решении системы нелинейных уравнений.
  • SECOND определяет обязательность выполнения второй итерации метода Ньютона.
  • Уменьшение только параметра DABSX не всегда приводит к повышению точности расчета.
  • При малых шагах интегрирования метод Ньютона может завершать работу уже после первой итерации.
  • Использование SECOND = 1 позволяет дополнительно уточнить решение.
  • Уменьшение DABSI повышает точность выполнения условий равновесия.
  • Наиболее точный результат для рассматриваемой задачи получен при совместном использовании параметров SECOND = 1 и DABSI = 0.001.