Grupo1 - Dif em 2D: mudanças entre as edições

De Física Computacional
Ir para navegação Ir para pesquisar
Sem resumo de edição
Sem resumo de edição
Linha 178: Linha 178:


=== Estabilidade ===
=== Estabilidade ===
[[Arquivo:erro2.png|thumb|400px| Erro relativo ao método de Relaxação em função da quantidade de iterações]]


A relaxação é um método Iterativo sobre os pontos vizinhos que pode ser feita de 2 modos, pelo Algoritmo de Jacobi, e pelo de Gauss-Seidel.  
A relaxação é um método Iterativo sobre os pontos vizinhos que pode ser feita de 2 modos, pelo Algoritmo de Jacobi, e pelo de Gauss-Seidel.  
Linha 190: Linha 192:




[[Arquivo:Exemplo.jpg]]
Caso façamos um retangulo <math> L_{x} \neq L_{y} </math> com <math> \Delta x \neq \Delta y </math>, obtemos o erro da imagem a seguir


[[Arquivo:erro.png|frameless|Erro obtido para diferentes comprimentos do retangulo|400px]]


=== Método da Super Relaxação ===


=== Método da Super Relaxação ===
[[Arquivo:errooverr.png|thumb|400px|Grafico mostra a quantidades de Iterações para convergência do exemplo 1 em função de omega]]


Podemos, assim como no caso não estacionário da condução do calor (Método de Crank Nicholson), que realiza uma média entre os valores explícito e Implícito da Equação, o método da Super relaxação é da seguinte forma:
Podemos, assim como no caso não estacionário da condução do calor (Método de Crank Nicholson), que realiza uma média entre os valores explícito e Implícito da Equação, o método da Super relaxação é da seguinte forma:

Edição das 02h16min de 24 de outubro de 2017

A equação de Poisson:

Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle \Delta u = \frac{\partial ^{2} u }{\partial x^2} + \frac{\partial ^{2} u }{\partial y^2} = g(x,y)}

é uma equação do tipo Elíptica que representa fenômenos físicos estácionarios relacionados a Eletrostatica, Dinâmica de Fluídos e Transferência de Calor, se Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle g(x,y) \equiv 0 } a equação passa a ser chamada de Equação de Laplace. Os problemas relacionados a equação de Laplace são estudados pela "Teoria do Potencial".

As soluções Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle u = u(x,y) } da Equação de Laplace são denominadas funções Harmônicas. Como já era de se esperar, os problemas mais habituais na vida de um físico, engenheiro ou matemático ao se depararem com uma EDP, são os problemas com Condições de Contorno, essencialmente será trabalhada a Condição de Dirichlet, que possui fronteiras conhecidas, tendo o seguinte formato:

Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle \begin{cases} \Delta u = 0 & \text{para } (x,y) \in \Omega, \\ u = f(x,y) & \text{para } (x,y) \in \partial \Omega. \end{cases} }

A equação de Poisson possui forma parecida para o Problema de Dirichlet, que fica:

Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle \begin{cases} \Delta u = g(x) & \text{para } (x,y) \in \Omega, \\ u = f(x,y) & \text{para } (x,y) \in \partial \Omega. \end{cases} }


Para tais problemas, estudaremos os métodos de Relaxação e Super-Relaxação para encontrar as soluções da Equação de Laplace no Quadrado de Lado Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle L } Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle ( \{ \Omega = (0,L)\times (0,L) \} ) } e faremos (se possível) a solução númerica via Formula de Poisson para a Bola Unitária centrada na origem Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle \{ \Omega = \mathcal{B}_{1}(0) \} } .

Quadrado de Lado Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle L }

Forma Analítica da Solução

Seja o problema em Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle \Omega = (0, L) \times (0, L)} , temos:

Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle \begin{cases} \Delta u(x,y) = 0 \text{ em } \Omega \\ u(x, y) = f(x) \text{ em } \partial \Omega \end{cases} }

