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
D2hu(x)≈u(x−h1)ℓ′′1(x)+u(x)ℓ′′2(x)+u(x+h2)ℓ′′3(x),
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)
D2hu(x)=2h1(h1+h2)u(x−h1)−2h1h2u(x)+2h2(h1+h2)u(x+h2)
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.h1h2
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.xy