TEA784 Fundamentos de Engenharia Ambiental

Documentos relacionados
u t = ν A primeira coisa que você deve perceber é que essa equação apresenta um derivada de 2 ordem. Vamos aprender a lidar com isso.

Capítulo 2. APROXIMAÇÕES NUMÉRICAS 1D EM MALHAS UNIFORMES

0.5 setgray0 0.5 setgray1. Mecânica dos Fluidos Computacional. Aula 7. Leandro Franco de Souza. Leandro Franco de Souza p.

Figura 8.1: Distribuição uniforme de pontos em uma malha uni-dimensional. A notação empregada neste capítulo para avaliação da derivada de uma

3 Animação de fluidos com SPH

3 Método Numérico. 3.1 Discretização da Equação Diferencial

3 Metodologia de Avaliação da Relação entre o Custo Operacional e o Preço do Óleo

Notas Processos estocásticos. Nestor Caticha 23 de abril de 2012

Ao se calcular a média, moda e mediana, temos: Quanto mais os dados variam, menos representativa é a média.

NOÇÕES SOBRE CORRELAÇÃO E REGRESSÃO LINEAR SIMPLES

Introdução às Medidas em Física a Aula

Ao se calcular a média, moda e mediana, temos: Quanto mais os dados variam, menos representativa é a média.

7 - Distribuição de Freqüências

MAP Cálculo Numérico e Aplicações

Curvas Horizontais e Verticais

Prof. Lorí Viali, Dr.

Termo-Estatística Licenciatura: 4ª Aula (08/03/2013)

Faculdade de Engenharia Optimização. Prof. Doutor Engº Jorge Nhambiu

É o grau de associação entre duas ou mais variáveis. Pode ser: correlacional ou experimental.

PROVA 2 Cálculo Numérico. Q1. (2.0) (20 min)

PROBLEMA DE DIFUSÃO DE CALOR RESOLVIDO POR MEIO DE EQUAÇÕES DIFERENCIAIS PARCIAIS PARABÓLICAS

Curso de extensão, MMQ IFUSP, fevereiro/2014. Alguns exercício básicos

Interpolação Segmentada

Experiência V (aulas 08 e 09) Curvas características

Regressão Linear Simples by Estevam Martins

X = 1, se ocorre : VB ou BV (vermelha e branca ou branca e vermelha)

CAPÍTULO VI Introdução ao Método de Elementos Finitos (MEF)

Testes não-paramétricos

Algarismos Significativos Propagação de Erros ou Desvios

Cálculo Numérico BCC760 Interpolação Polinomial

MECÂNICA CLÁSSICA. AULA N o 7. Teorema de Liouville Fluxo no Espaço de Fases Sistemas Caóticos Lagrangeano com Potencial Vetor

Estatística II Antonio Roque Aula 18. Regressão Linear

Ângulo de Inclinação (rad) [α min α max ] 1 a Camada [360,0 520,0] 2000 X:[-0,2065 0,2065] Velocidade da Onda P (m/s)

D- MÉTODO DAS APROXIMAÇÕES SUCESSIVAS

Prof. Lorí Viali, Dr.

Um modelo nada mais é do que uma abstração matemática de um processo real (Seborg et al.,1989) ou

2) Método das diferenças finitas

CORRELAÇÃO E REGRESSÃO

1. ANÁLISE EXPLORATÓRIA E ESTATÍSTICA DESCRITIVA

FICHA de AVALIAÇÃO de MATEMÁTICA A 10.º Ano Versão 4

Matemática. Veículo A. Veículo B. Os gráficos das funções interceptam-se quando 50t = 80t

Resumo de Álgebra Linear - parte II

Departamento de Informática. Modelagem Analítica do Desempenho de Sistemas de Computação. Modelagem Analítica. Disciplina: Variável Aleatória

Eletrotécnica AULA Nº 1 Introdução

3.6. Análise descritiva com dados agrupados Dados agrupados com variáveis discretas

4 Critérios para Avaliação dos Cenários

5 Formulação para Problemas de Potencial

2 Metodologia de Medição de Riscos para Projetos

