Добрый день. Разбирался с различными схемами решения квазилинейных дифференциальных уравнений в частных производных и возник вопрос касательно применимости консервативных схем. Я разбираюсь с применением разностных схем на примере уравнения Хопфа:
Либо, если его записать дивергентной форме:
Пусть мы рассматриваем уравнение на отрезке
по координате и на отрезке
по времени и имеем "хорошее" начальное условие без разрывов, скажем
.
Если проинтегрировать это уравнение по координате и по времени в этих пределах, получим закон сохранения:
Теперь построим разностную схему для решения уравнения в дивергентной форме на сетке
,
,
,
:
Верхний индекс
обозначает слой по времени, нижний индекс - по координате.
Теперь попробуем просуммировать данное выражение по всей сетки, аналогично интегрированию уравнения:
Преобразуем суммы:
Тогда получим:
Тут видно, что в пределе, когда разбиения сетки стремятся к нулю, то есть
и
, то данные суммы стремятся к интегралу, по сути мы считаем интеграл методом прямоугольников, который как известно имеет ошибку порядка h:
Тогда закон сохранения, общем случае, выполняется не абсолютно точно:
То есть мы получили, что в консервативной схеме, которая должна сохранять некоторую величину, это величина (в данном случае энергия), сохраняется с некоторой ошибкой, пропорциональной шагу сетки.
Но проделав аналогичные выкладки с недивергентной формой записи уравнения Хопфа, получим 3 члена, а не 2, и ошибка опять будет пропорциональна шагу сетки. В связи с чем возникает вопрос - либо оценка проведена неправильно, и где то есть ошибка, так что на самом деле консервативная схема дает сходимость более высокого порядка, либо же, если все верно, то в чем принципиальная полезность консервативной схемы? Обе схемы дают одинаковую сходимость, ошибки соизмеримые по величине (При расчете по данной схеме я получил, что ошибка неконсервативной схемы сего в 2-3 раза больше, чем консервативной). Зачем нужна консервативная схема?