Сохранение физической величины при использовании граничных условий Неймана, применяемых к уравнению адвекции-диффузии

25

Я не понимаю разного поведения уравнения адвекции-диффузии, когда применяю разные граничные условия. Моя мотивация - симуляция реальной физической величины (плотности частиц) в условиях диффузии и адвекции. Плотность частиц должна сохраняться внутри, если только она не вытекает из краев. По этой логике, если я приведу в исполнение граничные условия Неймана, концы системы, такие как φИксзнак равно0(слева и справа), тогда система должна быть«замкнутой»,т. Е. Еслипотокна границе равен нулю, то никакие частицы не могут вырваться.

Для всех приведенных ниже моделирования, я применил дискретизацию кривошипно-Николсон к уравнению адвекции-диффузии и все моделирования Наличие φИксзнак равно0граничных условий. Однако для первой и последней строк матрицы (строк граничных условий) я допускаю изменениенезависимо от внутреннего значения. Это позволяет конечным точкам быть полностью неявными.β

Ниже я расскажу о 4 разных конфигурациях, только одна из них - это то, что я ожидал. В конце я обсуждаю мою реализацию.

Диффузия только предел

Здесь условия адвекции отключаются путем установки скорости на ноль.

Только диффузия, с = 0,5 (Crank-Niscolson) во всех точкахβ

Только диффузия (границы Неймана с бета = 0,5)

Количество не сохраняется, что видно по уменьшению площади импульса.

Только диффузия, с = 0.5 (Crank-Niscolson) во внутренних точках и = 1 (полностью неявный) на границахββ

Только диффузия (границы Неймана с бета = 0,5 для внутренних, бета = 1 полностью неявные) границы

Используя полностью неявное уравнение на границах, я достигаю того, чего ожидаю: частицы не убегают . Вы можете видеть это по области, сохраняемой как диффузная частица. Почему выбор в граничных точках должен влиять на физику ситуации? Это ошибка или ожидается?β

Диффузия и адвекция

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

Адвекция и диффузия с = 0,5 (Crank-Niscolson) во всех точкахβ

Адвекция-диффузия (границы Неймана с бета = 0,5)

Адвекция и диффузия с = 0.5 (Crank-Niscolson) во внутренних точках и = 1 (полностью неявный) на границахβββ

Адвекция и диффузия (границы Неймана с бета = 0,5 для внутренних, бета = 1 полностью неявные) границы

Реализация уравнения адвекции-диффузии

Начиная с уравнения адвекции-диффузии,

φTзнак равноD2φИкс2+vφИкс

Написание с использованием Crank-Nicolson дает,

φJN+1-φJNΔTзнак равноD[1-β(ΔИкс)2(φJ-1N-2φJN+φJ+1N)+β(ΔИкс)2(φJ-1N+1-2φJN+1+φJ+1N+1)]+v[1-β2ΔИкс(φJ+1N-φJ-1N)+β2ΔИкс(φJ+1N+1-φJ-1N+1)]

Обратите внимание, что = 0,5 для Кранка-Николсона, = 1 для полностью неявных и = 0 для полностью неявных .β ββββ

Чтобы упростить обозначения, давайте сделаем замену,

s=DΔt(Δx)2r=vΔt2Δx

и переместите известное значение производной по времени в правую часть,ϕjn

ϕjn+1=ϕjn+s(1β)(ϕj1n2ϕjn+ϕj+1n)+sβ(ϕj1n+12ϕjn+1+ϕj+1n+1)+r(1β)(ϕj+1nϕj1n)+rβ(ϕj+1n+1ϕj1n+1)

Факторинг условий дает,ϕ

β(rs)ϕj1n+1+(1+2sβ)ϕjn+1β(s+r)ϕj+1n+1Aϕn+1=(1β)(sr)ϕj1n+(12s[1β])ϕjn+(1β)(s+r)ϕj+1nMϕN

который мы можем записать в матричной форме как где,AφN+1знак равноMφN

Aзнак равно(1+2sβ-β(s+р)0β(р-s)1+2sβ-β(s+р)β(р-s)1+2sβ-β(s+р)0β(р-s)1+2sβ)

