<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pt-BR">
	<id>http://fiscomp.if.ufrgs.br/index.php?action=history&amp;feed=atom&amp;title=Ondas_1</id>
	<title>Ondas 1 - Histórico de revisão</title>
	<link rel="self" type="application/atom+xml" href="http://fiscomp.if.ufrgs.br/index.php?action=history&amp;feed=atom&amp;title=Ondas_1"/>
	<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Ondas_1&amp;action=history"/>
	<updated>2026-06-12T20:04:32Z</updated>
	<subtitle>Histórico de revisões para esta página neste wiki</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Ondas_1&amp;diff=2723&amp;oldid=prev</id>
		<title>Heitor: Criou página com &#039; &#039;&#039;&#039;Integrantes do grupo:&#039;&#039;&#039; Rodrigo Zamin Ferreira (262692), Leonardo Xavier Rodrigues (262696), Maurício Gomes de Queiroz (264889) e Rodrigo Lopes de Sousa Silva (262705)...&#039;</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Ondas_1&amp;diff=2723&amp;oldid=prev"/>
		<updated>2020-01-19T13:34:52Z</updated>

		<summary type="html">&lt;p&gt;Criou página com &amp;#039; &amp;#039;&amp;#039;&amp;#039;Integrantes do grupo:&amp;#039;&amp;#039;&amp;#039; Rodrigo Zamin Ferreira (262692), Leonardo Xavier Rodrigues (262696), Maurício Gomes de Queiroz (264889) e Rodrigo Lopes de Sousa Silva (262705)...&amp;#039;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Página nova&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Integrantes do grupo:&amp;#039;&amp;#039;&amp;#039; Rodrigo Zamin Ferreira (262692), Leonardo Xavier Rodrigues (262696), Maurício Gomes de Queiroz (264889) e Rodrigo Lopes de Sousa Silva (262705)&lt;br /&gt;
