Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
CENTRO DE TECNOLOGIA
DEPARTAMENTO DE ENGENHARIA HIDRÁULICA E AMBIENTAL
PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA CIVIL – RECURSOS
HÍDRICOS
FORTALEZA - CE
2014
HÉRCULES LIMA DE MEDEIROS
FORTALEZA
2014
Dados Internacionais de Catalogação na Publicação
Universidade Federal do Ceará
Biblioteca de Pós-Graduação em Engenharia - BPGE
CDD 627
A Deus.
Aos meus pais, Virgílio e Iracema.
AGRADECIMENTO
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.
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
barragens
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
𝒊 – gradiente hidráulico
k – coeficiente de permeabilidade
L – operador linear do domínio
𝒏𝑫𝑺 – número de pontos em um domínio linear.
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
𝛁 𝟐 – operador laplaciano
SUMÁRIO
1. Introdução.................................................................................................. 1
1.2 Barragens.................................................................................................... 3
1.2.1 Percolação................................................................................................... 4
2.9 Resultados................................................................................................... 46
3. Conclusões................................................................................................. 71
Referências................................................................................................... 73
1.1 Introdução
tecnologia, sempre está ligada à questão da matemática, que serve de auxílio como uma ferramenta
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
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).
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
1
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
2
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
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
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
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:
3
Figura 1 – Corte da parede de uma barragem de terra.
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
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
àqueles perdidos por infiltração e evaporação no reservatório, mas na verdade o estudo do fluxo
4
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
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):
obra.
barragem. Esse fluxo que em excesso irá criar canais nas fundações, ou na própria
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
𝑣 =𝑘∙𝑖 (1.1)
Onde:
Δ𝑢
𝑖= (1.2)
𝐿
5
Onde v é a velocidade da percolação, e i indica o gradiente hidráulico. k é uma constante de
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
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
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)
6
A razão entre a vazão q e a área da seção transversal do corpo poroso (A) tem como resultado
∆𝑢
𝑣 = −𝑘 ( 𝐿 ) = 𝑘 ∙ 𝑖 (1.4)
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)
𝜂
𝑣𝑝 = 𝑘𝑝 ∙ 𝑖 (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
representado em forma de um produto com potência de base 10. Na Figura 1.2 temos uma escala para
10-9 10-7 a 10-3 8,64 x 10-7 a 10-5 Argilas não alteradas Impermeáveis
Observa-se que os solos finos mesmo apresentando indíces de vazios normalmente maiores
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:
8
As linhas de equipotencial (claras) indicam os caminhos que apresentam o
mesmo potencial.
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.
De acordo com a Lei de Darcy (Sousa, 2000), O gradiente do fluxo ao longo de x é dado por:
𝜕𝑢
𝑖𝑥 = (1.8)
𝜕𝑥
𝜕𝑖𝑥 𝜕 𝜕𝑢 𝜕2𝑢
= ∙( )= 2 (1.9)
𝜕𝑥 𝜕𝑥 𝜕𝑥 𝜕𝑥
9
O gradiente na face de entrada do elemento, pela direção x, vale:
𝜕𝑢 𝑑𝑥 𝜕2𝑢
+ ( ) ∙ ( 2) (1.10)
𝜕𝑥 2 𝜕𝑥
𝜕𝑢 𝜕 2 𝑢 𝑑𝑥
𝑞𝐸 = 𝑘𝑥 ( − ∙ ) ∙ 𝑑𝑦 ∙ 𝑑𝑧 (1.11)
𝜕𝑥 𝜕𝑥 2 2
𝜕𝑢 𝜕 2 𝑢 𝑑𝑥
𝑞𝑆 = 𝑘𝑥 ( + ∙ ) ∙ 𝑑𝑦 ∙ 𝑑𝑧 (1.12)
𝜕𝑥 𝜕𝑥 2 2
𝜕𝑢2
𝑞𝑆 − 𝑞𝐸 = 𝑘𝑥 ( ) ∙ 𝑑𝑥 ∙ 𝑑𝑦 ∙ 𝑑𝑧 (1.13)
𝜕𝑥 2
𝜕𝑢2
𝑞𝑆 − 𝑞𝐸 = 𝑘𝑦 ( ) ∙ 𝑑𝑥 ∙ 𝑑𝑦 ∙ 𝑑𝑧 (1.14)
𝜕𝑦 2
𝜕𝑢2
𝑞𝑆 − 𝑞𝐸 = 𝑘𝑦 ( ) ∙ 𝑑𝑥 ∙ 𝑑𝑦 ∙ 𝑑𝑧 (1.15)
𝜕𝑦 2
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 é
da barragem, tomando a plano tipo definido por dois eixos ortogonais, e que corta perpendicularmente
10
o eixo da barragem. Essa simplificação é justificada por termos a dimensão axial normalmente muito
𝜕𝑢2 𝜕𝑢2
𝑘𝑥 + 𝑘 𝑦 =0 (1.17)
𝜕𝑥 2 𝜕𝑦 2
Essa é a equação para o fluxo em duas dimensões. Considerando que o escoamento ocorre em
𝜕𝑢2 𝜕𝑢2
+ =0 (1.18)
𝜕𝑥 2 𝜕𝑦 2
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)
𝜕2 𝜕2 𝜕2
∇2 = + + (1.20)
𝜕𝑥 2 𝜕𝑦 2 𝜕𝑧 2
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).
11
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:
Uma equação é dita ordinária (E.D.O.) se a função incógnita depende de apenas uma variável
Onde F é uma função das variáveis indicadas e pelo menos uma derivada (ordinária) aparece
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:
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).
12
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𝑦 𝜕𝑦 4
+ ( ) = sin(𝑥) (1.24)
𝜕𝑥 2 𝜕𝑥
É uma equação diferencial de segunda ordem, pois a maior derivada de maior ordem apresenta
valor 2.
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)
𝑑𝑥 𝑑𝑥 𝑑𝑥
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 𝑀(𝑥, 𝑦)𝑑𝑥 +
13
𝑁(𝑥, 𝑦)𝑑𝑦 = 0 será chamada de equação diferencial homogênea se M e N forem funções homogêneas
𝜕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)
𝑑𝑥 𝑥
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,
A solução particular de uma equação diferencial é a solução que se obtém a partir da soluçã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
14
𝐴(𝑥, 𝑦)𝑢𝑥𝑥 + 𝐵(𝑥, 𝑦)𝑢𝑥𝑦 + 𝐶(𝑥, 𝑦)𝑢𝑦𝑦 + 𝐺(𝑥, 𝑦, 𝑢, 𝑢𝑥 , 𝑢𝑦 ) = 0 (1.29)
ℝ2 .
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
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 do tipo:
𝜕𝑢
∝ 𝑢(𝑥) + 𝛽 (𝑥) = 𝑓(𝑥), 𝑥 ∈ 𝜕Ω (1.30)
𝜕𝑛
15
𝜕𝑢
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
A forma geral de uma equação diferencial parcial de segunda ordem em duas variáveis
independentes x e y é:
Ou ainda:
𝜕2𝑢 𝜕2𝑢 𝜕𝑢 𝜕𝑢
𝐴 2
+ 𝐵 2
+𝐶 +𝐷 + 𝐸𝑢(𝑥) + 𝐹𝑢(𝑦) + 𝐺𝑥 + 𝐻𝑦 + 𝑗 = 0 (1.32)
𝜕𝑥 𝜕𝑦 𝜕𝑥 𝜕𝑦
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𝑢
− = 𝑓(𝑥, 𝑦) (1.33)
𝜕𝑡 2 𝜕𝑥 2
A Equação do Calor: é linear, não homogênea, e como 𝐴(𝑥, 𝑡) = −1, 𝐵(𝑥, 𝑡) = 0, e 𝐶(𝑥, 𝑡) =
características: é linear, não homogênea 𝐴(𝑥, 𝑡) = −1, 𝐵(𝑥, 𝑡) = 0, e 𝐶(𝑥, 𝑡) = 1, temos que
𝜕2𝑢 𝜕2𝑢
− = 𝑓(𝑥, 𝑦) (1.35)
𝜕𝑥 2 𝜕𝑦 2
O nosso caso apresenta interesse pela equação de Laplace no caso bidimensional, portanto,
𝜕2𝑢 𝜕2𝑢
+ =0 (1.36)
𝜕𝑥 2 𝜕𝑦 2
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
𝑢 = 𝑋𝑌 (1.37)
onde:
X é função de x apenas,
Y é função de y apenas.
𝜕2𝑋 𝜕2𝑌
𝑌 + 𝑋 =0 (1.38)
𝜕𝑥 2 𝜕𝑌 2
17
Fazendo a divisão de (1.37) por XY teremos:
1 𝜕2𝑢 1 𝜕2𝑢
+ =0 (1.39)
𝑋 𝜕𝑥 2 𝑌 𝜕𝑌 2
Como a soma dos 3 termos é uma constante, e as variáveis são independentes, cada um dos
1 𝜕2𝑢
= 𝑎12 (1.40)
𝑋 𝜕𝑥 2
ou também:
𝜕2𝑢
= 𝑎12 𝑋 (1.41)
𝜕𝑥 2
𝜕2𝑢
= −𝑎12 𝑌 (1.42)
𝜕𝑌 2
Agora o próximo passo é achar a solução para cada uma das variáveis separadamente (daí a
𝑋 = 𝐶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
ou ainda:
18
𝑢(𝑥, 𝑦) = [𝐶1 𝑠𝑒𝑛ℎ(𝑎𝑥) + 𝐶2 𝑐𝑜𝑠ℎ(𝑎𝑥)][𝐶3 𝑠𝑒𝑛(𝑎𝑦) + 𝐶4 𝑐𝑜𝑠(𝑎𝑦)] (1.46)
No caso desse estudo, foi considerado um retângulo como o mostrado abaixo (Santos, 2007), onde
𝜕2𝑢 𝜕2𝑢
+ =0
𝜕𝑥 2 𝜕𝑦 2
𝑢(𝑥, 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).
19
Considerando apenas k(y) não nula, podemos considerar a solução como um produto de uma
1 𝜕2𝑋 1 𝜕2𝑌
= − (1.49)
𝑋 𝜕𝑥 2 𝑌 𝜕𝑌 2
1 𝜕2𝑋 1 𝜕2𝑌
= − =𝜆 (1.50)
𝑋 𝜕𝑥 2 𝑌 𝜕𝑌 2
𝜕2𝑋
− 𝜆𝑋(𝑥) = 0, 𝑋(𝑎) = 0 (1.51)
𝜕𝑥 2
𝜕2𝑌
2
+ 𝜆𝑌(𝑦) = 0, 𝑌(0) = 0, 𝑌(𝑏) = 0 (1.52)
{ 𝜕𝑦
𝑛 2 𝜋2
A equação (1.51) com as condições de fronteira apresentadas só tem solução se 𝜆 = 𝑏2
, para 𝑛 =
𝑛𝜋𝑦
𝑌(𝑦) = 𝐶1 𝑠𝑒𝑛 , 𝑛 = 1,2,3, … (1.53)
𝑏
𝑛𝜋
(𝑥−𝑎)
𝑛𝜋
(𝑥−𝑎) 𝑛𝜋
𝑋(𝑥) = 𝐶2 (𝑒 𝑏 −𝑒 𝑏 ) = 𝐶2 (𝑠𝑒𝑛ℎ (𝑥 − 𝑎)) (1.54)
𝑏
𝑛𝜋𝑦 𝑛𝜋
𝑢𝑛 (𝑥, 𝑦) = 𝑋(𝑥)𝑌(𝑦) = 𝑐𝑛 (𝑠𝑒𝑛 ) (𝑠𝑒𝑛ℎ (𝑥 − 𝑎)) (1.55)
𝑏 𝑏
20
Além disso pode-se provar que as séries do tipo (Boyce, 1994):
∞
𝑛𝜋𝑦 𝑛𝜋
𝑢𝑛 (𝑥, 𝑦) = ∑ 𝑢𝑛 (𝑥, 𝑦) = 𝑐𝑛 (𝑠𝑒𝑛 ) (𝑠𝑒𝑛ℎ (𝑥 − 𝑎)) (1.56)
𝑏 𝑏
𝑛=1
Vale ressaltar que para termos a condição inicial 𝑢(0, 𝑦) = ℎ(𝑦), temos que ter:
∞ ∞
𝑛𝜋𝑦 𝑛𝜋𝑥
𝑘(𝑦) = 𝑢(𝑎, 𝑦) = ∑ 𝑢𝑛 (𝑥, 𝑦) = ∑ 𝑐𝑛 𝑠𝑒𝑛 𝑠𝑒𝑛ℎ (1.57)
𝑏 𝑏
𝑛=1 𝑛=1
Esta é a série de Fourier de senos de 𝑘(𝑦). Dessa forma os coeficientes são dados por (Boyce
[6]):
𝑛𝜋𝑎 2 𝑏 𝑛𝜋𝑦
𝑐𝑛 𝑠𝑒𝑛ℎ = ∫ 𝑘(𝑦)𝑠𝑒𝑛 𝑑𝑦 , 𝑛 = 1,2,3 … (1.58)
𝑏 𝑏 0 𝑏
𝜕2𝑢 𝜕2𝑢
+ =0
𝜕𝑥 2 𝜕𝑦 2
𝑢(𝑥, 0) = 0, 𝑢(𝑥, 2) = 0, 0<𝑥<3 (1.59)
{ 𝑢(0, 𝑦) = 0, 𝑢(3, 𝑦) = 𝑘(𝑦), 0 <𝑦<2
com
𝑦, 𝑠𝑒 0 ≤ 𝑦 ≤ 1
𝑘(𝑦) = { (1.60)
2 − 𝑦, 𝑠𝑒 1 ≤ 𝑦 ≤ 2
A solução então é:
∞
𝑛𝜋𝑦 𝑛𝜋𝑥
𝑢𝑛 (𝑥, 𝑦) = ∑ 𝑐𝑛 𝑠𝑒𝑛 𝑠𝑒𝑛ℎ (1.61)
2 2
𝑛=1
3𝑛𝜋
em que 𝑐𝑛 𝑠𝑒𝑛 são os coeficientes da série de cossenos de 𝑘(𝑦), ou seja,
2
21
𝑏
3𝑛𝜋 𝑛𝜋𝑦
𝑐𝑛 𝑠𝑒𝑛 = ∫ 𝑘(𝑦)𝑠𝑒𝑛 𝑑𝑥 (1.62)
2 0 𝑏
𝑛𝜋
8𝑠𝑒𝑛 2
= , 𝑛 = 1,2,3 … (1.63)
𝑛2 𝜋 2
𝑛𝜋
8𝑠𝑒𝑛 2
𝑐𝑛 = , 𝑛 = 1,2,3 … (1.64)
3𝑛𝜋
𝑛2 𝜋 2 𝑠𝑒𝑛ℎ 2
∞ 𝑛𝜋
8 𝑠𝑒𝑛 2 𝑛𝜋𝑦 𝑛𝜋𝑥
𝑢(𝑥, 𝑦) = 2 ∑ 𝑠𝑒𝑛 𝑠𝑒𝑛 (1.65)
𝜋 2 2 3𝑛𝜋 2 2
𝑛=1 𝑛 𝜋 𝑠𝑒𝑛ℎ 2
22
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
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
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
Smooth Particle Hydrodynamics (SPH), Método dos Pontos Finitos, e Radial Basis Functions (RBF).
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
Onde:
elementos do contorno. Esses elementos do contorno deverão satisfazer às Condições de contorno, que
condições de Neumann. Essas condições tem o seguinte comportamento: na primeira vai determinado
24
um valor da função no contorno, e na segunda vai determinada uma derivada normal à função
espacial, que no nosso caso será feito com o uso de Funções de Base Radial.
𝑟𝑖 = √[(𝑥 − 𝑥𝑖 )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 𝜙(𝑟).
forma, ou parâmetro de forma. Esse fator é utilizado para aumentar a suavidade da resposta, trazendo
25
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
𝐷𝑆
𝐶= (2.5)
(𝑛𝐷𝑆 − 1)
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,
√𝐴𝑆
𝐶= (2.6)
√𝑛𝐴𝑆 − 1
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
√𝑉𝑆
𝐶= (2.7)
√𝑛𝑉𝑆 − 1
26
2.2.2 Principais Funções de Base Radial
Dentre as Funções de Base Radial mais utilizadas podemos destacar, (Buhmann, 2003):
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
Onde:
27
2.3 Método Kansa (não simétrico)
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:
Dessa forma agora pode-se montar o sistema matricial do tipo 𝐴𝜆 = 𝑦, onde a matriz A
𝐿[𝜙]
𝐴=[ ] (2.13)
𝐵[𝜙]
O vetor y é será composto pelos valores das funções 𝑓(𝑥⃗) e 𝑔(𝑥⃗) nos pontos discretizados,
formando a matriz:
28
𝑓(𝑥⃗)
𝑦=[ ] (2.14)
𝑔(𝑥⃗)
𝐿[𝜙] 𝑓(𝑥⃗)
𝐴𝜆 = [ ] [𝜆 ] = 𝑦 = [ ] (2.15)
𝐵[𝜙] 𝑗 𝑔(𝑥⃗)
aproximação.
Inicialmente iremos resolver uma EDO para uma melhor compreensão. Considere a EDO
𝑑2 𝑢(𝑥)
− 4𝑢(𝑥) = 4𝑥 (2.16)
𝑑𝑥 2
Onde o domínio da função u é definida para o domínio 𝐷(𝑢) = {𝑥 ∈ 𝑅⁄0 < 𝑥 < 1}.
1 1
𝑢𝑔 (𝑥) = 𝑒 2𝑥 − 2 𝑒 −2𝑥 − 𝑥 (2.18)
𝑒2 −𝑒 −2 𝑒 − 𝑒 −2
valor de c em 0,5 , e discretizaremos o espaço em 11 pontos. Abaixo temos a tabela com os pontos
discretizados:
29
Tabela 4 – Coordenadas dos nós escolhidos na discretização do domínio.
Pontos x xj
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
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
2
𝑅𝑖𝑗 = √(𝑥𝑖 − 𝑥𝑗 ) = |𝑥𝑖 − 𝑥𝑗 | (2.19)
Onde:
30
A partir desses valores nós montamos a Matriz R mostrada na Tabela 5. Cada linha e coluna
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
𝜙(𝑟, 𝑐) = √𝑟 2 + 𝑐 2 (2.25)
2
𝜙1,1 (𝑟, 𝑐) = √𝑟1,1 + 𝑐2 (2.26)
2
𝜙2,1 (𝑟, 𝑐) = √𝑟2,1 + 𝑐2 (2.27)
2
𝜙3,1 (𝑟, 𝑐) = √𝑟3,1 + 𝑐2 (2.28)
2 + 𝑐2
𝜙𝑛,𝑛 (𝑟, 𝑐) = √𝑟𝑛,𝑛 (2.29)
31
𝜙1,1 ⋯ 𝜙𝑛,1
𝜙=[ ⋮ ⋱ ⋮ ] (2.30)
𝜙1,𝑛 ⋯ 𝜙𝑛,𝑛
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,
𝜕2
𝐿[𝜙] = 𝜙(𝑟, 𝑐) (2.31)
𝜕𝑥 2
𝑑2
𝐿[𝜙] = [√𝑟 2 + 𝑐 2 ] (2.32)
𝑑𝑥 2
𝑑 1
𝐿[𝜙] = [𝑟(𝑟 2 + 𝑐 2 )−2 ] (2.33)
𝑑𝑥
2 𝑟2
𝐿[𝜙] = 1− 3 (2.34)
(𝑟 2 + 𝑐 2 )−2 (𝑟 2 + 𝑐 2 )−2
32
A partir dessa equação montamos nossa Matriz 𝐿[𝜙] que apresentará os valores mostrados na
Tabela 7:
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
dessa Matriz será feita a partir das Matrizes 𝐵[𝜙] e 𝐿[𝜙]. Considerando que nossas condições de
𝐵[𝜙] = 𝜙 (2.35)
𝐿[𝜙] 𝐿[𝜙]
𝐴=[ ] =[ ] (2.36)
𝐵[𝜙] 𝜙
33
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
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:
34
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
𝜆 = 𝑦𝐴−1 (2.37)
-2.1E+07
69280773
-1.3E+08
1.51E+08
-9.1E+07
-0.00057
47021770
-3.8E+07
14167441
-2148149
2737204
35
Esses valores são então aplicados no interpolador de função de base radial (Kansa, 2000):
discretizados inicialmente. Na Tabela 11 temos uma comparação numérica desses dois resultados,
Para uma melhor visualização, fez-se um gráfico comparativo mostrando as duas soluções:
Comparação Gráfica
0,05
0 0,0046 0,0047
-0,05 1 2 3 4 5 6 7 8 9 10 11
-0,0655
-0,1 -0,1093
u(x)
-0,1235
-0,15
-0,1775 -0,1874
-0,2
-0,2195 -0,2334
-0,25 -0,2455-0,2515
-0,3
Pontos
Solução Exata Solução Aproximada (Meshless)
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.
aproximação para saber se a solução numérica será satisfatória ou não. A partir dessa diferença
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 é
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
por:
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.
37
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
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:
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
38
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:
(SRD);
(SRC);
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
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
memória descrita na alínea f, caso seja menor, aquela variável será substituída por um
39
j) Checará novamente se a média dos resíduos do contorno (SRC) é superior ao erro
admissível escolhido;
O objeto da aplicação prática será o cálculo da percolação pelas fundações da parede de uma
40
De acordo com a equação (1.16), o fluxo em duas dimensões pela parede de uma barragem de
𝜕𝑢2 𝜕𝑢2
𝑘𝑥 + 𝑘 𝑦 =0 (1.16)
𝜕𝑥 2 𝜕𝑦 2
𝜕𝑢2 𝜕𝑢2
+ =0 (1.17)
𝜕𝑥 2 𝜕𝑦 2
Analítica, tendo em vista que o objetivo do estudo é a comparação entre esta e a Solução Numérica
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
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)
Δu 10 − 5
𝑖= = = 0,25𝑚/𝑚 (1.2)
𝐿 20
𝑢(𝑥, 0) = 0 (2.42)
𝑢(0, 𝑦) = 0 (2.43)
𝑢(20, 𝑦) = 0 (2.44)
400
𝑐𝑛 = (2.47)
15𝜋
𝑠𝑒𝑛ℎ ( 20 )
Aplicando esse coeficiente na equação (1.55) temos então a Solução Analítica dada por:
𝜋𝑥 𝜋𝑦
𝑠𝑒𝑛 (20 ) 𝑠𝑒𝑛ℎ (20 )
𝑢(𝑥, 𝑦) = 400 (2.48)
15𝜋
𝑠𝑒𝑛ℎ ( 20 )
42
2.8 Processamento da Rotina
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
equação diferencial:
43
Figura 9 – Número de pontos, e dimensões do domínio.
Em seguida vem a janela onde deverão ser inseridas as condições de contorno do problema:
ótimo:
44
Figura 11 – Escolha do parâmetro de forma C.
A partir desse ponto o programa roda a rotina, fazendo a busca pelo parâmetro de forma
ótimo.
45
2.9 Resultados
distribuídos linearmente através do domínio. Abaixo estão os gráficos dos pontos ao longo do
domínio:
46
Figura 13 – Discretização com 9 pontos.
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.
√𝐴𝑆
𝐶= (2.6)
√𝑛𝐴𝑆 − 1
48
Inicialmente foi realizada a simulação com os valores calculados pela equação (2.6), de onde
49
Figura 16 – Carga hidráulica u(m) considerando C estimado (C=8,66) e 9 pontos no domínio.
50
Figura 17 – Carga hidráulica u(m) considerando C estimado (C=5,77) e 16 pontos no domínio.
51
Figura 18 – Carga hidráulica u(m) considerando C estimado (C=4,33) e 25 pontos no domínio.
52
Figura 19 – Carga hidráulica u(m) considerando C otimizado (C=449,2) e 9 pontos no domínio, com refinamento 10-1.
53
Figura 20 – Resíduos com C otimizado: 9 pontos com refinamento 10-1.
54
Figura 21 – Carga hidráulica u(m) considerando C otimizado (C=436,7) e 16 pontos no domínio, com refinamento 10-1.
55
Figura 22 – Resíduos com C otimizado: 16 pontos com refinamento 10-1.
56
Figura 23 – Carga hidráulica u(m) considerando C otimizado (C=79,2) e 25 pontos no domínio, com refinamento 10-1.
57
Figura 24 – Resíduos com C otimizado: 25 pontos com refinamento 10-1.
58
Figura 25 – Carga hidráulica u(m) considerando C otimizado (C=0,01) e 9 pontos no domínio, com refinamento 10-2.
59
Figura 26 – Resíduos com C otimizado: 9 pontos com refinamento 10-2.
60
Figura 27 – Carga hidráulica u(m) considerando C otimizado (C=17,46) e 16 pontos no domínio, com refinamento 10-2.
61
Figura 28 – Resíduos com C otimizado: 16 pontos com refinamento 10-2.
62
Figura 29 – Carga hidráulica u(m) considerando C otimizado (C=80,23) e 25 pontos no domínio, com refinamento 10-2.
63
Figura 30 – Resíduos com C otimizado: 25 pontos com refinamento 10-2.
64
Figura 31 – Carga hidráulica u(m) considerando C otimizado (C=0,001) e 9 pontos no domínio, com refinamento 10-3.
65
Figura 32 – Resíduos com C otimizado: 9 pontos com refinamento 10-3.
66
Figura 33 – Carga hidráulica u(m) considerando C otimizado (C=17,464) e 16 pontos no domínio, com refinamento 10-3.
67
Figura 34 – Resíduos com C otimizado: 16 pontos com refinamento 10-3.
68
2.10 Análise de Resultados
As simulações realizadas encontraram diferentes valores de C para cada situação, onde variaram o
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
Observou-se uma discrepância entre os valores encontrados para o parâmetro de forma calculado
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.
69
Nas simulações tivemos 2 características variáveis:
Refinamento da busca
70
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
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
Embora o desempenho da rotina possa ser considerado bom para o caso prático proposto, vela ressaltar
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
obtidas;
71
Aplicação de outros tipos de Funções de Base Radial (nesse trabalho só foi explorado
a RBF multiquadrática);
72
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.
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.
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.
73
ICOLD Bulletin 128, Management of Reservoir Water Quality - Introduction and Recommendations,
2004.
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.
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.
SOUSA, P. C. (2000) – Curso Básico de Mecânica dos Solos. Oficina de Textos, São Paulo – SP.
74
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
75
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
//=========================================================================
=====
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));
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)
76
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
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)
77
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)
//===========================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
if num==2|num==0 then
labels=["Refinamento do Parâmetro C:"];
[ok,vref]=getvalue("Dados para cálculo do Parâmetro C",labels,...
78
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
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
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);
//
==========================================================================
===
81
//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).';
82
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
//==========IMPRESSÃO DE
RESULTADOS=============================================
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 ========================================
84