Upload
hadieu
View
215
Download
0
Embed Size (px)
Citation preview
UNIVERSIDADE FEDERAL DO CEARÁ
CENTRO DE TECNOLOGIA
DEPARTAMENTO DE ENGENHARIA HIDRÁULICA E AMBIENTAL
PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA CIVIL – RECURSOS
HÍDRICOS
HÉRCULES LIMA DE MEDEIROS
OTIMIZAÇÃO DO PARÂMETRO DE FORMA PARA UTILIZAÇÃO NO MÉTODO
NUMÉRICO SEM MALHAS
FORTALEZA - CE
2014
HÉRCULES LIMA DE MEDEIROS
OTIMIZAÇÃO DO PARÂMETRO DE FORMA PARA UTILIZAÇÃO NO MÉTODO
NUMÉRICO SEM MALHAS
Dissertação apresentada ao Programa de Pós-
Graduação em Engenharia Civil da
Universidade Federal do Ceará, como requisito
parcial à obtenção do título de Mestre em
Engenharia Civil. Área de concentração:
Recursos Hídricos.
Orientador: Prof. Dr. Marco Aurélio Holanda
de Castro.
FORTALEZA
2014
Dados Internacionais de Catalogação na Publicação Universidade Federal do Ceará
Biblioteca de Pós-Graduação em Engenharia - BPGE
M439o Medeiros, Hércules Lima de.
Otimização do parâmetro de forma para utilização no método numérico sem malhas /
Hércules Lima de Medeiros. – 2014. 100 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. I. Título.
CDD 627
AGRADECIMENTO
Ao Prof. Dr. Marco Aurélio Holanda de Castro, pela excelente orientação,
paciência, amizade, e incentivo que tornaram esse estudo ainda mais proveitoso.
Aos professores participantes da banca examinadora Prof. Dr. José Maria Brabo
Alves e Prof. Dr. Rubens Sonsol Gondim pelo tempo, pelas valiosas colaborações e
sugestões.
Aos colegas Nelci Rones e João Marcelo pela inestimável ajuda, a qual agradeço
profundamente.
Aos colegas da turma de mestrado, em especial ao amigo Francisco Reis,
companheiro de batalha, Bárbara Alves pelos conselhos e paciência, e ao Marcos Vinícius e
Mazé que sempre lembraram desse querido amigo.
Agradecimento especial também ao amigo Francisco Marcelino, que esteve
presente em um momento fundamental, ao qual serei sempre grato.
Gostaria de agradecer também aos amigos da UFPI, que me ajudaram quando o
curso mais pesou. Meus grandes amigos Jedis, essa conquista também é de vocês.
RESUMO
O presente trabalho teve como meta desenvolver uma rotina computacional para obter
a solução numérica de equações diferenciais parciais através do Método sem malhas. Esse
método vem sendo aplicado na engenharia, visto que nos casos práticos muitas vezes
encontram-se descontinuidades ou condições de contorno que impossibilitam a solução
analítica, e muitas vezes dificultam bastante as soluções numéricas de equações diferenciais
parciais. No método utilizado, calcula-se as equações a partir do método numérico de Kansa,
onde toma-se uma Função de Base Radial (RBF) que vai calcular a matriz a partir da qual
chegaremos à solução analítica. A RBF utilizada foi a multiquadrática. Essa função irá
depender de um parâmetro de forma “c”. Esse parâmetro não tem um valor definido, e o
objetivo da rotina é encontrar um valor para esse parâmetro, de forma que a solução analítica
se aproxime o máximo possível da solução numérica. Para se calcular esse valor do “c”, a
rotina irá calcular os valores do resíduo para o domínio, e os valores do resíduo para o
contorno, para cada valor de “c” em um intervalo determinado. Após calculados esses valores,
o programa compara os mesmos e fornece o ponto em que eles se aproximam mais. Nesse
ponto é encontrado o parâmetro de forma “c” otimizado, e consequentemente a solução
numérica da equação proposta.
Palavras-chave: Métodos numéricos sem malhas; equações diferenciais parciais; parâmetro
de forma.
ABSTRACT
The present work was aimed at developing a computational routine for the numerical
solution of partial differential equations by the method without mesh. This method has been
applied in engineering, since in practical cases often are discontinuities or boundary
conditions precluding analytical solution, and quite often hinder the numerical solutions of
partial differential equations. In the method, we calculate the equations from the numerical
method of Kansas, where he takes a Radial Basis Function (RBF) that will calculate the
matrix from which we arrive at the analytical solution. The RBF used was multiquadrática.
This function will depend on a shape parameter "c". This parameter has a defined value, and
the goal of the routine is to find a value for this parameter, so that the analytical solution
closely match the numerical solution. To calculate this value of "c", the routine will calculate
the values of the residue to the domain, and the values of the residue to the outline, for each
value of "c" in a certain range. After these calculated values, the program compares them and
supplies the point where they come closest. This point is found the optimized shape parameter
"c", and consequently the numerical solution of the proposed equation.
Keywords: Numerical methods without mesh; partial differential equations; shape parameter.
LISTA DE ILUSTRAÇÕES
Figura 1 – Corte da parede de uma barragem de terra........................................................ 4
Figura 2 – Sistema feito por Darcy.................................................................................................. 6
Figura 3 – Fluxo através da parede de uma barragem..................................................................... 8
Figura 4 – Sistema de coordenadas cartesianas............................................................................... 9
Figura 5 – Domínio da função.......................................................................................................... 19
Figura 6. Comparação entre a Solução Analítica e a Solução Numérica............................... 36
Figura 7 – Corte da parede de uma barragem.................................................................................. 40
Figura 8 – Valores dos coeficientes da EDP.................................................................................... 43
Figura 9 – Número de pontos, e dimensões do domínio.................................................................. 44
Figura 10 – Condições de contorno.................................................................................................. 44
Figura 11 – Escolha do parâmetro de forma C................................................................................. 45
Figura 12 – Refinamento do parâmetro de forma............................................................................ 45
Figura 13 – Discretização com 9 pontos.......................................................................................... 47
Figura 14 – Discretização do domínio com 16 pontos..................................................................... 47
Figura 15 – Discretização do domínio com 25 pontos..................................................................... 48
Figura 16 – Carga hidráulica u(m) com C estimado (C=8,66) e 9 pontos no domínio....... 50
Figura 17 – Carga hidráulica u(m) com C estimado (C=5,77) e 16 pontos no domínio.... 51
Figura 18 – Carga hidráulica u(m) com C estimado (C=4,33) e 25 pontos no domínio..... 52
Figura 19 – Carga hidráulica u(m) com C otimizado (C=449,2) e 9 pontos no domínio... 53
Figura 20 – Resíduos com C otimizado: 9 pontos com refinamento 10-1........................... 54
Figura 21 – Carga hidráulica u(m) com C otimizado (C=436,7) e 16 pontos no domínio. 55
Figura 22 – Resíduos com C otimizado: 16 pontos com refinamento 10-1......................... 56
Figura 23 – Carga hidráulica u(m) com C otimizado (C=79,2) e 25 pontos no domínio... 57
Figura 24 – Resíduos com C otimizado: 16 pontos com refinamento 10-1......................... 58
Figura 25 – Carga hidráulica u(m) com C otimizado (C=0,01) e 9 pontos no domínio..... 59
Figura 26 – Resíduos com C otimizado: 9 pontos com refinamento 10-1........................... 60
Figura 27 – Carga hidráulica u(m) com C otimizado (C=17,46) e 16 pontos no domínio..61
Figura 28 – Resíduos com C otimizado: 16 pontos com refinamento 10-2......................... 62
Figura 29 – Carga hidráulica u(m) com C otimizado (C=80,23) e 25 pontos no domínio. 63
Figura 30 – Resíduos com C otimizado: 25 pontos com refinamento 10-2......................... 64
Figura 31 – Carga hidráulica u(m) com C otimizado (C=0,001) e 9 pontos no domínio... 65
Figura 32 – Resíduos com C otimizado: 9 pontos com refinamento 10-3........................... 66
Figura 33 – Carga hidráulica u(m) com C otimizado (C=17,464), 16 pontos no domínio. 67
Figura 34 – Resíduos com C otimizado: 16 pontos com refinamento 10-3..........................68
LISTA DE TABELAS
Tabela 1 – Valores de k para diferentes tipos de solo......................................................... 7
Tabela 2 – Valores de k de solos típicos.......................................................................................... 8
Tabela 3 – Funções de Base Radial mais utilizadas......................................................................... 27
Tabela 4 – Coordenadas dos nós escolhidos na discretização do domínio...................................... 30
Tabela 5 – Matriz das distâncias entre os pontos definidos – Matriz R........................................... 31
Tabela 6 – Valores da Função 𝜙 para um 𝑐 = 0,5........................................................................... 32
Tabela 7 – Valores de L[ϕ] para c=0,5................................................................................ 33
Tabela 8 – Matriz de colocação A.................................................................................................... 34
Tabela 9 – Valores de y.................................................................................................................... 34
Tabela 10 – Matriz inversa de A...................................................................................................... 35
Tabela 11- Valores de 𝜆................................................................................................................... 35
Tabela 12 – Comparação entre a solução Analítica e a Solução numérica...................................... 36
Tabela 13 – Comparativo dos valores encontrados de C................................................................. 69
LISTA DE ABREVIATURAS E SIGLAS
EDO – Equação diferencial ordinária
EDP – Equação diferencial parcial
ICOLD - International Commission on Large Dams – Comissão Internacional de grandes
barragens
MDF – Método das Diferenças Finitas
MEC – Método dos Elementos de Contorno (MEC).
MEF – Métodos dos Elementos Finitos
MVF – Método dos Volumes Finitos
RBF – Radial basis function – Funções de base radial
SRC – somatório do resíduo do contorno
SRD – somatório do resíduo do domínio
LISTA DE SÍMBOLOS
A – matriz de colocação
AS – área de contribuição média de um ponto discretizado
B – operador linear do contorno
C – parâmetro de forma
DS – espaçamento nodal médio
f(x) – valor da função no domínio
g(x) – valor da função do contorno
𝒊 – gradiente hidráulico
k – coeficiente de permeabilidade
L – operador linear do domínio
𝒏𝑫𝑺 – número de pontos em um domínio linear.
𝒏𝑨𝑺 – número de pontos em um domínio bidimensional.
𝒏𝑽𝑺 – número de pontos em um domínio em 3 dimensões.
q – vazão
R – resíduo
r – módulo da distância entre os nós interpolados
u – fluxo hidráulico
VS – volume de contribuição médio de um ponto discretizado
𝒗 – velocidade da percolação
α e β – constantes da solução de uma equação diferencial
𝚪 - contorno
Δu – variação de potencial hidráulico
𝜼 – coeficiente de porosidade
j – coeficiente que indica o peso de cada RBF
π – pi
- função de base radial
Ω - domínio
𝛁𝟐 – operador laplaciano
SUMÁRIO
1. Introdução.................................................................................................. 1
1.2 Barragens.................................................................................................... 3
1.2.1 Percolação................................................................................................... 4
1.2.2 Lei de Darcy................................................................................................5
1.2.3 Coeficiente k............................................................................................... 7
1.2.4 Redes de fluxo............................................................................................. 8
1.2.4.1 Modelagem matemática da rede de fluxo.................................................... 9
1.3 Equações diferenciais.................................................................................12
1.3.1 Ordem da equação diferencial.................................................................. 13
1.3.2 Linearidade de uma equação diferencial................................................. 13
1.3.3 Equações diferenciais homogêneas........................................................... 13
1.3.4 Soluções de uma equação diferencial, e condições de Contorno........... 14
1.3.5 A equação diferencial parcial de segunda ordem................................... 16
1.3.6 Solução analítica da equação de Laplace................................................. 17
1.3.7 Resolução da Equação de Laplace em um Retângulo............................ 19
2. MÉTODO SEM MALHA......................................................................... 23
2.1 Metodologia teórica................................................................................... 24
2.2 Funções de Base Radial............................................................................. 25
2.2.1 Parâmetro de forma C............................................................................... 25
2.2.2 Principais Funções de Base Radial........................................................... 27
2.3 Método Kansa............................................................................................ 28
2.4 Aplicação em uma equação diferencial ordinária................................... 29
2.5 Conceito de Resíduo................................................................................... 37
2.6 Rotina para se otimizar o parâmetro de forma C................................... 38
2.7 Caracterização do problema..................................................................... 40
2.8 Processamento da Rotina.......................................................................... 43
2.9 Resultados................................................................................................... 46
2.10 Análise de resultados................................................................................. 69
3. Conclusões................................................................................................. 71
Referências................................................................................................... 73
1
1.1 Introdução
O desenvolvimento do estudo da engenharia, assim como todas as ciências ligadas à
tecnologia, sempre está ligada à questão da matemática, que serve de auxílio como uma ferramenta
desde previsões futuras, até os dimensionamentos.
Em engenharia a questão do cálculo exato na maioria das vezes não é imprescindível, e muitas
vezes nem é possível, mas mesmo assim sempre é necessário adotar aproximações que tornem
possível resolver esses problemas, e que também tenham uma solução que possa ser encontrada.
Baseado nisso se desenvolveram os Métodos Numéricos, que são formas de se calcular com
uma aproximação satisfatória os resultados necessários para a aplicação prática de engenharia e outras
ciências (Cigonsky, 1998).
Com o desenvolvimento da informática, e com o poder de processamento cada vez maior,
várias técnicas são desenvolvidas constantemente com o objetivo de buscar sempre resultados mais
próximos das soluções analíticas na resolução das equações diferenciais. Uma grande quantidade de
métodos numéricos foram desenvolvidos, onde inicialmente se trabalhou com métodos que formavam
uma malha com os pontos discretizados no domínio determinado para a situação procurada.
Posteriormente se desenvolveram métodos diferentes, que usavam pontos discretos mas sem ligação
entre si. Esses métodos foram chamados de Meshless, ou simplesmente métodos sem malha (Viana e
Mesquita, 1998).
A concepção de um método livre de malhas vem de antes de 1977, com o desenvolvimento de
um método Lagrangeano baseado em estimativas Kernel (estimador probabilístico não-paramétrico)
para a modelagem de problemas astrofísicos. Esse método ficou conhecido como Hidrodinâmica de
partículas suavizadas Smoothed Particle Hydrodynamics (Monaghan, 1982). Esse método se baseava
na substituição do fluido por um conjunto de partículas móveis, e numa transformação das equações
2
diferenciais parciais (EDP’s) que governavam o problema, em estimativas de Kernel integradas (Liu,
1995). Ao passar do tempo esse método sofreu modificações com o objetivo de melhorar sua precisão.
O primeiro método sem malhas com base na teoria de Galerkin, Element-Free Galerkin –
EFG (Belytscko, 1994), surgiu 10 anos depois da primeira publicação sobre SPH. O Método dos
elementos difusos (Diffuse Element Method – DEM) foi introduzido por Nayroles e Touzot (Nayroles
1992).
O objetivo desse trabalho é desenvolver uma rotina computacional para resolver equações
diferenciais parciais utilizando o método numérico sem malhas, e de maneira mais específica, fazer a
otimização do parâmetro de forma C para que se obtenha uma solução numérica mais próxima da
solução analítica.
O modelo utilizado como aplicação, é o modelo simplificado da uma parede de uma barragem,
onde será determinado o fluxo hidráulico através das fundações da mesma. Esse fluxo tem seu
comportamento definido pela Equação de Laplace, que é a equação diferencial que irá servir de caso
para esse estudo.
3
1.2 Barragens
As barragens podem ser definidas como obstáculos artificias criados com o objetivo de reter
água em um determinado local para fins como armazenamento, controle de cheias, e geração de
energia elétrica (ICOLD, 1994).
As barragens são construídas pelo homem desde a antiguidade, onde tem-se registro de
barragens construídas a 5 mil anos como a barragem de Saad el Kafara no Egito. No Iêmen, em 750
a.C. começou a ser construída a Barragem de Marib, cuja construção demorou 100 anos, e dura até os
dias atuais. As dimensões iniciais indicavam a altura da parede de 4 metros. Em 1986 essa barragem
foi elevada a uma altura de 38 metros, o que criou um reservatório de quase 400 milhões de metros
cúbicos de água (ICOLD, 2003).
Nas primeiras barragens o principal objetivo era o armazenamento de água para evitar
escassez nos períodos secos. Com o desenvolvimento de novas técnicas veio a irrigação, controle de
cheias, e manter a vazão dos rios no período de estiagem. No final do século XIX, as barragens já
começaram a ter também objetivos adicionais que eram a energia hidrelétrica, e a navegação.
A classificação das barragens é feita pelo tipo de material que é utilizado em sua construção, e
se dividem em:
Barragens rígidas: construídas com concreto, pedra, e alvenaria: podem ser barragens
de gravidade, arco e contraforte.
Barragens de aterro: construídas com terra e rocha, se classifiacam em barragens de
terra, de enrocamento, e barragens de terra e enrocamento.
Cerca de 75% de todas as barragens do mundo são de aterro, motivo pelo qual concentraremos
nosso estudo nesse tipo de barragem . Abaixo temos o corte transversal de uma barragem de terra:
4
Figura 1 – Corte da parede de uma barragem de terra.
Fonte: elaborado pelo autor
1.2.1 Percolação
A maioria dos solos apresenta boa parte do seu volume de vazios, ou até mesmo totalmente,
preenchido com água. Água essa que quando submetida a um potencial hidráulico permeia através
desses vazios. A percolação pode ser definida como esse movimento da água através do solo,
descrevendo linhas de fluxo hídrico através dele. Esse fluxo ocorre devido ao diferencial hidráulico
(energia potencial), podendo-se até dizer que essa energia corresponde à energia total, já que a parcela
de energia cinética pode ser desprezada em virtude da baixa velocidade da água através dos solos
compactados (Sousa, 2000).
As barragens de terra não impedem totalmente a passagem de água por seu aterro ou
fundações. Certa quantidade de água vai atravessar essa barragem através da percolação pelo aterro ou
pelas fundações. Pode se achar que esse volume de água percolada não influencie no cálculo do
projeto, pois é comumente pequeno se comparado aos volumes de manutenção da construção, ou
àqueles perdidos por infiltração e evaporação no reservatório, mas na verdade o estudo do fluxo
5
hídrico pelas fundações de uma barragem é de suma importância, pois há situações excepcionais em
que essa percolação pode chegar a valores restritivos, mesmo em grandes barragens, já que
aproximadamente 66% das causas de ruptura em barragens de aterro estão associadas a essa erosão
que acontece no corpo da barragem e é provocada pela ação da água que percola no interior da
fundação (Sandroni, 2012).
O ponto que deve ser discutido é quando essa percolação põe em risco a integridade da
construção (Cruz, 1996), e como ele pode afetar a barragem. Esse risco se dá através do carreamento
do material que é causado pelo fluxo hídrico e que acontece das seguintes formas (Sandroni, 2012):
Entre dois pontos no interior das fundações, causando colmatação, ou
seja, o entupimento dos elementos drenantes essenciais fundamentais à estabilidade da
obra.
Da barragem para dentro das fundações, ou das fundações para fora da
barragem. Esse fluxo que em excesso irá criar canais nas fundações, ou na própria
parede, causa o entubamento.
1.2.2 Lei de Darcy
O francês Henry Philibert Gaspert Darcy descreveu em seus experimentos uma equação para
determinar o fluxo de água dentro de um meio poroso. Essa equação ficou conhecida como Lei de
Darcy, e é dada por (Sousa, 2000):
𝑣 = 𝑘 ∙ 𝑖 (1.1)
Onde:
𝑖 =Δ𝑢
𝐿 (1.2)
6
Onde v é a velocidade da percolação, e i indica o gradiente hidráulico. k é uma constante de
proporcionalidade, e é chamada de coeficiente de permeabilidade do solo. Fisicamente esta lei coloca
que a velocidade de percolação é proporcional à força da gravidade, e ao mesmo tempo inversamente
proporcional às forças de atrito que se geram do contato com o material percolado.
Na verdade a água só percorre uma parte do solo através desses pequenos canais encontrados
formados pelos vazios, pois a trajetória real é bastante variada, e nesse caminho passa por grandes
variações de velocidade devido ao alargamento ou estrangulamento desses canais. Para termos de
estudo se estipula uma trajetória linear à qual chamamos linha de fluxo.
Em seu experimento, Darcy montou um sistema semelhante ao mostrado na Figura 2, para
equacionar essas propriedades na amostra de um corpo poroso (L):
Figura 2 – Sistema feito por Darcy
Fonte: elaborado pelo autor
A partir desse estudo Darcy relacionou o gradiente hidráulico (taxa de perda de energia
potencial) com a velocidade desse fluxo a partir de informações baseadas no seguinte: Os níveis u1 e
u2 permanecem constantes, e o escoamento acontece no sentido indicado. Ao se medir a vazão para
vários comprimentos de L, e a variação de potencial Δu, constatou-se que a vazão “q” é proporcional
ao gradiente hidráulico, i (ou ∆𝑢
𝐿), o que nos leva à expressão:
𝑞 = −𝑘 ∙ (∆𝑢
𝐿) ∙ 𝐴 = 𝑘 ∙ 𝑖 ∙ 𝐴 (1.3)
7
A razão entre a vazão q e a área da seção transversal do corpo poroso (A) tem como resultado
a velocidade de percolação do fluxo de água através desse corpo:
𝑣 = −𝑘 (∆𝑢
𝐿) = 𝑘 ∙ 𝑖 (1.4)
Essa velocidade recebe a denominação de velocidade de descarga (v), apresentado, portanto,
um valor diferente da real. Da Mecânica dos Solos, em um determinado plano consideramos que a
razão entre a área da seção de vazios, e a área da seção transversal total é dada pelo coeficiente de
porosidade (𝜂) (Caputo, 2007). Dessa forma temos a seguinte expressão para definir a velocidade de
percolação real:
𝑣𝑟𝑒𝑎𝑙 =𝑣
𝜂 (1.5)
E para a velocidade de percolação (vp), temos:
𝑣𝑝 = 𝑘𝑝 ∙ 𝑖 (1.6)
Sempre que existir o gradiente hidráulico haverá a percolação, mas é importante observar que
a Lei de Darcy é valida para um escoamento “laminar”, ou seja, aquele em que as trajetórias de fluxo
não se cruzam, o que pode-se dizer que é valido para a maioria dos solos naturais.
1.2.3 Coeficiente k
O valor do coeficiente de permeabilidade normalmente é muito baixo, motivo pelo qual é
representado em forma de um produto com potência de base 10. Na Figura 1.2 temos uma escala para
exemplificar alguns tipos de solo e seus respectivos coeficientes k:
Tabela 1 – Valores de k para diferentes tipos de solo.
Fonte: Souza, 2000
8
Tabela 2 – Valores de k de solos típicos
K Material
Características de
escoamento cm/seg m/dia
10-2 1 a 100 864 a 86400 Pedregulho limpo Aquíferos bons
10-3 0,001 a 1 0,86 a 864 Areias limpas, misturas de areia limpa
10-7 10-7 a 10-3 8,64 x 10-5 a 0,86 Areias muito finas; siltes, argilas estratificadas Aquíferos pobres
10-9 10-7 a 10-3 8,64 x 10-7 a 10-5 Argilas não alteradas Impermeáveis
Fonte: elaborado pelo autor
Observa-se que os solos finos mesmo apresentando indíces de vazios normalmente maiores
que os de solos mais grosseiros, possuem um coeficiente de permeabilidade menor.
1.2.4 Redes de Fluxo
No estudo da percolação, utiliza-se do conceito de linhas de fluxo e linhas de equipotenciais
para se fazer a modelagem, e melhor compreender o comportamento da água no interior dos solos. As
linhas de fluxo funcionam como canais que irão dar vazão à água, enquanto que as linhas de
equipotenciais representam a carga hidráulica, ou energia potencial dessa água durante o percurso
(Souza, 2005). Abaixo temos uma representação das linhas de fluxo e linhas de equipotencial:
Figura 3 – Fluxo através da parede de uma barragem.
Fonte: Sousa, 2000, p. 148
De acordo com o gráfico podemos observar:
As linhas de fluxo (escuras) mostram a trajetória da água através dos solos.
9
As linhas de equipotencial (claras) indicam os caminhos que apresentam o
mesmo potencial.
1.2.4.1 Modelagem matemática da rede de fluxo
O estudo da percolação bi ou tridimensional se baseia na equação diferencial de fluxo à qual
deduzimos a seguir. Considerando um sistema cartesiano, decompomos um elemento diferencial em
três eixos ortogonais, submetido a um fluxo tridimensional, onde o coeficiente de permeabilidade é
diferente nas direções x, y e z. Para efeitos de dedução, assumimos que o escoamento é laminar
(validade da Lei de Darcy), um meio poroso homogêneo e não saturado, onde o solo e a água são
incompressíveis.
Figura 4 – Sistema de coordenadas cartesianas.
Fonte: Sousa, 2000, p. 152
De acordo com a Lei de Darcy (Sousa, 2000), O gradiente do fluxo ao longo de x é dado por:
𝑖𝑥 =𝜕𝑢
𝜕𝑥 (1.8)
E considerando que esse gradiente também irá variar na direção x, temos:
𝜕𝑖𝑥𝜕𝑥
=𝜕
𝜕𝑥∙ (𝜕𝑢
𝜕𝑥) =
𝜕2𝑢
𝜕𝑥2 (1.9)
10
O gradiente na face de entrada do elemento, pela direção x, vale:
𝜕𝑢
𝜕𝑥+ (
𝑑𝑥
2) ∙ (
𝜕2𝑢
𝜕𝑥2) (1.10)
E segundo a Lei de Darcy, a vazão de entrada é:
𝑞𝐸 = 𝑘𝑥 (𝜕𝑢
𝜕𝑥−𝜕2𝑢
𝜕𝑥2∙𝑑𝑥
2) ∙ 𝑑𝑦 ∙ 𝑑𝑧 (1.11)
O que nos dá na saída:
𝑞𝑆 = 𝑘𝑥 (𝜕𝑢
𝜕𝑥+𝜕2𝑢
𝜕𝑥2∙𝑑𝑥
2) ∙ 𝑑𝑦 ∙ 𝑑𝑧 (1.12)
Fazendo a diferença entre as vazões de entrada e a saída temos:
𝑞𝑆 − 𝑞𝐸 = 𝑘𝑥 (𝜕𝑢2
𝜕𝑥2) ∙ 𝑑𝑥 ∙ 𝑑𝑦 ∙ 𝑑𝑧 (1.13)
Da mesma forma a diferença de vazão nos outros eixos é:
𝑞𝑆 − 𝑞𝐸 = 𝑘𝑦 (𝜕𝑢2
𝜕𝑦2) ∙ 𝑑𝑥 ∙ 𝑑𝑦 ∙ 𝑑𝑧 (1.14)
𝑞𝑆 − 𝑞𝐸 = 𝑘𝑦 (𝜕𝑢2
𝜕𝑦2) ∙ 𝑑𝑥 ∙ 𝑑𝑦 ∙ 𝑑𝑧 (1.15)
Como o volume do elemento permanece o mesmo durante o fluxo, os volumes de entrada e de
saída de água são iguais, o que significa que a soma da diferença entre as vazões de entrada e saída é
zero. Daí temos:
(𝑘𝑥𝜕𝑢2
𝜕𝑥2+ 𝑘𝑦
𝜕𝑢2
𝜕𝑦2+ 𝑘𝑧
𝜕𝑢2
𝜕𝑧2) ∙ 𝑑𝑥 ∙ 𝑑𝑦 ∙ 𝑑𝑧 = 0 (1.16)
Normalmente considera-se o fluxo apenas em um plano infinitesimal e perpendicular ao eixo
da barragem, tomando a plano tipo definido por dois eixos ortogonais, e que corta perpendicularmente
11
o eixo da barragem. Essa simplificação é justificada por termos a dimensão axial normalmente muito
superior às dimensões transversais. A partir daí temos:
𝑘𝑥𝜕𝑢2
𝜕𝑥2+ 𝑘𝑦
𝜕𝑢2
𝜕𝑦2= 0 (1.17)
Essa é a equação para o fluxo em duas dimensões. Considerando que o escoamento ocorre em
um meio isotrópico, temos que 𝑘𝑥 = 𝑘𝑦, a então equação passa a:
𝜕𝑢2
𝜕𝑥2+𝜕𝑢2
𝜕𝑦2= 0 (1.18)
Aqui o fluxo vai ser definido por uma equação onde uma variação no gradiente de x vai ser
contrabalançada pela variação no gradiente de y. Essa função pode ser simplificada para:
∇2𝑢 = 0 (1.19)
Onde ∇2 representa o operador laplaciano:
∇2=𝜕2
𝜕𝑥2+𝜕2
𝜕𝑦2+𝜕2
𝜕𝑧2 (1.20)
O tipo de equação ∇2𝑢 = 0, onde u é uma função qualquer, é chamada de Equação de
Laplace, e a função u é chamada de harmônica. A Equação de Laplace tem como solução geral dois
conjuntos de funções onde os gráficos destas são perpendiculares no ponto em que se interceptam
(Forger, 2012).
12
1.3 EQUAÇÕES DIFERENCIAIS
Uma equação diferencial é uma equação onde a solução consiste em uma função que satisfaz
às suas derivadas. Segundo (Bronson, 1977), uma equação diferencial é uma equação que envolve
uma função incógnita e suas derivadas. As equações diferencias são divididas em:
Equações diferenciais ordinárias
Equações diferenciais parciais
Uma equação é dita ordinária (E.D.O.) se a função incógnita depende de apenas uma variável
independente (Bronson, 1977). Uma equação diferencial ordinária na variável dependente y e na
variável independente x, é uma equação que pode ser escrita da forma:
𝐹(𝑥, 𝑦, 𝑦′, 𝑦′′, … , 𝑦(𝑛)) = 0 (1.21)
Onde F é uma função das variáveis indicadas e pelo menos uma derivada (ordinária) aparece
nessa expressão (León e Castro, 2010).
Se a função incógnita depende de mais de uma variável independente, temos uma equação
diferencial parcial (Bronson, 1977). Uma equação diferencial parcial (EDP) na variável dependente u e
nas variáveis independentes x e y, é uma equação que pode ser posta na forma:
𝐹 = (𝑥, 𝑦, 𝑢, 𝑢𝑥, 𝑢𝑦, 𝑢𝑥𝑥, 𝑢𝑥𝑦, 𝑢𝑦𝑦) = 0 (1.22)
Ou ainda:
𝐹 = 𝐴𝜕2𝑢
𝜕𝑥2+ 𝐵
𝜕2𝑢
𝜕𝑦2+ 𝐶
𝜕𝑢
𝜕𝑥+ 𝐷
𝜕𝑢
𝜕𝑦+ 𝐸𝑢(𝑥) + 𝐹𝑢(𝑦) + 𝐺𝑥 + 𝐻𝑦 − 𝐽 (1.23)
Onde F é uma função das variáveis indicadas e pelo menos uma derivada aparece nessa
expressão. Note que 𝑢𝑥 =𝜕𝑢
𝜕𝑥, 𝑢𝑦 =
𝜕𝑢
𝜕𝑦 etc. (León e Castro, 2010).
13
1.3.1 Ordem da equação diferencial
A ordem de uma equação diferencial é ordem da maior derivada na equação (Zill, 2001). A
ordem de uma equação diferencial é o expoente da derivada mais alta. Por exemplo,
𝜕2𝑦
𝜕𝑥2+ (
𝜕𝑦
𝜕𝑥)4
= sin(𝑥) (1.24)
É uma equação diferencial de segunda ordem, pois a maior derivada de maior ordem apresenta
valor 2.
No caso de equações diferenciais de primeira ordem adota-se ocasionalmente a notação:
𝑀(𝑥 + 𝑦)𝑑𝑦 + 𝑁(𝑥, 𝑦)𝑑𝑥 = 0 (1.25)
1.3.2 Linearidade de uma equação diferencial
Dizemos que uma equação diferencial de ordem n (1.20) é linear se F for linear em y,y’,...,y(n-1)
(Zill 2001). Isso significa que uma EDO ou EDP de n-ésima ordem é linear quando (1.20) for:
𝑎𝑥(𝑥)𝑑𝑛𝑦
𝑑𝑥𝑛+ 𝑎𝑛−1(𝑥)
𝑑𝑛−1𝑦
𝑑𝑥𝑛−1+⋯+ 𝑎1(𝑥)
𝑑𝑦
𝑑𝑥+ 𝑎0(𝑥)𝑦 = 𝑔(𝑥) (1.26)
As equações lineares apresentam duas propriedades:
A variável dependente assim como suas derivadas, serão do primeiro grau
Os coeficientes dependem no máximo da variável independente x.
1.3.3 Equações diferenciais homogêneas
A função definida por 𝑢 = 𝑓(𝑥, 𝑦) será uma função homogênea de grau m se tivermos
𝑓(𝜆𝑥, 𝜆𝑦) = 𝜆𝑚𝑓(𝑥, 𝑦) (Borges, 2006). Seguindo a mesma linha, a equação 𝑀(𝑥, 𝑦)𝑑𝑥 +
14
𝑁(𝑥, 𝑦)𝑑𝑦 = 0 será chamada de equação diferencial homogênea se M e N forem funções homogêneas
de mesmo grau como mostrado abaixo:
𝐹 = 𝐴𝜕2𝑢
𝜕𝑥2+ 𝐵
𝜕2𝑢
𝜕𝑦2+ 𝐶
𝜕𝑢
𝜕𝑥+ 𝐷
𝜕𝑢
𝜕𝑦+ 𝐸𝑢(𝑥) + 𝐹𝑢(𝑦) + 𝐺𝑥 + 𝐻𝑦 = 𝐽 (1.27)
Se 𝑀𝑑𝑥 + 𝑁𝑑𝑦 = 0 for uma equação diferencial homogênea, então ela poderá ser escrita da
forma:
𝑑𝑦
𝑑𝑥= 𝑓 (
𝑦
𝑥) (1.28)
Onde a mudança de variáveis irá separar as variáveis.
1.3.4 Soluções de uma equação diferencial, e condições de Contorno.
Uma solução de uma equação diferencial na função incógnita y e na variável independente x,
no intervalo 𝛿, é uma função y(x) que se verifica identicamente a equação para todo x em 𝛿 (Bronson,
1977). O que se nota sobre as equações diferencias é que algumas admitem infinitas soluções,
enquanto outras não admitem nenhuma solução analítica.
A solução de uma equação diferencial pode ser dada de duas formas:
Solução particular: é qualquer caso particular da equação.
Solução geral: é o conjunto de todas as soluções.
A solução particular de uma equação diferencial é a solução que se obtém a partir da solução
geral, satisfazendo as condições iniciais ou as de contorno. Normalmente as condições iniciais são
dadas para o instante inicial, enquanto as de contorno aparecem quando em equações de ordem
superior os valores da função e de suas derivadas são dadas em pontos distintos (Borges, 2006). Uma
função 𝑢 = 𝑓(𝑥, 𝑦) é solução de uma equação diferencial parcial
15
𝐴(𝑥, 𝑦)𝑢𝑥𝑥 + 𝐵(𝑥, 𝑦)𝑢𝑥𝑦 + 𝐶(𝑥, 𝑦)𝑢𝑦𝑦 + 𝐺(𝑥, 𝑦, 𝑢, 𝑢𝑥 , 𝑢𝑦) = 0 (1.29)
sobre um conjunto 𝑀 ⊂ ℝ2 se:
1. 𝑓 ∈ 𝐶2(𝑀) ≡ 𝑓 é duas vezes continuamente diferenciável sobre o conjunto 𝑀 ⊂
ℝ2.
2. 𝑓 satisfaz à Equação Diferencial Parcial dada.
A solução geral é a família de curvas que satisfazem à equação e às suas constantes arbitrárias,
ou seja, a solução geral u=f(x,y) de uma equação diferencial sobre um conjunto 𝑀 ⊂ ℝ2 é a solução
que engloba todas as possíveis soluções sobre M, enquanto uma solução particular é uma função
específica que satisfaz à equação para uma condição particular (Santos 2011).
Então para se obter a solução particular do conjunto universo da solução geral, são necessárias
condições que determinem como essa equação se comporta no seu domínio, e no contorno onde se
procura essa solução. Um problema de valor inicial consiste em uma equação diferencial, juntamente
com condições subsidiárias relativas à função incógnita e suas derivadas – tudo dado para um mesmo
valor da variável independente. As condições subsidiárias são condições iniciais se as condições
subsidiárias se referem a mais de um valor de variável independente, o problema é um problema de
valor de contorno e as condições se dizem condições de contorno (Bronson, 1977).
Dessa forma, a solução encontrada, ou solução particular, é aquela em que a função y(x)
satisfaz tanto a equação diferencial, como também as condições de valor inicial, e condições de
contorno.
Condições de contorno aparecem de maneira natural na descrição dos fenômenos físicos
estacionários (independentes do tempo) (León e Castro, 2010). Encontraremos muitas vezes as
condições do tipo:
∝ 𝑢(𝑥) + 𝛽𝜕𝑢
𝜕𝑛(𝑥) = 𝑓(𝑥), 𝑥 ∈ 𝜕Ω (1.30)
16
Onde α e β são constantes dadas, f é uma função dada em 𝜕Ω e 𝜕𝑢
𝜕𝑛 é a derivada de u na direção
normal a 𝜕Ω. No caso em que 𝛽 = 0, a condição (1.29) é conhecida como Condição de Dirichlet, e no
caso em que 𝛼 = 0, temos uma condição de Neumann (León e Castro, 2010).
1.3.5 A equação diferencial parcial de segunda ordem
A forma geral de uma equação diferencial parcial de segunda ordem em duas variáveis
independentes x e y é:
𝐴(𝑥, 𝑦)𝑢𝑥𝑥 + 𝐵(𝑥, 𝑦)𝑢𝑥𝑦 + 𝐶(𝑥, 𝑦)𝑢𝑦𝑦 = 𝐺(𝑥, 𝑦, 𝑢, 𝑢𝑥 , 𝑢𝑦) (1.31)
Ou ainda:
𝐴𝜕2𝑢
𝜕𝑥2+ 𝐵
𝜕2𝑢
𝜕𝑦2+ 𝐶
𝜕𝑢
𝜕𝑥+ 𝐷
𝜕𝑢
𝜕𝑦+ 𝐸𝑢(𝑥) + 𝐹𝑢(𝑦) + 𝐺𝑥 + 𝐻𝑦 + 𝑗 = 0 (1.32)
Essa equação pode ser classificada em:
Hiperbólica em (𝑥0, 𝑦0), se 𝐵2(𝑥0, 𝑦0) − 4𝐴(𝑥0, 𝑦0)𝐶(𝑥0, 𝑦0) > 0
Parabólica em (𝑥0, 𝑦0), se 𝐵2(𝑥0, 𝑦0) − 4𝐴(𝑥0, 𝑦0)𝐶(𝑥0, 𝑦0) = 0
Elíptica em (𝑥0, 𝑦0), 𝐵2(𝑥0, 𝑦0) − 4𝐴(𝑥0, 𝑦0)𝐶(𝑥0, 𝑦0) < 0
Onde 𝐵2(𝑥0, 𝑦0) − 4𝐴(𝑥0, 𝑦0)𝐶(𝑥0, 𝑦0) recebe a denominação de discriminante.
Como alguns exemplos de aplicação física dessas equações temos:
A Equação da Onda: essa equação é linear, não homogênea, e se 𝐴(𝑥, 𝑡) = −1, 𝐵(𝑥, 𝑡) =
0 𝑒 𝐶(𝑥, 𝑡) = 1, temos que 𝛿(𝑥, 𝑦) = 4 > 0. Logo será do tipo hiperbólica no domínio de f.
𝜕2𝑢
𝜕𝑡2−𝜕2𝑢
𝜕𝑥2= 𝑓(𝑥, 𝑦) (1.33)
A Equação do Calor: é linear, não homogênea, e como 𝐴(𝑥, 𝑡) = −1,𝐵(𝑥, 𝑡) = 0, e 𝐶(𝑥, 𝑡) =
0, temos que 𝛿(𝑥, 𝑦) = 0. Logo será tipo parabólica no domínio de f.
17
𝜕2𝑢
𝜕𝑡2−𝜕2𝑢
𝜕𝑥2= 𝑓(𝑥, 𝑦) (1.34)
A Equação de Laplace, que é a nossa equação de interesse, apresenta as seguintes
características: é linear, não homogênea 𝐴(𝑥, 𝑡) = −1,𝐵(𝑥, 𝑡) = 0, e 𝐶(𝑥, 𝑡) = 1, temos que
𝛿(𝑥, 𝑦) = −4 < 0. Logo será tipo elíptica no domínio de f.
𝜕2𝑢
𝜕𝑥2−𝜕2𝑢
𝜕𝑦2= 𝑓(𝑥, 𝑦) (1.35)
1.3.6 Solução analítica da equação de Laplace
O nosso caso apresenta interesse pela equação de Laplace no caso bidimensional, portanto,
vamos considerar a equação de Laplace (𝛻2𝑉 = 0) no sistema de coordenadas cartesianas:
𝜕2𝑢
𝜕𝑥2+𝜕2𝑢
𝜕𝑦2= 0 (1.36)
Essa equação é de segunda ordem (apresenta derivadas de segunda ordem), e primeiro grau
(apresenta apenas a primeira potência). Como dito anteriormente, para se resolver equações
diferenciais parciais, é necessário de conhecer as condições de contorno do problema.
Para resolver a equação, aplicamos inicialmente o Método da Separação de Variáveis, onde
consideramos que u pode assumir a forma de produto de duas funções X e Y.
𝑢 = 𝑋𝑌 (1.37)
onde:
X é função de x apenas,
Y é função de y apenas.
Substituindo (1.36) em (1.35), nós temos:
𝑌𝜕2𝑋
𝜕𝑥2+ 𝑋
𝜕2𝑌
𝜕𝑌2= 0 (1.38)
18
Fazendo a divisão de (1.37) por XY teremos:
1
𝑋
𝜕2𝑢
𝜕𝑥2+1
𝑌
𝜕2𝑢
𝜕𝑌2= 0 (1.39)
Como a soma dos 3 termos é uma constante, e as variáveis são independentes, cada um dos
termos deve ter um valor constante. Dessa forma podemos escrever:
1
𝑋
𝜕2𝑢
𝜕𝑥2= 𝑎1
2 (1.40)
ou também:
𝜕2𝑢
𝜕𝑥2= 𝑎1
2𝑋 (1.41)
Fazendo da mesma forma tomando o segundo termo:
𝜕2𝑢
𝜕𝑌2= −𝑎1
2𝑌 (1.42)
Agora o próximo passo é achar a solução para cada uma das variáveis separadamente (daí a
separação de variáveis). Então a solução para a equação (1.39) passa a ser:
𝑋 = 𝐶1𝑒𝑎1𝑥 + 𝐶2𝑒
−𝑎1𝑥 (1.43)
onde C1 e C2 são constantes definidas a partir das condições de contorno. Da mesma forma temos:
𝑌 = 𝐶1𝑒𝑎1𝑖𝑦 + 𝐶2𝑒
−𝑎1𝑖𝑦 (1.44)
Qualquer termo de (1.43) assim como a soma dos mesmos, será uma solução de (1.41). Sendo assim, a
solução geral da equação passa a ser:
𝑢 = (𝐶1𝑒𝑎1𝑥 + 𝐶2𝑒
−𝑎1𝑥)(𝐶3𝑒𝑎1𝑖𝑦 + 𝐶4𝑒
−𝑎1𝑖𝑦) (1.45)
ou ainda:
19
𝑢(𝑥, 𝑦) = [𝐶1𝑠𝑒𝑛ℎ(𝑎𝑥) + 𝐶2𝑐𝑜𝑠ℎ(𝑎𝑥)][𝐶3𝑠𝑒𝑛(𝑎𝑦) + 𝐶4𝑐𝑜𝑠(𝑎𝑦)] (1.46)
1.3.7 Resolução da Equação de Laplace em um Retângulo
No caso desse estudo, foi considerado um retângulo como o mostrado abaixo (Santos, 2007), onde
temos a equação e as condições de contorno a seguir:
𝜕
2𝑢
𝜕𝑥2+𝜕2𝑢
𝜕𝑦2= 0
𝑢(𝑥, 0) = 𝑓(𝑥), 𝑢(𝑥, 𝑏) = 𝑔(𝑥), 0 < 𝑥 < 𝑎 (1.47)
𝑢(0, 𝑦) = ℎ(𝑦), 𝑢(𝑎, 𝑦) = 𝑘(𝑦), 0 < 𝑦 < 𝑏
Esse problema apresenta condições de Dirichlet. A solução será a soma das soluções dos
problemas com apenas uma das funções f(x), g(x), h(y), e k(y) não nulas (Santos, 2007).
Figura 5 – Domínio da função
Fonte: Santos, 2007, p. 43
20
Considerando apenas k(y) não nula, podemos considerar a solução como um produto de uma
função de x por uma função de t :
𝑢(𝑥, 𝑦) = 𝑋(𝑥)𝑌(𝑦) (1.48)
Derivando, temos a equação a seguir:
1
𝑋
𝜕2𝑋
𝜕𝑥2= −
1
𝑌
𝜕2𝑌
𝜕𝑌2 (1.49)
Essa igualdade só é possível se os termos forem iguais a uma constante:
1
𝑋
𝜕2𝑋
𝜕𝑥2= −
1
𝑌
𝜕2𝑌
𝜕𝑌2= 𝜆 (1.50)
Daí, temos as seguintes EDO’s:
𝜕
2𝑋
𝜕𝑥2− 𝜆𝑋(𝑥) = 0, 𝑋(𝑎) = 0 (1.51)
𝜕2𝑌
𝜕𝑦2+ 𝜆𝑌(𝑦) = 0, 𝑌(0) = 0, 𝑌(𝑏) = 0 (1.52)
A equação (1.51) com as condições de fronteira apresentadas só tem solução se 𝜆 =𝑛2𝜋2
𝑏2, para 𝑛 =
1,2,3,… e nesse caso a solução seria a seguinte:
𝑌(𝑦) = 𝐶1𝑠𝑒𝑛𝑛𝜋𝑦
𝑏, 𝑛 = 1,2,3,… (1.53)
A equação (1.50), considerando a condição de contorno 𝑋(𝑎) = 0 tem a seguinte solução:
𝑋(𝑥) = 𝐶2 (𝑒𝑛𝜋𝑏(𝑥−𝑎) − 𝑒
𝑛𝜋𝑏(𝑥−𝑎)) = 𝐶2 (𝑠𝑒𝑛ℎ
𝑛𝜋
𝑏(𝑥 − 𝑎)) (1.54)
O problema então apresenta solução na seguinte forma:
𝑢𝑛(𝑥, 𝑦) = 𝑋(𝑥)𝑌(𝑦) = 𝑐𝑛 (𝑠𝑒𝑛𝑛𝜋𝑦
𝑏) (𝑠𝑒𝑛ℎ
𝑛𝜋
𝑏(𝑥 − 𝑎)) (1.55)
21
Além disso pode-se provar que as séries do tipo (Boyce, 1994):
𝑢𝑛(𝑥, 𝑦) = ∑𝑢𝑛(𝑥, 𝑦)
∞
𝑛=1
= 𝑐𝑛 (𝑠𝑒𝑛𝑛𝜋𝑦
𝑏)(𝑠𝑒𝑛ℎ
𝑛𝜋
𝑏(𝑥 − 𝑎)) (1.56)
também são soluções para a equação.
Vale ressaltar que para termos a condição inicial 𝑢(0, 𝑦) = ℎ(𝑦), temos que ter:
𝑘(𝑦) = 𝑢(𝑎, 𝑦) = ∑𝑢𝑛(𝑥, 𝑦)
∞
𝑛=1
= ∑𝑐𝑛𝑠𝑒𝑛𝑛𝜋𝑦
𝑏𝑠𝑒𝑛ℎ
𝑛𝜋𝑥
𝑏
∞
𝑛=1
(1.57)
Esta é a série de Fourier de senos de 𝑘(𝑦). Dessa forma os coeficientes são dados por (Boyce
[6]):
𝑐𝑛𝑠𝑒𝑛ℎ𝑛𝜋𝑎
𝑏=2
𝑏∫ 𝑘(𝑦)𝑠𝑒𝑛
𝑛𝜋𝑦
𝑏𝑑𝑦
𝑏
0
, 𝑛 = 1,2,3… (1.58)
Tomando como um exemplo a Equação de Laplace no seguinte retângulo:
𝜕
2𝑢
𝜕𝑥2+𝜕2𝑢
𝜕𝑦2= 0
𝑢(𝑥, 0) = 0, 𝑢(𝑥, 2) = 0, 0 < 𝑥 < 3 (1.59)
𝑢(0, 𝑦) = 0, 𝑢(3, 𝑦) = 𝑘(𝑦), 0 < 𝑦 < 2
com
𝑘(𝑦) = 𝑦, 𝑠𝑒 0 ≤ 𝑦 ≤ 1
2 − 𝑦, 𝑠𝑒 1 ≤ 𝑦 ≤ 2 (1.60)
A solução então é:
𝑢𝑛(𝑥, 𝑦) = ∑𝑐𝑛𝑠𝑒𝑛𝑛𝜋𝑦
2𝑠𝑒𝑛ℎ
𝑛𝜋𝑥
2
∞
𝑛=1
(1.61)
em que 𝑐𝑛𝑠𝑒𝑛3𝑛𝜋
2 são os coeficientes da série de cossenos de 𝑘(𝑦), ou seja,
22
𝑐𝑛𝑠𝑒𝑛3𝑛𝜋
2= ∫ 𝑘(𝑦)𝑠𝑒𝑛
𝑛𝜋𝑦
𝑏𝑑𝑥
𝑏
0
(1.62)
=8𝑠𝑒𝑛
𝑛𝜋2
𝑛2𝜋2, 𝑛 = 1,2,3… (1.63)
𝑐𝑛 =8𝑠𝑒𝑛
𝑛𝜋2
𝑛2𝜋2𝑠𝑒𝑛ℎ3𝑛𝜋2
, 𝑛 = 1,2,3… (1.64)
Dessa maneira a solução torna-se:
𝑢(𝑥, 𝑦) =8
𝜋2∑
𝑠𝑒𝑛𝑛𝜋2
𝑛2𝜋2𝑠𝑒𝑛ℎ3𝑛𝜋2
∞
𝑛=1
𝑠𝑒𝑛𝑛𝜋𝑦
2𝑠𝑒𝑛
𝑛𝜋𝑥
2 (1.65)
23
2. MÉTODOS NUMÉRICOS SEM MALHA
Como visto, a resolução de equações diferenciais parciais pelo método analítico é sempre
muito trabalhosa, e na maioria dos casos práticos de aplicações em modelos físicos, as condições de
contorno tornam essa resolução impossível. Diante disso foram desenvolvidos métodos numéricos que
calculam a solução aproximada dessas equações de forma a se obter valores que satisfaçam as
necessidades de aplicação.
Entre os métodos numéricos mais conhecidos pode-se destacar o Método dos Elementos
Finitos (MEF), Método das Diferenças Finitas (MDF), Método dos Volumes Finitos (MVF), e Método
dos Elementos de Contorno (MEC). Esses métodos necessitam de uma malha para melhorar sua
precisão, e apresentar uma solução mais próxima do real. Quando se fala nos 3 primeiros métodos
(MEF,MDF, e MVF) se construir uma malha de 3 dimensões não é tarefa fácil, e no MEC, mesmo
sendo feita uma modelagem geométrica apenas na superfície de contorno, a malha também é um
problema complicado (Cheng et al, 2003).
A natureza em sua forma real apresenta domínios bastante irregulares, e uma opção viável
para resolver esse problema seria a discretização do domínio do sistema físico sem a construção dessas
malhas.
Tem se pesquisado métodos que dispensem a necessidade de ligação desses nós quando se vai
discretizar o domínio. Esse método tem sido chamado “meshless”. Esse método apresenta vantagens
como simplificação nos dados de entrada, e facilidade na redistribuição dos pontos discretos, mas o
que mais motiva esse método é a diminuição de custos no processo de modelagem, principalmente em
processos industriais onde a geração e modificação de malhas exige bastante em determinadas
situações. Esses custos se referem ao tempo gasto nas modelagens (Cheng et al, 2003). Outra
característica importante é que conforme cresce a dimensão espacial do domínio, também cresce a
ordem de convergência, o que significa um menor número de pontos para conseguir a mesma precisão
dos métodos tradicionais.
24
Dentre os principais métodos meshless podemos destacar: Meshless Local Petrov-Galerkin,
Smooth Particle Hydrodynamics (SPH), Método dos Pontos Finitos, e Radial Basis Functions (RBF).
Dentre os métodos citados, iremos utilizar nesse trabalho o método RBF.
2.1 Metodologia teórica
No método meshless, os nós do domínios são discretizados sem a necessidade de ligação entre
si, de forma a resolver a equação diferencial. Essa EDP atende ao domínio definido, tendo seu
comportamento completo dado pelas condições de contorno corretas.
A equação diferencial pode ser dada da seguinte maneira:
𝐿[𝑢]() = 𝑓() (2.1)
Onde:
L é um operador linear, que depende do problema.
u é a função que se quer determinar.
x é o vetor variável independente.
Essa variável independente é dividida em dois conjuntos: elementos do domínio da equação, e
elementos do contorno. Esses elementos do contorno deverão satisfazer às Condições de contorno, que
são expressas da seguinte forma:
𝐵[𝑢]() = 𝑔() (2.2)
Em que B é um operador linear que vai depender do problema.
As condições de contorno, como dito anteriormente, podem ser: condições de Dirichlet, ou
condições de Neumann. Essas condições tem o seguinte comportamento: na primeira vai determinado
25
um valor da função no contorno, e na segunda vai determinada uma derivada normal à função
domínio, isto é, um fluxo.
Para se resolver essa EDP a partir de um conjunto discretizado é preciso um interpolador
espacial, que no nosso caso será feito com o uso de Funções de Base Radial.
2.2 Funções de Base Radial
As Funções de Base Radial em duas dimensões apresentam a forma (Monaghan, 1992):
𝐵𝑖(𝑥) = 𝐵𝑖(𝑟𝑖) = 𝐵𝑖(𝑥, 𝑦) (2.3)
Onde ri corresponde ao módulo da distância entre o nó (𝑥𝑖, 𝑦𝑖) e o ponto interpolado (x,y).
Essa distância num espaço Euclidiano é dada por:
𝑟𝑖 = √[(𝑥 − 𝑥𝑖)2 + (𝑦 − 𝑦𝑖)
2] (2.4)
As RBF apresentam como característica a simetria radial, dessa forma, dependendo apenas da
distância 𝑟 = ‖𝑥 − 𝑥𝑖‖ entre o centro da função e o ponto genérico x, podendo ser escrito também na
forma 𝜙(𝑟).
2.2.1 Parâmetro de forma C
Além de depender de r, a RBF também depende de um parâmetro expresso por c – fator de
forma, ou parâmetro de forma. Esse fator é utilizado para aumentar a suavidade da resposta, trazendo
assim uma maior aproximação e precisão.
26
Segundo Liu (2003), há um método para se estimar o valor desse parâmetro de forma. Esse
método trabalha com o conceito de espaçamento nodal médio, e calcula os valores para uma, duas e
três dimensões. Para 1D temos a seguinte equação:
𝐶 =𝐷𝑆
(𝑛𝐷𝑆 − 1) (2.5)
Onde DS é o espaçamento nodal médio, ou a distância entre os nós dentro do domínio. O DS
seria o domínio de suporte, ou o intervalo de contribuição que um determinado ponto tem dentro do
domínio, o que no caso de uma discretização homogênea, dá o mesmo valor de contribuição para
todos os pontos dentro domínio. 𝑛𝐷𝑆 é o número de pontos dentro desse domínio. Para o caso 2D,
temos o valor calculado através de:
𝐶 =√𝐴𝑆
√𝑛𝐴𝑆 − 1 (2.6)
Nesse caso fazemos analogia ao caso 1D. Aqui temos que AS é o valor da área de contribuição
de determinado ponto para demonstrar o comportamento da função dentro desse intervalo. No caso da
discretização homogênea, esse valor seria equivalente para todos os pontos dentro do domínio da
função. 𝑛𝐴𝑆 seria a quantidade de pontos dentro desse domínio. Da mesma forma, para os casos em
3D, um método simples de definir esse coeficiente é:
𝐶 =√𝑉𝑆
√𝑛𝑉𝑆 − 1 (2.7)
Já aqui o 𝑉𝑆 seria o volume de apoio, ou volume de contribuição de cada ponto, e o 𝑛𝑉𝑆 , a
quantidade de pontos dentro desse domínio tridimensional.
27
2.2.2 Principais Funções de Base Radial
Dentre as Funções de Base Radial mais utilizadas podemos destacar, (Buhmann, 2003):
Tabela 3. Funções de Base Radial mais utilizadas.
Spline de Placas infinitas |𝑟𝑛|𝑙𝑛|𝑟𝑛|, com n par
Multiquadrática √𝑟2+𝑐2
Multiquadrática inversa 1
√𝑟2+𝑐2
Gaussiana 𝑒−(𝑐𝑟)2
Spline Harmônica 𝑟𝑘 , 𝑘 = 1,3,5,…
𝑟𝑘 ln(𝑟) , 𝑘 = 2,4,6, …
Quadrática inversa 1
𝑟2+𝑐2
Fonte: elaborado pelo autor
Outros trabalhos interessantes a respeito de diferentes funções podem ser vistos em Schaback
e Wendland (2002), e Wendland (1995). O método meshless vai trabalhar os pontos discretizados no
domínio da equação, e esses pontos serão interpolados por uma combinação linear de funções de base
radial centradas nos pontos xj da seguinte forma:
𝑢(, 𝑐) =∑𝜆𝑗𝜙(𝑟, 𝑐)
𝑛
𝑗=1
(2.8)
Onde:
u é a função a ser determinada na equação diferencial;
x é a variável independente, representado por um vetor;
n é o número de pontos discretizados do domínio;
é a função de base radial;
j são os coeficientes a serem determinados, e que indicam os pesos de cada RBF.
Os coeficientes j serão determinados através da utilização da equação diferencial resolvida e
de valores das RBF’s.
28
2.3 Método Kansa (não simétrico)
O Método de Kansa tem como fundamento a substituição da função de aproximação (2,7) na
equação diferencial (2.1) e nas condições de contorno (2.2), e dessa maneira gerar um sistema linear
que terá como resultado j (Kansa, 1990). Substituindo (2.7) em (2.1) e (2.7) temos:
𝐸𝑞𝑢𝑎çã𝑜 𝐿 [∑𝜆𝑗𝜙(𝑟, 𝑐)
𝑁
𝑗=1
] = 𝑓() (2.9)
𝐶𝑜𝑛𝑑𝑖çõ𝑒𝑠 𝑑𝑒 𝐶𝑜𝑛𝑡𝑜𝑟𝑛𝑜 𝐵 [∑𝜆𝑗𝜙(𝑟, 𝑐)
𝑁
𝑗=1
] = 𝑔() (2.10)
L é um operador linear, portanto, satisfaz às seguintes propriedades:
I. 𝐿[𝑢 + 𝑣] = 𝐿[𝑢] + 𝐿[𝑣]
II. 𝐿[𝛼𝑢] = 𝛼𝐿[𝑢]
Aplicando em (2.8) e (2.9):
∑𝜆𝑗𝐿[𝜙(𝑟, 𝑐)]
𝑁
𝑗=1
= 𝑓() (2.11)
∑𝜆𝑗𝐵[𝜙(𝑟, 𝑐)]
𝑁
𝑗=1
= 𝑔() (2.12)
Dessa forma agora pode-se montar o sistema matricial do tipo 𝐴𝜆 = 𝑦, onde a matriz A
(matriz de colocação) é formada por dois blocos (Kansa e Hon, 2000) :
𝐴 = [𝐿[𝜙]
𝐵[𝜙]] (2.13)
O vetor y é será composto pelos valores das funções 𝑓() e 𝑔() nos pontos discretizados,
formando a matriz:
29
𝑦 = [𝑓()
𝑔()] (2.14)
Dessa maneira teremos então o seguinte sistema matricial:
𝐴𝜆 = [𝐿[𝜙]
𝐵[𝜙]] [𝜆𝑗] = 𝑦 = [
𝑓()
𝑔()] (2.15)
A solução do sistema fornecerá os valores de 𝜆𝑗 que serão substituídos na função de
aproximação.
2.4 Aplicação em uma equação diferencial ordinária
Inicialmente iremos resolver uma EDO para uma melhor compreensão. Considere a EDO
linear de segunda ordem com condições de Dirichlet abaixo:
𝑑2𝑢(𝑥)
𝑑𝑥2− 4𝑢(𝑥) = 4𝑥 (2.16)
𝑢(0) = 0, 𝑒 𝑢(1) = 0 (2.17)
Onde o domínio da função u é definida para o domínio 𝐷(𝑢) = 𝑥 ∈ 𝑅 0⁄ < 𝑥 < 1.
A solução analítica dessa equação é dada pela seguinte função:
𝑢𝑔(𝑥) =1
𝑒2 − 𝑒−2𝑒2𝑥 −
1
𝑒2 − 𝑒−2𝑒−2𝑥 − 𝑥 (2.18)
No nosso estudo nos concentraremos na RBF Multiquadrática. Inicialmente estimaremos o
valor de c em 0,5 , e discretizaremos o espaço em 11 pontos. Abaixo temos a tabela com os pontos
discretizados:
30
Tabela 4 – Coordenadas dos nós escolhidos na discretização do domínio.
Pontos x jx
1 0,1 0,1
2 0,2 0,2
3 0,3 0,3
4 0,4 0,4
5 0,5 0,5
6 0,6 0,6
7 0,7 0,7
8 0,8 0,8
9 0,9 0,9
10 1 1
11 0 0
Fonte: elaborado pelo autor
Uma observação importante é que na discretização acima, os pontos 10 e 11 correspondem aos
extremos do domínio.
Para dar continuação ao cálculo para a equação, determina-se a matriz de distâncias definida
como Matriz R. Nela são dispostos os valores dos módulos das distâncias entre os pontos. Essa
distância vai calculada através da expressão abaixo (Kansa, 2000):
𝑅𝑖𝑗 = √(𝑥𝑖 − 𝑥𝑗)2= |𝑥𝑖 − 𝑥𝑗| (2.19)
Onde:
𝑟1,1 = √(𝑥1 − 𝑥1)2 (2.20)
𝑟2,1 = √(𝑥2 − 𝑥1)2 (2.21)
𝑟3,1 = √(𝑥3 − 𝑥1)2 (2.22)
⋮
𝑟𝑛,𝑛 = √(𝑥𝑛 − 𝑥𝑛)2 (2.23)
𝑅 = [
𝑟1,1 ⋯ 𝑟𝑛,1⋮ ⋱ ⋮𝑟1,𝑛 ⋯ 𝑟𝑛,𝑛
] (2.24)
31
A partir desses valores nós montamos a Matriz R mostrada na Tabela 5. Cada linha e coluna
mostra a distância entre os pontos discretizados em relação a um determinado ponto de referência.
Tabela 5 – Matriz das distâncias entre os pontos definidos – Matriz R.
Matriz R
1 2 3 4 5 6 7 8 9 10 11
1 0 0.1 0.2 0.3 0.4 9 0.6 0.7 0.8 0.9 0.1
2 0.1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.2
3 0.2 0.1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.3
4 0.3 0.2 0.1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.4
5 0.4 0.3 0.2 0.1 0 0.1 0.2 0.3 0.4 0.5 0.5
6 0.5 0.4 0.3 0.2 0.1 0 0.1 0.2 0.3 0.4 0.6
7 0.6 0.5 0.4 0.3 0.2 0.1 0 0.1 0.2 0.3 0.7
8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0.1 0.2 0.8
9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0.1 0.9
10 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 1
11 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0
Fonte: elaborado pelo autor
O próximo passo é o cálculo da Matriz 𝜙. Para isso determinamos qual a Função de Base
Radial a ser utilizada. No nosso caso iremos utilizar a RBF multiquadrática, onde para o caso
unidimensional é calculada por (Kansa, 2000):
𝜙(𝑟, 𝑐) = √𝑟2 + 𝑐2 (2.25)
Então a partir dos elementos nós montamos a Matriz 𝜙:
𝜙1,1(𝑟, 𝑐) = √𝑟1,12 + 𝑐2 (2.26)
𝜙2,1(𝑟, 𝑐) = √𝑟2,12 + 𝑐2 (2.27)
𝜙3,1(𝑟, 𝑐) = √𝑟3,12 + 𝑐2 (2.28)
⋮
𝜙𝑛,𝑛(𝑟, 𝑐) = √𝑟𝑛,𝑛2 + 𝑐2 (2.29)
32
𝜙 = [
𝜙1,1 ⋯ 𝜙𝑛,1⋮ ⋱ ⋮
𝜙1,𝑛 ⋯ 𝜙𝑛,𝑛
] (2.30)
A partir da RBF escolhida, adotamos aleatoriamente um 𝑐 = 0,5, e determinamos a Matriz 𝜙
como mostrado na Tabela 6:
Tabela 6 – Valores da Função 𝜙 para um 𝑐 = 0,5.
Matriz Φ
1 2 3 4 5 6 7 8 9 10 11
1 0.5000 0.5099 0.5385 0.5831 0.6403 9.0139 0.7810 0.8602 0.9434 1.0296 0.5099
2 0.5099 0.5000 0.5099 0.5385 0.5831 0.6403 0.7071 0.7810 0.8602 0.9434 0.5385
3 0.5385 0.5099 0.5000 0.5099 0.5385 0.5831 0.6403 0.7071 0.7810 0.8602 0.5831
4 0.5831 0.5385 0.5099 0.5000 0.5099 0.5385 0.5831 0.6403 0.7071 0.7810 0.6403
5 0.6403 0.5831 0.5385 0.5099 0.5000 0.5099 0.5385 0.5831 0.6403 0.7071 0.7071
6 0.7071 0.6403 0.5831 0.5385 0.5099 0.5000 0.5099 0.5385 0.5831 0.6403 0.7810
7 0.7810 0.7071 0.6403 0.5831 0.5385 0.5099 0.5000 0.5099 0.5385 0.5831 0.8602
8 0.8602 0.7810 0.7071 0.6403 0.5831 0.5385 0.5099 0.5000 0.5099 0.5385 0.9434
9 0.9434 0.8602 0.7810 0.7071 0.6403 0.5831 0.5385 0.5099 0.5000 0.5099 1.0296
10 1.0296 0.9434 0.8602 0.7810 0.7071 0.6403 0.5831 0.5385 0.5099 0.5000 1.1180
11 0.5099 0.5385 0.5831 0.6403 0.7071 0.7810 0.8602 0.9434 1.0296 1.1180 0.5000
Fonte: elaborado pelo autor
Agora calculamos a Matriz 𝐿[𝜙]. Para determinar o valor dos coeficientes dessa matriz,
calculamos a função que irá definí-los a partir da expressão (Kansa, 2000):
𝐿[𝜙] =𝜕2
𝜕𝑥2𝜙(𝑟, 𝑐) (2.31)
Considerando que usamos a RBF multiquadrática, substituímos 𝜙(𝑟, 𝑐) pela mesma:
𝐿[𝜙] =𝑑2
𝑑𝑥2[√𝑟2 + 𝑐2] (2.32)
𝐿[𝜙] =𝑑
𝑑𝑥[𝑟(𝑟2 + 𝑐2)−
12] (2.33)
𝐿[𝜙] =2
(𝑟2 + 𝑐2)−12
−𝑟2
(𝑟2 + 𝑐2)−32
(2.34)
33
A partir dessa equação montamos nossa Matriz 𝐿[𝜙] que apresentará os valores mostrados na
Tabela 7:
Tabela 7 – Valores de 𝐿[𝜙] para 𝑐 = 0,5.
Matriz L[Φ]
1 2 3 4 5 6 7 8 9 10 11
1 2.0000 1.8857 1.6008 1.2610 0.9523 0.0003 0.5247 0.3927 0.2978 0.2291 1.8857
2 1.8857 2.0000 1.8857 1.6008 1.2610 0.9523 0.7071 0.5247 0.3927 0.2978 1.6008
3 1.6008 1.8857 2.0000 1.8857 1.6008 1.2610 0.9523 0.7071 0.5247 0.3927 1.2610
4 1.2610 1.6008 1.8857 2.0000 1.8857 1.6008 1.2610 0.9523 0.7071 0.5247 0.9523
5 0.9523 1.2610 1.6008 1.8857 2.0000 1.8857 1.6008 1.2610 0.9523 0.7071 0.7071
6 0.7071 0.9523 1.2610 1.6008 1.8857 2.0000 1.8857 1.6008 1.2610 0.9523 0.5247
7 0.5247 0.7071 0.9523 1.2610 1.6008 1.8857 2.0000 1.8857 1.6008 1.2610 0.3927
8 0.3927 0.5247 0.7071 0.9523 1.2610 1.6008 1.8857 2.0000 1.8857 1.6008 0.2978
9 0.2978 0.3927 0.5247 0.7071 0.9523 1.2610 1.6008 1.8857 2.0000 1.8857 0.2291
10 0.2291 0.2978 0.3927 0.5247 0.7071 0.9523 1.2610 1.6008 1.8857 2.0000 0.1789
11 1.8857 1.6008 1.2610 0.9523 0.7071 0.5247 0.3927 0.2978 0.2291 0.1789 2.0000
Fonte: elaborado pelo autor
Procedemos então à montagem da nossa Matriz A, ou Matriz de Colocação. A montagem
dessa Matriz será feita a partir das Matrizes 𝐵[𝜙] e 𝐿[𝜙]. Considerando que nossas condições de
fronteira são condições de Dirichlet, podemos dizer que:
𝐵[𝜙] = 𝜙 (2.35)
Dessa forma, montamos a Matriz A da seguinte maneira (Hon e Kansa, 1999):
𝐴 = [𝐿[𝜙]
𝐵[𝜙]] = [
𝐿[𝜙]
𝜙] (2.36)
Assim, temos a seguinte Matriz de Colocação:
34
Tabela 8 – Matriz de colocação A.
Matriz A
1 2 3 4 5 6 7 8 9 10 11
1 2.0000 1.8857 1.6008 1.2610 0.9523 0.0003 0.5247 0.3927 0.2978 0.2291 1.8857
2 1.8857 2.0000 1.8857 1.6008 1.2610 0.9523 0.7071 0.5247 0.3927 0.2978 1.6008
3 1.6008 1.8857 2.0000 1.8857 1.6008 1.2610 0.9523 0.7071 0.5247 0.3927 1.2610
4 1.2610 1.6008 1.8857 2.0000 1.8857 1.6008 1.2610 0.9523 0.7071 0.5247 0.9523
5 0.9523 1.2610 1.6008 1.8857 2.0000 1.8857 1.6008 1.2610 0.9523 0.7071 0.7071
6 0.7071 0.9523 1.2610 1.6008 1.8857 2.0000 1.8857 1.6008 1.2610 0.9523 0.5247
7 0.5247 0.7071 0.9523 1.2610 1.6008 1.8857 2.0000 1.8857 1.6008 1.2610 0.3927
8 0.3927 0.5247 0.7071 0.9523 1.2610 1.6008 1.8857 2.0000 1.8857 1.6008 0.2978
9 0.2978 0.3927 0.5247 0.7071 0.9523 1.2610 1.6008 1.8857 2.0000 1.8857 0.2291
10 1.0296 0.9434 0.8602 0.7810 0.7071 0.6403 0.5831 0.5385 0.5099 0.5000 1.1180
11 0.5099 0.5385 0.5831 0.6403 0.7071 0.7810 0.8602 0.9434 1.0296 1.1180 0.5000
Fonte: elaborado pelo autor
Em seguida calculamos o vetor y a partir das funções 𝑓(𝑥) e 𝑔(𝑥), que irá apresentar os
valores mostrados na Tabela 8:
Tabela 9 – Valores de y
y
0,4
0,8
1,2
1,6
2
2,4
2,8
3,2
3,6
0
0 Fonte: elaborado pelo autor
O passo seguinte é calcular a inversa da Matriz A. A Matriz A-1 é mostrada na Tabela 10:
35
Tabela 10 – Matriz inversa de A.
Matriz A-1
1 2 3 4 5 6 7 8 9 10 11
1 1.20 146.1 -495.8 954.09 -1325.7 1417.7 -1168.88 685.63 -233.59 -47.01 69.81
2 -2.20 -195.2 734.5 -1518.21 2212.2 -2430.85 2035.30 -1202.91 410.92 62.85 -116.09
3 2.67 150.15 -628.7 1426. -2232.9797 2568.85 -2210.70 1326.04 -456.40 -58.02 125.56
4 -2.51 -75.34 346.9 -869.5 1495.3321 -1845.45 1663.45 -1024.93 358.18 40.99 -98.18
5 2.00 21.82 -113.05 311.94 -596.7697 809.88 -784.76 506.33 -182.03 -20.13 50.87
6 -1.40 4.59 -9.0419 13.44 -16.4669 16.45 -13.09 7.52 -2.51 0.10 0.52
7 0.84 -13.97 50.11 -124.79 252.2611 -392.12 451.72 -338.49 136.53 15.64 -43.15
8 -0.41 14.14 -48.89 116.33 -235.1137 378.07 -471.63 388.49 -172.97 -22.88 63.23
9 0.13 -9.18 29.57 -64.55 124.4576 -196.62 255.40 -226.07 112.39 18.44 -51.10
10 -0.01 2.99 -9.05 18.04 -32.3915 48.22 -62.59 57.14 -31.39 -6.85 19.01
11 -0.30 -45.86 142.86 -262.27 353.8976 -372.82 304.82 -178.22 60.77 17.35 -19.97
Fonte: elaborado pelo autor
A partir das Matrizes A-1 e y, calcula-se a Matriz 𝜆 a partir do produto:
𝜆 = 𝑦𝐴−1 (2.37)
Tabela 11- Valores de 𝜆
λ
-2.1E+07
69280773
-1.3E+08
1.51E+08
-9.1E+07
-0.00057
47021770
-3.8E+07
14167441
-2148149
2737204
Fonte: elaborado pelo autor
36
Esses valores são então aplicados no interpolador de função de base radial (Kansa, 2000):
𝑢(𝑥) =∑𝜆𝑗𝜙(𝑟, 𝑐)
𝑁
𝑗=1
(2.38)
Substituindo na expressão acima encontraremos os valores da solução numérica nos pontos
discretizados inicialmente. Na Tabela 11 temos uma comparação numérica desses dois resultados,
mostrando o erro da solução numérica em relação à analítica.
Tabela 12 – Comparação entre a solução Analítica e a Solução numérica.
X u(x) exata u(x) aproximada Erro
0,1 -0,044487524 -0,0655 0,0210
0,2 -0,086747137 -0,1235 0,0367
0,3 -0,124461515 -0,1775 0,0530
0,4 -0,155130917 -0,2195 0,0643
0,5 -0,175972863 -0,2455 0,0695
0,6 -0,183810463 -0,2515 0,0676
0,7 -0,174944915 -0,2334 0,0585
0,8 -0,145007062 -0,1874 0,0424
0,9 -0,088782044 -0,1093 0,0206
1 0 0,0047 -0,0047
0 0 0,0046 -0,0046
Fonte: elaborado pelo autor
Para uma melhor visualização, fez-se um gráfico comparativo mostrando as duas soluções:
Figura 6. Comparação entre a Solução Analítica e a Solução Numérica.
Fonte: elaborado pelo autor
0,0046
-0,0655
-0,1235
-0,1775
-0,2195-0,2455-0,2515
-0,2334
-0,1874
-0,1093
0,0047
-0,3
-0,25
-0,2
-0,15
-0,1
-0,05
0
0,05
1 2 3 4 5 6 7 8 9 10 11
u(x
)
Pontos
Comparação Gráfica
Solução Exata Solução Aproximada (Meshless)
37
2.5 Conceito de Resíduo
Observa-se que há uma diferença considerável entre as soluções, dessa forma não sendo
possível considerar essa solução numérica como uma aproximação. Essa diferença se deve à escolha
do parâmetro de forma, que nesse caso foi escolhido aleatoriamente para demonstrar esse erro.
E como saberemos se o parâmetro de forma escolhido foi o correto?
Observa-se que tomamos o módulo da diferença entre as soluções como medida de
aproximação para saber se a solução numérica será satisfatória ou não. A partir dessa diferença
começamos a trabalhar com o conceito de Resíduo.
O Resíduo no domínio é o resultado do produto da Matriz 𝐿[𝜙] pelo vetor 𝜆, menos o vetor y.
Nesse caso temos os valores de y dados pela função de domínio f(x). Então para o domínio o resíduo é
definido por (Belinha, 2010):
𝑅(𝑡) = 𝐿[𝜙(𝑟, 𝑐)]𝜆 − 𝑓(𝑥) (2.39)
O Resíduo no contorno é o resultado do produto da Matriz 𝐵[𝜙] pelo vetor 𝜆, menos o vetor y.
Analogamente ao resíduo do domínio, aqui o vetor y tem seus valores dados pela função g(x), o que
resulta na seguinte equação para o resíduo do contorno:
𝑅(𝑡) = 𝐵[𝜙(𝑟, 𝑐)]𝜆 − 𝑔(𝑥) (2.40)
Para atender simultaneamente às condições do domínio e contorno, pode-se definir o resíduo
por:
𝑅(𝑡) = 𝐴[𝜙(𝑟, 𝑐)]𝜆 − 𝑦 (2.41)
Para se obter um resultado próximo do real, os resíduos do domínio e do contorno deverão ter
seu valor o mais próximo possível, e então nesse ponto calcula-se o C otimizado para ser aplicado na
RBF escolhida.
38
Baseado nisso foi elaborado o seguinte fluxograma, que busca o menor valor entre os resíduos
do domínio e do contorno. Vale ressaltar que esse valor é dado em módulo, e se refere aos resíduos
normalizados tanto do domínio quando do contorno.
2.6 Rotina para se otimizar o parâmetro de forma C
Nos cálculos foi utilizado o software Scilab, pelo fato de o mesmo se livre, e ser assim de mais
fácil acesso a quem queira consultar o material. A rotina segue no Anexo I, e está dividida em cada um
dos passos descritos acima. Para uma compreensão sucinta, segue abaixo a forma que baseou o
código:
Os passos 10 e 11 se referem à otimização do parâmetro de forma para através do cálculo dos
resíduos. Esse cálculo é feito de maneira repetida para todos os ponto de um intervalo pré-definido de
valores que esse parâmetro de forma poderá apresentar, ressaltando também que será definido qual a
39
precisão exigida para esse parâmetro de forma. Devido aos altos valores de resíduo e do parâmetro de
forma, optou-se por utilizar uma escala logarítmica para melhor representar a comparação entre esses
resíduos, e o valor que eles mais se aproximam. Chamando de SRD a soma dos resíduos do domínio, e
de SRC a soma dos resíduos do contorno, o passo a passo para essa otimização segue a seguinte
lógica:
a) Calcula-se as matrizes 𝜙, L(𝜙), A, inversa de A e λ para o C inicial escolhido;
b) Calcula-se os resíduos do Domínio e dividirá pelo número de pontos do domínio
(SRD);
c) Calcula-se os resíduos do Contorno e dividirá pelo número de pontos do contorno
(SRC);
d) Compara a média dos resíduos do contorno (SRC), e verifica se é superior ao erro
admissível escolhido;
e) Caso seja, será anulada essa procura e iniciará nova procura com um C igual a 10-p-1.
f) Caso não seja, guardará esse valor em uma variável de memória e começará nova
procura com um C igual 10-p+1;
g) Repetirá a operação, acrescentando paulatinamente 10p, ao parâmetro testado, até que
o valor médio dos resíduos do contorno (SRC) seja maior que o erro admissível
escolhido;
h) Caso haja um aumento da diferença entre a média dos resíduos do contorno (SRC) e o
erro admissível, esse resíduo é comparado com o resíduo acumulado na variável de
memória descrita na alínea f, caso seja menor, aquela variável será substituída por um
este novo valor e continuará a procura acrescentando 10p ao parâmetro testado.
i) Ao atingir um valor de resíduos do contorno (SRC) superior ao erro admissível,
retornará ao parâmetro C anterior e acrescentará a esse parâmetro um valor de 10-p-1 ao
parâmetro testado anteriormente;
40
j) Checará novamente se a média dos resíduos do contorno (SRC) é superior ao erro
admissível escolhido;
k) Caso seja, repetirá o passo constante da alínea e,
l) Caso não seja, repetirá a operação das alíneas f, g e h
m) Assim sucessivamente, sempre aumentando o número de casas decimais do parâmetro
C, até o máximo de 4 casas, quando se encerrará a busca se este processamento
atribuir um valor de resíduos (SRC) maior que o valor do erro admissível;
n) Processar-se-á novamente as matrizes citadas na alínea a, plotando os gráficos
correspondentes, com os valores do C ótimos localizados.
A rotina completa em Scilab segue ao final no Anexo I.
2.7 Caracterização do problema.
O objeto da aplicação prática será o cálculo da percolação pelas fundações da parede de uma
Barragem como mostrado na Figura 1.
Figura 7 – Corte da parede de uma barragem
Fonte: elaborado pelo autor
41
De acordo com a equação (1.16), o fluxo em duas dimensões pela parede de uma barragem de
terra pode ser definido por:
𝑘𝑥𝜕𝑢2
𝜕𝑥2+ 𝑘𝑦
𝜕𝑢2
𝜕𝑦2= 0 (1.16)
E no caso de um meio isotrópico, temos a Equação de Laplace em duas dimensões:
𝜕𝑢2
𝜕𝑥2+𝜕𝑢2
𝜕𝑦2= 0 (1.17)
A modelagem da barragem apresentará uma simplificação para facilitar o cálculo da Solução
Analítica, tendo em vista que o objetivo do estudo é a comparação entre esta e a Solução Numérica
obtida através do Método sem malhas.
A simplificação consiste em se considerar apenas o fluxo que acontece abaixo da parede da
barragem, representado pelas linhas na figura. O obstáculo é o material que forma o núcleo
impermeável dessa barragem de terra, portanto, o fluxo acontecerá apenas no maciço dessa barragem.
Ressaltando novamente que este é um caso didático onde se objetiva apenas a aplicação da rotina em
questão, mas que na prática da engenharia não é válido.
Fica estabelecido o seguinte domínio como mostrado na Figura 7:
15 metros abaixo do maciço da parede – eixo x.
20 metros ao longo da seção transversal dessa parede – eixo y.
Como o fluxo é nulo em u(x,0), u(0,y), u(20,y), temos as seguintes condições de contorno:
𝑢(𝑥, 0) = 0 (2.42)
𝑢(0, 𝑦) = 0 (2.43)
𝑢(20, 𝑦) = 0 (2.44)
Com 0 < 𝑥 < 20, 𝑒 0 < 𝑦 < 15.
42
Para se encontrar a condição de contorno em u(x,15), calcula-se inicialmente o gradiente
hidráulico de percolação de acordo com (1.2):
𝑖 =Δu
𝐿=10 − 5
20= 0,25𝑚/𝑚 (1.2)
Dessa forma temos como condição de contorno em u(x,15):
𝑢(𝑥, 15) = 20 − 0,25𝑥 (2.46)
Temos agora as seguintes condições de fronteira:
𝑢(𝑥, 0) = 0 (2.42)
𝑢(0, 𝑦) = 0 (2.43)
𝑢(20, 𝑦) = 0 (2.44)
𝑢(𝑥, 15) = 20 − 0,25𝑥 (2.46)
A partir do valor dessas condições de fronteira, calcula-se através de Série de Fourier o
coeficiente cn através da equação (1.56):
𝑐𝑛 =400
𝑠𝑒𝑛ℎ (15𝜋20 )
(2.47)
Aplicando esse coeficiente na equação (1.55) temos então a Solução Analítica dada por:
𝑢(𝑥, 𝑦) = 400𝑠𝑒𝑛 (
𝜋𝑥20) 𝑠𝑒𝑛ℎ (
𝜋𝑦20)
𝑠𝑒𝑛ℎ (15𝜋20 )
(2.48)
43
2.8 Processamento da Rotina
O Scilab tem comportamento semelhante ao Matlab e outros pacotes computacionais de
grande capacidade de processamento. Foi desenvolvido por pesquisadores franceses desde o início da
década de 90, ele é distribuído de forma gratuita desde 1994, e por esse motivo vem tendo seu uso
bastante difundido em pesquisas e no meio acadêmico.
A Rotina utilizada se encontra no Anexo A. Na primeira tela são solicitados os dados da
equação diferencial:
Figura 8 – Valores dos coeficientes da EDP.
Fonte: elaborado pelo autor
Na tela seguinte são solicitados o numero de pontos e as dimensões do domínio:
44
Figura 9 – Número de pontos, e dimensões do domínio.
Fonte: elaborado pelo autor
Em seguida vem a janela onde deverão ser inseridas as condições de contorno do problema:
Figura 10 – Condições de contorno.
Fonte: elaborado pelo autor
Em seguida é dada a opção de se informar o parâmetro de forma C, ou fazer a busca por um C
ótimo:
45
Figura 11 – Escolha do parâmetro de forma C.
Fonte: elaborado pelo autor
Como iremos buscar a otimização, a seguir pergunta-se qual a precisão, ou opção de
refinamento desse parâmetro de forma:
Figura 12 – Refinamento do parâmetro de forma.
Fonte: elaborado pelo autor
A partir desse ponto o programa roda a rotina, fazendo a busca pelo parâmetro de forma
ótimo.
46
2.9 Resultados
Foram realizadas as seguintes simulações:
Com um refinamento de 10-1, foram realizadas simulações com:
Discretização com 9 pontos
Discretização com 16 pontos
Discretização com 25 pontos
Com um refinamento de 10-2, foram realizadas simulações com:
Discretização com 9 pontos
Discretização com 16 pontos
Discretização com 25 pontos
Com um refinamento de 10-3, foram realizadas simulações com:
Discretização com 9 pontos
Discretização com 16 pontos
Os gráficos inicialmente mostram a discretização dos pontos no domínio. Os pontos foram
distribuídos linearmente através do domínio. Abaixo estão os gráficos dos pontos ao longo do
domínio:
47
Figura 13 – Discretização com 9 pontos.
Fonte: elaborado pelo autor
Figura 14 – Discretização do domínio com 16 pontos.
Fonte: elaborado pelo autor
48
Figura 15 – Discretização do domínio com 25 pontos.
Fonte: elaborado pelo autor
Para se conseguir um universo mais amplo de situações, foi adotado um intervalo para o valor
de C de 0,01 a 1000. Devido a esse intervalo ser bem grande, utilizou-se uma escala logarítmica no
gráfico para que ficasse demonstrado o comportamento do parâmetro em todo o intervalo amostral.
Em cada gráfico do fluxo, estão a Solução Numérica e Analítica para uma melhor
visualização.
Foram realizadas simulações utilizando a busca pelo parâmetro C otimizado, e simulações e
com o C calculado através da fórmula (2.6):
𝐶 =√𝐴𝑆
√𝑛𝐴𝑆 − 1 (2.6)
49
Inicialmente foi realizada a simulação com os valores calculados pela equação (2.6), de onde
obtivemos para cada situação os seguintes valores de C:
𝐶 =√𝐴𝑆
√𝑛𝐴𝑆 − 1=√15 × 20
√9 − 1=√300
3 − 1= 8,66 (2.49)
𝐶 =√𝐴𝑆
√𝑛𝐴𝑆 − 1=√15 × 20
√16 − 1=√300
4 − 1= 5,77 (2.50)
𝐶 =√𝐴𝑆
√𝑛𝐴𝑆 − 1=√15 × 20
√25 − 1=√300
5 − 1= 4,33 (2.51)
Onde AS é a área total do domínio, e 𝑛𝐴𝑆 é o número de pontos do domínio.
A seguir seguem os gráficos com as simulações.
53
Figura 19 – Carga hidráulica u(m) considerando C otimizado (C=449,2) e 9 pontos no domínio, com refinamento 10-1.
55
Figura 21 – Carga hidráulica u(m) considerando C otimizado (C=436,7) e 16 pontos no domínio, com refinamento 10-1.
57
Figura 23 – Carga hidráulica u(m) considerando C otimizado (C=79,2) e 25 pontos no domínio, com refinamento 10-1.
59
Figura 25 – Carga hidráulica u(m) considerando C otimizado (C=0,01) e 9 pontos no domínio, com refinamento 10-2.
61
Figura 27 – Carga hidráulica u(m) considerando C otimizado (C=17,46) e 16 pontos no domínio, com refinamento 10-2.
63
Figura 29 – Carga hidráulica u(m) considerando C otimizado (C=80,23) e 25 pontos no domínio, com refinamento 10-2.
65
Figura 31 – Carga hidráulica u(m) considerando C otimizado (C=0,001) e 9 pontos no domínio, com refinamento 10-3.
67
Figura 33 – Carga hidráulica u(m) considerando C otimizado (C=17,464) e 16 pontos no domínio, com refinamento 10-3.
69
2.10 Análise de Resultados
As simulações realizadas encontraram diferentes valores de C para cada situação, onde variaram o
número de pontos discretizados domínio, e a precisão do parâmetro de forma.
Abaixo segue um quadro comparativo dos valores encontrados de C:
Tabela 13 – Comparativo dos valores encontrados de C.
Pontos
discretizados
Valor de C
estimado
Valores otimizados de C
𝑪 =√𝑨𝑺
√𝒏𝑨𝑺 − 𝟏
Refinamento de
10-1
Refinamento de
10-2
Refinamento de
10-3
9 8,66 449,2 0,01 0,001
16 5,77 436,7 17,46 17,464
25 4,33 79,2 80,23
Fonte: elaborado pelo autor
Para o refinamento de 10-1, o intervalo de busca utilizado para se encontrar o parâmetro C foi de 0 a
1000. Ao se aplicar esse mesmo intervalo para o refinamento de 10-2, o tempo de processamento dos
dados foi muito extenso, sendo que para o caso de apenas 9 pontos chegou a quase duas horas. Dessa
forma optou-se por fazer as demais simulações no intervalo de 0 a 100, o que também apresentou
resultados condizentes com os observados nos gráficos com intervalo maior.
Observou-se uma discrepância entre os valores encontrados para o parâmetro de forma calculado
através da fórmula (2.6), e os valores encontrados através da otimização. Ao observar-se os gráficos
nota-se que as simulações em que se utilizou o C estimado pela equação (2.6), apresentou uma
aproximação inferior às obtidas com os gráficos obtidos com o C otimizado pela rotina.
70
Nas simulações tivemos 2 características variáveis:
Número de pontos discretizados no domínio
Refinamento da busca
Fazendo uma análise de cada uma dessas características observa-se que:
Quanto mais pontos utilizar-se na discretização do domínio, maior a aproximação dos
gráficos da solução analítica e solução numérica.
O refinamento no valor do parâmetro não se mostrou tão importante quanto o número
de pontos, pois analisando o gráfico da Figura 23 (25 pontos, refinamento 10-1), e o
gráfico da Figura 31 (9 pontos, refinamento 10-3), observa-se que o primeiro apresenta
mais pontos, e uma maior aproximação entre a Solução Numérica e a Solução
Analítica, enquanto o segundo apresenta um melhor refinamento, mas não apresenta
uma aproximação tão boa entre a Solução Numérica e a Solução Analítica.
71
3. Conclusões
O que buscou-se nesse estudo foi desenvolver uma rotina que calculasse o parâmetro C otimizado para
um determinado intervalo, e utilizar esse parâmetro no método numérico sem malhas, Meshless, para
obter uma solução numérica para uma equação diferencial parcial.
A rotina desenvolvida forneceu as simulações apresentadas anteriormente, e o que se observou nessas
simulações é que a precisão da Solução Numérica aumenta com a quantidade de pontos, ou seja,
quanto maior o número de pontos discretizados no domínio, melhor será a aproximação entre a
Solução Numérica e a Solução Analítica. Em relação ao refinamento não ocorreu o mesmo, já que nos
resultados analisados, por mais que se aumente a quantidade de casas decimais do C, não teremos um
aumento tão significativo na aproximação entre a Solução Numérica e Solução Analítica.
Embora o desempenho da rotina possa ser considerado bom para o caso prático proposto, vela ressaltar
que em muitas aplicações da Equação de Laplace, seria interessante se usar um refinamento de no
mínimo 10-5 (Colier et al., 1997), o que não foi possível no nosso caso, onde chegamos até a 10-3.
Portanto, conclui-se que no caso estudado, em que aplicamos uma equação diferencial parcial para
determinar o fluxo através da parede de uma barragem, o resultado poder ser considerado satisfatório,
tendo em vista que como dito no capítulo sobre barragens, é muito importante se determinar o
caminho seguido pelo fluxo, ou seja, o percurso que a água irá percorrer dentro do maciço da
barragem nesse processo de percolação, e o que notou-se foi uma boa aproximação geométrica, visto
que nos casos em que discretizou-se o domínio com 25 pontos, a Solução Analítica e a Solução
Numérica são bem próximas.
Como uma sugestão para um trabalhos futuros seguem algumas indicações:
Complementação da rotina, de modo a calcular o erro absoluto para as simulações
obtidas;
72
Aplicação de outros tipos de Funções de Base Radial (nesse trabalho só foi explorado
a RBF multiquadrática);
Abranger mais o estudo, desenvolvendo o método para 3 dimensões;
73
REFERÊNCIAS
Belinha, J. (2010). The Natural Neighbour Radial Point Interpolation. 2010 Dissertação
(Doutoramento em Engenharia Mecânica) - Faculdade de Engenharia da Universidade do Porto,Porto
2010.
Belytschko, T. ; Liu Y.Y., Gu. L. (1994) Element Free-Galerkin. International for Numerical Methods
in Fluids, vol. 37: 229-256.
Borges, Altemir José (2006), “Notas de Aula da disciplina Equações Diferenciais Parciais”. Curso de
Bacharelado em matemática da UFTPR, Curitiba.
BOYCE, W. E. e PRIMA, Richard C. Di. Equações diferenciais elementares e problemas de valores
de contorno. RJ, LTC, 1994.
BRONSON, Richard. Moderna introdução às equações diferenciais. SP: McGraw-Hill, 1977.
BUHMANN, M. D., (2003), Radial Basis Function: Theory and Implementations, Cambridge
University Press, Cambridge.
CAPUTO, HOMERO PINTO. Mecânica dos solos e suas aplicações, volume 1: fundamentos. 6 ed.
Rio de Janeiro: LTC, 2007.
CHENG, A. H. D., GOLBERG, M. A., KANSA, E. J., ZAMMITO, G., (2003), “Exponential
convergence and H-c multiquadric collocation method for partial differential equations”, Numerical
Methods for Partial Differential Equations, 19(5) : 571-594.
Cingoski, V.; Miyamoto, N. ; Kaneda, K. and Yamashita, H. (1998). Element-Free Galerkin Method
for Electromagnetic Field Computations. IEEE Transactions on Magnetics, vol. 34, n. 5, September
1998.
Colier, B.; Simkin, J.; Trowbridge, C. W.; Barberis, U.; Picco, E.; Gutierrez, T.; Longo, A.;
Greenough, C.; Thomas, D.; Alloto, P.; Molfino, P.; Molinari, G. (1997) Project MIDAS: Magnet
Integrated Design and Analysis System, IEEE Transactions on Magnetics, 33, no 2, March, 1143-
1148.
Cruz, P. T. (1996) “Permeabilidade e condutividade”, in 100 barragens brasileiras: casos históricos,
materiais de construção, projeto. Oficina de Textos, São Paulo – SP, pp. 258 – 278.
Forger, Michael (2012), “Notas de aula da disciplina Equações Diferenciais Parciais”. Curso de
Mestrado em Matemática da USP, São Paulo.
HON, Y. C., CHEUNG, K. F., MAO, X. Z., KANSA, E.J., (1999), “Multiquadric solution for shallow
water equations”, Journal of Hydraulic Engineering-ASCE, 125(5) : 524-533.
ICOLD Bulletin 125, Dams and Floods - Guidelines and Case Histories, 2003.
74
ICOLD Bulletin 128, Management of Reservoir Water Quality - Introduction and Recommendations,
2004.
ICOLD, Technical Dictionary on Dams - Glossary of Terms, 1994.
KANSA, E.J., (1990), “Multiquadrics - a scattered data approximation scheme with applications to
computational fluid dynamics II: solutions to parabolic, hyperbolic and elliptic partial differential
equations”, Computers and Mathematics with Application.
KANSA, E. J., (1992), “A strictly conservative spatial approximation scheme for the governing
engineering and physics equations over irregular regions and inhomogeneaus scattered nodes”,
Computers and Mathematics with Applications, 24(5-6) : 169-190.
KANSA, E. J., HON, Y.C., (2000), “Circumventing the ill-conditioning problem with multiquadric
radial basis functions: applications to elliptic partial differential equations”, Computers and
Mathematics with Applications, 39(7-8) : 123-137.
León, L. A. M. ; CASTRO, R. G. S. (2010) Equações Diferenciais Parciais. Notas de aula do Curso de
Matemática da Universidade Estadual do Norte Fluminense, Rio de Janeiro.
Liu, Gui-Rong. (2003), Mesh free methods : moving beyond the finite element method, CRC, New
York.
Liu, W. K. ; Jun, S. and Zhang, F. (1995 a) Reproducing Kernel Particle Method. International for
Numerical Methods in Fluids, vol. 20: 181-1106.
Liu, W.K.; S. Li, and T. Belytschko. (1995b) Moving Least Square Reproducing Methods
Methodology and Convergence. Technical Report 95-3-XX, TICAM, The University of Texas at
Austin, 1995.http://mecad.uta.edu/~jinman/meshless.html.
Monaghan, J.J. (1982) Smooth Particle Hydrodynamics. Anual Review of Astronomy and
Astrophysics. vol.30: 543-574.
Nayroles, B. G. Touzot, and P. Villon. (1992) Generalizing the Finite Element Method: Diffuse
Approximation and Diffuse Element. Computational Mechanics, vol. 10: 337-318.
SANDRONI, S., (2012), “Notas de aula da disciplina de Barragens de Terra e Enrocamento”. Curso
de Mestrado da COPPE/UFRJ, Rio de Janeiro.
Santos, Reginaldo J. (2007), “Notas de aula da disciplina Equações Diferenciais Parciais”. Curso de
bacharelado em Matemática da UFMG, Rio de Janeiro.
Santos, Reginaldo J. (2011), Introdução às Equações Diferenciais Ordinárias, Imprensa Universitária
da UFMG, Belo Horizonte, 2011.
SCHABACK, R., WENDLAND, H., (2002), “Approximation by positive definite kernels”,
IDOMat2001 proceedings (invited lecture).
SOUSA, P. C. (2000) – Curso Básico de Mecânica dos Solos. Oficina de Textos, São Paulo – SP.
75
SOUZA, V. A. D. (2005) Simulação do regime de Fluxo no Maciço de Terra Compactada da
Barragem Jaburu I – Dissertação de Mestrado, Universidade Federal do Ceará, Fortaleza – CE, pp. 33
– 34.
Viana S. A. ; Mesquita, R.C. (1998a) Moving Least Square Reproducing Kernel Method for
Electromagnetic Field Computation. The Eighth Biennial IEEE Conference on Electromagnetic Field
Computation, Tucson, Arizona, Junho de 1998.
WENDLAND, H., (1995), “Piecewise polynomial, positive definite and compactly supported radial
functions of minimal degree”, Advances in Computational Mathematics, 4 : 389-396.
ZILL, D, G, e CULLEN, M. R. Equações Diferenciais. Vol. 1 3a ed. SP, Makron Books, 2001
76
ANEXO A – ROTINA EM SCILAB
//=========================================================================
=====
//...........DISCIPLINA: MÉTODOS NUMÉRICOS
//...........CURSO: MESTRADO EM RECURSOS HÍDRICOS
//...........UNIVERSIDADE FEDERAL DO CEARÁ (UFC)
//...........CÁLCULO DA PERCOLAÇÃO PELAS FUNDAÇÕES DE UMA BARRAGEM USANDO MESHLESS
//...........PROF.: MARCO AURÉLIO HOLANDA DE CASTRO
//...........ALUNO HÉRCULES LIMA DE MEDEIROS
//...........AGOSTO DE 2014
//=========================================================================
=====
clear(); //Apaga todas as variáveis da memória
txt=['A=';'B=';'C=';'D=';'E=';'F=';'G=';'H=';'I='];//Constantes EDO
valor=x_mdialog('Eq. Geral: A.∂²u/∂x² + B.∂²u/∂y² + C.∂u/∂x + D.∂u/∂y + E.u(x) + F.u(y) + G.x + H.y =
I.f(x,y)',txt,['1';'1';'0';'0';'0';'0';'0';'0';'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));
//========OBTENDO VALORES DO PROBLEMA=================
txt1=['Número de Pontos';'Lx=';'Ly='];//Constantes EDO
valor1=x_mdialog('Lados do Retângulo (m):',txt1,['25';'20';'15']); //Sugere valores
NP=evstr(valor1(1));
Lx=evstr(valor1(2));
Ly=evstr(valor1(3));
rNP=int(NP^0.5)
dx=Lx/(rNP-1)
dy=Ly/(rNP-1)
x=0
k=0
for i=1:(rNP)
if i<>1 then
if i<>(rNP) then
x=x+dx
y=0
for j=1:(rNP)
if j<>1 then
if j<>(rNP) then
k=k+1
y=y+dy
Xi(k)=x
Yi(k)=y
fxy(k)=I
end
end
end
end
end
end
x=0
[o l]=size(Xi)
77
for i=1:(rNP)
y=0
for j=1:(rNP)
if i==1 then
if j==1 then
k=k+1
Xi(k)=0
Yi(k)=0
else
k=k+1
y=y+dy
Xi(k)=0
Yi(k)=y
end
else
if j==1 then
k=k+1
Xi(k)=x
Yi(k)=0
else
y=y+dy
if i==rNP then
k=k+1
Xi(k)=x
Yi(k)=y
else
if j==rNP then
k=k+1
Xi(k)=x
Yi(k)=y
end
end
end
end
end
x=x+dx
end
x=Xi
y=Yi
txt2=['Condições de Contorno: f(0,y)=';'f(x,0)=';'f(Lx,y)=';'f(x,Ly)='];//Constantes EDO
valor2=x_mdialog('Equações do contorno:',txt2,['0';'0';'0';'20-0.25*x']); //Sugere valores
F0y=evstr(valor2(1));
Fx0=evstr(valor2(2));
Fny=evstr(valor2(3));
Fxn=evstr(valor2(4));
k=o
for i=1:(rNP)
for j=1:(rNP)
if i==1 then
if j==1 then
k=k+1
if sum(F0y) <> 0 then
fxy(k)=F0y(k)
else
fxy(k)=0
end
else
k=k+1
if sum(F0y) <> 0 then
fxy(k)=F0y(k)
78
else
fxy(k)=0
end
end
else
if j==1 then
k=k+1
if sum(Fx0) <> 0 then
fxy(k)=Fx0(k)
else
fxy(k)=0
end
else
if i==rNP then
k=k+1
if sum(Fny) <> 0 then
fxy(k)=Fny(k)
else
fxy(k)=0
end
else
if j==rNP then
if sum(Fxn)<>0 then
k=k+1
fxy(k)=400*(sinh(3.141592654*y(k)/20)*sin(3.141592654*x(k)/20))/sinh(3.141592654*15/20)
else
fxy(k)=0
end
end
end
end
end
end
end
Xj=Xi
Yj=Yi
plo=[x y fxy]
disp(plo)
tic() //computa o tempo de cpu
//===========================CALCULO DA MATRIZ
R================================
[m n]=size(Xi)
for i=1:m //Laço para linhas
for j=1:m //Laço para as colunas
R(i,j)=sqrt([Xi(i,1)-Xj(j,1)]^2+[Yi(i,1)-Yj(j,1)]^2); //Determina a matriz R
end
end
for i=1:m //Laço para as Linhas
Man(i,1)=400*(sinh(3.141592654*Yi(i)/20)*sin(3.141592654*Xi(i)/20))/sinh(3.141592654*15/20)
end
//=============OBTEM INFORMAÇÕES DO PARÂMETRO
FORMA=============================
[num]=x_choose(['Informar o parâmetro de forma';'Obter o parâmetro de forma ótimo'],...
['Selecionar a opção com duplo clique'],'Cancela')
if num==2|num==0 then
labels=["Refinamento do Parâmetro C:"];
[ok,vref]=getvalue("Dados para cálculo do Parâmetro C",labels,...
79
list("vec",1),["10^-1"])
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++
//------INICIA A BUSCA DO VALOR ÓTIMO DE C DA EDO ----------------------------
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++
//=====================INICIALIZA
VARIÁVEIS=====================================
[m n]=size(Xi);// Número de pontos do problema
PF=vref; //Parâmetro Inicial a ser testado
segue=0; // varável de repetição
p=0
src=0
srd=0
sri=0//log(ref)
sra=0
conta=0
inicia=0
mpf1=0
srda1=0
srda2=0
k=0
while PF<=1000
k=k+1
sra=sri
srca=src
srda=srd
//==========================MONTA 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
FI(i,j)=(R(i,j)^2+PF^2)^0.5; //Determina a matriz FI
end //end for j
end// end for i
//==================CALCULA A MATRIZ
L(FI)======================================
[m n]=size(FI); //descobre a dimensão da matriz FI
//Determina L(FI) para 1ª derivada em X
for i=1:m //Laço para linhas
for j=1:n //Laço para as colunas
LFIx(i,j)=(Xi(i)-Xj(j))/sqrt(R(i,j)^2+PF^2)
end//end for j
end //end for i
//Determina L(FI) para a 1ª derivada em Y
for i=1:m //Laço para linhas
for j=1:n //Laço para as colunas
LFIy(i,j)=(Yi(i)-Yj(j))/sqrt(R(i,j)^2+PF^2)
end//end for j
end //end for i
//Determina L(FI) para a 2ª derivada em X
for i=1:m //Laço para linhas
for j=1:n //Laço para as colunas
LFIx2(i,j)=((Yi(i)-Yj(j))^2+PF^2)/(R(i,j)^2+PF^2)^1.5
end//end for j
end //end for i
//Determina L(FI) para a 2ª derivada em Y
for i=1:m //Laço para linhas
80
for j=1:n //Laço para as colunas
LFIy2(i,j)=((Xi(i)-Xj(j))^2+PF^2)/(R(i,j)^2+PF^2)^1.5
end//end for j
end //end for i
LFI=(A*LFIx2)+(B*LFIy2)+(C*LFIx)+(D*LFIy); //Monta a matriz LFI de acordo com a equação
//===================DETERMINA A MATRIZ COLOCAÇÃO
'A'============================
A1=LFI(1:o,1:m); //recorta Linha 1 até Npontos
A2=FI((o+1):m,1:m);//Recorta a linha de nPontos até m
MA=[A1;A2]; //Concatena a matriz A1 com A2
VetorY=fxy //vetorY sem considerar as condições de contorno
//==================DETERMINA A MATRIZ LAMBIDA - ML============================
ML=MA\VetorY;
//=========CALCULA O RESÍDUO PARA DETERMINAR O "C" ÓTIMO (PF)==================
res=0;
GXY=FI*ML;
srd=log10(sum(abs(abs(GXY(1:o))-abs(Man(1:o))))/o);
src=log10(sum(abs(abs(GXY(o+1:m))-abs(Man(o+1:m))))/(m-o));
plo=[src srd, PF]
disp(plo)
mpf=PF
srda1=srd
srca1=src
Srd(k)=srd
Src(k)=src
Mpf(k)=PF
if srda2==0 then
srda2=srda1
srca2=srca1
mpf1=PF
end
if srda1<srda2 then
srda2=srda1
srca2=srca1
mpf1=PF
end
PF=PF+vref
end
if mpf1 <> 0 then
PF=mpf1
else
PF=mpf
end
end
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++
//------TERMINA A OTIMIZAÇÃO DE 'C' AQUI----------------------------------------
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++
if num==1 then
labels=["Parâmetro de Forma (C):"];
[ok,PF]=getvalue("Informar o parâmetro de forma(C)",labels,...
list("vec",1),["7.01"])
//PF=PFindicado
end
//----------MONTA O VETOR Y-----------------------------------------------------
VetorY=fxy //vetorY é composto por g(x,y)-condição de contorno e f(x,y)-valor da função
81
//MONTA 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
FI(i,j)=(R(i,j)^2+PF^2)^0.5; //Determina a matriz FI
end //end for j
end// end for i
//---------------------CALCULA A MATRIZ L(FI)-----------------------------------
[m n]=size(FI); //descobre a dimensão da matriz FI
//Determina L(FI) para 1ª derivada em X
for i=1:m //Laço para linhas
for j=1:n //Laço para as colunas
LFIx(i,j)=(Xi(i)-Xj(j))/sqrt(R(i,j)^2+PF^2)
end//end for j
end //end for i
//-------------Determina L(FI) para a 1ª derivada em Y--------------------------
for i=1:m //Laço para linhas
for j=1:n //Laço para as colunas
LFIy(i,j)=Yi(i)-Yj(j)/(sqrt(R(i,j)^2+PF^2))
end//end for j
end //end for i
//--------------Determina L(FI) para a 2ª derivada em X-------------------------
for i=1:m //Laço para linhas
for j=1:n //Laço para as colunas
LFIx2(i,j)=((Yi(i)-Yj(j))^2+PF^2)/(R(i,j)^2+PF^2)^1.5
end//end for j
end //end for i
//----------------Determina L(FI) para a 2ª derivada em Y-----------------------
for i=1:m //Laço para linhas
for j=1:n //Laço para as colunas
LFIy2(i,j)=((Xi(i)-Xj(j))^2+PF^2)/(R(i,j)^2+PF^2)^1.5
end//end for j
end //end for i
LFI=(A*LFIx2)+(B*LFIy2)+(C*LFIx)+(D*LFIy); //Monta a matriz LFI de acordo com a equação
//-------------DETERMINA A MATRIZ COLOCAÇÃO 'A'---------------------------------
A1=LFI(1:o,1:m); //recorta Linha 1 até Npontos
A2=FI((o+1):m,1:m);//Recorta a linha de nPontos até m
MA=[A1;A2]; //Concatena a matriz A1 com A2
//---------DETERMINA A MATRIZ LAMBIDA - ML--------------------------------------
ML=MA\VetorY
//ML=MA\VetorY; //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 (SOLUÇÃO)
//-----------Determina matriz solução analítica-----------------
M=[Xi Yi Map]
if getos() == 'Windows' then
unix('del scotm_cc.txt');//arquivo saída
else
unix('rm -f scotm_cc.txt');
end
write('scotm_cc.txt',M);
//
==========================================================================
===
82
//Usa um script de interpolação do toolbox surface (www.reveyrand.fr) para...
//espacializar o resultado no domínio. Autor: Tibault Reveyrand
//
==========================================================================
===
function output=interpolate_grid(M, scaling_factor)//interpolate_grid
X_min=min(M(:,1));
X_max=max(M(:,1));
Y_min=min(M(:,2));
Y_max=max(M(:,2));
Z_min=min(M(:,3));
Z_max=max(M(:,3));
step=min(abs((M(1:$-1,1)-M(2:$,1))+%i*(M(1:$-1,2)-M(2:$,2))))/scaling_factor;
X_nbp=1+int((X_max-X_min)/step);
Y_nbp=1+int((Y_max-Y_min)/step);
x=linspace(0,1,X_nbp).';//X_nbp
y=linspace(0,1,Y_nbp).';//Y_nbp
z=zeros(X_nbp,Y_nbp);
M(:,1)=(M(:,1)-X_min)./(X_max-X_min);
M(:,2)=(M(:,2)-Y_min)./(Y_max-Y_min);
M(:,3)=(M(:,3)-Z_min)./(Z_max-Z_min);
for i=1:X_nbp,
for j=1:Y_nbp,
d=abs(M(:,1)-x(i)+%i*(M(:,2)-y(j)))./max(abs(M(:,1)-x(i)+%i*(M(:,2)-y(j))));
w=(((1-(d)).^2).*(1+2.*(d)))./(1-(((1-(d)).^2).*(1+2.*(d)))+((1-(((1-(d)).^2).*(1+2.*(d))))==0)*%eps);
MT=M(find(w~=0),:);
w=w(find(w~=0));
_system=[w.*MT(:,1).^2,w.*MT(:,2).^2,w.*MT(:,1).*MT(:,2),w.*MT(:,1),w.*MT(:,2),w.*((MT(:,1).*0)+1)];
_coeff=pinv(_system)*(w.*MT(:,3));
z(i,j)=(_coeff(1)*x(i)^2+_coeff(2)*y(j)^2+_coeff(3)*x(i)*y(j)+_coeff(4)*x(i)+_coeff(5)*y(j)+_coeff(6));
end;
end;
output=list(x.*(X_max-X_min)+X_min,y.*(Y_max-Y_min)+Y_min,z.*(Z_max-Z_min)+Z_min);
endfunction
z=interpolate_grid(M,10);
N=[Xi Yi Man]
if getos() == 'Windows' then
unix('del scotm_cc.txt');//arquivo saída
else
unix('rm -f scotm_cc.txt');
end
//write('scotm_cc.txt',M);
//
==========================================================================
===
//Usa um script de interpolação do toolbox surface (www.reveyrand.fr) para...
//espacializar o resultado no domínio. Autor: Tibault Reveyrand
//
==========================================================================
===
function output=interpolate_grid(N, scaling_factor)
X_min=min(N(:,1));
X_max=max(N(:,1));
Y_min=min(N(:,2));
Y_max=max(N(:,2));
Z_min=min(N(:,3));
Z_max=max(N(:,3));
step=min(abs((N(1:$-1,1)-N(2:$,1))+%i*(N(1:$-1,2)-N(2:$,2))))/scaling_factor;
X_nbp=1+int((X_max-X_min)/step);
Y_nbp=1+int((Y_max-Y_min)/step);
x=linspace(0,1,X_nbp).';
y=linspace(0,1,Y_nbp).';
83
u=zeros(X_nbp,Y_nbp);
N(:,1)=(N(:,1)-X_min)./(X_max-X_min);
N(:,2)=(N(:,2)-Y_min)./(Y_max-Y_min);
N(:,3)=(N(:,3)-Z_min)./(Z_max-Z_min);
for i=1:X_nbp,
for j=1:Y_nbp,
d=abs(N(:,1)-x(i)+%i*(N(:,2)-y(j)))./max(abs(N(:,1)-x(i)+%i*(N(:,2)-y(j))));
w=(((1-(d)).^2).*(1+2.*(d)))./(1-(((1-(d)).^2).*(1+2.*(d)))+((1-(((1-(d)).^2).*(1+2.*(d))))==0)*%eps);
NT=N(find(w~=0),:);
w=w(find(w~=0));
_system=[w.*NT(:,1).^2,w.*NT(:,2).^2,w.*NT(:,1).*NT(:,2),w.*NT(:,1),w.*NT(:,2),w.*((NT(:,1).*0)+1)];
_coeff=pinv(_system)*(w.*NT(:,3));
u(i,j)=(_coeff(1)*x(i)^2+_coeff(2)*y(j)^2+_coeff(3)*x(i)*y(j)+_coeff(4)*x(i)+_coeff(5)*y(j)+_coeff(6));
end;
end;
output=list(x.*(X_max-X_min)+X_min,y.*(Y_max-Y_min)+Y_min,u.*(Z_max-Z_min)+Z_min);
endfunction
u=interpolate_grid(N,10); //Atribui a z os valores interpolados
//Obs: caso queira modificar o espaçamento da grade, editar o fator de escala (M,fator)
//===============APRESENTA O TEMPO DE PROCESSAMENTO=============================
tempo_exec=toc()
disp('Tempo de execução (s)= '+string(tempo_exec))
//==========IMPRESSÃO DE
RESULTADOS=============================================
if getos() == 'Windows' then
unix('del sz3cotm_cc.txt');//arquivo saída
else
unix('rm -f sz3cotm_cc.txt');
end
//teste=[Map Man Man-Map]
disp(Map)
disp(Man)
disp(Man-Map)
write('sz3cotm_cc.txt',u(3));
scf() //Cria nova janela para impressão do gráfico
plot(Xi,Yi,'o'); //Plota os pontos do domínio
xgrid() //Coloca uma grade no gráfico
xlabel(["X"]); //Descreve o eixo X
ylabel("Y"); //Descreve o eixo Y
title("Discretização do Domínio"); //Coloca um título
f=scf() //Cria nova janela para impressão do gráfico
lins=linspace(min(u(3)),max(u(3)),10);
contour(z(1),z(2),z(3),lins); //Plota as linhas equipotenciais
contour(u(1),u(2),u(3),lins); //Plota as linhas equipotenciais
for (i=1:length(lins))
f.children.children(i).children.line_style = 3;
end
a=get("current_axes");
//a.data_bounds=[0,0;1,1];
a.axes_visible = 'on' ;
vecStr=["___ Sol. Analítica"; "--- Sol. Numérica "]
xstring(17.5,3,vecStr,0,0)
t=get("hdl") //get the handle of the newly created object
t.font_foreground=6; // change font properties
t.font_size=2;
t.font_style=5;
84
//t.text=["SCILAB","is";"not","esilaB"] ; // change the text
t.font_angle=0 ; // turn the strings
t.text_box = [0,0] ;
t.text_box_mode = 'centered' ; // the text is now centered on [0.5,0.5].
t.alignment = 'center' ;
t.box = 'on' ; // draw a box around the text
xlabel(["X"]); //Descreve o eixo X
ylabel("Y"); //Descreve o eixo Y
txt=string(PF);
title("Equipotenciais da Solução Numérica e Analítica (MESHLESS)- C= "+[txt]); //Coloca um título
if num==2|num==0 then
scf()
plot(log10(Mpf),Src,"colo","blue"); //Plota residuo
plot(log10(Mpf),Srd,"colo","red"); //Plota residuo
xlabel(["Parâmetro de Forma - log C"]);
ylabel("log Resíduo");
xgrid() //Coloca uma grade no gráfico
title("Gráfico de Resíduo");
txt=string(PF);
h1=legend("Contorno","Domínio");
// leg=legend("Parâmetro de Forma Ótimo: " +[txt],1);
end
file("close",file())
//========================Fim da rotina ========================================