Você está na página 1de 132

UNIVERSIDADE FEDERAL DO CEARÁ

CENTRO DE TECNOLOGIA
DEPARTAMENTO DE ENGENHARIA HIDRÁULICA E AMBIENTAL
MESTRADO EM ENGENHARIA CIVIL
ÁREA DE CONCENTRAÇÃO EM RECURSOS HÍDRICOS

FRANCISCO DAS CHAGAS AZEVEDO DOS REIS

MODELAGEM MATEMÁTICA E COMPUTACIONAL DA CONTAMINAÇÃO DE


AQUÍFEROS COM USO DE MÉTODOS NUMÉRICOS SEM MALHA

FORTALEZA – CEARÁ
2014
ii

FRANCISCO DAS CHAGAS AZEVEDO DOS REIS

MODELAGEM MATEMÁTICA E COMPUTACIONAL DA CONTAMINAÇÃO DE


AQUÍFEROS COM USO DE MÉTODOS NUMÉRICOS SEM MALHA

Dissertação submetida à Coordenação do


Curso de Pós-Graduação em Engenharia
Civil, com área de concentração em
Recursos Hídricos, como parte dos
requisitos para a obtenção do título de
Mestre em Engenharia Civil.

Orientador: Prof. PhD. Marco Aurélio


Holanda de Castro

FORTALEZA – CEARÁ
2014
iii

Dados Internacionais de Catalogação na Publicação


Universidade Federal do Ceará
Biblioteca de Pós-Graduação em Engenharia - BPGE

R31m Reis, Francisco das Chagas Azevedo dos.


Modelagem matemática e computacional da contaminação de aquíferos com uso de métodos
numéricos sem malha / Francisco das Chagas Azevedo dos Reis. – 2014.
117 f. : il. color., enc. ; 30 cm.

Dissertação (mestrado) – Universidade Federal do Ceará, Centro de Tecnologia, Departamento


de Engenharia Hidráulica e Ambiental, Programa de Pós-Graduação em Engenharia Civil, Fortaleza,
2014.
Área de Concentração: Recursos Hídricos
Orientação: Prof. Dr. Marco Aurélio Holanda de Castro.

1. Recursos hídricos. 2. Equações diferenciais parciais. 3. Difusão. I. Título.

CDD 627
iv

FRANCISCO DAS CHAGAS AZEVEDO DOS REIS

MODELAGEM MATEMÁTICA E COMPUTACIONAL DA CONTAMINAÇÃO DE


AQUÍFEROS COM USO DE MÉTODOS NUMÉRICOS SEM MALHA

Dissertação submetida à Coordenação do


Curso de Pós-Graduação em Engenharia
Civil, com área de concentração em
Recursos Hídricos, como parte dos
requisitos para a obtenção do título de
Mestre em Engenharia Civil. Área de
concentração: Recursos Hídricos.
v

À Deus. A minha mãe, esposa, filhas e


familiares em geral, os quais servem de
base para tudo que realizo.
vi

AGRADECIMENTOS

Agradeço em especial à minha esposa Patrícia Nunes dos Reis, pelo seu
apoio irrestrito na confecção desse trabalho, as minhas filhas que toleraram as
minhas ausências. Ao meu orientador professor Marco Aurélio Holanda de Castro,
que sempre foi incansável e paciente, atento ao rigor, sempre nos ajudou, em todos
os momentos, na confecção desse trabalho. Agradeço também aos colegas João
Marcelo Costa Barbosa, José Valmir Farias Maia Junior e Nelci Rones Pereira de
Sousa por nos ajudar, com o SCILAB.

Ao Instituto Federal do Piauí (IFPI), Universidade Federal do Piauí (UFPI),


Universidade Estadual do Piauí (UESPI) e a Universidade Federal do Ceará (UFC),
pela celebração do convênio, no qual deu origem ao MINTER UFC/IFPI. A todos os
professores do Departamento de Engenharia Hidráulica e Ambiental (DEHA), em
especial, aos professores que participaram do MINTER: Marco Aurélio Holanda de
Castro, Francisco de Assis de Souza Filho, Iran E. Lima Neto, José Capelo Neto,
Ticiana M. Carvalho Studart, José Nilson B. Campos e John Kenedy de Araújo pelo
inestimável aprendizado.
vii

RESUMO

Em muitos problemas da natureza e em uma diversidade enorme de áreas do


conhecimento, existe a necessidade real de modelarmos fenômenos existentes. Em
Ciências como Matemática, Física, Química, Biologia, Economia e nas Engenharias,
de uma maneira geral, é comum por parte dos pesquisadores, o uso de modelos e
simulações, às quais, quase sempre, envolvem taxas, princípios e leis, regidos por
Equações Diferenciais. Problemas envolvendo movimento de fluidos, intensidade de
corrente elétrica, propagação de calor, crescimento populacional, entre muitos outros,
são exemplos clássicos de aplicações de modelos regidos por Equações Diferencias,
às quais, podem ser diferenciadas quanto ao tipo em Equações Diferenciais
Ordinárias (EDO) e Equações Diferenciais Parciais (EDP). Nas primeiras, a função a
ser determinada depende de uma única variável independente, enquanto nas
segundas, ocorre a dependência de duas ou mais variáveis independentes. Acontece
é que em uma grande variedade de problemas da natureza, as equações não
possuem soluções bem comportadas, analíticas e, dessa maneira, faz-se necessário
o conhecimento de métodos numéricos, tais como, Diferenças Finitas, Elementos
Finitos, Elementos de Contorno, entre outros, os quais necessitam da discretização
do domínio e, portanto da criação de uma malha (MESH), com fórmulas interativas
para se estimar uma solução e minimizar o erro da aproximação. Nesse sentido, a
proposta desse trabalho é utilizar um método numérico bastante eficaz e
independente de malha, denominado método sem malhas (MESHLESS), mas
especificamente o método de Kansas, o qual lança mão de Funções de Base Radial
(Radial Basis Functions – RBF), ou simetria radial, da distância entre um ponto central
do domínio da função e um ponto genérico do domínio. A função interpoladora de
base radial, também depende de um parâmetro de forma “c” a ser encontrado. Mas a
questão preponderante é: como determinar um parâmetro de forma “c” ótimo, que
possa oferecer uma solução consistente, reduzindo o resíduo e, portanto o erro
existente? Para tanto, modelou-se um problema de contaminação de aquífero
fazendo uso da equação de difusão, comparando o resultado de sua solução
analítica, com a solução numérica obtida através do método numérico sem malhas e
com o parâmetro de forma simulado e otimizado por meio da plataforma SCILAB
(versão 5.4.1).

Palavras-Chave: Métodos Sem Malhas, Modelagem Matemática, Contaminação de


Aquíferos, Equação da Difusão, Equações Diferenciais.
viii

ABSTRACT

In many problems of nature and a huge diversity of knowledge areas, there is a real
need we model existing phenomena. Sciences like Mathematics, Physics, Chemistry,
Biology, Economics and in Engineering, in general, is common among the
researchers, the use of models and simulations, which almost always involve fees,
principles and laws, governed by Differential Equations. Problems involving fluid
motion, intensity of electric current, heat propagation, population growth, among many
others, are classic examples of applications of models governed by Differential
Equations, which can be differentiated as to type in Ordinary Differential Equations
(ODE) and Partial Differential Equations (PDE). In the first, the function to be
determined depends on a single variable, while in the second, the dependence of two
or more independent variables occurs. Happens is that in a wide variety of problems of
nature, the equations do not have well-behaved, analytic and thus solutions, it is
necessary the knowledge of numerical methods such as Finite Differences, Finite
Elements, Boundary Elements, among others, which require the discretization of the
domain and therefore the creation of a mesh (MESH), with interactive formulas for
estimating a solution and minimize the error of approximation. In this sense, the
purpose of this work is to use a very efficient and independent of mesh numerical
method, called method without mesh (MESHLESS), but specifically the method of
Kansas, which makes use of Radial Basis Function (Radial Basis Functions - RBF) or
radial symmetry, the distance between central point of the domain of the function and
a generic point of the domain. The interpolating radial basis function also depends on
a shape parameter "c" to be found. But the overriding question is how to determine a
shape parameter "c" great, we can provide a consistent solution, reducing waste and
therefore the existing error? For both, modeled itself a problem of contamination of the
aquifer by making use of the diffusion equation, comparing the results of its analytical
solution with the numerical solution obtained by numerical method without mesh and
parameter simulated shape and optimized by SCILAB platform (version 5.4.1).

Keywords: Meshless, Mathematical Modeling, Contamination of Aquifers, Diffusion


Equation, Differential Equations.
ix

LISTA DE ILUSTRAÇÕES

Figura 2.1 – Ciclo Hidrológico ........................................................................................ 3


Figura 2.2 – Raio de convergência de uma série ....................................................... 16
Figura 2.3 – Barra de propagação de calor................................................................. 22
Figura 4.1 – Parâmetro de forma utilizado "c=0,755929" , pontos do domínio, com
número de pontos N=5................................................................................................. 45
Figura 4.2 – Parâmetro de forma utilizado "c=0,755929" , pontos do domínio, com
número de pontos N=7. .............................................................................................. 46
Figura 4.3 – Parâmetro de forma utilizado "c=0,755929" , pontos do domínio, com
número de pontos N=10. ............................................................................................ 46
Figura 4.4 – Definição das condições de contorno da EDO....................................... 50
Figura 4.5 – Discretização do domínio da EDO. ........................................................ 50
Figura 4.6 – Definição dos coeficientes da EDO. ....................................................... 51
Figura 4.7 – Dados de entrada para a otimização do parâmetro de forma c. ........... 51
Figura 4.8 – Gráfico de resíduo do contorno e determinação de c = 68.21 como sendo
o c - ótimo, via método multiquadrático direto. ........................................................... 52
Figura 4.9 – Gráfico de resíduo do domínio e determinação de c=15.81, como sendo o
c - ótimo, via método multiquadrático direto................................................................ 52
Figura 4.10 – Comparação entre solução numérica e solução analítica, pontos do
domínio, com c=15.81, otimizado pelo método multiquadrático direto. ..................... 53
Figura 4.11 – Definição das condições de contorno da EDO, para uso do método
inverso. ......................................................................................................................... 53
Figura 4.12 – Gráfico de resíduo e determinação de c=70.61, como sendo o c - ótimo
do contorno, via método multiquadrático inverso. ...................................................... 54
Figura 4.13 – Gráfico de resíduo e determinação de c=16.81, como sendo o c - ótimo
do domínio, via método multiquadrático inverso. ........................................................ 54
Figura 4.14 – Comparação entre solução numérica e analítica, pelo método inverso
c=16.81. ........................................................................................................................ 55
Figura 4.15 – Solução analítica da Equação da Difusão Pura para os instantes t=0s;
t=0.05s; t=0.10s com N=50 pontos, x (Km). ................................................................ 62
Figura 4.16 – Comparação solução analítica com solução numérica da Equação da
Difusão Pura, pontos do domínio, para os instantes t=0s; t=0.05s; t=0.10s com N=5
pontos, x (Km). ............................................................................................................. 63
x

Figura 4.17 – Comparação solução analítica com solução numérica da Equação da


Difusão Pura, pontos do domínio, para os instantes t=0s; t=0.05s; t=0.10s com N=20
pontos, x (Km). ............................................................................................................. 63
Figura 4.18 – Comparação solução analítica com solução numérica da Equação da
Difusão Pura, pontos do domínio, c-ótimo 0.3, para os instantes t=0s; t=0.05s; t=0.10s
com N=40 pontos. ........................................................................................................ 64
Figura 4.19 – Gráfico comparativo de c e do somatório do quadrado do resíduo .... 64
Figura 4.20 – Fluxograma simplificado da otimização do c. ....................................... 73
Figura 4.21 – Gráfico comparativo da solução numérica e da solução analítica da
Equação de Difusão-Advecção com t=15 min e N=100 pontos. ................................ 75
Figura 4.22 – Gráfico comparativo da solução numérica e da solução analítica da
Equação de Difusão-Advecção com t=15 min e N=200 pontos. ................................ 75
Figura 4.23 – Gráfico comparativo entre a solução numérica e a solução analítica da
Equação de Difusão-Advecção, pontos do domínio, nos instantes t=12min, t=24min,
t=36min. O parâmetro de forma, c = 0.149254, foi otimizado pelo SCILAB 5.4.1..... 76
Figura 4.24 – Gráfico comparativo do parâmetro de forma e do resíduo da equação de
Difusão-Advecção.. ...................................................................................................... 76
Figura A.1 – Expansão do vetor u ............................................................................. 82
Figura A.2 – Mudança de sentido do vetor u ............................................................ 83
Figura A.3 – Gráfico da função delta de Dirac de . .................................... 86
Figura A.4 – Gráfico da função delta de Dirac de , quando ............. 86
Figura B.1– Sobre o SCILAB 5.4.1 .............................................................................. 87
Figura B.2 – Ambiente, plataforma SCILAB 5.4.1 ...................................................... 88
Figura B.3 – Acessando o aplicativo Scinotes do SCILAB 5.4.1 ............................... 88
Figura B.4 – Aplicativo SciNotes do SCILAB 5.4.1 ..................................................... 89
Figura B.5 – Gerando uma matriz 3x3 no SCILAB 5.4.1 ............................................ 89
Figura B.6 – Determinando a dimensão de uma matriz A, no SCILAB 5.4.1 ............ 90
Figura B.7 – Cálculo da transposta de uma matriz A, no SCILAB 5.4.1................... 91
Figura B.8 – Cálculo da inversa de uma matriz A, no SCILAB 5.4.1 ......................... 92
Figura B.9 – Esquema de uso do comando “for” no SCILAB 5.4.1 ........................... 93
Figura B.10 – Aplicação do comando “for” no SCILAB 5.4.1 ..................................... 94
Figura B.11 – Aplicação do comando “while” no SCILAB 5.4.1 ................................. 95
Figura B.12 – Navegador de ajuda no SCILAB 5.4.1, possui comandos específicos
para os mais variados ramos da Matemática. ............................................................ 96
xi

LISTA DE TABELAS

Tabela 2.1 - Água disponível na terra ........................................................................... 4


Tabela 2.4.1– Valores de Difusividade Térmica ......................................................... 25
Tabela 3.1.1– Funções de base radial ........................................................................ 27
Tabela 4.1.1– Discretização dos pontos do domínio da EDO de 1ª ordem............... 40
Tabela 4.1.2– Matriz R das distâncias ........................................................................ 40
Tabela 4.1.3– Matriz FI = ϕ, função de interpolação, ponto a ponto. ......................... 41
Tabela 4.1.4– Matriz DFI das derivadas da função FI, ponto a ponto. ...................... 41
Tabela 4.1.5 – Matriz LFI, soma das matrizes FI e DFI .............................................. 42
Tabela 4.1.6– Matriz de colocação, A, é o produto da inversa de λ pela matriz F .... 42
Tabela 4.1.7– Inversa da matriz de colocação A ........................................................ 43
Tabela 4.1.8– Resumo dos dados da solução da EDO de 1ª ordem via método sem
malhas .......................................................................................................................... 43
Tabela 4.1.9– Componentes do vetor resíduo, VR, da EDO de 1ª ordem ................ 44
Tabela B.1 - Operadores básicos do SCILAB ............................................................. 94
xii

LISTA DE ABREVIATURAS E SIGLAS

EDO Equação diferencial ordinária

EDP Equação diferencial parcial

MESHLESS Método Livre de Malhas

DBO Demanda Bioquímica de oxigênio

OD Oxigênio Dissolvido

MVP Método da Variação de Parâmetros

LI Linearmente independente

LD Linearmente dependente

SCILAB Software matemático

RBF Função de base radial

VR Vetor resíduo

MQ Multiquadrática direta

MQI Multiquadrática inversa


xiii

LISTA DE SÍMBOLOS

L Demanda bioquímica de oxigênio

Constante de desoxigenação do efluente

Fator de integração

Solução particular

Função complementar

Raio de convergência

Constante de difusividade térmica

A Matriz de colocação

Função de interpolação

e Matrizes de armazenamento dos pontos de discretização do domínio

R Matriz das distâncias

c Parâmetro de forma

Vetor que contém os coeficientes da solução aproximada

Número de difusão

E Coeficiente de dispersão

C(x,t) Concentração

Massa total das partículas normais à área da seção transversal

Número de Courant

Velocidade de escoamento
xiv

SUMÁRIO

1. INTRODUÇÃO ........................................................................................................ 1
2. REVISÃO BIBLIOGRÁFICA .................................................................................. 2
2.1 Ciclo Hidrológico ............................................................................................... 2
2.2 Distribuição de água no planeta ....................................................................... 4
2.3 Contaminação de aquíferos ............................................................................. 5
2.3.1 Propagação de poluentes no meio aquático............................................. 6
2.4 Equações diferenciais....................................................................................... 9
2.4.1 Classificação de equações diferenciais quanto ao tipo ............................ 9
2.4.2 Classificação de equações diferenciais quanto à ordem ......................... 9
2.4.3 Classificação de equações diferenciais quanto à linearidade................ 10
2.4.4 Solução de equação diferencial linear de 1ª ordem ............................... 10
2.4.5 Equações diferenciais de 2ª ordem ......................................................... 11
2.4.6 Equações diferenciais de ordem superior ............................................... 13
2.4.7 Aproximação em série de potências para uma equação diferencial linear
de segunda ordem ................................................................................................. 14
2.4.8 Série de potências ................................................................................... 15
2.4.9 Série de Fourier ....................................................................................... 20
2.4.10 Equações diferenciais parciais e o método de separação de variáveis. 21
3. METODOLOGIA.................................................................................................... 26
3.1 O método sem malhas: Funções de Base Radial ......................................... 27
3.2 Operadores lineares aplicados em uma EDP................................................ 28
3.3 Método de Kansa ............................................................................................ 29
3.4 Equação geral apresentada no SCILAB ........................................................ 31
4. SIMULAÇÕES E RESULTADOS ......................................................................... 34
4.1 Aplicação do método sem malhas (MESHLESS) em uma EDO via Método de
Kansa. ....................................................................................................................... 34
4.1.1 Vetor Resíduo - VR .................................................................................. 44
4.2 Aplicação do método sem malhas (MESHLESS) em uma EDO de 2ª ordem
com coeficientes constantes via método de Kansa................................................. 47
4.2.1 Fluxograma do processo de uso do método sem malhas...................... 49
4.3 Equação da difusão pura................................................................................ 55
4.4 Equação Diferencial Parcial da Difusão Advecção ....................................... 65
4.4.1 Problema envolvendo a equação da difusão advecção ......................... 66
xv

