Para quantificar a precisão da solução numérica, define-se o erro como a diferença entre a solução numérica \(u_h\) e a solução de referência \(u\) (analítica, experimental ou altamente refinada).
Erro absoluto
\[\begin{equation} e = u - u_h \end{equation}\]
Erro relativo
\[\begin{equation} e_{rel} = \frac{\|u - u_h\|}{\|u\|} \end{equation}\]
Normas em malhas estruturadas
Para malhas estruturadas (diferenças finitas, por exemplo), as normas discretas mais comuns são:
Norma \(L^2\) discreta: \[\begin{equation} \|e\|_{L^2} = \left( \sum_{i=1}^{N} |e_i|^2 \right)^{1/2} \end{equation}\]
Norma do máximo (\(L^\infty\)): \[\begin{equation} \|e\|_{L^\infty} = \max_{1 \le i \le N} |e_i| \end{equation}\]
Normas em malhas não estruturadas (MEF)
Para métodos de elementos finitos, as normas são definidas de forma contínua sobre o domínio \(\Omega\):
Norma \(L^2\): \[\begin{equation} \|e\|_{L^2(\Omega)} = \left( \int_{\Omega} |u - u_h|^2 \, d\Omega \right)^{1/2} \end{equation}\]
Norma \(H^1\): \[\begin{equation} \|e\|_{H^1(\Omega)} = \left( \int_{\Omega} |u - u_h|^2 + |\nabla(u - u_h)|^2 \, d\Omega \right)^{1/2} \end{equation}\]
Para o Método de Elementos Finitos, as normas podem ser escritas em forma matricial, utilizando as matrizes do sistema discreto.
Seja \(\mathbf{e} = \mathbf{u} - \mathbf{u}_h\) o vetor erro nodal.
Norma \(L^2\): \[\begin{equation} \|e\|_{L^2(\Omega)} = \left( \mathbf{e}^T \mathbf{M} \mathbf{e} \right)^{1/2} \end{equation}\]
Norma \(H^1\): \[\begin{equation} \|e\|_{H^1(\Omega)} = \left( \mathbf{e}^T \mathbf{M} \mathbf{e} + \mathbf{e}^T \mathbf{K} \mathbf{e} \right)^{1/2} \end{equation}\]
onde \(\mathbf{M}\) é a matriz de massa, definida por
\[\begin{equation} M_{ij} = \int_{\Omega} \phi_i \, \phi_j \, d\Omega, \end{equation}\] e \(\mathbf{K}\) é a matriz de rigidez (ou Laplaciano discreto), dada por \[\begin{equation} K_{ij} = \int_{\Omega} \nabla \phi_i \cdot \nabla \phi_j \, d\Omega, \end{equation}\]
sendo \(\phi_i\) as funções de forma do espaço aproximante.
A escolha da norma utilizada para medir o erro está diretamente relacionada ao tipo de informação que se deseja avaliar na solução numérica.
A norma \(L^2\) mede o erro na solução em si, isto é, a diferença entre os valores aproximados e exatos da variável de interesse ao longo do domínio. Trata-se de uma medida global da magnitude do erro, sendo adequada quando o interesse principal está na precisão da variável primária (por exemplo, velocidade, temperatura, pressão).
Por outro lado, a norma \(H^1\) incorpora não apenas o erro na solução, mas também o erro em seu gradiente. Isso a torna mais rigorosa, pois avalia simultaneamente a qualidade da aproximação da variável e de suas derivadas espaciais. Essa norma é particularmente relevante em problemas onde os gradientes possuem significado físico importante, como em fluxos difusivos, tensões ou escoamentos viscosos.
Em termos práticos, é possível obter valores pequenos para o erro em norma \(L^2\) mesmo quando a solução apresenta gradientes mal resolvidos. A norma \(H^1\), por sua vez, penaliza esse comportamento, sendo mais adequada para verificar a qualidade global da aproximação em problemas governados por equações diferenciais parciais elípticas e parabólicas.
Assim, a análise conjunta das normas \(L^2\) e \(H^1\) fornece uma avaliação mais completa da precisão e da qualidade da solução numérica.
Análise de convergência
Para verificar a ordem de convergência do método, utiliza-se frequentemente gráficos do tipo:
\[\begin{equation} \log(N) \quad \text{vs} \quad \log(\|e\|) \end{equation}\]
ou, equivalentemente,
\[\begin{equation} \log(h) \quad \text{vs} \quad \log(\|e\|) \end{equation}\]
onde \(h\) representa o tamanho característico da malha. A inclinação da reta obtida indica a ordem de convergência do método numérico.
Relação entre \(N\) e \(h\) e interpretação das taxas de convergência
Em problemas numéricos, a análise de erro pode ser realizada tanto em função do tamanho característico do elemento da malha (\(h\)) quanto do número total de elementos (\(N\)). Essas duas quantidades estão diretamente relacionadas.
Para malhas aproximadamente uniformes em um domínio de dimensão espacial \(d\), tem-se, de forma assintótica:
\[\begin{equation} N \sim h^{-d} \end{equation}\]
ou, equivalentemente,
\[\begin{equation} h \sim N^{-1/d}. \end{equation}\]
Assim, uma lei de convergência expressa em termos de \(h\):
\[\begin{equation} \|e\| \sim h^p \end{equation}\]
pode ser reescrita em função de \(N\) como:
\[\begin{equation} \|e\| \sim N^{-p/d}. \end{equation}\]
Portanto, as inclinações observadas em gráficos log-log do tipo \(\|e\|\) versus \(N\) refletem a ordem de convergência do método, levando em conta a dimensão do problema.
Exemplos típicos:
\(\|e\| \sim N^{-1}\):
corresponde a \(p = d\);
em 2D: \(\|e\| \sim h^2\);
em 3D: \(\|e\| \sim h^3\).
\(\|e\| \sim N^{-1/2}\):
corresponde a \(p = d/2\);
em 2D: \(\|e\| \sim h\);
em 3D: \(\|e\| \sim h^{3/2}\).
\(\|e\| \sim N^{-3/2}\):
corresponde a \(p = 3d/2\);
em 2D: \(\|e\| \sim h^3\);
em 3D: \(\|e\| \sim h^{9/2}\).
Dessa forma, a inclinação das retas em gráficos log-log de erro em função de \(N\) permite inferir a ordem de convergência do método em termos de \(h\), desde que a dimensão do problema seja conhecida.
Observação: a análise de convergência pode ser realizada tanto em função do tamanho de elemento \(h\) quanto do número de elementos \(N\), sendo essas duas abordagens equivalentes do ponto de vista assintótico. No entanto, ao utilizar \(N\) como variável independente, é necessário levar em conta a relação \(N \sim h^{-d}\), de modo que as taxas de convergência devem ser interpretadas na forma \(\|e\| \sim N^{-p/d}\), conforme descrito anteriormente. Em malhas não estruturadas ou não uniformes, essa relação permanece aproximada, mas ainda fornece uma estimativa consistente da ordem de convergência.
As Figs. 1 e 2 apresentam, respectivamente, a evolução do erro numérico em função do número de elementos \(N\) e do tamanho característico da malha \(h\), ambas em escala log-log. Essas duas representações são equivalentes do ponto de vista assintótico, mas fornecem interpretações complementares da qualidade da aproximação numérica.
Na Fig. 1, observa-se que o erro decresce com o aumento do número de elementos, evidenciando o efeito do refinamento global da malha. As inclinações das curvas indicam que a norma \(L^2\) apresenta comportamento compatível com \(\mathcal{O}(N^{-1})\), enquanto a norma \(H^1\) segue aproximadamente \(\mathcal{O}(N^{-1/2})\). Esse resultado está em concordância com a relação teórica \(N \sim h^{-d}\), considerando um problema bidimensional (\(d=2\)), na qual uma ordem \(\mathcal{O}(h^2)\) em \(L^2\) se traduz em \(\mathcal{O}(N^{-1})\), e uma ordem \(\mathcal{O}(h)\) em \(H^1\) corresponde a \(\mathcal{O}(N^{-1/2})\).
Já na Fig. 2, a análise é realizada diretamente em função do tamanho de elemento, permitindo uma interpretação mais imediata da ordem de convergência do método numérico. Nesse caso, observa-se que o erro na norma \(L^2\) apresenta comportamento aproximadamente quadrático, isto é, \(\mathcal{O}(h^2)\), enquanto o erro na norma \(H^1\) apresenta comportamento linear, \(\mathcal{O}(h)\). Esses resultados são característicos de aproximações por elementos finitos lineares, nas quais a variável primária é aproximada com ordem superior à de seu gradiente.
De forma geral, a Fig. 2 fornece uma interpretação mais direta das propriedades de aproximação do método, enquanto a Fig. 1 é útil para avaliar o custo computacional em termos do número de graus de liberdade. A consistência entre ambas as representações confirma a correta implementação do método numérico e a obtenção da ordem de convergência esperada.
Estratégia de refinamento da malha
Para que a análise de convergência seja consistente e confiável, é fundamental que o refinamento da malha seja realizado de forma sistemática e controlada, partindo de uma malha inicial pouco refinada até níveis progressivamente mais refinados.
Duas abordagens principais podem ser utilizadas:
Refinamento em termos de \(h\): consiste na redução do tamanho característico dos elementos por meio da subdivisão das arestas (ou faces). Nesse caso, cada elemento é dividido em subelementos menores, mantendo-se a estrutura local da malha. Esse procedimento é típico de refinamentos do tipo \(h\)-refinement.
Refinamento em termos de \(N\): consiste no aumento do número total de elementos do domínio, geralmente por subdivisão sistemática dos elementos existentes. Embora relacionado ao refinamento em \(h\), essa abordagem é expressa diretamente em função do número total de graus de liberdade.
Idealmente, o refinamento deve ser realizado de forma sequencial, garantindo que cada nova malha seja obtida a partir da anterior por subdivisão controlada, evitando alterações abruptas na qualidade ou distribuição dos elementos.
Esse procedimento é essencial para:
garantir que a relação assintótica entre erro e refinamento seja válida;
evitar interpretações incorretas da ordem de convergência;
assegurar comparabilidade entre diferentes níveis de discretização.
Em particular, refinamentos não sistemáticos (por exemplo, malhas geradas independentemente sem controle de \(h\) ou \(N\)) podem introduzir inconsistências, dificultando a identificação clara da ordem de convergência do método numérico.