sendo

Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle f(x) = \begin{cases} f(0,y) = f_{1}(y); \\ f(L,y) = f_{2}(y); \\ f(x,0) = f_{3}(x); \\ f(x,L) = f_{4}(x). \end{cases} }

Separamos o problema geral de Dirchlet em 4 problemas "menores" tal que obtemos os problemas desde:

Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle \begin{cases} \Delta u_{1}(x,y) = 0 \text{ em } \Omega; \\ u_{1}(0,y) = f_{1}(y) \text{ para } y \in (0, L); \\ u_{1}(L,y) = u_{1}(x,0) = u_{1}(x,L) =0, \end{cases} }

...

até:

Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle \begin{cases} \Delta u_{4}(x,y) = 0 \text{ em } \Omega; \\ u_{4}(x,L) = f_{4}(x) \text{ para } x \in (0, L); \\ u_{4}(0,y) = u_{4}(L,y) = u_{4}(x,0) =0. \end{cases} }


Podemos então utilizar o Método da Separação de Variáveis para resolver os 4 "probleminhas" e, como a Equação de Laplace é linear, sua soma será a solução completa do Problema de Dirichlet. O método consiste em supor Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle u(x, y) = \phi(x)\theta(y)} , para então, ao substituirmos na equação obtermos a seguinte expressão:

Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle \Delta u_{i} = \ddot{\phi_{i}}(x)\theta_{i}(y) + \phi_{i}(x) \ddot{\theta_{i}}(y) = 0 }

Podemos isolar as funções Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle \phi_{i}} e Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle \theta_{i}} , de fato ficamos com com duas relações que dependem de suas variações, portanto para elas serem sempre iguais, é necessário que sejam constantes (Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle = \lambda} ):

Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle \frac{\ddot{\phi_{i}}}{\phi_{i}} = -\frac{\ddot{\theta_{i}}}{\theta_{i}} = \lambda }

Assim obtemos 2 EDOs de segunda ordem, que podem ser resolvidas pelo Método dos Coeficientes a Determinar. Como não é objetivo aqui realizar cálculos analíticos (especialmente "na mão") apenas será resolvido o primeiro problema (Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle u_{1}(x, y)} ):

As condições de contorno mostram que Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle \phi(L)\theta(y) = 0 \Rightarrow \phi(L) = 0 } , Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle \phi(x)\theta(0) = 0 \Rightarrow \theta(0) = 0 } e Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle \phi(x)\theta(L) = 0 \Rightarrow \theta(L) = 0 } .

Dividindo o problema, temos a parte de


Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle \begin{cases} \ddot{\phi_{1}}(x) - \lambda \phi_{1} =0; \\ \phi_{1} (L) = 0; \\ \end{cases} }

Supondo uma solução da forma Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle \phi_{1}(x) = Ae^{sx}} :


Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle \ddot{\phi_{1}} - \lambda \phi_{1} = s^{2}Ae^{sx} - \lambda Ae^{sx} = 0 \Longrightarrow} Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle s = \pm \sqrt{\lambda} }

Ou seja, temos a solução de Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle \phi_{1}} sendo

Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle \phi_{1}(x) = A_{1}e^{\sqrt{\lambda} x} + A_{2}e^{- \sqrt{\lambda} x} }

Utilizando a C.C. vemos que Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle -A_{1}/A_{2} = tanh(\sqrt{\lambda}L)} .

Partindo para a segunda equação Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle \theta_{1}(y) } ,

Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle \begin{cases} \ddot{\theta_{1}}(x) + \lambda \theta_{1} =0; \\ \theta_{1} (0) = 0 \\ \theta_{1} (L) = 0; \end{cases} }


supondo solução do tipo Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle \theta_{1} (y) = Be^{i\omega y} } temos:

Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle \ddot{\theta_{1}} + \theta_{1} = -\omega^2 Be^{i\omega y} + \lambda Be^{i\omega y} = 0 \Longrightarrow } Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle \omega = \pm \sqrt{\lambda} }