4.4.2 Abordagem Kansa na equação de difusão advecção ............................ 67


4.4.3 Matrizes da equação de difusão advecção ............................................. 70
4.4.4 Estabilidade do sistema Número de Courant ......................................... 74
5. CONCLUSÕES: .................................................................................................... 77
REFERÊNCIAS BIBLIOGRÁFICAS ........................................................................... 79
APÊNDICE A – NOCÕES DE DEPENDÊNCIA LINEAR E INDEPENDÊNCIA LINEAR
E FUNÇÃO DE IMPULSO DE DIRAC. .................................................................... 82
A.1 – Conjunto linearmente dependente (LD) ......................................................... 82
A.2 – Conjunto linearmente independente (LI) ........................................................ 83
A.3 – Aplicação Linear (Transformação Linear) ...................................................... 84
A.4 – Aplicação linear do vetor nulo entre espaços vetoriais. ................................ 84
A.5 – Funçõesde Impulso ......................................................................................... 85
APÊNDICE B – Breve exposição sobre o SCILAB ................................................ 87
B.1 – INTRODUÇÃO ................................................................................................ 87
B 1.1 – Criação de Matrizes .................................................................................. 89
B 1.2 – Dimensão de Matrizes .............................................................................. 90
B 1.3 – Transposição de Matrizes ........................................................................ 91
B 1.4 Inversa de Matrizes...................................................................................... 92
B 1.5 – Comandos para Iterações (for e while) .................................................... 93
B 1.6 – Comandos e funções pré-definidos no SCILAB ...................................... 96
APÊNDICE C - ROTINA DO PROBLEMA 4.1 DA EDO DE 1ª ORDEM. ................. 97
APÊNDICE D- ROTINA DO PROBLEMA DA EDO DE 2ª ORDEM NÃO
HOMOGÊNEA. ........................................................................................................... 100
APÊNDICE E- ROTINA DO PROBLEMA DA EQUAÇÃO DE DIFUSÃO-PURA. . 108
APÊNDICE G- ROTINA DA APROXIMAÇÃO DA SOLUÇÃO NUMÉRICA COM A
SOLUÇÃO ANALÍTICA DO PROBLEMA DA EQUAÇÃO DE DIFUSÃO-ADVECÇÃO
CONSIDERANDO O TEMPO DE 15 min. ................................................................ 115
1

1. INTRODUÇÃO

A água é um recurso natural de suma importância para todos os seres


vivos. Dessa forma, é importante nós cuidarmos bem de tal elemento tão precioso.
Nesse sentindo, é fundamental que tenhamos alguns conhecimentos básicos acerca
dessa substância e dos elementos que podem degradá-la tornando-a imprópria para
o consumo.

Há algum tempo a sociedade de maneira geral vem se preocupando com


a questão da contaminação de aquíferos pela ação antrópica, crescimento
desordenados das cidades, poluição de mananciais, entre outros problemas. Com
isso, vários estudiosos de diversas áreas, entre as quais, os de Engenharia de
Recursos Hídricos, têm se debruçados com intento de descobrir soluções para tais
casos.

A modelagem matemática e computacional tem servido para nortear uma


imensa gama de problemas, simulando situações, nas quais, estudos in locu, sejam
dispendiosos e muitas vezes inacessíveis. Nesse sentindo, várias técnicas de
modelagem, ferramentas computacionais e softwares, são utilizadas no meio
científico para facilitar e descrever modelos matemáticos, haja vista grande parte
desses fenômenos, envolverem Equações Diferenciais Ordinárias (EDO) e
Equações Diferenciais Parciais (EDP). Em tais equações, nem sempre é fácil
descobrir uma solução analítica e, em problemas de Engenharia muitas vezes, nem
existe uma solução desse tipo, para isso é notório a importância dos Métodos
Numéricos, os quais possam estimar uma solução “confiável”, mas que não
inviabilizem o problema com erros devido a processos de simplificações ou devido
ao truncamento e discretização de dados feitos pelo computador.

Entre os vários métodos capazes de solucionar Equações Diferencias,


destacamos o Método das Diferenças Finitas, o de Elementos Finitos, Elementos de
Contorno e o Método Livre de Malhas (MESHLESS). Nossa proposta é f azer uma
comparação entre uma solução analítica da Equação de Dispersão de um poluente,
ao longo de um trecho de um aquífero, determinada através da aplicação de série de
Fourier e o Método Livre de Malhas, mais especificamente as funções de base
radial, e o método de Kansas.
2

2. REVISÃO BIBLIOGRÁFICA

A ciência que estuda a água é denominada HIDROLOGIA, do grego


HYDOR que significa “água” e LOGOS, que é traduzido como “ciência”. Nesse
sentido, define-se Hidrologia como:

Hidrologia é a ciência que trata da água na Terra, sua ocorrência, circulação


e distribuição, suas propriedades físicas e químicas, e sua reação com o
meio ambiente, incluindo sua relação com as formas vivas relacionada com
toda a água da Terra, sua ocorrência, distribuição e circulação, suas
propriedades físicas e químicas, seu efeito sobre o meio ambiente e sobre
todas as formas da vida. (CHOW, 1959, p.1).

2.1 Ciclo Hidrológico

Ciclo Hidrológico é o nome dado à circulação da água em nosso planeta,


desde o momento de seu estado natural, até a sua evaporação, subida a atmosfera
em forma de vapor, e descida seguindo o caminho inverso, em forma de
precipitação, na qual ao tocar o solo, pode escoar superficialmente ao encontro de
oceanos, lagos, lagoas e rios, ou, ainda, infiltrar-se no solo e percolar até camadas
mais profundas e ser armazenadas como água subterrânea, podendo a posteriori
fluir como manancial, para que todo o processo ocorra novamente.

A força necessária para a movimentação e continuação do ciclo


hidrológico, ad eternum, é a energia solar, a qual aquece o ar, o solo e a superfície
da água, além das folhas das plantas ocasionando o processo conhecido por
evapotranspiração, o qual de maneira simplificada, podemos dizer que é a
evaporação das gotículas de água contidas nas folhas dos vegetais. Dessa forma,
esse aquecimento por parte do Sol também é causador das massas de ar, às quais
fazem circular as nuvens e provocam chuvas.
3

O ciclo hidrológico é um fenômeno complexo composto de vários


processos: precipitação, interceptação, transpiração, evaporação, infiltração,
percolação, armazenamento e escoamento (MIJARES, 1992, p.17).

Figura 2.1 – Ciclo Hidrológico

Fonte: USGS
4

2.2 Distribuição de água no planeta

Apesar do ciclo hidrológico, ser um fenômeno complexo e


permanentemente movido pela força solar, a distribuição de água no planeta é
bastante irregular. Os fatores dessa irregularidade são diversos, entre os quais
temos a própria variedade de clima no planeta, relevo, solo, cobertura vegetal, entre
outros fatores.

A água é a substância mais abundante na biosfera terrestre e a mais


importante, junto com o oxigênio para manutenção da vida no planeta, contudo a
maior parte dela está nos oceanos e mares, os quais correspondem acerca de 97%
da água do planeta. Dos três porcentos restante, grande parte em torno de 97% está
inacessível, em camadas profundas do subsolo acerca de 800 metros, em aquíferos
subterrâneos; em forma de gelo nas camadas polares e em regiões de altas
montanhas, tem-se 2,4%; algo como 0,6% está na atmosfera e apenas o número de
0,3%, em termos de volume, têm-se quatro milhões de quilômetros cúbicos, os quais
podem ser aproveitados de alguma forma pelos homens (PHILIPPI, et. al. 2004).
Este último, por sua vez, é constantemente degradado pela ação antrópic a, pelo uso
de defensivos agrícolas, esgotos domésticos e industriais, entre outros efluentes não
tratados.

Tabela 2.1 - Água disponível na terra

LOCAL VOLUME (x103km3) PORCENTAGEM DA ÁGUA TOTAL

Lagos de água doce 125 0,009

Rios 1,25 0,000000919

Umidade do solo 65 0,000047

Água subterrânea 8.250 0,0060

Lagos-salinos e mares 105


interiores 0,0007

Atmosfera 13 0,000009

Calotas de gelo polares, 29.200


geleiras e neve 0,02147

Oceano e mares 1.320.000 0,9706

TOTAL 1.360.000 100


Fonte: PHILIPPI, et. al.(2004)
5

2.3 Contaminação de aquíferos

Muito embora a água seja um recurso fundamental para a subsistência


de todos os seres vivos, a poluição de aquíferos, rios, lagos e mananciais têm
atingido níveis alarmantes, os quais despertaram, nos últimos anos, a preocupação
da sociedade de modo geral e, em particular do meio acadêmico, onde observamos
um número muito grande de cientistas e estudantes que se debruçam e tentam
através de suas pesquisas, dar respostas no sentindo de mitigar a deletéria dos
recursos hídricos disponíveis.

Nesse sentindo, é importante entendermos os processos de


contaminação e de poluição. O termo poluição vem do latim polluere, que significa
sujar, manchar, e dessa forma, vem sendo empregado indiscriminadamente, sem o
devido cuidado. Haja vista a ideia no sentindo estritamente estético que uma água
turva, ou com determinados microrganismos, seja uma água poluída, ou imprópria
para o uso de qualquer natureza é errônea em sua essência. Para aclarar os fatos, é
importante entendermos a distinção entre poluição e contaminação, a saber: Nessa
perspectiva:

Entende-se por poluição da água a alteração de suas características por


quaisquer ações ou interferências, sejam elas naturais ou provocadas pelo
homem. Essas alterações podem produzir impactos, estéticos, fisiológicos
ou ecológicos (BRAGA et. al. 2005, p. 82).

Podemos dizer que a contaminação é a transferência de elementos


nocivos à saúde. Ou seja, o fato de a água estar contaminada, por elementos
patogênicos à saúde humana, não implica, necessariamente, em poluição e morte
daquela biosfera local, assim como, o fato da água está com alterações em suas
características devidas a processos, como calor excessivo, ou a turbidez devido ao
carreamento de sedimentos não são, indubitavelmente, dolosos à saúde humana.

No tocante a aquíferos, sabe-se que apesar dos mesmos de uma maneira


geral possuírem um processo natural de autodepuração, através de bactérias e
fungos que se alimentam de poluentes orgânicos biodegradáveis. Estes, por sua
vez, em quantidade excessiva e pela ação das próprias bactérias podem ocasionar a
morte dos peixes, devido ao aumento da Demanda Bioquímica de Oxigênio (DBO) e,
6

por conseguinte, a redução do Oxigênio Dissolvido (OD). Além disso, existem


poluentes orgânicos do tipo recalcitrantes ou refratários, os quais não são
biodegradáveis, ou tem uma taxa de degradação muito lenta, entre eles podemos
citar os defensivos agrícolas, detergentes sintéticos e o petróleo. Ademais
compostos inorgânicos como os metais pesados, a exemplo do mercúrio usado em
atividades de garimpo e do chumbo cujos potenciais carcinogênicos são altamente
comprometedores.

Para aprofundarmos nas características de aquíferos, ressaltamos a


existência de dois tipos de aquíferos subterrâneos, os artesianos (ou confinados) e
os freáticos. Ambos mesmo dotados de sua proteção natural, no subsolo, não estão
isentos de sofrerem com os efeitos de vários tipos de contaminação, as mais
comuns, são de agrotóxico, combustível, fossas, cemitérios e à intrusão salina, para
os costeiros.

Enfim, existe uma série de efluentes danosos à saúde da população os


quais poderiam ser evitados com o uso de práticas mais conscientes de preservação
dos recursos hídricos e de preservação de nascentes.

Nesse sentindo, a modelagem computacional-matemática, surge como


ferramenta importante para prever os impactos causados, por exemplo, pela difusão
de um determinado contaminante, em um aquífero ou pela explotação desordenada
da água subterrânea. Para tanto, são vários os programas como o MATLAB,
SCILAB, HEC HMS, MOD FLOW, que auxiliam na modelagem do problema.

2.3.1 Propagação de poluentes no meio aquático

Os poluentes ao atingirem o meio aquoso não se comportam, em geral,


de maneira estática sendo, portanto sujeitos a uma série de fatores, físicos,
químicos, e biológicos existentes na natureza, os quais alteram sua composição e
concentração.

Entre os fenômenos de transporte, podemos destacar a própria diluição


que é uma propriedade característica dos líquidos que em via de regra reduz a
concentração original do poluente e os efeitos hidrodinâmicos.
7

A ação hidrodinâmica, é realizada pela característica intrínseca aos


líquidos de transporte de poluente de seu despejo a outras regiões e, por
conseguinte ocasionando uma variação na sua concentração no espaço e no tempo.
Sendo o carreamento desses poluentes feitos pelo campo de velocidades da água,
ou como é mais conhecido pelo processo da advecção. Além disso, processos de
concentração de substâncias; quer sejam dissolvidas ou em suspensão é devido a
um fenômeno denominado de difusão. Estes, por sua vez, de acordo com Braga
(2005) dividem-se em dois tipos básicos saber:

1. Difusão Molecular: É um fenômeno independente de forças externas e


que consiste no movimento característico das moléculas do fluido, por
conta da agitação térmica de suas partículas e que geralmente em
aquíferos naturais não causa grande impacto em sua concentração.
2. Difusão Turbulenta: É característico de um escoamento turbulento da
água, ou seja, com a intensificação no gradiente de velocidade do líquido
pode ocorrer um espalhamento maior no poluente, uma diminuição em sua
concentração e promoção de uma aeração superior e, por conseguinte um
aumento no Oxigênio Dissolvido (OD) e queda da Demanda Bioquímica de
Oxigênio (DBO). Além de uma diminuição no efeito nos gases produzidos
por organismos em decomposição anaeróbica, como podemos citar o gás
metano e o ácido sulfídrico.

Contudo, além dos processos supracitados, existe um fenômeno de


propagação e transporte de poluentes causados pela ocorrência conjunta de difusão
molecular, concomitante com a turbulenta e da própria advecção, denominado de
dispersão.

Segundo Braga (2005) um dos primeiros modelos matemáticos sobre


qualidade de água é denominado de Modelo de Streeter-Phelps. Este modelo é
consistente com o fenômeno de decaimento radioativo, meia vida de uma
substância, crescimento populacional, ou seja, todos esses fenômenos têm uma
taxa de variação, para mais ou para menos, proporcional à quantidade existente em
um dado instante, isto é, a matéria orgânica biodegradável tem uma taxa de
decomposição proporcional à concentração de matéria orgânica em um dado
8

instante de tempo. Então assim, a descrição do modelo representa uma equação


linear de primeira ordem separável.

(2.1)

Onde:

→ é a demanda bioquímica de oxigênio;

→ é a constante de desoxigenação à qual depende do efluente;

Separação de variáveis:

(2.2)

Integra-se em t

(2.3)
∫ ∫

Gera uma função logarítmica

(2.4)

A DBO tem uma taxa de decaimento com modelo do tipo função exponencial

(2.5)
9

2.4 Equações diferenciais

Segundo Zill (2001, p. 2) a definição de equação diferencial, consiste em


uma equação que contêm derivadas, ou diferenciais de uma ou mais variáveis
dependentes, em relação a uma ou mais variáveis independentes. As equações
diferenciais são classificadas pela ordem, tipo e linearidade.

2.4.1 Classificação de equações diferenciais quanto ao tipo

Se uma equação contém somente derivadas ordinárias, com relação a


uma única variável dependente, a mesma é dita Equação Diferencial Ordinária
(EDO), como exemplo:

(2.6)

(2.7)

Uma equação que envolve as derivadas parciais de uma ou mais variáveis


dependentes de duas ou mais variáveis independentes é chamada de equação
diferencial parcial (EDP), como exemplo:

(2.8)

(2.9)

2.4.2 Classificação de equações diferenciais quanto à ordem

A ordem da equação diferencial é a ordem da derivada de mais alta


ordem da equação. Sendo assim, as equações (2.6), (2.7), (2.8) e (2.9), são de
ordem 2, 4, 2 e 4, respectivamente.
10

2.4.3 Classificação de equações diferenciais quanto à linearidade

Uma equação diferencial ordinária é chamada de linear quando pode ser


escrita na forma:

(2.10)

Observe que as equações diferenciais lineares são caracterizadas por


duas propriedades:

(i) A variável dependente e todas as suas derivadas são do primeiro grau;

(ii) Cada coeficiente depende apenas da variável independente

2.4.4 Solução de equação diferencial linear de 1ª ordem

Uma equação linear de primeira ordem é toda equação do tipo:

(2.11)

É importante sabermos solucionar essa equação, haja vista muito


problemas serem modelados por ela, como exemplo podemos citar, problemas de:
decaimento radioativo, crescimento de bactérias, mistura de líquidos, intrusão salina,
datação de carbono 14, entre outros. Então assim, para determinamos uma
solução para (2.11), vamos utilizar uma função auxiliar , por enquanto
desconhecida, à qual é comumente chamada de fator integrante ou fator de
integração da equação linear. Multiplicando, então a equação (2.11) por e
impondo que o resultado à esquerda da igualdade, seja a derivada com relação a
do produto de . Temos que:

(2.12)

Então,

(2.13)
11

Assumindo e integrando em ,

(2.14)
∫ ∫ ∫

Tomando e usando a definição de logaritmo, determinamos a função auxiliar,

(2.15)

Supondo (2.15) voltamos para a equação (2.12) e conclui-se que:

(2.16)

Integrando, chega-se que:

∫ (2.17)

E, enfim, chegamos à solução geral:

∫ (2.18)

2.4.5 Equações diferenciais de 2ª ordem

Para solucionarmos uma equação diferencial de 2ª ordem, do tipo linear e


não homogênea, faremos uso do Método da Variação de Parâmetros (MVP).

