Documente Academic
Documente Profesional
Documente Cultură
Timteo
2017
Sumrio
1 INTRODUO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.1 Problema de Pesquisa . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2 Justificativa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.3 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.3.1 Objetivos Gerais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.3.2 Objetivos Especficos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.4 Resultados Esperados . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2 REVISO BIBLIOGRFICA . . . . . . . . . . . . . . . . . . . . . . 7
2.1 Estado da arte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2 Fundamentao terica . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2.1 Problema de Valor de Contorno . . . . . . . . . . . . . . . . . . . . . . . 9
2.2.2 Mtodos numricos para PVCs . . . . . . . . . . . . . . . . . . . . . . . . 10
2.2.3 Mtodo dos Elementos Finitos . . . . . . . . . . . . . . . . . . . . . . . . 10
2.2.4 Mtodo dos Resduos Ponderados . . . . . . . . . . . . . . . . . . . . . . 11
2.2.5 Mtodo do Gradiente Conjugado . . . . . . . . . . . . . . . . . . . . . . . 15
3 DESENVOLVIMENTO . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.1 Materiais e mtodos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.1.1 Especificao da geometria . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.1.2 Obteno dos valores de referncia . . . . . . . . . . . . . . . . . . . . . . 18
3.1.3 Implementao do FEM . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.1.4 Implementao do EBE-FEM . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.1.5 Colorao da malha . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.1.6 Paralelizao do algoritmo . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.2 Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.2.1 Resultados preliminares . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4 CONCLUSO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
REFERNCIAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
APNDICES 36
1 Introduo
1.2 Justificativa
A justificativa deste trabalho se baseia na contnua transformao dos paradigmas
de programao e arquiteturas de hardware. Como coloca Guo et al. (2014), com aumento
de ncleos de processamento, ocorre a reduo da razo memria por ncleo, o que impe
uma forte demanda para que os algoritmos utilizem eficientemente todos os nveis de
paralelismo disponveis enquanto minimizam a movimentao de dados. Tal evoluo no
se limita ao cenrios dos clusters e grids mas alcana inclusive os dispositivos mveis, que
atualmente j possuem oito ncleos. Pensando em um futuro prximo, com os avanos da
computao ubqua que introduz temas como internet das coisas, dispositivos "usveis",
realidade aumentada e realidade virtual, a necessidade de se aproveitar ao mximo todo
o poder de processamento disponvel se torna ainda mais evidente, uma vez que nessas
tecnologias h alta demanda de processamento e/ou pouco espao fsico para comportar
um processador adequado. A justificativa para a escolha das linguagens C++, Scala e
Erlang se de devido ausncia de trabalhos acadmicos relacionando tais tecnologias e seu
desempenho. C/C++ uma linguagem abrangente, robusta e atual, presente por trs de
grande parte das aplicaes desktop e mobile. Scala e Erlang (e/ou Elixir) so linguagens
naturalmente concorrentes e que possuem crescente market share .
1.3 Objetivos
1.3.1 Objetivos Gerais
2 Reviso bibliogrfica
Condio Tipo
u(xi ) = Dirichlet
u(xi ) = 0 Dirichlet Homognea
0
u (xi ) = Neumann
0
u (xi ) = 0 Neumann Homognea
Discretizao do Domnio
e = ae + be xe + ce y e (2.1)
n
e = Nje (x, y)ej = {N e }T {e }
X
(2.3)
j=1
1,
i=j
Nie (xej , yje ) = ij = (2.4)
0, i 6= j
L = f (2.5)
aproximao.
r = L f 6= 0 (2.6)
Embora o resduo em cada elemento seja diferente de zero em sua maioria, deseja-se
que o resduo total seja igual a zero. Para que isso seja possvel, uma funo de poderao
wi introduzida para cada subdomnio e. Desta forma na mdia dos M subdomnios de
a condio residual atendida (VOLAKIS; CHATTERJEE; KEMPEL, 1998). As equaes
2.7 e 2.8 correspondem ao sistema de resduos ponderados. A ideia chave dessa abordagem
transformar o problema de valor de contorno em um sistema linear que fornea o valor
aproximado.
Z
Rie = wie r d = 0 i = 1, 2, 3. (2.7)
Z
Rie = wie [L f ] d = 0 i = 1, 2, 3. (2.8)
Z n Z
Rie Nie L Nje ej Nie f d = 0
X
= i = 1, 2, 3. (2.9)
j=1
n Z
Nie LNje ej = 0 [K e ]{e } = {be }
X
i = 1, 2, 3. (2.10)
j=1
Mtodo de Petrov-Galerkin wi = i 6= i
Mtodo de Galerkin wi = i
(2.11)
Mtodo dos Mnimos quadrados wi = d
dx
a(x) d
dx
i
Mtodo da colocao (x xi )
4: xi+1 = xi + di
5: ri+1 = rTi di
i+1 i+1
6: = r ri T rri
7: di+1 = di di
i+1
8: if krkbk k then
9: break
10: end if
11: end for
17
3 Desenvolvimento
14 10.9
10.8
12
10.7
10
10.6
8 10.5
6 10.4
10.3
4
10.2
2
10.1
0
0 5 10 15 7.6 7.8 8 8.2 8.4
(c) Regio de anlise com malha (d) Zoom sobre as placas do capacitor
5 (c 5 (u)) + au = f (3.1)
10.8
14 40 40
12 35 35
10.7
10 30 30
10.6
25 25
8
20 20
6 10.5
15 15
4
10.4
10 10
2
5 5
10.3
0
0 0
0 2 4 6 8 10 12 14 16 7.7 7.8 7.9 8 8.1 8.2 8.3
45
Color: abs(grad(u)) Height: abs(grad(u))
600
X: 7.279 40 11
Y: 9.844
Z: 42.2
X: 1.334 35 10.9
50 500
Y: 7.47 X: 7.736
Z: 33.5 Y: 5.324 10.8
30
40 Z: 34.7
10.7 400
X: 14.64 X: 7.921
25
X: 7.865 Y: 13.53 Y: 10.54 X: 8
30 X: 1.371 Y: 2.324 Z: 16.63 10.6 Z: 231.1 Y: 10.48
Y: 2.42 Z: 24.33 X: 11.02 20 300
Z: 604.5
Z: 31.38 Y: 8.76 10.5
20 Z: 11.37
15
10.4 200
20
10 15 10 10.3
X: 8.605 X: 7.921
10 Y: 10.1 100
Y: 7.762 5 10.2
0 Z: 16.01
Z: 2.712
5
0 2 10.1
4 6 8 0
10 12 0
14 16 7.4 7.6 7.8 8 8.2 8.4 8.6
(c) Pontos de referncia do potencial eltrico (d) Pontos de referncia do campo eltrico
A funo resolveSistLinear o ponto central deste trabalho, uma vez que a anlise
feita sobre o desempenho das implementaes durante soluo do sistema de equaes
originado do FEM. Foram utilizados 2 solvers a fim de se verificar a performance e a
gesto de memria. O primeiro deles o solver \ do MATLAB
R
e o segundo a
implementao do mtodo do gradiente conjugado proposta por Barrett et al. (1995). O
CG como explicitado no referencial terico, um mtodo iterativo no estacionrio do
subespao de Krylov. Como coloca Wathen (1989), o uso de mtodos iterativos se tornou
competitivo medida em que os sistemas de equaes se tornavam maiores. A tcnica
EbE desenvolvida neste trabalho foi proposta originalmente por Hughes, Levit e Winget
(1983) como como sendo um precondicionador para o CG de forma a possibilitar que as
computaes com matrizes sejam realizadas no nvel elementar (KISS et al., 2012).
A motivao da escolha do solver do MATLAB
R
(\ ou mldivide) est no fato
de ele utilizar diferentes algoritmos dependendo da estrutura da matriz de coeficientes, tais
como simetria e esparsidade . Especificamente para o problema deste trabalho, cuja matriz
Hermitiana (auto-adjunta) e positiva definida, o solver adota a fatorao de Cholesky
ou a LDL.
A motivao para a escolha do CG implementado por Barrett et al. (1995) est no
fato de que seu material citado em diferentes trabalhos da reviso bibliogrfica, como em
Kiss et al. (2012), Dolwithayakul, Chantrapornchai e Chumchob (2012), Yang, Liu e Chen
(2016). Alm de um completo survey de mtodos numricos para a soluo de sistemas
lineares, os autores disponibilizam as implementaes na linguagem do MATLAB
R
e em
C++. O pseudocdigo 3 refere-se ao CG precondicionado com a matriz M .
Captulo 3. Desenvolvimento 21
Funo Descrio
load Carrega para o workspace as variveis salvas nos arquivos
.mat.
decsg Cria a geometria do problema por meio da associao
de regies primitivas. O espao de anlise do capaci-
tor de placas paralelas, por exemplo composto por 2
retngulos e 1 quadrado.
createpde Instancia um modelo de PDE contendo n equaes.
geometryFromEdges Vincula a geometria originada da funo decsg ao modelo
de PDE gerado por createpde.
generateMesh Cria uma malha sobre a geometria do modelo de PDE.
Parmetros adicionais podem ser includos para modificar
a qualidade malha ou a ordem dos elementos (ver 2.2.4).
O parmetro Hmax determina o tamanho mximo das
arestas dos elementos.
meshToPet Obtm as matrizes de pontos, arestas e tringulos, as
quais sero utilizadas na gerao das matrizes elementa-
res e da matriz global.
geraMatElementares partir dos dados da triangulao da malha, gera a
matriz de cada elemento por meio das funes de aproxi-
mao e interpolao.
geraMatGlobal Realiza a agregao ou o mapeamento das matrizes ele-
mentares no sistema global. A matriz resultante esparsa
e sua ordem corresponde ao nmero de ns da malha.
atribuiContorno Atribui os m valores de contorno pr-estabelecidos e com
isso realiza a reduo dos sistema em m ordens, fazendo
com que deixe de ser homogneo.
resolveSistLinear Consiste na aplicao de mtodos numricos para a solu-
o eficiente de sistemas lineares esparsos.
pdePlot Funo utilizada para a exibio da malha e dos resul-
tados. Conforme os parmetros adicionais, so plotados
grficos tridimensionais, campos vetoriais e linhas de
campo.
Algorithm 3 Pseudocdigo do CG
1: x0 = {0}
2: r0 = b Ax0
3: for i = 1,2... do
4: zi1 = resolve(M , ri1 )
5: i1 = ri1 T zi1
6: if i = 1 then
7: p1 = z0
8: else
9: i1 = i1 / i2
10: pi = zi1 + i1 pi1
11: end if
12: qi = Api
13: i = i1 / pi T qi
14: xi = xi1 + i pi
15: ri = ri1 - i qi
16: if converge(r,tol) then
17: break
18: end if
19: end for
utilizados.
A adaptao do bloco referente atribuio das condies de contorno (linha 11
do algoritmo 2) baseada na abordagem proposta por Xu, Yin e Mao (2005) a qual
consiste na criao de vetores rhs (right hand side) elementares. Ao invs de se atribuir
os valores de contorno s clulas do vetor rhs global que correspondem cada n da
malha, a atribuio feita no nvel elementar. Por exemplo, se um n compartilhado por
2 elementos possui valor de contorno igual a 10, a atribuio feita como uma mdia no
vetor rhs de cada um dos 2 elementos. Assim sendo, cada vetor recebe o valor de contorno
igual a 5. A figura 5 contm o esquema que ilustra este exemplo. Yan et al. (2017) e Wu
et al. (2015) prope uma abordagem parecida baseada no no nmero de conexes do n,
mas na mdia ponderada do valor de contorno original pelos coeficientes de cada elemento
que contm o n.
De posse das matrizes e vetores elementares com as condies de contorno atribudas,
feita a adaptao no algoritmo do CG a fim de que os clculos envolvendo matrizes
sejam feitos elemento a elemento. As operaes entre vetores ou vetores e escalares so
mantidas no nvel global, visto que no requerem tanto esforo computacional como as
operaes matriciais. As adaptaes consistem basicamente em percorrer os N elementos,
realizando os clculos pertinentes e em seguida, armazenar nos vetores globais os resultados
gerados para cada n do elemento. As linhas 4 e 12 do algoritmo 3 possuem operaes
matriciais e so modificadas conforme apresentado nos pseudocdigos 4 e 5. Alm disso, o
resduo inicial da linha 2 do 3 igual a b , dado que o chute x0 vale zero para todos os ns.
Captulo 3. Desenvolvimento 23
A colorao assim como o processo de excluso mtua so estratgias adotadas para evitar
condies de corrida. Condio de corrida o estado inconsistente dos dados causado por
transaes no atmicas. Desta forma, se por exemplo, dois processos ou threads alteram
ao mesmo tempo um dado em memria compartilhada, no se pode prever o valor final do
dado, mas sabe-se que ser inconsistente. A colorao deve acontecer de tal forma que
elementos que compartilhem um mesmo n possuam cores distintas. Uma caracterstica
desejvel num algoritmo otimizado que haja uma distribuio equalizada na quantidade
elementos de cada cor, ao invs de uma quantidade mnima de cores. Por exemplo, numa
malha de 1000 elementos prefervel se utilizar 20 cores com 50 elementos de cada cor, ao
invs de 6 cores com uma distribuio desequilibrada de elementos, como por exemplo
{500 50 200 150 10 90}. Contudo, como o objetivo da etapa de validao do problema no
obter resultados timos, foi adotada uma heurstica gulosa sem balanceamento de cores,
mas que apenas prioriza a aplicao das cores menos utilizadas. A figura 6 mostra um
zoom na colorao da malha no topo entre as duas placas.
10.75
10.7
10.65
10.6
10.55
Uma vez realizada a colorao, o processamento pode ocorrer de tal forma que
elementos da mesma cor seja executados simultaneamente e elementos de cores distintas
sequencialmente. Como elementos de uma determinada cor no possuem vrtices em
comum, no h a possibilidade de acontecer condio de corrida durante o acesso s
variveis globais z e r do algoritmo 7 e q e d dos algoritmos 8 e 9 respectivamente. A
estrutura de dados cores contm os dados da localizao do elemento na malha.
Funo Descrio
gcp Get current parallel pool retorna as informaes sobre os
workers ativos.
parpool Cria uma nova parallel pool, ou seja, um conjunto de
workers e os demais processos necessrios para o funcio-
namento da toolbox.
parfor Executa as iteraes de um loop em workers. Para que isso
seja possvel as iteraes devem ser independentes entre
si e as estruturas de dados (colees) utilizadas devem
ter a caracterstica de serem fatiadas. Por exemplo,
uma matriz bidimensional pode ser fatiada de 2 formas,
pelas linhas ou pelas colunas.
spmd A funo single program, multiple data executando o
mesmo cdigo em diferentes workers. Diferente do parfor,
os dados no precisam necessariamente estar particiona-
dos, visto que o spmd permite a comunicao entre os
workers.
codistributed Cria uma coleo que distribuda entre os workers e
no copiada integralmente.
getLocalPart Obtm os dados de uma determinada partio de uma
coleo distribuda.
codistributor Funo que realiza a distribuio de uma coleo. Di-
ferente da distribuio limitada que ocorre no parfor,
essa funo possibilita que a distribuio seja feita de
diferentes formas em uma coleo.
gather Funo que realiza a agregao de uma coleo distri-
buda.
drange Executa um loop entre as parties de uma coleo. Este
bloco de cdigo faz com que os workers trabalhem simul-
taneamente em cada distribuio da coleo, mas impede
a comunicao entre eles.
3.2 Resultados
Os resultados deste trabalho esto divididos nas subsees resultados preliminares
e resultados aplicados. Na primeira subseo so apresentados os resultados da modelagem
com o MATLAB
R
e nas subsees seguintes os resultados da aplicao do algoritmo
desenvolvido nas linguagens C++, Scala, Erlang, CUDA e Harlan.
Overview da triangulao
16 16
45 45
14 14
40 40
12 12
35 35
10 30 10 30
25 25
8 8
20 20
6 6
15 15
4 4
10 10
2 2
5 5
0 0 0 0
0 2 4 6 8 10 12 14 16 0 2 4 6 8 10 12 14 16
(a) Refinamento com Hmax = 0.6 (b) Refinamento com Hmax = 0.2
Hmax Ns Elementos
0.6 1700 3190
0.5 2196 4162
0.4 3154 6046
0.3 5287 10244
0.2 11439 22416
0.1 44692 88522
0.05 176971 352148
refinamento da pdetool mantm os pontos da malha original, a alterao do Hmax gera uma
nova malha, fazendo com que os pontos de referncia se percam. Embora essa abordagem
possibilite o maior controle da quantidade de elementos, ela impossibilita a verificao da
preciso do valor de um ponto aps o refinamento. A figura 7 destaca os ns da vizinhana
de cada ponto de referncia. Como no se pde observar a preciso foi observado o valor
mdio prximo aos pontos de referncia. A tabela 4 apresenta a quantidade de elementos
e ns gerados para cada valor de Hmax.
(a) Comparao do tempo de execuo (s) (b) Comparao do uso de memria (MiB)
desacoplada para atender aos critrios de fatiamento e independncia dos blocos parfor
e spmd.
A tabela 5 exibe os resultados das execues com o uso de solvers sequenciais. As
linhas indicadas com x mostram as limitaes do processo de montagem da matriz global
devido ao uso excessivo de memria. A mensagem de erro retornada pelo MATLAB
R
Requested 44692x44692 (14.9GB) array exceeds maximum array size preference. A adoo
do mecanismo de matrizes esparsas do MATLAB
R
no entanto possibilitou que o uso de
memria e o percentual de CPU fossem reduzidos. Os solvers de matrizes esparsas e o
EbE apresentaram um uso equilibrado da CPU em relao ao mldivide e CG com matrizes
full que aumentaram o percentual do uso da CPU medida que o nmero de elementos
da malha aumentou. A figura 8 exibe a comparao do tempo de processamento e uso de
memria dos solvers mais competitivos para para os refinamentos 0.3, 0.2 e 0.1.
Como pode ser visto na tabela 6 o desempenho das implementaes paralelas do EbE
com colorao foram muito piores em relao a tempo de execuo que a implementao
sequencial. Como pode ser visto na ltima coluna, uma iterao do CG com spmd demorou
cerca de 66 vezes mais que a verso sequencial e a soluo completa do problema 48 vezes
mais. Aps dezenas de adaptaes no algoritmo e nas estruturas de dados a fim de melhorar
estes nmeros foi verificado por meio da leitura mais aprofundada da documentao da
partool que a existncia dos comandos parfor e spmd dentro de loops no recomendada
visto que a cada iterao do loop externo ocorre troca de mensagens entre o processo client
e os workers. Alm disso, a documentao informa que iteraes que apresentam operaes
simples e baixo tempo de execuo no devem ser paralelizadas pela toolbox devido ao
custo adicional de memria e comunicao para se criar e manter os workers.
Captulo 3. Desenvolvimento 31
Tabela 5 Tempo de Execuo, consumo de memria e uso da CPU dos solvers sequenciais
4 Concluso
Referncias
BARRETT, R. et al. Templates for the Solution of Linear Systems: Building Blocks for
Iterative Methods. Mathematics of Computation, v. 64, n. 211, p. 1349, 1995. ISSN
00255718. Disponvel em: <http://www.jstor.org/stable/2153507?origin=crossref>.
Citado 2 vezes nas pginas 15 e 20.
1
1
Q1
AE u1
= (A.1)
Q2
l
1
1 u2
No circuito resistivo da figura 10, a relao para um elemento dada pela Lei
de Ohm, na qual as correntes em cada n, podem ser definidas partir das tenses nos
terminais do elemento. Na equao A.2, Ia e Va so respectivamente a corrente e a tenso
APNDICE A. Sistemas de elementos discretos 39
1
1
I1
1 V1
= (A.2)
I2
R 1
1 V2
O padro encontrado nas equaes A.1 e A.2 pode ser generalizado para outros
campos da engenharia, cincia e at mesmo administrao e economia, desde que possam
ser modelados por sistema de equaes lineares (FAIRES, 2008, p. 331).
A questo a ser respondida : Como analisar o efeito global de uma ao realizada
em um conjunto limitado de ns? Por exemplo, como obter o potencial eltrico nos ns 3, 4
e 5, da figura 10, a partir da aplicao das tenses 9V e 0V nos ns 1 e 2 respectivamente?
Como compilar os resultados locais para o clculo de grandezas secundrias, como a corrente
ou potncia eltrica em cada elemento, por exemplo? Estas questes sero respondidas
nas duas subsees seguintes.
sectionEquaes do Elemento Discreto
Se um fenmeno que atua sobre um dado elemento e modelado por um sistema
de equaes lineares, pode ser representado em sua forma matricial como:
{q e } = [K e ]{ue } + {f e } (A.3)
como uma matriz de adjacncia, K mostra como cada n se relaciona com os demais.
q1e
u1
e
K11
e
K12 ... e
K1m
e
e .. ..
.
.
q2
u2
K11
qe = .. ue = .. Ke =
(A.4)
.. .. ..
. . . . .
e e e
q um Km1 ... . . . Kmm
m
Como pode ser visto na figura 9(b), cada elemento compartilha ns com seus
vizinhos, de forma que, o resultado obtido no n de um elemento deve ser compatvel
com os resultados obtidos nos outros elementos, para o mesmo n. Esta condio de
compatibilidade e equilbrio ser vista na subseo seguinte.
condio de equilbrio no n a.
m
qae = qa1 + qa2 + = 0
X
(A.6)
e=1
Considerando que o estado inicial f do corpo nulo, o sistema A.5 que possui m
ns e n elementos, pode ser representado como
n X
m
e
X
q= Kab ub = 0 (A.7)
b=1 e=1
9V
0V
u= u3 (A.8)
u4
u
5
tem-se:
1
I11 (V11 V21 ) I12 = V12 V22
=
3
e=1: e=2:
I21 = 31 (V11 + V21 )
I22 = V12 + V22
I13 V13 V23 I14 = V14 V24
=
e=3: e=4: (A.9)
I23 = V13 + V23 I24 = V14 + V24
1
I15 = (V15 V25 ) I16 = V16 V26
2
e=5: e=6:
I25 = 21 (V15 + V25 ) I26 = V16 + V26
1 1
I1
3 3
0 0 0
V1
1
1
I2
3 3
0 0 0
V2
I3 = 0 0 0 0 0 V3 (A.10)
I4 0 0 0 0 0 V4
I 0 0 0 0 0 V
5 5
APNDICE A. Sistemas de elementos discretos 43
1 1
I1
3 3
0 0 0
V1
1
1
+ 1 1 0
I2
3 3
0
V2
I3 = 0 1 1 0 0 V3 (A.11)
I4 0 0 0 0 0 V4
I 0 0 0 0 0 V
5 5
1 1
I1
3 3
0 0 0
V1
1
4
1
I2
3 3
0 0
V2
I3 = 0 1 2 1 0 V3 (A.12)
I4 0 0 1 2 1 V4
I 0 0 0 1 1 V
5 5
44
Ve = ae + be x + ce y (B.1)
V1e
1 x1 y1
a
V2e = 1 x2 y2 b
(B.2)
Ve
1 x 3 y3 c
3
(x2 y3 x3 y2 ) (x3 y1 x1 y3 ) (x1 y2 x2 y1 )
cof (Ae )T = (y2 y3 ) (y3 y1 ) (y1 y2 ) (B.3)
(x3 x2 ) (x 1 x3 ) (x2 x1 )
a e
V1
3
e T
cof (A )
Ve = 1 x y Nje (x, y)Vje
X
b = 1 x y e = (B.5)
det(Ae ) V2
j=1
Ve
b
3
ZZ
Nie 2 V e dxdy = Rie i = 1, 2, 3. (B.6)
ZZ
V e Nie dxdy = Rie i = 1, 2, 3. (B.7)
3
ZZ X 3 ZZ
Nje Vje Nie dxdy = Nie Nje Vje dxdy = Rie
X
i = 1, 2, 3. (B.8)
j=1 j=1
ZZ
Kije = Nie Nje dxdy (B.9)
partir das simplificaes nos clculos e A a rea do tringulo. A equao B.11 mostra
como os coeficientes podem ser calculados aps a simplificao
A = 21 (P2 Q3 P3 Q2 )
1
Kije = (Pi Pj + Qi Qj ) (B.11)
4A
As matrizes dos elementos e a matriz global so apresentadas nas equaes B.12
e B.13. Aps a definio das matrizes elementares realizado o mapeamento de seus
coeficientes para a matriz global. Enquanto a matriz elementar da ordem do nmero de
ns do elemento, a matriz global de coeficientes da ordem do nmero de ns da malha.
O processo de mapeamento detalhado no apndice A.
0, 560 0, 285 0, 274 0, 620 0, 257 0, 362
K1 =
0, 285 0, 592 0, 3066
K2 =
0, 257 0, 509 0, 252
(B.12)
0, 274 0, 306 0, 580 0, 362 0, 252 0, 615
0, 560 0, 285 0 0, 274
0, 285 0, 257 0, 669
1, 213
K=
(B.13)
0 0, 257 0, 509 0, 252
0, 274 0, 669 0, 252 1, 195
0, 560 0, 285 0 0, 274
10
0
2
0, 285 0, 257 0, 669 V
1, 213
0
= (B.14)
0 0, 257 0, 509 0, 252 0
0
4
0, 274 0, 669 0, 252 1, 195 V 0
2
0.285 0.257 V 2
2.858
5.241
V
= = (B.15)
0.274 0.252 V 4 2.741 V 4 5.227