Ou seja, temos solução Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle \theta_{1}(y) = B_{1}e^{i\sqrt{\lambda} y} + B_{2}e^{-i\sqrt{\lambda} y} }

Utilizando a primeira C.C. obtemos Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle 0 = B_{1} + B_{2}} ou seja, temos que

Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle \theta_{1}(y) = B sen(\sqrt{\lambda} y ). } Utilizando a segunda C.C. temos Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle 0 = sin(\sqrt{\lambda} y) \Rightarrow \lambda = \frac{n^2 \pi^2}{L^2} } , ou seja, existem infinitos Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle n} tal que Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle \theta_{1}} é solução.

Voltando a Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle \phi_{1}} , temos Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle \phi_{1}(x) = senh(\frac{n\pi (L-x)}{L}) } Finalmente unindo as respostas, temos

Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle u_{1}(x, y) = \phi_{1}(x) \theta_{1}(y) = \sum C_{1n} \frac{senh(\frac{n \pi(L- x)}{L})}{senh(n\pi)}sen(\frac{n \pi y}{L})}

sendo Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle C_{1n} = \frac{2}{L}\int_{0}^{L} f_{1}(y) sen(\frac{n \pi y}{L}) dy}

Para os outros problemas, temos soluções parecidas:

Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle u_{2}(x, y) = \phi_{2}(x) \theta_{2}(y) = \sum C_{2n} \frac{senh(\frac{n \pi x}{L})}{senh(n\pi)}sen(\frac{n \pi y}{L});} sendo Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle C_{2n} = \frac{2}{L}\int_{0}^{L} f_{2}(x) sen(\frac{n \pi y}{L}) dy,}

Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle u_{3}(x, y) = \phi_{3}(x) \theta_{3}(y) = \sum C_{3n} \frac{senh(\frac{n \pi(L- y)}{L})}{senh(n\pi)}sen(\frac{n \pi x}{L});} sendo

sendo

A solução completa do problema de Dirichlet no quadrado de Lado é a soma das quatro soluções parciais: .

Algoritmo de Relaxação

Discretizando a equação temos e para , e , nos deparamos com uma matriz quadrada sendo as bordas , , e .

Realizando-se a discretização, podemos tomar as derivadas:

e

Substituindo na Equação de Laplace, temos

ou seja:

,

ou mais geralmente (supondo ):

para

Como condição de parada, foi convencionado tomar o Erro Relativo entre as iterações e , para estimar o erro se faz:


Estabilidade

Erro relativo ao método de Relaxação em função da quantidade de iterações

A relaxação é um método Iterativo sobre os pontos vizinhos que pode ser feita de 2 modos, pelo Algoritmo de Jacobi, e pelo de Gauss-Seidel.

O algoritmo de Jacobi pega valores "antigos" para a iteração e possui convergencia muito lenta, por isso não é muito utilizado. Já o algoritmo de Gauss-Seidel pega os valores "novos" (que ja foram calculados) e os "antigos" (que não foram calculados), possui convergencia mais rapida, porém ainda é lenta.

Algoritmos iterativos tendem a convergir para solução unica, se a matriz que as representa for Diagonal Dominante, ou seja:

De fato, podemos ver que a equação de Laplace respeita tal desigualdade.


Caso façamos um retangulo com , obtemos o erro da imagem a seguir

Erro obtido para diferentes comprimentos do retangulo

Método da Super Relaxação

Grafico mostra a quantidades de Iterações para convergência do exemplo 1 em função de omega

Podemos, assim como no caso não estacionário da condução do calor (Método de Crank Nicholson), que realiza uma média entre os valores explícito e Implícito da Equação, o método da Super relaxação é da seguinte forma:

tal que é o valor calculado através do método da Relaxação e .