35
Elementos Finitos Tatiana Leone da Cunha Lara Alves de Oliveira Soares Orientadores: Eduardo Gomes Dutra do Carmo Webe João Mansur

Elementos Finitos

Embed Size (px)

DESCRIPTION

Aprenda MEF

Citation preview

  • Elementos Finitos

    Tatiana Leone da Cunha Lara Alves de Oliveira Soares

    Orientadores: Eduardo Gomes Dutra do Carmo Webe Joo Mansur

  • 1 1

    , ,

    2

    2 ;

    2

    2

    2

    2

    2

    1

  • coord[0], ., coord[15]

    Nop[0][0] = 0

    Nop[0][1] = 1

    Nop[0][2] = 8

    (do global para o local)

    Nop[2][0] = 2

    Nop[2][1] = 3

    Nop[2][2] = 10

    Nop[2][3] = 11

    20 2

    21 3

    1 1

    Polinmio de Lagrange nas coordenadas locais () ou naturais

    Grau N

    1 1

    Linear

    Grau 1

    Quadrtico

    Grau 2

    Cbico

    Grau 3

    ........

  • , , . , , 2, . ,

    1; 1;2

    11 1 1

    N 1 = intervalos

    1 1 2 1

    1 1 2 1 3 1 . . . 1 1

    .

    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

  • 0 0

    1

    .

    .

    . . . .

    ,,,

    ,,

    1

    , : , ,

    , : , , ||

    1

    , ; ,

    ;

    2. .

    2 .

  • 2

    2, , 0

    2

    0

    2 0

    2 2

    1 2

    2.

    2

    ,

    Definio: Duas funes em , so ditas iguais quase em toda parte, ou

    equivalentes, ou indistinguveis, se e somente se: 0

    ,

    /

    1

    i. , 0

    ii. , ,

    iii. , 0

    iv.

    , , ,

    | | || ||

    | |

  • 0

    0

    ,,,

    , ; e,

    ,

    | |

    Problema

    Encontrar e ,,, que melhor aproxima na distncia , dada pela

    equao 1.

    ,

    resduo

    , ,

  • (L = 9)

    Nop [7][0] = 7

    Nop [7][1] = 8

    ,

    /

    ,

    /

    ;

    ,

  • 0, , 2

    Minimizando , obtm-se:

    0, , 1

    0, , 1

    ,

    0

    1

    1

    2

    0

    1 2

    Equao para 1, 2

    1, , 2

  • Equao para um ponto vrtice interior

    0 1

    11 0

    2 1

    2

    0

    , ,

    , ,

    0

  • 2

    2

    , ,

    2

    2

    , ,

    ,

    0

    ,

    ,

    ,

  • , ,

    , , 0

    0, , 1

    0 0, , 1

    0, , 1

    , 0, , 1

  • 0 00

    0 ,0

    0

    0

    0

    ,

    ,

  • ,

    ,

    , ,

    ,

    ,

    , ,

    0

    0 0

    0

    0

    ,

    ,

    ,

    ,

    ,

    0,

    Soluo prescrita no n 0 no n

    i sendo o n considerado

    ,

    0, , 1 0

    Controle para condies de contorno

    0

  • 1

    2

    3

    0, , 1

    0

    0 0

    0

    0 1

    0 0

    1

    0

  • 0

    0

    1

    1

    0

    ,, , 1

    60 7

    61 10

    602 11

    63 12

  • 5 5 6 0

    2 10

    0

    1 2

    65

    0 /5

    2 10

    0

    65

    0

    10 125 2 10

    125

    25

    65

    5

    65

    0

    65

    0 /10 125

    25/10

    125

    0

    65

    5

  • 65

    0

    0 /10

    125

    25/10

    125

    0 0 1

    6

    5 10 125

    565

    25/10

    125

    65

    0

    0 /10

    125

    25/10

    125

    0 0 1

    1 6

    5 10 125

    565

    25/

    10.125

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

    1--[Varia j=0, NPTO-1

    0

    Fim da variao 1

    0

    Fim da variao 0

  • 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]

    NgrausLiberadeNmero de Incgnitas por n x Nmero de Ns

    2 NLinDepAbaixDiag[NgrausLiberdade]

    ApontadorDirCol[eldiag][elcol]

    eldiag = 0, ... , (NgrausLiberade-1)

    elcol = 0, ... , (NcolNoZeroDirDiag[eldiag]-1)

    Exemplo:

    1 2 0 0 3 0 3 0 0 15 0 0 7 0 0 5 0 . . . 0 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 0 2 0 1

    1 0 2 3 4

    0 0 13 0 0 5 7

    0 0 0 14 0 1 0

    0 0 0 0 15 1 1 0

    0 0 0 1 0 16 0 1

    0 0 0 0 0 0

    0 0 0 2 0 0

    0 0 0 0 0 0

    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 nso 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

    1 1

    1 1 1

    2 2

    1 2

    2

    2

    2

    2

    2

    2

    2

    1 1

    1 0 1

    2 1 3 1

    1 3 1

  • 3 0.774596669241483 0.555615

    0.0 0.888915

    0.774596669241483

    4 . . .

    .

    .

    .

    .

    , ,

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

    2

    2

    2

    2

    mapeamento direto

    , , ; 1, ,

  • ~

    Mapeamento inverso

    , ,

    det ~ 0 para todo ento o mapeamento direto inversvel.

    :

    *

    || , 0, 0

    |det |

    1 2

    1, 11, 1

    reas

    , , ) = (,

    Coordenadas reas

    A012 = rea do tringulo 012

    A01P = rea do tringulo 01P

    A12P = rea do tringulo 12P

    A20P = rea do tringulo 20P

  • 1 1

    )2L,1L ,0L

    , ,L ;2L,1L ,0L

    .

  • 1 1

    1 1

    , *

    , *

  • , |det |

    , |det |

    , det

    ,

    1 1

    1 1

    ,

    0 ,

    1 ,