você pode me dar um link para uma explicação boa e simples do esquema de diferenças finitas de Shortley-Weller? Tentei pesquisar no Google, mas tudo o que recebo são publicações acadêmicas (inacessíveis). Também tentei ler o capítulo dedicado (4.8) do livro de Wolfgang Hackbusch "Equações diferenciais elípticas", mas achei bastante difícil. Obrigado
Para Christian Clason: obrigado pela resposta, mas ainda há uma coisa que ainda não entendo: o que devo fazer para aplicar esse método a limites arbitrários, por exemplo, um aerofólio assimétrico em um fluxo?
finite-difference
Michael
fonte
fonte
Respostas:
Até onde eu sei, esse esquema consiste apenas em substituir o estêncil de diferença finita uniforme próximo ao limite por um estêncil não uniforme (com pelo menos um ponto deslocado para ficar no limite). Basicamente, você pega seu domínio de formato arbitrário, coloca-o em uma caixa, discreta a caixa com uma grade uniforme, joga fora todos os pontos de grade que não têm pelo menos um vizinho dentro do domínio e muda os pontos de grade restantes para fora do domínio horizontal ou verticalmente (o que for mais curto), para que fiquem no limite. (A implementação real é muito mais entediante, é claro.)
Para obter o estêncil não uniforme em um dos nós próximo a um nó de limite, proceda-se de maneira semelhante a (uma) derivações do estêncil uniforme: Interpole a função (desconhecida) por um polinômio quadrático nos nós e faça o segundo derivado. Basta considerar o caso unidimensional com os nós . Entãox1=x−h1,x2=x,x3=x−h2
onde são os polinômios de Lagrange correspondentes aos nós. A computação dos derivativos produzℓj=Πi≠j(x−xi)/(xj−xi)
como reivindicado. (Você também pode usar a forma Newton do polinômio interpolador, que simplifica o cálculo das derivadas, especialmente para ordens mais altas.) Fazer o mesmo em e somar os estênceis dão a equação (4.8.7).y
Você pode encontrar exemplos mais detalhados em Randy Leveque Métodos de diferenças finitas para Ordinária e Equações Diferenciais Parciais (por exemplo, página 9) , ou em este post (que também contém código NumPy para calcular os coeficientes de dados arbitrária e ). Isso também é tratado em detalhes em Morton e Mayers, solução numérica de equações diferenciais parciais , seção 3.4.h1 h2
Como você trata os nós de limite depende de suas condições de limite. Para condições Dirichlet, proceda como faria para uma malha uniforme. Para condições de Neumann, você usa a abordagem acima (interpolação não uniforme - agora simultaneamente em e - e diferenciação) para aproximar a derivada normal no nó de fronteira para obter um estêncil local; ver Morton e Mayers, página 75 ss.x y
fonte