Grupo3 - Ondas2: mudanças entre as edições
Linha 99: | Linha 99: | ||
<math>\textbf{U}^{n+1}_j = \textbf{U}^n_j - \frac{\Delta t}{2 \Delta x} [\textbf{F}^n_{j+1} - \textbf{F}^n_{j-1}] + \mathcal{O}(\Delta t², \Delta x² \Delta t)</math> | <math>\textbf{U}^{n+1}_j = \textbf{U}^n_j - \frac{\Delta t}{2 \Delta x} [\textbf{F}^n_{j+1} - \textbf{F}^n_{j-1}] + \mathcal{O}(\Delta t², \Delta x² \Delta t)</math> | ||
Visto que essa última notação é mais genérica, ela será utilizada para a explicação dos métodos posteriores. | |||
=== O Método de Lax-Friedrichs === | |||
O método de Lax-Friedrichs consiste em substituir o termo <math>\textbf{U}^n_j</math> com sua respectiva média espacial, i.e., <math>u^n_j = (u^n_{j+1} + u^n_{j-1})/2</math>. Logo, temos a seguinte equação de recorrência: | |||
\textbf{U}^{n+1}_j = \frac{1}{2}(U^n_{j+1} + \textbf{U}^n_{j-1}) - \frac{\Delta t}{2 \Delta x} [\textbf{F}^n_{j+1} - \textbf{F}^n_{j-1}] + \mathcal{O}(\Delta x²) | |||
=== O Método de Leapfrog === | |||
=== O Método de Lax-Wendroff === | |||
O método de Lax-Wendroff é a extensão do método de Lax-Friedrichs de segunda ordem. Calculamos o vetor <math>U</math> a partir de um passo médio de Lax-Friedrichs: | |||
<math>\textbf{U}^{n+\frac{1}{2}}_{j + \frac{1}{2}} = \frac{1}{2} [\textbf{U}^n_{j+1} + \textbf{U}^n_j] - \frac{\Delta t}{2 \Delta x} [\textbf{F}^n_{j+1} - \textbf{F}^n_j] + \mathcal{O}(\Delta x²)</math>, | |||
<math>\textbf{U}^{n+\frac{1}{2}}_{j - \frac{1}{2}} = \frac{1}{2} [\textbf{U}^n_{j} + \textbf{U}^n_{j-1}] - \frac{\Delta t}{2 \Delta x} [\textbf{F}^n_{j} - \textbf{F}^n_{j-1}] + \mathcal{O}(\Delta x²)</math>, | |||
E encontramos os fluxos <math>\textbf{F}^{n+\frac{1}{2}}_{j \pm \frac{1}{2}}</math> a partir dos valores de <math>\textbf{U}^{n+\frac{1}{2}}_{j \pm \frac{1}{2}}.</math> | |||
Logo, com um meio passo de Leapfrog, temos a expressão final do método: | |||
<math>\textbf{U}^{n+1}_j = \textbf{U}^n_j - \frac{\Delta t}{\Delta x} [\textbf{F}^{n + \frac{1}{2}}_{j + \frac{1}{2}} - \textbf{F}^{n + \frac{1}{2}}_{j - \frac{1}{2}}] + \mathcal{O}(\Delta x²)</math> |
Edição das 22h11min de 24 de outubro de 2017
Introdução
Equações diferenciais parciais (EDP's) hiperbólicas geralmente podem ser formuladas a partir de teoremas de conservação. Um exemplo é a equação do tipo:
,
onde é o vetor de densidades da quantidade conservada, i.e., , é o fluxo de densidade e é um termo genérico representando fontes ou sumidouros.
Uma classe especial de equações hiperbólicas são as chamadas equações de adveção, na qual a derivada temporal da quantidade conservada é proporcional à sua derivada espacial. Nesses casos, é diagonal e dada por:
,
onde é a matriz identidade.
Considerando apenas uma dimensão e com , temos a equação de adveção:
,
onde é a velocidade de propagação do pulso gerado. A equação admite uma solução analítica da forma , representando uma onda se movendo na direção .
A equação da onda em uma dimensão é uma EDP hiperbólica de segunda ordem dada por
Falhou ao verificar gramática (erro de sintaxe): {\displaystyle \frac{\partial² u}{\partial t²} = v² \frac{\partial² u}{\partial x²}. }
E admite duas soluções, representadas por pulsos, e .
Assumindo que na equação da onda, nos restringimos a problemas lineares. Além disso, se escrevermos
,
então a equação da onda pode ser escrita como um sistema de três equações diferenciais de primeira ordem:
Em notação vetorial, o sistema acima pode ser reescrito na forma conservativa como: ,
onde
O Problema Fìsico
A Corda Ideal
Para uma primeira abordagem da equação da onda, podemos primeiro dividir o comprimento da corda em intervalos de comprimentos iguais, dessa forma . Cada intervalo é discretizado, portanto, como , . Também podemos dividir o tempo em intervalos iguais e denotá-los como , .
Tendo feita a discretização das variáveis, podemos aproximar a equação da onda por diferenciação finita:
.
Sabendo que essa discretização da equação da onda pode ser verificada como sendo o método Leapfrog (ver seção do método de Leapfrog), podemos resolver a equação para para sabermos o deslocamento de uma partição da corda no momento de tempo seguinte, assim obtendo
,
onde
Um Quadro Mais Realístico
Para nos aproximarmos de um modelo mais real, podemos adicionar um termo à equação original da onda que corresponde ao efeito de fricção em uma corda. De acordo com [1], a equação da onda mais geral com efeito de fricção pode ser escrita como
Falhou ao verificar gramática (erro de sintaxe): {\displaystyle \frac{\partial² y}{\partial t²} = v² \left( \frac{\partial² y}{\partial x²} - \epsilon L² \frac{\partial^4 y}{\partial x^4} \right),}
onde é a velocidade transversal de propagação do pulso na corda, dada pela relação (sendo a tensão na corda e a densidade linear da mesma), é um parâmetro adimensional de fricção que representa a rigidez da corda e o comprimento da corda.
O parâmetro é dado por
Falhou ao verificar gramática (erro de sintaxe): {\displaystyle \epsilon = \kappa² \frac{E S}{T L²}} ,
onde é o raio da corda, é o Módulo de Young e a área da secção da corda.
Ao discretizarmos a equação da onda em uma corda com fricção e a resolvendo para obtemos:
O fato de essa discretização depender do deslocamento da corda em posições e implica em precisarmos simular "pontos fantasmas" quando integramos os extremos das cordas. Para fazermos isso, podemos ou utilizar a aproximação ou podemos considerar esses "pontos fantasmas" como pontos presos e, portanto, sempre iguais a zero.
Os Métodos Utilizados
Foi realizada uma abordagem ao problema da corda real a partir de três métodos diferentes de integração numérica. Os três são métodos para fins de resolução de equações diferenciais parciais da forma apresentada anteriormente.
O método mais básico é chamado de FTCS (Forward-Time-Centered-Space) e consiste em duas expansões de Taylor ao redor do ponto :
Falhou ao verificar gramática (erro de sintaxe): {\displaystyle u(x_j + \Delta x,t^n) = u(x_j,t^n) + \frac{\partial u}{\partial x}(x_j,t^n)\Delta x + \frac{1}{2} \frac{\partial² u}{\partial x²}(x_j,t^n)\Delta x² + \mathcal{O}(\Delta x³),}
Falhou ao verificar gramática (erro de sintaxe): {\displaystyle u(x_j - \Delta x,t^n) = u(x_j,t^n) - \frac{\partial u}{\partial x}(x_j,t^n)\Delta x + \frac{1}{2} \frac{\partial² u}{\partial x²}(x_j,t^n)\Delta x² + \mathcal{O}(\Delta x³).}
Subtraindo as duas expressões, encontramos a 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 \frac{\partial u}{\partial x} |_j^n = \frac{u^n_{j+1} - u^n_{j-1}}{2 \Delta x} + \mathcal{O}(\Delta x²)} ,
A qual podemos substituir na equação da onda, juntamente com a discretização da derivada parcial temporal. Temos então que, para um sistema linear de equações hiperbólicas:
Falhou ao verificar gramática (erro de sintaxe): {\displaystyle \textbf{U}^{n+1}_j = \textbf{U}^n_j - \frac{\Delta t}{2 \Delta x} [\textbf{F}^n_{j+1} - \textbf{F}^n_{j-1}] + \mathcal{O}(\Delta t², \Delta x² \Delta t)}
Visto que essa última notação é mais genérica, ela será utilizada para a explicação dos métodos posteriores.
O Método de Lax-Friedrichs
O método de Lax-Friedrichs consiste em substituir o termo com sua respectiva média espacial, i.e., . Logo, temos a seguinte equação de recorrência:
\textbf{U}^{n+1}_j = \frac{1}{2}(U^n_{j+1} + \textbf{U}^n_{j-1}) - \frac{\Delta t}{2 \Delta x} [\textbf{F}^n_{j+1} - \textbf{F}^n_{j-1}] + \mathcal{O}(\Delta x²)
O Método de Leapfrog
O Método de Lax-Wendroff
O método de Lax-Wendroff é a extensão do método de Lax-Friedrichs de segunda ordem. Calculamos o vetor a partir de um passo médio de Lax-Friedrichs:
Falhou ao verificar gramática (erro de sintaxe): {\displaystyle \textbf{U}^{n+\frac{1}{2}}_{j + \frac{1}{2}} = \frac{1}{2} [\textbf{U}^n_{j+1} + \textbf{U}^n_j] - \frac{\Delta t}{2 \Delta x} [\textbf{F}^n_{j+1} - \textbf{F}^n_j] + \mathcal{O}(\Delta x²)} ,
Falhou ao verificar gramática (erro de sintaxe): {\displaystyle \textbf{U}^{n+\frac{1}{2}}_{j - \frac{1}{2}} = \frac{1}{2} [\textbf{U}^n_{j} + \textbf{U}^n_{j-1}] - \frac{\Delta t}{2 \Delta x} [\textbf{F}^n_{j} - \textbf{F}^n_{j-1}] + \mathcal{O}(\Delta x²)} ,
E encontramos os fluxos a partir dos valores de
Logo, com um meio passo de Leapfrog, temos a expressão final do método:
Falhou ao verificar gramática (erro de sintaxe): {\displaystyle \textbf{U}^{n+1}_j = \textbf{U}^n_j - \frac{\Delta t}{\Delta x} [\textbf{F}^{n + \frac{1}{2}}_{j + \frac{1}{2}} - \textbf{F}^{n + \frac{1}{2}}_{j - \frac{1}{2}}] + \mathcal{O}(\Delta x²)}