Seja a equação de segunda ordem

+ + (2.19)

Admitindo , colocamos na forma dita padrão:

+ + (2.20)

Supondo que e sejam solução de (2.20), sabe-se


que a combinação linear, abaixo, em que e , são constantes denominadas
parâmetros, também é solução de (2.20), à qual recebe o nome de função
complementar:

(2.21)
12

Chamaremos de , uma solução particular de (2.20), que obteremos


variando os parâmetros e , isto é:

(2.22)

Para substituir (2.22) em (2.20), precisamos obter e , daí, impondo

para simplificar os cálculos de primeira e segunda derivada:

(2.23)
Derivando (2.22) e usando (2.23), temos:

+ (2.24)
Com isso,

+ (2.25)

Substituindo (2.25) em (2.20), segue-se que:

+ + (2.26)

[
] + +

Mas como e são soluções de (2.20), tem-se:

+ + + + (2.27)

Dessa forma, chegamos ao seguinte sistema de Cramer, nas variáveis


e :

(2.28)
,

A solução em questão pode ser expressa através de determinantes:

; (2.29)
Onde

| |, | |e | |, (2.30)
13

O determinante é chamado de Wronskiano e quando é não nulo indica


que o conjunto { é Linearmente Independente (LI) e, portanto, é um conjunto
solução da EDO. Com isso, a solução geral de (2.20), é a soma da função
complementar , com a solução particular .

(2.31)

2.4.6 Equações diferenciais de ordem superior

Podemos generalizar o método anterior para equações lineares


homogêneas de ordem n, da seguinte forma:

(2.32)

Como a ordem é de ordem n a função complementar é a combinação


linear, abaixo:

(2.33)

Com isso, temos uma solução particular para (2.32) é

(2.34)

Podemos determinar os , por uma sistema de Cramer de


n equações e n incógnitas. De modo que o cálculo dos , é feito naturalmente
através de integral na variável , então temos que:

(2.35)

Com isso, pela regra de Cramer, concluímos que:

(2.36)
14

Sendo que é o Wronskiano e é o Wronskiano, cuja i-ésima


coluna tem como coeficientes:

(2.37)

2.4.7 Aproximação em série de potências para uma equação diferencial


linear de segunda ordem

Para se encontrar a solução geral de uma equação diferencial de 2ª


ordem faz-se necessário à determinação de um conjunto fundamental de solução, à
qual geralmente é formada por funções elementares analíticas linearmente
independentes, ou seja, o Wronskiano do conjunto fundamental deve ser não nulo e,
cada função, pode ser expressa em uma série de potências, ou série de Taylor na
vizinhança de um determinado ponto.

Em problemas, envolvendo Equações Diferenciais de 2ªordem com


coeficientes constantes, podemos utilizar o método dos coeficientes a determinar ou,
ainda, o método das variações dos parâmetros. Contudo, em muitos casos práticos
e problemas de engenharia, tais como de estrutura, deflexão de vigas,
amortecimento e de hidráulica, as equações não costumam ter equações com
coeficientes constantes e, por conseguinte não comumente apresentam como
soluções as funções elementares conhecidas. Dessa forma, é importante o
desenvolvimento em séries para aproximar uma solução analítica, para tanto é vital
que saibamos a convergência ou divergência de uma determinada série.
15

2.4.8 Série de potências

Definimos série de potências em é uma série da forma:

(2.38)

Uma série de potências converge em um determinado ponto , se o limite


da série existir e for finito. Isto é:

(2.39)

É possível mostrar que toda série absolutamente convergente é


convergente, mas a recíproca não é verdadeira.

(2.40)
∑| | ∑| || |

Então,

(2.41)

Teste da razão para a convergência em módulo:

Se e se para um valor fixo de :

| | | | | | | | (2.42)

Então a série em questão é convergente, caso | | ; divergente se

| | e inconclusivo quando | | .
16

2.4.8.1 Raio de convergência de uma série de potência

Existe um número não negativo , chamado de raio de convergência, tal


que ∑ , converge absolutamente para | | e diverge para
| | . Caso a série convirja em apenas um ponto , define-se ;
caso a série convirja para todo , dizemos que é infinito. Então assim, se
tivermos , o intervalo | | é conhecido como intervalo de convergência,
ou vizinhança do ponto .

Figura 2.2 – Raio de convergência de uma série

Fonte: Figura modificada, Boyce (2010, p. 132.)

Encontrar uma solução para EDO em série de potência:

(2.43)

A solução é o conjunto independente , ou seja a combinação


linear dos elementos desse conjunto linearmente independente, cujo wronskiano é
diferente de zero, a saber:

(2.44)
17

Esse tipo de equação não esboça dificuldades, mas serve para mostrar a
aplicação do método em série. Isto é, tome

(2.45)

Derivando termo a termo temos que:

(2.46)

Derivando novamente,

(2.47)

Substituindo na equação original

(2.48)
∑ ∑

Trocamos o índice do primeiro somatório substituindo por ,


iniciando agora do zero ao invés de dois, segue-se que:

(2.49)

Para que a soma seja nula é necessário e suficiente que

(2.50)

Temos então uma relação de recorrência para índices pares, na qual variamos os
valores de :

(2.51)

(2.52)
18

(2.53)

(2.54)

Para os índices ímpares, temos uma relação análoga:

(2.55)

(2.56)

(2.57)

(2.58)

A rigor teríamos que provar a validade das fórmulas de recorrência por


meio de indução matemática. Contudo, por se tratar de um requisito básico e
elementar, aceitaremos sem demonstrar esse fato.

Substituindo os coeficientes encontrados na fórmula de série de potências:

(2.59)

Por conseguinte:

(2.60)

+...
19

* ++ * (2.61)

O desenvolvimento de uma função em série de Taylor ou Maclaurin


na vizinhança do ponto , é dado por:

(2.62)

É fácil ver que a expansão em série de Taylor da função é:

(2.63)

A expansão em série de Taylor da função :

(2.64)

Conclui-se que a solução da equação diferencial de 2ª ordem:

(2.65)

É dada pela combinação linear das funções e de , assim:

(2.66)
20

2.4.9 Série de Fourier

Muitos problemas que envolvem Equações Diferenciais Parciais (EDP) são


solucionados com o uso de séries infinitas. Entre elas a conhecida série de Taylor, e
as que são combinações de senos e cossenos e são chamadas de séries de
Fourier, às quais, exercem um papel importante no método de separação de
variáveis e são escritas nessa forma:

(2.67)
∑( )

As séries de Fourier também são vistas em uma ampla gama de


problemas físicos e de Engenharias, entre os quais, temos os de análises de
sistemas mecânicos e de molas, bem como sistemas elétricos.

Uma propriedade bem conhecida de funções seno e cosseno é da sua


periodicidade de radiano, isto é de maneira geral uma função é dita periódica
com período se o domínio de contém , sempre que contiver e se:

(2.68)
Outra propriedade importante de funções seno e cosseno é a sua
ortogonalidade dessa forma escreve-se um produto dito interno ou escalar padrão
de duas funções reais no intervalo , como:

(2.69)

Observa-se que analogamente ao caso de vetores o produto escalar é dito


ortogonal se , isto é:

(2.70)

As funções e ; ; seguem as seguintes relações


de ortogonalidade:
I. Caso ,
(2.71)

21

II. Caso ,
(2.72)

Para quaisquer e ,

(2.73)

III. Caso ,
(2.74)

IV. Caso ,
(2.75)

2.4.10 Equações diferenciais parciais e o método de separação de variáveis.

Em muitos ramos da Física, da Engenharia e da própria Matemática, nos


quais são envolvidos fenômenos como difusão, propagação do calor, processos
oscilatórios e teoria do potencial. Assim como, outros problemas estacionários e
transientes envolvem, diretamente, equações diferenciais parciais, entre as quais, a
equação do calor, a equação de Laplace e a equação da onda.

Um dos métodos mais antigos para solucionar equações desse tipo, é o


Método da Separação de Variáveis. Este método foi usado por volta do ano de 1750,
por vários matemáticos de renome como D’Alembert, Daniel Bernoulli e Euler
(BOYCE, 2002, p. 311).

Para solucionarmos o clássico problema da propagação de calor por uma


barra sólida, utilizaremos o método da separação de variáveis e recairemos em uma
série de Fourier. Série esta, é semelhante a serie de Taylor no sentindo de também
22

ser usada para cálculos de equações diferenciais, através de aproximação


numérica. Contudo, ao invés de ser uma série que combina potências com as
derivadas da função no ponto de interesse, a mesma aproxima harmonicamente,
através da combinação de senos e cossenos.

Seja, abaixo, a Figura 2.3, que ilustra uma barra, na qual há uma
propagação de calor, evidenciando a função , dependente da distância e do tempo
e suas respectivas, condições de contorno estacionárias nas extremidades.

Figura 2.3 – Barra de propagação de calor

Fonte: Figura Modificada, Boyce (2002, p. 311)

A equação do calor tem a forma:

(2.76)

Onde é uma constante conhecida como difusividade térmica, à qual


depende da natureza do material do qual a barra é feita e é definido por:

(2.77)

Sendo , denominado condutividade térmica, é a densidade e é o calor


específico do material na barra.
23

Para resolvermos o problema temos que encontrar uma função do tipo


que satisfaça (2.76) e que obedeça a condição inicial, abaixo, com uma
função dada por:

(2.78)

Suponha ainda que a temperatura seja constante igual à zero nas


extremidades, é o que chamamos de condições de contorno, a saber:

(2.79)

Para usarmos o método conhecido como separação de variáveis, temos


que primeiro supor que pode ser escrita como produto:

(2.80)
Assim substituímos (2.80) em (2.76) e obtemos:

(2.81)
Separando as variáveis de , tem-se

(2.82)

Igualamos a uma constante – , chamada de constante de separação,

(2.83)

Reduzimos o problema de EDP para EDO:

(2.84)
{

Uma solução para a equação (I) do sistema (2.84) é encontrada utilizando


uma equação característica:

(2.85)
24

Ou seja,

√ √ (2.86)

Sendo assim, é sabido que:

√ √ (2.87)

Em face disso, usando a condição de contorno,

(2.88)

√ (2.89)

Como , e √ , logo como a função seno se anula para os


múltiplos inteiros de . Conclui-se que:

(2.90)

Substituindo em (2.84) item (II), temos,

(2.91)

Resolvendo a equação, chega-se que:

(2.92)

Usando o fato expresso em (2.80) chega-se que,

(2.93)

Contudo, ainda resta obedecer à condição (2.78), isto é, temos que formar uma série
da combinação linear do conjunto solução da equação de tal forma que os
coeficientes satisfaçam às condições iniciais do problema em questão.
25

Vamos tomar então,

(2.94)

E igualando a

(2.95)
∑ ∑ ( ) ( )

Evidentemente temos que admitir que a série convirja e verifique a


condição inicial do problema posto, com isso,

(2.96)
∑ ( )

A série encontrada é a serie de Fourier, que está convergindo para a


condição inicial de distribuição de temperatura . Cujos coeficientes são
devidamente encontrados e estão bem definidos na forma:

(2.97)

Tabela 2.4 – Valores de Difusividade Térmica

VALORES DE DIFUSIVIDADE TÉRMICA PARA ALGUNS MATERIAIS COMUNS

Material (
Prata 1,71
Cobre 1,14
Alumínio 0,86
Ferro fundido 0,12
Granito 0,011
Tijolo 0,0038
Água 0,00144
Fonte: Boyce (2002, p. 311)
26

3. METODOLOGIA

Os métodos numéricos são muito importantes, haja vista à maioria dos


problemas que surgem em Física e em Engenharia consistem de Equações
Diferenciais. Quer sejam Equações Diferenciais Ordinárias ou Equações Diferenciais
Parciais, muitas têm um nível de complexidade bem alto de tal modo que é
extremamente difícil, ou em muitos casos impossível, encontrarmos uma solução
analítica para o problema.

Existem vários métodos numéricos que servem de ferramenta para


resolver as referidas equações diferenciais, entre eles, existem: diferenças finitas,
elementos finitos, elementos de contorno e, agora mais recentemente, tem recebido
a devida atenção de estudiosos, o método conhecido como “sem malhas”
(MESHLESS). Isto é devido ao fato de não ser necessário a discretização dos
pontos do domínio da função, de modo a formar malhas e também, por conta de
suas propriedades de convergência.

O método que iremos utilizar nesse trabalho é o método de Kansa, no qual


consiste em uma abordagem, relativamente, nova, por volta de 1990, para solução
de equações diferenciais parciais através das funções de base radial, RBF (Radial
Basis Functions). Nesse ínterim, modelaremos desde uma equação diferencial
ordinária linear de primeira ordem, até a equação diferencial parcial transiente, que
descreve a concentração de um poluente conservativo, em função do tempo e do
espaço percorrido, denominada de equação da difusão-advecção.
27

3.1 O método sem malhas: Funções de Base Radial

Uma função RBF é chamada assim por conta da sua dependência, ou


simetria radial, da distância entre um ponto central da função e um ponto genérico
denotado por .

As funções de base radial se apresentam da seguinte forma:

( ) (‖ ‖) (3.1)

A norma ‖ ‖ representa a distância entre e , à qual chamaremos


de r. As funções de base radial a serem estudadas também dependem de um
parâmetro de forma, c, sendo então expressas da seguinte maneira:

(‖ ‖ ) (3.2)

Onde, respectivamente o caso unidimensional e o n-dimensional:


(3.3)
[ ]

* ( ) + (3.4)

Alguns exemplos de Funções de Base Radial (RBF) estão dispostos na tabela a


seguir:

Tabela 3.1 – Funções de base radial

RBF Tipo de função


Splines de Placas Finas | | | | , com par
Multiquadráticas √
Multiquadráticas Inversas

Gaussianas

Fonte: Liu (2003)


28

De acordo com Ferreira (2009) o método trabalha com pontos espalhados


no domínio de interesse e o interpolador RBF é uma combinação linear de funções
de base radial centrada nos pontos :

(3.5)

Sendo que é número de pontos de dados; os


são os coeficientes a serem determinados; e é a função de base radial.

Um problema a ser transposto é determinar um , parâmetro de forma


ótimo, de modo a reduzir ao máximo o erro e, por conseguinte o resíduo na
discretização de pontos no computador, haja vista linguagem de computação
entender apenas a Aritmética discreta. Contudo, trataremos desse problema de
determinação do parâmetro de forma, a posteriori.

3.2 Operadores lineares aplicados em uma EDP

Seja um problema do tipo EDP elíptica:

com (3.6)

Com condições de contorno do tipo:

com (3.7)

Onde:

e são operadores lineares que dependem do tipo de problema a ser estudado.

é um operador linear parcial diferencial. É importante lembrar que


.

Por exemplo, para uma equação do tipo:

(3.8)
29

Pode-se escrever esta equação na forma, , onde:

(3.9)

Se a condição de contorno for do tipo Dirichlet então,

(3.10)

3.3 Método de Kansa

Segundo Ferreira (2009) as primeiras tentativas de resolver EDP com


técnicas RBF foram feitas por Kansa, por volta de 1990. Desde então, vários
estudos foram desenvolvidos para investigar a aplicabilidade deste método para
solução numérica de EDP, no qual, de acordo com Liu (2001) e Ferreira (2009),
utilizou-se a seguinte função de aproximação:

(3.11)

Para um problema do tipo EDP elíptica, estacionário, o qual independe do tempo:

; (3.12)
Com condições de contorno de um problema de Dirichlet:

; (3.13)
onde e são operadores lineares e é a fronteira, ou contorno de .
Substituindo a função de aproximação na equação diferencial, tem-se:

(3.14)
[∑ ]

Sendo L um funcional linear,

(3.15)
[∑ ]
30

Substituindo a função de aproximação na condição de contorno

(3.16)

Ou, simplesmente:

(3.17)

Assim, o problema se resume a resolver um sistema na forma matricial do tipo:

(3.18)

A matriz de colocação A é formada por dois blocos:

(3.19)
[ ]

Os dois blocos são gerados da seguinte maneira:

[ (‖ ‖ )] tal que (3.20)

(‖ ‖ ), com, (3.21)

O conjunto X é dividido em pontos do contorno e pontos do interior de Ω. O


vetor y é constituído das entradas de e , da seguinte forma:

(3.22)
[ ]

Pode-se notar que uma mudança nas condições de contorno da matriz


acarreta em uma simples mudança de algumas linhas da matriz de colocação A e do
vetor do lado direito, y. De forma mais clara, tem-se um sistema matricial da seguinte
forma:

(3.23)
[ ][ ] [ ]
31

O sistema é então resolvido para os e esses valores são em


seguida substituídos na função de aproximação.

(3.24)

Qualquer equação diferencial, com ou sem solução analítica conhecida


pode ser, solucionada com uso do Método numérico sem malhas. Nessa
perspectiva, a posteriori, trataremos primeiro de uma equação diferencial ordinária
linear, de 1ª ordem, depois evoluindo para de 2ª ordem e por fim, faremos uso de um
problema usando EDP, de 2ª ordem transiente. Para tanto, faz-se necessário o uso
de uma ferramenta computacional, como o SCILAB, para desenvolvermos uma
rotina de otimização do parâmetro de forma c.

3.4 Equação geral apresentada no SCILAB

( ) ( ) (3.25)

Inicialmente implementamos a rotina que solicita ao usuário os seguintes


parâmetros de entrada:

 Números de pontos do domínio;


 Os limites inferior e superior do domínio;
 Valores das condições de contorno;
 Parâmetro de forma “ ”.

Atribuir em seguida os valores das constantes envolvidas na EDO, ou seja,


os valores de e . De maneira a deixar claro para o programa a
forma da EDO envolvida no problema.

Os passos seguintes são as funções internas do programa para calcular


na sequência:
32

a) Os vetores com os pontos do domínio;


b) Determinar a EDO envolvida;
c) Determinar a matriz de distâncias ;
d) Determinar a matriz :

√ (3.26)

Onde,
(3.27)
√( )

e) Obter a matriz ), que varia em função da EDO envolvida:

(3.28)

f) Montar a matriz A, a partir da matriz e :

