Численные методы для разрывных rs ОДУ

15

Каковы современные методы численного решения ОДУ с прерывистой правой стороной? В основном меня интересуют кусочно-гладкие функции правой стороны, например, знак.

Я пытаюсь решить уравнение следующего типа:

x˙=vv˙={(|Fexternal||Ffriction|)sign(Fexternal):|Fexternal|<|Ffriction|0:otherwise
Андрей Шевляков
источник
Привет @ АндрейШевляков и добро пожаловать в Scicomp! Есть ли определенный класс ODE, который вас интересует?
Пол
Привет, Пол! Да, в настоящее время я пытаюсь реализовать своего рода модель сцепления с трением.
Андрей Шевляков
Не могли бы вы включить уравнения, которые вы хотите решить в свой вопрос? Это поможет сузить конкретные методы, применимые к вашей проблеме.
Павел
Я добавил пример к посту
Андрей Шевляков
1
Когда я работал над ACSL, он включал в себя root-искатель, так что вы могли заставить его искать время, когда скорость равнялась нулю, и затем начинать заново с этой точки с новыми rhs.
Майк Данлавей,

Ответы:

13

См. Новую книгу Дэвида Стюарта (2011) на эту тему « Динамика с неравенствами: последствия и жесткие ограничения» . Проблемы кулоновского трения упоминаются несколько раз в главах анализа.

Глава 8 посвящена численным методам для негладких ОДУ и DAE. Он в основном защищает полностью неявные методы Рунге-Кутты с особым подходом к негладкости. Обратите внимание на раздел 8.4.4, в котором указано, что если вы не точно определите точки негладкости, все методы ухудшаются до точности первого порядка , поэтому неявный Эйлер (с модификациями для негладкости) популярен на практике. Кроме того, решения проблем , связанных с бесконечномерным неравенств , как правило , не кусочно - гладкой, поэтому теория дает лишь O ( ч 1 / 2 ) сходимость, хотя на практике, О ( ч )O(h)O(h1/2)O(h) часто наблюдается.

Джед браун
источник
Большое спасибо! Вы знаете, есть ли где-нибудь доступные реализации?
Андрей Шевляков
Не то, что я знаю, но реализация простых схем не должна быть слишком сложной, если у вас есть решатель для статических вариационных неравенств.
Джед Браун
10

Самая значимая ссылка, о которой я знаю, это тезис Дэвида Стюарта, которому более 20 лет:

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

Аннотация ссылается на несколько значительных ранних работ. Ключевое слово здесь - дифференциальное включение .

Дэвид Кетчесон
источник
2

Как уже указывал Майк Данлавей в комментарии, это часто делается с использованием так называемых функций пересечения нуля , то есть функций g(t,x(t))R>0<0

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

Многие решатели ODE (например, SUNDIALS CVODE) автоматически проверяют, изменила ли какая-либо из функций пересечения нуля свой знак в течение последнего временного шага. Если это так, то метод определения корня используется для определения точного местоположения корня. Затем решатель может быть перезапущен с этой конкретной позиции. Это делается либо автоматически самим решателем, либо вручную вызывающим кодом.

Флориан Брукер
источник
Для целей поиска: можно также говорить о «месте проведения мероприятия»; У Hairer / Nørsett / Wanner есть хорошее обсуждение этого вопроса.
JM