Mзнак равно(1-2s(1-β)(1-β)(s+р)0(1-β)(s-р)1-2s(1-β)(1-β)(s+р)(1-β)(s-р)1-2s(1-β)(1-β)(s+р)0(1-β)(s-р)1-2s(1-β))

Применение граничных условий Неймана

NB снова работает над деривацией, думаю, я заметил ошибку. Я предположил полностью неявную схему ( = 1) при записи конечной разности граничного условия. Если принять здесь схему Кранка-Нисколсона, сложность становится слишком большой, и я не могу решить полученные уравнения, чтобы исключить узлы, которые находятся за пределами области. Однако, казалось бы, возможно, есть два уравнения с двумя неизвестными, но я не смог справиться. Это, вероятно, объясняет разницу между первым и вторым графиками выше. Я думаю, что мы можем сделать вывод, что только графики с = 0,5 в граничных точках являются действительными.βββ

Предполагая, что поток в левой части известен (принимая полностью неявную форму),

ϕ1n+1x=σL

Запись этого как центрированная разница дает,

ϕ1n+1xϕ2n+1ϕ0n+12Δx=σL

следовательно, ϕ0n+1=ϕ2n+12ΔxσL

Обратите внимание, что здесь вводится узел который находится за пределами области проблемы. Этот узел можно устранить с помощью второго уравнения. Мы можем записать узел как, j = 1ϕ0n+1j=1

β(rs)ϕ0n+1+(1+2sβ)ϕ1n+1β(s+r)ϕ2n+1=(1β)(sr)ϕj1n+(12s[1β])ϕjn+(1β)(s+r)ϕj+1n

Подстановка в значение найденное из граничного условия, дает следующий результат для строки = 1,ϕ0n+1j

(1+2sβ)ϕ1n+12sβϕ2n+1=(1β)(sr)ϕj1n+(12s[1β])ϕjn+(1β)(s+r)ϕj+1n+2β(rs)ΔxσL

Выполнение той же процедуры для последней строки (при = ) дает,jJ

2sβϕJ1n+1+(1+2sβ)ϕJn+1=(1β)(sr)ϕJ1n+(12s(1β))ϕJn+2β(s+r)ΔxσR

Наконец, создание неявных граничных строк (установка = 1) дает,β

(1+2s)ϕ1n+12sϕ2n+1=ϕj1n+1ϕjn+2(rs)ΔxσL

2sϕJ1n+1+(1+2s)ϕJn+1=ϕJn+2(s+r)ΔxσR

Поэтому с граничными условиями Неймана мы можем записать матричное уравнение, ,Aϕn+1=Mϕn+bN

где,

A=(1+2s2s0β(rs)1+2sββ(s+r)β(rs)1+2sββ(s+r)02s1+2s)

Mзнак равно(100(1-β)(s-р)1-2s(1-β)(1-β)(s+р)(1-β)(s-р)1-2s(1-β)(1-β)(s+р)001)

бNзнак равно(2(р-s)ΔИксσL0...02(s+р)ΔИксσр)T

Мое текущее понимание

  • Я думаю, что разница между первым и вторым графиками объясняется отмеченной выше ошибкой.

  • По поводу сохранения физической величины. Я полагаю, что причина в том, что, как указано здесь , уравнение переноса в форме, которую я написал, не позволяет распространяться в обратном направлении, поэтому волна просто проходит даже при граничных условиях с нулевым потоком . Моя первоначальная интуиция в отношении сохранения применяется только тогда, когда срок адвекции равен нулю (это решение на участке № 2, где сохраняется область).

  • Даже с граничными условиями Неймана с нулевым потоком масса все еще может покинуть систему, потому что в этом случае правильными граничными условиями являются граничные условия Робина, в которых полный поток указан . Более того, условие Неймана указывает, что масса не может покинуть область посредством диффузии , она ничего не говорит о адвекции. По сути, то, что мы слышали, это замкнутые граничные условия для диффузии и открытые граничные условия для адвекции. Для получения дополнительной информации см. Ответ здесь, Реализация градиентного нулевого граничного условия в уравнении адвекции-диффузииφИксзнак равно0Jзнак равноDφИкс+vφзнак равно0,

