Grupo2 - Ondas1: mudanças entre as edições
Sem resumo de edição |
|||
Linha 10: | Linha 10: | ||
em que <math> u(x, t) </math> é o deslocamento vertical da corda e <math> 0<x<L </math>, com <math> L </math> o comprimento da corda. | em que <math> u(x, t) </math> é o deslocamento vertical da corda e <math> 0<x<L </math>, com <math> L </math> o comprimento da corda. | ||
Admitindo <math>c=1</math> | Admitindo <math>c=1</math>, | ||
<math> \frac{\partial}{\partial t} \Big( \frac{\partial u}{\partial t} \Big) = \frac{\partial}{\partial x} \Big( \frac{\partial u}{\partial x} \Big) </math> | <math> \frac{\partial}{\partial t} \Big( \frac{\partial u}{\partial t} \Big) = \frac{\partial}{\partial x} \Big( \frac{\partial u}{\partial x} \Big) </math> . | ||
Uma vez que os métodos citados abaixo são para equações de primeira ordem, é necessário separarmos a equação em um sistema de equações, fazendo a substituição <math> v=\frac{\partial u}{\partial t} </math> e <math> w= \frac{\partial u}{\partial x} </math>: | Uma vez que os métodos citados abaixo são para equações de primeira ordem, é necessário separarmos a equação em um sistema de equações, fazendo a substituição <math> v=\frac{\partial u}{\partial t} </math> e <math> w= \frac{\partial u}{\partial x} </math>: | ||
Linha 34: | Linha 34: | ||
Esse método consiste em discretizar as equações no esquema FTCS, ou seja: | Esse método consiste em discretizar as equações no esquema FTCS, ou seja: | ||
<math> v_{j}^{n+1} = v_j^n + \frac{\Delta t}{2\Delta x}(w_{j+1}^{n} - w_{j-1}^{n}) </math> | <math> v_{j}^{n+1} = v_j^n + \frac{\Delta t}{2\Delta x}(w_{j+1}^{n} - w_{j-1}^{n}) </math>, | ||
<math> w_{j}^{n+1} = w_j^n + \frac{\Delta t}{2\Delta x}(v_{j+1}^{n} - v_{j-1}^{n}) </math> | <math> w_{j}^{n+1} = w_j^n + \frac{\Delta t}{2\Delta x}(v_{j+1}^{n} - v_{j-1}^{n}) </math> , | ||
Entretanto, para tornarmos o método estável, é necessário trocarmos os termos <math> v_j^n </math> e <math> w_j^n </math> por sua média espacial: | Entretanto, para tornarmos o método estável, é necessário trocarmos os termos <math> v_j^n </math> e <math> w_j^n </math> por sua média espacial: | ||
<math> v_{j}^{n+1} = \Big( \frac{ v_{j-1}^{n} + v_{j+1}^{n}}{2} \Big) + \frac{\Delta t}{2\Delta x}(w_{j+1}^{n} - w_{j-1}^{n}) </math> | <math> v_{j}^{n+1} = \Big( \frac{ v_{j-1}^{n} + v_{j+1}^{n}}{2} \Big) + \frac{\Delta t}{2\Delta x}(w_{j+1}^{n} - w_{j-1}^{n}) </math>, | ||
<math> w_{j}^{n+1} = \Big( \frac{ w_{j-1}^{n} + w_{j+1}^{n}}{2} \Big) + \frac{\Delta t}{2\Delta x}(v_{j+1}^{n} - v_{j-1}^{n}) </math> | <math> w_{j}^{n+1} = \Big( \frac{ w_{j-1}^{n} + w_{j+1}^{n}}{2} \Big) + \frac{\Delta t}{2\Delta x}(v_{j+1}^{n} - v_{j-1}^{n}) </math>, | ||
<math> u_{j}^{n+1} = u_{j}^{n} + v_{j}^{n}\Delta t </math> | <math> u_{j}^{n+1} = u_{j}^{n} + v_{j}^{n}\Delta t </math>, | ||
Aqui agora vamos unir todas as equações para que no programa possamos iterar apenas uma equação ao invés de 3. | Aqui agora vamos unir todas as equações para que no programa possamos iterar apenas uma equação ao invés de 3. | ||
<math> u_{j}^{n+1} = u_{j}^{n} + \Big( \frac{u_{j-1}^{n} + u_{j+1}^{n}}{2} \Big) - \Big( \frac{u_{j-1}^{n-1} + u_{j+1}^{n-1}}{2} \Big) + \frac{(\Delta t)^2}{4(\Delta x)^2} \Big( u_{j-2}^{n-1} -2u_{j}^{n-1} + u_{j+2}^{n-1}\Big) </math> | <math> u_{j}^{n+1} = u_{j}^{n} + \Big( \frac{u_{j-1}^{n} + u_{j+1}^{n}}{2} \Big) - \Big( \frac{u_{j-1}^{n-1} + u_{j+1}^{n-1}}{2} \Big) + \frac{(\Delta t)^2}{4(\Delta x)^2} \Big( u_{j-2}^{n-1} -2u_{j}^{n-1} + u_{j+2}^{n-1}\Big) </math>, | ||
===Método de Leapfrog=== | ===Método de Leapfrog=== | ||
Para v temos: | Para v temos: | ||
<math> \frac{ v_{j}^{n+\frac{1}{2}} - v_{j}^{n-\frac{1}{2}}}{\Delta t} = \frac{ w_{j+\frac{1}{2}}^{n} - w_{j-\frac{1}{2}}^{n} }{\Delta x} </math> | <math> \frac{ v_{j}^{n+\frac{1}{2}} - v_{j}^{n-\frac{1}{2}}}{\Delta t} = \frac{ w_{j+\frac{1}{2}}^{n} - w_{j-\frac{1}{2}}^{n} }{\Delta x} </math>, | ||
<math> v_{j}^{n+\frac{1}{2}} = v_{j}^{n-\frac{1}{2}} + \frac{\Delta t}{\Delta x} (w_{j+\frac{1}{2}}^{n} - w_{j-\frac{1}{2}}^{n} ) </math> | <math> v_{j}^{n+\frac{1}{2}} = v_{j}^{n-\frac{1}{2}} + \frac{\Delta t}{\Delta x} (w_{j+\frac{1}{2}}^{n} - w_{j-\frac{1}{2}}^{n} ) </math>, | ||
Para w temos: | Para w temos: | ||
<math> \frac{ v_{j+1}^{n+\frac{1}{2}} - v_{j}^{n+\frac{1}{2}}}{\Delta x} = \frac{ w_{j+\frac{1}{2}}^{n+1} - w_{j+\frac{1}{2}}^{n} }{\Delta t} </math> | <math> \frac{ v_{j+1}^{n+\frac{1}{2}} - v_{j}^{n+\frac{1}{2}}}{\Delta x} = \frac{ w_{j+\frac{1}{2}}^{n+1} - w_{j+\frac{1}{2}}^{n} }{\Delta t} </math>, | ||
<math> w_{j+\frac{1}{2}}^{n+1} = w_{j+\frac{1}{2}}^{n} + \frac{\Delta t}{\Delta x} \Big(v_{j+1}^{n+\frac{1}{2}} - v_{j}^{n+\frac{1}{2}}\Big) </math> | <math> w_{j+\frac{1}{2}}^{n+1} = w_{j+\frac{1}{2}}^{n} + \frac{\Delta t}{\Delta x} \Big(v_{j+1}^{n+\frac{1}{2}} - v_{j}^{n+\frac{1}{2}}\Big) </math>, | ||
Para u temos: | Para u temos: | ||
<math> v_{j}^{n+\frac{1}{2}} = \frac{\partial u}{\partial t} \Big|_{j}^{n+\frac{1}{2}} = \frac{ u_{j}^{n+\frac{1}{2}} - u_j^n}{\Delta t} </math> | <math> v_{j}^{n+\frac{1}{2}} = \frac{\partial u}{\partial t} \Big|_{j}^{n+\frac{1}{2}} = \frac{ u_{j}^{n+\frac{1}{2}} - u_j^n}{\Delta t} </math>, | ||
<math> u_{j}^{n+\frac{1}{2}} = u_j^n + v_{j}^{n+\frac{1}{2}} \Delta t</math> | <math> u_{j}^{n+\frac{1}{2}} = u_j^n + v_{j}^{n+\frac{1}{2}} \Delta t</math>, | ||
Juntando todas elas temos: | Juntando todas elas temos: | ||
<math> u_{j}^{n+1} = 2u_{j}^{n} - u_{j}^{n-1} + \frac{(\Delta t)^2}{(\Delta x)^2}(u_{j+1}^{n} - 2u_{j}^{n} + u_{j-1}^{n}) </math> | <math> u_{j}^{n+1} = 2u_{j}^{n} - u_{j}^{n-1} + \frac{(\Delta t)^2}{(\Delta x)^2}(u_{j+1}^{n} - 2u_{j}^{n} + u_{j-1}^{n}) </math>, | ||
===Método de Lax-Wendroff de Dois Passos=== | ===Método de Lax-Wendroff de Dois Passos=== | ||
<math> v_{j+\frac{1}{2}}^{n+\frac{1}{2}} = \frac{1}{2}( v_{j+1}^{n} + v_{j}^{n} ) + \frac{\Delta t }{2\Delta x} (w_{j+1}^{n} - w_{j}^{n}) </math> | <math> v_{j+\frac{1}{2}}^{n+\frac{1}{2}} = \frac{1}{2}( v_{j+1}^{n} + v_{j}^{n} ) + \frac{\Delta t }{2\Delta x} (w_{j+1}^{n} - w_{j}^{n}) </math>, | ||
<math> v_{j-\frac{1}{2}}^{n+\frac{1}{2}} = \frac{1}{2}( v_{j}^{n} + v_{j-1}^{n} ) + \frac{\Delta t }{2\Delta x} (w_{j}^{n} - w_{j-1}^{n}) </math> | <math> v_{j-\frac{1}{2}}^{n+\frac{1}{2}} = \frac{1}{2}( v_{j}^{n} + v_{j-1}^{n} ) + \frac{\Delta t }{2\Delta x} (w_{j}^{n} - w_{j-1}^{n}) </math>, | ||
Para w resulta em: | Para w resulta em: | ||
<math> w_{j}^{n+1} = w_j^n + \frac{\Delta t}{\Delta x} \Bigg[\frac{1}{2}(v_{j+1}^{n} - v_{j-1}^{n}) + \frac{\Delta t}{2\Delta x} (w_{j+1}^{n} - 2 w_{j}^{n} + w_{j-1}^{n})\Bigg] </math> | <math> w_{j}^{n+1} = w_j^n + \frac{\Delta t}{\Delta x} \Bigg[\frac{1}{2}(v_{j+1}^{n} - v_{j-1}^{n}) + \frac{\Delta t}{2\Delta x} (w_{j+1}^{n} - 2 w_{j}^{n} + w_{j-1}^{n})\Bigg] </math>, | ||
Agora encontraremos a equação para v: | Agora encontraremos a equação para v: | ||
<math> v_{j}^{n+1} = v_{j}^{n} + \frac{\Delta t}{\Delta x} \Big(w_{j+\frac{1}{2}}^{n+\frac{1}{2}} - w_{j-\frac{1}{2}}^{n+\frac{1}{2}}\Big) </math> | <math> v_{j}^{n+1} = v_{j}^{n} + \frac{\Delta t}{\Delta x} \Big(w_{j+\frac{1}{2}}^{n+\frac{1}{2}} - w_{j-\frac{1}{2}}^{n+\frac{1}{2}}\Big) </math>, | ||
Sendo que: | Sendo que: | ||
<math> w_{j+\frac{1}{2}}^{n+\frac{1}{2}} = \frac{1}{2}( w_{j+1}^{n} + w_{j}^{n} ) + \frac{\Delta t }{2\Delta x} (v_{j+1}^{n} - v_{j}^{n}) </math> | <math> w_{j+\frac{1}{2}}^{n+\frac{1}{2}} = \frac{1}{2}( w_{j+1}^{n} + w_{j}^{n} ) + \frac{\Delta t }{2\Delta x} (v_{j+1}^{n} - v_{j}^{n}) </math>, | ||
<math> w_{j-\frac{1}{2}}^{n+\frac{1}{2}} = \frac{1}{2}( w_{j}^{n} + w_{j-1}^{n} ) + \frac{\Delta t }{2\Delta x} (v_{j}^{n} - v_{j-1}^{n}) </math> | <math> w_{j-\frac{1}{2}}^{n+\frac{1}{2}} = \frac{1}{2}( w_{j}^{n} + w_{j-1}^{n} ) + \frac{\Delta t }{2\Delta x} (v_{j}^{n} - v_{j-1}^{n}) </math>, | ||
Para v resulta em: | Para v resulta em: | ||
<math> v_{j}^{n+1} = v_j^n + \frac{\Delta t}{\Delta x} \Bigg[\frac{1}{2}(w_{j+1}^{n} - w_{j-1}^{n}) + \frac{\Delta t}{2\Delta x} (v_{j+1}^{n} - 2 v_{j}^{n} + v_{j-1}^{n})\Bigg] </math> | <math> v_{j}^{n+1} = v_j^n + \frac{\Delta t}{\Delta x} \Bigg[\frac{1}{2}(w_{j+1}^{n} - w_{j-1}^{n}) + \frac{\Delta t}{2\Delta x} (v_{j+1}^{n} - 2 v_{j}^{n} + v_{j-1}^{n})\Bigg] </math>, | ||
E finalmente temos a equação unificada das outras em u: | E finalmente temos a equação unificada das outras em u: | ||
<math> u_{j}^{n+1} = 2u_{j}^{n} - u_{j}^{n-1} + \frac{(\Delta t)^2}{2(\Delta x)^2}\Bigg[ \Big(\frac{ u_{j+2}^{n-1} - u_{j}^{n-1}}{2} \Big) - \Big(\frac{u_{j}^{n-1} - u_{j-1}^{n-1}}{2} \Big) + u_{j+1}^{n} - u_{j+1}^{n-1} - 2u_{j}^{n} + 2u_{j}^{n-1} + u_{j-1}^{n} - u_{j-1}^{n-1}\Bigg] </math> | <math> u_{j}^{n+1} = 2u_{j}^{n} - u_{j}^{n-1} + \frac{(\Delta t)^2}{2(\Delta x)^2}\Bigg[ \Big(\frac{ u_{j+2}^{n-1} - u_{j}^{n-1}}{2} \Big) - \Big(\frac{u_{j}^{n-1} - u_{j-1}^{n-1}}{2} \Big) + u_{j+1}^{n} - u_{j+1}^{n-1} - 2u_{j}^{n} + 2u_{j}^{n-1} + u_{j-1}^{n} - u_{j-1}^{n-1}\Bigg] </math>, | ||
== Análise de erros e estabilidade == | == Análise de erros e estabilidade == | ||
Linha 115: | Linha 115: | ||
Podemos observar a ordem com que os erros crescem à medida que o parâmetro k se torna maior. Lembrando que os valores da constante são determinados pela discretização do espaço e do tempo. | Podemos observar a ordem com que os erros crescem à medida que o parâmetro k se torna maior. Lembrando que os valores da constante são determinados pela discretização do espaço e do tempo. | ||
== Simulação de Propagação de Onda 2D Dependente de Topografia == | == Simulação de Propagação de Onda 2D Dependente de Topografia == |
Edição das 00h33min de 24 de outubro de 2017
Introdução
A modelagem numérica vem se tornando cada vez mais uma ferramenta indispensável para um engenheiro. Tal modelagem pode trazer informações importantes para entender como melhor abordar o desenvolvimento de um projeto, neste caso, um que envolva ondas. Nós, como futuros engenheiros físicos, pensamos em trazer um problema mais "concreto", de engenharia costeira e portuária, que pode ou não surgir em nossas vidas profissionais mas cujo método de solução certamente estará presente. Aqui será apresentado um modelo baseado em uma condição inicial e um perfil topográfico do local estudado que descreve a evolução temporal de uma onda.
Para testarmos os diferentes métodos, utilizaremos a equação da onda em uma dimensão, que é uma equação diferencial parcial de segunda ordem, para modelarmos uma corda:
em que é o deslocamento vertical da corda e , com o comprimento da corda.
Admitindo ,
.
Uma vez que os métodos citados abaixo são para equações de primeira ordem, é necessário separarmos a equação em um sistema de equações, fazendo a substituição e :
As condições de contorno são (pontas fixas), e as condições iniciais são e
Algoritmos
Apresentaremos aqui três abordagens diferentes para a solução da equação diferencial parcial apresentada, e após, seus respectivos erros associados.
Método de Lax-Friedrichs
Esse método consiste em discretizar as equações no esquema FTCS, ou seja:
,
,
Entretanto, para tornarmos o método estável, é necessário trocarmos os termos e por sua média espacial:
,
,
,
Aqui agora vamos unir todas as equações para que no programa possamos iterar apenas uma equação ao invés de 3.
,
Método de Leapfrog
Para v temos:
,
,
Para w temos:
,
,
Para u temos:
,
,
Juntando todas elas temos:
,
Método de Lax-Wendroff de Dois Passos
,
,
Para w resulta em:
,
Agora encontraremos a equação para v:
,
Sendo que:
,
,
Para v resulta em:
,
E finalmente temos a equação unificada das outras em u:
,
Análise de erros e estabilidade
A análise de erros se torna mais evidente durante a escolha do parâmetro , onde . Valores grandes trazem pouca acurácia, e valores pequenos necessitam de muito poder de computação (tempo e dinheiro). Trazemos problemas mais simplificados como um "guia" de escolha do parâmetro.
A partir do cálulo da solução analítica da equação da onda, podemos calcular quanto o valor obtido pelos métodos difere da solução real, o que leva a uma visualização do erro corrente em cada método de integração.
Podemos observar a ordem com que os erros crescem à medida que o parâmetro k se torna maior. Lembrando que os valores da constante são determinados pela discretização do espaço e do tempo.
Simulação de Propagação de Onda 2D Dependente de Topografia
O modelo mais simples parte da equação da onda [1], acrescentando o termo .
,
Sendo uma representação da profundidade em águas calmas. Em uma situação real, pode-se obtê-la por mapeamento eletrônico do terreno por sistema de sonar.
Como primeira abordagem visando uma análise em 2D, a integração da equação em 1D (mesmo sendo uma situação muito idealizada) já traz resultados interessantes. Podemos observar, por exemplo, que a amplitude da onda cresce perto da costa. Esta informação por si só ajuda na construção de proteção contra quebra de ondas, pois é obtido o tamanho que as mesmas atingem.
É importante notar o quão poderosa é a integração de equações parciais na vida de um engenheiro.
A dependência em de permite um modelo no qual o terreno se modifica com o tempo. Isto é, pode-se observar o efeito que o deslocamento de placas tectônicas, deslizamentos, e até explosões provocam no comportamento das ondas na costa de um país e o reconhecimento de áreas críticas.
Estendendo o algoritmo do Leap-Frog à situação 2D, obtemos, para uma dada condição inicial e , onde é uma constante:
Podemos então, analisar como a mesma condição inicial se porta quando descreve uma gaussiana na origem:
Bibliografia
1"The Wave Equation in 1D and 2D," por Knut–Andreas Lie, Dept. of Informatics, University of Oslo; disponível em: [1]; Último acesso em 23/10/2017.
2"Digital terrain mapping of the underside of sea ice from a small AUV," por Wadhams, M. J. Doble; disponível em: DOI: 10.1029/2007GL031921 ; Último acesso em 23/10/2017.
2 Press, William H.; Teukolsky, Saul A.; Vetterling, William T.; Flannery, Brian P. (2007). Numerical Recipes: The Art of Scientific Computing (3rd ed.). New York: Cambridge University Press. ISBN 978-0-521-88068-8.