Resolução da equação da onda bidimensional aplicada a um problema físico.
CURSO DE GRADUAÇÃO EM FÍSICA BACHARELADO
Resolução da equação da onda bidimensional aplicada a um problema físico.
Dener Lemos
Rio Grande, Abril de 2013
Introdução
A Física Computacional é uma disciplina que envolve diretamente Física, Matemática e Computação, sua principal característica é a utilização da computação e da matemática para interpretação de alguns problemas físicos com ou sem solução teórica. A linguagem de programação utilizada foi o Python e utilizando o Easy GIF Animator para …exibir mais conteúdo…
Para isso precisamos de Condições iniciais.
A condição que satisfaz meu problema é uma curva Gaussiana do tipo:
z = 0.1e-(X²+Y²)/(2u²)
Onde, z = é uma função da posição e do tempo que descreve o comportamento da onda;
X = é a variação x da malha
Y = é a variação y da malha u = Desvio-Padrão
Gráficos de Condição inicial:
[pic]
Figura 2 – Gráfico da Z x tempo da Condição Inicial
[pic]
Figura 3 – Gráfico 2D da Condição Inicial
[pic]
Figura 4 – Gráfico 3D da Condição Inicial
Utilizando dx = dy = 200 metros, de -100 a 100 v = 0,3m/s
O Programa segue em anexo: ondas.py from mpl_toolkits.mplot3d import Axes3D from matplotlib import cm from matplotlib.ticker import LinearLocator, FormatStrFormatter import matplotlib.pyplot as plt import numpy as np import pylab as py import time
#Condicoes iniciais u = 20 #desvio-padrao v = 0.3 #velocidade de propagacao da onda dx = 200.0 #grade em x dy = 200.0 #grade em y p = 2.5 #intervalo de pontos na grade dt = 0.9*(dx/v)/(np.sqrt(2))#intervalo temporal
Nt = int((dx)/p + 2) #Numero de imagens da simulacao x = np.arange(-dx/2,(dx/2)+p,p); y = np.arange(-dy/2,(dy/2)+p,p);
R = float(((v*dt)/(dx))**2)
X,Y = np.meshgrid(x,y);
z = np.zeros((len(x),len(y),Nt))
z[:,:,0] = 0.1*np.exp((-(X**2.0+Y**2.0))/(2.0*u**2.0)) #curva Gaussiana z[:,:,1] = 0.1*np.exp((-(X**2.0+Y**2.0))/(2.0*u**2.0)) #curva Gaussiana
py.plot(z[:,:,0])
py.ylabel('Z')