Хорошая конечная разница для уравнения непрерывности


22

Что было бы хорошей конечной разностной дискретизацией для следующего уравнения:

ρt+(ρu)=0 ?

Мы можем взять 1D случай:

ρt+ddx(ρu)=0

По какой-то причине все схемы, которые я могу найти, предназначены для формулировки в лагранжевых координатах. Я придумал эту схему на данный момент (не обращая внимания на индекс j ):

ρi,jn+1ρi,jnτ+1hx(ρi+1,jn+1+ρi,jn+12uxi+1/2,jnρi,jn+1+ρi1,jn+12uxi1/2n)=0

Но кажется, что он действительно нестабилен или имеет какое-то ужасное состояние стабильности. Это так?

Скорость фактически рассчитывается по закону Дарси . Плюс у нас есть уравнение состояния. Полная система также состоит из уравнения энергии и уравнения состояния для идеального газа. Скорости могут стать отрицательными .u=kμp


В одномерном случае задача по существу является гиперболическим pde 1-го порядка. Вы пытались использовать схему конечных разностей первого порядка против ветра?
Павел

Пока я бегу с тем, что я написал в вопросе. Мой случай на самом деле 2d, хотя. Но поскольку это такое классическое уравнение, я подумал, что будет доступна и классическая дискретизация.
Tiam

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

Задано ли поле скоростей или оно также удовлетворяет уравнению эволюции?
Дэвид Кетчон

Скорость фактически рассчитывается по закону Дарси . Полная система также состоит из уравнения энергии и уравнения состояния для идеального газа. Скорости могут стать отрицательными. u=kμp
тиам

Ответы:


21

Вы смотрите на уравнение сохранения массы:

dmdt=0

При рассмотрении эволюции массы на единицу объема это сводится к уравнению адвекции плотности в форме потока:

ρt=(ρu)

Хорошо, что это просто уравнение адвекции произвольного скалярного поля (в нашем случае это плотность ), и его (относительно) легко решить, при условии адекватных схем разности времени и пространства и начальных и граничные условия.ρ

При разработке схемы конечных разностей мы заботимся о сходимости, стабильности и точности. Схема сходится, если когда . Устойчивость схем гарантирует, что величина остается конечной при . Формальная точность схемы показывает, где лежит ошибка усечения в разложении Тейлора в частную производную. Посмотрите учебник CFD для получения более подробной информации об этих фундаментальных свойствах схемы дифференцирования. Δt0AtΔAΔtAtΔt0At

Теперь самый простой подход - перейти прямо к разнице вверх по течению 1-го порядка. Эта схема является положительно определенной, консервативной и вычислительно эффективной. Первые два свойства особенно важны, когда мы моделируем эволюцию величины, которая всегда положительна (т.е. масса или плотность).

Для простоты, давайте посмотрим на 1-D случай:

ρt=(ρu)x

Теперь удобно определить поток , чтобы:Φ=ρu

(ρu)x=ΦxΔΦΔxΦi+1/2Φi1/2Δx

Вот схема того, что мы моделируем:

            u           u
|          -->         -->          |
|    rho    |    rho    |    rho    |
x-----o-----x-----o-----x-----o-----x
     i-1  i-1/2   i   i+1/2  i+1

Мы оцениваем эволюцию в клетке . Чистая прибыль или убыток происходят из разницы того, что входит, и того, что выходит, . Здесь мы начинаем расходиться с ответом Павла. При истинном консервативном различении вверх по течению количество в центре клетки переносится скоростью на краю ее клетки в направлении ее движения. Другими словами, если вы представляете, что вы - адвектированное количество, и вы сидите в центре клетки, вас переносят в клетку перед вами со скоростью на краю клетки. Оценка потока на краю ячейки как произведение плотности и скорости, как на краю ячейки, не является правильной и не сохраняет адвективную величину.ρiΦi1/2Φi+1/2

Входящие и исходящие потоки оцениваются как:

Φi+1/2=ui+1/2+|ui+1/2|2ρi+ui+1/2|ui+1/2|2ρi+1