4 Discretização e Linearização

Flambagem. Cálculo da carga crítica via MDF

FICHA de AVALIAÇÃO de MATEMÁTICA A 10.º Ano Versão 2

Prof. Lorí Viali, Dr.

INTRODUÇÃO À MECÂNICA COMPUTACIONAL. Carlos Henrique Marchi & Fábio Alencar Schneider. Curitiba, dezembro de 2002.

Análise Complexa Resolução de alguns exercícios do capítulo 1

CAPÍTULO 2 DESCRIÇÃO DE DADOS ESTATÍSTICA DESCRITIVA

RISCO. Investimento inicial $ $ Taxa de retorno anual Pessimista 13% 7% Mais provável 15% 15% Otimista 17% 23% Faixa 4% 16%

Aprendizagem de Máquina

(1) A uma parede totalmente catalítica quanto para uma parede com equilíbrio catalítico. No caso de uma parede com equilíbrio catalítico, tem-se:

Os modelos de regressão paramétricos vistos anteriormente exigem que se suponha uma distribuição estatística para o tempo de sobrevivência.

RAD1507 Estatística Aplicada à Administração I Prof. Dr. Evandro Marcos Saidel Ribeiro

Radiação Térmica Processos, Propriedades e Troca de Radiação entre Superfícies (Parte 2)

Capítulo 24: Potencial Elétrico

NOTA II TABELAS E GRÁFICOS

Sempre que surgir uma dúvida quanto à utilização de um instrumento ou componente, o aluno deverá consultar o professor para esclarecimentos.

Robótica. Prof. Reinaldo Bianchi Centro Universitário FEI 2016

Capítulo 26: Corrente e Resistência

Universidade Federal do Paraná Departamento de Informática. Reconhecimento de Padrões. Classificadores Lineares. Luiz Eduardo S. Oliveira, Ph.D.

ANÁLISE DE ESTRUTURAS I INTRODUÇÃO AO MÉTODO DE CROSS

FICHA de AVALIAÇÃO de MATEMÁTICA A 10.º Ano Versão 1

Gestão e Teoria da Decisão

4 Autovetores e autovalores de um operador hermiteano

CURSO A DISTÂNCIA DE GEOESTATÍSTICA

Psicologia Conexionista Antonio Roque Aula 8 Modelos Conexionistas com tempo contínuo

Análise Exploratória de Dados

REGRESSÃO NÃO LINEAR 27/06/2017

8 Soluções Não Ideais

Teoria Elementar da Probabilidade

Variáveis indexadas, somatórios e produtórios

Mecânica. Sistemas de Partículas

MÉTODO DAS DIFERENÇAS FINITAS PARA SOLUÇÃO DE EQUAÇÃO ESCALAR DE LEIS DE CONSERVAÇÃO

Aerodinâmica I. Verificação de Códigos. Objectivo: verificar que o programa não tem erros

1. Obtenha o modelo de ½ carro:

Medidas e resultados em um experimento.

CQ110 : Princípios de FQ

7 Tratamento dos Dados

Diferenças finitas compactas para a equação de Poisson utilizando métodos iterativos

Elementos de Estatística e Probabilidades II

Centro de massa - Movimento de um sistema de partículas

Análise de Regressão Linear Múltipla VII

FICHA de AVALIAÇÃO de MATEMÁTICA A 10.º Ano Versão 3

ELETROTÉCNICA (ENE078)

Eventos coletivamente exaustivos: A união dos eventos é o espaço amostral.

2 Principio do Trabalho Virtual (PTV)

INTRODUÇÃO À ASTROFÍSICA

MÉTODO MULTIGRID DE CORREÇÕES ADITIVAS PARA A SOLUÇÃO NUMÉRICA ACOPLADA DAS EQUAÇÕES DE NAVIER- STOKES COM MALHAS NÃO-ESTRUTURADAS

2 Análise de Campos Modais em Guias de Onda Arbitrários

XXVII Olimpíada Brasileira de Matemática GABARITO Primeira Fase

Regressão Múltipla. Parte I: Modelo Geral e Estimação

