Aula 23. Campo elétrico de uma distribuição estacionária de cargas: equação de Poisson. Laboratório Numérico 1

Documentos relacionados
Aula 19. Campo elétrico de uma distribuição estacionária de cargas: equação de Poisson Laboratório Numérico 1

Aula 19. Equações diferenciais independentes do tempo: problemas de condições fronteira (espacial) Laboratório Numérico 1

Aula 20. Transferência de calor em regime estacionário Laboratório Numérico 1

Lei de Fourier da condução

Aula 18. Equações diferenciais com condições fronteira num ponto: O pêndulo gravítico Laboratório Numérico 1

Aula 10. Representação de dados espaciais Laboratório Numérico 1

Aula 15. Equações diferenciais com condições fronteira num ponto: O pêndulo gravítico. Laboratório Numérico 1

Aula 15. Equações diferenciais com condições fronteira num ponto Laboratório Numérico 1

Aula 8. Integração numérica Laboratório Numérico 1

Aula 14. Integração numérica: método de Monte Carlo Laboratório Numérico 1

AULA 5. Raízes de equações não lineares. Equilíbrio térmico de um painel solar. Método da bisseção. Laboratório Numérico 1

AULA 7. Raízes de equações não lineares. Equilíbrio térmico de um painel solar. Método da bisseção Laboratório Numérico 1

Aula 13. Integração numérica Laboratório Numérico 1

VII Exemplos de Atratores Estranhos

sica- Matemática tica e a equação diferencial parcial que descreve o fluxo de calor

Aula 13. Séries undimensionais. Laboratório Numérico 1. Várias amostras da temperatura

Evidências Experimentais. Iberê L. Caldas

Aula 17. Equações diferenciais com condições fronteira num ponto: viscosidade Laboratório Numérico 1

Resolução Numérica da Equação de Condução do Calor em Uma Placa Bidimensional

Figura 4.1: Distribuição da malha e nomenclatura dos pontos.

Aula 11 E 2 E S E 3 E 1. Resolução de sistemas de equações lineares Laboratório Numérico 1. (1-a) 3 E 0. (1-a) 2 E 1 (1-a)E 2 a(1-a)e 1 ae 2

Fundamentos da Eletrostática Aula 06 Mais sobre o campo elétrico e a lei de Gauss

ASPECTOS MATEMÁTICOS DAS EQUAÇÕES

Seja (X,Y) uma v.a. bidimensional contínua ou discreta. Define-se valor esperado condicionado de X para um dado Y igual a y da seguinte forma:

X - Variedades Estáveis e Crises. Referência Principal: Chaos K. Alligood, T. D. Sauer, J. A. Yorke Springer (1997)

Aula 6. Resolução de sistemas de equações lineares: Método de Gauss. Input/output. Laboratório Numérico 1

ÁLGEBRA LINEAR I - MAT0032

Eletromagnetismo I. Prof. Daniel Orquiza. Eletromagnetismo I. Prof. Daniel Orquiza de Carvalho

IV Rotas para o Caos. E-Crises

SOLUÇÃO ANALÍTICA E NUMÉRICA DA EQUAÇÃO DE LAPLACE

INSTITUTO SUPERIOR TÉCNICO Mestrado Integrado em Engenharia Física Tecnológica Ano Lectivo: 2007/2008 Semestre: 1 o

x = u y = v z = 3u 2 + 3v 2 Calculando o módulo do produto vetorial σ u σ v : 9u 2 + 9v 2

Lei de Fourier. Considerações sobre a lei de Fourier. A lei de Fourier é fenomenológica, isto é, desenvolvida de fenômenos observados.

UNIVERSIDADE FEDERAL DO ABC

Capitulo 8 Transferência de Calor por Condução

MÉTODOS NUMÉRICOS. ENGENHARIA e GESTÃO INDUSTRIAL