Вы бы согласились?

boyfarrell
источник
Кажется, что граничные условия не выполнены правильно. Не могли бы вы показать нам, как вы наложили граничные условия?
Дэвид Кетчон
ОК, я обновил с реализацией, и я думаю, что я заметил ошибку, касающуюся применения β = 0.5 только к граничным строкам. Я обновил свое «текущее понимание» в нижней части вопроса. Есть ли у вас какие-либо комментарии?
boyfarrell
Итак ... как выглядит дискретизация на границах в случае границ Робина? Вы показали это для границ Неймана, но не границ Робина.

Ответы:

15

Я думаю, что одна из ваших проблем заключается в том, что (как вы заметили в ваших комментариях) условия Неймана не являются теми условиями, которые вы ищете , в том смысле, что они не подразумевают сохранение вашего количества. Чтобы найти правильное условие, перепишите ваш PDE как

φTзнак равноИкс(DφИкс+vφ)+S(Икс,T),

Теперь термин, который появляется в скобках, - это общий поток, и это количество, которое вы должны обнулить на границах, чтобы сохранить . (Я добавил для универсальности и для ваших комментариев.) Тогда граничные условия, которые вы должны наложить, (предполагается, что ваш космический домен равен )DφИкс+vφзнак равно0φS(Икс,T)(-10,10)

DφИкс(-10)+vφ(-10)знак равно0

для левой стороны и

DφИкс(10)+vφ(10)знак равно0

для правой стороны. Это так называемые граничные условия Робина (обратите внимание, что в Википедии прямо сказано, что это изолирующие условия для уравнений адвекции-диффузии).

Если вы установите эти граничные условия, вы получите свойства сохранения, которые вы искали. Действительно, интегрируя по пространственной области, мы имеем

φTdИксзнак равноИкс(DφИкс+vφ)dИкс+S(Икс,T)dИкс

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

φTdИксзнак равно(DφИкс+vφ)(10)-(DφИкс+vφ)(-10)+S(Икс,T)dИкс

Теперь два центральных члена исчезают благодаря граничным условиям. Интегрируясь во времени, получаем

0TφTdИксdTзнак равно0TS(Икс,T)dИксdT

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

φ(Икс,T)dИкс-φ(Икс,0)dИксзнак равно0TS(Икс,T)dИкс

Это показывает, что домен изолирован от внешней стороны. В частности, если Sзнак равно0 , мы получаем сохранение φ .

Dr_Sam
источник
Теперь я понимаю, почему это работает только тогда, когда = 0; потому что это будет означать сохранение после вашего подхода выше. Каковы будут последствия использования этого граничного условия для вышеприведенного, отразится ли волна? Я думал, что это невозможно, потому что в уравнении нет ничего, что дало бы мне отрицательную скорость? v
boyfarrell
Лучший способ узнать это, наверное, попробовать! Но если это ведет себя правильно (и IMO это делает), вы должны увидеть определенное количество которое начинает накапливаться в левой части домена: адвекция толкает в этом направлении, но граница закрыта. Накопление прекращается, когда диффузия становится достаточно большой, чтобы сбалансировать ее. Так что нет, не должно быть отраженной волны. φφ
Dr_Sam
@DrSam Просто вопрос касательно реализации. Я понимаю вашу точку зрения о том, как сделать нулевое количество с левой стороны. Но когда вы говорите «справа только граничный термин», что это значит? Я думал, что граничные условия должны быть или Неймана или Дирихле (или смесь обоих)?
Бойфаррелл
@boyfarrell Левый / правый в ответе ссылались на вывод правильных граничных условий, а не на способ его реализации (отредактировано для ясности). Условия Робина являются классическими условиями, хотя они менее известны, чем у Дирихле и Неймана.
Dr_Sam
φTзнак равноИкс(DφИкс+vφ)+S(Икс,T)