Исходя из моего предыдущего вопроса, я пытаюсь применить граничные условия к этой неоднородной сетке конечного объема,
Я хотел бы применить граничное условие типа Робина к lhs области ( , так что
где - граничное значение; a , d - коэффициенты, определенные на границе, адвекции и диффузии соответственно; u x = ∂ u - производная отu,вычисленная на границе, аu- переменная, для которой мы решаем.
Возможные подходы
Я могу думать о двух способах реализации этого граничного условия на вышеупомянутой сетке конечного объема:
Подход клетки-призрака.
Запишите как конечную разницу, включая ячейку-призрак. σ L = d u 1 - u 0
A. Затем используйте линейную интерполяцию с точками и x 1, чтобы найти промежуточное значение u ( x L ) .
Б. В качестве альтернативы найдите путем усреднения по ячейкам, u ( x L ) = 1
В любом случае зависимость от клетки-призрака может быть устранена обычным способом (путем подстановки в уравнение конечного объема).
Экстраполяционный подход.
Установите линейную (или квадратичную) функцию для , используя значения в точках x 1 , x 2 ( x 3 ). Это обеспечит значение в u ( x L ) . Затем можно дифференцировать линейную (или квадратичную) функцию, чтобы найти выражение для значения производной на границе. Этот подход не использует призрачную ячейку.
Вопросов
- Какой подход из трех (1А, 1В или 2) является «стандартным» или вы бы порекомендовали?
- Какой подход вносит наименьшую ошибку или является наиболее стабильным?
- Я думаю, что могу реализовать подход с ячейками-призраками, однако, как можно реализовать подход экстраполяции, у этого подхода есть имя?
- Есть ли разница в устойчивости между подгонкой линейной функции или квадратным уравнением?
Конкретное уравнение
Я хочу применить эту границу к уравнению адвекции-диффузии (в форме сохранения) с нелинейным исходным членом,
Дискретизация этого уравнения на приведенной выше сетке с использованием метода дает
Однако для граничной точки ( ) я предпочитаю использовать полностью неявную схему ( θ = 1 ), чтобы уменьшить сложность,
Обратите внимание на призрачную точку , она будет удалена путем применения граничного условия.
Коэффициенты имеют определения,
Все переменные определены так, как показано на рисунке выше. Наконец, Δ T , который является временным шагом ( NB это упрощенный случай с постоянными и д коэффициентами, на практике " » коэффициенты немного более сложные по этой причине).
Ответы:
Это скорее общее замечание о FVM, чем ответ на конкретные вопросы. И сообщение состоит в том, что не должно быть необходимости в такой специальной дискретизации граничных условий.
В отличие от FE- или FD-методов, где отправной точкой является дискретный анзац для решения, подход FVM оставляет решение нетронутым (сначала), но усредняет по сегментации домена. Дискретизация решения вступает в силу только тогда, когда полученная система уравнений баланса превращается в систему алгебраических уравнений путем аппроксимации потоков через границы раздела.
В этом смысле, учитывая граничные условия, я советую придерживаться непрерывной формы решения как можно дольше и вводить дискретные приближения только в самом конце.
Скажем, уравнение выполняется на всей области. Тогда оно выполнено на подобласти [ 0 , h 1 ) , и интегрирование в пространстве дает ∫ h 1 0 u
What to do at the boundary? In the example, it is all about approximating(−au+dux)|x=0 , no matter what has been done to u so far.
Givenu|x=0=gD one can introduce a ghost cell and the condition that an interpolant between u0 and u1 is equal to gD at the boarder.
Givenux|x=0=gN one can introduce a ghost cell and the condition that an approximation to the derivative between u0 and u1 matches gN at the boarder
If the flux itself is prescribed:(−au+dux)|x=0=gR , there is no need for a discretization.
However, I am not sure, what to do in the case that there are Robin type bc's that do not match the flux directly. This, will need some regularization because of the discontinuity of the advection and diffusion parameters.
===> Some personal thoughts on FVM <===
источник