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


Desses dados, temos que a densidade linear de massa das cordas é dada por  
Desses dados, temos que a densidade linear de massa das cordas é dada por  
<math>\rho = \frac{M}{l},</math>
<math>\rho = \frac{M}{l},</math>
onde <math>M</math> é a massa e <math>l</math> o comprimento da corda,  
onde <math>M</math> é a massa e <math>l</math> o comprimento da corda,  
<math>v = \sqrt{\frac{T}{\rho}},</math>
<math>v = \sqrt{\frac{T}{\rho}},</math>
onde <math>T</math> é a tensão na corda,   
 
onde <math>T</math> é a tensão na corda,  
   
<math>\Delta x = \frac{l}{K},</math>
<math>\Delta x = \frac{l}{K},</math>
<math>\Delta t = \frac{1}{f_e},</math>
<math>\Delta t = \frac{1}{f_e},</math>
e  
e  
<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.

Edição das 22h26min 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)

Condição CFL

Uma condição necessária mas nem sempre suficiente para a convergência de equações diferenciais parciais resolvidas a partir de métodos de diferença, formulada por Courant, Friedrichs e Lewy em 1928 (aprender a referenciar), conhecida como condição CFL, é formulada a partir do termo de “domínio de dependência”.

Considerando, por exemplo, a equação da advecção (citar a equação da advecção) em uma aproximação a partir de métodos de diferença em sua forma explícita Uin+1UinΔt+vUinUi1nΔx=0, diz-se que o valor de Uin+1 depende dos valores anteriores de Uin e Ui1n, e esses dois pontos dependem, novamente, de outros dois pontos em tempos anteriores. Todos esses pontos dependentes formam o domínio de dependência do valor Uin+1, representado abaixo (botar figura do domínio de dependência).

A condição CFL enuncia que a condição mínima para que haja estabilidade em métodos de diferenças o domínio de dependência da equação diferencia parcial, dado por sua equação característica, deve estar situado dentro do domínio de dependência do esquema numérico.

A partir dessa condição, define-se o número CFL como

rvΔtΔx

onde Δt é um passo na malha temporal e Δx é um passo na malha espacial. Para casos unidimensionais, como o que será tratado aqui, a condição CFL é satisfeita se r

|r|1

Um uso da condição CFL é determinar o tamanho do passo temporal, sabendo-se v e Δx:

Δt=ccflΔx|v|

onde o fator ccfl<1.

O número CFL pode ser entendido como um fluxo numérico advectivo adimensionalisado pelas malhas espacial e temporal do problema. De um ponto de vista matemático, ele garante que o domínio numérico de dependência é sempre maior que o domínio físico. De um ponto de vista físico, é garantido que a velocidade de propagação de qualquer perturbação, como uma onda, seja menor ou ao menos igual que a velocidade de propagação numérica, fazendo com que a distância propagada pela perturbação não seja maior do que a divisão da malha espacial:

|v|ΔtΔx

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

2ut2=v2(2ux2ϵL24ux4),

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.

Discretizamos a equação da seguinte maneira:

2ut2=Uin+12Uin+Uin1Δt2

2ux2=Ui+1n2Uin+Ui1nΔx2

4ux4=Ui+2n4Ui+1n+6Uin4Yi1n+Ui2nΔx4

e resolvemos para Uin+1, obtendo:

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.

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 uin+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 [3] e uma corda com dados pré-estabelecidos encontrados no livro de física computacional do Giordano [1]. 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×103 32×103 96×103
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:

Corda com as definições do Giordano:

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=v

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=v2L, 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 (?)

Referências Bibliográficas


Predefinição:Reflist

  1. Erro de citação: Marca <ref> inválida; não foi fornecido texto para as refs chamadas giordano