Transcrição:

TEA784 Fundamentos de Engenhara Ambental Aula 02 da dscplna TEA784 Fundamentos da Engenhara Ambental, ofertada ao curso de Pós Graduação em Engenhara Ambental (PPGEA) da UFPR. Esta aula contém um estudo numérco da Convecção 1D. Recomendações geras: (1) Baxar a dstrbução de Python 3.5 Anaconda (Somente o Python 3.5 permte desenvolver Jupyter Notebooks) https://www.contnuum.o/downloads (https://www.contnuum.o/downloads) (2) Para os ncantes em Python, exstem aulas báscas no meu blog: http://www.lactea.ufpr.br/people/mercur/blog (http://www.lactea.ufpr.br/people/mercur/blog) Python Básco Numpy Básco Defnndo Funções em Python Introdução à solução numérca de EDPs Nessa aula, remos estudar Equações Dferencas Parcas (EDPs), onde o desconhecdo é uma função multvarada. O problema pode depender do tempo, t, e de uma dmensão espacal x (ou mas), o que sgnfca que necesstamos crar uma dscretzação através de uma grade para cada varável ndependente. Iremos começar nossa dscussão de análse numérca de EDPs com as equações: 1. Advecção 1 D lnear e não lnear 2. Dfusão 1 D 3. Burgers 1 D Espero que vocês gostem delas! :) Advecção 1D lnear (Equação do Transporte) http://localhost:8888/nbconvert/html/dropbox/ambental/2016/2016 Semestre 1/TEA784%20 %20Fundamentos%20de%20Engenhara%20Ambental/Not 1/12

A Equação da convecção (ou advecção) lnear undmensonal é o modelo mas smples que pode ser usado para aprendermos alguma cosa a respedo da solução numérca de EDPs. É surpreendente como essa pequena equação podem nos ensnar tanto! Aqu va ela: u u A equação representa uma onda se propagando com uma velocdade c na dreção x, sem mudança de forma. A varável u pode representar tanto a altura da onda quanto uma concentração de um poluente ou composto químco. Ela também é conhecda como equação da advecção ou equação do transporte. Com a condção ncal u(x, 0) = (x) u0 + c = 0, a equação tem uma solução exata data por: u0(x ct) Vamos lá: verfque sso! Faça as dervadas temporas e temporas e coloque na equação para ver se é realmente a solução. Observe a solução exata por um momento... nós sabemos duas cosas sobre ela: t u(x, t) = 1. o seu formato não muda, sendo sempre o mesmo que a onda ncal, u0, apenas se desloca na dreção x. 2. é constante ao longo das curvas característcas, x ct = constante. Isso sgnfca que para qualquer ponto no espaço e tempo, você pode voltar ao longo das curvas característcas até para encontrar o valor da solução. t = 0 Porque nós as chamamos de equações lneares? EDPs podem ser lneares ou não lneares. Numa equação lnear, a função ncógnta u e suas dervadas aparecem apenas em termos lneares, em outras palavras: não exstem produtos, potêncas ou funções transcedentas aplcadas nelas. Formas Geras das EDPs de 1 ordem: a a(x, y) u x + b(x, y) u y + c(x, y)u = f(x, y) EDP lnear a(x, y) u x + b(x, y) u y + c(x, y)u = f(x, y, u) EDP sem-lnear a(x, y, u) + b(x, y, u) + c(x, y)u = f(x, y, u) EDP quase-lnear u x u y (As EDPs sem e quase lneares são casos partculares das EDPs não lneares.) Qual a propredade mas mportante das equações lneares? Você se lembra? No caso de ter esquecdo: soluções podem ser superpostas para gerar novas soluções que anda satsfazem a equação orgnal. Isso é super útl! Dferenças Fntas http://localhost:8888/nbconvert/html/dropbox/ambental/2016/2016 Semestre 1/TEA784%20 %20Fundamentos%20de%20Engenhara%20Ambental/Not 2/12

