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

De Física Computacional
Ir para navegação Ir para pesquisar
Asorander (discussão | contribs)
Asorander (discussão | contribs)
Linha 219: Linha 219:
<math>r = v\frac{\Delta t}{\Delta x}.</math>
<math>r = v\frac{\Delta t}{\Delta x}.</math>
Para a corda com dados pré-estabelecidos, utilizamos uma corda com 2 metros de comprimento, com velocidade de propagação da onda sendo 300<math>m/s</math>, <math>\Delta x</math> de 0.01<math>m</math>, <math>\Delta t = \frac{\Delta x }{4v}</math> e parâmetro de fricção de <math>7.5\times10^{-6}</math>.
Para a corda com dados pré-estabelecidos, utilizamos uma corda com 2 metros de comprimento, com velocidade de propagação da onda sendo 300<math>m/s</math>, <math>\Delta x</math> de 0.01<math>m</math>, <math>\Delta t = \frac{\Delta x }{4v}</math> e parâmetro de fricção de <math>7.5\times10^{-6}</math>.
Supondo a corda inicialmente em repouso, temos que em <math>t = 0<\math> a corda recebe em seu centro o equivalente à batida do martelo do piano. Supomos que esse estímulo possuía o formato aproximado de uma Gaussiana com amplitude de <math>\frac{1}{4}</math> do comprimento da corda. Então, com o estado inicial sendo um pulso com o formato de um pacote gaussianico e os dados da tabela, simulamos a propagação de ondas em cada uma das cordas.
Supondo a corda inicialmente em repouso, temos que em <math>t = 0</math> a corda recebe em seu centro o equivalente à batida do martelo do piano. Supomos que esse estímulo possuía o formato aproximado de uma Gaussiana com amplitude de <math>\frac{1}{4}</math> do comprimento da corda. Então, com o estado inicial sendo um pulso com o formato de um pacote gaussianico e os dados da tabela, simulamos a propagação de ondas em cada uma das cordas.


Utilizando o método de Leapfrog, foi realizada uma primeira simulação para uma onda ideal em uma corda:
Utilizando o método de Leapfrog, foi realizada uma primeira simulação para uma onda ideal em uma corda:

Edição das 02h10min 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:

Ut+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)=vIU,

onde I é a matriz identidade.

Considerando apenas uma dimensão e com Uu, temos a equação de adveção:

ut+vux=0,

onde v é a velocidade de propagação do pulso gerado. A equação admite uma solução analítica da forma u=f(xvt), 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

2ut2=v22ux2.

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

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

k=vux, s=ut,

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