Plasmas. Teoria de Partículas. Teoria Cinética. Teoria Magnetohidrodinâmica (MHD)

Fluidos não Newtonianos na Indústria do Petróleo

3 Revisão da literatura II: Fluxo em meios porosos

Convecção Natural. Profa. Mônica F. Naccache PUC- Rio. Professora Mônica F. Naccache Rio

Modelagem Computacional. Parte 8 2

Introdução. SPH p.2/20. Lucy e Gingold & Monaghan, 1977.

Aula 12. Aritmétrica complexa. Laboratório Numérico 1

4.1 Resolvendo o Sistema Linear

Aerodinâmica I. Cálculo Numérico do Escoamento em Torno de Perfis Método dos paineis Γ S

Análise Complexa e Equações Diferenciais Exame B de 30 de junho de 2014 Cursos: LEAN, LMAC, MEBiom, MEFT, MEMec

CÁLCUL O INTEGRAIS TRIPLAS ENGENHARIA

AULA 4. Estruturas e controlo: for, if, while, def. Somatórios. Funções python. Mais sobre regressão linear Laboratório Numérico 1

Utilização de Métodos de Cálculo Numérico em Aerodinâmica

Integrais Duplos e Triplos.

ESCOAMENTOS VARIÁVEIS EM PRESSÃO (Choque Hidráulico)

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano

Modelação Numérica 2017 Aula 19, 3/Maio

Exame Final de EDI-38 Concreto Estrutural I Prof. Flávio Mendes Neto Dezembro de 2006 Sem consulta (duração máxima: 4 horas)

Processos estocásticos

AULA 3. Estruturas de controlo e Organização do Código. Determinação da constante de Planck por mínimos quadrados. Laboratório Numérico 1

Trabalho Prático. CI316 Programação Paralela Prof. Daniel Weingaertner

Modelação Numérica 2017 Aula 18, 2/Maio

Escoamentos não isotérmicos

4.1. ESPERANÇA x =, x=1

Cálculo Numérico BCC760

Utilização de Métodos de Cálculo Numérico em Aerodinâmica

4 Formulação Numérica

CÁLCULO II - MAT0023. Nos exercícios de (1) a (4) encontre x e y em termos de u e v, alem disso calcule o jacobiano da

Eletromagnetismo II. 5 a Aula. Professor Alvaro Vannucci. nucci

Aula 9. Correlação cruzada Equações diferenciais às derivadas parciais

Eletromagnetismo I. Preparo: Diego Oliveira. Aula 7. Trabalho realizado em um campo eletrostático. F ext d l

Transferência de Calor

Dessa forma, podemos reescrever o domínio

n.estudante:... Eletromagnetismo / MIEEC; frequência 20.abr.2016;. Em cada pergunta só há uma resposta certa e só uma das justificações é a adequada.

Parte 1: Exercícios Teóricos

O Método de Diferenças Finitas

ANÁLISE COMPLEXA E EQUAÇÕES DIFERENCIAIS. Apresente e justifique todos os cálculos

Integrais Múltiplos. Slide 1. c 2000, 1998 Maria Antónia Carravilla FEUP

Fundamentos da Eletrostática Aula 05 A Lei de Coulomb e o Campo Elétrico

Métodos Numéricos C. A. Ismael F. Vaz 1. Escola de Engenharia Universidade do Minho Ano lectivo 2007/2008

Cinemática da partícula fluida

5 Análise para antenas em espiras inclinadas em relação ao eixo da ferramenta

LEEC Probabilidades e Estatística 1 a Chamada 13/06/2005. Parte Prática C (C) M 1% 9% 10% (M) 4% 86% 90% 5% 95% 100%

6 MÉTODO DE ELEMENTOS FINITOS - MEF

Sabendo que f(x) é um polinômio de grau 2, utilize a formula do trapézio e calcule exatamente

MAT 121 : Cálculo Diferencial e Integral II. Sylvain Bonnot (IME-USP)