O método das Dferenças Fntas é um método numérco onde o domíno do problema (que pode ser contínuo) é aproxmado como um domíno dscreto. No caso da Equação da Advecção remos dscretzar o tempo e o espaço. Imagne o gráfco espaço tempo, onde as coordenadas vertcas (ordenadas) representam o avanço no tempo, por exemplo de t n para t n+1 e as coordenadas horzontas (abscssas) representam o avanço no espaço: pontos consecutvos são x 1, x, e x +1. Assm, cra se uma grade (ou malha) onde cada ponto tem tanto um índce temporal quanto espacal. Veja uma representação gráfca: t n+1 t n x 1 x x +1 u(x, t) Para a solução numérca de, nós remos utlzar subscrtos para denotar a posção espacal, como u, e sobrescrtos para denotar um nstante temporal, como u n. Por exemplo, no caso da solução do ponto superor central na grade acma usaremos: u n+1. Cada nó da malha abaxo tem um índce, correspondente à posção espacal que aumenta para a dreta, e um índce n, correspondente ao nstante temporal que aumenta para cma. Uma pequena parte desta malha pode ser vsta abaxo: u n+1 1 u n 1 u n 1 1 u n+1 u n u n 1 Outra forma de explcar a nossa dscretzação da malha é dzer que ela fo construída com passos de tempo e espaço constantes, Δt e Δx: x u n = = u n+1 +1 u n +1 u n 1 +1 Δx e = n Δt u( Δx, n Δt) t n Dscretzando a equação do nosso modelo http://localhost:8888/nbconvert/html/dropbox/ambental/2016/2016 Semestre 1/TEA784%20 %20Fundamentos%20de%20Engenhara%20Ambental/Not 3/12

Vamos descobrr como dscretzar a equação da convecção lnear 1 D no espaço e no tempo. Por defnção, a dervada parcal com respeto ao tempo vara apenas com o tempo e não vara espacalmente; consequentemente a sua forma dscretzada vara apenas os índces n. De manera smlar, a dervada parcal em relação a x vara no espaço e não no tempo, e apenas o índce é afetado. x = 0 N Nós remos dscretzar a coordenada espacal em pontos ndexados a partr de de até, e o passo de tempo terá o tamanho Δt. Da defnção da dervada (apenas removendo o lmte), nós sabemos que para um Δx sufcentemente pequeno: u u(x + Δx) u(x) Essa fórmula pode ser aplcada a qualquer ponto. Porém, note que essa não é a únca manera de estmar a dervada. A nterpretação geométrca da prmera dervada u/ em qualquer ponto é que ela representa a nclnação da tangente à curva u(x). No esboço abaxo, é lustrada a lnha de nclnação da função u no ponto x (dervada exata). Se a fórmula acma for aplcada à x, ela rá aproxmar a dervada usando o ponto segunte na grade espacal: ela é conhecda como fórmula das dferenças progressvas. Entretanto, como é mostrado no desenho abaxo, nós poderíamos também ter estmado a dervada espacal usando o ponto anteror a x. Nesse caso a aproxmação é conhecda como fórmula das dferenças regressvas. Nós podemos nclusve utlzar os dos pontos, um em cada lado de x, e obter a fórmula das dferenças centradas (mas nesse caso o denomnador deve ser ). x Δx 2Δx http://localhost:8888/nbconvert/html/dropbox/ambental/2016/2016 Semestre 1/TEA784%20 %20Fundamentos%20de%20Engenhara%20Ambental/Not 4/12

