Anda di halaman 1dari 35

Elementos Finitos

Tatiana Leone da Cunha


Lara Alves de Oliveira Soares

Orientadores:
Eduardo Gomes Dutra do Carmo
Webe Joo Mansur

coord[0], ., coord[15]

2 0
2
Nop[0][0] = 0

Nop[2][0] = 2

Nop[0][1] = 1

Nop[2][1] = 3

Nop[0][2] = 8

Nop[2][2] = 10

(do global para o local)

Nop[2][3] = 11

2 1
3

Polinmio de Lagrange nas coordenadas locais ( ) ou naturais


Grau N

Linear

Quadrtico

Cbico

Grau 1

Grau 2

Grau 3

........

, . , ,
1;

1;

2, . ,
1

1
1

N 1 = intervalos
1

1
2

.
.
.

Para L = 0,1,....,N ;


1
0,

;
0, 1, ,

Nmero de pontos L + 1;
Nmero de intervalos L + 1;
K pontos por intervalo;

Nop [e][1] , l = 0, 1, ..., N

Nop [e][0] = e
Nop [e][1] = e + 1
Nop [e][2] = L + eK + 1
Nop [e][3] = L + eK + 2
.
.
.

Nop[e][i] = L + eK + (i 1)
.
.
.

Nop[e][K + 1] = L + eK + (K + 1 1) = L + eK + k = L + (e + 1)K

Coord [0][0] = x0
Coord [1][0] = x1
.
.
.

Coord [i][0] = xi
.
.
.

Coord [L][0] = xL

1
.
.
.

.
.
.

;
2.

0
2

Definio: Duas funes em

so ditas iguais quase em toda parte, ou


0

equivalentes, ou indistinguveis, se e somente se:

i.

ii.

iii.

0
,
0

iv.
,

,
|

| |

| |

0
,
, ,

,
|

Problema
Encontrar

, ,

que melhor aproxima

equao 1 .
,

resduo

na distncia

dada pela

(L = 9)
Nop [7][0] = 7
Nop [7][1] = 8
/

,
/

;
,

0 ,,

2
,

Minimizando

obtm-se:
1

0, ,

2
1

0, ,

2
1,

Equao para

1, ,

Equao para um ponto vrtice interior


0

1
1 1

,
,

0, ,

1
0

0, ,

0, ,

0, ,

0
0

0,

0
0

,
0

0
,

0
,

0,


0 no n

Soluo prescrita no n
i sendo o n considerado

0, ,

Controle para condies de contorno

0, ,

0
1
0

0
1

, ,

6 0

6 1

10

6 02

11

6 3

12

10

6
5

10

/5

6
5

12
5

10

10

12
5
6
5

6
5

2
5

6 0

6
5

/ 10

12
5

2
/ 10
5

12
5

/ 10

2
/ 10
5
6

12
5

5 10

12
5

12
5

6
5

2
/ 10
5

12
5

/ 10

12
5

2
/ 10
5

12
5

0
1