Cálculo Diferencial e Integral II Resolução do Exame/Teste de Recuperação 02 de Julho de 2018, 15:00h - versão 2 Duração: Exame (3h), Teste (1h30)

Diferenciabilidade de funções reais de várias variáveis reais

Dinâmica das Máquinas Princípio do trabalho virtual

Equações não lineares

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano

Solução Numérica de EDOs

DCC008 - Cálculo Numérico

Aula 21. Equação de Fourier: solução transiente Laboratório Numérico 1

Física estatística. Teorema de virial e equipartição de energia MEFT, IST. The worst form of inequality is to try to make unequal things equal

1 A Equação Fundamental Áreas Primeiras definições Uma questão importante... 7

MAP Primeiro exercício programa Método de Diferenças Finitas para solução de problemas de contorno de equações diferenciais ordinárias

AULA 6. Input/output de dados ascii. Interpolação 2D. griddata Laboratório Numérico 1

EAC-082: Geodésia Física. Aula 5 Teoria do Potencial e PVCG

INSTITUTO SUPERIOR TÉCNICO Licenciatura em Engenharia Física Tecnológica Licenciatura em Engenharia e Gestão Industrial Ano Lectivo: 2002/

Métodos Numéricos em Equações Diferenciais Aula 02 - Método de Euler

Aula 18. Equações diferenciais com condições fronteira num ponto: viscosidade. Laboratório Numérico 1

Resolução do exame de matemática computacional

Método de Diferenças Finitas

Transcrição:

Aula 23 Campo elétrico de uma distribuição estacionária de cargas: equação de Poisson Laboratório Numérico 1

Equação de Poisson o potencial gerado por uma distribuição contínua de carga elétrica numa placa satisfaz à equação: 2 V x 2 + 2 V y 2 = ρ ε 0 em que V é o potencial elétrico, ρ(x, y) a densidade volúmica de carga e ε 0 a permitividade elétrica do meio. Em três dimensões, seria: 2 V = 2 V x 2 + 2 V y 2 + 2 V z 2 = ρ ε 0 2018 Laboratório Numérico 2

Diferenças centradas A diferença finita centrada, constitui uma aproximação de segunda ordem, i.e.: 2 φ x 2 φ i 1,j 2φ i,j + φ i+1,j Δx 2 + E Δx 2 Resultando da soma das duas séries de Taylor: etc. φ x + x = φ x + dφ dx x + 1 d 2 φ 2 dx 2 x2 + 1 d 3 φ 3! dx 3 x3 + φ x x = φ x dφ dx x + 1 d 2 φ 2 dx 2 x2 1 d 3 φ 3! dx 3 x3 + φ x + x + φ x x = 2φ x + d2 φ dx 2 x2 + 2 d 4 φ 4! dx 4 x4 + Laboratório Numérico 3

Equação de Poisson discreta, em diferenças centradas Se for Δx = Δy = Δ, fica φ i 1,j + φ i+1,j + φ i,j 1 + φ i.j+1 4φ i,j = Δ 2 f i,j i = 1,, M 2; j = 1,, N 2 onde se notou que as diferenças centradas só se podem calcular nos pontos interiors do domínio. Na fronteira os valores i = 0, M 1; j = 0, N 1, têm que ser impostos. Laboratório Numérico 4

Método da relaxação A solução satisfaz: φ i 1,j + φ i+1,j + φ i,j 1 + φ i.j+1 4φ i,j = Δ 2 f i,j Começamos por aribtrar uma distribuição para φ, por exemplo φ = 0, e vamos melhorar essa estimativa, de forma iterativa: Dada uma estimativa do campo φ, na iteração n existe um erro (resíduo R): n φ i 1,j Se se corrigir: n + φ i+1,j n + φ i,j 1 n + φ i,j+1 φ n+1 i,j = φ n i,j + R i,j 4 O erro será anulado (mas só nesse ponto!) 4φ n i,j Δ 2 f i,j = R i,j Laboratório Numérico 5