Temos três maneras possíves para representar a forma dscreta de : Dferenças progressvas: usa x e x + Δx, Dferenças regressvas: usa x e x Δx, Dferenças centradas: usa dos pontos um em cada lado de. u/ O desenho acma também sugere que algumas fórmulas de dferenças fntas podem ser melhores que outras: aparentemente a aproxmação dada pela fórmula de dferenças centradas é mas próxma da nclnação da dervada "exata". Você está curoso(a) se sso é apenas um efeto da nossa fgura exagerada? Nós remos mostrar mas tarde como realzar essa observação de forma mas rgorosa! x As três fórmulas são: u u u u( x +1) u( x ) Δx u( ) u( ) x Δx x +1 x 1 u( ) u( x 1) 2Δx Dferenças progressvas Dferenças regressvas Dferenças centradas O método de Euler é equvalente a usar um esquema de dferenças fntas progressvas na dervada temporal. Vamos repetr a estratéga do método de Euler e escolher ncalmente o esquema de dferenças fntas regressvas para a dervada espacal. Nossa equação na forma dscretzada é: u n+1 u n u + n u n 1 c = 0, Δt Δx n n + 1 1 sendo que e representam dos passos consecutvos no tempo, e e são dos pontos vznhos da coordenada x dscretzada. Dadas as condções ncas, a únca ncógnta nessa dscretzação é u n+1. Nós solamos essa ncógnta na equação para resolver o problema segundo uma marcha no tempo: u n+1 = u n Δt c ( u n 1) Δx un Então vamos calcular! Ok. Vamos utlzar um pouco de Python nessa nossa camnhada. Prmero: devemos carregar nossos bblotecas para ldar com vetores (arrays) e gráfcos (plots). Es um truque elegante para confgurar parâmetros de plotagem globas como módulo rcparams. http://localhost:8888/nbconvert/html/dropbox/ambental/2016/2016 Semestre 1/TEA784%20 %20Fundamentos%20de%20Engenhara%20Ambental/Not 5/12