0 --[Varia i=0, NTPO-1


1--[Varia j=0, NPTO-1
0
Fim da variao 1
0
Fim da variao 0

6
5 10

12
5

6
5

2
10.12
/
5
5

1--[Varia el=0, NtotalElem


2--[Varia ipto=0, NptoElem[el]
3--[Varia jpto=0, NptoElem[el]

A [ipto] [jpto] =

M Nop[el] [ipto] Nop[el] [jpto]


A [ipto] [jpto]

M Nop[el] [ipto] Nop[el] [jpto]


Fim da variao 3
B[ipto] =
b Nop[el] [ipto]
Fim da variao 2
Fim da variao 1

Matriz lgica de controle para implementar Solver operando com


elementos no nulos da matriz
1

NcolNZeroDirDiago[NgrausLiberdade]
NgrausLiberade

Nmero de Incgnitas por n x Nmero de Ns

NLinDepAbaixDiag[NgrausLiberdade]

ApontadorDirCol[eldiag][elcol]
eldiag = 0, ... , (NgrausLiberade-1)
elcol = 0, ... , (NcolNoZeroDirDiag[eldiag]-1)
Exemplo:
1

15
0
1
0
0

NcolNoZeroDirDiag[5] = 2
Diagonal[5] = 15
ApontadorDircol[5] [0] = 7
ApontadorDircol[5] [1] = 5

ApontadorAbaixo[eldiag][elLin]
eldiag = 0, ... , (NgrausLiberade-1)
ellin = 0, ... , (NlinDepAbaixDiag[eldiag]-1)

. . .

Exemplo:
1

13

14

15

16

Diagonal[2] = 0
NcolNoZeroDirDiag[2] = 3
NlinDepAbaixDiag[2] = 0
ApontadorDircol[2] [0] = 2
ApontadorDircol[2] [1] = 3
ApontadorDircol[2] [2] = 4

Diagonal[4] = 14
NcolNoZeroDirDiag[4] = 1
NlinDepAbaixDiag[4] = 2
ApontadorDircol[4] [0] = 1
ApontadorAbaixoLin[4] [0] = 1
ApontadorAbaixoLin[4] [1] = 2

Algoritmo para moldar o nmero de graus de liberdade

1--[Varia ipto = 0, (NumTotalPtoMalha-1)


2--[Varia igl = 0, (NumGLporN-1)
IP

IP+1

LigaGL [IP] [0] = ipto


LigaGL [IP] [1] = igl
LigaInvGL [ipto] [igl] = IP
Fim da variao 2
Fim da variao 1
NtotalGrauLib = IP

Path de um n so elementos que contm o n


NelemContemPto[pto]
Pto = 0, ... (NumTotalPtoMalha-1)
1--[Varia ipto = 0, (NumTotalPtoMalha-1)
NelemContemPto[pto] = 0
Aux[pto] = -1
Fim da variao 1
2--[Varia elem = 0, (NtotalElem-1)
3--[Varia jpto = 0, NptoElem[elem]
NelemContemPto[Nop[elem] [jpto]]
NelemContemPto[Nop[elem] [jpto]]+1
Fim da variao 3
Fim da variao2

Exemplo:

Pto=0
NelemContemPto[0] = NelemContemPto[Nop[0] [0]]
0+1=1
Pto=1
NelemContemPto[1] = NelemContemPto[Nop[0] [1]]
0+1=1
NelemContemPto[1] = NelemContemPto[Nop[1] [0]]
1+1=1
....
ElemContemPto[pto] [OrdemElem]
OrdemElem = 0, ... , (NelemContemPto[pto]-1)
4--[Varia elem = 0, (NtotalElem1)
5--[Varia jpto = 0, (NptoElem[elem]-1)
Aux[Nop[elem] [jpto]=
Aux[Nop[elem] [jpto]]+1
PathPto[Nop[elem] [jpto]] [Aux[Nop[elem] [jpto]]] = elem
Fim da variao 5
Fim da variao 4
6--[Varia ig = 0, (NtotalGrauLib-1)
NcolNaoZeroDirDiag[ig] = 0
NlinDepAbaixDiag[ig] = 0
Aux[ig] = -1
Aux0[ig] = 0
Fim da variao 6

7--[Varia ig = 0, (NtotalGrauLib -1)


jpto = LigaGL[ig][0]
igl = LigaGL[ig][1]
8--[Varia jg = igl +1, (NumGlporNo -1)
NcolNaoZeroDirDiag[ig]=
NcolNaoZeroDirDiag[ig] +1
NlinDepAbaixDiag[ig]=
NlinDepAbaixDiag[ig]+1
Fim da variao 8
9--[Varia ordem = 0, (NelemContemPto[jpto] -1)
elem = PathPto[jpto] [ordem]
10--[Varia lpto = 0, (NptoElem[elem] -1)
Kpto = Nop[elem] [lpto]
11--[Se (Kpto > jpto e Aux[Kpto] = 0). Faa
12--[Varia lg = 0, (NumGLporNo -1)
NcolNaoZeroDirDiag[ig]=
NcolNaoZeroDirDiag[ig] +1
NlinDepAbaixDiag[ig]=
NlinDepAbaixDiag[ig] +1
Aux0[Kpto]=1
12a--[Varia ig=0, (NtotalGrauLib -1)
Aux0[ig] = 0
Fim da variao 12a
Fim da variao 12
Fim do teste 11
Fim da variao 10
Fim da variao 9
Fim da variao 7

13--[Varia ig = 0, (NtotalGrauLib -1)


jpto = LigaGL[ig][0]
igl = Liga[ig][1]
14--[Varia jg = igl +1, (NumGLporNo 1)
Aux[ig] =

Aux[ig] + 1

ApontadorDirCol[ig] [Aux[ig]]=
LigaInvGL[jpto] [jg]
ApontadorAbaixoLin[ig] [Aux[ig]]=
LigaInvGL[jpto] [jg]
Fim da variao 14
15--[Varia ordem = 0, (NelemContemPto[jpto]-1)
Elem = PathPto[jpto] [ordem]
16--[Varia lpto = 0, (NptoElem[elem]-1)
Kpto = Nop[elem] [lpto]
17--[Se (kpto > jpto e Aux0[Kpto]=0). Faa
18--[Varia lg = 0, (NumGLporNo-1)
Aux[ig] =

Aux[ig] + 1

ApontadorDirCol[ig] [Aux[ig]]=
LigaInvGL[kpto] [jg]
ApontadorAbaixoLin[ig] [Aux[ig]]=
LigaInvGL[kpto] [jg]
Aux0[ig] = 1
Fim da variao 18
Fim do teste 17
Fim da variao 16
Fim da variao 15
Fim da variao 13

19--[Varia id = 0, (NtotalGrauLib 1)
TermoIndep[id] = 0.0
MatDiag[id] = 0.0
20--[Varia icol = 0, (NcolNaoZeroDirDiag[id] -1)
MatDirCol[id] [icol] = 0.0
Fim da variao 20
21--[VariaiLin = 0, (NlinDepAbaixDiag[id] -1)
MatAbaixoLin[id] [Nlin] = 0.0
Fim da variao 21
Fim da variao 19

22--[Varia el = 0, (NtotalElem-1)
Ativa CalcMatElem(el, ... , MatEl)
Ativa CalcTermoIndElem(el, ... , TermoIndEl)
23--[Varia jpto = 0, (NptoElem[el] -1
jptoGlob = Nop[el] [jpto]
24--[Varia ig = 0, (NumGLporNo-1)
igrauGlob = LigaInvGL[jptoGlob][ig]
MatDiag[igrauGlob]
MatDiag[igrauGlob]+
MatEl[jpto] [ig] [jpto] [ig]
TermoIndep[igrauGlob]
TermoIndep[igrauGlob]+1
TermoIndEl[jpto] [ig]
25--[Varia Kpto = 0, (NptoElem[el]-1)
KptoGlob = Nop[el] [Kpto]
26--[Varia jg=0, (NelemGLporNo -1)
jgrauGlob = LigaInvGL[KptoGlob] [jg]

27--[Se jgrauGlob . igrauGlob. Faa


28--[Varia iaux=0, (NcolNaoZeroDirDiag[igrauGlob]-1)
29--[Se ApontadorDirCol[igrauGlob] [iaux]=jgrauGlob. Faa
V para 30
Fim do teste 29
Fim da variao 28
30--[MatDirCol[igrauGlob] [iaux]
MatDirCol[igrauGlob][iaux]+
MatEl[jpto][ig][kpto][jp]
31--[Varia iaux = 0, (NlinDepAbaixoDiag[igrauGlob]-1)
32--[Se ApontadorAbaixoLin[igrauGlob][iaux]=jgrauGlob. Faa
V para 33
Fim do teste 32
Fim da variao 31
33--[MatAbaixoLin[igrauGlob] [iaux]
MatAbaixoLin[igrauGlob] [iaux]+
MatEl[kpto] [jg] [jpto] [ig]
Fim do teste 27
Fim da variao 26
Fim da variao 25
Fim da variao 24
Fim da variao 23
Fim da variao 22

Integrao Numrica

Integrao de Gauss

1

1
2

2
2

1
2

2
2

2
1

3
3

0.774596669241483

0.55 56 15

0.0

0.88 89 15

0.774596669241483

4 . . .
.
.
.
.
,,

N pontos de Gauss, integram exatamente um polinmio de grau 2

mapeamento direto
,,

1, ,

Mapeamento inverso

,,

det

0 para todo

ento o mapeamento direto inversvel.

| |

,
,

0

0

|det |

1
2

1, 1

1, 1
reas

)=( ,

Coordenadas reas
A012 = rea do tringulo 012
A01P = rea do tringulo 01P
A12P = rea do tringulo 12P
A20P = rea do tringulo 20P

L0, L1,L2 )

L0, L1,L2 ;

L ,

|det |

|det |

det

1
,

Anda mungkin juga menyukai