Zgodnie z moim poprzednim pytaniem próbuję zastosować warunki brzegowe do tej niejednorodnej siatki o skończonej objętości,
Chciałbym zastosować warunek brzegowy typu Robin do lhs domeny ( , tak aby:
gdzie jest wartością graniczną; a , d są współczynnikami zdefiniowanymi odpowiednio na granicy, doradztwie i dyfuzji; u x = ∂ u , jest pochodnąuocenianą na granicy, aujest zmienną, dla której rozwiązujemy.
Możliwe podejścia
Mogę wymyślić dwa sposoby wdrożenia tego warunku brzegowego na powyższej siatce o skończonej objętości:
Podejście do komórki duchów.
Napisz jako skończonej różnicy w tym komórki duchów. σ L = d u 1 - u 0
A. Następnie użyj interpolacji liniowej z punktami i x 1, aby znaleźć wartość pośrednią, u ( x L ) .
B. Alternatywnie znajdź uśredniając komórki, u ( x L ) = 1
W obu przypadkach zależność od komórki-widma można wyeliminować w zwykły sposób (przez podstawienie do równania skończonej objętości).
Podejście ekstrapolacyjne.
Dopasuj funkcję liniową (lub kwadratową) do , używając wartości w punktach x 1 , x 2 ( x 3 ). Zapewni to wartość u ( x L ) . Funkcję liniową (lub kwadratową) można następnie różnicować, aby znaleźć wyrażenie na wartości pochodnej, u x ( x L ) , na granicy. To podejście nie korzysta z komórki-widma.
pytania
- Które podejście z tych trzech (1A, 1B lub 2) jest „standardowe” lub poleciłbyś?
- Które podejście wprowadza najmniejszy błąd lub jest najbardziej stabilne?
- Wydaje mi się, że mogę samodzielnie wdrożyć podejście do komórki-widma, jednak w jaki sposób można zastosować podejście do ekstrapolacji, czy to podejście ma nazwę?
- Czy jest jakaś różnica stabilności między dopasowaniem funkcji liniowej lub równaniem kwadratowym?
Równanie specyficzne
Chciałbym zastosować tę granicę do równania rada-dyfuzja (w formie konserwatorskiej) z nieliniowym terminem źródłowym,
Discretising tego równania na wyżej siatki pomocą -method daje,
Jednak dla punktu granicznego ( ) wolę zastosować w pełni niejawny schemat ( θ = 1 ), aby zmniejszyć złożoność,
Zwróć uwagę na punkt-widmo , zostanie on usunięty poprzez zastosowanie warunku brzegowego.
Współczynniki mają definicje,
źródło
Odpowiedzi:
This is rather a general remark on FVM than an answer to the concrete questions. And the message is that there shouldn't be the need for such an adhoc discretization of the boundary conditions.
Unlike in FE- or FD-methods, where the starting point is a discrete ansatz for the solution, the FVM approach leaves the solution untouched (at first) but averages on a segmentation of the domain. The discretization of the solution comes into play only when the obtained system of balance equations is turned into an algebraic equation system by approximating the fluxes across the interfaces.
In this sense, in view of the boundary conditions, I advise to stick to the continuous form of the solution as long as possible and to introduce the discrete approximations only at the very end.
Say, the equation
But now, to turn this into an algebraic equation, one typically assumes that on cellCi 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.
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 <===
źródło