Aula 9 Correlação cruzada Equações diferenciais às derivadas parciais 1
Correlação entre series (& teorema da correlação) clear all;close all;clc nx=1000;dx=5;x=[-0:dx:(nx-1)*dx]; Ls=[100,100,100];x1s=[2000,2000,2000];x2s=[1000,2000,2500];Amp2s=[1,2,-5]; for caso=1:length(ls); L=Ls(caso);x1=x1s(caso);x2=x2s(caso);Amp2=Amp2s(caso); figure(caso) f1=exp(-((x-x1)/l).^2); f2=amp2*exp(-((x-x2)/l).^2); subplot(3,1,1);plot(x,f1,'r');hold on;plot(x,f2,'b') [xcf,lags]=crosscorr(f1,f2,nx/2); subplot(3,1,2);plot(lags*dx,xcf);xlabel('crosscorr LAG') axis([-nx*dx/2,nx*dx/2,-1.1,1.1]) F1=fft(f1-mean(f1));F2=fft(f2-mean(f2));FF=conj(F1).*F2;cc=ifft(FF); subplot(3,1,3);plot(x,cc/(std(f1)*std(f2)*nx));xlabel('fft LAG') axis([min(x),max(x),-1.1,1.1]) end Modelação Numérica 2
Caso 1: series positivamente correlacionadas com desfasamento Série 1, série 2 crosscorr(f1,f2,nx/2); F1=fft(f1);F2=fft(f2); FF=conj(F1).*F2; cc=ifft(ff); Modelação Numérica 3
Caso 1: series positivamente correlacionadas sem desfasamento Série 1, série 2 crosscorr(f1,f2,nx/2); F1=fft(f1);F2=fft(f2); FF=conj(F1).*F2; cc=ifft(ff); Modelação Numérica 4
Caso 1: séries negativamente correlacionadas com desfasamento Série 1, série 2 crosscorr(f1,f2,nx/2); F1=fft(f1);F2=fft(f2); FF=conj(F1).*F2; cc=ifft(ff); Modelação Numérica 5
Comentários O método de Fourier de cálculo da correlação é muito rápido (se o comprimento da série permitir a fft (e.g. N = 2 k 3 m 5 n k, m, n I)) e preciso. O método assume continuidade cícilica. O cáculo explícito (no domínio físico) assume continuidade nula das series e é, em geral, muito demorado. Modelação Numérica 6
Equações diferenciais às derivadas parciais Sugestão de leitura: Numerical Recipes (Press et al., disponível online) Muitos problemas envolvem a solução de equações diferenciais. A sua solução numérica requer discretização e sua transformação em equações algébricas: o teorema da amostragem deve ser satisfeito. No caso das equações diferenciais às derivadas parciais existem 2 ou mais variáveis independentes, podendo uma dessas variáveis ser o tempo. É conveniente classificar os problemas representados por estas equações em duas classes: problemas de condições iniciais (dependentes do tempo), e problemas de condições fronteira (independentes do tempo). Modelação Numérica 7
Equações (exemplos com primeiras e segundas derivadas) Equação de advecção (linear,1d) Equação da difusão (linear, 1D) Equação de Poisson (2D) T t T = u, u = const x T = K 2 T t x2, K = const 2 V + 2 V x 2 y 2 = f x, y Equação de Laplace (2D) 2 T + 2 T = 0 x 2 y 2 Equação de ondas (2D) 2 u t 2 = c2 2 u + 2 u x 2 y 2 Modelação Numérica 8
Equação de Navier-Stokes u t = u u x v u y u w z 1 p ρ x + fv + ν 2 Difusão u x 2 + 2 u y 2 Advecção não linear Equação fundamental da mecânica de fluidos, com aplicação na Meteorologia e Oceanografia. É uma equação diferencial não linear de segunda ordem. A solução numérica destas equações requer a sua transformação em equações algébricas discretas. Existem vários métodos: diferenças finitas, elementos finitos, método espectral. Modelação Numérica 9
Diferenças finitas (recordando ) f x 0 + Δx = f x 0 + f x x=x0 Δx + 1 2 2 f x 2 Δx 2 + 1 3! x=x 0 3 f x 3 x=x 0 Δx 3 + f x 0 Δx = f x 0 f x x=x0 Δx + 1 2 2 f x 2 Δx 2 1 3! x=x 0 3 f x 3 x=x 0 Δx 3 + f = f x 0 + Δx f x 0 x x=x0 Δx Diferença centrada 1 2 2 f x 2 Δx + = f x 0 + Δx f x 0 Δx x=x 0 f = f x 0 + Δx f x 0 Δx x x=x0 2Δx + O(Δx 2 ) + O(Δx) 2ª ORDEM Resulta do cancelamento entre termos Diferença avançada Modelação Numérica 10
Diferenças finitas (recordando ) f x 0 + Δx = f x 0 + f x x=x0 Δx + 1 2 2 f x 2 Δx 2 + 1 3! x=x 0 3 f x 3 x=x 0 Δx 3 + f x 0 Δx = f x 0 f x x=x0 Δx + 1 2 2 f x 2 Δx 2 1 3! x=x 0 3 f x 3 x=x 0 Δx 3 + Diferença centrada 2 f x 2 = f x 0 + Δx + f x 0 Δx 2f(x 0 ) Δx 2 + O(Δx 2 ) x=x 0 2ª ORDEM Modelação Numérica 11
Diferenças de ordem mais elevada Combinando series de Taylor para f x 0 ± nδx, podem estabelecer-se aproximações às derivadas até qualquer ordem, implicando no entanto que o cálculo de uma derivada requer valores da função numa vizinhança cada vez mais extensa, o que não é prático e traz problemas quando nos aproximamos da fronteira. Por exemplo, no caso das diferenças centradas, elas só podem ser calculadas em pontos interiors, devendo os pontos de fronteira ser calculados à parte (na condição fronteira) f x xk 1 Δx f k+1 + f k 1 f x? f k 1 f k f k+1 Ponto de fronteira Exterior Modelação Numérica 12
Considerações iniciais A precisão do método utilizado na discretização é só uma das propriedades relevantes a considerar. Seja qual for a precisão, um método consistente deve convergir para a solução analítica no limite Δx 0. Independentemente da precisão, um método só é útil se for numericamente estável, i.e. se o erro não crescer exponencialmente. Este critério é muito relevante para problemas que evoluem no tempo. O erro de um método precisa de ser caracterizado em detalhe. Por exemplo: como se traduz na representação da propagação de ondas (velocidade de fase e de grupo), como discrimina os diferentes comprimentos de onda (dispersão), etc.. O teorema da amostragem é relevante! Estes tópicos serão importantes nos exemplos deste curso. Modelação Numérica 13
Equação de advecção (linear,1d) T t = u T x A equação é linear se u = const e tem, nesse caso, solução analítica. Em qualquer caso trata-se de um problema de valores iniciais. I.e., dada a distribuição inicial T x, t = 0 calcular T(x, t, t > 0). Vamos discretizar a função T x, t T nδt kδx T n k (O índice superior representa tempo, o inferior espaço). Vamos ensaiar uma solução por diferenças finitas usando o método de Euler, com diferenças avançadas no tempo e centradas no espaço: T k n+1 T k n Δt = u T n k+1 n T k 1 2Δx T n+1 k = T n k uδt T n k+1 n T k 1 Trata-se de um método com 1 nível (o cálculo da solução no passo de tempo n só depende de 1 passo anterior n 1. Trata-se de um método explícito T k n+1 depende do campo no passo de tempo anterior (e não do seu valor noutros pontos em t = nδt) 2Δx Modelação Numérica 14
T n+1 k = T n k uδt T n k+1 n T k 1 2Δx Trata-se de um método de 1ª ordem no tempo e de segunda ordem no espaço. A solução depende de condições fronteira espaciais. Vamos definir a solução num domínio espacial finito x 0, L x x k = (k 1)Δx, k = 1 N Vamos considerar dois casos: Condições cíclicas (periódicas) x 0 = x N, x N+1 = x 1 Condições abertas T x = 0, em x = x 1, x = x N Modelação Numérica 15
FTCS (método instável) clear all;close all;clc;nx=1000;dx=5;u=2;dt=1;l=100;x0=1000; x=[-0:dx:(nx-1)*dx];x0=dx*nx/2; courant=u*dt/dx;nt=5000;passo=50; TI=exp(-((x-x0)/L).^2); T=TI;TP=T; figure(1) for it=2:nt for ix=2:nx-1 TP(ix)=T(ix)-u*dt/(dx*2)*(T(ix+1)-T(ix-1)); end TP(nx)=T(nx)-u*dt/(dx*2)*(T(1)-T(nx-1)); %fronteira cíclica TP(1)=T(1)-u*dt/(dx*2)*(T(2)-T(nx)); %fronteira cíclica T=TP; if max(t)>10 hold on; text(1000,0.5,[ Instavel@',num2str(it)]) break end end Modelação Numérica 16
Executar código (FTCS) u nδt Estado inicial Solução@548 FTCS OK Modelação Numérica 17
O método de Euler (FTCS) é incondicionalmente instável A instabilidade é neste caso independente da escolha dos parâmetros de discretização Δt, Δx e não é uma consequência da ordem da aproximação. É possível definr esquemas de 1ª ordem (ou ordem mais elevada) condicionalmente estáveis. Modelação Numérica 18
Aproximação de Lax Em vez de T n+1 k = T n k uδt T n n k+1 Tk 1 2Δx Fazemos: T n+1 k = 1 (T n 2 k 1 n + T k+1 ) uδt T n n k+1 T k 1 2Δx Continua a ser um método com 1 nível temporal e de primeira ordem no tempo e segunda no espaço. Modelação Numérica 19
Comportamento do método de LAX Estável, difusivo Solução analítica Número de Courant Estável Quase perfeito! uδt Δx 1 estável Instável > 1 instável Modelação Numérica 20
Código (LAX) clear all;close all;clc; nx=1001;dx=5;u=4;dt=1.; L=100;x0=1000; x=[-x0:dx:(nx-1)*dx-x0]; courant=u*dt/dx;voltas=10; nt=(max(x)-min(x))/u/dt*voltas; TI=exp(-(x/L).^2);axx=[min(x),max(x),-0.1,+1.1]; T=TI;TP=T; for it=2:nt for ix=2:nx-1 TP(ix)=0.5*(T(ix-1)+T(ix+1))-u*dt/(dx*2)*(T(ix+1)-T(ix-1)); end end TP(nx)=0.5*(T(nx-1)+T(1))-u*dt/(dx*2)*(T(1)-T(nx-1)); TP(1)=0.5*(T(nx)+T(2))-u*dt/(dx*2)*(T(2)-T(nx)); T=TP; Níveis temporais T T n TP T n+1 Condição fronteira cíclica Modelação Numérica 21