In [4]: mport numpy from matplotlb mport pyplot %matplotlb nlne from matplotlb mport rcparams rcparams['font.famly'] = 'serf' rcparams['font.sze'] = 16 Como um prmero exercíco, nós vamos resolver a equação da advecção lnear 1D com uma condção ncal de onda quadrada, defnda da segunte manera: u(x, 0) ={ 2 1 para 0.5 x 1, x em (0, 2) x u = 1 x (0, 2) x = 0, t Nós também precsamos de uma condção de contorno em : em. Nosso domíno espacal para a solução numérca rá ser:. Agora remos defnr algumas varáves; nós queremos fazer uma malha de pontos unformemente espaçados no domíno espacal. No códgo abaxo, nós defnmos uma varável chamada nx que representará o número de nós (ou pontos) na grade espacal, e a varável dx que representará a dstânca entre cada par de pontos adjacentes. Nós também podemos defnr um passo de tempo dt, o número de passos de tempo, nt, e o valor da velocdade da onda: remos manter as cosas c = 1 smples e fazer. In [5]: nx = 41 # tente mudar este número de 41 para 81 e rodar tudo novamente... o que acontece? dx = 2/(nx 1) nt = 25 dt =.02 c = 1 #suponha velocdade da onda c = 1 x = numpy.lnspace(0,2,nx) Nós também precsamos declarar nossas condções ncas. Aqu, remos utlzar a função do NumPy ones(), que defne um array com nx e todos os valores guas a. Quão útl! Nós então alteramos um pedaço do array para o valor, para obter uma onda quadrad, e então nós plotamos (fazemos o gráfco) do nosso array ncal apenas para admrá lo. Mas quas valores nós devemos alterar? O problema defnu que nós precsamos mudar os índces de u de forma que a onda quadrada comece em e acabe em. Nós podemos usar a função numpy.where para retornar a lsta de índces para os quas o vetor x satsfaz (ou não satsfaz) alguma condção. u = 2 x = 0.5 x = 1 1 http://localhost:8888/nbconvert/html/dropbox/ambental/2016/2016 Semestre 1/TEA784%20 %20Fundamentos%20de%20Engenhara%20Ambental/Not 6/12

In [6]: u = numpy.ones(nx) #função numpy ones() lmsup = numpy.where(x >= 0.5) lmnf = numpy.where(x <= 1) prnt(lmsup) prnt(lmnf) (array([10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2 5, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40], dtype =nt64),) (array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 1 5, 16, 17, 18, 19, 20], dtype=nt64),) Isso nos dá dos vetores. lbound, que contém os índces para x 1 x.5 e ubound, que contém os índces para. Para combnar esses dos vetores, nós podemos usar a ntersecção entre eles, com numpy.ntersect1d. In [7]: ntersecao = numpy.ntersect1d(lmnf, lmsup) u[ntersecao]=2 #fazendo u = 2 entre 0.5 e 1 de acordo com nossas condcoes nc as prnt(u) [ 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 2. 2. 2. 2. 2. 2. 2. 2. 2. 2. 2. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1.] Lembre se que o Python pode também aglutnar comandos, nós poderíamos ter escrto: u[numpy.ntersect1d(numpy.where(x >= 0.5), numpy.where(x <= 1))] = 2 o que dara um códgo mas curso, mas sera mas dfícl de ler. Agora vamos dar uma olhada nas condções ncas que construímos com um gráfco rápdo. http://localhost:8888/nbconvert/html/dropbox/ambental/2016/2016 Semestre 1/TEA784%20 %20Fundamentos%20de%20Engenhara%20Ambental/Not 7/12

In [8]: pyplot.plot(x, u, color='#003366', ls=' ', lw=3) pyplot.ylm(0,2.5); Isso era o que esperávamos? Parece que os lados dessa onda quadrada não estão perfetamente na vertcal. Isso está correto? Pense um pouco. Agora é hora de escrever o códgo para a forma dscreta da nossa equação da advecção usando o esquema de dferenças fntas escolhdo. Para cada elemento do nosso vetor u, nós precsamos realzar a operação: u n+1 = u n Δt c ( u n 1) Δx un Nós remos guardar os resultados em um vetor novo (temporáro) un, o qual rá armazenar a solução u do passo de tempo sequente. Nós remos repetr essa operação para quantos passos de tempo qusermos e então remos ver o quão longe a nossa onda terá vajado. Temos duas operações teratvas: uma no espaço e outra no tempo. Começamos annhando o loop espacal dentro do loop de tempo, como mostrado abaxo. O vetor un armazena uma cópa da nossa função u no tempo n, utlzando a função Numpy copy(). O códgo do esquema de dferenças fntas é escrto em seguda: http://localhost:8888/nbconvert/html/dropbox/ambental/2016/2016 Semestre 1/TEA784%20 %20Fundamentos%20de%20Engenhara%20Ambental/Not 8/12

In [9]: for n n range(1,nt): un = u.copy() for n range(1,nx): u[] = un[] c*dt/dx*(un[] un[ 1]) Nota A forma como o códgo fo escrto é relatvamente nefcente, exstem melhores maneras de escrevê lo, no estlo Python, mas por enquanto seguremos assm. Vamos nspeconar o vetor solução após o avanço no tempo com um lne plot. In [10]: pyplot.plot(x, u, color='#003366', ls=' ', lw=3) pyplot.ylm(0,2.5); Que engraçado. Nossa onda quadrada se moveu para a dreta, mas não é mas uma onda com o formato de um chapéu. O que está acontecendo? Investgando mas detalhes: A solução dfere da onda quadrada que era esperada pos a equação dscretzada é uma aproxmação da equação dferencal contínua que nós queremos resolver. Exstem erros: nós sabemos dsso. Mas o formato modfcado da onda ncal é algo curoso. Talvez ele pode ser melhorado fazendo a grade mas fna. Porque você não tenta sso? Isso ajuda? Erro do truncamento na dervada espacal http://localhost:8888/nbconvert/html/dropbox/ambental/2016/2016 Semestre 1/TEA784%20 %20Fundamentos%20de%20Engenhara%20Ambental/Not 9/12

Relembrando a aproxmação de dferença fnta que fo utlzada para a dervada espacal: u u(x + Δx) u(x) Nós obtvemos sso usando a defnção da dervada no ponto, e smplesmente removendo o lmte, assumndo que o Δx é muto pequeno. Entretanto, sso gerou um erro de truncamento. Usando a expansão em sére de Taylor para os termos espacas, nós observamos que o esquema da dferenças regressvo produzu um método de prmera ordem. Δx u( x ( ) = ) u( x 1) Δx + 2 u ( ) ( ) + Δx 2 2 x Δx 2 3 u 6 3 x u x O termo que fo neglgencado na aproxmação de dferenças fntas é da ordem de grandeza de,. Nós também observamos que a aproxmação converge para a dervada exata na medda que. Isso é uma ótma notíca! Δx O(Δx) Δx 0 Em resumo, o esquema de dferenças fntas escolhdo "progressvo tempo/regressvo espaço" é um método de prmera ordem no tempo e no espaço: os erros de truncamento são O(Δt, Δx). Nós remos voltar a esse resultado em breve. Advecção não lnear Vamos analsar agora a equação da advecção não lnear, utlzando os mesmos métodos anterores. A EDP é: u u t + u = 0 A únca dferença com o caso lnear é que fo trocada a velocdade da onda contante c por uma velocdade varável u. A equação é não lnear pos agora temos um produto da solução com uma das suas dervadas: o produto. Isso muda tudo! u u/ Nós remos utlzar a mesma dscretzação que fo desenvolvda para a advecção lnear: dferenças progressvas no tempo e dferenças regressvas no espaço. Es a equação dscretzada: u n+1 u n u + n u n u n 1 = 0 Δt Δx Isolando a únca ncógnta, u n+1, obtemos a equação que pode ser usada na marcha do tempo: u n+1 = u n u n Δt ( u n 1) Exste pouca cosa que precsamos mudar no códgo que fo escrto até agora. Inclusve, remos utlzar a mesma condção ncal de onda quadrada. Lembre se de re ncalzar a varável u com os valores ncas, e re escrever os parâmetros numércos aqu (não precsamos mas da constante c). Δx un http://localhost:8888/nbconvert/html/dropbox/ambental/2016/2016 Semestre 1/TEA784%20 %20Fundamentos%20de%20Engenhara%20Ambental/No 10/12

In [12]: ##parametros do problema nx = 41 dx = 2/(nx 1) nt = 10 dt =.02 ##condcoes ncas u = numpy.ones(nx) u[numpy.ntersect1d(lmnf, lmsup)]=2 Como fcou a condção ncal? Vamos dar uma olhada? In [13]: pyplot.plot(x, u, color='#003366', ls=' ', lw=3) pyplot.ylm(0,2.5); Se mudarmos apenas uma lnha de códgo na solução da advecção (ou convecção) lnear, nós seremos capazes de obter a solução não lnear: a lnha corresponde à equação dscretzada que agora contém un[] no lugar onde antes era c. Poderíamos escrever algo como: for n n range(1,nt): un = u.copy() for n range(1,nx): u[] = un[] un[]*dt/dx*(un[] un[ 1]) Nós remos fazer algo mas esperto que sso e utlzaremos o Numpy para atualzar todos os valores da nossa grade espacal de uma vez apenas! Estude o códgo abaxo, e compare com o códgo de cma. http://localhost:8888/nbconvert/html/dropbox/ambental/2016/2016 Semestre 1/TEA784%20 %20Fundamentos%20de%20Engenhara%20Ambental/No 11/12

In [14]: for n n range(1, nt): un = u.copy() u[1:] = un[1:] un[1:]*dt/dx*(un[1:] un[0: 1]) u[0] = 1.0 In [15]: pyplot.plot(x, u, color='#003366', ls=' ', lw=3) pyplot.ylm(0,2.5); Hmm. Isso é nteressante: como no caso lnear, observamos que nós perdemos os lados ortogonas na nossa onda ncal, mas tem mas!! Agora, a onda também perdeu a smetra! Parece que a parte trazera está sofrendo um relaxamento, enquanto a parte da frente está com uma curvatura mas acentuada. Isso é mas um erro numérco? Não!! É Físca!!! Investgue mas Pense sobre o efeto de que substtumos a velocdade da onda constante c por uma varável de velocdade dada pela solução u. Isso sgnfca que dferentes partes da onda movem se com velocdades dferentes. Faça um esboço da onda ncal e pense onde a velocdade é mas alta e onde a velocdade é menor... In [ ]: In [ ]: http://localhost:8888/nbconvert/html/dropbox/ambental/2016/2016 Semestre 1/TEA784%20 %20Fundamentos%20de%20Engenhara%20Ambental/No 12/12