Sobre-relaxação simultânea Só se mantém um array de φ. Faz-se: φ i,j = φ i,j + β R i,j 4 i.e., à medida que se altera um ponto de grelha o novo valor já é utilizado no cálculo do resíduo dos pontos adjacentes. 1 β < 2 É o parâmetro de sobre-relaxação. Pode mostrar-se que o método converge mais rapidamente para: β opt = 2 π 2 1 M 2 + 1 N 2 1/2 Laboratório Numérico 6

Python: resolve 2 V = f def poisson(f,v0,x,y,maxiter,maxres,beta=0): [M,N]=f.shape; #determina a dimensão das matrizes dx=x[2,1]-x[1,1];dy=y[1,2]-y[1,1] if dx!=dy: #Admite-se espaçamento regular print('error in dx,dy') return V0,0,1e30,beta0 delta=dx if (beta<1) or (beta>2): #parametro de sobrerrelaxação beta=2-np.pi*np.sqrt(2.)*\ np.sqrt(1./m**2+1./n**2) V=V0 #inicializa a matriz soluçáo iter=0 resid=2*maxres #garante a primeira iteração 2018 Laboratório Numérico 7

python while resid>maxres and iter<maxiter: #iterações iter=iter+1 resid=0; vmax=0 for i in range(1,m-1): #vai de 1 a M-2 for j in range(1,n-1): R=V[i,j-1]+V[i,j+1]+V[i-1,j]+\ V[i+1,j]-4*V[i,j]-delta**2*f[i,j] V[i,j]=V[i,j]+beta*R/4; resid=max(resid,abs(r)) #condições fronteira: entram aqui! #se não se fizer nada V na fronteira fica sempre o mesmo #o que é uma condição fronteira possível vmax=np.max(np.abs(v)) resid=resid/vmax #residuo relativo return V,iter,resid,beta 2018 Laboratório Numérico 8

main import numpy as np import matplotlib.pyplot as plt plt.close('all') #fecha figuras anteriores Lx=1.;Ly=1.;M=51;N=41;delta=Lx/(M-1) #Malha de cálculo X=np.zeros((M,N));Y=np.zeros((M,N));ro=np.zeros((M,N)) for i in range(m): for j in range(n): X[i,j]=i*delta;Y[i,j]=j*delta ncargas=4 # define as cargas pontuais e sua localização xis=np.array([0.4,0.6,0.3,0.5]);yps=np.array([0.5,0.5,0.2,0.8]) q=np.array([1e-9,-1e-9,-1.5e-9,-2e-9]); for carga in range(ncargas): i=int(xis[carga]/delta) #i,j devem ser inteiros j=int(yps[carga]/delta) ro[i,j]=q[carga]/delta**2 #define a função forçadora na equação de Poisson (segundo membro) eps0=8.8544e-12; f=-ro/eps0 maxiter=5000 # número máximo de iterações maxres=1.e-8 # erro relative máximo V0=0*np.ones((M,N)) #potencial inicial beta0=0. #beta é calculado em poisson [V,niter,res,beta]=poisson(f,V0,X,Y,maxiter,maxres) Laboratório Numérico 9

gráficos plt.figure(2) map=plt.contourf(x,y,v,cmap='jet') # gráfico de isolinhas axes = plt.gca() axes.set_xlim([0.,lx]) axes.set_ylim([0.,ly]) plt.colorbar(map,label='v') plt.xlabel('m');plt.ylabel('m') plt.axis('equal') plt.show() plt.title(r'$\nabla^{2} V=\rho/\epsilon, iter=%6i, Resid=%10.3e, \beta=%8.4f $' % (niter,res,beta)) plt.savefig('poisson_final.png') Laboratório Numérico 10