Φ1,1 ... Φ1,n  (3.29)


 
LΦ 2,1 ... LΦ 2,n 
LΦ  ... LΦ n 1,n 
 n 1,1

 : ... : 
 
Φ n,1 ... Φ n,n 

g) Em seguida o programa verifica se a matriz formada possui inversa e a


gera, se sim ele prossegue, caso contrário envia uma mensagem informando
que a matriz gerada não possui inversa;
h) Determina o vetor y;
i) Determina os valores de λ;
j) Gera a matriz de aproximação.

(3.30)

k) Plota os resultados em gráfico.


33

Seguem, doravante, as legendas com as quais denotamos os elementos e


matrizes do sistema:

e → São as matrizes que armazenam os pontos envolvidos na discretização


dos pontos do domínio e j;

→ Valor da distância entre os pontos e ;

→ Matriz com os valores das distâncias ;

→ Contêm os valores da matriz ;

→ Contêm os valores da matriz L(Ф);

→ Contêm os valores da matriz L(Ф) para o termo da 1ª derivada;

→ Contêm os valores da matriz para o termo da 2ª derivada;

→ Contêm os valores da matriz A;

→ Contêm os valores da matriz inversa de A;

→ Contêm os valores do vetor y;

→ Contêm os valores dos multiplicadores  encontrados;

→ Contêm os valores da matriz de aproximação;


34

4. SIMULAÇÕES E RESULTADOS

Utilizaremos primeiro, para ilustrar, o método sem malhas (MESHLESS)


em uma Equação Diferencial Linear de 1ª Ordem, EDO. De início a solução da EDO,
abaixo, é simples de ser obtida utilizando o método do fator de integração. Em
seguida, utiliza-se o método sem malhas, propriamente dito, com a função de base
radial, mais conhecida como método de Kansa. Então gera-se as matrizes do
problema, plota-se em um gráfico a solução numérica e a solução analítica com o
objetivo de observarmos o comportamento e o ajustamento das curvas, concluindo
portanto que nesse caso a suposição do parâmetro de forma c, como sendo a razão
entre dois e a raiz quadrada de n, onde este é o número de pontos, serviu nesse
primeiro momento para estimarmos um valor próximo a solução real do problema
apresentado.

Doravante, utilizaremos um problema mais complexo utilizando a Equação


de Difusão Pura e da Equação de Difusão Advecção, à qual separaremos as
variáveis e encontraremos a sua solução quase analítica, via série de Fourier, para
por fim usarmos de diferenças finitas e aplicarmos a rotina MESHLESS, ou método,
sem malhas, no SCILAB, para modelarmos o problema, apresentarmos as suas
matrizes e plotarmos os resultados da comparação entre a solução analítica e a
solução numérica, via método de Kansa.

4.1 Aplicação do método sem malhas (MESHLESS) em uma EDO via Método de
Kansa.

Nesse exemplo, vamos aplicar o método sem malhas com função de base
radial (RBF) e com a aproximação de Kansa, para resolver uma equação diferencial
ordinária e de primeira ordem.

Iniciaremos a aplicação do método numérico sem malhas, aplicando-o a


uma Equação Diferencial Linear de 1ª ordem, EDO, descrita a seguir, com sua
respectiva condição de contorno:

(4.1)
35

É fácil mostrar que a solução da equação diferencial é:

(4.2)

Nesse caso, em particular, a solução analítica é conhecida, mas com o


desenvolvimento de estudos através dos métodos sem malha, é possível estimar
uma solução numérica, mesmo sem conhecer a solução analítica. Neste trabalho,
porém, nossa missão é de comparar a solução numérica, obtida através de métodos
sem malha, com a solução analítica de algumas equações diferenciais. O estudo
requer a otimização do parâmetro de forma, de modo a melhorar a precisão e, por
conseguinte, tornar o erro pequeno. Nessa perspectiva, o princípio dos métodos sem
malha baseia-se da não necessidade de utilizarmos uma relação entre os nós, assim
como o próprio nome sugere, evitaremos o traçado de uma malha na discretização
dos pontos. Mas o que vem a ser uma malha? Segundo LIU: “Uma malha é definida
como qualquer um dos espaços abertos ou interstícios entre os fios de uma rede
que é formada ligando os nós de uma forma pré-definida” (LIU, 2003, p.19).

Para a aplicação do método sem malhas com aproximação de Kansa,


considere a seguinte solução aproximada ( ):

(4.3)
∑ ( )

Sendo que:

 O número de pontos ( ;
 Linha ;
 Coluna ;
 Parâmetro de forma ( ;
 Matriz das distâncias com N linhas e N colunas
 Matriz da função de base radial com N linhas e N colunas (
 Vetor com N elementos que contém os coeficientes da solução aproximada

(4.4)
( ) √
36

( ) (4.5)

Para cada ponto ( ):

( ) ( ) ( )
( ) ( ) ( ) (4.6)

{ ( ) ( ) ( )

 Y ( x1 )    (r1,1 , c)     (r1, N , c)   1 
 Y ( x )    (r , c)     (r2, N , c)    
 2   2,1  
       

    
Y ( x N 1 )  (rN-1,1 , c)     (rN-1, N , c)   
 Y ( x N )    (rN,1 , c)     (rN, N , c)   N 
(4.7)

Na forma compacta:

(4.8)

Para aplicar a aproximação de Kansa ao problema, observe os passos


para a resolução:

1. Escolher um intervalo para a resolução da EDO. Nesse caso, vamos trabalhar com
um intervalo [0,2].

2. Escolher o número de pontos e a sua localização. Considere inicialmente 7 pontos,


distribuídos em intervalos iguais.

3. O valor do parâmetro de forma é arbitrário, nesse caso, adotaremos a seguinte


aproximação (FERREIRA, 2009 p.87):

(4.9)
√ √

No qual, N é o número de pontos.


37

4. Aplicar a aproximação de Kansa

Observe que o vetor Lambda, que representa o coeficiente para a aproximação,


apresenta um valor constante, considerando um parâmetro de forma conhecido,

Portanto:

(4.10)

Substituindo na equação diferencial:

(4.11)

Organizando a equação:

(4.12)
* +

A equação pode ser reescrita da seguinte forma:

(4.13)

Tem-se que:

(4.14)

(4.15)

(4.16)

5. Desenvolver os termos da EDO

A) Desenvolvendo para FI:

( ) (4.17)
38

Desenvolvendo a equação:

(4.18)
√( ) √

B) Desenvolvendo para DFI:

Observamos que é a variável , assim a derivada de FI pode ser expressa como:

[ ( )] (4.19)

√( )

Organizando a equação:

[( )] (4.20)

√( √
)

6. Substituir na equação diferencial:

(4.21)

Substituindo na equação diferencial:

(4.22)
*√ +

Na forma matricial, temos que:

 X (1)   LFI1,1    LFI1, N   1 


 X (2)   LFI    LFI 2, N     (4.23)
   2,1  
        
    
 X ( N  1)) LFI N-1,1    LFI N-1, N    
 X ( N )   LFI N,1    LFI N, N   N 
39

7. Condição de contorno

Nesse exemplo, e EDO apresenta a condição de contorno . Com base na


aproximação de Kansa, a solução aproximada pode ser expressa por:

( ) ( ) ( ) (4.24)

Na forma compacta:

(4.25)

8. Agrupando as condições de contorno com a EDO, temos que para a determinação


dos coeficientes do vetor LÂMBDA, faz-se preciso a resolução de um sistema de
equações. Nesse sentindo, agruparemos as equações, substituindo a primeira linha
da matriz da EDO pela sua condição de contorno. Feito isso, segue-se que:

( ) ( ) ( ) (4.26)

Ou, equivalentemente, em sua forma matricial, temos que:

 Y (1)   FI1,1    FI1, N   1  (4.27)


 X (2)   LFI    LFI 2, N    
   2,1  
       
    
 X ( N  1)) LFI N-1,1    LFI N-1, N    
 X ( N )   LFI N,1    LFI N, N   N 

Observe que, nesse caso, a condição de contorno com e


corresponde a primeira linha da matriz. Na forma compacta:

(4.28)
40

Nesse caso:

A= Matriz com os coeficientes FI (primeira linha) e LFI (demais linhas)

F= Vetor com o coeficiente Y(1), para a primeira linha e X(i) para as demais linhas,
tem-se X(i) representa o vetor para a variável x, no intervalo [0,2].

9. Montar as matrizes e Vetores (para N=7)

Vetores , , dispostos na tabela 4.1, abaixo:

Tabela 4.1 – Discretização dos pontos do domínio da EDO de 1ª ordem

1 2 3 4 5 6 7
1 0 0.3333 0.6667 1.0000 1.3333 1.6667 2.0000
2 0.3333
3 0.6667
4 1.0000
5 1.3333
6 1.6667
7 2.0000

Matriz R= :

( ) (4.29)

Tabela 4.1 – Matriz R das distâncias

1 2 3 4 5 6 7
0,000000 -0,333333 -0,666667 -1,000000 -1,333333 -1,666667 -2,000000
0,333333 0,000000 -0,333333 -0,666667 -1,000000 -1,333333 -1,666667
0,666667 0,333333 0,000000 -0,333333 -0,666667 -1,000000 -1,333333
1,000000 0,666667 0,333333 0,000000 -0,333333 -0,666667 -1,000000
1,333333 1,000000 0,666667 0,333333 0,000000 -0,333333 -0,666667
1,666667 1,333333 1,000000 0,666667 0,333333 0,000000 -0,333333
2,000000 1,666667 1,333333 1,000000 0,666667 0,333333 0,000000
41

Matriz FI = :

(4.30)

Tabela 4.11 – Matriz FI = ϕ, função de interpolação, ponto a ponto.


1 2 3 4 5 6 7
0.755929 0.826146 1.007927 1.253566 1.532683 1.830114 2.13809
0.826146 0.755929 0.826186 1.007927 1.253566 1.53277 1.830114
1.007927 0.826186 0.755929 0.826146 1.007861 1.253566 1.532683
1.253566 1.007927 0.826146 0.755929 0.826146 1.007927 1.253566
1.532683 1.253566 1.007861 0.826146 0.755929 0.826186 1.007927
1.830114 1.53277 1.253566 1.007927 0.826186 0.755929 0.826146
2.13809 1.830114 1.532683 1.253566 1.007927 0.826146 0.755929

Matriz DFI:

(4.31)

Tabela 4.12– Matriz DFI das derivadas da função FI, ponto a ponto.
1
0 -0,40347 -0,66144 -0,79772 -0,86992 -0,91071 -0,93541
0,403473 -0,40347 -0,66144 -0,79772 -0,86992 -0,91071
0,661438 0,403473 0 -0,40347 -0,66144 -0,79772 -0,86992
0,797724 0,661438 0,403473 0 -0,40347 -0,66144 -0,79772
0,869918 0,797724 0,661438 0,403473 0 -0,40347 -0,66144
0,910705 0,869918 0,797724 0,661438 0,403473 0 -0,40347
0,935414 0,910705 0,869918 0,797724 0,661438 0,403473 0
42

Matriz LFI

(4.32)

Tabela 4.13 – Matriz LFI, soma das matrizes FI e DFI


1 2 3 4 5 6 7
0.755929 0.422707 0.346471 0.455842 0.662771 0.919406 1.202676
1.229586 0.755929 0.422646 0.346471 0.455842 0.662842 0.919406
1.669384 1.229727 0.755929 0.422707 0.346461 0.455842 0.662771
2.05129 1.669384 1.229586 0.755929 0.422707 0.346471 0.455842
2.402595 2.05129 1.669262 1.229586 0.755929 0.422646 0.346471
2.402698 2.05129 1.669384 1.229727 0.755929 0.422707
2.740822 2.402595 2.05129 1.669384 1.229586 0.755929

Matriz A:

(4.33)

Tabela 4.14– Matriz de colocação, A, é o produto da inversa de λ pela matriz F


1 2 3 4 5 6 7
0.755929 0.826146 1.007927 1.253566 1.532683 1.830114 2.13809
1.229586 0.755929 0.422646 0.346471 0.455842 0.662842 0.919406
1.669384 1.229727 0.755929 0.422707 0.346461 0.455842 0.662771
2.05129 1.669384 1.229586 0.755929 0.422707 0.346471 0.455842
2.402595 2.05129 1.669262 1.229586 0.755929 0.422646 0.346471
2.740822 2.402698 2.05129 1.669384 1.229727 0.755929 0.422707
3.073504 2.740822 2.402595 2.05129 1.669384 1.229586 0.755929
43

10. Inverter a matriz A, determinaremos o coeficiente LAMBDA e a solução numérica.

Matriz :

(4.34)

Tabela 4.15– Inversa da matriz de colocação A


1 2 3 4 5 6 7
-0.73976 8.641945 -15.5759 17.63564 -16.5333 13.48034 -5.35704
0.072258 -18.016 40.85807 -52.1484 50.94688 -42.11 17.52807
1.947293 12.09544 -40.0311 66.23726 -72.7824 62.59557 -26.7075
-2.65666 -3.34656 19.36612 -49.0664 69.92078 -67.9038 30.11678
2.974397 -0.1808 -4.61464 21.72549 -45.8846 58.43369 -28.8928
-2.61038 1.201901 -0.63025 -5.01575 16.9383 -33.4516 20.4409
1.443143 -0.73317 1.083888 0.176638 -2.13043 8.553822 -6.73079

Tabela 4.16 – Resumo dos dados da solução da EDO de 1ª ordem via método sem malhas

-3.1174 0.0000 4.0000 4.0000 0


2.1742 0.3333 2.9160 3.0171 0,101087
2411 0.6667 2.2338 2.2934 0,05964
-7.6124 1.0000 1.8394 1.8898 0,050411
8.9147 1.3333 1.6513 1.6805 0,029199
-7.7657 1.6667 1.6110 1.6395 0,028501
4.3817 2.0000 1.6767 1.6860 0,009293
44

4.1.1 Vetor Resíduo - VR

O vetor resíduo é definido pelo produto da matriz A pela matriz ,


subtraído pela matriz F. Sua importância deve-se ao fato de servir como indicador da
qualidade da aproximação entre a solução numérica e a solução analítica de uma
determinada equação diferencial. Isto por que, para cada c, parâmetro de forma,
gera-se um vetor resíduo e quanto menor for o somatório do módulo das
componentes deste, melhor será a aproximação e, então, podemos identificar o
parâmetro de forma c – ótimo. Nesse exemplo, em particular, o parâmetro de forma
foi arbitrário e igual a 0,755929 (vide item 4.9), contudo esses valores sugeridos na
literatura nem sempre refletem em um resultado razoável, por isso, a posteriori,
faremos o uso da plataforma SCILAB 5.4.1, para otimizarmos o parâmetro de forma.

Tabela 4.17– Componentes do vetor resíduo, VR, da EDO de 1ª ordem

