Grupo3 - Ondas2: mudanças entre as edições

De Física Computacional
Ir para navegação Ir para pesquisar
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²)}