Solução com condição fronteira V 0,Lx,(0,L y ) = 0 Laboratório Numérico 11

Com tudo =, mas V x y=o,ly = 0 Laboratório Numérico 12

Com tudo =, mas V y x=o,lx = 0 Laboratório Numérico 13

O atractor de Lorenz dx = σ(y x) dt σ = 10 dy = x ρ z y, ቐ ρ = 28 dt β = 2.667 dz = xy βz dt Variáveis: x intensidade da convecção y forçamento térmico (ΔT entre ascendente e descendente) z perturbação do gradiente vertical de temperatura Parâmetros: σ, ρ, β (dependem da viscosidade, da difusividade térmica e da geometria) Laboratório Numérico 14

import numpy as np;import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D def lorenz(x, y, z, s=10, r=28, b=2.667): x_dot = s*(y - x) y_dot = r*x - y - x*z z_dot = x*y - b*z return x_dot, y_dot, z_dot dt = 0.01; stepcnt = 10000 xs = np.empty((stepcnt + 1,)) ys = np.empty((stepcnt + 1,)) zs = np.empty((stepcnt + 1,)) xs[0], ys[0], zs[0] = (0., 1., 1.05) for i in range(stepcnt): x_dot,y_dot,z_dot=lorenz(xs[i],ys[i],zs[i]) xs[i+1] = xs[i] +x_dot * dt ys[i+1] = ys[i] +y_dot * dt zs[i+1] = zs[i] +z_dot * dt fig = plt.figure() ax = fig.gca(projection='3d') ax.plot(xs, ys, zs, lw=0.5) ax.set_xlabel("x Axis") ax.set_ylabel("y Axis") ax.set_zlabel("z Axis") ax.set_title("lorenz Attractor") plt.show() dx = σ(y x) dt σ = 10 dy = x ρ z y, ቐ ρ = 28 dt β = 2.667 dz = xy βz dt Laboratório Numérico 15

Seguindo 4 partículas que começam quase no mesmo ponto Ao fim de pouco tempo, cada partícula segue trajetorias completamente diferentes: CAOS Laboratório Numérico 16

Posição inicial das partículas dt=0.01;stepcnt=2000 num=4 xs = np.empty((stepcnt + 1,num)) ys = np.empty((stepcnt + 1,num)) zs = np.empty((stepcnt + 1,num)) cor=['red','green','blue','orange'] for k in range(num): xs[0,k],ys[0,k],zs[0,k]=\ (0.,1.+0.1*np.random.rand(), 1.05) Laboratório Numérico 17

Integração temporal for k in range(num): for i in range(stepcnt): x_dot,y_dot,z_dot=\ lorenz(xs[i,k], ys[i,k], zs[i,k]) xs[i+1,k]=xs[i,k]+(x_dot * dt) ys[i+1,k]=ys[i,k]+(y_dot * dt) zs[i+1,k]=zs[i,k]+(z_dot * dt) Laboratório Numérico 18

for i in range(20,stepcnt,20): fig = plt.figure(1) ax = fig.gca(projection='3d ) plt.scatter(1+np.max(xs[:,0]),\ 1+np.max(ys[:,0]),np.max(zs[:,0])+5,alpha=0) for k in range(num): ax.plot(xs[0:i,k], ys[0:i,k], zs[0:i,k],\ lw=0.5,color=cor[k]) ax.scatter(xs[i,k],ys[i,k],zs[i,k],color=cor[k]) ax.set_title("lorenz Attractor t=%4.1f "%(i*dt)) plt.pause(0.1) plt.show() if movie!='': frame=movie+str(i)+'.png' pngs.append(frame) plt.savefig(frame) plt.clf() Laboratório Numérico 19

if len(pngs)>0: import imageio import os images=[] for frame in pngs: images.append(imageio.imread(frame)) os.remove(frame) imageio.mimsave('lorenz.gif,\ images,duration=0.1) Laboratório Numérico 20