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

De Física Computacional
Ir para navegação Ir para pesquisar
Lucasdoria (discussão | contribs)
Lucasdoria (discussão | contribs)
Linha 88: Linha 88:
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 <math>x_j</math>:
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 <math>x_j</math>:


<math>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³),</math>
<math>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^2 u}{\partial x^2}(x_j,t^n)\Delta x^2 + \mathcal{O}(\Delta x^3),</math>


<math>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³).</math>
<math>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^2 u}{\partial x^2}(x_j,t^n)\Delta x^2 + \mathcal{O}(\Delta x^3).</math>


Subtraindo as duas expressões, encontramos a expressão
Subtraindo as duas expressões, encontramos a expressão


<math>\frac{\partial u}{\partial x} |_j^n = \frac{u^n_{j+1} - u^n_{j-1}}{2 \Delta x} + \mathcal{O}(\Delta x²)</math>,
<math>\frac{\partial u}{\partial x} |_j^n = \frac{u^n_{j+1} - u^n_{j-1}}{2 \Delta x} + \mathcal{O}(\Delta x^2)</math>,


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:
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:

Edição das 01h24min de 25 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:

∂U→∂t+∇⋅F→(U)=S→(U),

onde U→ é o vetor de densidades da quantidade conservada, i.e., U→=(U1,...,Un), F→ é o fluxo de densidade e S→ é 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 U→(x→,t) é proporcional à sua derivada espacial. Nesses casos, F→(U) é diagonal e dada por:

F→(U)=vI→⋅U→,

onde I→ é a matriz identidade.

Considerando apenas uma dimensão e com U→≡u, temos a equação de adveção:

∂u∂t+v∂u∂x=0,

onde v é a velocidade de propagação do pulso gerado. A equação admite uma solução analítica da forma u=f(x−vt), representando uma onda se movendo na direção x.

A equação da onda em uma dimensão é uma EDP hiperbólica de segunda ordem dada por

∂2u∂t2=v2∂2u∂x2.

E admite duas soluções, representadas por pulsos, f(x+vt) e f(x−vt).

Assumindo que v≠v(x) na equação da onda, nos restringimos a problemas lineares. Além disso, se escrevermos

k=v∂u∂x, s=∂u∂t,

então a equação da onda pode ser escrita como um sistema de três equações diferenciais de primeira ordem:

{∂k∂t=v∂s∂x∂s∂t=v∂k∂x∂u∂t=s

Em notação vetorial, o sistema acima pode ser reescrito na forma conservativa como: ∂U∂t+∂F(U)∂x=0,

onde U=(ks),eF(U)=(0−v−v0)

O Problema Físico

O Modelo de Corda Ideal

Para uma primeira abordagem da equação da onda, podemos primeiro dividir o comprimento L da corda em K intervalos de comprimentos iguais, dessa forma Δx=LK. Cada intervalo é discretizado, portanto, como xi, i=0,1,...,K. Também podemos dividir o tempo em intervalos iguais Δt e denotá-los como tn, n=0,1....

Tendo feita a discretização das variáveis, podemos aproximar a equação da onda por diferenciação finita:

u(i,n+1)−2u(i,n)+u(i,n−1)(Δt)2=v2u(i+1,n)−2u(i,n)+u(i−1,n)(Δx)2.

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 u(i,n+1) para sabermos o deslocamento de uma partição da corda no momento de tempo seguinte, assim obtendo

u(i,n+1)=2(1−r2)u(i,n)+r2[u(i+1,n)+u(i−1,n)]−u(i,n−1),

onde r=vΔtΔx.

Um Quadro Mais Realístico - O Modelo de Corda Rígida

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

∂2y∂t2=v2(∂2y∂x2−ϵL2∂4y∂x4),

onde v é a velocidade transversal de propagação do pulso na corda, dada pela relação v=Tρ (sendo T 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 L o comprimento da corda.

O parâmetro ϵ é dado por

,

onde κ é o raio da corda, E é o Módulo de Young e S a área da secção da corda.

Ao discretizarmos a equação da onda em uma corda com fricção e a resolvendo para uin+1 obtemos:

uin+1=[2−2r2−6ϵr2K2]uin−uin−1+r2[1+4ϵK2][ui+1n+ui−1n]−ϵr2K2[ui+2n+ui−2n].

O fato de essa discretização depender do deslocamento da corda em posições i−2 e i+2 implica em precisarmos simular "pontos fantasmas" quando integramos os extremos das cordas. Para fazermos isso, podemos ou utilizar a aproximação u−1n=−u+1n 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 xj:

u(xj+Δx,tn)=u(xj,tn)+∂u∂x(xj,tn)Δx+12∂2u∂x2(xj,tn)Δx2+𝒪(Δx3),

u(xj−Δx,tn)=u(xj,tn)−∂u∂x(xj,tn)Δx+12∂2u∂x2(xj,tn)Δx2+𝒪(Δx3).

Subtraindo as duas expressões, encontramos a expressão

∂u∂x|jn=uj+1n−uj−1n2Δx+𝒪(Δx2),

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:

Ujn+1=Ujn−Δt2Δx[Fj+1n−Fj−1n]+𝒪(Δt2,Δx2Δ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 Ujn com sua respectiva média espacial, i.e., ujn=(uj+1n+uj−1n)/2. Logo, temos a seguinte equação de recorrência:

Ujn+1=12(Uj+1n+Uj−1n)−Δt2Δx[Fj+1n−Fj−1n]+𝒪(Δx2)

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 U a partir de um passo médio de Lax-Friedrichs:

Uj+12n+12=12[Uj+1n+Ujn]−Δt2Δx[Fj+1n−Fjn]+𝒪(Δx2),

Uj−12n+12=12[Ujn+Uj−1n]−Δt2Δx[Fjn−Fj−1n]+𝒪(Δx2),

E encontramos os fluxos Fj±12n+12 a partir dos valores de Uj±12n+12.

Logo, com um meio passo de Leapfrog, temos a expressão final do método:

Ujn+1=Ujn−ΔtΔx[Fj+12n+12−Fj−12n+12]+𝒪(Δx2)