{kt=vsxst=vkxut=s

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

onde U=(ks),eF(U)=(0vv0)

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, representado por 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, utilizando derivadas centradas da seguinte forma:

2ut2=Uin+12Uin+Uin1Δt2

2ux2=Ui+1n2Uin+Ui1nΔx2

onde Uin representa o valor discretizado de u(xi,tn).

Assim, chegamos em uma equação discretizada:

Uin+12Uin+Uin1(Δt)2=v2Ui+1n2Uin+Ui1n(Δ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 Uin+1 para sabermos o deslocamento de uma partição da corda no momento de tempo seguinte, assim obtendo

Uin+1=2(1r2)Uin+r2[Ui+1n+Ui1n]Uin1,

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

2yt2=v2(2yx2ϵL24yx4),

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=[22r26ϵr2K2]uinuin1+r2[1+4ϵK2][ui+1n+ui1n]ϵr2K2[ui+2n+ui2n].

O fato de essa discretização depender do deslocamento da corda em posições i2 e i+2 implica em precisarmos simular "pontos fantasmas" quando integramos os extremos das cordas. Para fazermos isso, podemos ou utilizar a aproximação u1n=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(xi+Δx,tn)=u(xi,tn)+ux(xi,tn)Δx+122ux2(xi,tn)Δx2+𝒪(Δx3),

u(xiΔx,tn)=u(xi,tn)ux(xi,tn)Δx+122ux2(xi,tn)Δx2+𝒪(Δx3).

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

ux|in=ui+1nui1n2Δ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:

Uin+1=UinΔt2Δx[Fi+1nFi1n]+𝒪(Δ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 Uin com sua respectiva média espacial, i.e., uin=(ui+1n+ui1n)/2. Logo, temos a seguinte equação de recorrência:

Uin+1=12(Ui+1n+Ui1n)Δt2Δx[Fi+1nFi1n]+𝒪(Δx2)

O Método de Leapfrog

Tanto o método FTCS quanto o método de Lax-Friedrichs são métodos de primeira ordem para a derivada temporal. Nessas circunstâncias, vΔt deve ser significantemente menor do que Δx, muito abaixo do limite imposto pela condição de Courant (ver seção estabilidade dos métodos).

Uma nova expressão para a derivada temporal, com precisão de segunda ordem é dada por

ut|in=uin+1uin12Δt+𝒪(Δt2).

Substituindo a nova expressão acima no método de FTCS discutido anteriormente, encontramos o método de Leapfrog:

Uin+1=Uin1ΔtΔx[Fi+1nFi1n]+𝒪(Δx2).

Como o método de Leapfrog foi o mais aplicado na resolução do problema em questão, é interessante um aprofundamento maior do método. Podemos adaptar o método de Leapfrog para o sistema de equações definido para a equação da onda ao fazermos

ki+12nvux|i+12n=vui+1nuinΔx+𝒪(Δx)(1)

sin+12ut|in+12=uin+1uinΔt+𝒪(Δt)(2)

Com a representação Leapfrog das equações do sistema de três equações, temos:

ki+12n+1=ki+12n+r(si+1n+12sin+12)+𝒪(Δx2)(3)


sin+12=sin12+r(ki+12nki12n)+𝒪(Δx2)(4)

Com essas duas equações, podemos fazer uma integração utilizando o método de Euler para obter ujn+1, ou seja, o deslocamento de um determinado ponto no próximo instante de tempo:

uin+1=uin+Δt2sin+12+𝒪(Δx2). Contudo, podemos fazer uma simples substituição das equações (1) e (2) nas equações (3) e (4) e, assim, obtemos que a representação de Leapfrog da equação da onda é dada pela discretização de segunda ordem da própria equação da onda, com 𝒪(Δt2,Δx2). Isso nos dá uma solução de "um passo", onde só precisamos efetuar o cálculo da equação discretizada.

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:

Ui+12n+12=12[Ui+1n+Uin]Δt2Δx[Fi+1nFin]+𝒪(Δx2),

Ui12n+12=12[Uin+Ui1n]Δt2Δx[FinFi1n]+𝒪(Δx2),

E encontramos os fluxos Fi±12n+12 a partir dos valores de Ui±12n+12.

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

Uin+1=UinΔtΔx[Fi+12n+12Fi12n+12]+𝒪(Δx2)

Análise e Discussão dos Resultados

Escolhemos para simular quatro diferentes cordas: as cordas C2, C4 e C7 de um piano cujos dados foram obtidos no artigo sobre cordas do Chaigne \cite{artigo} e uma corda com dados pré-estabelecidos encontrados no livro de física computacional do Giordano \cite{giordano}. Os dados das cordas C2, C4 e C7 estão na tabela abaixo.

C2 C4 C7
Comprimento (m) 1.90 0.62 0.09
Massa(g) 35 3.93 0.467
Tensão (N) 750 670 750
Divisões 100 50 16
Amostragem de sinal 16 32 96
Parâmetro de fricção 7.5×106 3.82×105 8.67×104

Desses dados, temos que a densidade linear de massa das cordas é dada por ρ=Ml, onde M é a massa e l o comprimento da corda, v=Tρ, onde T é a tensão na corda, Δx=lK, Δt=1fe, e r=vΔtΔx. Para a corda com dados pré-estabelecidos, utilizamos uma corda com 2 metros de comprimento, com velocidade de propagação da onda sendo 300m/s, Δx de 0.01m, Δt=Δx4v e parâmetro de fricção de 7.5×106. Supondo a corda inicialmente em repouso, temos que em t=0 a corda recebe em seu centro o equivalente à batida do martelo do piano. Supomos que esse estímulo possuía o formato aproximado de uma Gaussiana com amplitude de 14 do comprimento da corda. Então, com o estado inicial sendo um pulso com o formato de um pacote gaussianico e os dados da tabela, simulamos a propagação de ondas em cada uma das cordas.

Utilizando o método de Leapfrog, foi realizada uma primeira simulação para uma onda ideal em uma corda:

Corda C2:

Corda C4:

Corda C7:

Análise de Erro e Estabilidade dos Métodos

Estabilidade do método Leapfrog

Pela estabilidade de Von Neumann, podemos escrever que

r1.

Para r=1, a equação da discretização da onda pode ser reescrita como

Uin+1=Ui+1n+Ui1nUin1.

Essa escolha com

ΔxΔt=c

nos dá a solução exata sem dispersão numérica. Contudo, r=1 é válido somente no caso de uma corda ideal. É conveniente escrever a condição acima em termos da amostragem de sinal fe=1Δt e a frequência fundamental da corda f1=c2L, o que nos leva a

Kf1fe2

O teorema de Nyquist diz que a frequência superior no espectro deve ser menor do que fe2 para evitar serrilhamento e para garantir uma reconstrução única e contínua. Logo, no caso ideal quando as autofrequências da corda são igualmente espaçadas (Δf=f1), a condição de Nyquist indica que o número máximo de frequências no espectro é K. Isso significa que essa condição pode ser usada para selecionar o número apropriado de pontos espaciais K para a corda. Entretanto, como K é um inteiro, apenas valores discretos da frequência natural podem ser obtidos sem erros de trucamento, ou seja, usando r=1. Como series discretas não costumam ser utilizadas, precisamos aceitar pequenos erros de truncamento para ajustar f1, ou seja, utilizando r<1. No caso de uma onda com fricção, temos que r=14 é um valor de boa estabilidade.

Conclusões (?)

vsf caetano vsf doria vsf os dois vai tu anderson - dória aqui (mentira)

por favor usem U maiusculo com os indices i,n Uin e não usem y, usem u minusculo

tem que aprender a fazer referência pras bib e colocar as bib aqui já dei up nos gif

flavia tu é muito linda flw vlw atri

Referências Bibliográficas