= (A
-7,10543x10-15
-9,4369x10-16
2,18714x10-14
1,64313x10-14
6,88338x10-15
5,77316x10-15
9,32587x10-15

Então, nesse caso particular, a somatória dos módulos das componentes


do vetor resíduo , é o número ínfimo, apresentado abaixo, que caracteriza uma
aproximação significativamente razoável:

(4.35)
∑| |

Eis abaixo, nas figuras, 4.1; 4.2 e 4.3, a comparação gráfica entre a
solução numérica e a solução analítica, através da simulação com, respectivamente,
5, 7 e 10 pontos de discretização do domínio, no qual a equação está definida e com
um parâmetro de forma c suposto igual a 0,755929.
45

Figura 4.1 – Parâmetro de forma utilizado "c=0,755929" , pontos do domínio, com número de pontos
N=5.
46

Figura 4.2 – Parâmetro de forma utilizado "c=0,755929" , pontos do domínio, com número de pontos
N=7.

Figura 4.3– Parâmetro de forma utilizado "c=0,755929" , pontos do domínio, com número de pontos
N=10.
47

4.2 Aplicação do método sem malhas (MESHLESS) em uma EDO de 2ª ordem


com coeficientes constantes via método de Kansa.

Uma equação diferencial ordinária de segunda ordem com coeficientes


constantes é uma equação do tipo:

(4.36)

Onde é uma função de e são constantes reais.

Façamos para ilustrar . Além disso, tome


então temos, a seguinte equação diferencial ordinária:

(4.37)

Como condição de contorno, admitiremos que e Como


esta equação tem solução analítica e trata-se de uma EDO de 2ª ordem não
homogênea, podemos solucioná-la pelo método dos coeficientes a determinar e
compararemos sua solução analítica com a solução numérica, otimizando o
parâmetro de forma c. Lançando, para tanto, mão do método sem malhas
(MESHLESS). Então assim, primeiro passo é resolver a equação característica:

(4.38)

A função complementar é:

(4.39)

Uma solução particular para o problema é:

(4.40)
48

Então façamos:

(4.41)

Concluímos que e , com isso a solução geral da EDO, é a soma da

função complementar com a solução particular:

(4.42)

(4.43)

Aplicando as condições de contorno e , segue-se que:

(4.44)

(4.45)

Logo a solução analítica é:

(4.46)

Modelaremos o problema da EDO de 2ª ordem em rotina do SCILAB. Para


tanto seguiremos alguns passos, apresentados no Fluxograma 4.2.1.
49

4.2.1 Fluxograma do processo de uso do método sem malhas


1. Identifica-se as constantes, coeficientes da equação

2. Delimita-se o intervalo relativo ao domínio da equação

3. Discretiza-se o domínio

4. Indica-se as condições de contorno do problema

5. Determina-se a matriz correspondente a , das distâncias

6. Determina-se a matriz FI

7. Obtém-se a matriz LFI

8. Monta-se a matriz de colocação A

9. O programa verifica se a matriz possui inversa

10. Determinam-se os valores de

11. Otimiza-se o parâmetro de forma

12. Indica-se o método: direto ou indireto

13. Plota-se os resultados em gráficos.


50

A rotina do problema em questão está apresentada no APÊNDICE B,


quando executada, calcula a solução aproximada do problema a partir da rotina de
cálculo desenvolvida no SCILAB. Após a execução da rotina em SCILAB solicita-se
ao usuário os seguintes dados por meio das caixas de diálogo a seguir:

Definição das condições de contorno e indicação do método: Número um,


direto (multiquadráticas) ou número dois método inverso (multiquadráticas inversas):

Figura 4.4 – Definição das condições de contorno da EDO.

Discretização do Domínio, temos que definir o intervalo considerado com o


limite inferior e o limite superior e numerarmos os pontos, para o refinamento dos
mesmos.

Figura 4.5 – Discretização do domínio da EDO.


51

Identificação das constantes ou coeficientes da equação diferencial, ou


seja, definição do tipo de EDO:

Figura 4.6 – Definição dos coeficientes da EDO.

A partir daí a rotina solicita a indicação do parâmetro de forma “c”, então


definimos um intervalo atribuindo um valor mínimo e máximo e um incremento e,
com isso, o programa busca um valor otimizado para o “c”, ou seja, um valor que
resultará na melhor aproximação possível entre a solução numérica e a solução
analítica do problema descrito.

Figura 4.7 – Dados de entrada para a otimização do parâmetro de forma c.


52

Figura 4.8 – Gráfico de resíduo do contorno e determinação de c = 68.21 como sendo o c - ótimo, via
método multiquadrático direto.

Figura 4.9 – Gráfico de resíduo do domínio e determinação de c=15.81, como sendo o c - ótimo, via
método multiquadrático direto.
53

Figura 4.10 – Comparação entre solução numérica e solução analítica, pontos do domínio, com
c=15.81, otimizado pelo método multiquadrático direto.

Na indicação do número dois na caixa de diálogo abaixo e seguindo as


mesmas opções já descritas, encontraremos a aproximação pelo método inverso, da
solução numérica com a solução analítica:

Figura 4.11– Definição das condições de contorno da EDO, para uso do método inverso.
54

Figura 4.12 – Gráfico de resíduo e determinação de c=70.61, como sendo o c - ótimo do contorno,
via método multiquadrático inverso.

Figura 4.13 – Gráfico de resíduo e determinação de c=16.81, como sendo o c - ótimo do domínio, via
método multiquadrático inverso.
55

Figura 4.14 – Comparação entre solução numérica e analítica, pelo método inverso c=16.81.

4.3 Equação da difusão pura

A equação da difusão é descrita como,

(4.47)

Determinaremos a solução da equação da difusão, fazendo uso do método


de separação de variáveis e de série de Fourier, obedecendo às condições iniciais e
de contorno expressas, respectivamente, abaixo,

(4.48)
{

Sendo que D representa o coeficiente de dispersão. Façamos a separação de


variáveis, supondo:

(4.49)
56

Assim, deriva-se a função , em relação a ,

(4.50)

Determinamos a segunda derivada da função , em relação a ,

(4.51)

Separamos as variáveis, igualando posteriormente a uma constante – :

(4.52)

(4.53)

(4.54)
{

Resolvemos as equações diferenciais ordinárias:

(4.55)
{

(4.56)
{

Resolvendo a equação característica da primeira equação do sistema (4.56), tem-se


que:

(4.57)
57

(4.58)

Concluímos que:

(4.59)
( ) ( )
√ √

Usando as condições de contorno,

(4.60)

(4.61)
( )

(4.62)

(4.63)

(4.64)
∫ ∫

( ) (4.65)

Usa-se a série de Fourier,

(4.66)
∑ ( )

(4.67)
∫ ( )
58

Tomando, em particular,

(4.68)

(4.69)

(4.70)

(4.71)

(4.72)

A solução analítica, abaixo, representa a concentração da


substância em função do espaço percorrido e do tempo.

(4.73)

Usando a abordagem Kansa na equação da difusão, temos a seguinte


aproximação:

(4.74)

Na forma compacta (matrizes), podemos escrever

(4.75)

Onde é definido por:

(4.76)

59

Nesse caso temos uma função unidimensional. Escolhendo o método direto


multiquadrático, , como função de base, temos:

(4.77)
√ √

Sendo que é um parâmetro de forma. De acordo com a equação da difusão será


necessário calcular as derivas parciais em relação a de primeira e segunda ordem.
Calculando as derivadas parciais temos:

•Derivada parcial de primeira ordem é igual a derivada ordinária de função


de uma variável,

(4.78)

• Consequentemente a derivada parcial de segunda ordem, também será


igual a derivada de segunda ordem ordinária de função de uma variável,

(4.79)

√( )

Sabendo que é função apenas de ou seja, e que é função


do tempo, ou seja, , substituindo na equação da difusão (equação 4.46)
ficamos com:

(4.80)

Usando um esquema explícito para o tempo, ficamos com:

(4.81)
( )

Como o termo desconhecido é , isolando, ficamos com a equação:


60

(4.82)
( )

Considera-se que:

(4.83)
( )

Assim, temos a equação básica do método meshless para a equação da difusão


será:

(4.84)

Para o método sem malhas ficar completo, devemos introduzir as


condições iniciais e de contorno no nosso problema. Inserindo as matrizes para
, ficamos com:

(4.85)

A matriz é chamada de matriz de colocação. A matriz é a


concatenação da primeira linha da matriz e última linha da matriz com a matriz
, ou seja:

(4.86)
[ ]

e será a concatenação das condições de contorno e condições inciais,


com isso, segue-se que:

(4.87)
[ ] [ ]
61

A partir dessa formulação podemos obter para e


consequentemente os outros e assim a solução numérica em qualquer intervalo de
tempo. A solução numérica em será dada por:

(4.88)

onde nos vimos como é feito o cálculo.

Os demais termos de serão obtidos a partir da seguinte equação:

(4.89)

Onde será dado por:

(4.90)

A estabilidade do sistema será mantida pela grandeza adimensional, conhecida


como número de difusão :

(4.91)

De acordo com Carnahan, (1969) para assegura-se que a solução

não vai oscilar, e tende a minimizar os erros de truncamento. Assim definindo

um , o passo de tempo será:

(4.92)

Vamos agora otimizar o valor do parâmetro de forma . A otimização de


foi feita com base nos resíduos, e foi considerado que não varia com o passar do
tempo. Para cada valor de , obtemos um vetor resíduo (para ). O vetor resíduo
é dado por:

(4.93)
62

Será mais conveniente trabalhar com o somatório do quadrado desse


resíduo. Logo para cada tem-se um somatório, aquele menor corresponde ao
melhor . Após ter encontrado o melhor , deve-se encontrar os outros , e
consequentemente a solução numérica em qualquer tempo. Conforme os gráficos,
abaixo:

Figura 4.15 – Solução analítica da Equação da Difusão Pura para os instantes t=0s; t=0.05s; t=0.10s
com N=50 pontos, x (Km).
63

Figura 4.16 – Comparação solução analítica com solução numérica da Equação da Difusão Pura,
pontos do domínio, para os instantes t=0s; t=0.05s; t=0.10s com N=5 pontos, x (Km).

Figura 4.17 – Comparação solução analítica com solução numérica da Equação da Difusão Pura,
pontos do domínio, para os instantes t=0s; t=0.05s; t=0.10s com N=20 pontos, x (Km).
64

Figura 4.18 – Comparação solução analítica com solução numérica da Equação da Difusão Pura,
pontos do domínio, c-ótimo 0.3, para os instantes t=0s; t=0.05s; t=0.10s com N=40 pontos.

Figura 4.19 – Gráfico comparativo de c e do somatório do quadrado do resíduo


65

4.4 Equação Diferencial Parcial da Difusão Advecção

A equação da difusão advecção é dada por:

(4.94)

Onde é a velocidade, representa a dispersão e é a concentração.

As condições iniciais são descritas pela função delta de Dirac e isto


significa que a concentração no instante inicial é zero em todos os pontos,
com exceção do segmento de reta , no qual foram despejados uma
quantidade de um determinado poluente com massa em gramas. A função delta
de Dirac rege o problema da massa por unidade de área :

(4.95)

As condições de contorno do problema podem ser pensadas de modo que


a partir de uma “longa distância” a concentração seja anulada, ou em termos mais
preciso, no limite temos:

(4.96)

Eis a solução analítica da equação de difusão advecção (FISHER, et al.1979, apud


ANDRADE, 2006):

(4.97)
( )

66

4.4.1 Problema envolvendo a equação da difusão advecção

Um derramamento de uma substância conservativa, poluente, com massa


equivalente a ocorre em um rio hipotético a uma distância a jusante de
uma cidade. A profundidade do rio é de 1m, a largura é de , a velocidade
é de e a dispersão equivale a . Representar graficamente,
a distribuição da concentração da substância conservativa ao longo do suposto rio,
em um tempo de fazendo a comparação entre a solução numérica, via
método sem malhas e a solução analítica apresentada. Em seguida, compare em
um mesmo gráfico a solução numérica e a solução analítica da distribuição da
concentração da substância, nos seguintes instantes:

a) 12 minutos;
b) 24 minutos;
c) 36 minutos.

Onde é massa total das partículas normais a área da seção transversal, ou seja,
e representa a distância entre a cidade e o ponto de lançamento.

(4.98)

(4.99)

Em cada caso é dado por:

(4.100)
67

4.4.2 Abordagem Kansa na equação de difusão advecção

Usando a abordagem Kansa na equação de Difusão Advecção, temos a


seguinte aproximação:

(4.101)

Onde é definido por:

(4.102)

Nesse caso, temos uma função unidimensional. Escolhendo como função de


base, temos:

(4.103)
√ √

De acordo com a equação da difusão será necessário calcular as derivas parciais


em relação a de primeira e segunda ordem. Calculando as derivadas temos:

• Derivada primeira

√ (4.104)

• Derivada segunda

(4.105)

√( )
68

Para uma variação temporal, um esquema implícito pode ser utilizado.


Aplicando a forma implícita na equação da difusão teremos:

(4.106)

onde indica o intervalo de tempo e o subescrito é o valor desconhecido (ou


novo), a ser resolvido. A solução aproximada pode ser expressa por:

(4.107)

Os outros termos da equação (4.106) são:

(4.108)

(4.109)

(4.110)

Substituindo esses termos na equação (4.106) obtêm-se:

∑ ∑ (4.111)
∑ ∑

Isolando o termo desconhecido , a equação fica:

∑ ∑ (4.112)
∑ ∑
69

Multiplicando ambos os membros por e pondo em evidencia no membro


esquerdo da equação, segue-se que:

(4.113)
∑* + ∑

Para , que produz um sistema linear de equações para o valor


desconhecido .

As matrizes que representam a equação (4.110) são:

(4.114)

( ) ( )

( ) ( )

( ) ( )
[ ]

(4.115)

[ ]
[ ] [ ]

Dessa forma podemos reescrever a equação (4.110) em sua forma matricial, que é
dada por:

(4.116)

Onde , , e são matrizes. Como queremos encontrar a matriz ,


devemos isolar esse termo, para isso, multiplicamos pela inversa da matriz , ou
seja:
70

(4.117)

Da Álgebra de matrizes, sabemos que uma matriz multiplicada pela sua inversa é
igual à matriz identidade.

(4.118)

Sendo que é a matriz identidade N-dimensional definida por:

(4.119)

[ ]

Fazendo algumas operações algébricas, obtemos:

(4.120)

4.4.3 Matrizes da equação de difusão advecção

Estando a forma geral da equação pronta, o próximo passo é montar as


matrizes que caracteriza o método sem malhas e, em seguida, implementaremos na
plataforma SCILAB a rotina para que a mesma seja executada . As matrizes são:

matriz , matriz , matriz e matriz . De acordo com a equação (4.106) a matriz

é uma composição destas matrizes. As matrizes são:

• Matriz

(4.121)
[√ ] [| |]
71

(4.122)

[ ] [ ]

• Matriz

(4.123)
[√ ] [√ ]

√ √ √ (4.124)
√ √ √

√ √ √
[ ]

• Matriz

(4.125)
* +

[ ]

(4.126)

[ ] [ ]
72

• Matriz

[ ] [ ] (4.127)
(√ )

(4.128)

[ ] [ ]

Com as matrizes principais montadas, podemos agora determinar a matriz


de colocação . Cada termo dessa matriz será dado por:

(4.129)

Na forma matricial temos:

( ) ( )

( ) ( )
(4.130)
( ) ( )

[ ]
73

Substituindo os valores das matrizes principais teremos: (4.131)

( ) ( ) ( )

( ) ( ) ( )

( ) ( ) ( )
[ ]

Onde e são constantes e é o intervalo de tempo.

Logo abaixo, figura 4.20, está exposto o fluxograma, simplificado, do


processo de comparação entre solução numérica e solução analítica com otimização
do “c” no scilab:

Figura 4.20 – Fluxograma simplificado da otimização do c.


74

4.4.4 Estabilidade do sistema Número de Courant

Para Garantir a estabilidade do sistema foi adotado o número


adimensional Número de Courant. Essa grandeza adimensional representa, então,
por meio de uma razão de distâncias, o fluxo advectivo que atravessa os volumes da
malha em um dado intervalo de tempo. Se supormos uma malha e uma velocidade
uniformes numa região do domínio, o Número de Courant local torna-se o número
de volumes da malha atravessados por uma perturbação naquele passo de tempo é
dado por Carnahan (1996):

(4.132)

Onde é a velocidade é o passo de tempo e é o passo no espaço. Para um


sistema estável esse número deve ser tal que:

(4.133)

para a equação da difusão foi adotado que , dessa maneira a partir de um


passo podemos encontrar o passo de tempo. Isolando e usando o
passo de tempo utilizado foi:

(4.134)
75

Figura 4.21 – Gráfico comparativo da solução numérica e da solução analítica da Equação de


Difusão-Advecção com t=15 min e N=100 pontos.

Figura 4.22 – Gráfico comparativo da solução numérica e da solução analítica da Equação de


Difusão-Advecção com t=15 min e N=200 pontos.
76

Figura 4.23 – Gráfico comparativo entre a solução numérica e a solução analítica da Equação de
Difusão-Advecção, pontos do domínio, nos instantes t=12min, t=24min, t=36min. O parâmetro de
forma, c = 0.149254, foi otimizado pelo SCILAB 5.4.1.

Figura 4.24 – Gráfico comparativo do parâmetro de forma e do resíduo da equação de Difusão-


Advecção. Para cada c, tem-se um resíduo e o c-ótimo implica em um menor resíduo.
77

5. CONCLUSÕES:

Nesse trabalho foi dada uma atenção às equações diferenciais, ordinárias


e parciais, haja vista uma vasta gama de problemas físicos e, por conseguinte de
engenharia ser regidos por estas equações. Assim foram aplicados métodos sem
malha, funções de base radial, multiquadráticas e multiquadráticas inversas com
aproximação de Kansa e, com isso, foram feitas simulações, utilizando a plataforma
SCILAB e comparando, graficamente, a aproximação entre a solução numérica e a
solução analítica das supracitadas equações.

Nas simulações utilizamos, a priori, uma equação diferencial linear de


primeira ordem, com condição inicial, para ilustrar o método sem malhas e comparar
a solução numérica com a solução analítica. Nesse primeiro caso, nós usamos um
parâmetro de forma , suposto conforme literatura (FERREIRA, p.87) como a razão
de dois pela raiz quadrada de , onde é o número de pontos.

Em seguida, apresentamos um problema de valor de contorno em uma


equação diferencial linear de segunda ordem, não homogênea, onde o parâmetro de
forma , foi otimizado via função de base radial multiquadráticas e multiquadráticas
inversa, por meio da plataforma SCILAB.

Comparamos a solução numérica com a solução analítica da equação


diferencial parcial da difusão pura e, com isso, encontrando um parâmetro de forma
c ótimo, minimizando o erro e, consequentemente o resíduo da aproximação.

Ao final, simulamos um problema de contaminação de um determinado


aquífero por meio de uma substância conservativa. A modelagem matemática do
problema foi descrita por meio de uma equação “1D transiente,” denominada de
equação de difusão-advecção, onde comparamos a solução numérica com a
solução analítica e plotamos os resultados graficamente para analisarmos a
concentração do poluente em função do tempo e da distância percorridos.

A modelagem matemática, em conjunto com a simulação computacional e


o advento dos métodos numéricos, principalmente o método numérico sem malhas,
têm demonstrado ser eficientes e eficazes, nos estudos de recursos hídricos. Dessa
78

forma, são utilizados para prever situações nas quais estudos empíricos, sejam
dispendiosos e, por vezes também onerosos.

A vantagem do método sem malhas, frente aos demais métodos de


aproximação de uma equação diferencial está basicamente na relativa facilidade
com a qual podemos montar um algoritmo, pois não há necessidade de construção
de uma malha regular, uma vez que somente nos interessa a distância entre os
pontos discretizados e não a sua posição geométrica. Ademais, com o aumento da
dimensão, não há um incremento considerável, como ocorre no método dos
elementos finitos, na dificuldade de modelarmos problemas, usando como
ferramenta o SCILAB. Contudo, por se tratar de um ramo emergente vale pesquisar
maneiras de diminuir o esforço computacional, o qual ainda é grande, por conta do
número de operações que a Álgebra de matrizes e sistemas lineares exige.

Por fim, para estudos futuros podemos modelar diversos problemas de


Recursos Hídricos, tais contaminação de aquíferos, recarga hidráulica e golpe de
aríete, fazendo uso dos métodos sem malha, das funções de base radial, mas não
se limitando as funções multiquadráticas diretas e inversas, como fizemos nesse
trabalho e, sim fazendo uso da Gaussiana.
79

REFERÊNCIAS BIBLIOGRÁFICAS

AZEVEDO NETTO, J. M.; FERNANDEZ, M. F.; ARAÚJO, R.; ITO, A E. Manual de


Hidráulica 8a ed. – São Paulo – 1998. 670 p.

BAPTISTA, Márcio Benedito; COELHO, Márcia Maria Lara Pinto. Fundamentos de


Engenharia Hidráulica 2a ed. rev. – Belo Horizonte – Editora: UFMG, 2003. 440 p.

Barret R., Berry M., et. al. Templares for the solution of Linear Systems: Building
Blocks for Iterative Methods. SIAM, 1994.
BENNET, C. O. & MYERS, T. E. Fenômenos de Transporte. São Paulo, McGraw-
Hill do Brasil.1980.
BOYCE, William Edward. Equações diferenciais elementares e problemas de
valores de contorno.9.ed. São Paulo: LTC, 2010.
BRAGA, Benedito, et.al. Introdução à Engenharia Ambiental. São Paulo, SP:
Pearson Prentice Hall, 2005.

BRANCO, Samuel Murgel, Água: Origem, uso e preservação.2.ed. São Paulo:


Moderna, 2003.

BRANNAN, J. R.; BOYCE, W. E. Equações Diferenciais: uma introdução aos


métodos modernos e suas aplicações. 1ª ed. Rio de Janeiro: LTC, 2009.

CARNAHAN, B., LUTHER, H. A. e WILKES, J. O. (1969) Applied Numerical


Methods. John Wiley & Sons, Inc.

CHOW, Ven Te; MAIDMENT, R. David; MAYS, Larry W.; Hidrologia Aplicada.
Tradução para o espanhol de SALDARRIAGA, Juan G.; Santa Fé de Bogotá-
Colômbia, 1994. Editora: Mc GRAW -HILL.

COURANT, R. Variational methods for the solution of problems of equilibrium


and vibrations, Bulletin of American Mathematical Society, 1943.
DAKER, Alberto. Captação, elevação e melhoramento da água; 7a ed. Volume II
– Rio de Janeiro - 1987. 408 p.
DIAS, Nelson L; Obtenção de uma solução analítica da equação de difusão-
advecção com decaimento de 1ª ordem pelo método da transformação de
similaridade generalizada. RBRH, 2002, vol. 8 n.1 p.181-188
DUARTE, C. Armando, A Review of Some Meshless Methods to Solve Partial
Differential Equations, Tech Report, TICAM – Texas Institute for Computational and
Applied Mathematics.1995.
FERREIRA, A. J. M.; KANSA, E.J et. al. Progress on Meshless Methods. Porto.
Portugal: Springer 2009.

FISCHER, H. B., et. al.: Mixing in Inland and Coastal Waters. Academic Press,
New York 1979 apud ANDRADE, Rodrigo Campos: Uma nova abordagem para a
solução numérica de problemas de advecção e difusão multidimensional em
corpos de água naturais. Tese de doutorado. UFRJ/ COPPE, 2006
80

FOSTER, S. S. D. ; HIRATA, R. C.; ROCHA, G.A. 1998. Riscos de poluição de


águas subterrâneas: uma proposta metodológica de avaliação regional. In:
CONGRESSO BRASILEIRO DE ÁGUAS SUBTERRÂNEAS., 5. São Paulo. Anais.
São Paulo, ABAS.

GADELHA FILHO, D. Apostila SCILAB 5.1.1., Universidade Federal do Ceará, 2004


GARCEZ, Lucas Nogueira. Elementos de Mecânica dos Fluidos: Hidráulica
Geral. Ed. Edgard Blucher, 1963.
GILES, Ronald V. Mecânica dos Fluídos e Hidráulica. São Paulo, McGraw-Hill do
Brasil Ltda.1982.
GILES, Ronald V. Mecânica dos Fluídos e Hidráulica. São Paulo, McGraw-Hill do
Brasil Ltda, 1996.
IÓRIO, Valéria. EDP, um curso de graduação. 3 ed. Rio de Janeiro: IMPA, 2010.

LIMA, Elon Lages. Álgebra Linear. 8.ed.Rio de Janeiro: Impa, 2011. (Coleção
matemática universitária).
LIU, Gui-Rong. Mesh free methods: moving beyond the finite elemento method.
USA, New York: CRC Press LLC, 2003.

MACHADO, Kleber D. Equações Diferenciais Aplicadas à Física. 2ª ed. Ponta Grossa,


EDUEPG, 2003.

MENESCAL, Germana Cavalcante. Modelagem, Numérico – Analítica da


contaminação de aquíferos utilizando o método de colocação RBF livre de
malha. 128f. Tese (Doutorado em Engenharia Civil – Recursos Hídricos) –
Departamento de Engenharia Hidráulica e Engenharia Ambiental, Universidade
Federal do Ceará – UFC, Fortaleza, 2008.
MEYER, J.F.C.A.; SALVATIERRA, M.M; Modelagem matemática e simulação
computacional da presença de materiais impactantes tóxicos em casos de
dinâmica populacional com competição inter e intra-específica. Revista
Biomatemática, 2006, vol.16, p. 1-22
MIJARES, Francisco Javier Aparicio; Fundamentos de hidrologia de superfície.
México: Limusa, 1992.

MUNSON, Bruce R.; DONALD F. Young; THEODORE, H. Okiishi. Fundamentos de


mecânica dos Fluidos. São Paulo: Edgar Blücher, 2004.

NETTO, J. M. de A. Manual de Hidráulica. São Paulo, McGraw-Hill do Brasil Ltda,


1990.
NEVES, Eurico Trindade. Curso de Hidráulica, 9a ed.- São Paulo – 1989. 577 p.

PHILIPPI, Arlindo Jr; ROMÉRO, Marcelo de Andrade; BRUNA, Gilda Collet. Curso
de Gestão Ambiental. Barueri, SP: Manole, 2004.

PIRES, Paulo Sérgio da Motta, Apostila de Introdução ao Scilab - Versão 3.0.


Departamento de Engenharia de Computação e Automação, Universidade Federal
81

do Rio Grande do Norte-UFRN. Natal-RN, Julho de 2004.


http://www.dca.ufrn.br/~pmotta.
PORTO, Rodrigo de Melo, Hidráulica básica.4.ed. São Carlos: EESC-USP,2006

SHAMES, Irving H. Mecânica dos Fluídos, vols. 1 e 2, São Paulo, Edgard


Blücher.1980.
STEINBRUCH, Alfredo; WINTERLE, Paulo. Álgebra linear: teoria e problemas.
2.ed. São Paulo: Makron, 1987.
STREETER, Victor L. Mecânica dos Fluídos. São Paulo, McGraw-Hill do Brasil
Ltda.1980.
VIANNA, Marcos Rocha; Mecânica dos Fluidos para Engenheiros - 4a ed. Belo
Horizonte – 2001. 582 p.
ZILL, Dennis G. and CULLEN, Michael R., Differential Equations with Boundary-
Value Problems; Seventh Edition, Pearson, New York, 2007;

ZILL, Dennis G. e Cullen, Michael R. Equações Diferenciais, 3ª Edição, Volume 1,


Pearson S.A, 2001.
ZILL, Dennis G. Equações diferenciais com aplicações em modelagem. São
Paulo: Pearson, 2011.
82

APÊNDICE A – NOCÕES DE DEPENDÊNCIA LINEAR E INDEPENDÊNCIA


LINEAR E FUNÇÃO DE IMPULSO DE DIRAC.

Uma propriedade importante de conjuntos e que influencia à formação de


bases de espaços vetoriais é a identificação da dependência e da independência
lineares. Sabe-se através da literatura (LIMA, 2011) que um conjunto de vetores,
forma uma base de um Espaço Vetorial, quando os mesmos são linearmente
independentes e geram o espaço. Nesse sentindo, existe uma ampla gama de
espaços vetoriais, como o , como o espaço das matrizes quadradas de ordem n,
como o espaço de polinômios de grau menor ou igual a n, espaço dos operadores
lineares de dimensão finita, entre outros.

A.1 – Conjunto linearmente dependente (LD)

Seja V um espaço vetorial sobre o corpo , e sejam ⃗⃗⃗⃗ ⃗⃗⃗⃗ ⃗⃗⃗⃗ vetores de
V. o conjunto ⃗⃗⃗⃗ ⃗⃗⃗⃗ ⃗⃗⃗⃗ , é dito linearmente dependente sobre se existem
escalares reais ; não todos nulos, tais que:

⃗ (A.1.1)

Para todo .

Os vetores ⃗ e são LD, desde que .


Digamos , com então temos, conforme figura A.1.1, uma expansão do
vetor ⃗ .

Figura A.1 – Expansão do vetor u


83

Se , temos uma mudança de sentindo, digamos , então


representamos, geometricamente, através da figura A.2:

Figura A. 2 – Mudança de sentido do vetor u

Caso o | | , haverá uma contração que se dará no sentido do vetor


se , e no sentindo inverso se Em qualquer caso, quando um vetor é
múltiplo do outro, dizemos que os mesmos são LD.

A.2 – Conjunto linearmente independente (LI)

Seja V um espaço vetorial sobre o corpo , e sejam ⃗⃗⃗⃗ ⃗⃗⃗⃗ ⃗⃗⃗⃗ vetores de
V. o conjunto ⃗⃗⃗⃗ ⃗⃗⃗⃗ ⃗⃗⃗⃗ , é dito linearmente independente sobre se existem
escalares reais ; tais que:

⃗ (A.2.1)

Se, e somente se, =0, para todo .

Como ilustração podemos citar a base canônica do

⃗⃗⃗ ⃗⃗⃗ ⃗⃗⃗⃗ (A.2.2)


84

A combinação linear, abaixo resulta que =0


para todo :

⃗⃗⃗ ⃗⃗⃗ ⃗⃗⃗⃗ (A.2.3)

A.3 – Aplicação Linear (Transformação Linear)

Sejam dois espaços vetoriais e , sobre o corpo dos reais, . Uma


aplicação linear é uma função , que obedece às seguintes propriedades:

i) (⃗⃗⃗⃗ ⃗⃗⃗⃗ (⃗⃗⃗⃗ ⃗⃗⃗⃗ ; ⃗⃗⃗⃗ ⃗⃗⃗⃗ (A.3.1)

ii) ( ⃗ (⃗ ⃗ , . (A.3.2)

A.4 – Aplicação linear do vetor nulo entre espaços vetoriais.

Sendo A uma aplicação linear de dois espaços vetoriais e , sobre o


corpo dos reais, . A aplicação Linear:

(⃗ ) ⃗ (A.4.1)

De fato, note que como é espaço vetorial, temos que ⃗ , então


(⃗ ) . Por conseguinte, (⃗ ) (⃗ ⃗ ), mas como A é uma aplicação linear,

segue-se que: ⃗ (⃗ ) (⃗ ) (⃗ ) (⃗ ) ⃗ Conclui-se, assim, a


demonstração.
85

A.5 – Funçõesde Impulso

Alguns fenômenos tem natureza impulsiva como, por exemplo, os


problemas de voltagem, ou forças muito grandes em intervalos de tempo muito
curto. Esses problemas geralmente são modelados através de equações diferenciais
da forma:

(A.5.1)

Onde é grande em um intervalo pequeno e é zero nos outros


pontos. A integral, definida abaixo por:

(A.5.2)

Ou, como fora do intervalo de tempo ,

(A.5.3)

Funciona como uma medida de força do termo não homogêneo, ou seja


em sistemas mecânicos, onde a função é uma força, é o impulso total da
força g(t) sobre o intervalo no qual a força está definida . Em
condições similares, no caso de um circuito elétrico e é a derivada em relação
ao tempo da voltagem, então a integral representa a voltagem total no circuito
no intervalo aberto considerado .

A função impulso unitário denominada de função delta ( ) de Dirac tem as seguintes


propriedades:

i. sempre que ;

ii. ∫

Vale ressaltar que a função delta de Dirac, na verdade não é uma função, no
sentindo clássico ou formal da palavra, mas é conhecida como à classe de
funções generalizadas.
86

Suponha, em particular que ,

Sendo que é uma constante positiva pequena.

Figura A.3 – Gráfico da função delta de Dirac de .

Fonte: Boyce (2010 p. 184)

Figura A.4 – Gráfico da função delta de Dirac de , quando .

Fonte: Boyce (2010 p. 184)


87

APÊNDICE B – Breve exposição sobre o SCILAB

Figura B. 1– Sobre o SCILAB 5.4.1

B.1 – INTRODUÇÃO

O SCILAB é um freeware matemático, ou software livre, que faz um


grande número de operações matemáticas e é adequado para a resolução de
problemas numéricos de matemática e, por conseguinte de Física e Engenharia.
Com isso, proporciona um ambiente de computação muito frutífero para aplicações
em uma ampla gama de problemas de Engenharia Civil, em particular na
Engenharia de Recursos-Hídricos.

O SCILAB é uma versão livre com mesma plataforma do MATLAB,


software muito utilizado por cientistas, matemáticos e engenheiros. Este programa
foi lançado (PIRES, 2004) em código aberto, sendo criado e mantido por
pesquisadores do INRIA (Institut de Recherche em Informatique et em Automatique),
através do Projeto MÉTALAU (Méthods, algorithmes et logiciels pour l’automatique)
e também com o respaldo da ENPC ( École Nationale des Ponts et Chaussées).

O SCILAB pode ser instalado nos seguintes sistemas operacionais


GNU/Linux, Mac OS X e Windows XP/Vista/7/8, reconhece vários tipos de
linguagens e códigos como o “c”, ou “c++” e o “FORTRAN”, entre outros. Além disso,
gera gráficos 2D e 3D e executa simulações em sistemas mecânicos, hidráulicos e
88

elétricos onde estão localizados os arquivos executáveis. Nas distribuições


Unix/Linux o script SCILAB aciona o executável SCILEX. Neste diretório estão,
também, localizados programas para manipulação de arquivos POSTSCRIPT e
LATEX gerados pelo SCILAB.
Entre as várias funcionalidades desse software, estão as simulações
matemáticas, visualização de gráficos, optimização, estatística, álgebra linear,
cálculo diferencial e integral, EDO e EDP. A versão utilizada nesse trabalho foi a
scilab-5.4.1, para Windows 8, PC 64 bits.
Ao abrirmos o SCILAB nos deparamos com o console, ambiente virtual
onde são inseridos os comandos, preferencialmente curtos para que sejam logo
executados.

Figura B.2 – Ambiente, plataforma SCILAB 5.4.1

Figura B.3 – Acessando o aplicativo Scinotes do SCILAB 5.4.1


89

Programações mais extensas, como as desenvolvidas nesse trabalho,


devem ser feitas no ambiente virtual Scinotes, para a posteriori serem executadas.

Figura B.4 – Aplicativo SciNotes do SCILAB 5.4.1

B 1.1 – Criação de Matrizes

Uma matriz é uma espécie de tabela que permite guardar números de uma
forma ordenada e indexável, a mesma também pode ser vista como vetor, haja vista
o conjunto de matrizes m por n, satisfazer os oito axiomas de espaço vetorial. No
SCILAB para criarmos uma matriz 3x3, por exemplo, basta digitá-la, separada por
ponto e vírgula e colocada entre colchetes, conforme feito na FIGURA B.5:

Figura B.5 – Gerando uma matriz 3x3 no SCILAB 5.4.1


90

B 1.2 – Dimensão de Matrizes

A dimensão da matriz A é determinada no SCILAB, pelo comando size(A),


à qual nesse caso, em particular, conforme figura abaixo, é três por três.

Figura B.6 – Determinando a dimensão de uma matriz A, size(A), no SCILAB 5.4.1


91

B 1.3 – Transposição de Matrizes

Transpor uma matriz é transformar linhas em colunas e,


consequentemente, colunas em linhas. Então assim, a transposta da matriz A,
apresentada na FIGURA B.7 é dada por C=A’.

Figura B. 7 – Cálculo da transposta de uma matriz A, size(A), no SCILAB 5.4.1


92

B 1.4 Inversa de Matrizes

O cálculo da inversa de uma matriz invertível, ou seja, cujo determinante é


diferente de zero, utilizando o SCILAB é muito simplificado, conforme demonstramos
abaixo, bastando apenas, usarmos a representação inv(A) para representarmos a
matriz inversa de A.

Figura B.8 – Cálculo da inversa de uma matriz A, no SCILAB 5.4.1


93

B 1.5 – Comandos para Iterações (for e while)

Existem dois comandos que permitem a realização de iterações, loops,


implementados através do comando for, ou fazendo uso do comando while. A
instrução, usando o comando for está representada na FIGURA B.9, abaixo:

Figura B. 9 – Esquema de uso do comando “for” no SCILAB 5.4.1


94

Figura B.10 – Aplicação do comando “for” no SCILAB 5.4.1

O comando loop baseado no while realiza uma sequência de instruções


enquanto uma determinada condição tiver que ser satisfeita, geralmente está incluso
à comparação de objetos, tais como os operadores descritos na tabela abaixo:

Tabela B.1 - Operadores básicos do SCILAB

Operadores Significado
igual a
menor do que
maior do que
menor ou igual
maior ou igual
diferente
Fonte: (PIRES, 2004, p. 59)
95

Figura B.11 – Aplicação do comando “while” no SCILAB 5.4.1


96

B 1.6 – Comandos e funções pré-definidos no SCILAB

O SCILAB é um programa versátil, haja vista a imensa quantidade de


problemas, os quais podem ser trabalhados e, portanto, modelados com essa
ferramenta. Ademais, o programa oferece um recurso de ajuda, no qual, pode-se ter
acesso a funções pré-definidas em diversos ramos da matemática como: Álgebra
Linear, Equações diferenciais, polinômios, cálculo diferencial, estatística, entre
outros.

Figura B.12 – Navegador de ajuda no SCILAB 5.4.1, possui comandos específicos para os mais
variados ramos da Matemática.
97

APÊNDICE C - ROTINA DO PROBLEMA 4.1 DA EDO DE 1ª ORDEM.

//Dados de entrada--------------------------------------------------------------
N=evstr(x_dialog('Insira o número de pontos (deve ser um inteiro): ','7'))
X1=0;
XN=2;
Y1=4
C=2/(N)^0.5;
//------------------------------------------------------------------------------

//Criação de matrizes e vetores nulos-------------------------------------------


X=[];
XI=[];
XJ=[];
R=[];
FI=[];
LFI=[];
A=[];
LAMBDA=[];
FF=[];
solA=[];
solN=[];
//------------------------------------------------------------------------------

//Intervalo---------------------------------------------------------------------
intervalo=(XN-X1)/(N-1)
for (i=1:1:N)
X(i)=intervalo*(i-1)+X1
end
//------------------------------------------------------------------------------

//XI(Linha) --------------------------------------------------------------------
for (linha=1:1:N)
XI(linha,1)=X(linha)
end
//------------------------------------------------------------------------------

//XJ(Coluna)--------------------------------------------------------------------
for (coluna=1:1:N)
XJ(1,coluna)=X(coluna)
end
//------------------------------------------------------------------------------

//Matriz R----------------------------------------------------------------------
for (i=1:1:N) //i para linha
for (j=1:1:N) //j para coluna
R(i,j)=(XI(i,1)-XJ(1,j))
end
end
98

//------------------------------------------------------------------------------

//Matriz FI---------------------------------------------------------------------
for (i=1:1:N)
for (j=1:1:N)
FI(i,j)=(R(i,j)^2+C^2)^0.5
end
end
//------------------------------------------------------------------------------

//Matriz LFI--------------------------------------------------------------------
for (i=1:1:N)
for (j=1:1:N)
LFI(i,j)=(R(i,j)^2+C^2)^0.5+(R(i,j)/(R(i,j)^2+C^2)^0.5)
end
end
//------------------------------------------------------------------------------

//Matriz A----------------------------------------------------------------------
for (i=1:1:N)
for (j=1:1:N)
if(i==1) then
A(i,j)=FI(i,j)
else
A(i,j)=LFI(i,j)
end
end
end
//------------------------------------------------------------------------------

//FF----------------------------------------------------------------------------
FF(1,1)=Y1
for(i=2:1:N)
FF(i,1)=X(i)
end
//------------------------------------------------------------------------------

//Inversão da matriz A e vetor LAMBDA------------------------------------------


invA=inv(A)
LAMBDA=invA*FF
//------------------------------------------------------------------------------

//Solução analítica e numérica--------------------------------------------------


solN=FI*LAMBDA
for (i=1:1:N)
solA(i,1)=X(i)-1+5*exp(-X(i))
end
//------------------------------------------------------------------------------

//Exibe os dados----------------------------------------------------------------
99

caminho=get_absolute_file_path('Meshless - Exemplo 1.sce')


files=caminho+'exibeDados.sci'
exec(files, -1) //executa o programa no mesmo diretório
exibe=%F //Exibe=falso
exibe=exibeDados(N,X,R,FI,LFI,A,solA,solN,invA,LAMBDA,FF);
//se exibir os dados retorna verdadeiro (exibe=verdadeiro)
//------------------------------------------------------------------------------

//Plotar gráfico formatado------------------------------------------------------


caminho=get_absolute_file_path('Meshless - Exemplo 1.sce')
files=caminho+'exibeGrafico.sci'
exec(files, -1) //executa o programa no mesmo diretório
exibeG=%F //Exibe=falso
estilo=[2,4]
exibeG=exibeGrafico(estilo,X,solA,solN)
//se exibir o gráfico retorna verdadeiro (exibe=verdadeiro)
//------------------------------------------------------------------------------
100

APÊNDICE D - ROTINA DO PROBLEMA DA EDO DE 2ª ORDEM NÃO


HOMOGÊNEA.

//ROTINA PARA SOLUÇÃO NUMÉRICA DE EDO's UTILIZANDOO


//MÉTODO SEM MALHAS(MESHLESS)
//EQ.GERAL:
//A*(d^2/du(x))+B*(d/du(x))+C*u(x)=D*sin(E*x)+F*cos(G*x)+H*x^3+I*x^2+J*x+L

//------------OBTENDO O PARÂMETRO DE FORMA "C" E DADOS PARA DISCRETIZAR O


DOMÍNIO

clear; //Apaga todas as variáveis da memória


//++++++++++++++++++++++++++

//----------------------------------------
txt0=['Digite 1 para u(x1) ou 2 para Dx(x1)';
'Condição de contorno 1 (cc1):';
'Digite 1 para u(x2) ou 2 para Dx(x2):';
'Condição Contorno 2 (cc2):';
'Método direto 1, inverso 2'];

valor0=x_mdialog('Definindo Condições de Contorno',txt0,['1';


'0.0';
'1';
'0.0';
'1']); //Sugere valores

Escolhacc1=evstr(valor0(1));
cc1=evstr(valor0(2));
Escolhacc2=evstr(valor0(3));
cc2=evstr(valor0(4));
Metodo=evstr(valor0(5));

//------------------------------------------
//------------------------------------------
txt=['Número de pontos do domínio:';
'Limite inferior do domínio(x1):';
'Limite superior do domínio(x2):';
'Parâmetro de forma C:']; //Indica nome das variáveis

valor=x_mdialog('Discretização do Domínio ',txt,['6.0';


'0.0';
'1.0';
'0.0']); //Sugere valores

np=evstr(valor(1));
xmenor=evstr(valor(2));
xmaior=evstr(valor(3));
PFindicado=evstr(valor(4));
101

if np<=1 then np=3//trata o caso do usuário colocar um único ponto


end

//------------DISCRETIZAÇÃO DO DOMÍNIO

deltaP=abs(xmaior-xmenor)/(np-1);//Calcula o incremento para discretização


Pd=xmenor:deltaP:xmaior; //Vetor linha com os pontos do domínio
My=Pd';Mx=My; //Transforma vetor linha em etor coluna, armazena em Mx e My

//-----------OBTENDO VALORES DAS CONSTANTES DA EQUAÇÃO DIFERENCIAL


txt1=['A=';'B=';'C=';'D=';'E=';'F=';'G=';'H=';'I=';'J=';'L='];//Constantes EDO
valor=x_mdialog('EDO: A.Dxx(u) + B.Dx(u) + C.u = D.sen(E.x) + F.cos(G.x) + H.x^3 + I.x^2 +
J.x + L',txt1,['1';
'0';'-9';'0';'0';'0';'0';'0';'0';'3';'0']); //Sugere valores
A=evstr(valor(1));
B=evstr(valor(2));
C=evstr(valor(3));
D=evstr(valor(4));
E=evstr(valor(5));
F=evstr(valor(6));
G=evstr(valor(7));
H=evstr(valor(8));
I=evstr(valor(9));
J=evstr(valor(10));
L=evstr(valor(11)); //(44-54)Armazena os valores das variáveis

//----------VERIFICA SE A EQUAÇÃO É DIFERENCIAL PARA INICIAR O MÉTODO


MESHLESS

if (A==0 & B==0) then //Plota um gráfico da função não diferencial


plot(Mx,(D*sin(E*Mx)+F*cos(G*Mx)+H*Mx^3+I*Mx^2+J*Mx+L)*(1/C));
xlabel(["Pontos do Domínio - x"]);
ylabel("Valor da Função - y");
title("Gráfico da Função Não Diferencial");
legend(["Solução Exata"]);
disp('A equação não é diferencial.');//Avisa que a equação não é diferencial
abort;
end

//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++
//------BUSCA O VALOR ÓTIMO DE C PARA EDO NÃO-HOMOGÊNIA----COMEÇA AQUI
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++
//---------------OBTEM INFORMAÇÕES PARA OTIMIZAÇÃO DO PARÂMETRO FORMA
if PFindicado==0.0 then
txt3=['C Inicial:';
'C Final:';
'Incremento de C:']; //Indica nome das variáveis

valor=x_mdialog('Dados para otimização do C:',txt3,['0.01';


'100';
102

'0.20']); //Sugere valores

PFinicial=evstr(valor(1));
PFfinal=evstr(valor(2));
DeltaC=evstr(valor(3));

PF=PFinicial
//---------INICIALIZA VARIÁVEIS
MPF=[] //Cria uma matriz vazia para armazenar os parâmetro C testado
MSR=[] //Cria uma matriz vazia para armazenar o resíduo testado
MRC= [] // Cria uma matriz vazia para armazenar os residuos das condições de contorno

k=0 //inicializa o contador


while(PF<PFfinal)
k=k+1
PF=PF+DeltaC

//------------DETERMINA A MATRIZ R
[m n]=size(Mx) //obtem a quantidade de linha (m) e colunas (n)
for i=1:m //Laço para linhas
for j=1:m //Laço para as colunas
R(i,j)=([Mx(i,1)-My(j,1)]^2)^0.5; //Determina a matriz R
end
end

//------------DETERMINA A MATRIZ FI
[m n]=size(R) //obtem a quantidade de linha (ri) e colunas (rj)
for i=1:m //Laço para linhas
for j=1:n //Laço para as colunas
if Metodo == 2 then
FI(i,j)=(R(i,j)^2+PF^2)^(-0.5);
else
FI(i,j)=(R(i,j)^2+PF^2)^0.5; //Determina a matriz FI
end//end if
end //end for j
end// end for i

//------------CALCULA A MATRIZ L(FI)

[m n]=size(FI);
//Determina L(FI) para 2ª derivada
for i=1:m //Laço para linhas
for j=1:n //Laço para as colunas
if Metodo == 2 then
RFI2(i,j)=(R(i,j)^2+PF^2)^(-2.5);
LFI2(i,j)=RFI2(i,j)*((-(R(i,j)^2+PF^2))+(3*R(i,j)^2));//Matriz L(FI)
else
RFI2(i,j)=(R(i,j)^2+PF^2)^1.5;
LFI2(i,j)=PF^2/RFI2(i,j); //Matriz L(FI)
end //end if
end//end for j
end//end for i
103

//Determina L(FI) para 1ª derivada


for i=1:m //Laço para linhas
for j=1:n //Laço para as colunas
if Metodo == 2 then
LFI1(i,j)=-R(i,j)/(R(i,j)^2+PF^2)^(1.5);
else
LFI1(i,j)=R(i,j)/(R(i,j)^2+PF^2)^0.5;
end//end if
end//end for j
end//end for i

//-------------MONTA A MATRIZ L(FI)


LFI=(A*LFI2)+(B*LFI1)+(C*FI); //Determina a matriz LFI

//-------------DETERMINA A MATRIZ 'A' E SUA INVERSA


if Escolhacc1 == 2 then
A1=LFI1(1,1:n);
else
A1=FI(1,1:n);//recorta a 1ª linha da matriz FI (cc1)
end
A2=LFI(2:m-1,1:n); //recorta na matriz LFI (pontos interior do domínio)

if Escolhacc2 == 2 then//avalia se deve usar u ou du para cc2


A3=LFI1(m,1:n); //recorta a LFI1 (cc 2 "A derivada de FI")
else
A3=FI(m,1:n);//recorta a última linha da FI (cc 2 u(x2)=u2.)
end

MA=[A1; A2; A3]; //Concatena linhas para formar a matriz A


if det(MA)<>0 then
MAinv=inv(MA);
else
disp('A matriz não possui inversa') //Avisa se a matriz não for invertível
abort
end

//-----------DETERMINA O VETOR Y
[m n]=size(Mx)
for i=1:m //Cria um laço descosiderando as condições de contorno da fronteira - MODIFIQUEI
AQUI
y(1)=cc1;//Torna o valor inicial de Y igual a cc 1
y(m)=cc2; //Torna o valor final de Y igual a cc 2
x(i)=Mx(i) //torna x iagual ao vetor de pontos do domínio - Mx
y(i)=D*sin(E*x(i))+F*cos(G*x(i))+H*x(i)^3+I*x(i)^2+J*x(i)+L //Igualdade da EDO - f(x)
end

ML=MA\y

//DETRMINA A FUNÇÃO Fx SEM AS CONDIÇÕES DE CONTORNO


for i=1:m //Cria um laço cosiderando a função no contorno da fronteira
x(i)=Mx(i) //torna x iagual ao vetor de pontos do domínio - Mx
104

fx(i)=D*sin(E*x(i))+F*cos(G*x(i))+H*x(i)^3+I*x(i)^2+J*x(i)+L //Igualdade da EDO - f(x)


end

//---------CALCULA O RESÍDUO PARA DETERMINAR O "C" ÓTIMO (PF)


RES=sum(abs((LFI*ML-fx))) //Resíduo para cada passo k
MPF(k)=PF //Variável que armazena os valores de C
MSR(k)=RES //Variável que armazena os resíduos

//---------CALCULA O RESÍDUO PARA AS CONDIÇÕES DE CONTORNO


if Escolhacc1==1 & Escolhacc2 ==1 then
RESCC1=sum(abs((FI*ML-cc1))); //armazena os resíduos da primeira cc (cc=u(x))
RESCC2=sum(abs((FI*ML-cc2))); //armazena os resíduos da segunda cc (cc=u(x))

elseif Escolhacc1==1 & Escolhacc2 ==2 then


RESCC1=sum(abs((FI*ML-cc1)));
RESCC2=sum(abs((LFI1*ML-cc2)));

elseif Escolhacc1==2 & Escolhacc2 ==2 then


RESCC1=sum(abs((LFI1*ML-cc1))); //armazena os resíduos da primeira cc (cc=u'(x))
RESCC2=sum(abs((LFI1*ML-cc2))); //armazena os resíduos da segunda cc (cc=u'(x))

elseif Escolhacc1==2 & Escolhacc2 ==1 then


RESCC1=sum(abs((LFI1*ML-cc1))); //armazena os resíduos da primeira cc (cc=u'(x))
RESCC1=sum(abs((FI*ML-cc2)));
end
RESCC=RESCC1+RESCC2;
MRC(k)=RESCC //Armazena os residuos das duas condições de contorno
end

//if PF==PFfinal then


[MenorResiduo LinhaMSR]=min(MSR) //Localiza o valor do menor resíduo calculado e sua
respectiva linha
PFindicado=MPF(LinhaMSR) //Armazena o valor de C ótimo referente a linha do menor resíduo
PF=PFindicado //Parâmetro de forma otimizado
end

if PFindicado<>0 then
PF=PFindicado
//----- LAÇO PARA PROCURA DA SOLUÇÃO NUMÉRICA ------
//------------DETERMINA A MATRIZ R
[m n]=size(Mx) //obtem a quantidade de linha (m) e colunas (n)
for i=1:m //Laço para linhas
for j=1:m //Laço para as colunas
R(i,j)=([Mx(i,1)-My(j,1)]^2)^0.5; //Determina a matriz R

end
end

//------------DETERMINA A MATRIZ FI
[m n]=size(R) //obtem a quantidade de linha (ri) e colunas (rj)
for i=1:m //Laço para linhas
for j=1:n //Laço para as colunas
105

if Metodo == 2 then
FI(i,j)=(R(i,j)^2+PF^2)^(-0.5);
else
FI(i,j)=(R(i,j)^2+PF^2)^0.5; //Determina a matriz FI
end//end if
end //end for j
end// end for i

//------------CALCULA A MATRIZ L(FI)


[m n]=size(FI);
//Determina L(FI) para 2ª derivada
for i=1:m //Laço para linhas
for j=1:n //Laço para as colunas
if Metodo == 2 then
RFI2(i,j)=(R(i,j)^2+PF^2)^(-2.5);
LFI2(i,j)=RFI2(i,j)*((-(R(i,j)^2+PF^2))+(3*R(i,j)^2));//Matriz L(FI)
else
RFI2(i,j)=(R(i,j)^2+PF^2)^1.5;
LFI2(i,j)=PF^2/RFI2(i,j); //Matriz L(FI)
end //end if
end//end for j
end//end for i

//Determina L(FI) para 1ª derivada


for i=1:m //Laço para linhas
for j=1:n //Laço para as colunas
if Metodo == 2 then
LFI1(i,j)=-R(i,j)/(R(i,j)^2+PF^2)^(1.5);
else
LFI1(i,j)=R(i,j)/(R(i,j)^2+PF^2)^0.5;
end//end if
end//end for j
end//end for i

//-------------MONTA A MATRIZ L(FI)


LFI=(A*LFI2)+(B*LFI1)+(C*FI); //Determina a matriz LFI

//-------------DETERMINA A MATRIZ 'A' E SUA INVERSA


if Escolhacc1 == 2 then
A1=LFI1(1,1:n);
else
A1=FI(1,1:n);//recorta a 1ª linha da matriz FI (cc1)
end
//A1=FI(1,1:n); //recorta a 1ª linha da matriz FI (primeira condição cont.)
A2=LFI(2:m-1,1:n); //recorta na matriz LFI (pontos interior do domínio)

if Escolhacc2 == 2 then//avalia se deve usar u ou du para cc2


A3=LFI1(m,1:n); //recorta a LFI1 (cc 2 "A derivada de FI")
else
A3=FI(m,1:n);//recorta a última linha da FI (cc 2 u(x2)=u2.)
end
106

MA=[A1; A2; A3]; //Concatena linhas para formar a matriz A


//if det(MA)<>0 then
// MAinv=inv(MA);
//else
// disp('A matriz não possui inversa') //Avisa se a matriz não for invertível
//abort
//end

//-----------DETERMINA O VETOR Y
[m n]=size(Mx);
y(1)=cc1;//Torna o valor inicial de Y igual a cc 1
y(m)=cc2; //Torna o valor final de Y igual a cc 2
for i=2:m-1 //Cria um laço desconsiderando as cc na fronteira
x(i)=Mx(i); //torna x iagual ao vetor de pontos do domínio - Mx
//Igualdade da EDO - f(x)
y(i)=D*sin(E*x(i))+F*cos(G*x(i))+H*x(i)^3+I*x(i)^2+J*x(i)+L;
end

//---------DETERMINA A MATRIZ LAMBDA - ML


ML=MA\y; //produto da matriz A inversa pelo vetor y

//DETERMINA A MATRIZ DE APROXIMAÇÃO - Map = FI*ML


Map=FI*ML; //matriz com os pontos de aproximação

end

//APRESENTA OS RESULTADOS EM GRÁFICO


clf(); //Limpa a tela gráfica
xgrid(2) //Coloca uma grade no gráfico
plot(Mx,Map,'o-b'); //Plota um gráfico com os pontos aproximado

//SOLUÇÃO ANALÍTICA DOS ALUNOS DA TURMA INSERIDOS NAS LINHAS SEGUINTES


x=Mx

z =-exp(-3*x)/[3*(exp(3)-exp(-3))]+exp(3*x)/[3*(exp(3)-exp(-3))]-x/3;

plot(x,z,'ro'); //PLOTA A SOLUÇÃO ANALÍTICA

xlabel(["Pontos do Domínio - x"]);


ylabel("Valor Aproximado ; Valor Exato - u(x)");
title("Gráfico da EDO");
legend(["Solução Numérica - MESHLESS";"Solução Exata"]);
disp(Map); //Mostra na tela o pontos de aproximação

if MSR<>0 then
scf()
plot(MPF,MSR,'ro-'); //Plota residuo
xgrid(2) //Coloca uma grade no gráfico
xlabel(["Parâmetro de Forma - C"]);
ylabel("Resíduo");
title("Gráfico de Resíduo");
txt=string(PFindicado);
107

leg=legend("Parâmetro de Forma Ótimo no Domínio: " +[txt],1);


end

//OBTEM O VELOR MINIMO DE MSC


[MenorResiduoCC LinhaMRC]=min(MRC) //Localiza o valor do menor resíduo calculado e sua
respectiva linha
PFCC=MPF(LinhaMRC) //Armazena o valor de C ótimo referente a linha do menor resíduo
txt1=string(PFCC);

if MRC<>[] then
scf()
plot(MPF,MRC,'o-b'); //Plota residuo das cc
xgrid(2) //Coloca uma grade no gráfico
xlabel(["Parâmetro de Forma - C"]);
ylabel("Resíduo das Condições de Contorno");
title("Gráfico de Resíduo nas Condições Contorno e no Domínio");
//legend(["Parâmetro de Forma no Contorno: "]);
leg=legend("Parâmetro de Forma Ótimo no Contorno(C): " +[txt1],1);
end
//FIM
108

APÊNDICE E- ROTINA DO PROBLEMA DA EQUAÇÃO DE DIFUSÃO-PURA.

// MESTRANDO: FRANCISCO REIS


clear;clf;
//Descrição do problema
//Equação diferencial: ∂²u/∂t =D.∂²u/∂x²
//Condição inicial: x(x,0)=f(x)=2x(1-x)
//Condição de contorno: u(0,t)=u(L,t)=0
//função para a solução analítica
function y=u(x, t)
soma=0;
for n=0:1000
a=2*n+1;
b=16/(a*%pi)^3;
c=exp(-2*a^2*%pi^2*t);
d=sin(a*%pi*x);
A=b*c*d;
soma=soma+A;
end
y=soma;
endfunction
//Função para criar os vetores no espaço e no tempo
function [x, t]=vetores(x0, xf, t0, tf, N)
x=linspace(x0,xf,N);
t=linspace(t0,tf,N);
endfunction

//Função meshless///////////////////////////////////////////////////////
function [r, FI, DFI, D2FI, LFI, CI, G, A, LAMBDA]...
=meshless(x,N,c)
//matrizes do meshless
for i=1:N
for j=1:N
r(i,j)=x(i)-x(j);
FI(i,j)=sqrt(r(i,j)^2+c^2);
DFI(i,j)=r(i,j)/FI(i,j);
D2FI(i,j)=c^2/(FI(i,j)^3)
end
end
//matriz LFI
LFI_1=FI;
LFI_2=(-D*dt)*D2FI;
LFI=LFI_1+LFI_2;
//vetor condição inicial
for i=1:N
CI(i)=2*x(i)*(1-x(i));
end
//concatenação da condição inicial e de contorno c(0,t)=c(L,t)=0
G=[0;CI;0];
//Matriz de colocação
A=[FI(1,:);LFI;FI(N,:)];
//Cálculo do lambda
109

LAMBDA=A\G;
endfunction
//Dados do problema
x0=0;xf=1;
t0=0;tf=0.20;
D=2;//Coeficiente de dispersão
NA=200;//Número de pontos da solução analítica;
NN=40; //Número de pontos da solução numérica;
//Solução analítica
t0=0*tf;
t1=0.25*tf;
t2=0.50*tf
[x,t]=vetores(x0,xf,t0,tf,NA);
ANALITICA_t0=u(x,t0);
ANALITICA_t1=u(x,t1);
ANALITICA_t2=u(x,t2);

plot(x,ANALITICA_t0,x,ANALITICA_t1,x,ANALITICA_t2);
xlabel("$x(Km)$","fontsize", 4);
ylabel("$c(x,t)$","fontsize", 4);
hl=legend(['t=0s';'t=0.05s';'t=0.10s']);
hl=legend(['Num.t=0s';'Num.t=0.05s';'Num.t=0.10s']);
//solução numérica
[x,t]=vetores(x0,xf,t0,tf,NN);
dx=x(2)-x(1);
dt=(dx^2)/6*D;

for j=1:100
c(j)=j/100;
[r,FI,DFI,D2FI,LFI,CI,G,A,LAMBDA_0]=meshless(x,NN,c(j));
VR=A*LAMBDA_0-G;
RES=sum(VR^2);
R_AC(j)=RES;
end

[R_min, pos_c_otimo]=min(R_AC);
printf("C ótimo = %g", c(pos_c_otimo));
[r,FI,DFI,D2FI,LFI,CI,G,A,LAMBDA_0]=meshless(x,NN,c(pos_c_otimo));

NUMERICA_t0=FI*LAMBDA_0;
tempo=0;
k=0;
while tempo<=tf
k=k+1;
tempo=tempo+dt;
sol=FI*LAMBDA_0;
B=[0;sol;0];
LAMBDA=(A\B);
sol=FI*LAMBDA;
for i=1:NN
NUMERICA(k,i)=sol(i);
end
110

LAMBDA_0=LAMBDA;
end

NUMERICA_t1=NUMERICA(int(t1/dt),:);
NUMERICA_t2=NUMERICA(int(t2/dt),:);

plot(x,NUMERICA_t0,"*",x,NUMERICA_t1,"*",x,NUMERICA_t2,"*");
111

APÊNDICE F- ROTINA DO PROBLEMA DA EQUAÇÃO DE DIFUSÃO-


ADVECÇÃO PARA OS TEMPOS DE 12 min, 24 min e 36 min.

clear;
stacksize("max");
//Dados do problema***************************************************
z=1;L=60;V=2.4;D=0.15;m=5000;
Area=z*L;mp=m/Area;
//Dominio*************************************************************
x0=0;
xl=1;
xf=6;
//********************************************************************
t1=0.2;t2=2*t1;t3=3*t1;
dx=0.09;
dt=0.05*dx/V;
Courant=V*dt/dx;
N=round((xf-x0)/dx)+1;
N1=round((xl-x0)/dx)+1;
xi=[linspace(x0,xl,N1) linspace(xl+dx,xf,N-N1)];
xj=[linspace(x0,xl,N1) linspace(xl+dx,xf,N-N1)];
[oi N]=size(xi);
//Função Meshless*****************************************************
//function [M,R]=meshless(c,xi,xj,N,V,D,xl,t1,t2,t3)
function [M, R_media, LAMBDA, DLT]=meshless(c, xi, xj, N, V, D, xl, t1, t2, t3)
//inicializar as matrizes vazias**************************************
r=[];FI=[];DFI=[];D2FI=[];LFI=[];F1=[];A=[];B=[];M=[];
//matrizes do meshless************************************************
for i=1:N
for j=1:N
r(i,j)=xi(i)-xj(j);
end
end
FI=sqrt(r.^2+c^2);
DFI=r.*(FI).^(-1);
D2FI=c^2*(FI.^(-3));
//matriz LFI**********************************************************
//D=D+(V^2*dt)/2;//Dispersão numérica (livro do chapra)
LFI=FI+dt*(V*DFI-D*D2FI);
//vetor condições iniciais********************************************
//A concentração é nula em todos os pontos exceto no lançamento x=xl**
for i=1:N
x=xi(i)
if x==xl then
F1(i)=mp/(dx*1000)
else
F1(i)=0;
end
end
//********************************************************************
//vetor condições de contorno*****************************************
B(1)=0;//condição de contorno
112

B(N)=0;//condição de contorno
//********************************************************************
LAMBDA_ANT=FI\F1 ///?????????????????????
tempo=0;
k=0;
A=LFI;
A(1,:)=FI(1,:);//matriz de colocação
A(N,:)=FI(N,:);//matriz de colocação
//laço do tempo*******************************************************
while (tempo<t3)
tempo=tempo+dt;
k=k+1;
FIL=FI*LAMBDA_ANT
B(2:N-1)=FIL(2:N-1);
LAMBDA=A\B;// LAMDA=B|F1
DLT=(LAMBDA-LAMBDA_ANT)/dt;
//R=V*DFI*LAMBDA-D*D2FI*LAMBDA;// //vetor resíduo
R=FI*DLT+V*DFI*LAMBDA-D*D2FI*LAMBDA;
//R_ANT=FI*DLT+V*DFI*LAMBDA_ANT-D2FI*LAMBDA_ANT;
//R=R+R_ANT;
// LAMBDA_ANT=LAMBDA
// SOL=FI*LAMBDA
if (k==1) then
R_AC=(abs(R))
else
R_AC=R_AC+(abs(R))
end
SOL=FI*LAMBDA;
LAMBDA_ANT=LAMBDA;
for i=1:N
M(k,i)=SOL(i)
end
end
R_media=sum(R_AC/k)
//********************************************************************
endfunction
//********************************************************************
//função para a solução analítica*************************************
function y=C(t, x)
C1=mp/(sqrt(4*%pi*D*t)*1000);
C2=(x-xl-V*t)^2;
C3=4*D*t;
y=C1*exp(-C2/C3);
endfunction
//********************************************************************
c_0=0.01;
c_f=1;
d_c=0.01;
N_INT = int((c_f - c_0)/d_c)+1

Ds=xf-xl;
NS=N;
113

dc=Ds/(NS-1);

//c0=0.01;
//c=linspace(0.001,1,100);
//c=[];
winH=waitbar("Aguarde...")
waitbar(0,winH)
nint=20
for i=1:nint
alfaS=2+(i-1)*d_c;
c(i)=alfaS*dc//rand();
//c(i)=c_0 + (i-1)*d_c;
[M,R_media,LAMBDA,DLT]=meshless(c(i),xi,xj,N,V,D,xl,t1,t2,t3);
R_AC(i)=R_media;
waitbar(i/nint,winH)
end
close(winH);

//for i=1:N_INT
// //alfaS=2.0+(i-1)*d_c;
// //c(i)=alfaS*dc//rand();//c_0 + (i-1)*d_c;
// c(i)=c_0 + (i-1)*d_c;
// [M,R,LAMBDA]=meshless(c(i),xi,xj,N,V,D,xl,t1,t2,t3)
// R_AC(i)=sum(abs(R));
//end

subplot(211);
//clf(1);
plot(c,R_AC);
xlabel("$c$","fontsize", 4);
ylabel("$R$","fontsize", 4);
[R_min,pos_c_otimo]=min(R_AC);
printf("c ótimo = %g\n",c(pos_c_otimo));

//Passo 4: Plota a solução analítica e a numérica para c=c_otimo


//********************************************************************
//Chamada do meshlees com a otimização do c***************************
[M,R,LAMBDA,DLT]=meshless(c(pos_c_otimo),xi,xj,N,V,D,xl,t1,t2,t3);
//*******************************************************************
//Plotagem dos gráficos***********************************************
subplot(212);
//clf(2)
XAN=[linspace(x0,xl,50) linspace(xl,xf,300)]
plot(XAN,C(t1,XAN),"-b",XAN,C(t2,XAN),"-g",XAN,C(t3,XAN),"-
r",xi,M(t1/dt,:),".b",xi,M(t2/dt,:),".g",xi,M(t3/dt,:),".r");
//plot(xi,C(t1),xi,C(t2),xi,C(t3));
xlabel("$x\,(\text{km})$","fontsize", 4);
ylabel("$c\,(\text{mg}/\text{L})$","fontsize", 4);
hl=legend(['t=12min';'t=24min';'t=36min';'Num.t=12min';'Num.t=24min';'Num.t=36min']);
//Problema//Um rio tem os seguintes dados:
//Profundidade z=1m;
//Largura L=60m;
114

//Velocidade V=2400 m/h=2.4 km/h;


//Dispersão D=150000 m2/h=0.15km^2/h;
//Um derramamento de uma substância conservativa no valor de 5kg=5000g
//ocorre em um rio a 0.5km abaixo de uma cidade.
//problema formulado:
//Equação diferencial: dc/dt+V*dc/dx=D*d^2c/dx^2;
//solução analítica:
//c(x,t)=(mp/sqrt(4*%pi*D*t))*exp(-(x-xl-V*t)/(4*D*t));
//Condições iniciais:
//c(x,0) é nula em todos os pontos, exceto sobre a seção reta definida
//por x=xl, onde foi introduzido o poluente. Esta afirmação pode ser
//descrita por meio da função delta de dirac
//Condições de contorno:
//A concentração é nula nos seguintes pontos:
//c(x,t)=c(+inf,t)=c(-inf,t)=0
//********************************************************************
//Otimizaçao do c*****************************************************
//r_menor=-10^25
//c0=(1/1000);
//for (j=0:1:10)
// //c=(2*rand())/sqrt(N);
// c=c0*(j+1);
// [M,R]=meshless(c,xi,xj,N,V,D,xl,t1,t2,t3)
// r_atual=sum(abs(R))
// if r_menor<=r_atual then
// r_menor=r_atual
// c_menor=c
// end
//end
//********************************************************************
//c0=0.001;
//[M,R]=meshless(c0,xi,xj,N,V,D,xl,t1,t2,t3) ;
//r_atual=sum(abs(R))
//r_menor=+10^250;
//k=0;
//c_menor=2/sqrt(N);
//c=c_menor;
//while k<=10 do
// k=k+1;
// //c=c0*(1+k);
//
// [M,R]=meshless(c,xi,xj,N,V,D,xl,t1,t2,t3)
// r_atual=sum(abs(R));
// if r_atual<=r_menor then
// r_menor=r_atual
// c_menor=c;
// end
//
// printf("k=%g\n",k)
// if k==50 then
// break
// end/
115

APÊNDICE G - ROTINA DA APROXIMAÇÃO DA SOLUÇÃO NUMÉRICA COM A


SOLUÇÃO ANALÍTICA DO PROBLEMA DA EQUAÇÃO DE DIFUSÃO-
ADVECÇÃO CONSIDERANDO O TEMPO DE 15 min.

clear;
//Dados do problema******************************************************
z=1;//profundidade (m)
L=60;//largura(m)
Area=z*L;//Area(m^2)
V=2.4;//velocidade (km/h)
D=0.15;//Dispersão em (m^2/h)
m=5*10^3;//massa do poluente (g)
mp=m/Area;//massa por unidade de área. (g/m2)
//***********************************************************************
//função para a solução analítica****************************************
function [y]=C(x, t);
C1=(0.001*mp)/(sqrt(4*%pi*D*t));
C2=(x-xL-V*t)^2;
C3=4*D*t;
y=C1*exp(-C2/C3);
//Obs.: Multiplica-se por 0.001 para converter as unidades!
endfunction
//***********************************************************************
//Função para criar os vetores x e t*************************************
function [x, t, dx, dt, xL]=vetores(x0, xf, t0, tf, N)
x=linspace(x0,xf,N); t=linspace(t0,tf,N);
dx=x(2)-x(1);
dt=(Courant*dx)/V;
[a b]=size(x);
p=int(b/5);
xL=x(p);
endfunction
//***********************************************************************
//Função meshless
function [r, FI, DFI, D2FI, LFI, CI, G, A, LAMBDA]...
=meshless(x,N,c)
//matrizes do meshless **************************************************
for i=1:N
for j=1:N
r(i,j)=x(i)-x(j);
FI(i,j)=sqrt(r(i,j)^2+c^2);
DFI(i,j)=r(i,j)/FI(i,j);
D2FI(i,j)=c^2/(FI(i,j)^3)
end
end
//matriz LFI*************************************************************
LFI_1=FI;
LFI_2=V*dt*DFI;
LFI_3=-D*dt*D2FI;
LFI=LFI_1+LFI_2+LFI_3;
//vetor condição inicial*************************************************
//A concentração é nula em todos os pontos exceto no lançamento x=xL
116

for i=1:N
if x(i)==xL then
CI(i)=(0.001*mp)/dx;
else
CI(i)=0;
end
end
//***********************************************************************
//concatenação da condição inicial e de contorno c(x0,t)=c(xf,t)=0*******
G=[0;CI;0];
//Matriz de colocação****************************************************
A=[FI(1,:);LFI;FI(N,:)];
//Cálculo do lambda
LAMBDA=A\G;
endfunction
//fim da função**********************************************************
//Dados de entrada dos espaços e dos tempos******************************
x0=0;//posição inicial em km
xf=5;//posição final em km
t0=0;//tempo inicial em h
tf=1;//tempo final em h.
Courant=0.01;//número de courant
t1=0.25*tf;t2=2*t1;t3=3*t1;//tempos para plotagem dos gráficos
N_analitica=300;//número de pontos da solução analítica.
N_numerica=100;//número de pontos para a solução numérica.
c=0.15;//rand();//parâmetro de forma do meshless
//Solução analítica******************************************************
[x,t,dx,dt,xL]=vetores(x0,xf,t0,tf,N_analitica);
ANALITICA_t1=C(x,t1);ANALITICA_t2=C(x,t2);ANALITICA_t3=C(x,t3);
plot(x,ANALITICA_t1);
//plot(x,ANALITICA_t1,x,ANALITICA_t2,x,ANALITICA_t3);
xlabel("$x\,(\text{km})$","fontsize", 4);
ylabel("$c\,(\text{mg}/\text{L})$","fontsize", 4);
hl=legend(['t=15 min';'t=30 min';'t=45 min']);
//***********************************************************************
//Solução numérica*******************************************************
[x,t,dx,dt,xL]=vetores(x0,xf,t0,tf,N_numerica);

[r,FI,DFI,D2FI,LFI,CI,G,A,LAMBDA_0]...
=meshless(x,N_numerica,c)
//Laço para o tempo*****************************************************
tempo=0;
k=0;
while tempo<=t1
k=k+1;
tempo=tempo+dt;
sol=FI*LAMBDA_0;
B=[0;sol;0];
LAMBDA=(A\B);
VR=A*LAMBDA-B;
R(k)=sum(VR)^2;
sol=FI*LAMBDA;
117

for i=1:N_numerica
NUMERICA(k,i)=sol(i);
end
LAMBDA_0=LAMBDA
end

TN1=NUMERICA(int(t1/dt),:);
//TN2=NUMERICA(int(t2/dt),:);
//TN3=NUMERICA(int(t3/dt),:);
plot(x,TN1,".");
//plot(x,TN1,x,TN2,x,TN3);

Você também pode gostar