Gostaria de saber como as condições de Dirichlet são normalmente aplicadas ao usar o método de volume finito em uma grade não uniforme centralizada em célula,
Minha implementação atual simplesmente impõe a condição de contorno ao fixar o valor da primeira célula,
onde é a variável da solução e é o valor da condição de limite do Dirichlet no lhs do domínio ( NB ). No entanto, isso está incorreto porque a condição de limite deve fixar o valor da face da célula e não o valor da própria célula . O que eu realmente deveria aplicar é,g D ( x G ) x G ≡ x 1 / 2
Por exemplo, vamos resolver a equação de Poisson,
com condição inicial e condições de contorno,
(em que é uma condição de limite de Neumann no lado direito).
Observe como a solução numérica fixou o valor da variável de célula ao valor da condição de limite ( ) no lado esquerdo. Isso tem o efeito de mudar toda a solução para cima. O efeito pode ser minimizado usando um grande número de pontos de malha, mas essa não é uma boa solução para o problema.
Questão
De que maneira as condições de contorno de Dirichlet são aplicadas ao usar o método de volume finito? Suponho que preciso corrigir o valor de interpolando ou extrapolando usando (um ponto fantasma) ou que a linha reta que passa por esses pontos tenha o valor desejado em . Você pode fornecer alguma orientação ou um exemplo de como fazer isso para uma malha centrada em célula não uniforme?ϕ 0 ϕ 2 x L
Atualizar
Aqui está minha tentativa de usar uma abordagem de célula fantasma que você sugeriu, parece razoável?
A equação da célula é (onde representa o fluxo de ),F φ
Precisamos escrever em termos da condição de contorno usando uma célula fantasma , Ω 0
Mas, finalmente, precisamos eliminar o termo da equação. Para fazer isso, escrevemos uma segunda equação que é a interpolação linear do centro da célula para o centro da célula . Convenientemente, essa linha passa por ; portanto, é assim que as condições de Dirichlet entram na discretização (porque o valor neste momento é apenas ),Ω 0 Ω 1 x L
Combinando as equações 1 e 2, podemos eliminar e encontrar uma expressão para em termos de e ,
Supondo que somos livres para escolher o volume da célula fantasma, podemos definir para fornecer,
Isso pode ser simplificado ainda mais porque se as células e tiverem o mesmo volume, poderemos definir finalmente dando,
No entanto, essa abordagem recuperou a definição instável, então não tenho muita certeza de como proceder? Interpretei seu conselho incorretamente (@ Jan)? O estranho é que parece funcionar, veja abaixo,
Veja abaixo, funciona,
fonte
Respostas:
Na análise de estabilidade das discretizações FVM para problemas elípticos com o Dirichlet BC, uma suposição central é que as células internas , onde você declara o PDE, não têm interseção com o limite, ou seja, se visto como um conjunto em se seu domínio , cf. por exemplo, o livro de [ Grossmann & Roos , p. 92]
Portanto, se em sua configuração, a abordagem é instável, isso
nãocontradiz os resultados de estabilidade conhecidos. EDIT : Usando uma célula fantasma e interpolação linear nela, para uma escolha específica de volume e distância, obtém-se como o fluxo. Assim, é realmente um esquema estável.( ∗ ∗ ) ( ∗ ∗ )A estabilidade e a convergência (de primeira ordem na norma máxima discreta) para o problema de poisson foram comprovadas por Grossmann & Roos para grades, com células limite distintas com seus "centros" no limite real, conforme ilustrado no meu desenho para um caso 1D.
Aqui, o quociente diferencial na interface é aproximado de maneira direta.
Eu diria que as células fantasmas são a abordagem comum, por duas razões.
Então, sugiro que você use células fantasmas para o limite de Dirichlet. No seu exemplo, isso adicionará ao seu sistema e a condição de que um interpolante entre , e talvez outros sejam iguais a no limite.ϕ 0 ϕ 1 g Dϕ0 ϕ0 ϕ1 gD
fonte
O que você encontra aqui é por que os volumes finitos não são frequentemente usados para as equações elípticas para as quais se colocam condições de Dirichlet. Eles são usados para leis de conservação em que as condições mais naturais são declaradas em termos de fluxos.
fonte
Obviamente, uma coisa que também precisa ser verificada é a estabilidade de sua discretização com a aproximação de segunda ordem no limite. De cabeça para baixo, não sei se será estável combinado com uma aproximação centralizada de segunda ordem no interior. Uma análise de estabilidade da matriz lhe dirá com certeza. (Estou praticamente certo de que a aproximação de primeira ordem no limite será estável.)
Você menciona a possibilidade de usar pontos fantasmas. Isso leva ao problema que você precisa extrapolar do interior para o ponto fantasma e usar o bc no processo. Suspeito, mas não o "provei", que pelo menos alguns tratamentos com pontos fantasmas sejam equivalentes a usar o tipo de abordagem que descrevi acima.
Espero que isso ajude um pouco.
fonte