Як слід застосовувати граничні умови при використанні методу кінцевих обсягів?


16

Виходячи з попереднього запитання, я намагаюся застосувати граничні умови до цієї нерівномірної сітки з кінцевим обсягом,

Left hand side boundary include ghost cell.

Я б хотів застосувати граничну умову типу Робін до lhs домену ( x=xL) , таким чином,

σL=(dux+au)|x=xL

де - граничне значення; a , d - коефіцієнти, визначені відповідно на межі, адвекції та дифузії; u x = uσLa,d - похідна відu, щооцінюється на межі, аu- змінна, для якої ми розв'язуємо.ux=uxuu

Можливі підходи

Я можу придумати два способи реалізації цієї межової умови на вищезгаданій сітці з кінцевим об'ємом:

  1. Підхід до примарних клітин.

    Запишіть як кінцеву різницю, включаючи клітку-привид. σ L = d u 1 - u 0ux

    σL=du1u0h+au(xL)

    A. Потім використовуйте лінійну інтерполяцію з точками і x 1, щоб знайти проміжне значення, u ( x L ) .x0x1u(xL)

    B. Альтернативно знайдіть шляхом усереднення по осередках, u ( x L ) = 1u(xL)u(xL)=12(u0+u1)

    В будь-якому випадку залежність від привидної клітини може бути усунена звичайним способом (шляхом заміни в рівняння кінцевого об'єму).

  2. Екстраполяційний підхід.

    Встановіть лінійну (або квадратичну) функцію на , використовуючи значення в точках x 1 , x 2 ( x 3 ). Це забезпечить значення в u ( x L ) . Лінійну (або квадратичну) функцію можна потім диференціювати, щоб знайти вираз для значення похідної, u x ( x L ) , на межі. У такому підході не використовується клітина-привид.u(x)x1,x2x3u(xL)ux(xL)

Запитання

  • Який підхід із трьох (1A, 1B або 2) є "стандартним", або ви б рекомендували?
  • Який підхід вводить найменшу помилку чи є найбільш стійкою?
  • Я думаю, що я можу реалізувати підхід до клітини-примари самостійно, проте як можна реалізувати підхід до екстраполяції, чи має цей підхід назву?
  • Чи є різниця стійкості між приміркою лінійної функції або квадратичним рівнянням?

Конкретне рівняння

Я хочу застосувати цю межу до рівняння адвекційно-дифузійної форми (у формі збереження) з нелінійним терміном джерела,

ut=aux+duxx+s(x,u,t)

Дискретизуючи це рівняння на вищезгаданій сітці, використовуючи -метод,θ

wjn+1θrawj1n+1θrbwjn+1θrcwj+1n+1=wjn+(1θ)rawj1n+(1θ)rbwjn+(1θ)rcwj+1n+s(xj,tn)

Однак для граничної точки ( ) я вважаю за краще використовувати повністю неявну схему ( θ = 1 ) для зменшення складності,j=1θ=1

w1n+1raw0n+1rbw1n+1rcw2n+1=w1n+s1n

Помітьте привидну точку , це буде видалено, застосувавши граничну умову.w0n+1

Коефіцієнти мають визначення,

ra=Δthj(ahj2h+dh)

rb=Δthj(a2[hj1hhj+1h+]+d[1h1h+])

rc=Δthj(ahj2h++dh+)

Всі змінні " " визначаються, як на наведеній діаграмі. Нарешті, Δ t - крок часу ( NB це спрощений випадок з постійними коефіцієнтами a і d , на практиці з цієї причини коефіцієнти " r " дещо складніші).hΔtadr


1
Найновіша книга LeVeque про методи обмеженого обсягу обстоює привидні клітини через їх простоту реалізації, але я не пригадую обговорення термінів помилок.
Джефф Оксберрі

Чи можете ви скласти рівняння, які ви хочете розв’язати? Шлях буде також залежати від проблеми. Наприклад, цілком можливо, що через частину "Ноймана" граничні умови, як природно, вирішені в дискретному формулюванні.
Jan

@GeoffOxberry дякую за пропозицію. Я із задоволенням використовую привид клітини, я спробую і реалізую таким чином.
boyfarrell

@Jan Я спочатку уникав ставити рівняння через складність через нерівномірну дискретизацію сітки, але я просто оновив питання з цими деталями. Це проблема адвекційно-дифузійної проблеми. Я не надто впевнений, що ви маєте на увазі під "природно вирішеним".
boyfarrell

Як і Neumann Bc, природно вирішуються в схемах FEM для, наприклад, рівняння Пуассона. Для FVM я думаю про: Розглянемо першу комірку . Якщо у вас є значення u x0hdx(au+dux)dx=(au+dux)|x=h1(au+dux)|x=0=suxна межі, не потрібно її дискретизувати.
Jan

Відповіді:


9

Це скоріше загальне зауваження щодо FVM, ніж відповідь на конкретні питання. І повідомлення полягає в тому, що не повинно бути необхідності в такому однозначному розрізненні прикордонних умов.

На відміну від FE- або FD-методів, де вихідною точкою є дискретний ансат для рішення, підхід FVM залишає рішення не зачепленим (спочатку), але в середньому по сегментації домену. Дискретизація рішення грає лише тоді, коли отримана система рівнянь балансу перетворюється на систему алгебраїчних рівнянь шляхом наближення потоків через інтерфейси.

У цьому сенсі, з огляду на граничні умови, я раджу дотримуватися безперервної форми розчину якомога довше і вводити дискретні наближення лише в самому кінці.

Скажіть, рівняння

ут=-аух+гухх+с(х,у,т)
вміщує весь домен. Потім він тримається на субдомені[0,год1), а інтеграція в космос дає
0h1utdx=0h1x(au+dux)dx+0h1s(x,u,t)dx=(au+dux)|x=h1(au+dux)|x=0+0h1s(x,u,t)dx,
which is the contribution of the first cell to the equation system. Note that, apart from taking only averages, there has been no discretization of u.

But now, to turn this into an algebraic equation, one typically assumes that on cell Ci the function u is constant in space, i.e. u(t,x)|Ci=ui(t). Thus, having associated u(xi)ui, one can express ux|hi at the cell boarders via the difference quotient in ui and ui+1. To express u at the cell boarders one can use interpolation (i.e. central differences or upwind schemes).

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.

  • Given u|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.

  • Given ux|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 <===

  • FVM is not a scaled FDM, as examples of 1D Poisson's equations on a regular grid often suggest
  • There shouldn't be a grid in FVM, there should be cells with interfaces and, if necessary, centers
  • That's why I think that a stencil formulation of the discretization is not suitable
  • Assembling of the equation system should be done according to the discretization approach, i.e. by iterating over the cells rather than defining an equation for every unknown. I mean to think of the i-th row of the coefficient matrix as the part of the problem posed on cell Ωi, rather than of the equation that is associated with ui.
  • This is particularly important for 2D or 3D problems but may also help to have a clear notation in 1D: Make a difference between the volume (in 1D: length) of the cell, here hi, and the distance between the centers, maybe in 1D: di:=di,i+1=|xixi+1|.


Thanks for your guidance while I was learning about this method. Maybe I can share my thoughts too. I agree it is best to say with the FVM form for as long as possible; particularly for the boundary conditions as you have shown! But I think it is very helpful when implementing to write the equation in matrix form; it is a precise and clear notation. Also, the stability and other numerical properties crucially depend on how the problem is discretised (for FVM this means how the fluxes an the cell faces are approximated). In that respect I prefer a matrix equations, to iteration over cells.
boyfarrell

Maybe my last point was ambiguous. In the end, you will have a coefficient matrix and a variable vector. I will edit my post. I was more about interpreting than actually doing.
Jan

Fantastic, I understand your point. Thanks.
boyfarrell
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.