&lt;br /&gt;
==Introdução==&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;concreto&amp;quot;, 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. &lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Inicialmente, 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:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \frac{\partial^2 u}{\partial t^2}  = c^2 \frac{\partial^{2} u}{\partial x^{2}} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
em que &amp;lt;math&amp;gt; u(x, t) &amp;lt;/math&amp;gt; é o deslocamento vertical da corda, &amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt; é a velocidade de propagação da onda e &amp;lt;math&amp;gt; 0&amp;lt;x&amp;lt;L &amp;lt;/math&amp;gt;, com &amp;lt;math&amp;gt; L &amp;lt;/math&amp;gt; o comprimento da corda.&lt;br /&gt;
&lt;br /&gt;
Podemos reescrever a equação da seguinte forma:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \frac{\partial}{\partial t} \Big( \frac{\partial u}{\partial t} \Big)  =  c\frac{\partial}{\partial x} \Big( c\frac{\partial u}{\partial x} \Big)  &amp;lt;/math&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
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 &amp;lt;math&amp;gt; v=\frac{\partial u}{\partial t} &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; w= c\frac{\partial u}{\partial x} &amp;lt;/math&amp;gt;, de forma que:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
\begin{cases}&lt;br /&gt;
\dfrac{\partial v}{\partial t}=c\dfrac{\partial w}{\partial x} \\&lt;br /&gt;
&lt;br /&gt;
\\&lt;br /&gt;
&lt;br /&gt;
c\dfrac{\partial v}{\partial x}=\dfrac{\partial w}{\partial t} \\&lt;br /&gt;
&lt;br /&gt;
\end{cases}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aqui usaremos &amp;lt;math&amp;gt;c=1&amp;lt;/math&amp;gt;, sem perda de generalidade. As condições de contorno utilizadas aqui são &amp;lt;math&amp;gt; u(0, t) = u(L, t) = 0 &amp;lt;/math&amp;gt; (pontas fixas), e as condições iniciais são &amp;lt;math&amp;gt; u(x,0) = \sin{\Big(\frac{\pi x}{L}\Big)} &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; \frac{\partial u}{\partial t}(x, 0) = 0 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Algoritmos==&lt;br /&gt;
&lt;br /&gt;
Apresentaremos aqui três abordagens diferentes para a solução da equação diferencial parcial apresentada, e após, seus respectivos erros associados. A respeito das discretizações, &amp;lt;math&amp;gt; j &amp;lt;/math&amp;gt; corresponde à posição, e &amp;lt;math&amp;gt; n &amp;lt;/math&amp;gt; representa o tempo.&lt;br /&gt;
&lt;br /&gt;
===Método de Lax-Friedrichs ===&lt;br /&gt;
&lt;br /&gt;
Esse método de ordem &amp;lt;math&amp;gt; \mathcal{O}(\Delta x^2, \Delta t)&amp;lt;/math&amp;gt;&amp;lt;ref name=recipes&amp;gt;&amp;lt;/ref&amp;gt; consiste em inicialmente discretizar as equações no esquema FTCS (Forward Time Centered Space), ou seja, discretizando a derivada temporal utilizando os tempos &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;n+1&amp;lt;/math&amp;gt; e a derivada espacial através das posições &amp;lt;math&amp;gt;j-1&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;j+1&amp;lt;/math&amp;gt;: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \frac{1}{\Delta t}(v_{j}^{n+1} - v_j^n) = \frac{1}{2\Delta x} (w_{j+1}^{n} - w_{j-1}^{n}) &amp;lt;/math&amp;gt;, &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \frac{1}{\Delta t}(w_{j}^{n+1} - w_j^n) = \frac{1}{2\Delta x} (v_{j+1}^{n} - v_{j-1}^{n})&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Resultando em&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; v_{j}^{n+1} = v_j^n + \frac{\Delta t}{2\Delta x}(w_{j+1}^{n} - w_{j-1}^{n}) &amp;lt;/math&amp;gt;, &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; w_{j}^{n+1} = w_j^n + \frac{\Delta t}{2\Delta x}(v_{j+1}^{n} - v_{j-1}^{n}) &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Entretanto, ao se realizar uma análise de estabilidade de Von Neumann, conclui-se que esse método é instável&amp;lt;ref name=recipes&amp;gt;Press, William H.; Teukolsky, Saul A.; Vetterling, William T.; Flannery, Brian P. (2007). &amp;quot;Numerical Recipes: The Art of Scientific Computing&amp;quot; (3rd ed.). New York: Cambridge University Press. ISBN 978-0-521-88068-8.&amp;lt;/ref&amp;gt; . Para torná-lo estável, é necessário trocarmos os termos &amp;lt;math&amp;gt; v_j^n &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; w_j^n &amp;lt;/math&amp;gt; por suas médias espaciais, chegando, assim, na expressão do esquema de Lax-Friedrichs:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; 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}) &amp;lt;/math&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; 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}) &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Para obtermos o valor de &amp;lt;math&amp;gt; u_{j}^{n+1} &amp;lt;/math&amp;gt;, que é o nosso objetivo, discretizamos a equação &amp;lt;math&amp;gt; \frac{\partial u}{\partial t} = v&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; u_{j}^{n+1} = u_{j}^{n} + v_{j}^{n}\Delta t &amp;lt;/math&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
Embora as médias espaciais sejam necessárias para a estabilidade do método, elas introduzem um problema: surge um efeito chamado de dissipação numérica, ou seja, a amplitude da solução diminui com o tempo. Isso pode ser observado através da análise de Von Neumann ou de uma investigação da equação do esquema Lax-Friedrichs &amp;lt;ref name=recipes/&amp;gt; . Por este método, observa-se que ao inserirmos as médias, mudamos a equação original do problema, pois agora há também um termo do tipo difusivo (uma derivada segunda), com constante de difusão &amp;lt;math&amp;gt;\frac{(\Delta x)^2}{2\Delta t}&amp;lt;/math&amp;gt; &amp;lt;ref name=recipes/&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Agora vamos unir todas as equações, utilizando, além da equação para &amp;lt;math&amp;gt;u&amp;lt;/math&amp;gt; obtida acima, as discretizações de &amp;lt;math&amp;gt; v=\frac{\partial u}{\partial t} &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; w= \frac{\partial u}{\partial x} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; v_j^n = \frac{1}{\Delta t} (u_{j}^{n+1} - u_{j}^{n})&amp;lt;/math&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; w_j^n = \frac{1}{2\Delta x} (u_{j+1}^{n} - u_{j-1}^{n})&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Assim, obtemos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; 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) &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Método de Leapfrog ===&lt;br /&gt;
Neste método , de ordem &amp;lt;math&amp;gt; \mathcal{O}(\Delta x^2, \Delta t^2 )&amp;lt;/math&amp;gt; &amp;lt;ref name=recipes&amp;gt;&amp;lt;/ref&amp;gt;, utilizamos os pontos intermediários na discretização das equações.&lt;br /&gt;
&lt;br /&gt;
Para &amp;lt;math&amp;gt;v&amp;lt;/math&amp;gt; temos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \frac{1}{\Delta t}\bigg( v_{j}^{n+\frac{1}{2}} -  v_{j}^{n-\frac{1}{2}}\bigg) = \frac{1}{\Delta x}\Big(w_{j+\frac{1}{2}}^{n} -  w_{j-\frac{1}{2}}^{n}\bigg)  \Rightarrow v_{j}^{n+\frac{1}{2}} =  v_{j}^{n-\frac{1}{2}} + \frac{\Delta t}{\Delta x} \bigg(w_{j+\frac{1}{2}}^{n} - w_{j-\frac{1}{2}}^{n} \bigg) &amp;lt;/math&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para &amp;lt;math&amp;gt;w&amp;lt;/math&amp;gt; temos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;  \frac{1}{\Delta x}\bigg(v_{j+1}^{n+\frac{1}{2}} -  v_{j}^{n+\frac{1}{2}}\bigg) = \frac{1}{\Delta t}\bigg(w_{j+\frac{1}{2}}^{n+1} -  w_{j+\frac{1}{2}}^{n} \bigg) \Rightarrow w_{j+\frac{1}{2}}^{n+1} =  w_{j+\frac{1}{2}}^{n} + \frac{\Delta t}{\Delta x} \bigg(v_{j+1}^{n+\frac{1}{2}} - v_{j}^{n+\frac{1}{2}}\bigg) &amp;lt;/math&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para &amp;lt;math&amp;gt;u&amp;lt;/math&amp;gt; temos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;  v_{j}^{n+\frac{1}{2}} = \frac{\partial u}{\partial t} \bigg|_{j}^{n+\frac{1}{2}} = \frac{1}{\Delta t} (u_{j}^{n+1} - u_j^n) \Rightarrow  u_{j}^{n+1} = u_j^n + v_{j}^{n+\frac{1}{2}} \Delta t&amp;lt;/math&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Utilizando o fato de que &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; v_{j}^{n+\frac{1}{2}} = \frac{1}{\Delta t} (u_{j}^{n+1} - u_j^n)&amp;lt;/math&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;w_{j+\frac{1}{2}}^{n} = \frac{1}{\Delta x} (u_{j+1}^{n} - u_{j}^{n})&amp;lt;/math&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
chegamos na equação para &amp;lt;math&amp;gt;u_{j}^{n+1}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;  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}) &amp;lt;/math&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
o que é equivalente a discretizarmos a equação da onda diretamente, utilizando que, para uma função &amp;lt;math&amp;gt;f(x)&amp;lt;/math&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \frac{d^2f}{dx^2}\bigg|_j = \frac{1}{(\Delta x)^2}(f_{j-1} - 2f_j + f_{j+1})&amp;lt;/math&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
sendo &amp;lt;math&amp;gt;j&amp;lt;/math&amp;gt; a discretização em &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Método de Lax-Wendroff de Dois Passos ===&lt;br /&gt;
&lt;br /&gt;
Para este método, de ordem &amp;lt;math&amp;gt; \mathcal{O}(\Delta x^2, \Delta t^2 )&amp;lt;/math&amp;gt;, o primeiro passo consiste em calcular o valor de &amp;lt;math&amp;gt;v^{n+\frac{1}{2}}&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;w^{n+\frac{1}{2}}&amp;lt;/math&amp;gt; utilizando o método de Lax-Friedrichs, para posterior cálculo de &amp;lt;math&amp;gt;v^{n+1}&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;w^{n+1}&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; 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}) &amp;lt;/math&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; 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}) &amp;lt;/math&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; 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}) &amp;lt;/math&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;  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})  &amp;lt;/math&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Agora, no tempo &amp;lt;math&amp;gt;n+1&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; v_{j}^{n+1} =  v_{j}^{n} + \frac{\Delta t}{\Delta x} \bigg(w_{j+\frac{1}{2}}^{n+\frac{1}{2}} - w_{j-\frac{1}{2}}^{n+\frac{1}{2}}\bigg) &amp;lt;/math&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; w_{j}^{n+1} =  w_{j}^{n} + \frac{\Delta t}{\Delta x} \bigg(v_{j+\frac{1}{2}}^{n+\frac{1}{2}} - v_{j-\frac{1}{2}}^{n+\frac{1}{2}}\bigg) &amp;lt;/math&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Agrupando as equações,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; 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] &amp;lt;/math&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;  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] &amp;lt;/math&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
E finalmente temos a equação unificada em u, utilizando a expressão para &amp;lt;math&amp;gt;  v_{j}^{n+1} &amp;lt;/math&amp;gt; e as discretizações de &amp;lt;math&amp;gt; v=\frac{\partial u}{\partial t} &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; w= \frac{\partial u}{\partial x} &amp;lt;/math&amp;gt;, como obtidas na seção sobre o Método de Lax-Friedrichs:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; u_{j}^{n+1} = u_{j}^{n} + v_{j}^{n}\Delta t &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;  u_{j}^{n+1} = 2u_{j}^{n} - u_{j}^{n-1} + \frac{(\Delta t)^2}{2(\Delta x)^2}\Bigg[ \frac{1}{2}u_{j+2}^{n-1} - \frac{1}{2}u_{j-2}^{n-1} + u_{j+1}^{n} - u_{j+1}^{n-1} - 2u_{j}^{n} + u_{j}^{n-1} + u_{j-1}^{n} - u_{j-1}^{n-1}\Bigg]  &amp;lt;/math&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
== Implementação==&lt;br /&gt;
&lt;br /&gt;
Ao implementarmos o método, surgem dois problemas: o problema não é auto-inicializável, pois para calcularmos o valor de &amp;lt;math&amp;gt;u_j^{1}&amp;lt;/math&amp;gt;, necessitamos de &amp;lt;math&amp;gt;u_j^{-1}&amp;lt;/math&amp;gt; (além de &amp;lt;math&amp;gt;u_j^{0}&amp;lt;/math&amp;gt;). Entretanto, isto é rapidamente solucionado quando discretizamos a condição inicial de que &amp;lt;math&amp;gt; \frac{\partial u}{\partial t}(x, 0) = 0 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac{1}{2\Delta t} (u_j^{1} - u_j^{-1}) = 0 \Rightarrow u_j^{1} = u_j^{-1}&amp;lt;/math&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
ou seja, para o cálculo de &amp;lt;math&amp;gt;u_j^{-1}&amp;lt;/math&amp;gt;, utilizamos que &amp;lt;math&amp;gt; u_j^{1} = u_j^{-1} &amp;lt;/math&amp;gt;. Através do método de Leapfrog, dessa forma conseguimos isolar &amp;lt;math&amp;gt;u_j^{-1}&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; u_{j}^{-1} = 2u_{j}^{0} - u_{j}^{-1} + \frac{(\Delta t)^2}{(\Delta x)^2}(u_{j+1}^{0} - 2u_{j}^{0} + u_{j-1}^{0})&amp;lt;/math&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; u_{j}^{-1} = u_{j}^{0} + \frac{(\Delta t)^2}{2(\Delta x)^2}(u_{j+1}^{0} - 2u_{j}^{0} + u_{j-1}^{0})&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Porém, isso não ocorre com os outros dois métodos, pois surgem termos em diferentes posições para o tempo &amp;lt;math&amp;gt;n=0&amp;lt;/math&amp;gt; (de &amp;lt;math&amp;gt;u_{-2}^{0}&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;u_{-1}^{0}&amp;lt;/math&amp;gt;, até &amp;lt;math&amp;gt;u_{2}^{0}&amp;lt;/math&amp;gt;), sendo necessário resolvermos o sistema como um todo simultaneamente, ou seja, teríamos que inverter uma matriz. Por isso, foi utilizado o método de Leapfrog para o cálculo de &amp;lt;math&amp;gt;u_j^{-1}&amp;lt;/math&amp;gt; em todos os métodos, devido a sua simplicidade.&lt;br /&gt;
&lt;br /&gt;
Além disso, são necessários valores de &amp;lt;math&amp;gt;u_{-1}^n&amp;lt;/math&amp;gt; e de &amp;lt;math&amp;gt;u_{j_{max}+1}^n&amp;lt;/math&amp;gt;, com &amp;lt;math&amp;gt;j_{max}&amp;lt;/math&amp;gt; correspondendo a &amp;lt;math&amp;gt;x = L&amp;lt;/math&amp;gt;, para calcularmos &amp;lt;math&amp;gt;u_1^{n}&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;u_{j_{max}}^{n}&amp;lt;/math&amp;gt;, para qualquer tempo, utilizando os métodos de Lax-Wendroff de dois passos e Lax-Friedrichs. A solução a este problema foi utilizarmos &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_{-1}^n = -u_{1}^n &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;u_{j_{max}+1}^n = -u_{j_{max}-1}^n &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Pensando na condição inicial &amp;lt;math&amp;gt; u(x,0) = \sin{\Big(\frac{\pi x}{L}\Big)} &amp;lt;/math&amp;gt;, e estendendo para além da corda (pensando no seno de &amp;lt;math&amp;gt; -\infty&amp;lt;x&amp;lt;\infty &amp;lt;/math&amp;gt;), observamos que ela respeita as equações acima.&lt;br /&gt;
&lt;br /&gt;
== Solução e Análise de erros ==&lt;br /&gt;
&lt;br /&gt;
Primeiramente, apresentamos abaixo as soluções geradas pelos programas, em comparação com a solução analítica.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Output_comp.png|frame|100px|center|Comparação da solução analítica com as soluções numéricas]]&lt;br /&gt;
&lt;br /&gt;
Aqui já podemos observar o que foi comentado na seção sobre o método de Lax-Friedrichs: devido à dissipação numérica inerente ao método, há uma diminuição da amplitude da onda ao longo do tempo, embora ela mantenha sua forma. Isso interferirá na análise do erro deste método, o que será apresentado na sequência.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
Nesse caso, a solução é &amp;lt;math&amp;gt;u(x, t) = \cos{\Big(\frac{\pi t}{L}\Big)}\sin{\Big(\frac{\pi x}{L}\Big)}&amp;lt;/math&amp;gt; &amp;lt;ref&amp;gt;&lt;br /&gt;
Weisstein, Eric W. &amp;quot;Wave Equation--1-Dimensional.&amp;quot; From MathWorld--A Wolfram Web Resource; disponível em: [http://mathworld.wolfram.com/WaveEquation1-Dimensional.html]; último acesso em 26/11/2017&amp;lt;/ref&amp;gt;.A análise de erros se torna mais evidente durante a escolha do parâmetro &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt;, onde &amp;lt;math&amp;gt;k = \frac{\Delta t}{\Delta x}&amp;lt;/math&amp;gt;. Valores grandes trazem pouca acurácia, e valores pequenos necessitam de muito poder de computação (tempo e dinheiro).&lt;br /&gt;
&lt;br /&gt;
O erro foi obtido efetuando uma média espacial, ou seja, o programa foi evoluindo até um tempo final &amp;lt;math&amp;gt;t_f = 100&amp;lt;/math&amp;gt;, e, em &amp;lt;math&amp;gt;t=t_f&amp;lt;/math&amp;gt;, foi feita uma média sobre o valor absoluto da diferença entre a solução analítica e a numérica. Aqui variamos o valor de &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt;, fixando &amp;lt;math&amp;gt; \Delta x=1&amp;lt;/math&amp;gt;, de forma que &amp;lt;math&amp;gt;k=\Delta t&amp;lt;/math&amp;gt;.&lt;br /&gt;
 &lt;br /&gt;
[[Arquivo:erro_dt.jpeg|frame|400px|center|Comparação do erro global entre os três métodos estudados com escala logarítimica em ambos os eixos]]&lt;br /&gt;
&lt;br /&gt;
Podemos observar que os erros crescem à medida que o parâmetro k se torna maior, como seria de se esperar. &lt;br /&gt;
&lt;br /&gt;
Além disso, sabendo a ordem do erro dos métodos, podemos determinar a inclinação da reta que melhor se ajusta aos pontos. Se um método tem erro de ordem &amp;lt;math&amp;gt;(\Delta t)^n&amp;lt;/math&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\varepsilon _l = \alpha (\Delta t)^n&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
em que &amp;lt;math&amp;gt;\varepsilon _l&amp;lt;/math&amp;gt; é o erro local, ou seja, o erro de um passo do método, e &amp;lt;math&amp;gt;\alpha&amp;lt;/math&amp;gt; é uma constante. Assim, o erro global &amp;lt;math&amp;gt;\varepsilon _g&amp;lt;/math&amp;gt;, ou seja, o erro após N passos, é dado por &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\varepsilon _g = N\varepsilon _l= N\alpha (\Delta t)^n &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Como &amp;lt;math&amp;gt;N = \frac{t_f}{\Delta t}&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;\varepsilon _g = \frac{t_f}{\Delta t}\alpha (\Delta t)^n = \alpha t_f (\Delta t)^{n-1}&amp;lt;/math&amp;gt;.&lt;br /&gt;
Logo, se o erro local é de ordem &amp;lt;math&amp;gt;(\Delta t)^n&amp;lt;/math&amp;gt;, o erro global (que é o que calculamos aqui) é de ordem &amp;lt;math&amp;gt;(\Delta t)^{n-1}&amp;lt;/math&amp;gt;. Além disso, como utilizamos escala logarítmica para representar os resultados, a função do erro global se torna&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;math&amp;gt;\log{\varepsilon _g} = \log{\alpha t_f (\Delta t)^{n-1}} = \log{\alpha t_f} + (n-1)\log{(\Delta t)}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ou seja, a inclinação do gráfico do erro global é &amp;lt;math&amp;gt;n-1&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Observamos que se determinarmos a reta que melhor se ajusta às curvas dos métodos de Leapfrog e Lax-Wendroff, ela tem inclinação aproximada de 1, já que os métodos são de ordem &amp;lt;math&amp;gt;(\Delta t)^2&amp;lt;/math&amp;gt;. Com relação ao gráfico do erro do método de Lax-Friedrichs, é mais complicado de fazer sua análise, uma vez que há o efeito de dissipação numérica, que se intensifica para valores menores de &amp;lt;math&amp;gt;\Delta t&amp;lt;/math&amp;gt;. Podemos observar nos dados que o  ponto de máximo na parte esquerda do gráfico corresponde a um erro de aproximadamente &amp;lt;math&amp;gt;0,63&amp;lt;/math&amp;gt;, que é a média da solução analítica no tempo &amp;lt;math&amp;gt;t = t_f&amp;lt;/math&amp;gt; (conforme solução analítica, a amplitude no tempo &amp;lt;math&amp;gt;t=100&amp;lt;/math&amp;gt; é &amp;lt;math&amp;gt;\cos{\Big(\frac{100\pi}{49}\Big)} \approx 1&amp;lt;/math&amp;gt;, e a média de &amp;lt;math&amp;gt;\sin{\Big(\frac{\pi x}{L}\Big)}&amp;lt;/math&amp;gt; vale &amp;lt;math&amp;gt;\frac{2}{\pi} \approx 0.64&amp;lt;/math&amp;gt;). Isso significa que, devido à dissipação, a solução numérica é praticamente 0 frente à solução analítica na parte esquerda do gráfico.&lt;br /&gt;
&lt;br /&gt;
== Simulação de Propagação de Onda 2D no Mar Dependente de Topografia ==&lt;br /&gt;
&lt;br /&gt;
O modelo mais simples para a propagação de onda dependente da topografia parte da equação da onda &amp;lt;ref&amp;gt;Lie, Knut-Andreas. &amp;quot;The Wave Equation in 1D and 2D&amp;quot;. Dept. of Informatics, University of Oslo; disponível em: [http://www.uio.no/studier/emner/matnat/ifi/INF2340/v05/foiler/sim04.pdf]; último acesso em 23/10/2017.&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;Hjorth-Jensen, Morten. Computational Physics, University of Oslo, 2009.&amp;lt;/ref&amp;gt;, incluindo uma velocidade dependente da posição, da forma &amp;lt;math&amp;gt;gH(x,y,t)&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; \frac{\partial^2 u}{\partial t^2}  = \Big( \frac{\partial}{\partial x} gH(x,y,t) \frac{\partial u}{\partial x}\Big) + \Big( \frac{\partial}{\partial y} gH(x,y,t) \frac{\partial u}{\partial y}\Big) - \frac{\partial^2 H}{\partial t^2} &amp;lt;/math&amp;gt; ,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sendo &amp;lt;math&amp;gt;H(x,y,t)&amp;lt;/math&amp;gt; uma representação da profundidade em águas calmas, &amp;lt;math&amp;gt;g&amp;lt;/math&amp;gt; a aceleração da gravidade e &amp;lt;math&amp;gt;u(x, y, t)&amp;lt;/math&amp;gt; a elevação da água em relação ao nível de águas calmas. Em uma situação real, pode-se obtê-la por mapeamento eletrônico do terreno por sistema de sonar. A dependência em &amp;lt;math&amp;gt;t&amp;lt;/math&amp;gt; de &amp;lt;math&amp;gt;H(x,y,t)&amp;lt;/math&amp;gt; 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. Entretanto, utilizaremos aqui &amp;lt;math&amp;gt;H = H(x, y)&amp;lt;/math&amp;gt;, sem dependência no tempo, e mudaremos as condições iniciais para a modelagem do problema, além de usarmos &amp;lt;math&amp;gt;g=1&amp;lt;/math&amp;gt;, para simplificarmos as expressões.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Grupo2_ondas1_imagem1.png |frame|500px|center| Exemplo de mapeamento de terreno sub - calota polar feito por AUV (&amp;#039;&amp;#039;autonomous underwater vehicle&amp;#039;&amp;#039;)&amp;lt;ref&amp;gt;Wadhams, M. J. Doble. &amp;quot;Digital terrain mapping of the underside of sea ice from a small AUV&amp;quot;; disponível em: DOI: 10.1029/2007GL031921 ; último acesso em 23/10/2017.&amp;lt;/ref&amp;gt; ]]&lt;br /&gt;
&lt;br /&gt;
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.  Pode ser mostrado que a velocidade da onda pode ser dada por &amp;lt;math&amp;gt;v=\sqrt{gH}&amp;lt;/math&amp;gt;, para o caso em que &amp;lt;math&amp;gt;\lambda&amp;lt;&amp;lt;H&amp;lt;/math&amp;gt;, o que é razoável para um tsunami, que tem um comprimento de onda da ordem de até centenas de quilômetros, com uma profundidade da ordem de quilômetros&amp;lt;ref name=lang&amp;gt;Silveira, F. L.; Varriale, M. C. &amp;quot;Propagação das ondas marítimas e dos tsunami&amp;quot;. Caderno Brasileiro de Ensino de Física, V. 22, N. 2: P. 190-215, 2005.&amp;lt;/ref&amp;gt;. Como o período da onde não se altera &amp;lt;ref name=lang&amp;gt;&amp;lt;/ref&amp;gt;, quanto menor a profundidade, menor a velocidade, e menor o seu comprimento de onda. Além disso, devido à conservação de energia, e supondo que a extensão da frente de onda não seja alterada, é obtida a chamada Lei de Green&amp;lt;ref name=lang&amp;gt;&amp;lt;/ref&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\frac{A_2}{A_1} = \Bigg(\frac{H_1}{H_2}\Bigg)^{\frac{1}{4}}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
em que &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; é a amplitude da onda, e os índices representando dois meios. Logo, quanto menos profundo, maior a amplitude da onda.  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. Nos gráficos abaixo podemos observar esses efeitos.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:top_visitados.jpg ‎|frame|500x500px||center| Pontos visitados por simulação em 1D ]]&lt;br /&gt;
&lt;br /&gt;
E no caso em que simulamos uma fina camada de líquido, podemos ver a diminuição de velocidade da onda e o aumento de sua amplitude, especialmente no trecho mais à esquerda:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:camada_de_liquido.gif ‎|frame|500px|center| Simulação em 1D de ondas perto da margem, com camada fina de líquido ]]&lt;br /&gt;
&lt;br /&gt;
É importante notar o quão poderosa é a integração de equações parciais na vida de um engenheiro.&lt;br /&gt;
&lt;br /&gt;
Estendendo o algoritmo de Leapfrog à situação 2D, obtemos, para uma condição inicial de uma gaussiana com média 0 e desvio padrão 1, tanto em &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; quanto em &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt;, e &amp;lt;math&amp;gt;H(x,y) = 1&amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:02ss.gif |frame|500px|center|Simulação em 2D de ondas em águas com profundidade constante, visão de cima]]&lt;br /&gt;
[[Arquivo:01ss.gif|frame|500px|center|Simulação em 2D de onda em águas com profundidade constante, visão em ângulo]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Podemos então, analisar como a mesma condição inicial se porta quando &amp;lt;math&amp;gt;H(x,y) = 1-e^{\frac{-(x^2 + y^2)}{2}}&amp;lt;/math&amp;gt;, simulando uma elevação de terra:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:02cs.gif |frame|500px|center|Simulação em 2D de ondas em águas com gaussiana na origem, visão de cima]]&lt;br /&gt;
[[Arquivo:01cs.gif|frame|500px|center|Simulação em 2D de onda em águas com gaussiana na origem, visão em ângulo]]&lt;br /&gt;
&lt;br /&gt;
Perfil da onda em sua diagonal:&lt;br /&gt;
[[Arquivo:Output_12344.png|frame|500px|center|Perfil da onda em sua diagonal no tempo de simulação igual a 300]]&lt;br /&gt;
&lt;br /&gt;
==Códigos==&lt;br /&gt;
&lt;br /&gt;
===Equação da onda em uma dimensão===&lt;br /&gt;
[[Lax-Friedrichs]]&lt;br /&gt;
&lt;br /&gt;
[[Lax-Wendroff de dois passos]]&lt;br /&gt;
&lt;br /&gt;
[[Leapfrog]]&lt;br /&gt;
&lt;br /&gt;
[[Erro: Lax-Friedrichs]]&lt;br /&gt;
&lt;br /&gt;
[[Erro: Lax-Wendroff de dois passos]]&lt;br /&gt;
&lt;br /&gt;
[[Erro: Leapfrog]]&lt;br /&gt;
&lt;br /&gt;
===Equação da onda em duas dimensões===&lt;br /&gt;
[[Onda 2D: Leapfrog]]&lt;br /&gt;
&lt;br /&gt;
==Bibliografia==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Heitor</name></author>
	</entry>
</feed>