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,