Φi1/2=ui1/2+|ui1/2|2ρi1+ui1/2|ui1/2|2ρi

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

Критерий устойчивости Куранта-Фридрихса-Леви (CFL), при выполнении разности во времени с простым первым порядком, прямое различие Эйлера задается как:

μ=uΔtΔx1

Обратите внимание, что в двух измерениях критерий устойчивости КЛЛ является более строгим:

μ=cΔtΔx12

где - величина скорости, .cu2+v2

Некоторые вещи для рассмотрения. Эта схема может подходить или не подходить для вашего приложения в зависимости от того, какой процесс вы моделируете. Эта схема очень диффузная и подходит для очень гладких течений без резких градиентов. Это также более распространено для более коротких временных шагов. В одномерном случае вы получите почти точное решение, если градиенты очень малы, и если . В двумерном случае это невозможно, а диффузия анизотропна.μ=1

Если ваша физическая система рассматривает ударные волны или высокие градиенты другого рода, вам следует изучить различие более высокого порядка вверх по течению (например, 3-го или 5-го порядка). Кроме того, возможно, стоит взглянуть на семейство схем с коррекцией потока (Zalesak, 1979, JCP); антидиффузионная поправка для вышеуказанной схемы Смоларкевичем (1984, JCP); Семейство схем MPDATA Смоларкевича (1998, JCP).

Для разницы во времени разность Эйлера 1-го порядка может быть удовлетворительной для ваших нужд. В противном случае обратите внимание на методы более высокого порядка, такие как Рунге-Кутта (итеративный) или Адамс-Башфорт и Адамс-Моултон (многоуровневый).

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


Спасибо за ответ. Теперь я ясно вижу, что против ветра. Я постараюсь реализовать это сейчас! Я задаюсь вопросом , может тот факт , что меняется на каждом временном шаге влияют на стабильность? u
Tiam

1
Нет, если вы удовлетворяете ограничению CFL. Вы можете сделать адаптивное пошаговое изменение времени, то есть , или установить постоянную соответствии с максимальной ожидаемой скоростью в вашей задаче. Помните, что различные комбинации методов различий во времени и пространстве приведут к различным ограничениям CFL. Δt=Δxmax(u)Δt
milancurcic

немного странно, я реализовал схему, и мне удалось отправить импульс от одной границы к другой и обратно (путем изменения скорости). Но как только я говорю, что он начинает требовать чрезвычайно маленького временного шага, даже если скорость ниже 1. Установка динамического временного шага, как определено выше, также не помогла. u=Cρ
Tiam

Или, может быть, это совсем не странно, может быть, ваш комментарий выше не регулирует случай, когда и связаны. uρ
Tiam

Ограничения устойчивости и порядок точности формально выводятся и действительны для линеаризованного уравнения переноса - где не зависит от . В прошлом я успешно связывал это уравнение с нелинейными уравнениями Навье-Стокса для u, v. Формальные ограничения стабильности в этом случае не выполняются, но поддержание ваших приращений на достаточно низком уровне работает. При установке , ваше уравнение становится . Вы должны выяснить (если это возможно), что является критерием устойчивости для вашего уравнения. uρu=Cρρt=C[(ρ)2+ρ2ρ]
milancurcic

13

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

ρik+1ρikΔt+ρikUikρi1kUi1kΔx=0 .

Если скорости положительные, то эта обратная схема устойчива. Если они отрицательны, то сработает прямая разница. Несмотря на это, всегда существует ограничение на выбор и (число куранта), чтобы сделать схему стабильной.Δ тΔxΔt


Будет ли оценка при вместо этого снять ограничение ? к + 1 Δ тρk+1Δt
Tiam

Я не совсем уверен ... Я думаю, что вам нужно проверить ошибку усечения, чтобы убедиться, что она правильно приближается к PDE. Возможно, вы захотите рассмотреть другие схемы воздействия на этом сайте: web.mit.edu/dongs/www/publications/projects/…
Пол
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.