Você está na página 1de 371

Antonio Joaquim Mendes Ferreira

ELEMENTOS FINITOS em
MATLAB
5 de Novembro de 2007

Pref
acio

Este texto tem por objectivo fornecer os conhecimentos basicos sobre a teoria
de elementos finitos e a sua implementacao em programas MATLAB. Este
texto compreende as seguintes materias:

sistemas discretos
formulac
ao variacional e metodo dos resduos pesados
formulac
ao b
asica pelo metodo dos elementos finitos
formulac
ao de v
arios elementos (barras, vigas, placas, etc)
programac
ao MATLAB
ilustrac
ao de alguns temas atraves de programas MATLAB

Este texto segue uma vis


ao de engenharia, ou seja, apresenta apenas os conceitos matem
aticos mnimos para poder estabelecer os programas de calculo
e poder estudar alguns exemplos praticos.
Os c
odigos MATLAB que aqui se incluem podem ser obtidos gratuitamente
do autor, bastando para isso um pedido por email para: ferreira@fe.up.pt
Estes c
odigos foram elaborados pelo autor, `a excepcao de algumas rotinas
de gerac
ao de malha e visualizacao de resultados que podem ser encontradas
na internet gratuitamente.

Dedicat
oria

` minha esposa e `
A
a minha filha.

Conte
udo

Sistemas discretos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.1 Introduc
ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2 Alguns conceitos basicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3 Elementos de mola e barra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.4 Equilibrio nos n
os . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.5 Etapas b
asicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.6 Problema de molas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.7 C
odigo MATLAB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.7.1 Passos de programacao . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.8 Condic
oes fronteira . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.8.1 Metodo da penalidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.9 Programac
ao alternativa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

13
13
14
14
15
16
16
19
19
23
25
26

Introdu
c
ao ao m
etodo dos elementos finitos . . . . . . . . . . . . . . . .
2.1 Sistema contnuos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2 Formulac
ao diferencial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3 Formulac
ao variacional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4 Obtenc
ao de equacoes diferenciais a partir de funcionais . . . . . .
2.5 Metodos de resduos pesados e metodo de Ritz . . . . . . . . . . . . . .
2.5.1 Metodo de Galerkin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5.2 Metodo de mnimos quadrados . . . . . . . . . . . . . . . . . . . . . .
2.5.3 Metodo de colocacao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5.4 Metodo de sub-domnios . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5.5 Metodo de Ritz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.6 Formulac
ao pelo metodo dos deslocamentos . . . . . . . . . . . . . . . . .
2.7 Formulac
ao geral das equacoes de equilbrio . . . . . . . . . . . . . . . . .
2.8 Princpio dos trabalhos virtuais . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.9 Equac
oes de elementos finitos . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

31
31
31
33
34
40
42
42
42
43
45
47
48
50
52

Conte
udo

Elementos finitos isoparam


etricos e elementos de barra . . . .
3.1 Introduc
ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2 Elemento de barra de 2 nos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3 PTV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.4 Func
oes de forma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.5 Integrac
ao numerica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.6 C
odigo para problema de barra . . . . . . . . . . . . . . . . . . . . . . . . . . . .

59
59
59
61
62
64
66

An
alise de barras inclinadas (treli
cas) . . . . . . . . . . . . . . . . . . . . .
4.1 Introduc
ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2 Trelicas no plano . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3 Matriz de rigidez . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.4 C
alculo de tens
oes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.5 Problema de trelica plana . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.6 Outro problema de trelica bidimensional . . . . . . . . . . . . . . . . . . . .
4.7 Exemplo de trelica com mola . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.8 Trelicas tridimensionais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.8.1 Exemplo de tipo trelica 3D . . . . . . . . . . . . . . . . . . . . . . . . .
4.9 Resultados do exemplo de trelica 3D . . . . . . . . . . . . . . . . . . . . . . .

71
71
72
73
74
74
77
85
87
88
90

Vigas de Bernoulli e p
orticos planos . . . . . . . . . . . . . . . . . . . . . . . 91
5.1 Introduc
ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
5.2 Formulac
ao de viga de Bernoulli . . . . . . . . . . . . . . . . . . . . . . . . . . 91
5.3 Formulac
ao de elementos finitos . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
5.4 Vector de carga equivalente a carga distribuida . . . . . . . . . . . . . . 95
5.5 Exemplo de viga em flexao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
5.6 P
ortico plano . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
5.7 Exemplo de p
ortico plano . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
5.8 Programa para exemplo de portico plano . . . . . . . . . . . . . . . . . . . 102
5.9 P
ortico plano inclinado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103

An
alise de p
orticos tridimensionais . . . . . . . . . . . . . . . . . . . . . . . . 107
6.1 Introduc
ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
6.2 Matriz de rigidez e vector de forcas . . . . . . . . . . . . . . . . . . . . . . . . 108
6.3 Exemplo 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
6.4 Exemplo 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114

An
alise de grelhas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
7.1 Introduc
ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
7.2 Exemplo 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
7.3 Exemplo 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126

Conte
udo

Formula
c
ao de elementos de viga Timoshenko . . . . . . . . . . . . . 131
8.1 Introduc
ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
8.2 Campo de deslocamentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
8.3 Campo de deformacoes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
8.4 Campo de tens
oes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
8.5 Equac
oes de equilbrio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
8.6 Elementos isoparametricos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
8.7 Programa MATLAB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133

Estado plano de tens


ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
9.1 Introduc
ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
9.2 Vari
aveis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
9.3 Condic
oes fronteira . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
9.4 Energia potencial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
9.5 Equac
oes de elementos finitos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
9.6 Interpolac
ao de deslocamentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
9.7 Energia no elemento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
9.8 Equac
oes para rigidez e forca . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
9.9 Elementos quadril
ateros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
9.10 Integrac
ao numerica em duas dimensoes . . . . . . . . . . . . . . . . . . . . 148
9.10.1 Elementos triangulares (formados por colapso de
elementos quadrilateros . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
9.10.2 Elementos triangulares baseados em coordenadas de
area . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151

9.11 Problema: placa em traccao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153

10 Placas de Kirchhoff . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159


10.1 Introduc
ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
10.2 Teoria de placas de Kirchhoff . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
10.2.1 Campo de deslocamentos, deformacoes e tensoes . . . . . . . 159
10.2.2 Principio dos trabalhos virtuais . . . . . . . . . . . . . . . . . . . . . 161
10.3 Elementos finitos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
10.3.1 Elemento rectangular nao conforme MCZ . . . . . . . . . . . . . 161
10.3.2 Elemento rectangular conforme BFS . . . . . . . . . . . . . . . . . 167
10.3.3 Elemento triangular BCIZ . . . . . . . . . . . . . . . . . . . . . . . . . . 175
10.4 Constric
oes de Kirchhoff . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
11 Elementos finitos de placa de Mindlin . . . . . . . . . . . . . . . . . . . . . 183
11.1 Introduc
ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
11.2 Teoria de placa de Mindlin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
11.2.1 Campo de deslocamentos . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
11.2.2 Campo de deformacoes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
11.2.3 Campo de tensoes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
11.3 Elementos finitos de placa espessa . . . . . . . . . . . . . . . . . . . . . . . . . 186
11.4 Exemplo de placa quadrada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187

10

Conte
udo

11.5
11.6
11.7
11.8
11.9

Melhoramentos ao corte transverso . . . . . . . . . . . . . . . . . . . . . . . . 192


Elemento Q4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
Exemplo de placa com elemento Q4 . . . . . . . . . . . . . . . . . . . . . . 194
Elemento DKT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
Exemplo de placa com elemento DKT . . . . . . . . . . . . . . . . . . . . . . 203

12 Teorias de placa de ordem superior . . . . . . . . . . . . . . . . . . . . . . . . 211


12.1 Introduc
ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
12.1.1 Campo de deslocamentos . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
12.1.2 Campo de deformacoes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
12.2 Matriz de rigidez . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
12.3 Matrizes de deformacao-deslocamento B . . . . . . . . . . . . . . . . . . . . 215
12.4 Exemplo de placa quadrada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
13 Uma teoria layerwise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
13.1 Introduc
ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
13.2 Laminado sandwich com 3 camadas . . . . . . . . . . . . . . . . . . . . . . . . 227
14 Teoria de placa de primeira ordem para laminados . . . . . . . . . 239
14.1 Introduc
ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
14.1.1 Campo de deslocamentos . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
14.1.2 Campo de deformacoes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
14.2 Matriz de rigidez . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
14.3 Matrizes de deformacao-deslocamento B . . . . . . . . . . . . . . . . . . . . 243
14.4 Laminado sandwich com 3 camadas . . . . . . . . . . . . . . . . . . . . . . . . 244
15 An
alise de s
olidos tridimensionais . . . . . . . . . . . . . . . . . . . . . . . . . . 257
15.1 Introduc
ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
15.2 Campo de deslocamentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
15.3 Campo de deformacoes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
15.4 Campo de tens
oes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
15.5 Elemento tetraedrico de 4 nos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
15.5.1 Matriz de rigidez . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
15.5.2 Vector de forca equivalente . . . . . . . . . . . . . . . . . . . . . . . . . 262
15.5.3 C
alculo de tensoes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
15.6 Elemento hexaedrico lagrangiano recto de 8 nos . . . . . . . . . . . . . 262
15.6.1 Matriz de rigidez . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
15.7 Exemplo: Barra em traccao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
15.8 Programa para analisar barra 3D em traccao . . . . . . . . . . . . . . . . 264
16 An
alise de cascas com elementos planos . . . . . . . . . . . . . . . . . . . . 269
16.1 Introduc
ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
16.2 Graus de liberdade locais e globais . . . . . . . . . . . . . . . . . . . . . . . . . 270
16.3 C
odigo para soluc
ao de problema de casca plana . . . . . . . . . . . . . 271

Conte
udo

11

17 An
alise de vibra
c
oes livres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
17.1 Introduc
ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
17.2 Equac
oes de movimento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
17.3 Elemento de barra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
17.4 Programa MATLAB para barra encastrada . . . . . . . . . . . . . . . . . 286
17.5 Viga de Euler-Bernoulli . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
17.6 C
odigo MATLAB para vibracoes livres de vigas finas . . . . . . . . 292
17.7 Vibrac
oes livres de vigas Timoshenko . . . . . . . . . . . . . . . . . . . . . . 293
17.8 C
odigo MATLAB para vibracoes de vigas Timoshenko . . . . . . . 295
17.9 Exemplo de Lee e Schultz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
17.10Vibrac
oes livres de placas Mindlin . . . . . . . . . . . . . . . . . . . . . . . . . 304
17.11Exemplo de vibracoes livres de placa . . . . . . . . . . . . . . . . . . . . . . . 307
17.12C
odigo MATLAB para exemplo de placa . . . . . . . . . . . . . . . . . . . 311
17.13Elemento Q4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320
17.14Elemento DKT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324
17.15Listagem do gerador de malhas rectangulares . . . . . . . . . . . . . . . 328
A

Conceitos b
asicos de MATLAB . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
A.1 Introduc
ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
A.2 Matrizes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
A.3 Operac
oes com matrizes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333
A.4 Express
oes e vari
aveis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334
A.5 Func
oes de construcao de matrizes . . . . . . . . . . . . . . . . . . . . . . . . . 335
A.5.1 For/End . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337
A.6 Func
oes escalares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341
A.7 Func
oes vectoriais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341
A.8 Func
oes de matrizes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341
A.9 Submatrizes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343
A.10 M-files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344
A.11 Formato de sada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
A.12 Gr
aficos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346
A.13 Matrizes esparsas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355
A.14 Referencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356

Refer
encias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363

Indice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369

1
Sistemas discretos

1.1 Introduc
ao
Hoje em dia, o metodo dos elementos finitos e uma realidade cada vez mais
presente em aplicac
oes industriais e na analise de engenharia em geral. O
metodo dos elementos finitos e utilizado na analise de solidos e estruturas,
bem como na mec
anica de fluidos e transferencia de calor.
O metodo dos elementos finitos teve um grande impacto apos o aparecimento dos computadores que permitiram a solucao rapida e eficiente de
sistemas de equac
oes algebricas resultantes da aplicacao do metodo a um determinado problema de engenharia.
A origem do metodo dos elementos finitos remonta aos anos 50 e 60, com
os trabalhos de Courant [1], Argyris [6] e Clough [7]. Aparentemente, o termo
elemento finito foi introduzido por Clough [7]. As contribuicoes iniciais de
Zienkiewicz e Cheung [8] e Argyris [6] sao consideradas muito significativas
para o desenvolvimento do metodo. Apos os anos 60, tem-se verificado uma
crescente atenc
ao para este metodo, resultando num n
umero muito elevado
de publicac
oes. Registe-se alguns livros de referencia obrigatoria: Reddy [100],
Onate [4], Zienkiewicz e Taylor [9], Hughes [122], Hinton [5], entre outros. No
captulo final, apresenta-se uma lista de livros que os leitores devem consultar
sobre o metodo dos elementos finitos, em particular aqueles que possuem
alguma programac
ao.
O metodo dos elementos finitos representa uma aproximacao dum modelo matem
atico que representa o mais fielmente possvel o problema fsico.
Registe-se que o metodo n
ao pode fornecer mais informacao que aquela que e
fornecida pelo modelo matematico.
Neste captulo pretende-se ilustrar alguns conceitos basicos, atraves da
soluc
ao de elementos discretos, com molas, tipicamente.

14

1 Sistemas discretos

1.2 Alguns conceitos b


asicos
Para analisar um determinado problema fsico ou de engenharia, ha que idealizar um sistema eventualmente com solucao, a formulacao do modelo matem
atico e a sua soluc
ao, bem como a interpretacao dos resultados obtidos.
Alguns metodos cl
assicos para modelos matematicos sao baseados em sistemas discretos e sistemas contnuos. Num modelo contnuo a resposta e baseada em equac
oes diferenciais. Num modelo discreto, a resposta do sistema
baseia-se numa soluc
ao com um n
umero finito de variaveis.
A soluc
ao exacta das equacoes diferenciais satisfazendo todas as condicoes
fronteira e possvel apenas para um n
umero muito limitado de modelos matem
aticos, sendo habitualmente necessario o recurso a metodos numericos para
a soluc
ao destas equac
oes. Em geral, os metodos numericos reduzem o problema contnuo num problema discreto que pode entao resolver-se na forma
dum sistema de equac
oes algebricas.
Pretende-se resolver matematicamente um sistema, pressupondo que este
pode ser descrito por um n
umero finito de variaveis, tendo em conta as seguintes etapas:
1. idealizac
ao do sistema enquanto contribuicao de varios elementos
2. estabelecimento de equilbrio em cada elemento em termos das variaveis
de interesse
3. contabilizac
ao da contribuicao de todos os elementos, tendo em conta as
ligac
oes entre elementos para as variaveis do problema
4. c
alculo da resposta, tendo em conta a solucao do sistema de equacoes
obtendo-se as vari
aveis do problema. Podem obter-se outras informacoes,
para alem destas vari
aveis, para cada elemento.

1.3 Elementos de mola e barra


Considere-se para cada elemento de mola de 2 nos, dois graus de liberdade,
(e)
(e)
(e)
(e)
correspondentes a 2 deslocamentos u1 , u2 e duas forcas nodais R1 , R2
(ver figura 1.1). Para se calcular as relacoes forca-deslocamento, faz-se uso
dum elemento de barra de comprimento L, sujeito unicamente a forcas axiais,
com secc
ao constante A e modulo de elasticidade E.
(e)

u1

(e)

(e)
1

u2
2

(e)

R1

(e)

R2
L(e)

Figura 1.1. Elemento finito de 2 n


os (barra ou mola)

1.4 Equilibrio nos n


os

15

A deformac
ao da barra e dada por
=

u2 u1
L(e)

(1.1)

enquanto que a tens


ao (obtida pela lei de Hooke) e definida por
= E (e)  = E (e)

u2 u1
L(e)

(1.2)

O esforco axial e ent


ao calculado por integracao atraves da espessura das
tens
oes, sendo igual a
N = A(e) = (EA)(e)

u2 u1
L(e)

(1.3)
(e)

(e)

Tendo em conta o equilibrio de forcas axiais R1 e R2 , na forma


(e)

(e)

(e)

(e)

R2 = R1 = N = (EA)(e)

u2 u1
L(e)

(1.4)

ou
(e)

(e)

R2 = R1 = N = k (e) (u2 u1 )
(onde k (e) =

EA
L ),

(
q (e) =

podemos entao rearranjar as relacoes na forma


)
 ( (e) )

(e)
u1
R1
1
1
= k (e)
= K(e) a(e)
(e)
(e)
1
1
u2
R2

(1.5)

(1.6)

onde K(e) representa a matriz de rigidez do elemento de barra (ou mola),


a o vector de deslocamentos e q(e) o vector de forcas nodais.
Caso existam forcas distribuidas aplicada sobre a barra, torna-se necessario
transformar essas forcas em forcas equivalentes nos nos, obtendo-se entao
(e)

(e)

=k

(e)

1 1
1 1

(

(e)

u1
(e)
u2

(bl)(e)

 
1
= K(e) a(e) f (e)
1

(1.7)

sendo f (e) o vector de forcas nodais equivalentes `as forcas distribuidas b.

1.4 Equilibrio nos n


os
A relac
ao forca-deslocamento anterior diz apenas respeito a um elemento. No
entanto, quando queremos resolver uma estrutura temos de agrupar todos
os elementos, formando um sistema global ou estrutural. Para isso, convem
lembrar a lei de equilibrio em cada no, ou seja a soma das forcas num dado
n
o, relativas `
as diferentes barras, e igual `
a forca exterior aplicada nesse n
o,
ou

16

1 Sistemas discretos
ne
X

(e)

R(e) = Rj

(1.8)

e=1

(onde ne representa o n
umero de elementos da estrutura), obtendo-se entao
uma equac
ao matricial de equilibrio global, contando com todas as contribuic
oes dos elementos (espalhada de forma consistente com a numeracao dos
graus de liberdade)


K11 K12 . . . K1n

f1

u1
K21 K22 . . . K2n

f2

u2

=
..
..
..
..
..
.
.
.
.




fn
un
Kn1 Kn2 . . . Knn
ou ainda, de forma mais compacta
Ka = f

(1.9)

1.5 Etapas b
asicas
Em qualquer problema de elementos finitos, as seguintes etapas devem ser
tidas em conta:

definic
ao duma malha de elementos discretos (barras) ligadas entre si nos
n
os
definic
ao das matrizes de rigidez K(e) e de for
cas nodais equivalentes
(e)
f de cada elemento do sistema
assemblagem das contribuicoes de cada elemento no sistema global Ka =
f
impor condi
c
oes fronteira em termos de deslocamentos (condi
c
oes
fronteira essenciais)
calcular os deslocamentos nodais a
a partir dos valores das incognitas nos nos, calcular deforma
c
oes e
tens
oes

1.6 Problema de molas


Considere-se agora um problema de barras, para o qual se pretende estabelecer
uma soluc
ao por elementos finitos e o respectivo primeiro codigo MATLAB.
Condidere-se a figura 1.2 onde se estabelece que o movimento do no 2 e o
mesmo, qualquer que seja o elemento de mola considerado, dado que a barra
que liga as tres molas e suposta ser uma barra rigida. Assim, o nosso primeiro
problema considera 3 elementos finitos e 4 nos, sendo que tres destes estao
encastrados, logo os seus deslocamentos (globais) sao u1 = u3 = u4 = 0.

1.6 Problema de molas

17

k2
3
2

k1

2
P

2
k3

4
2

Barra rigida

Figura 1.2. Problema de molas

Para cada uma das molas, pode escrever-se o equilibrio (local), na forma
Mola 1:
(
)

 ( (1) )
(1)
1 1
u1
R1
(1)
=k
(1)
(1)
1 1
u2
R2
Mola 2:

Mola 3:

(2)

R1
(2)
R2
(3)

R1
(3)
R2

)
=k

(2)

)
= k (3)

(2)

(3)

1 1
1 1

(

u1
(2)
u2

1 1
1 1

(

u1
(3)
u2

Pode ainda impor-se a relacao entre os deslocamentos no sistema local


ou do elemento e no sistema global ou da estrutura, na forma (Condicoes de
compatibilidade):
(1)

(2)

(1)

(2)

(3)

(3)

u1 = u1 ; u2 = u2 ; u1 = u2 ; u2 = u3 ; u1 = u2 ; u2 = u4

(1.10)

Tendo em conta o equilibrio de forcas nos nos 1 a 4, podemos escrever:


N
o 1:

3
X

(1)

R(e) = F1 R1 = F1

(1.11)

e=1

N
o 2:

3
X

(1)

(2)

(3)

R(e) = P R2 + R1 + R1 = P

(1.12)

e=1

N
o 3:

3
X
e=1

(3)

R(e) = F3 R2 = F3

(1.13)

18

1 Sistemas discretos

N
o 4:

3
X

(4)

R(e) = F4 R2 = F4

(1.14)

e=1

Encontrando assim a equacao global de equilibrio estatico na forma


k1
k1
0
0

F1

u1
k1 k1 + k2 + k3 k2 k3 u2 P

(1.15)
=
0
k2
k2 0
F3
u3




F4
0
k3
0 k3
u4
Note-se que sabendo u1 = u3 = u4 = 0, tambem se poderia ter escrito de
imediato as condic
oes fronteira na forma


k1
k1
0
0

0

F1
k1 k1 + k2 + k3 k2 k3 u2 P

(1.16)
=
0
k2
k2 0
0
F3




F4
0
k3
0 k3
0
Note-se tambem que as forcas F1 , F3 , F4 sao as reaccoes dos apoios sobre
a estrutura, n
ao sendo possvel calcula-los nesta fase, apenas depois de serem
conhecidos os deslocamentos globais. Tendo em conta o conhecimento de u1 =
u3 = u4 = 0, podemos eliminar as linhas e colunas respectivas e reduzir o
sistema de equac
oes global a apenas uma equacao
(k1 + k2 + k3 )u2 = P
obtendo-se depois as reacc
oes na forma
k1 u2 = F1 ;

k2 u2 = F3 ;

k3 u2 = F4

Note-se que a matriz de rigidez foi calculada tendo em conta a contribuicao


de cada elemento nas linhas e colunas correspondentes aos graus de liberdade
respectivos. Por exemplo, para o elemento 1, obtem-se

k1 k1 0 0
k1 k1 0 0

K (1) =
(1.17)
0
0 0 0
0
0 00
associado aos seus graus de liberdade globais (1 e 2), enquanto que para o
elemento tres, com graus de liberdade globais (2 e 4), se obtem como 1

0 0 0 0
0 k3 0 k3

K (3) =
(1.18)
0 0 0 0
0 k3 0 k3
1

Note-se o posicionamento da matriz de rigidez (2 2) do elemento, na matriz de


rigidez (4 4) da estrutura. Por exemplo, K (3) e posicionada nas linhas e colunas
2 e 4.

1.7 C
odigo MATLAB

19

1.7 C
odigo MATLAB
Para resolver o problema ilustrado na figura 1.2, apresenta-se um primeiro
programa MATLAB (LivroMola1.m) e a sua descricao. Muitos dos conceitos
aqui apresentados em termos de programacao sao usados em diferentes problemas. Para resolver este problema, considera-se que a forca exterior aplicada
e P = 10 e que todas as molas possuem a mesma rigidez, ou seja, k = 1.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27

clear all
element=[1 2;2 3;2 4];
numelem=size(element,1);
numnode=4;
U=zeros(numnode,1);
f=zeros(numnode,1);
K=zeros(numnode,numnode); % podia ser sparse
f(2)=10.0;
for e=1:numelem ;
index=element(e,:) ;
k=[1 -1;-1 1];
K(index,index)=K(index,index)+k;
end
% Condicoes fronteira e solucao
dofs=[1;3;4];
% nos livres: activos
activos=setdiff([1:numnode],[dofs]);
U=K(activos,activos)\f(activos);U1=zeros(numnode,1);U1(activos)=U;
% displacements
disp(Deslocamentos)
U=U1; jj=1:4; format
[jj U]
% reactions
F=K*U;
reaccoes=F(dofs);
disp(reaccoes)
[dofs reaccoes]

1.7.1 Passos de programa


c
ao
Comeca-se por apagar toda a memoria, fazendo
clear all
Em seguida definem-se os nos para cada elemento, na matriz element, ou
seja
element=[1 2;2 3;2 4];
Note-se que a primeira linha da matriz element, esta representada por 1 e 2,
ou seja os n
os associados ao elemento 1 e assim sucessivamente linha a linha.

20

1 Sistemas discretos

O n
umero de linhas desta matriz corresponde ao n
umero total de elementos
do sistema, pelo que a instrucao MATLAB seguinte permite determinar o
n
umero total de elementos
numelem=size(element,1);
O n
umero de n
os e aqui fixo em 4, na instrucao
numnode=4;
Tendo em conta que o n
umero de nos corresponde (apenas aqui2 ) ao
n
umero de graus de liberdade, o problema global e definido pelo n
umero de
n
os. Devemos ent
ao anular as matrizes globais, por forma a resolver o sistema
mais tarde. Note-se que a matriz de rigidez e definida por n n onde n e
o n
umero de graus de liberdade. Esta matriz e simetrica e esparsa, pelo que
podiamos usar sparse em vez de zeros,
U=zeros(numnode,1);
f=zeros(numnode,1);
K=zeros(numnode,numnode);
O comando zeros permite colocar uma matriz de uma dada dimensao com
os seus elementos todos nulos, o que vai ser particularmente importante para
a matriz de rigidez tendo em conta que ela e formada pela somade contribuic
oes de v
arios elementos. A este processo tambem se chama inicializacao
das matrizes.
O vector de forcas nodais esta ja todo formado por zeros, pelo que se pode
agora colocar a forca P = 10 no grau de liberdade 2,
f(2)=10.0;
Executamos agora o c
alculo da matriz de rigidez, elemento a elemento,
percorrendo um ciclo FOR/END
for e=1:numelem ;
index=element(e,:) ;
k=[1 -1;-1 1];
K(index,index)=K(index,index)+k;
end
Na primeira linha, executamos o ciclo para todos os elementos, em seguida
identificamos quais os n
os que pertencem ao elemento e, na instrucao
index=element(e,:) ;
2

Note-se que cada n


o tem aqui apenas 1 grau de liberdade, pelo que h
a uma
identificac
ao do n
umero de n
os com o n
umero de graus de liberdade, o que n
ao
acontecer
a com outros problemas mais adiante

1.7 C
odigo MATLAB

21

Para o elemento 1, index=[1,2], para o elemento 2, index=[2 3], etc. Em


seguida calculamos a matriz de rigidez para elemento, que neste caso e constante


1 1
(e)
k =
(1.19)
1 1
Colocamos ent
ao esta matriz 2 2, nas linhas e colunas respeitantes aos
graus de liberdade associados ao elemento e , ou seja, nas linhas e colunas
identificadas por index .
Isso consegue-se nas duas linhas de codigo seguintes
k=[1 -1;-1 1];
K(index,index)=K(index,index)+k;
Note-se que esta codificacao permite fazer, de forma bastante compacta,
a assemblagemou espalhamentoda matriz de rigidez. Claro que seria
possvel compactar ainda mais, por exemplo, com
for e=1:numelem ;
K(element(e,:),element(e,:))=K(element(e,:),element(e,:))+ ...
[1 -1;-1 1];
end
Estando j
a definida a matriz de rigidez do sistema e o seu vector de forcas
(segundo membro), estamos em condicoes de alterar o sistema de equacoes
(ainda impossivel de calcular, porque a matriz de rigidez e ainda singular)
por introduc
ao das condi
co
es fronteira. Tendo em conta que as condicoes
fronteira s
ao homogeneas (do tipo u3 = 0), podemos anular as linhas e as
colunas correspondentes aos graus de liberdade que estao prescritos como nulos (apoios). Note-se que esta tecnica de imposicao de condicoes fronteira nao
e universal, estando limitada a condicoes fronteira homogeneas. Iremos falar
mais adiante doutras tecnicas mais gerais para imposicao geral de condicoes
fronteira. Lista-se ent
ao a parte do codigo correspondente `a aplicacao de
condic
oes fronteira e soluc
ao do sistema de equacoes.
dofs=[1;3;4];
% nos livres: activos
activos=setdiff([1:numnode],[dofs]);
U=K(activos,activos)\f(activos);U1=zeros(numnode,1);U1(activos)=U;
Na primeira linha desta parte do codigo definem-se os graus de liberdade
a fixar como sendo os graus 1, 3 e 4, na matriz dofs .
Em seguida definem-se os graus de liberdade activos (nao prescritos) que
ser
ao definidos pela diferenca ( setdiff ) entre o vector total de graus de
liberdade (neste caso com 4 entradas) e o vector de graus de liberdade prescritos. Neste caso activos e igual a 2, o u
nico grau de liberdade prescrito. Na
u
ltima linha calcula-se o sistema de equacoes KU=f, fazendo apenas U=K\f ,
mas apenas para os graus de liberdade activos, ou seja,

22

1 Sistemas discretos

U=K(activos,activos)\f(activos)
Esta parte do c
odigo permite apenas calcular u2 , pelo que deveremos apresentar os resultados considerando tambem os valores nulos, fazendo uso de
vectores auxiliares, na forma
U=K(activos,activos)\f(activos);U1=zeros(numnode,1);U1(activos)=U;
O vector U1 e agora um vector de 4 posicoes com toda a solucao, incluindo os valores prescritos.
Podemos agora calcular novamente todo o vector de segundo membro,
j
a que temos o vector solucao, fazendo F=K.U. Como so temos interesse nas
reacc
oes nos apoios usamos antes
F=K*U;
reaccoes=F(dofs);
ou seja usamos apenas a parte do vector F que contem as posicoes dos
valores prescritos, porque e nesses nos que se obtem as reaccoes.
As restantes instrucc
oes do codigo servem apenas para apresentar resultados, como se pode verificar no command window, onde se pediu a informac
ao sobre a matriz de rigidez, do vector de forcas e se obteve tambem o
vector de deslocamentos e o vector de reaccoes.
K =
1
-1
0
0

-1
3
-1
-1

0
-1
1
0

>> f
f =
0
10
0
0
Deslocamentos
ans =
1.0000
2.0000
3.0000
4.0000

0
3.3333
0
0

0
-1
0
1

1.8 Condic
oes fronteira

23

reaccoes
ans =
1.0000
3.0000
4.0000

-3.3333
-3.3333
-3.3333

1.8 Condic
oes fronteira
Nos scripts anteriores, as condicoes fronteira (homogeneas) foram aplicadas
de forma simples, pela eliminacao das linhas e colunas associadas aos graus de
liberdade prescritos (onde o deslocamento prescrito e nulo). No entanto, em
muitos casos, poder
a haver necessidade de prescrever deslocamentos nao nulos
(condic
oes de fronteira n
ao homogeneas). Nestes casos, teremos de modificar
o sistema de equac
oes, conforme o codigo (LivroMola1OutraBC.m) .
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31

clear all
element=[1 4;1 2;2 3;2 4];
numelem=size(element,1);
numnode=4;
mola=[1;2;3;2];
U=zeros(numnode,1);
f=zeros(numnode,1);
K=zeros(numnode,numnode);
f(1)=50.0;
f(4)=10.0;
for e=1:numelem ;
index=element(e,:) ;
k=[1 -1;-1 1]*mola(e);
K(index,index)=K(index,index)+k;
end
K1=K;
% Condicoes fronteira e solucao
dofs=[3];
%
bcwt=mean(diag(K)); % valor medio de diag(K) para preservar
% bom condicionamentgo da matriz de rigidez
ufixed=zeros(size(dofs));
%
f=f-K(:,dofs)*ufixed;
f(dofs)=ufixed;
K(dofs,:)=0;
K(:,dofs)=0;
K(dofs,dofs)
=bcwt*speye(length(dofs));
U=K\f;
% deslocamentos
disp(Deslocamentos)

24
32
33
34
35
36
37
38

1 Sistemas discretos
jj=1:4; format
[jj U]
% reaccoes
F=K1*U;
reaccoes=F(dofs);
disp(reaccoes)
[dofs reaccoes]

No sistema de equac
oes global, formado por
Ku = f

(1.20)

torna-se necess
ario introduzir as condicoes de fronteira essenciais, dado que
a matriz de coeficientes inicial e singular. Basicamente pretende-se introduzir
as condic
oes
un = u
n

(1.21)

Uma forma simples de colocar estas condicoes essenciais e o de modificar a


linha da matriz correspondente ao grau de liberdade n, na forma
Knm = nm

(1.22)

para todos os m = 1 : N , sendo N a dimensao da matriz de rigidez e modificando tambem o segundo membro na forma
fn = u
n

(1.23)

Infelizmente, esta abordagem destroi a simetria da matriz de rigidez. Uma


forma possvel de obviar este contratempo e o de modificar tambem a coluna
correspondente ao grau de liberdade, fazendo
Kmn = nm

(1.24)

tambem necessario modificar o segundo membro


para todos os m = 1 : N . E
na forma
fm = Kmn u
n
(1.25)
Isto equivale a tomar uma nova equacao, na forma
Kk1 u1 + Kk2 u2 + ... + Kk(n1) un1 + Kk(n+1) un+1 + KkN uN = fk Kkn u
n
(1.26)
Em MATLAB podemos escrever esta formula como
ufixed=zeros(size(dofs));
%
f=f-K(:,dofs)*ufixed;
f(dofs)=ufixed;
K(dofs,:)=0;
K(:,dofs)=0;
K(dofs,dofs)
=bcwt*speye(length(dofs));

1.8 Condic
oes fronteira

25

sendo dofs um vector com os ndices onde d e restringido, ufixed e um


vector com o valor de restricao e bcwt um factor que pretende melhorar o
condicionamento da matriz de rigidez.
A soluc
ao e agora facilmente obtida atraves do comando U = K\f .
Repare-se na simplicidade (sem menosprezo pela eficacia e pela qualidade da
soluc
ao).
As reacc
oes s
ao agora calculadas, enquanto forcas nos nos associados a nos
onde existam restric
oes, na forma
for e=1:numelem ;
index=element(e,:) ;
k=[1 -1;-1 1]*mola(e);
K(index,index)=K(index,index)+k;
end
K1=K;
...
...
% reactions
F=K1*U;
reaccoes=F(dofs);
disp(reaccoes)
[dofs reaccoes]
ou seja usando KU , em que K e a matriz de rigidez original e nao
aquela que e modificada atendendo `as condicoes fronteira. De qualquer
forma s
o se calculm as reaccoes nos nos restringidos, usando o comando
reaccoes=F(dofs);.
1.8.1 M
etodo da penalidade
O metodo da penalidade e um outro metodo possvel para impor condicoes
fronteira. Consiste basicamente na afectacao de um escalar muito grande na
matriz de coeficientes e no segundo membro, para o indice do deslocamento
que queremos impor. Seja por exemplo a imposicao da condicao fronteira,
u2 = u
2 . O sistema de equacoes original, ainda sem imposicao de condicoes
fronteira e descrito por
K11 u1 + K12 u2 + K13 u3 + . . . + K1n un = f1
K21 u1 + K22 u2 + K23 u3 + . . . + K2n un = f2
K31 u1 + K32 u2 + K33 u3 + . . . + K3n un = f3
..
.

(1.27)

Kn1 u1 + Kn2 u2 + Kn3 u3 + . . . + Knn un = fn


No termo 22 da matriz de coeficientes e no segundo membro da segunda
linha, vamos introduzir uma modificacao, por forma a que a equacao resultante
seja (aproximadamente) u2 = u
2 . Assim, obtem-se a equacao

26

1 Sistemas discretos

K11 u1 + K12 u2 + K13 u3 + . . . + K1n un = f1


K21 u1 + (1 + )K22 u2 + K23 u3 + . . . + K2n un = K22 u
2
K31 u1 + K32 u2 + K33 u3 + . . . + K3n un = f3
..
.

(1.28)

Kn1 u1 + Kn2 u2 + Kn3 u3 + . . . + Knn un = fn


Na segunda equac
ao, dado o elevado valor de , na pratica obtemos
K22 u2 = K22 u
2

(1.29)

ou seja, obtemos u2 = u
2 . O codigo seguinte resolve o problema da figura
1.2, pelo metodo da penalidade ( LivroMola1Penalidade.m) .
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28

clear all
element=[1 2;2 3;2 4];
numelem=size(element,1);
numnode=4;
U=zeros(numnode,1);
f=zeros(numnode,1);
K=sparse(numnode,numnode);
f(2)=10.0;
for e=1:numelem ;
index=element(e,:) ;
k=[1 -1;-1 1];
K(index,index)=K(index,index)+k;
end
% Condicoes fronteira e solucao (metodo da penalidade)
dofs=[1;3;4];
K1=K;
K1(dofs,dofs)=K(dofs,dofs)+1e6;
f(dofs)=0;
U=K1\f;
% deslocamentos
disp(Deslocamentos)
jj=1:4; format
[jj U]
% reaccoes
F=K*U;
reaccoes=F(dofs);
disp(reaccoes)
[dofs reaccoes]

1.9 Programac
ao alternativa
Uma forma alternativa e mais conveniente de programar consiste em usar
func
oes e chamar essas funcoes (ou rotinas), sempre que forem necessarias.
o c
odigo torna-se mais legvel e mais modular, sendo ainda mais facilmente

1.9 Programac
ao alternativa

27

expandido. O programa e agora modificado, conforme se indica a seguir ( LivroMola1Alternativo.m). Basta chamar o programa como mola1(penalidade),
para correr este problema com o metodo da penalidade, por exemplo .
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45

function mola1(method)
% problema 1 : molas
% programa principal
% command window: escrever mola1(penalidade), por exemplo
element=[1 2;2 3;2 4];
numelem=size(element,1);
numnode=4;
% vector de forcas
f=zeros(numnode,1);
f(2)=10.0;
% matriz de rigidez
K=zeros(numnode,numnode);
for e=1:numelem ;
k = rigidezMola;
K(element(e,:),element(e,:))=K(element(e,:),element(e,:))+k;
end
% Condicoes fronteira e solucao
dofs=[1;3;4];
% nos livres: activos
U=zeros(numnode,1);
U = BC_solucao(method,dofs,numnode,K,f);
% escrita de resultados
escrita(U,dofs,K);
% end
function k = rigidezMola
% funcao para calcular rigidez de mola
% k : matriz de rigidez
k=[1 -1;-1 1];

function escrita(U,dofs,K)
% funcao escrita de resultados
% K : matriz de rigidez

28
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94

1 Sistemas discretos
% U : vector de deslocamentos
% dofs : vector de graus de liberdade prescritos
% F : vector de reaccoes
% escrita para ecran
% deslocamentos
disp(Deslocamentos)
jj=1:length(U); format
[jj U]
% reaccoes
F=K*U;
reaccoes=F(dofs);
disp(reaccoes)
[dofs reaccoes]
% escrita para ficheiro externo
outFileName = output;
outfid = fopen(outFileName,w);
fprintf(outfid,* Escrita de resultados *\n);
fprintf(outfid,* ------------------------------------------\n);
fprintf(outfid, No
Deslocamentos \n);
for i=1:length(U);
fprintf(outfid,%3.0f %15.14f \n,i,U(i));
end
fprintf(outfid, No
Reaccoes \n);
for i=1:length(dofs);
fprintf(outfid,%3.0f %15.14f \n,i,F(dofs(i)));
end

function U = BC_solucao(method,dofs,ndof,K,f)
% funcao para imposicao de condicoes fronteira
% e solucao do sistema de equacoes por
% metodo 1: supressao de linhas e colunas
% metodo 2: penalidade
% metodo 3: modificacao do sistema
%
%
%
%

k : matriz de
f : vector de
ndof : numero
dofs : vector

switch method

rigidez
forcas
total de graus de liberdade
de graus de liberdade prescritos

1.9 Programac
ao alternativa
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122

case linhas
activos=setdiff([1:ndof],[dofs]);
U=K(activos,activos)\f(activos);
U1=zeros(ndof,1);
U1(activos)=U;
U=U1;
case penalidade
K1=K;
K1(dofs,dofs)=K(dofs,dofs)+1e6;
f(dofs)=0;
U=K1\f;
case usual
bcwt=mean(diag(K)); % valor medio de diag(K) para preservar
% bom condicionamentgo da matriz de rigidez
ufixed=zeros(size(dofs));
f=f-K(:,dofs)*ufixed;
f(dofs)=ufixed;
K(dofs,:)=0;
K(:,dofs)=0;
K(dofs,dofs)=bcwt*speye(length(dofs));
U=K\f;
end

29

2
Introdu
c
ao ao m
etodo dos elementos finitos

2.1 Sistema contnuos


Embora a soluc
ao de problemas contnuos tenha muitas semelhancas com
a dos problemas discretos, aqueles baseiam-se em equacoes diferenciais que
incorporam requisitos de continuidade dos elementos, relacoes constitutivas e
equilbrio de elementos.
As equac
oes diferenciais obtidas desta forma tem de ser definidas em todo
o domnio do corpo (sistema), complementadas por condicoes fronteira e por
condic
oes iniciais, em problemas dinamicos.
Basicamente, podemos gerar as equacoes diferenciais por duas abordagens:
um m
etodo directo e um m
etodo variacional. Note-se que o metodo variacional apresentado pode ser considerado como precursor do m
etodo dos
elementos finitos.

2.2 Formulac
ao diferencial
Nas equac
oes diferenciais estabelecem-se requisitos de equilbrio e de continuidade interelementar. No entanto, estas equacoes diferenciais devem, em
geral, ser complementadas com equacoes que descrevem as condicoes fronteira
e condic
oes iniciais para an
alise dinamica.
Em termos do tipo de equacao diferencial a resolver, considere-se a equacao
diferencial de segunda ordem no domnio x, y

A(x, y)

2u
2u
2u
u u
+ 2B(x, y)
+ C(x, y) 2 = (x, y, u,
,
)
2
x
xy
y
x y

(2.1)

onde u e uma vari


avel desconhecida. Em funcao dos parametros A, B e C,
definem-se as equac
oes diferenciais como:

32

2 Introduc
ao ao metodo dos elementos finitos

< 0 elpticas
B 2 4AC = 0 parabolicas

> 0 hiperbolicas

(2.2)

Exemplos destas equac


oes sao, respectivamente, a equacao de Laplace, a
equac
ao de calor e a equac
ao de onda.
A equac
ao de Laplace tem a forma generica
 2

2
k
+
=0
(2.3)
x2
y 2
onde e, por exemplo, o potencial e k a permeabilidade, em problemas de
movimentos de
agua em solos.
A equac
ao de conduc
ao de calor pode tomar a forma
k

= c
2
x
t

(2.4)

onde representa a temperatura, k a conductividade, a densidade e c a


capacit
ancia por unidade de massa.
A equac
ao de onda pode assumir a forma
s
1 2u
2
E
= 2 2 ,c =
(2.5)
x2
c t

u(x, t)

R0

R(t)
R0

A|x

a) Carregamento

A|x+dx

dx

b) elemento diferencial

Figura 2.1. Barra sujeita a carga s


ubita

onde E representa o m
odulo de elasticidade e a densidade.

2.3 Formulac
ao variacional

33

Considere-se, a ttulo de exemplo, a figura 2.1 , onde se pretende discutir


a equac
ao de onda. Usando o principio dAlembert, podemos estabelecer o
equilbrio de forcas num elemento diferencial tpico, na forma

2u
|x A|x = A 2 |x dx
x
t
A relaca
o constitutiva escreve-se como
A|x + A

(2.6)

u
(2.7)
x
onde E representa o m
odulo de elasticidade, e  sao a tensao e a deformac
ao e u o deslocamento axial, sendo ainda t a variavel tempo. Combinando as equac
oes anteriores, temos entao
= E = E

EA

2u
2u
=
A
x2
t2

(2.8)

ou
2u
1 2u
=
(2.9)
x2
c2 t2
Dado assumir-se que a funcao e contnua, nao sao precisas constricoes para a
continuidade de elementos.
As condic
oes fronteira exprimem-se como
u
(L, t) = R0 ; t > 0
x
enquanto que as condic
oes iniciais se definem como
u(0, t) = 0; EA

(2.10)

u
(x, 0) = 0
(2.11)
t
A formulac
ao fica assim completa com as equacoes (2.9) a (2.11).
Os problemas envolvendo equacoes elpticas sao muitas vezes denominadas
de problemas de fronteira, enquanto que as equacoes parabolicas e hiperbolicas
s
ao chamadas problemas de valores iniciais.
u(x, 0) = 0;

2.3 Formulac
ao variacional
A formulac
ao variacional baseia-se no calculo do potencial total do sistema,
, e do c
alculo da sua variacao e minimizacao
= 0

(2.12)

em relac
ao `
as vari
aveis do problema.
O potencial total e tambem chamado o funcional do problema. Assumase que no problema do funcional a maior derivada da variavel em relacao `as

34

2 Introduc
ao ao metodo dos elementos finitos

coordenadas espaciais e de ordem m. Trata-se entao dum problema variacional C m1 . As condic


oes fronteira podem ser do tipo essencial ou natural.
As condic
oes essenciais ou geometricas correspondem `a prescricao de deslocamentos ou rotac
oes em mecanica de solidos ou estruturas. A ordem das
derivadas nas condic
oes essenciais, num problema C m1 , e no maximo m 1.
As condic
oes de fronteira naturais (tambem chamadas de forca tendo em
conta a prescric
ao de momentos e forcas na mecanica de solidos e estrutural)
possuem maior derivada de ordem m a 2m 1.
Nesta formulac
ao usamos um smbolo variacional, . Assuma-se entao uma
func
ao F para dado valor de x que depende de v (a variavel a determinar) e
v
pv
de
, ..., p , para p = 1, 2, ....
x
v
A primeira variac
ao de F esta definida como

F =

F
F
F
v +
(dv/dx) + ... +
(dp v/dxp )
p
v
(dv/dx)
(d v/dxp )

(2.13)

Pode mostrar-se que


dn v
=
dxn

dn v
dxn


(2.14)

ou seja, a variac
ao da derivada de v e igual `a derivada da variacao em v.
Pode tambem exprimir-se
(F + Q) = F + Q

(2.15)

(F Q) = (F )Q + F (Q)

(2.16)

(F )n = n(F )n1 F

(2.17)

e tambem
Z

Z
F (x)dx =

F (x)dx

(2.18)

Uma condic
ao importante a respeitar e a de que as variacoes das variaveis a
determinar (e das m 1 derivadas) tem de ser zero nas condicoes fronteira
essenciais.

2.4 Obtenc
ao de equac
oes diferenciais a partir de
funcionais
Pretende-se agora ilustrar estes conceitos em algums exemplos. algumas das
express
oes usadas ser
ao mais tarde deduzidas ou melhor compreendidas,

2.4 Obtenc
ao de equac
oes diferenciais a partir de funcionais

35

mas para efeitos de compreensao dos principios variacionais, elas sao aqui
avancadas.
Considere-se o problema da figura 2.1, descrito pelas equacoes (2.9) a
(2.11), onde uma barra de seccao constante A e sujeita a uma forca distribuida,
q, ao longo de todo o comprimento, sujeita ainda a uma forca pontual no final
da barra, R. O funcional e definido por
Z
=
0

1
EA
2

u
x

2

Z
dx

uqdx uL R

(2.19)

e a condic
ao fronteira (essencial) correspondente ao encastramento por
u0 = 0

(2.20)

onde u0 = u(0, t), uL = u(L, t) e q a forca vol


umica por unidade de comprimento da barra. Invocando = 0, obtemos


Z L
Z L
u
u
EA

dx
uqdx uL R = 0
(2.21)
x
x
0
0
 
u
u
=
, EA=constante, e integrando por partes, obtemos
Tomando
x
x
L




u
u
2u
+
q
udx
+
EA
|

R
uL EA |x=0 u0 = 0
x=L
2
x
x
x
0
(2.22)
Tendo em conta que u0 = 0 e u e arbitrario em todos os (outros) pontos,
obtemos a equac
ao diferencial
Z

EA

2u
+q =0
x2
e a condica
o fronteira natural em x = L
EA

EA

u
|x=L = R
x

(2.23)

(2.24)

2u
Assumindo q = A 2 obtemos entao a equacao diferencial (2.23) e dada
t
por
E

2u
2u
=

x2
t2

(2.25)

que e equivalente a (2.9).


A condic
ao de fronteira natural foi definida em (2.25). O problema variacional e de classe C 0 , ou seja, m = 1. Note-se que, embora ainda nao seja
aparente, a incorporac
ao das condicoes fronteira naturais no funcional faz
com que estas condic
oes n
ao sejam depois impostas no metodo dos elementos
finitos.

36

2 Introduc
ao ao metodo dos elementos finitos
w

Figura 2.2. Coluna sujeita a carga de compress


ao

Considere-se agora a viga da figura 2.2. O funcional que descreve o comportamento desta viga de Euler-Bernoulli, sujeita simultaneamente `a flexao e
compress
ao e dado por
L

Z
=
0

1
EI
2

d2 w
dx2

2

P
dx
2

d2 w
dx2

1 2
dx + kwL
2

(2.26)

onde k representa a rigidez duma mola em x = L, w e o deslocamento transversalda viga e I o momento de inercia `a flexao. Seja ainda wL = w|x=L com
as seguintes condic
oes essenciais:
dw
|x=0 = 0
(2.27)
dx
Tendo em conta a segunda derivada em w, o problema variacional e da classe
C 1 , podendo escrever-se
w|x=0 = 0;

Z
= 0

L
00

00

w0 w0 dx + kwL wL = 0

EIw w dx P
0

(2.28)

dw
d
onde w0 =
, etc. No entanto, regista-se que w00 =
(w0 ), sendo EI
dx
dx
constante. Integrando por partes, obtem-se para o primeiro termo do primeiro
membro
Z

L
00

00

00

EIw w dx = EIw w (0) EI


0

w000 w0 dx

(2.29)

Z
Integrando novamente por partes
obtem-se

L
000

w w dx, bem como


0

w0 w0 dx,

2.4 Obtenc
ao de equac
oes diferenciais a partir de funcionais

Z
|0

37

(EIw0000 + P w00 ) wdx + (EIw00 w0 ) (L) (EIw00 w0 ) (0)


|
{z
} |
{z
}
{z
}
2
3
1

[(EIw000 + P w0 ) w](L) + [(EIw000 + P w0 ) w](0) + kwL wL = 0


{z
} |
{z
} | {z }
|
4

(2.30)

Tendo em conta que as variacoes em w0 e w tem de ser nulas em todas as


condic
oes essenciais, temos w0 = 0 e w00 = 0, sendo assim os termos (3) e
(5) nulos.
As variac
oes em w e w0 sao arbitrarias em todos os outros pontos. Assim,
para satisfazer (2.30), as seguintes equacoes tem de ser validas:

de 1:
EIwIV + P w00 = 0

(2.31)

EIw00 (L) = 0

(2.32)

(EIw000 + P w0 kw) (L) = 0

(2.33)

de 2:
de 4 e 6:

A equac
ao (2.31) representa a equacao diferencial do problema, enquanto que
as condic
oes fronteira naturais sao dadas por (2.32) e (2.33), correspondentes
ao equilbrio de momentos e esforcos de corte em x = L.
Estabeleca-se agora a equacao diferencial de equilbrio do problema da
figura 2.3 e deduzam-se as condicoes de fronteira naturais.
x
A(x) = A0 (2 x/L)
K
A0
A(x)
R

Figura 2.3. Barra com variac


ao de secc
ao (m
odulo de elasticidade E)

Tomando o funcional
Z
=
0

ou

1
1
Adx Ru(L) + ku2 (0)
2
2

(2.34)

38

2 Introduc
ao ao metodo dos elementos finitos
L

1
EA
2

=
0

du
dx

2

1
dx Ru(L) + ku2 (0)
2

(2.35)

Invocando = 0, obtemos
Z

EAu0 u0 dx Ru(L) + kuu(0) = 0


{z
}

(2.36)

Integrando o termo 1 por partes, a expressao (2.36) toma a forma

EAu0 u(0)L

EAu00 udx Ru(L) + kuu(0) = 0

(2.37)

ou
Z

EAu00 udx + (EAu0 R) u(L) + (ku EAu0 ) u(0) = 0

(2.38)

Assim, tendo em conta que u e arbitrario, temos


EAu00 = 0,

0<x<L

(2.39)

x=L

(2.40)

x=0

(2.41)

EAu = R,
EAu = ku,

sendo (2.39) a equac


ao diferencial de equilbrio e (2.40),(2.41) as condicoes
fronteira naturais.
Considere-se agora a viga da figura 2.4, sujeita a momento flector na
ponta livre. Determine-se o funcional e as condicoes fronteira essenciais.
Determine-se a equac
ao diferencial de equilbrio e as condicoes fronteira naturais.
2
Tendo em conta que (na formulacao de Euler-Bernoulli)  = ddxw2 = w00 , o
funcional pode escrever-se como
L

Z
=
0

1
EI
2

d2 w
dx2

2
dx M

dw
(L)
dx

(2.42)

com condic
oes fronteira essenciais
w(0) =

dw
(0) = 0
dx

(2.43)

Tomando = 0, obtem-se
Z
=
0

EIw00 w00 dx M w0 (L) = 0

(2.44)

2.4 Obtenc
ao de equac
oes diferenciais a partir de funcionais

39

M
x

Figura 2.4. Viga em consola sujeita a momento flector na ponta livre

Torna-se necess
ario integrar o integral do primeiro membro duas vezes por
partes, obtendo-se na primeira integracao
L

[EIw00 w0 ]0

Z
0

EIw000 w0 dx M w0 (L) = 0
{z
}

(2.45)

e numa segunda integrac


ao por partes no termo 1, obtemos finalmente

(EIw00 M ) w0 (L) (EIw000 w) (L) +

EIw0000 wdx = 0

(2.46)

Note-se que em (2.46) j


a n
ao se consideraram os termos correspondentes a
w0 (0) e w(0), tendo em conta as condicoes de fronteira essenciais. Sabendo
que w s
ao arbitr
arios, estabelecem-se finalmente as seguintes equacoes
EIw0000 = 0,

0<x<L

(2.47)

EIw00 = M,

x=L

(2.48)

EIw000 = 0,

x=L

(2.49)

A equac
ao (2.47) corresponde `a equacao diferencial de equilbrio, enquanto
que (2.48) e (2.49) correspondem `as condicoes fronteira naturais, ligadas `a
condic
ao de momento flector e esforco de corte, respectivamente.
Note-se que nos problemas apresentados a equacao diferencial do problema
e as condic
oes fronteira naturais podem ser derivadas, invocando a estacionareidade do funcional do problema. As condicoes de fronteira naturais estao

40

2 Introduc
ao ao metodo dos elementos finitos

implicitas no funcional, enquanto as condicoes fronteira essenciais sao impostas separadamente.


Esta forma ou metodo variacional proporciona um meio relativamente expedito de obtenc
ao das equacoes diferenciais do problema e das condicoes de
fronteira naturais.

2.5 M
etodos de resduos pesados e m
etodo de Ritz
Foram anteriormente discutidas as formulacoes diferencial e variacional que
podem ser resolvidas de forma analtica por tecnicas de integracao.
No entanto, para problemas mais complexos, e mais adequado usar metodos
de aproximac
ao. Apresentam-se aqui alguns metodos classicos nos quais se usa
uma famlia de func
oes tentativa para se obter uma solucao aproximada. Estes
metodos est
ao intimamente ligados com o metodo dos elementos finitos.
Considere-se um problema estacionario cuja forma diferencial se apresenta
como
L() = r

(2.50)

onde L e um operador diferencial linear, uma variavel do problema e r


uma dada func
ao. A soluc
ao do problema deve ainda satisfazer equacoes ou
condic
oes fronteira do tipo
Bi () = qi |Si , i = 1, 2, ..

(2.51)

onde Si e uma dada fronteira do problema.


Estamos interessados nos operadores simetricos e definidos positivos, que
satisfazem a condic
ao de simetria
Z
Z
L(u)vdD =
L(v)udD
(2.52)
D

onde D representa o domnio do operador e u, v sao quaisquer funcoes que


satisfazem as condic
oes fronteira essenciais e naturais. A condicao de definida
positiva e dada por
Z
L(u)udD > 0
(2.53)
D

Considere-se o exemplo da figura 2.1 para uma barra cuja resposta e dada
pela equac
ao diferencial
EAu00 = 0

(2.54)

sujeita `
as condic
oes fronteira
u(0) = 0;

EAu0 (L) = R

(2.55)

2.5 Metodos de resduos pesados e metodo de Ritz

41

Para este problema


L = EA

2
, = u, r = 0
x2

B1 = 1,
B2 = EA

(2.56)

q1 = 0

,
x

(2.57)

q2 = R

(2.58)

Considere-se o caso R = 0, para verificar da simetria e definida positiva do


operador L:

L
00

EAu vdx = [EAu


0

L
v]0

EAu0 v 0 dx =

+
0
L

[EAu0 v]0 + EAuv 0 (0)L

EAv 00 udx (2.59)

Como u = v = 0 em x = 0 e u0 = v 0 = 0 em x = L, temos
Z

EAu00 vdx =

EAv 00 udx

(2.60)

Sendo ent
ao o operador simetrico. De (2.59) obtemos
Z

EAu00 vdx =

EAv 00 udx

(2.61)

que cumpre com a condic


ao (2.53).
Uma etapa b
asica dos metodos dos resduos pesados e do metodo de Ritz
consiste na construc
ao duma solucao aproximada na forma
=

n
X

ai wi

(2.62)

i=1

onde wi s
ao func
oes tentativa ou de aproximacao linearmente independentes
e ai par
ametros a determinar.
Nos metodos dos resduos pesados, actuamos directamente sobre os operadores diferenciais lineares do domnio e da fronteira (2.50) e (2.51). Escolhemos
ent
ao as func
oes wi de (2.62) que satisfacam as condicoes de fronteira (2.51)
e calculamos ent
ao o resduo

42

2 Introduc
ao ao metodo dos elementos finitos

"
R=rL

n
X

#
ai wi

(2.63)

i=1

Para a soluc
ao exacta temos um resduo nulo. Uma boa aproximacao sera
aquela que possui resduo nulo em todos os pontos do domnio. Os metodos
a seguir apresentados diferem uns dos outros na forma como calculam ai por
forma a que R seja o mais pequeno possvel, nomeadamente atraves duma
media ponderada do resduo.
2.5.1 M
etodo de Galerkin
No m
etodo de Galerkin os parametros ai sao determinados pelas equacoes
Z
wi RdD = 0, i = 1, 2, ..., n
(2.64)
D

sendo D o domnio da solucao. Note-se que as funcoes wi correspondem `as


mesmas func
oes usadas para o calculo do resduo. Esta e alias uma das razoes
pelas quais o metodo dos elementos finitos baseado no metodo de Galerkin e
o preferido.
2.5.2 M
etodo de mnimos quadrados
No m
etodo dos mnimos quadrados os parametros ai sao determinados
atraves da minimizac
ao do quadrado do resduo, em termos de ai , ou seja, na
forma
Z

R2 dD = 0, i = 1, 2, ..., n
(2.65)
ai D
Substituindo de (2.63), obtemos um sistema de n equacoes em termos dos
par
ametros ai , na forma
Z
RL(wi )dD = 0, i = 1, 2, ..., n
(2.66)
D

2.5.3 M
etodo de coloca
c
ao
No m
etodo de coloca
c
ao os parametros ai sao determinados atraves
da anulac
ao do resduo R em pontos seleccionados (distintos) do domnio,
obtendo-se um sistema de n equacoes em termos dos parametros ai , sendo que
a escolha dos pontos influencia de forma significativa a qualidade da solucao.

2.5 Metodos de resduos pesados e metodo de Ritz

43

2.5.4 M
etodo de sub-domnios
No m
etodo dos sub-domnios o domnio da solucao e subdividido em n
sub-domnios, sendo anulado o integral do resduo em (2.63) para gerar n
equac
oes para os par
ametros ai .
No metodo de Galerkin a matriz dos coeficientes e simetrica e positiva
definida se L for um operador simetrico. No metodo dos mnimos quadrados
aquela matriz ser
a sempre quadrada, enquanto que nos restantes metodos a
matriz ser
a n
ao simetrica.
Exemplo
A ttulo de exemplo para estes metodos considere-se o problema de fronteira
com equac
ao diferencial
u00 + xu = 1
e condic
oes fronteira:
u(0) = 0; u(1) = 1
Defina-se uma soluc
ao aproximada, onde se satisfazem as condicoes de
fronteira essenciais
u=x+

N
X

ai sen(ix)

i=1

Constroi-se o resduo na forma


u00 + xu 1 = x2 1 +

N
X

ai (x (i)2 )sen(ix)

i=1

No metodo da colocac
ao, usando N = 3, com x = 0.25; 0.5; 0.75, para
x (0, 1), imp
oem-se as seguintes condicoes em termos do erro ou resduo
E(x = 0.25) = 0
E(x = 0.50) = 0
E(x = 0.75) = 0
obtendo-se ent
ao o seguinte sistema de equacoes em termos dos parametros
ai

6.8021 39.2284 62.6330 0.9375


9.3696 0.0000 88.3264 0.7500
6.4485 38.7284 62.2794 0.4375
sendo ent
ao
a1 = 0.0918; a2 = 0.0060; a3 = 0.0012
Obtem-se finalmente a solucao com 3 termos:

44

2 Introduc
ao ao metodo dos elementos finitos

uC = x 0.0918sen(x) 0.0060sen(2x) 0.0012sen(3x)


Usando agora o Metodo dos sub-domnios, com N = 3, onde os varios subdomnios s
ao definidos por [0..1/3]; [1/3..2/3]; [2/3..1], impomos as condicoes
1/3

E3 = 0
0
2/3

E3 = 0
1/3

E3 = 0
2/3

obtendo-se o sistema de equacoes

1.5361 9.3763 18.8142 0.3210


2.9824 0.0173 18.7435 0.2469
1.4463 9.2345 18.6727 0.0988
cuja soluc
ao e
a1 = 0.1019; a2 = 0.0114; a3 = 0.0030
Obtem-se para este metodo a solucao com 3 termos:
uS = x 0.1019sen(x) 0.0114sen(2x) 0.0030sen(3x)
Considerando agora o metodo dos minmos quadrados, as funcoes de peso sao
obtidos por
E3
= [x (j)2 ]sen(jx)
wj (x) =
aj
obtendo-se o sistema de equacoes

43.911 4.3544 0.0190 4.2213


4.3544 759.69 12.382 6.3074
0.0190 12.382 3900.8 9.8420
com soluc
ao
a1 = 0.0954; a2 = 0.0077; a3 = 0.0025
Soluc
ao com 3 termos:
uQ = x 0.0954sen(x) 0.0077sen(2x) 0.0025sen(3x)
Usando o metodo de Galerkin, as funcoes de peso sao obtidas por
wj (x) = j (x) = sen(jx)

2.5 Metodos de resduos pesados e metodo de Ritz

45

impondo-se ent
ao as condic
oes sobre o resduo na forma
Z 1
E3 sen(x) = 0
0

E3 sen(2x) = 0
0

E3 sen(3x) = 0
0

com o seguinte sistema de equacoes

4.6848 0.0901 0.0000 0.4473


0.0901 19.489 0.0973 0.1592
0.0000 0.0973 44.163 0.1109
com soluc
ao
a1 = 0.0953; a2 = 0.0077; a3 = 0.0025
Soluc
ao com 3 termos:
uG = x 0.0953sen(x) 0.0077sen(2x) 0.0025sen(3x)
Registe-se que a soluc
ao de Galerkin e identica `a dos mnimos quadrados.
2.5.5 M
etodo de Ritz
No metodo de Ritz substituimos as funcoes tentativa ou de aproximacao em
e geramos n equac
oes em termos de ai , usando = 0, ou seja,

= 0, i = 1, 2, ..., n
ai

(2.67)

Um aspecto relevante do metodo de Ritz e que neste as funcoes de aproximacao


devem apenas satisfazer as condicoes fronteira essenciais, enquanto que no
metodo de Galerkin todas as condicoes fronteira (essenciais e naturais) devem
ser satisfeitas.
Considerando o problema anterior, temos

jcos(jx)(1 +

iai cos(ix)) xsen(jx)(x +

ai sen(ix))+

sen(jx)dx = 0 , j = 1, 2, ..., N

46

2 Introduc
ao ao metodo dos elementos finitos

jicos(jx)cos(ix)) xsen(jx)sen(ix)dx =

ai
0

x2 sen(jx) sen(jx) jcos(ix)dx, j = 1, 2, ..., N

Com N = 3, obtem-se o sistema de equacoes

4.6848 0.0901 0.0000 0.4473


0.0901 19.4892 0.0973 0.1592
0.0000 0.0973 44.1632 0.1109
que conduz a uma soluc
ao identica ao metodo de Galerkin.
Exemplo
Considere-se agora o problema da figura 2.2, usando uma aproximacao
w = a1 x2 + a2 x3

(2.68)

obtendo-se o funcional
1
2


EI

d2 w
dx2

2
dx

P
2

dw
dx

2

1
dx + k(w(L))2
2

(2.69)

A func
ao em (2.68) satisfaz as condicoes de fronteira essenciais:
dw
(0) = 0
dx
Substituindo (2.68) em (2.69) obtemos entao
w(0) =

1
=
2

(2.70)

EI (2a 1 + 6a 2x) dx
0

Invocando agora

P
2

2a1 x + 3a2 x2

2

1
dx + k(a1 L2 + a2 L3 )2
2

(2.71)

= 0,
= 0, obtemos
a1
a2





  
2L 3L2
a1
4 1 L
2EI
+
kL
3L2 6L3
L L2
a2

   
4/3 3L/2
a1
0
P L3
=
(2.72)
3L/2 9L2 /5
a2
0

2.6 Formulac
ao pelo metodo dos deslocamentos

47

A soluc
ao deste problema K = P B fornece dois valores para P para os
quais w em (2.68) e n
ao nulo. O valor mais pequeno de P coincide com a
carga critica de encurvadura da coluna.
Tendo em conta que no metodo de Ritz nao e necessario satisfazer as
condic
oes de fronteira naturais, o metodo de Galerkin e usado na pratica como
um metodo alternativo que lhe permite usar as mesmas funcoes do metodo de
Ritz. Em mec
anica estrutural esta forma alternativa do metodo de Galerkin
e denominada princpio dos deslocamentos virtuais.

2.6 Formulac
ao pelo m
etodo dos deslocamentos
A an
alise linear de estruturas e uma parte importante das aplicacoes do
metodo dos elementos finitos. Foi alias a primeira aplicacao pratica do metodo
e continua a ser hoje muito importante para estudos da qualidade do metodo.
Na soluc
ao por elementos finitos, a formulacao pelo metodo dos deslocamentos e ainda hoje uma pr
atica habitual. Apresenta-se aqui a formulacao de
elementos finitos pelo principio dos trabalhos virtuais.
Recorrendo `
a figura 2.5, onde uma barra e sujeita a uma forca distribuida
q(x) e uma carga concentrada R, podemos apresentar a formulacao diferencial
q(x) = ax
R
x

q(x)

Figura 2.5. Barra sujeita a uma forca distribuida q(x) e uma carga concentrada R

d2 u
+ q(x) = 0, no domnio
dx2
e condic
oes fronteira essenciais
EA

u(0) = 0

(2.73)

(2.74)

e naturais

du
(L) = R
dx
Sendo q(x) = ax, obtemos a solucao analitica

 

1
du ax3
1
+ R + aL2 x
u(x) =
EA
6
2
EA

a qual corresponde `
a soluc
ao exacta.

(2.75)

(2.76)

48

2 Introduc
ao ao metodo dos elementos finitos

Tendo em conta que (2.73) e valido para todos os pontos, entao pode
escrever-se


d2 u
(2.77)
EA 2 + q(x) u = 0
dx
Tendo em conta que u(x) e uma variacao arbitraria com u(x = 0) = 0,
ent
ao tambem se torna v
alida a expressao

Z L
d2 u
EA 2 + q(x) udx = 0
(2.78)
dx
0
Integrando por partes o primeiro termo do primeiro membro e rearranjando,
obtem-se
L

Z L
Z L
du
du du
(2.79)
dx =
q(x)udx + EA u
EA
dx dx
dx
0
0
0
Temos ent
ao a express
ao do princpio dos deslocamentos virtuais(ou do
princpio dos trabalhos virtuais), na forma
Z
0

du du
EA
dx =
dx dx

q(x)udx + Ru|x=L

(2.80)

com
u(x = 0) = 0, u(x = 0) = 0
De (2.80) podemos tambem escrever
)
(Z "
#
 2
L
EA du

q(x)u dx Ru|x=L = 0
2
dx
0

(2.81)

(2.82)

que, conjuntamente com (2.81) constitui o princpio dos deslocamentos virtuais para este problema.

2.7 Formulac
ao geral das equac
oes de equilbrio
Tendo em conta uma formulacao tridimensional discute-se o princpio dos
deslocamentos virtuais, aqui usado como base da solucao de elementos finitos.
Considere-se o equilbrio dum corpo tridimensional com um referencial
fixo X, Y, Z. O corpo e fixo numa regiao Su , correspondente a deslocamentos
prescritos USu , sujeito a traccoes superficiais f Sf , na superfcie Sf .
O corpo e tambem sujeito a forcas de corpo externas f B (forcas por unidade
de volume) e forcas concentradas RiC (onde i e o ponto de aplicacao da carga).
As forcas externas aplicadas podem ser decompostas nas coordenadas X, Y, Z,
na forma:

2.7 Formulac
ao geral das equac
oes de equilbrio

B
fX

49

f = fY

B
fZ
S
f f
X

f Sf = fYSf

Sf
fZ
i
RCX

i
i

RC = RCY

i
RCZ
B

(2.83)

(2.84)

(2.85)

Os deslocamentos do corpo na configuracao indeformada apresentam-se no


sistema coordenado X, Y, Z como

U
U=V
(2.86)
W
e USu na superfcie Su . As deformacoes associadas a U sao obtidas por

XX
Y Y

ZZ

(2.87)
=
XY

Y Z
XZ
onde

XX =
XY

U
V
W
, Y Y =
, ZZ =
X
Y
Z

U
V
V
W
U
W
=
+
, Y Z =
+
, XZ =
+
Y
X
Z
Y
Z
X

As tens
oes correspondentes a  sao

(2.88)

50

2 Introduc
ao ao metodo dos elementos finitos

XX
Y Y

ZZ

XY
Y Z
XZ

(2.89)

= C

(2.90)

onde

sendo C e a matriz de elasticidade, matriz constitutiva do material ou tensaodeformac


ao. Nesta fase do texto, assumem-se relacoes constitutivas lineares,
tal que

os deslocamentos s
ao infinitamente pequenos e as equacoes de equilbrio
podem referir-se `
a configuracao indeformada
a matriz C n
ao depende do estado de tensao

2.8 Princpio dos trabalhos virtuais


A soluc
ao por elementos finitos baseada em deslocamentos considera o princpio
dos deslocamentos virtuais, que assume que num corpo em equilbrio, para
quaisquer deslocamentos virtuais (pequenos), que sao nulos para correspondentes deslocamentos prescritos, impostos ao corpo em equilbrio, o trabalho
virtual interno total e igual ao trabalho virtual externo total, ou seja,
Z

 dV =
V

T B

U f dV +
V

USf T f Sf dS +

Sf

UTi RiC

(2.91)

onde U s
ao os deslocamentos virtuais e  as correspondentes deformacoes
virtuais, obtidas por derivacao dos deslocamentos virtuais.
Para um corpo tridimensional temos um conjunto de equacoes diferenciais
de equilbrio
XX
XY
XZ
B
+
+
+ fX
=0
X
Y
Z
XY
Y Y
Y Z
+
+
+ fYB = 0
X
Y
Z

(2.92)

XZ
Y Z
ZZ
+
+
+ fZB = 0
X
Y
Z
(ou ij , j + fiB = 0), no domnio do corpo, com condicoes naturais (em forcas)

2.8 Princpio dos trabalhos virtuais


S

ij .nj = fi f , em Sf

51

(2.93)

e condic
oes essenciais (em deslocamentos)
ui = uiSu , em Su
(2.94)
S
T
onde a fronteira S = Su Sf , Su Sf = 0 e nj sao as componentes do vector
normal unit
ario `
a superfcie Sf do corpo.
Considerando os deslocamentos virtuais ui satisfazendo
ui = 0, em Su

(2.95)


ij , j + fiB ui = 0

(2.96)


ij , j + fiB ui dV = 0

(2.97)

ent
ao

e
Z
V

Sendo ui arbitr
ario, (2.94) pode ser satisfeito se e so se a quantidade entre
parentesis em (2.97) desaparecer. Assim, (2.97) e equivalente ao sistema (2.92).
Usando a identidade
(ij ui ) , j = ij , jui + ij ui , j
obtendo-se, ent
ao de (2.97)
Z


(ij ui ) , j ij ui , j + fiB ui dV = 0

(2.98)

(2.99)

Usando agora a identidade (decorrente do teorema da divergencia):


Z
Z
(ij ui ) , jdV =
(ij ui ) nj dS
V

(2.100)

obtemos
Z


ij ui , j + fiB ui dV +

Z
(ij ui ) nj dS = 0

(2.101)

Tendo em conta (2.93) e (2.95) obtem-se


Z
Z

B
ij ui , j + fi ui dV +
V

fi f ui f dS = 0

(2.102)

Sf

Tendo em conta a simetria do tensor das tensoes ij = ji , temos


ij ui , j = ij [1/2 (ui , j + uj , i)] = ij ij
Obtendo-se ent
ao de (2.102)

(2.103)

52

2 Introduc
ao ao metodo dos elementos finitos

fiB ui dV

ij ij dV =
V

Z
+

fi f ui f dS

(2.104)

Sf

2.9 Equac
oes de elementos finitos
Na an
alise de elementos finitos aproxima-se o corpo como um conjunto de
elementos finitos discretos interligados em pontos nodais nas fronteiras dos
elementos. Os deslocamentos medidos no sistema coordenado local x, y, z,
em cada elemento s
ao assumidos como funcao dos deslocamentos em n pontos
no elemento. Assim, para cada elemento e, temos

u(e) (x, y, z) = N(e) (x, y, z)U

(2.105)

(e)

onde N representa a matriz de interpolacao dos deslocamentos, o supers um vector com tres componencrito e representa o elemento e, sendo ainda U

tes de deslocamentos globais Ui , Vi , Wi em todos os pontos nodais, ou seja, U


e um vector com 3N componentes:
T = [U1
U

V1

W1

U2

V2

W2

... UN

U2

... UN ]

VN

WN ]

(2.106)

Mais genericamente podemos escrever


T = [U1
U

(2.107)

onde Ui possui tres componentes segundo X, Y, Z.


Podemos agora calcular as deformacoes nos elementos como

(e) (x, y, z) = B(e) (x, y, z)U

(2.108)

onde B(e) representa a matriz deformacao-deslocamento, cujas linhas sao obtidas por derivac
ao das linhas de N(e) .
As tens
oes s
ao ent
ao calculadas, para cada elemento finito, usando
(e) = C(e) (e)
(e)

(2.109)
(e)

onde C e a matriz de elasticidade do elemento e e representa o vector


de tens
oes do elemento.
Tendo em conta a suposicao do campo de deslocamentos em cada elemento, podemos agora derivar as equacoes de equilbrio, como uma soma de
integrac
oes sobre o volume e area de todos os elementos finitos:

2.9 Equac
oes de elementos finitos

XZ
e

(e)T (e) dV (e) =

V (e)

XZ
e

XZ

u(e)T f B(e) dV (e) +

V (e)

uS(e)T f S(e) dS (e) +

(e)
(e)
S1 ,S2 ,...

53

u(i)T RiC

(2.110)

i
(e)

(e)

onde e = 1, 2, ...k, sendo k o n


umero maximo de elementos e S1 , S2 , ...
as diversas superfcies dos elementos que fazem parte da superfcie do corpo
S. Note-se que, em elementos que estejam completamente cercados, nao sao
consideradas estas superfcies, enquanto que para elementos na superfcie do
corpo, podem existir uma ou mais superfcies dos elementos nos integrais de
superfcie. Note-se ainda que em (2.110) os pontos nodais foram colocados em
pontos onde as forcas pontuais sao aplicadas.
As relac
oes entre os deslocamentos e as deformacoes virtuais exprimem-se
como

u(e) (x, y, z) = N(e) (x, y, z) U

(2.111)

(e) (x, y, z) = B(e) (x, y, z) U

(2.112)

Substituindo em (2.110) obtem-se

T
U

XZ
e

T
B(e)T C(e) B(e) dV (e) = U
(e)

XZ
e

T
U

XZ
e

N(e)T f B(e) dV (e) +


(e)

T
NS(e)T f S(e) dS (e) + U

(e)
(e)
S1 ,S2 ,...

RiC

(2.113)

onde NS(e) s
ao as func
oes de forma ou matrizes de interpolacao dos deslocamentos na superfcie, tendo em conta coordenadas de superfcie adequadas,
e RC e o vector de forcas pontuais aplicadas nos nos apos espalhamento de
matrizes. Note-se que a componente i em RiC corresponde `a componente i em

U.
Atraves de (2.113) podem entao obter-se as equacoes de equilbrio, em
termos dos (desconhecidos) deslocamentos nodais, aplicando o princpio dos
trabalhos virtuais n vezes, impondo deslocamentos virtuais unitarios para
ou seja, U
= e1 , U
= e2 , ..., onde ei sao os
todos os componentes de U,
elementos da base can
onica de Rn , tal que o resultado e dado por
KU = R

(2.114)

R = RB + RS + RC

(2.115)

e
= U, por razoes de conveniencia de escrita.
Denominemos, em seguida, U
A matriz de rigidez da estrutura e agora expressa por

54

2 Introduc
ao ao metodo dos elementos finitos

K=

XZ
V (e)

B(e)T C(e) B(e) dV (e)


{z
}

(2.116)

K(e)

O vector de cargas R inclui as forcas de corpo


XZ
N(e)T f B(e) dV (e)
RB =
(e)
V
e |
{z
}

(2.117)

(e)

RB

as forcas de superfcie
RS =

XZ

NS(e)T f S(e) dS (e)


(e)

(2.118)

(e)

S1 ,S2 ,...

{z

(e)

RS

e as forcas concentradas RC . Note-se que, tal como para a matriz de rigidez,


tambem para o vector de forcas se adicionam as contribuicoes dos elementos
naquilo a que se designa por metodo da rigidez directa.
Caso as forcas variem com o tempo, os deslocamentos tambem variam com
o tempo, tornando-se necessario incluir termos de inercia. Usando o principio
dAlembert, a contribuic
ao para o vector de forcas R por parte das forcas de
corpo e
h
i
XZ
dV (e)
RB =
N(e)T f B(e) (e) N(e) U
(2.119)
e

V (e)

representa as aceleracoes virtuais,


onde f B(e) n
ao contem termos de inercia, U
correspondentes `
as segundas derivadas em ordem ao tempo e (e) e a densidade
do elemento e.
As equac
oes de equilbrio dinamico sao neste caso
+ KU = R
MU
onde agora U e R dependem do tempo.
A matriz de massa da estrutura e agora calculada como
XZ
M=
N(e)T (e) N(e) dV (e)
(e)
V
e |
{z
}

(2.120)

(2.121)

M(e)

Caso a energia seja dissipada durante a vibracao, introduzem-se forcas de


amortecimento que constituem contribuicoes adicionais para as forcas de
corpo, na forma:

2.9 Equac
oes de elementos finitos

RB =

XZ
e

h
i
k (e) N(e) U
dV (e)
N(e)T f B(e) (e) N(e) U

55

(2.122)

V (e)

representa as velocidades nodais e k (e) um parametro de amortecionde U


mento. As equac
oes de equilbrio sao entao dadas por:
+ PU
+ KU = R
MU
sendo P a matriz de amortecimento da estrutura, dada por
XZ
P=
N(e)T k (e) N(e) dV (e)
(e)
V
e |
{z
}

(2.123)

(2.124)

P(e)

Na soluc
ao por elementos finitos, as equacoes de equilbrio nao sao satisfeitas
exactamente em todos os pontos considerados, havendo duas propriedades que
s
ao satisfeitas em qualquer malha de elementos finitos. A primeira propriedade
refere-se ao equilbrio nos n
os, enquanto que a segunda propriedade se refere
ao equilbrio no elemento.
Considere-se a figura 2.6, representando elementos contguos. Na figura
2.7, ilustram-se as duas propriedades referidas.

q!1

e!1

Figura 2.6. Rede de elementos finitos

Considere-se que em cada elemento finito e os vectores de forcas nodais


s
ao dados por
Z
T
F(e) =
B(e) (e) dV (e)
(2.125)
V (e)

56

2 Introduc
ao ao metodo dos elementos finitos
Soma das foras F(e)
Equilibram as foras externas aplicadas

q-1

e-1

Foras F(e) em equilibrio

Figura 2.7. Equilbrio de forcas nos n


os e em cada elemento

onde (e) = C(e) (e) . De acordo com a primeira propriedade, em cada no,
a soma das forcas nodais esta em equilbrio com as forcas externas aplicadas
(incluindo forcas de corpo, de inercia, concentradas e de amortecimento). De
acordo com a segunda propriedade, cada elemento esta em equilbrio sob as
suas forcas F(e) . A propriedade 1 e satisfeita, tendo em conta que
X
F(e) = KU
(2.126)
e

A propriedade 2 e satisfeita, desde que a matriz de interpolacao N(e) satisfaca


requisitos de convergencia (incluindo a condicao que o elemento possa representar modos rigidos). Para um elemento e, sujeito a forcas nodais, impoe-se
deslocamentos virtuais correspondentes a movimentos de corpo rigido. Para
cada deslocamento de corpo rigido virtual, ou
u , temos

uT F(e) =

Z
V (e)

Z
T
B(e)
u (e) dV (e) =

(eT ) (e) dV (e) = 0 (2.127)

V (e)

dado que (e) = 0. Verifica-se entao que para todos os movimentos de corpo
rigido, as forcas F(e) est
ao em equilbrio.
Assim, na an
alise por elementos finitos

a estrutura e idealizada como um conjunto interligado de elementos discretos ligados em n


os
as forcas externas aplicadas (forcas de corpo, forcas tractivas, forcas de
inercia, forcas concentradas) sao atribuidas a esses nos, usando o princpio

2.9 Equac
oes de elementos finitos

57

dos trabalhos virtuais para obter forcas nodais equivalentes `as forcas aplicadas
as forcas nodais equivalentes `as forcas externas aplicadas sao equilibradas
pelas forcas nodais equivalentes `as tensoes internas nos elementos, ou seja
X
F(e) = R
(2.128)
e

as equac
oes de compatibilidade de tensao-deformacao sao satisfeitas exactamente

3
Elementos finitos isoparam
etricos e elementos
de barra

3.1 Introduc
ao
Conforme j
a referido anteriormente, um aspecto muito importante de qualquer
c
alculo por elementos finitos e o calculo de matrizes de elementos finitos, entre
outras, a matriz de rigidez, a matriz de massa, o vector de cargas nodais
equivalente `
as cargas exteriores aplicadas.
Um dos avancos mais significativos no metodo dos elementos finitos foi
obtido Irons [121], na proposta de elementos finitos isoparametricos.
A ideia b
asica dos elementos finitos isoparametricos e a de que a relacao
entre os deslocamentos no interior do elemento e os deslocamentos nodais pode
ser directamente estabelecida atraves de funcoes de interpolacao (tambem
chamadas func
oes de forma).

3.2 Elemento de barra de 2 n


os
Considere-se o exemplo dum elemento de barra, para a ilustracao do calculo
da matrix de rigidez. Assuma-se que a barra se situa no eixo global X, como
ilustrado na figura 3.1. O primeiro passo reside na relacao entre as coordenadas
globais X e as coordenadas naturais , onde 1 1. A relacao e entao
dada por
X=

1
1
(1 )X1 + (1 + )X2
2
2

ou
X=

2
X

Ni Xi

(3.1)

(3.2)

i=1

onde
N1 =

1
1
(1 ); N2 = (1 + )
2
2

(3.3)

60

3 Elementos finitos isoparametricos e elementos de barra

representam as func
oes de forma, que traduzem de forma u
nica a relacao entre
as coordenadas X e na barra.
Os deslocamentos globais da barra sao expressos de forma semelhante `as
coordenadas globais:
U=

2
X

Ni Ui

(3.4)

i=1

A interpolac
ao das coordenadas e dos deslocamentos dos elementos, usando
as mesmas func
oes de forma, definidas no sistema de coordenadas naturais,
constitui a base da formulacao de elementos finitos isoparam
etricos.
O c
alculo das deformac
oes e estabelecido, usando a regra da cadeia:
=

dU
dU d
=
dX
d dX

(3.5)

onde
U2 U1
dU
=
d
2

(3.6)

dX
X2 X1
L
=
=
d
2
2

(3.7)

de (3.4) e

de (3.1), onde L e o comprimento da barra.


Y

X2

U2

U1
Z

X, U
= 1

= +1

X1

Figura 3.1. Elemento de barra no sistema coordenado global e natural

Assim, obtem-se
U2 U1 2
U2 U1
=
(3.8)
2
L
L
Tendo em conta a relac
ao entre deformacoes e deslocamentos  = BU, obtemos ent
ao a chamada matriz de deformacoes-deslocamento ou matriz B,
=

3.3 PTV


1
1 1
L
A matriz de rigidez e ent
ao obtida por

Z 

EA 1 1 
1 1 Jd
K= 2
L 1 1
B=

61

(3.9)

(3.10)

onde J e o jacobiano, que relaciona o comprimento do elemento no sistema


coordenado global para o correspondente comprimento no sistema natural, ou
seja
dX = Jd

(3.11)

dX
L
=J =
d
2

(3.12)

Temos ent
ao

Obtemos ent
ao, a matriz de rigidez em (3.10), como



Z 
EA 1 1 1
EA 1 1
K=
d =
2L 1 1 1
L 1 1

(3.13)

3.3 PTV
Note-se que esta matriz de rigidez tambem poderia ser obtida, de outras formas. Aplicando o princpio dos trabalhos virtuais, estabelece-se
L

 dx =
0

u f dx +
0

N
X

ou
Z
A

uT BT EBudx =

ui Fi

(3.14)

i=1

uT f dx +

N
X

ui Fi

(3.15)

ui Fi

(3.16)

i=1

ou ainda
uT EA

BT Bdxu =

uT f dx +

N
X
i=1

onde Fi representam as forcas pontuais eventualmente actuantes nos nos da


barra e onde f representa uma forca distribuida. Sabendo que dx = L2 d, pode
escrever-se o mesmo integral em coordenadas naturais na forma
uT

EAL
2

BT Bdu =

N
X
L T
u f d +
ui Fi
2
i=1

(3.17)

62

3 Elementos finitos isoparametricos e elementos de barra

Sendo os deslocamentos virtuais arbitrarios, pode entao escrever-se




EAL
2

1
L2



Z 1
N
X

L T
1 
1 1 d u =
N f d +
Fi
1
1 2
i=1

(3.18)

ou
Ke u = f e

(3.19)

sendo a matriz de rigidez obtida por



Z 

EA 1 1 
1 1 d
Ke =
2L 1 1

(3.20)

Nas equac
oes anteriores N representa a matriz de funcoes de forma do
elemento, composta por


N = N1 N2

(3.21)

3.4 Func
oes de forma
Note-se que as func
oes de forma possuem algumas propriedades importantes:

s
ao unit
arias no n
o a que respeitam e nulas
P nos restantes
possuem a partic
ao da unidade, ou seja,
Ni = 1

As func
oes de forma devem tabem ser derivaveis no interior do domnio
do elemento finito e contnuas na fronteira dos elementos. A maior parte das
func
oes de forma s
ao da classe C 0 , produzindo os chamados elementos C 0 .
Alguns elementos, como por exemplo os elementos de viga de Euler-Bernoulli
necessitam de maiores derivadas, pelo que sao usadas funcoes de forma C 1 .
Se no integral da matriz de rigidez forem requeridas derivadas de ordem m,
ent
ao torna-se necess
ario elementos de classe C m1 . Caso isto aconteca, dizse que os elementos s
ao compatveis ou conformes. Caso contrario, dizem-se
n
ao conformes ou incompatveis. As funcoes de forma devem tambem usar
polin
omios completos.
habitual usar-se um conjunto de funcoes de forma de classes ja estabeE
lecidas, por exemplo as que resultam dos polinomios de Lagrange, na forma
Ni (x) =

n
Y
j=1(j6=i)

x xj
xi xj


(3.22)

Para um elemento de 2 n
os, obtem-se entao as funcoes ja estabelecidas:
N1 (x) =

x x2
x2 x
=
x1 x2
L

(3.23)

3.4 Func
oes de forma

N2 (x) =

x x1
x x1
=
x2 x1
L

63

(3.24)

Na maior parte das vezes usa-se uma formulacao em coordenadas naturais,


conforme ilustrado na figura 3.1, onde se introduz a coordenada natural
x xc
(3.25)
L
onde xc representa a coordenada central do elemento. Note-se que [1, 1].
Por analogia pode escrever-se
=2

Ni () =

n
Y

j=1(j6=i)

j
i j


(3.26)

Sabendo que 1 = 1 e 2 = 1, podem entao calcular-se as funcoes de forma


em coordenadas naturais para um elemento finito de 2 nos
2
1
= (1 )
1 2
2

(3.27)

1
1
= (1 + ) = 1 2
2 1
2

(3.28)

N1 () =
N2 () =

Para um elemento de 3 n
os (1 = 1, 2 = 0, 3 = 1), obtem-se as correspondentes func
oes de forma, conforme ilustrado na figura 3.2
N2
N1

N3

Figura 3.2. Elemento de barra de tres n


os. Func
oes de forma quadr
aticas para
elemento de tres n
os

1
( 2 )( 3 )
= ( 1)
(1 2 )(1 3 )
2

(3.29)

( 1 )( 3 )
= (1 + )(1 )
(2 1 )(2 3 )

(3.30)

( 1 )( 2 )
1
= ( + 1)
(3 1 )(3 3 )
2

(3.31)

N1 () =

N2 () =

N3 () =

64

3 Elementos finitos isoparametricos e elementos de barra

Note-se que se pretende agora estabelecer uma formulacao isoparametrica no


dominio natural, ou seja
u() = N1 ()u1 + N2 ()u2

(3.32)

A derivac
ao de u e obtida atraves da derivacao das funcoes de forma , ou seja,
a deformac
ao e obtida por
du
dN1
dN2
=
u1 +
u2
(3.33)
dx
dx
dx
A derivaca
o em ordem a
`s variaveis reais x faz-se atraves da regra da cadeia
=

dN1
dN1 d
1 d
=
=
dx
d dx
2 dx

(3.34)

dN2
dN2 d
1 d
=
=
dx
d dx
2 dx

(3.35)

Sendo ent
ao a deformac
ao obtida por
1 d
1 d
u1 +
u2
(3.36)
2 dx
2 dx
Note-se tambem que e possvel exprimir a relacao entre deformacoes e deslocamentos na forma matricial. Por exemplo, para um elemento finito de dois
n
os
=

 

1 d
1
1
1 1
1 d
u1
u1 +
u2 = u1 + u2 = ,
=
u2
2 dx
2 dx
L
L
L L

(3.37)

onde


1 1
B= ,
L L

(3.38)

representa a matriz de deformacoes, muito usual na formulacao de elementos


finitos baseados em deslocamentos.

3.5 Integrac
ao num
erica
Na maior parte dos elementos finitos torna-se impraticavel calcular as matrizes de rigidez K e vector de cargas f , sem recurso a integracao numerica. Aqui
pretende-se ilustrar os principais conceitos. Apresenta-se apenas a integracao
de Gauss-Legendre, mais conhecida por integra
c
ao de Gauss, por ser este
o metodo mais usado nos elementos finitos. Nesta parte do texto apresenta-se
apenas a integrac
ao em dominios unidimensionais, enquanto em breve se apresenta a integrac
ao numerica para dominios bidimensionais ou tridimensionais.

3.5 Integrac
ao numerica

65

Considere-se uma func


ao f (x), x [1, 1]. Na regra de integracao de
Gauss, o integral
Z

I=

f (x)dx

(3.39)

e expresso na forma dum somatorio estendido a p pontos de Gauss (do interior


do elemento finito) onde se multiplica o valor da funcao f nesses pontos p por
pesos, na forma
Z

I=

f (x)dx =
1

p
X

f (xi )Wi

(3.40)

i=1

onde Wi representam os pesos correspondentes ao ponto i. Na tabela 3.1


apresentam-se as coordenadas e pesos para a tecnica de integracao de Gauss.
Note-se que esta tecnica de integracao de grau n fornece uma solucao exacta
para um polin
omio de grau 2n 1.
Tabela 3.1. Coordenadas e pesos para a tecnica de integrac
ao de Gauss (apenas
ate 4 pontos)
n
xi
Wi
1
0.0
2.0
2 0.5773502692
1.0
3 0.774596697 0.5555555556
0.0
0.8888888889
4 0.86113663116 0.3478548451
0.3399810436 0.6521451549

Na figura 3.3 ilustram-se as posicoes de alguns pontos de Gauss em elementos


finitos 1D.
a)

b)

1 = 0

1 = 1/ 3

2 = 1/ 3

Figura 3.3. Integrac


ao de Gauss em dominios unidimensionais

Exemplo 4.1
Considere-se o integral dum polinomio de quarto grau

66

3 Elementos finitos isoparametricos e elementos de barra

I=


1 + x + x2 + x3 + x4 dx

(3.41)

cuja soluc
ao exacta e 3.0666. Usemos agora varios pontos de integracao (figura
3.3), para podermos avaliar da qualidade da tecnica de integracao.

Um ponto de integrac
ao: p = 1; x1 = 0; W1 = 2 I = W1 f (x1 ) = 2
Dois pontos de integrac
ao: p = 2; x1 , x2 = 0.57735; W1 , W2 = 1 I =
W1 f (x1 ) + W2 f (x2 ) = 2.8888
Tres pontos de integracao: p = 3; x1 , x3 = 0.77459, x2 = 0.0; W1 , W3 =
0.5555, W2 = 0.8888 I = W1 f (x1 ) + W2 f (x2 ) + W2 f (x2 ) = 3.0666
(valor exacto)

Verifica-se assim que uma integracao de grau 2 nao satisfaz a integracao


necessario,
exacta, porque 2 2 1 = 3, sendo que o polinomio e de grau 4. E
assim, utilizar um polin
omio de grau 3 para poder integrar exactamente um
polin
omio de grau 3.

3.6 C
odigo para problema de barra
No programa seguinte ilustra-se um programa MATLAB para a solucao do
problema de barra bi-encastrada de seccao constante, ilustrada na figura 3.4,
com m
odulo de elasticidade E = 30e6, area A = 1.

30000
(1)
1

(2)
2

(3)
3

3@30
Figura 3.4. Barra bi-encastrada sujeita a carga pontual

O primeiro c
odigo (barra.m) recorre ao calculo directo da matriz de rigidez
1
2
3
4
5
6
7
8

function barra(method)
% problema de barra encastrada, sujeita a forca pontual
% mdulo E, Area A, L: comprimento de barra
E = 30e6;A=1;EA=E*A; L = 90;
% geracao de elementos e nos

3.6 C
odigo para problema de barra
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45

67

numx
= 3;
node=linspace(0,L,numx+1);
ii=1:numx; element(:,1)=ii; element(:,2)=ii+1;
numnode=size(node,2);
numelem=size(element,1);
%matriz de rigidez
K=sparse(numnode,numnode);
for e=1:numelem; j=element(e,:);
length_element=node(j(2))-node(j(1));
k = rigidezBarra(length_element,EA);
K(j,j)=K(j,j)+k;
end;
%vector de forcas
f=zeros(numnode,1);
f(2)=3000.0;
% Condicoes fronteira e solucao
dofs=[1;4];
% nos livres: activos
U=zeros(numnode,1);
U = BC_solucao(method,dofs,numnode,K,f);
% escrita de resultados
escrita(U,dofs,K);
% end
%
function k = rigidezBarra(L,EA)
% funcao para calcular rigidez de barra
% k : matriz de rigidez
k=EA/L*[1 -1;-1 1];

enquanto que o segundo codigo (barraisoparametrica.m) recorre `a formulac


ao isoparametrica. Note-se que as vantagens da formulacao isoparametrica
s
ao mais evidentes em dominios bi e tridimensionais. Ambos produzem os mesmos resultados em termos de deslocamentos. No primeiro codigo calculam-se
as reacc
oes, enquanto que no segundo codigo se calculam as tensoes nos elementos. Note-se que neste c
odigo se utilizam elementos de barra de dois nos.
1
2
3
4

function barraisoparametrica(method)
% problema de barra encastrada, sujeita a forca pontual

68
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53

3 Elementos finitos isoparametricos e elementos de barra


% mdulo E, Area A, L: comprimento de barra
E = 30e6;A=1;EA=E*A; L = 90;
% geracao de elementos e nos
numx
= 3;
node=linspace(0,L,numx+1);xx=node;
ii=1:numx; element(:,1)=ii; element(:,2)=ii+1;
numnode=size(node,2);
numelem=size(element,1);
%matriz de rigidez
K=sparse(numnode,numnode);
for e=1:numelem;
indice=element(e,:); nn=length(indice);
length_element=node(indice(2))-node(indice(1));
detJ0=length_element/2;invJ0=1/detJ0;
% ponto de gauss central (xi=0, peso W=2)
N=([1,1]/2);
dNdxi=[-1;1]/2;
dNdx=dNdxi*invJ0;
% matriz B
B=zeros(1,nn); B(1:nn) = dNdx(:);
K(indice,indice)=K(indice,indice)+B*B*2*detJ0*EA;
% longo da barra
end
%vector de forcas
f=zeros(numnode,1);
f(2)=3000;
% Condicoes fronteira e solucao
fixedNodeW =find(xx==min(node(:)) | xx==max(node(:))); dofs=[fixedNodeW]
U=zeros(numnode,1);
U = BC_solucao(method,dofs,numnode,K,f);
% escrita de resultados
escrita(U,dofs,K);
% tensoes
stress=zeros(numelem,size(element,2),1);
stressPoints(1)=[-1];stressPoints(2)=[1];
for e=1:numelem
indice=element(e,:); indiceB=[indice]; nn=length(indice);
for q=1:nn
pt=stressPoints(q);
N=([1-pt,1+pt]/2);
dNdxi=[-1;1]/2;

3.6 C
odigo para problema de barra
54
55
56
57
58
59
60
61
62
63

69

dNdx=dNdxi*invJ0;
% B
B=zeros(1,nn); B(1:nn) = dNdx(:);
% deformacao do elemento no ponto de tensao
strain=B*U(indiceB); stress(e,q)=E*strain;
end
end
strain
stress

Apresentamos agora uma explicacao detalhada do codigo, pela sua relev


ancia noutros c
odigos mais adiante. Nas instrucoes seguintes usamos varias
func
oes importantes, em particular o linspace que permite uma divisao regular de coordenadas entre 0 e L,colocando essas coordenadas na variavel
node.
node=linspace(0,L,numelem+1);xx=node;
Na instruc
ao
for i=1:numelem; element(i,1)=i; element(i,2)=i+1;end
faz-se a gerac
ao dos n
os em cada elemento, atraves dum ciclo FOR/END.
Esta forma de gerar as conectividades e interessante se se quiser realizar varios
testes com diferentes n
umero de nos. O resultado obtido e
element =
1
2
3

2
3
4

Usamos neste problema uma quadratura de Gauss com um ponto de integrac


ao, com coordenada = 0 e peso 2,
W=2;Q=0; % W: peso da quadratura de Gauss; Q: local do ponto de gauss
De seguida calculamos a matriz de rigidez, usando dois ciclos, um primeiro
ligado ao elemento e outro ligado `a integracao de Gauss, ou seja usando um
determinado n
umero de pontos de Gauss e cada elemento. A matriz de rigidez e obtida por soma das contribuicoes de cada elemento e de cada ponto
de Gauss, espalhada nas posicoes adequadas (tendo em conta os graus de
liberdade de cada elemento).
for e=1:numelem;
indice=element(e,:); nn=length(indice);
length_element=node(indice(2))-node(indice(1));
detJ0=length_element/2;invJ0=1/detJ0;

70

3 Elementos finitos isoparametricos e elementos de barra

% ponto de gauss central (xi=0, peso W=2)


N=([1,1]/2);
dNdxi=[-1;1]/2;
dNdx=dNdxi*invJ0;
% matriz B
B=zeros(1,nn); B(1:nn) = dNdx(:);
K(indice,indice)=K(indice,indice)+B*B*2*detJ0*EA;
% longo da barra
end
Depois de se calcular o vector de graus de liberdade em cada elemento (indice), calcula-se o comprimento do elemento (length_element), bem como o
determinante do Jacobiano e a sua inversa. Para cada ponto de Gauss no interior do elemento, apresenta-se a matriz de funcoes de forma N e a matriz de
suas derivadas em ordem `
as coordenadas locais (dNdxi) e em relacao `as coordenadas globais (dNdx) atraves da inversa do jacobiano (dNdx=dNdxi*invJ0).
O c
alculo da matriz de rigidez fica entao ligado ao somatorio
K=

ne
X

BT EABdet(J)W

e=1

ondene representa o n
umero total de elementos.

(3.42)

4
An
alise de barras inclinadas (trelicas)

4.1 Introduc
ao
Neste captulo apresenta-se um estudo por elementos finitos de barras inclinadas (trelicas) para a analise de porticos que suportam apenas cargas
longitudinais. Apresenta-se tambem um codigo MATLAB para o calculo de
efectuado o desenho da malha
deslocamentos, reacc
oes e tensoes nas barras. E
e sua deformada.
Uma trelica consiste em membros estruturais que suportam apenas forcas
de compress
ao ou tracc
ao. Todas as forcas e reaccoes estao aplicadas nos
n
os (juntas sem atrito), conforme ilustrado na figura 4.1. Embora se possam
estudar estas estruturas pelo metodo dos nos ou das seccoes, o metodo dos
elementos finitos permite o estudo de estruturas indeterminadas, o que nao e
possvel pelos metodos dos nos ou seccoes.
P

P1

Figura 4.1. Exemplo de trelica bidimensional

72

4 An
alise de barras inclinadas (trelicas)

4.2 Trelicas no plano


Tendo em conta a diferente orientacao no espaco bidimensional duma trelica
tipica, conforme ilustrado na figura 4.1, torna-se necessario introduzir um sistema de coordenadas local, ligado a cada barra e um sistema de coordenadas
global, ligado `
a estrutura.
Considere-se um elemento de barra inclinada na figura 4.2 definida pelos
seus n
os 1 e 2. Ao sistema local x0 , y 0 estao associados os graus de liberdade
(deslocamentos) u01 , u02 . No sistema global, no entanto, cada no tem dois graus
de liberdade.
x0
u02

u4

u3

u2

u1
x
u01

Figura 4.2. Trelica bidimensional

Para cada elemento, os deslocamentos no sistema local sao


T

u0 = [u01

u02 ]

(4.1)

enquanto que no sistema global, o campo de deslocamentos e entao definido


por
uT = [u1

u2

u3

u4 ]

(4.2)

A relac
ao entre os deslocamentos dos dois sistemas e dada pelas relacoes
u01 = u1 cos() + u2 sin()

(4.3)

u02

(4.4)

= u3 cos() + u4 sin()

os cossenos directores l e m sao dados por l = cos(), m = sen(), sendo estes


os cossenos dos
angulos que o eixo x0 faz com os eixos x, y, respectivamente.
Pode ent
ao traduzir-se a relacao entre deslocamentos na forma
u0 = Lu
sendo a matriz de cossenos directores L dada por

(4.5)

4.3 Matriz de rigidez


L=

l m0 0
0 0 l m

73


(4.6)

Estes cossenos directores s


ao calculados por
x2 x1
;
Le

l=

m=

y2 y1
Le

sendo o comprimento do elemento, Le , dado por


p
Le = (x2 x1 )2 + (y2 y1 )2

(4.7)

(4.8)

4.3 Matriz de rigidez


Tomando em conta que a barra inclinada e um elemento unidimensional
quando se considera o sistema local, podemos escrever a matriz de rigidez
no sistema local como


EA 1 1
K0 =
(4.9)
Le 1 1
onde A e a
area do elemento e E o modulo de elasticidade do material da
barra.
No sistema local a energia de deformacao do elemento e definida por
Ue =

1 0T 0 0
u Ku
2

(4.10)

Substituindo u0 = Lu na equacao acima, obtem-se


1 T T 0
u [L K L]u
2
Podemos ent
ao definir a matriz de rigidez como
Ue =

(4.11)

K = LT K0 L

(4.12)

Obtendo-se finalmente
l2
EA
lm
K=
Le l2
lm

lm
m2
lm
m2

l2
lm
l2
lm

lm
m2

lm
m2

(4.13)

74

4 An
alise de barras inclinadas (trelicas)

4.4 C
alculo de tens
oes
No sistema local, a tens
ao no elemento de barra e calculada por = E.
Como a deformac
ao e a variacao de comprimento por unidade do comprimento
original, pode escrever-se
 0
E
u02 u01
E
u1
=
[1 1]
[1 1]u0
(4.14)
=E
=
u02
Le
Le
Le
Podemos agora proceder `
a transformacao de eixos locais para globais,
E
[1
Le

1]Lu =

E
[l
Le

m]u

(4.15)

4.5 Problema de trelica plana


Considere-se a trelica da figura 4.3, onde uma forca pontual vertical de 10000
e aplicada no n
o 1. O m
odulo de elasticidade e E = 30e6, a area A = 2.

2
10

45
y

45
4

1
10000
10

Figura 4.3. Problema de trelica plana

O c
odigo (logan81.m) e a seguir apresentado:
1
2
3
4
5
6
7
8

clear all
colordef white
E=30e6;
A=2;
EA=E*A;
node=[ 0 0;0 120;120 120;120 0];
xx=node(:,1);
yy=node(:,2);
element=[ 1 2;1 3;1 4];
numnode=size(node,1);
numelem=size(element,1);

4.5 Problema de trelica plana


9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55

U=zeros(2*numnode,1);
f=zeros(2*numnode,1);
K=sparse(2*numnode,2*numnode);
% forca aplicada no no 1
f(2)=-10000;
for e=1:numelem
indice=element(e,:)
indiceB=[ indice(1)*2-1 indice(1)*2 indice(2)*2-1 indice(2)*2]
xa=xx(indice(2))-xx(indice(1))
ya=yy(indice(2))-yy(indice(1))
length_element=sqrt(xa*xa+ya*ya);
C=xa/length_element;
S=ya/length_element;
k1=EA/length_element*...
[C*C C*S -C*C -C*S; C*S S*S -C*S -S*S;
-C*C -C*S C*C C*S;-C*S -S*S C*S S*S];
K(indiceB,indiceB)=K(indiceB,indiceB)+k1
end
% c. fronteira
activeDof=[1 2];
U=K(activeDof,activeDof)\f(activeDof)
U1=zeros(2*numnode,1);
U1(activeDof)=U;
us=1:2:2*numnode-1;
vs=2:2:2*numnode;
format long
figure
L=node(2,1)-node(1,1);
dispNorm=max(sqrt(U1(us).^2+U1(vs).^2));
scaleFact=15000*dispNorm;
clf
hold on
XX=U1(us);YY=U1(vs);
plot_mesh(node+scaleFact*[XX YY],element,L2,k.-);
plot_mesh(node,element,L2,k.--);
% forcas nos elementos
for e=1:numelem
indice=element(e,:)
indiceB=[ indice(1)*2-1 indice(1)*2 indice(2)*2-1 indice(2)*2]
xa=xx(indice(2))-xx(indice(1))
ya=yy(indice(2))-yy(indice(1))
length_element=sqrt(xa*xa+ya*ya);
cosa=xa/length_element;
sena=ya/length_element;
sigma(e)=E/length_element* ...
[-cosa -sena cosa sena]*U1(indiceB);
end

75

76

4 An
alise de barras inclinadas (trelicas)

Os resultados obtidos conferem com os apresentados no livro de Logan


[123] , p
agina 81 (terceira edicao). Os deslocamentos nodais sao os seguintes:
U1 =
0.00414213562373
-0.01585786437627
0
0
0
0
0
0
enquanto que as tens
oes (constantes em cada elementos) sao as seguintes:
>> sigma
ans =
1.0e+03 *
3.96446609406726
1.46446609406726
-1.03553390593274
A deformada obtida e ilustrada na figura 4.4.

120

100

80

60

40

20

0
0

20

40

60

80

100

120

Figura 4.4. Deformada para o problema de trelica plana

4.6 Outro problema de trelica bidimensional

77

4.6 Outro problema de trelica bidimensional


Apresenta-se agora um outro problema de trelicas. Este exemplo ilustra uma
das principais dificuldades do projectista de elementos finitos, que e a imposic
ao de condic
oes fronteira.
Considere-se a trelica da figura 4.5, em que o modulo de elasticidade e
E = 70GPa,
area A = 3e 4m2 , proposto por Logan [123], na pagina 128.
Propoe-se aqui que se calcule os deslocamentos e tensoes nos membros, usando
a estrutura completa e usando condicoes de simetria. O problema reside no
facto do n
o 1 n
ao se deslocar em x, o que traz problemas para a condicao de
simetria, dado que se restringirmos o deslocamento em x do no 1, estamos a
assumir que o n
o 5 tambem nao se desloca em x o que e falso. A referencia
[123] usa esta condic
ao, que nao e correcta. Os resultados obtidos pelo codigo
MATLAB que juntamos a seguir reproduz esse erro, mas e importante mostrar
o c
odigo para se verificar as implicacoes de condicoes fronteira erradas. Na
figura 4.6 mostra-se a incorreccao, notando que se assume que o no 1 nao
mexe (correcto), mas implicando que o no 5 tambem nao se move o que e
incorrecto, porque o seu apoio e simples.
100 kN

50kN

50 kN

5
6

3m

11

7
1

10

2
3m

3m

Figura 4.5. Trelica do livro de Logan, p


agina 128

O c
odigo (logan128332.m) e a seguir apresentado:
1
2
3
4
5
6
7
8
9

% logan, pag 128, com condies fronteira INCORRECTAS


% considerando Condies de simetria (metade da carga a meio
% e restrio do movimento horizontal dos nos 3 e 4)
clear all
colordef white
E=70000;
A=300;
EA=E*A;
node=[ 0 0;0 3000;3000 0;3000 3000];
xx=node(:,1);
yy=node(:,2);
element=[ 1 2;1 3;2 3;2 4;1 4;3 4];

78

4 An
alise de barras inclinadas (trelicas)
50 kN

50kN

5
6

2
3m

Graus de liberdade
restringidos
Figura 4.6. Trelica do livro de Logan, p
agina 128, Opc
ao INCORRECTA de
condic
oes fronteira para simetria

10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34

numnode=size(node,1);
numelem=size(element,1);
U=zeros(2*numnode,1);
f=zeros(2*numnode,1);
K=sparse(2*numnode,2*numnode);
% forca aplicada no no 1
f(4)=-50000;
f(8)=-50000;
for e=1:numelem
indice=element(e,:)
indiceB=[ indice(1)*2-1 indice(1)*2 indice(2)*2-1 indice(2)*2]
xa=xx(indice(2))-xx(indice(1))
ya=yy(indice(2))-yy(indice(1))
length_element=sqrt(xa*xa+ya*ya);
C=xa/length_element;
S=ya/length_element;
k1=EA/length_element*...
[C*C C*S -C*C -C*S; C*S S*S -C*S -S*S;
-C*C -C*S C*C C*S;-C*S -S*S C*S S*S];
K(indiceB,indiceB)=K(indiceB,indiceB)+k1
end
% c. fronteira
activeDof=[1 3 4 8 6];
U=K(activeDof,activeDof)\f(activeDof)
U1=zeros(2*numnode,1);

4.6 Outro problema de trelica bidimensional


35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59

79

U1(activeDof)=U;
us=1:2:2*numnode-1;
vs=2:2:2*numnode;
format long
figure
L=node(2,1)-node(1,1);
dispNorm=max(sqrt(U1(us).^2+U1(vs).^2));
scaleFact=2*dispNorm;
clf
hold on
XX=U1(us);YY=U1(vs);
plot_mesh(node+scaleFact*[XX YY],element,L2,k.-);
plot_mesh(node,element,L2,k.--);
% forcas nos elementos
for e=1:numelem
indice=element(e,:)
indiceB=[ indice(1)*2-1 indice(1)*2 indice(2)*2-1 indice(2)*2]
xa=xx(indice(2))-xx(indice(1))
ya=yy(indice(2))-yy(indice(1))
length_element=sqrt(xa*xa+ya*ya);
cosa=xa/length_element;
sena=ya/length_element;
sigma(e)=E/length_element* ...
[-cosa -sena cosa sena]*U1(indiceB);
end

Os resultados obtidos com esta opcao sao os seguintes:


>> U1
U1 =
0
0
1.50865353300281
-8.65151067585996
0
-14.42728078345209
0
-15.93593431645490
Na figura 4.7 apresenta-se a deformada da estrutura completa. Note-se o
movimento horizontal do n
o 5.
O c
odigo (logan128332completo.m) para a estrutura completa e o seguinte
1
2
3
4

% logan pagina 128, estrutura completa


clear all
colordef white

80

4 An
alise de barras inclinadas (trelicas)

3500
3000
2500
2000
1500
1000
500
0
!500
!1000
0

1000

2000

3000

4000

5000

6000

Figura 4.7. Trelica do livro de Logan, p


agina 128, estrutura completa

5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32

E=70000;
A=300;
EA=E*A;
node=[ 0 0;0 3000;3000 0;3000 3000;6000 0;6000 3000];
xx=node(:,1);
yy=node(:,2);
element=[ 1 2;1 3;2 3;2 4;1 4;3 4;3 6;4 5;4 6;3 5;5 6];
numnode=size(node,1);
numelem=size(element,1);
U=zeros(2*numnode,1);
f=zeros(2*numnode,1);
K=sparse(2*numnode,2*numnode);
% forca aplicada no no 1
f(4)=-50000;
f(8)=-100000;
f(12)=-50000;
for e=1:numelem
indice=element(e,:)
indiceB=[ indice(1)*2-1 indice(1)*2 indice(2)*2-1 indice(2)*2]
xa=xx(indice(2))-xx(indice(1))
ya=yy(indice(2))-yy(indice(1))
length_element=sqrt(xa*xa+ya*ya);
C=xa/length_element;
S=ya/length_element;
k1=EA/length_element*...
[C*C C*S -C*C -C*S; C*S S*S -C*S -S*S;
-C*C -C*S C*C C*S;-C*S -S*S C*S S*S];
K(indiceB,indiceB)=K(indiceB,indiceB)+k1
end
% c. fronteira
dofs=[1 2 10];

4.6 Outro problema de trelica bidimensional


33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63

activeDof=setdiff([1:2*numnode], ...
[dofs]);
%activeDof=[3 4 8 6];
U=K(activeDof,activeDof)\f(activeDof)
U1=zeros(2*numnode,1);
U1(activeDof)=U;
us=1:2:2*numnode-1;
vs=2:2:2*numnode;
format long
figure
L=node(2,1)-node(1,1);
dispNorm=max(sqrt(U1(us).^2+U1(vs).^2));
scaleFact=2*dispNorm;
clf
hold on
XX=U1(us);YY=U1(vs);
plot_mesh(node+scaleFact*[XX YY],element,L2,k.-);
plot_mesh(node,element,L2,k.--);
% forcas nos elementos
for e=1:numelem
indice=element(e,:)
indiceB=[ indice(1)*2-1 indice(1)*2 indice(2)*2-1 indice(2)*2]
xa=xx(indice(2))-xx(indice(1))
ya=yy(indice(2))-yy(indice(1))
length_element=sqrt(xa*xa+ya*ya);
cosa=xa/length_element;
sena=ya/length_element;
sigma(e)=E/length_element* ...
[-cosa -sena cosa sena]*U1(indiceB);
end

Os resultados para a estrutura completa sao entao


>> U1
U1 =
0
0
7.14285714285716
-9.03863711864189
5.24707716707241
-16.29649260048689
5.24707716707241
-20.08805255205638
10.49415433414481
0

81

82

4 An
alise de barras inclinadas (trelicas)

3.35129719128766
Como se pode verificar destes resultados o deslocamento vertical do no 4, passa
de cerca de 20 para a estrutura completa para cerca de 15 com as condicoes
de simetria usadas (incorrectas), o que torna a estrutura muito mais rigida,
devido
a suposic
ao de duplo apoio no no 5.
Podemos ent
ao melhorar a condicao de simetria, considerando que o no 1
pode mexer-se em x (figura 4.8). Nao sendo completamente correcto e mais
pr
oximo da realidade da deformada da estrutura.
50 kN

50kN

5
6

2
3m

Graus de liberdade
restringidos
Figura 4.8. Trelica do livro de Logan, p
agina 128, Opc
ao melhorada de condic
oes
fronteira para simetria

Considere ent
ao o c
odigo seguinte:
O c
odigo (logan128melhorado.m) e a seguir apresentado:
1
2
3
4
5
6
7

% logan, pag 128, com condies fronteira CORRECTAS


% considerando Condies de simetria (metade da carga a meio
% e restrio do movimento horizontal dos nos 3 e 4)
clear all
colordef white
E=70000;
A=300;
EA=E*A;
node=[ 0 0;0 3000;3000 0;3000 3000];

4.6 Outro problema de trelica bidimensional


8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56

xx=node(:,1);
yy=node(:,2);
element=[ 1 2;1 3;2 3;2 4;1 4;3 4];
numnode=size(node,1);
numelem=size(element,1);
U=zeros(2*numnode,1);
f=zeros(2*numnode,1);
K=sparse(2*numnode,2*numnode);
% forca aplicada no no 1
f(4)=-50000;
f(8)=-50000;
for e=1:numelem
indice=element(e,:)
indiceB=[ indice(1)*2-1 indice(1)*2 indice(2)*2-1 indice(2)*2]
xa=xx(indice(2))-xx(indice(1))
ya=yy(indice(2))-yy(indice(1))
length_element=sqrt(xa*xa+ya*ya);
C=xa/length_element;
S=ya/length_element;
k1=EA/length_element*...
[C*C C*S -C*C -C*S; C*S S*S -C*S -S*S;
-C*C -C*S C*C C*S;-C*S -S*S C*S S*S];
K(indiceB,indiceB)=K(indiceB,indiceB)+k1
end
% c. fronteira
activeDof=[1 3 4 8 6];
U=K(activeDof,activeDof)\f(activeDof)
U1=zeros(2*numnode,1);
U1(activeDof)=U;
us=1:2:2*numnode-1;
vs=2:2:2*numnode;
format long
figure
L=node(2,1)-node(1,1);
dispNorm=max(sqrt(U1(us).^2+U1(vs).^2));
scaleFact=2*dispNorm;
clf
hold on
XX=U1(us);YY=U1(vs);
plot_mesh(node+scaleFact*[XX YY],element,L2,k.-);
plot_mesh(node,element,L2,k.--);
% forcas nos elementos
for e=1:numelem
indice=element(e,:)
indiceB=[ indice(1)*2-1 indice(1)*2 indice(2)*2-1 indice(2)*2]
xa=xx(indice(2))-xx(indice(1))
ya=yy(indice(2))-yy(indice(1))
length_element=sqrt(xa*xa+ya*ya);
cosa=xa/length_element;
sena=ya/length_element;

83

84
57
58
59

4 An
alise de barras inclinadas (trelicas)
sigma(e)=E/length_element* ...
[-cosa -sena cosa sena]*U1(indiceB);
end

que produz a deformada da figura 4.9

3000

2500

2000

1500

1000

500

!500
!500

500

1000

1500

2000

2500

3000

3500

Figura 4.9. Trelica do livro de Logan, p


agina 128, estrutura com simetria mais
adequada

Os resultados com esta opcao sao os seguintes:


>> U1
U1 =
-5.05076272276106
0
2.09209442009609
-9.23495156295323
0
-17.24438258837926
0
-19.33647700847535
o que produz um deslocamento vertical no no 4 mais adequado (19.33).

4.7 Exemplo de trelica com mola

85

4.7 Exemplo de trelica com mola


Considere-se a estrutura da figura , que contem dois elementos de trelica e
um elemento de mola. Para os elementos de barra, considere-se o modulo de
elasticidade E = 210GPa,
area A = 5e 4m2 . O problema possui 4 nos e tres
elementos. A ideia agora ser
a misturar (com atencao aos graus de liberdade de
cada elemento), as matrizes de rigidez dos dois tipos de elementos. Pretende-se
calcular os deslocamentos nodais e as tensoes nos elementos.
2
5m

25kN

45o
3
10 m

k=2000kN/m

Figura 4.10. Trelica do livro de Logan, p


agina 129

O c
odigo (logan129.m) e a seguir apresentado:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

% logan pagina 129 .........................


clear all
colordef white
E=210000;
A=500;
EA=E*A;
node=[0 0;-5000*cos(pi/4) 5000*sin(pi/4); -10000 0];
xx=node(:,1);
yy=node(:,2);
element=[ 1 2;1 3;1 4];
numnode=size(node,1);
numelem=size(element,1);
U=zeros(7,1);
f=zeros(7,1);
K=sparse(7,7);
% forca aplicada no no 1 ...................
f(2)=-25000;
for e=1:2
indice=element(e,:)
indiceB=[ indice(1)*2-1 indice(1)*2 ...
indice(2)*2-1 indice(2)*2]

86
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49

4 An
alise de barras inclinadas (trelicas)
xa=xx(indice(2))-xx(indice(1))
ya=yy(indice(2))-yy(indice(1))
length_element=sqrt(xa*xa+ya*ya);
C=xa/length_element;
S=ya/length_element;
k1=EA/length_element*...
[C*C C*S -C*C -C*S; C*S S*S -C*S -S*S;
-C*C -C*S C*C C*S;-C*S -S*S C*S S*S];
K(indiceB,indiceB)=K(indiceB,indiceB)+k1
end
% mola
K([2 7],[2 7])= K([2 7],[2 7])+2000*[1 -1;-1 1]
% c. fronteira .............................
activeDof=[1 2];
% solucao ..................................
U=K(activeDof,activeDof)\f(activeDof)
U1=zeros(7,1);
U1(activeDof)=U;
% tenses nos elementos ....................
for e=1:2
indice=element(e,:)
indiceB=[ indice(1)*2-1 indice(1)*2 ...
indice(2)*2-1 indice(2)*2]
xa=xx(indice(2))-xx(indice(1))
ya=yy(indice(2))-yy(indice(1))
length_element=sqrt(xa*xa+ya*ya);
cosa=xa/length_element;
sena=ya/length_element;
sigma(e)=E/length_element* ...
[-cosa -sena cosa sena]*U1(indiceB);
end

Note-se que a rigidez da mola e somadanos graus de liberdades 2 e 7,


correspondentes aos movimentos verticais dos nos 1 e 4.
Na figura 4.11 ilustra-se a numeracao dos graus de liberdade.
Os resultados para os deslocamentos do nos 1 sao:
>> U1
U1 =
-1.72413793103448
-3.44827586206897
0
0
0
0
0

4.8 Trelicas tridimensionais

87

(4)
(3)

2
5m

25kN
(2)

(6)
45o
(5)

(1)

3
10 m

k=2000kN/m

4
(7)

Figura 4.11. Trelica do livro de Logan, p


agina 129, numerac
ao dos graus de liberdade

e as tens
oes nas barras
>> sigma
sigma =
51.20428415488792 -36.20689655172414
Assim, a barra 1 est
a em traccao e a barra 2 em compressao.

4.8 Trelicas tridimensionais


Considere-se agora elementos de barra, num contexto tridimensional, conforme ilustrado na figura 4.12.
A matriz de rigidez em eixos locais e dada por

Cx2 Cx Cy Cx Cz Cx2 Cx Cy Cx Cz

Cy2 Cy Cz Cx Cy Cy2 Cy Cz

EA
Cz2 Cx Cz Cy Cz Cz2

K=(
)
Cx2
Cx Cy Cx Cz
L

Cy2
Cy Cz
simetria
Cz2

88

4 An
alise de barras inclinadas (trelicas)
Y
x
2

z
Z
z

Figura 4.12. Orientac


ao espacial de trelica tridimensional

onde os cossenos directores sao definidos por


Cx =

y2 y1
z2 z1
x2 x1
; Cy =
; Cz =
L
L
L

executando-se depois uma transformacao de eixos para calcular a matriz


de rigidez e o vector de cargas equivalentes em eixos globais.
4.8.1 Exemplo de tipo treli
ca 3D
Considere-se o problema ilustrado na figura 4.13, para o qual se elaborou o
programa MATLAB (logan89.m) a seguir descrito.
O c
odigo (logan89.m) e a seguir apresentado:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

clear all;clf;colordef white;


E=1.2e6; A=[0.302;0.729;0.187];node=[72 0 0; 0 36 0; 0 36 72; 0 0 -48];
xx=node(:,1);
yy=node(:,2); zz=node(:,3);
element=[1 2;1 3;1 4]; numnode=size(node,1);numelem=size(element,1);
U=zeros(3*numnode,1);f=zeros(3*numnode,1);K=sparse(3*numnode,3*numnode);
f(3)=-1000.0;
for e=1:numelem ;
index=element(e,:) ;
indexB=[3*index(1)-2 3*index(1)-1 3*index(1) 3*index(2)-2 3*index(2)-1 3*index(2)] ;
x1=node(index(1),1);y1=node(index(1),2);z1=node(index(1),3);x2=node(index(2),1);
y2=node(index(2),2);z2=node(index(2),3);
L = sqrt((x2-x1)*(x2-x1) + (y2-y1)*(y2-y1) + (z2-z1)*(z2-z1));
CXx = (x2-x1)/L;CXx=acos(CXx)*180/pi;
CYx = (y2-y1)/L;CYx=acos(CYx)*180/pi;
CZx = (z2-z1)/L;CZx=acos(CZx)*180/pi;
x = CXx*pi/180; u = CYx*pi/180; v = CZx*pi/180;
Cx = cos(x);
Cy = cos(u);
Cz = cos(v);

4.8 Trelicas tridimensionais

89

3
u=v=w=0
z
(2)
y
u=v=w=0
A1 = 0.302

A2 = 0.729
A3 = 0.187

(1)

X1 = (72, 0, 0)
X2 = (0, 36, 0)
v=0
1
(3)

X3 = (0, 36, 72)


X4 = (0, 0, 48)
x

1000

4
u=v=w=0

Figura 4.13. Problema de trelica 3D

18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41

w = [Cx*Cx Cx*Cy Cx*Cz ; Cy*Cx Cy*Cy Cy*Cz ; Cz*Cx Cz*Cy Cz*Cz];


K(indexB,indexB)=K(indexB,indexB)+E*A(e)/L*[w -w ; -w w];
end
% CF e solucao
dofs=[2 4:12]; activos=setdiff([1:3*numnode],[dofs]);
U=K(activos,activos)\f(activos);U1=zeros(3*numnode,1);U1(activos)=U;
% deslocamentos
U=U1; jj=1:12;
disp(Deslocamentos)
format long;[jj U]
% reaccoes
F=K*U;
disp(Reaccoes)
format long;[jj F]
% % forcas e tensoes nos elementos
fid = fopen(exp.txt,w);
fprintf(fid,Forcas e tensoes nos elementos\n)
ff=zeros(numelem,6); format
for e=1:numelem;
index=element(e,:) ;
indexB=[3*index(1)-2 3*index(1)-1 3*index(1) 3*index(2)-2 3*index(2)-1 3*index(2)] ;
u=U(indexB);
x1=node(index(1),1);y1=node(index(1),2);z1=node(index(1),3);x2=node(index(2),1);
y2=node(index(2),2);z2=node(index(2),3);

90
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59

4 An
alise de barras inclinadas (trelicas)
L = sqrt((x2-x1)*(x2-x1) + (y2-y1)*(y2-y1) + (z2-z1)*(z2-z1));
CXx = (x2-x1)/L;CXx=acos(CXx)*180/pi;
CYx = (y2-y1)/L;CYx=acos(CYx)*180/pi;
CZx = (z2-z1)/L;CZx=acos(CZx)*180/pi;
x = CXx * pi/180;
w = CYx * pi/180;
v = CZx * pi/180;
Cx = cos(x);
Cy = cos(w);
Cz = cos(v);
member_forces(e)= E*A(e)/L*[-Cx -Cy -Cz Cx Cy Cz]*u;
member_stress(e)=member_forces(e)/A(e);
fprintf(fid,%1.0f %12.8f %12.8f\n,e, member_forces(e), member_stress(e));
end
fprintf(Forcas e tensoes nos elementos)
jj=1:numelem; format long;[jj member_forces member_stress]
%fprintf(1,X is %6.2f meters or %8.3f mm\n,9.9,9900,B)
fclose(fid)
fprintf(%1.0f %-12.8f %12.3g\n,e, member_forces(1), member_stress(1));
fprintf(%1.0f %-12.8f %12.3g\n,e, member_forces(2), member_stress(2));
fprintf(%1.0f %-12.8f %12.3g\n,e, member_forces(3), member_stress(3));

4.9 Resultados do exemplo de trelica 3D


Deslocamentos nodais
1
-0.07111
0.00000
-0.26624
2
0.00000
0.00000
0.00000
3
0.00000
0.00000
0.00000
4
0.00000
0.00000
0.00000
Reaccoes
2
-0.00000
4 -223.16321
5 -1000.00000
6 256.12263
7 -128.06132
8
-0.00000
9 -702.44905
10 351.22453
11 702.44905
12 446.32642
Forcas e tensoes nos elementos
1 -286.35381001 -948.19142387
2 1053.67358035 1445.36842298
3 -536.41759721 -2868.54330060

5
Vigas de Bernoulli e p
orticos planos

5.1 Introduc
ao
Neste captulo faz-se a an
alise por elementos finitos de porticos planos, atraves
da combinac
ao de elementos de barra e de elementos de viga fina.
Para situar o problema de forma consistente, apresenta-se em primeiro
lugar a formulac
ao de viga fina, dado que ja foi realizada a formulacao de
barra.

5.2 Formulac
ao de viga de Bernoulli
Considera-se uma viga fina , de comprimento L, sujeita a forcas distribuidas
q, momentos flectores M e cargas pontuais Pi . Considera-se um material de
m
odulo de elasticidade E e com uma seccao transversal de area A e momento
de inercia I.
A energia potencial da viga e dada por

1
2


EI

d2 w
dx2

2

Z
dx

qwdx
0

X
i

Pi wi

Mk wk0

(5.1)

onde w corresponde ao deslocamento transversal (flecha) da viga, wi representa o deslocamento num ponto discreto i e w0 representa a inclinacao da
normal, representada pela primeira derivada do deslocamento.
Tendo em conta uma formulacao de Galerkin, estabelecem-se antes de mais
as equac
oes de equilbrio da viga, na forma
dV
=q
dx
dM
=V
dx

(5.2)
(5.3)

92

5 Vigas de Bernoulli e p
orticos planos

sendo V o esforco transverso.


Quando se combinam estas duas equacoes, obtem-se uma u
nica equacao
de equilbrio, dada por


d2
d2 w
EI 2 q = 0
(5.4)
dx2
dx
Para uma soluc
ao aproximada segundo o metodo de Galerkin, usamos uma
soluc
ao aproximada w, tal que


Z L 2 
d
d2 w
EI 2 q dx = 0
(5.5)
dx2
dx
0
onde e uma func
ao arbitraria que usa as mesmas funcoes de forma de w.
Integrando por partes esta expressao, obtem-se a expressao
Z

EI
0

d2 w d2
dx
dx2 dx2

qdx
0

Pi i

Mk 0k = 0

(5.6)

5.3 Formulac
ao de elementos finitos
O elemento finito de viga fina, figura 5.1, tem como graus de liberdade em
dw
cada n
o um deslocamento transversal w e a sua primeira derivada w0 =
.
dx
O vector de deslocamentos do elemento e assim
uT = [w1 ,

dw1
,
dx

w2 ,

dw2
]
dx

w1
1

(5.7)

w2
e

w10

2
w20

Figura 5.1. Graus de liberdade da viga de Bernoulli

Dado que o vector de deslocamentos e composto simultaneamente por deslocamentos e suas derivadas, h
a necessidade de usar funcoes de forma de Hermite,
que satisfazem a continuidade de funcao e de sua inclinacao. Cada funcao de
forma, de ordem c
ubica, e representada por

5.3 Formulac
ao de elementos finitos

Hi = ai + bi + ci 2 + di 3 , i = 1, 2, 3, 4

93

(5.8)

As func
oes assim dadas devem satisfazer as condicoes ilustradas na tabela 5.1.
Tabela 5.1. Condic
oes a satisfazer para func
oes de Hermite
H1 H10 H2 H20 H3 H30 H4 H40
=-1 1 0 0 1 0 0 0 0
=1 0 0 0 0 1 0 0 1

Os coeficientes ai , .., di podem agora ser calculados, atraves da imposicao das


condic
oes da tabela 5.1, obtendo-se entao as funcoes de forma de Hermite
1
1
2
(1 ) (2 + ) = (2 3 + 3 )
4
4
1
1
2
H2 = (1 ) ( + 1) = (1 2 + 3 )
4
4
1
1
2
H3 = (1 + ) (2 ) = (2 + 3 3 )
4
4
1
1
2
H4 = (1 + ) ( 1) = (1 + 2 + 3 )
4
4
H1 =

(5.9)
(5.10)
(5.11)
(5.12)

Usando as func
oes de forma, pode escrever-se a interpolacao para o deslocamento transversal, na forma




dw
dw
+ H3 w2 + H4
(5.13)
w() = H1 w1 + H2
d 1
d 2
A relac
ao entre as coordenadas cartesianas e naturais e obtida por
1
1+
x1 + x2
x2 x1
x1 +
x2 =
+

2
2
2
2
sabendo que le = x2 x1 , obtem-se
x=

(5.14)

dx
le
=
d
2

(5.15)

dw
dw dx
le dw
=
=
d
dx d
2 dx

(5.16)

Pela regra da cadeia obtem-se

obtendo-se assim
w() = H1 u1 +
ou

le
le
H2 u 2 + H3 u 3 + H4 u 4
2
2

(5.17)

94

5 Vigas de Bernoulli e p
orticos planos

w = Hu

(5.18)

sendo
H = [H1 ,

le
H2 ,
2

le
H4 ]
2

H3 ,

(5.19)

Sabendo que
d2 w
4 d2 w
=
dx2
le2 d 2

2 dw
dw
=
,
dx
le d

(5.20)

Substituindo w = Hu, obtemos entao


 2 T  2 
2
d2 w
d H
d H
T 16
=
u
u
2
4
2
dx
le
d
d 2

 2  
d H
3
1 + 3 le
3
1 + 3 le
=
,
,

,
d 2
2
2
2
2
2 2


(5.21)
(5.22)

Tendo em conta que dx = le /2d e tomando a energia de deformacao do


elemento
1
Ue = EI
2

Le

Z
0

d2 w
dx2

2
dx

(5.23)

obtemos
9

3
9
3
2
(1 + 3)le
2
(1 + 3)le
4

8
4
8


2

1 + 3
3
1 + 9 2 2

2
le (1 + 3)le
le
Z 1

4
8
16
8EI
1

Ue = uT 3
du

2
le 1
9 2
3

(1 + 3)le

4
8



2

1 + 3
2
le
sim.
4
(5.24)
Sabendo que
Z

2 d =

2
,
3

2d = 0,
1

d = 2

(5.25)

obtemos
Ue =

1 T
u Ke u
2

(5.26)

5.5 Exemplo de viga em flex


ao

onde a matriz (simetrica) de rigidez do elemento, Ke e dada por

12 6le 12 6le

2
2

4l
6l
2l
e
e
e

EI

Ke = 3

le

12
6l
e

sim.
4le2

95

(5.27)

5.4 Vector de carga equivalente a carga distribuida


O vector de carga equivalente a carga distribuida, q pode ser calculado, atendendo a que


Z
Z
qle 1
Hd u
(5.28)
qwdx =
2 1
le
Substituindo H e integrando, obtem-se
Z
qwdx = f eT u

(5.29)

le

onde
fe =

qle
,
2

qle2
,
12

qle
,
2

qle2
12

T
(5.30)

Este vector de carga e equivalente a uma carga nos nos representada na figura
5.2.

5.5 Exemplo de viga em flex


ao
Considere-se a viga de Bernoulli, sujeita a carga distribuida, com apoios simples ou encastrados, conforme ilustrado na figura 5.4.
O c
odigo que resolve este problema e listado a seguir. Note-se que contem
a parte de vibrac
oes livres que so sera tratada mais tarde. Os resultados para
a flecha central s
ao exactos `a setima casa decimal para apoios simples e `a
sexta casa decimal para apoios encastrados.
O c
odigo (bernoulliBeam.m) e a seguir apresentado:
1
2
3
4
5

clear;clf;
colordef white
state = 0;
rho=1;A=1;
E=1; I=1; EI=E*I;numx=20;node=linspace(0,1,numx+1);xx=node;L=max(node);

96

5 Vigas de Bernoulli e p
orticos planos

ql/2

ql/2
e

ql2 /12

ql2 /12

Figura 5.2. Forcas nos n


os correspondentes a carga distribuida no elemento de viga
de Bernoulli
P = 1()

EI = 1
exacto =

5P L4
384EI

L=1

P = 1()

EI = 1
exacto =

P L4
384EI

L=1

Figura 5.3. Elemento de viga de Bernoulli: resultados para viga simpl. apoiada e
encastrada, carga uniforme

6
7
8
9
10
11
12
13
14

for i=1:numx; element(i,1)=i; element(i,2)=i+1;end


P=-1;numnode=size(node,1);
numelem=size(element,1);
U=zeros(2*numnode,1);
f=zeros(2*numnode,1);
K=zeros(2*numnode,2*numnode); us=1:2:2*numnode;
vs=2:2:2*numnode;
M=zeros(2*numnode,2*numnode);
for e=1:numelem ;
index=element(e,:) ;
indexB=[ 2*(index(1)-1)+1 2*(index(2)-1) 2*(index(2)-1)+1 2*(index(2)-1)+2];
nn=length(index); length_element=xx(index(2))-xx(index(1)) ;ll=length_element;

5.5 Exemplo de viga em flex


ao

97

Figura 5.4. Resultados para SS: 0.0130208(exacto e numerico); Resultados para


CC: 0.002604(exacto e numerico)

98
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49

5 Vigas de Bernoulli e p
orticos planos
k1=EI/(length_element)^3*[12
6*length_element -12 6*length_element;
6*length_element 4*length_element^2 -6*length_element 2*length_element^2;
-12 -6*length_element 12 -6*length_element ;
6*length_element 2*length_element^2 -6*length_element 4*length_element^2];
a=length_element/2;
m1=rho*A*a/105*[78
22*a
27
-13*a;
22*a 8*a*a
13*a
-6*a*a;
27
13*a
78
-22*a;
-13*a -6*a*a -22*a
8*a*a];
K(indexB,indexB)=K(indexB,indexB)+k1;
M(indexB,indexB)=M(indexB,indexB)+m1;
f1=[P*length_element/2 P*length_element*length_element/12 P*length_element/2 ...
-P*length_element*length_element/12];
f(indexB)=f(indexB)+f1;
end
% encastrado em ambos os bordos
fixedNodeU =[1 2*numx+1]; fixedNodeV =[2 2*numx+2];
% simplesmente apoiado em ambos os bordos
%fixedNodeU =[1 2*numx+1]; fixedNodeV =[];
% encastrado em x=0
%fixedNodeU =[1]; fixedNodeV =[2];
dofs=[fixedNodeU;fixedNodeV];
activos=setdiff([1:2*numnode],[dofs]);
U=K(activos,activos)\f(activos);U1=zeros(2*numnode,1);U1(activos)=U;
U=U1;
plot(node,U(us),.)
% problema de vibracoes livres
[V,D]=eig(K(activos,activos),M(activos,activos));
D = diag(sqrt(D)*L*L*sqrt(rho*A/E/I));
[D,ii] = sort(D);

5.6 P
ortico plano
Consideram-se agora p
orticos planos, cujo elemento e representado na figura
5.5, onde se combinam elementos de barra e elementos de viga indicados anteriormente.
O vector de deslocamentos nodais global e o seguinte
uT = [u1 ,

u2 ,

u3 ,

u4 ,

u5 ,

u6 ]

(5.31)

Define-se tambem um sistema de coordenadas locais, com cosenos directores


l, m, relativos a um
angulo entre os eixos x0 e x. O vector de deslocamentos
neste sistema local e dado por

5.6 P
ortico plano

99

Figura 5.5. Elemento de p


ortico plano

u0 = [u01 ,

u02 ,

u03 ,

u04 ,

u05 ,

u06 ]

(5.32)

Lembrando que u03 = u3 , u06 = u6 , podemos obter a matriz de transformacao


local-global, na forma
u0 = Lu
(5.33)

l
m

0
L=
0

0
0

m0 0
l 0 0
0 1 0
0 0 l
0 0 m
0 0 0

0 0
0 0

0 0

m 0

l 0
0 1

(5.34)

Combinando a rigidez do elemento de barra e do elemento de viga, tendo


em conta os graus de liberdade enunciados, obtem-se a matriz de rigidez do
elemento de p
ortico plano, em coordenadas locais

100

5 Vigas de Bernoulli e p
orticos planos

EA
EA
0
0
0
0
L

12EI
6EI
6EI
12EI

3
2
3
2
L
L
L
L

4EI
6EI 2EI

0 2

L
L
L
0e

(5.35)
K =

EA

0
0

12EI
6EI

L3
L

4EI
sim.
L
A matriz de rigidez em coordenadas globais e obtida, tendo em conta a energia
de deformac
ao no elemento,

Ue =

1 0T 0 0
1
u K u = uT LT K0 Lu = uT Ku
2
2

(5.36)

onde
K = LT K0 L

(5.37)

Caso haja forcas distribuidas no elemento, para alem das forcas axiais, podem
calcular-se as forcas nodais equivalentes em coordenadas locais, `a imagem do
que foi feito atr
as e transforma-las para coordenadas globais, na forma
f = LT f 0

(5.38)

5.7 Exemplo de p
ortico plano
Considere-se o problema ilustrado na figura 5.6, onde um portico plano, encastrado nos apoios e carregado com uma forca pontual horizontal e uma forca
uniformemente distribuida vertical.
Tendo em conta o programa MATLAB que se apresenta a seguir, obtem-se
um deslocamento segundo x no no 1 de 0.092 in. Lembrar que o vector de
forcas equivalentes
a forca distribuida e de
f T = [0, 3000, 72000, 0, 3000, 72000]
tendo em conta a relac
ao (de 1 para 12) entre ft. e in..
O resultado obtido pelos elementos finitos coincide com a solucao analitica.
A numerac
ao usada no c
odigo MATLAB e indicada na figura 5.7.
O resultado completo obtido para os deslocamentos e o seguinte

5.7 Exemplo de p
ortico plano

101

y
500 lb/ft

3000 lb
1

2
1
8ft
2

12 ft

Figura 5.6. P
ortico plano sujeito a duas forcas

6
1

2
102

7
3

11

12

Figura 5.7. Numerac


ao global para o exemplo de p
ortico plano

102

5 Vigas de Bernoulli e p
orticos planos

U =
0.09176648375279
0.09011880107473
0
0
-0.00103584864162
-0.00178768077015
0
0
-0.00138736969739
-0.00003883014677
0
0

5.8 Programa para exemplo de p


ortico plano
O c
odigo (porticoPlano1.m) e a seguir apresentado:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28

clear;clf;
colordef white
state = 0;
E=30e6; A=6.8; I=65;
EA=E*A; EI=E*I;
node=[0 96;144 96;0 0;144 0]
xx=node(:,1);

yy=node(:,2);

element=[ 1 2;3 1;4 2];


numnode=size(node,1);
numelem=size(element,1);
U=zeros(3*numnode,1);
f=zeros(3*numnode,1);
K=sparse(3*numnode,3*numnode); us=1:numnode;
vs=(numnode+1):2*numnode;
ts=(2*numnode+1):3*numnode;
f(1)=3000.0;f(5)=-3000;f(6)=-3000;f(9)=-72000;f(10)=72000;
for e=1:numelem ; index=element(e,:) ;
indexB=[ index index+numnode index+2*numnode]
nn=length(index); xa=xx(index(2))-xx(index(1))
ya=yy(index(2))-yy(index(1)); length_element=sqrt(xa*xa+ya*ya);
cosa=xa/length_element; sena=ya/length_element;ll=length_element;
L= [cosa
0
sena
0
0
0;
0
cosa
0
sena
0
0;
-sena
0
cosa
0
0
0;
0
-sena
0
cosa
0
0 ;
0
0
0
0
1
0;
0
0
0
0
0
1];

5.9 P
ortico plano inclinado
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58

k1=[EA/ll
-EA/ll 0
0
-EA/ll EA/ll
0
0
0
0
12*EI/ll^3 -12*EI/ll^3
0
0
-12*EI/ll^3 12*EI/ll^3
0
0
6*EI/ll^2
-6*EI/ll^2
0
0
6*EI/ll^2
-6*EI/ll^2
K(indexB,indexB)=K(indexB,indexB)+L*k1*L;

0
0
6*EI/ll^2
-6*EI/ll^2
4*EI/ll
2*EI/ll

103

0 ;
0 ;
6*EI/ll^2;
-6*EI/ll^2;
2*EI/ll;
4*EI/ll]

end
bcwt=mean(diag(K));
fixedNodeU =[3 4]; fixedNodeV =[7 8]; fixedNodeT =[11 12];
fixed=[fixedNodeU;fixedNodeV;fixedNodeT]; % nota : ja estavam seleccionados os graus de
ufixed=zeros(size(fixed));
dofs=[fixedNodeU;fixedNodeV;fixedNodeT];
% BC: alternativa 1
% f=f-K(:,dofs)*ufixed;
% f(dofs)=ufixed;
% K(dofs,:)=0;
K(:,dofs)=0;
% K(dofs,dofs)
=bcwt*speye(length(dofs));
% U=K\f;
% alternativa 2
activos=setdiff([1:3*numnode],[dofs]);
U=K(activos,activos)\f(activos);U1=zeros(3*numnode,1);U1(activos)=U;
U=U1;
%desenho de malha original e deformadas
plot_mesh(node+100*[U(us) U(vs)],element,L2,g.-);
plot_mesh(node,element,L2,b.-);

5.9 P
ortico plano inclinado
Considere-se o p
ortico plano indicado na figura 5.8, onde o material tem um
m
odulo de elasticidade E = 30000, area A = 100, momento de inercia I =
1000, com dimens
oes indicadas na figura, sujeita a uma forca uniformemente
distribuida de 12000.
O c
odigo que resolve este problema e listado a seguir ( porticoplanoReddypag184Smanual.m). Os resultados para os deslocamentos nao prescritos sao
U =
0.0033
-0.0097
-0.0033
O c
odigo (porticoPlano2.m) e a seguir apresentado:

104

5 Vigas de Bernoulli e p
orticos planos
12000

480

1
450
1

x
360

Figura 5.8. P
ortico plano inclinado sujeito a forca distribuida

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32

clear;clf;colordef white;state = 0;
E=30e3; A=100; I=1000;
EA=E*A; EI=E*I;
x1=30*12;
x2=40*12;
node=[0 0;x1 x1;x1+x2 x1];xx=node(:,1);
yy=node(:,2); element=[1 2;2 3];
numnode=size(node,1);
numelem=size(element,1);
U=zeros(3*numnode,1);
f=zeros(3*numnode,1);
K=sparse(3*numnode,3*numnode); us=1:numnode;
vs=(numnode+1):2*numnode;
ts=(2*numnode+1):3*numnode;
P=-1000;f(5)=-20;f(6)=-20;f(8)=-1600;f(9)=1600;
for e=1:numelem ; index=element(e,:) ;
indexB=[ index index+numnode index+2*numnode] ;
nn=length(index); xa=xx(index(2))-xx(index(1));
ya=yy(index(2))-yy(index(1)); length_element=sqrt(xa*xa+ya*ya);
cosa=xa/length_element; sena=ya/length_element;ll=length_element;
L= [cosa
0
sena
0
0
0;
0
cosa
0
sena
0
0;
-sena
0
cosa
0
0
0;
0
-sena
0
cosa
0
0 ;
0
0
0
0
1
0;
0
0
0
0
0
1];
k1=[EA/ll
-EA/ll 0
0
0
0 ;
-EA/ll EA/ll
0
0
0
0 ;
0
0
12*EI/ll^3 -12*EI/ll^3 6*EI/ll^2
6*EI/ll^2;
0
0
-12*EI/ll^3 12*EI/ll^3 -6*EI/ll^2 -6*EI/ll^2;
0
0
6*EI/ll^2
-6*EI/ll^2 4*EI/ll
2*EI/ll;
0
0
6*EI/ll^2
-6*EI/ll^2 2*EI/ll
4*EI/ll];
K(indexB,indexB)=K(indexB,indexB)+L*k1*L;
end
dofs=[1 4 7 3 6 9];activos=setdiff([1:3*numnode],[dofs]);
U=K(activos,activos)\f(activos)
U1=zeros(3*numnode,1);U1(activos)=U;
U=U1;
%desenho de malha original e deformadas

5.9 P
ortico plano inclinado
33
34

plot_mesh(node+5000*[U(us) U(vs)],element,L2,g.-);
plot_mesh(node,element,L2,b.-);

105

6
An
alise de p
orticos tridimensionais

6.1 Introduc
ao
O elemento de p
ortico tridimensional de 2 nos considera tres deslocamentos
(translacc
oes) e tres rotac
oes em torno dos eixos locais. Considere-se o elemento da figura 6.1 com eixos locais e globais, com angulos Xx , Y x e Zx ,
medidos dos eixos globais X, Y e Z, relativamente ao eixo local x.
x
Y
j
L

X
i

Z
Figura 6.1. Elemento de p
ortico tridimensional de 2 n
os

108

6 An
alise de p
orticos tridimensionais

6.2 Matriz de rigidez e vector de forcas


A matriz de rigidez no sistema local e obtida por
2

EA
L

6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
0e
K =6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
4

EA
L

12EIz
L3

6EIz
L2

z
12EI
L3

6EIz
L2

GJ
L

4EIy
L

6EIy
L2

2EIy
L

4EIz
L

z
6EI
L2

2EIz
L

EA
L

12EIz
L3

6EIz
L2

12EIy
L3

6EIy
L2

GJ
L

4EIy
L

12EIy
L3

0
GJ
L

6EIy
L2

12EIy
L3

6EIy
L2

0
0

4EIz
L

sim.

(6.1)

A matriz de rigidez no sistema global e obtida por transformacao na forma


K = RT K0 R
onde a matriz de rotac
ao e dada por

r000
0 r 0 0

R=
0 0 r 0
000r

(6.2)

sendo

CXx CY x CZx
r = CXy CY y CZy
CXz CY z CZz
onde
CXx = cosXx

(6.3)

3
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
5

6.3 Exemplo 1

109

Verifica-se que o elemento de portico tridimensional de dois nos tem


seis graus de liberdade por no, pelo que a matriz de rigidez global assembladapossui uma dimens
ao 6n, sendo n o n
umero de nos do problema.
Depois de calcular os deslocamentos nodais e possivel calcular as reaccoes
nos n
os de apoio, fazendo
F = KU

(6.4)

onde K e U s
ao a matriz de rigidez da estrutura e o vector de deslocamentos nodais da estrutura, respectivamente. Note-se que estamos apenas
interessados nas reacc
oes dos apoios, por isso deve usar-se o comando F(dofs),
sendo dofs os graus de liberdade prescritos.
Calculados os deslocamentos nodais e tambem possivel calcular as forcas
em cada elemento, atraves da transformacao de eixos
fe = ke RUe

(6.5)

6.3 Exemplo 1
Considere o problema, ilustrado na figura 6.2, no qual se considera E = 210
GPa, G = 84 GPa, A = 2 102 m2 , Iy = 10 105 m4 , Iz = 20 105 m4 ,
J = 5 105 m4 , o programa portico3D1.m a seguir ilustrado, calcula os
deslocamentos nodais, reaccoes nos apoios e forcas em cada elemento.
Y
X
2
3
4m

1
20 kN
10 kN

3m

3m

Figura 6.2. Exemplo de problema de p


ortico tridimensional

O c
odigo (portico3D1.m) e a seguir apresentado:
1
2
3

clear all
E=210e6; A=0.02; Iy=10e-5;
Iz=20e-5; J=5e-5; G=84e6;
node=[0 0 0;
3 0 0; 0 0 -3; 0 -4 0];

110
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52

6 An
alise de p
orticos tridimensionais
xx=node(:,1);
yy=node(:,2); zz=node(:,3);
element=[1 2;1 3;1 4]; numnode=size(node,1);numelem=size(element,1);
U=zeros(6*numnode,1);f=zeros(6*numnode,1);K=sparse(6*numnode,6*numnode);
f(1)=-10.0;f(3)=20.0;
for e=1:numelem ;
index=element(e,:) ;
indexB=[6*index(1)-5 6*index(1)-4 6*index(1)-3 ...
6*index(1)-2 6*index(1)-1 6*index(1)...
6*index(2)-5 6*index(2)-4 6*index(2)-3 ...
6*index(2)-2 6*index(2)-1 6*index(2)] ;
x1=node(index(1),1);y1=node(index(1),2);
z1=node(index(1),3);x2=node(index(2),1);
y2=node(index(2),2);z2=node(index(2),3);
L = sqrt((x2-x1)*(x2-x1) + (y2-y1)*(y2-y1) + (z2-z1)*(z2-z1));
w1 = E*A/L;
w2 = 12*E*Iz/(L*L*L);
w3 = 6*E*Iz/(L*L);
w4 = 4*E*Iz/L;
w5 = 2*E*Iz/L;
w6 = 12*E*Iy/(L*L*L);
w7 = 6*E*Iy/(L*L);
w8 = 4*E*Iy/L;
w9 = 2*E*Iy/L;
w10 = G*J/L;
k = [w1 0 0 0 0 0 -w1 0 0 0 0 0 ;
0 w2 0 0 0 w3 0 -w2 0 0 0 w3 ;
0 0 w6 0 -w7 0 0 0 -w6 0 -w7 0 ;
0 0 0 w10 0 0 0 0 0 -w10 0 0 ;
0 0 -w7 0 w8 0 0 0 w7 0 w9 0 ;
0 w3 0 0 0 w4 0 -w3 0 0 0 w5 ;
-w1 0 0 0 0 0 w1 0 0 0 0 0 ;
0 -w2 0 0 0 -w3 0 w2 0 0 0 -w3 ;
0 0 -w6 0 w7 0 0 0 w6 0 w7 0 ;
0 0 0 -w10 0 0 0 0 0 w10 0 0 ;
0 0 -w7 0 w9 0 0 0 w7 0 w8 0 ;
0 w3 0 0 0 w5 0 -w3 0 0 0 w4];
if x1 == x2 & y1 == y2
if z2 > z1
Lambda = [0 0 1 ; 0 1 0 ; -1 0 0];
else
Lambda = [0 0 -1 ; 0 1 0 ; 1 0 0];
end
else
CXx = (x2-x1)/L;
CYx = (y2-y1)/L;
CZx = (z2-z1)/L;
D = sqrt(CXx*CXx + CYx*CYx);
CXy = -CYx/D;

6.3 Exemplo 1
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101

111

CYy = CXx/D;
CZy = 0;
CXz = -CXx*CZx/D;
CYz = -CYx*CZx/D;
CZz = D;
Lambda = [CXx CYx CZx ; CXy CYy CZy ; CXz CYz CZz];
end
R = [Lambda zeros(3) zeros(3) zeros(3) ;
zeros(3) Lambda zeros(3) zeros(3) ;
zeros(3) zeros(3) Lambda zeros(3) ;
zeros(3) zeros(3) zeros(3) Lambda];
K(indexB,indexB)=K(indexB,indexB)+R*k*R;
end
% BC and solution
dofs=[7:24]; activos=setdiff([1:6*numnode],[dofs]);
U=K(activos,activos)\f(activos);U1=zeros(6*numnode,1);U1(activos)=U;
% displacements
U=U1;
% reactions
F=K*U
% forces in elements
ff=zeros(numelem,12); format
for e=1:numelem;
index=element(e,:) ;
indexB=[6*index(1)-5 6*index(1)-4 6*index(1)-3 ...
6*index(1)-2 6*index(1)-1 6*index(1)...
6*index(2)-5 6*index(2)-4 6*index(2)-3 ...
6*index(2)-2 6*index(2)-1 6*index(2)] ;
u=U(indexB);
x1=node(index(1),1);y1=node(index(1),2);
z1=node(index(1),3);x2=node(index(2),1);
y2=node(index(2),2);z2=node(index(2),3);
L = sqrt((x2-x1)*(x2-x1) + (y2-y1)*(y2-y1) + (z2-z1)*(z2-z1));
w1 = E*A/L;
w2 = 12*E*Iz/(L*L*L);
w3 = 6*E*Iz/(L*L);
w4 = 4*E*Iz/L;
w5 = 2*E*Iz/L;
w6 = 12*E*Iy/(L*L*L);
w7 = 6*E*Iy/(L*L);
w8 = 4*E*Iy/L;
w9 = 2*E*Iy/L;
w10 = G*J/L;
kprime = [w1 0 0 0 0 0 -w1 0 0 0 0 0 ;
0 w2 0 0 0 w3 0 -w2 0 0 0 w3 ;
0 0 w6 0 -w7 0 0 0 -w6 0 -w7 0 ;
0 0 0 w10 0 0 0 0 0 -w10 0 0 ;
0 0 -w7 0 w8 0 0 0 w7 0 w9 0 ;

112
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144

6 An
alise de p
orticos tridimensionais
0 w3 0 0 0 w4 0 -w3 0 0 0 w5 ;
-w1 0 0 0 0 0 w1 0 0 0 0 0 ;
0 -w2 0 0 0 -w3 0 w2 0 0 0 -w3 ;
0 0 -w6 0 w7 0 0 0 w6 0 w7 0 ;
0 0 0 -w10 0 0 0 0 0 w10 0 0 ;
0 0 -w7 0 w9 0 0 0 w7 0 w8 0 ;
0 w3 0 0 0 w5 0 -w3 0 0 0 w4];
if x1 == x2 & y1 == y2
if z2 > z1
Lambda = [0 0 1 ; 0 1 0 ; -1 0 0];
else
Lambda = [0 0 -1 ; 0 1 0 ; 1 0 0];
end
else
CXx = (x2-x1)/L;
CYx = (y2-y1)/L;
CZx = (z2-z1)/L;
D = sqrt(CXx*CXx + CYx*CYx);
CXy = -CYx/D;
CYy = CXx/D;
CZy = 0;
CXz = -CXx*CZx/D;
CYz = -CYx*CZx/D;
CZz = D;
Lambda = [CXx CYx CZx ; CXy CYy CZy ; CXz CYz CZz];
end
R = [Lambda zeros(3) zeros(3) zeros(3) ;
zeros(3) Lambda zeros(3) zeros(3) ;
zeros(3) zeros(3) Lambda zeros(3) ;
zeros(3) zeros(3) zeros(3) Lambda];
ff(e,:) = kprime*R* u;
end
format long
disp(deslocamentos)
[(1:size(U,1)),U]
format
disp(reaccoes)
[(dofs),F(dofs)]
disp(forcas nos elementos)
ff

deslocamentos
ans =
1.00000000000000

-0.00000705147750

6.3 Exemplo 1

2.00000000000000
3.00000000000000
4.00000000000000
5.00000000000000
6.00000000000000
7.00000000000000
8.00000000000000
9.00000000000000
10.00000000000000
11.00000000000000
12.00000000000000
13.00000000000000
14.00000000000000
15.00000000000000
16.00000000000000
17.00000000000000
18.00000000000000
19.00000000000000
20.00000000000000
21.00000000000000
22.00000000000000
23.00000000000000
24.00000000000000
reaccoes
ans =
7.0000
8.0000
9.0000
10.0000
11.0000
12.0000
13.0000
14.0000
15.0000
16.0000
17.0000
18.0000
19.0000
20.0000
21.0000
22.0000
23.0000

9.8721
-0.0306
-0.1078
-0.0020
-0.1740
0.0299
0.0903
-0.0393
-19.8477
0.0387
0.1232
-0.0016
0.0376
0.0699
-0.0444
-0.0964
-0.0018

-0.00000006653671
0.00001417695819
0.00000144778793
0.00000174858422
0.00000113605431
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

113

114

6 An
alise de p
orticos tridimensionais

24.0000

-0.0872

forcas nos elementos


ans =
-9.8721
0.0306
0.1078
0.0020
-0.1495
0.0618
9.8721
-0.0306
-0.1078
-0.0020
-0.1740
0.0299

-19.8477
0.0393
-0.0903
-0.0016
0.1477
0.0792
19.8477
-0.0393
0.0903
0.0016
0.1232
0.0387

0.0699
-0.0376
0.0444
-0.0018
-0.0812
-0.0633
-0.0699
0.0376
-0.0444
0.0018
-0.0964
-0.0872

6.4 Exemplo 2
Considere o problema, ilustrado na figura 6.3, no qual se considera E = 210
GPa, G = 84 GPa, A = 2 102 m2 , Iy = 10 105 m4 , Iz = 20 105 m4 ,
J = 5 105 m4 , o programa portico3D2.m a seguir ilustrado, calcula os
deslocamentos nodais, reaccoes nos apoios e forcas em cada elemento.
O c
odigo (portico3D2.m) e a seguir apresentado:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

clear all
E=210e6; A=0.02; Iy=10e-5;
Iz=20e-5; J=5e-5; G=84e6;
node=[0 0 0;
0 0 4;
4 0 4;
4 0 0;
0 5 0;
0 5 4;
4 5 4;
4 5 0;
];
xx=node(:,1);
yy=node(:,2); zz=node(:,3);
element=[1 5;2 6;3 7; 4 8; 5 6; 6 7; 7 8; 8 5];
numnode=size(node,1);numelem=size(element,1);
U=zeros(6*numnode,1);f=zeros(6*numnode,1);K=sparse(6*numnode,6*numnode);
f(37)=-15.0;
for e=1:numelem ;
index=element(e,:) ;

6.4 Exemplo 2
Y

8
15kN
7
5
6
5m

4
3
1
4m
4m

Figura 6.3. Exemplo de problema de p


ortico tridimensional

19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46

indexB=[6*index(1)-5 6*index(1)-4 6*index(1)-3 ...


6*index(1)-2 6*index(1)-1 6*index(1)...
6*index(2)-5 6*index(2)-4 6*index(2)-3 ...
6*index(2)-2 6*index(2)-1 6*index(2)] ;
x1=node(index(1),1);y1=node(index(1),2);
z1=node(index(1),3);x2=node(index(2),1);
y2=node(index(2),2);z2=node(index(2),3);
L = sqrt((x2-x1)*(x2-x1) + (y2-y1)*(y2-y1) + (z2-z1)*(z2-z1));
w1 = E*A/L;
w2 = 12*E*Iz/(L*L*L);
w3 = 6*E*Iz/(L*L);
w4 = 4*E*Iz/L;
w5 = 2*E*Iz/L;
w6 = 12*E*Iy/(L*L*L);
w7 = 6*E*Iy/(L*L);
w8 = 4*E*Iy/L;
w9 = 2*E*Iy/L;
w10 = G*J/L;
k = [w1 0 0 0 0 0 -w1 0 0 0 0 0 ;
0 w2 0 0 0 w3 0 -w2 0 0 0 w3 ;
0 0 w6 0 -w7 0 0 0 -w6 0 -w7 0 ;
0 0 0 w10 0 0 0 0 0 -w10 0 0 ;
0 0 -w7 0 w8 0 0 0 w7 0 w9 0 ;
0 w3 0 0 0 w4 0 -w3 0 0 0 w5 ;
-w1 0 0 0 0 0 w1 0 0 0 0 0 ;
0 -w2 0 0 0 -w3 0 w2 0 0 0 -w3 ;
0 0 -w6 0 w7 0 0 0 w6 0 w7 0 ;

115

116
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95

6 An
alise de p
orticos tridimensionais
0 0 0 -w10 0 0 0 0 0 w10 0 0 ;
0 0 -w7 0 w9 0 0 0 w7 0 w8 0 ;
0 w3 0 0 0 w5 0 -w3 0 0 0 w4];
if x1 == x2 & y1 == y2
if z2 > z1
Lambda = [0 0 1 ; 0 1 0 ; -1 0 0];
else
Lambda = [0 0 -1 ; 0 1 0 ; 1 0 0];
end
else
CXx = (x2-x1)/L;
CYx = (y2-y1)/L;
CZx = (z2-z1)/L;
D = sqrt(CXx*CXx + CYx*CYx);
CXy = -CYx/D;
CYy = CXx/D;
CZy = 0;
CXz = -CXx*CZx/D;
CYz = -CYx*CZx/D;
CZz = D;
Lambda = [CXx CYx CZx ; CXy CYy CZy ; CXz CYz CZz];
end
R = [Lambda zeros(3) zeros(3) zeros(3) ;
zeros(3) Lambda zeros(3) zeros(3) ;
zeros(3) zeros(3) Lambda zeros(3) ;
zeros(3) zeros(3) zeros(3) Lambda];
K(indexB,indexB)=K(indexB,indexB)+R*k*R;
end
% BC and solution
dofs=[1:24]; activos=setdiff([1:6*numnode],[dofs]);
U=K(activos,activos)\f(activos);U1=zeros(6*numnode,1);U1(activos)=U;
% displacements
U=U1;
% reactions
F=K*U
% forces in elements
ff=zeros(numelem,12); format
for e=1:numelem;
index=element(e,:) ;
indexB=[6*index(1)-5 6*index(1)-4 6*index(1)-3 ...
6*index(1)-2 6*index(1)-1 6*index(1)...
6*index(2)-5 6*index(2)-4 6*index(2)-3 ...
6*index(2)-2 6*index(2)-1 6*index(2)] ;
u=U(indexB);
x1=node(index(1),1);y1=node(index(1),2);
z1=node(index(1),3);x2=node(index(2),1);
y2=node(index(2),2);z2=node(index(2),3);
L = sqrt((x2-x1)*(x2-x1) + (y2-y1)*(y2-y1) + (z2-z1)*(z2-z1));

6.4 Exemplo 2
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144

w1 = E*A/L;
w2 = 12*E*Iz/(L*L*L);
w3 = 6*E*Iz/(L*L);
w4 = 4*E*Iz/L;
w5 = 2*E*Iz/L;
w6 = 12*E*Iy/(L*L*L);
w7 = 6*E*Iy/(L*L);
w8 = 4*E*Iy/L;
w9 = 2*E*Iy/L;
w10 = G*J/L;
kprime = [w1 0 0 0 0 0 -w1 0 0 0 0 0 ;
0 w2 0 0 0 w3 0 -w2 0 0 0 w3 ;
0 0 w6 0 -w7 0 0 0 -w6 0 -w7 0 ;
0 0 0 w10 0 0 0 0 0 -w10 0 0 ;
0 0 -w7 0 w8 0 0 0 w7 0 w9 0 ;
0 w3 0 0 0 w4 0 -w3 0 0 0 w5 ;
-w1 0 0 0 0 0 w1 0 0 0 0 0 ;
0 -w2 0 0 0 -w3 0 w2 0 0 0 -w3 ;
0 0 -w6 0 w7 0 0 0 w6 0 w7 0 ;
0 0 0 -w10 0 0 0 0 0 w10 0 0 ;
0 0 -w7 0 w9 0 0 0 w7 0 w8 0 ;
0 w3 0 0 0 w5 0 -w3 0 0 0 w4];
if x1 == x2 & y1 == y2
if z2 > z1
Lambda = [0 0 1 ; 0 1 0 ; -1 0 0];
else
Lambda = [0 0 -1 ; 0 1 0 ; 1 0 0];
end
else
CXx = (x2-x1)/L;
CYx = (y2-y1)/L;
CZx = (z2-z1)/L;
D = sqrt(CXx*CXx + CYx*CYx);
CXy = -CYx/D;
CYy = CXx/D;
CZy = 0;
CXz = -CXx*CZx/D;
CYz = -CYx*CZx/D;
CZz = D;
Lambda = [CXx CYx CZx ; CXy CYy CZy ; CXz CYz CZz];
end
R = [Lambda zeros(3) zeros(3) zeros(3) ;
zeros(3) Lambda zeros(3) zeros(3) ;
zeros(3) zeros(3) Lambda zeros(3) ;
zeros(3) zeros(3) zeros(3) Lambda];
ff(e,:) = kprime*R* u;
end
format long

117

118
145
146
147
148
149
150
151
152
153

6 An
alise de p
orticos tridimensionais
disp(deslocamentos)
[(1:size(U,1)),U]
format
disp(reaccoes)
[(dofs),F(dofs)]
disp(forcas nos elementos)
ff

deslocamentos
ans =
1.00000000000000
2.00000000000000
3.00000000000000
4.00000000000000
5.00000000000000
6.00000000000000
7.00000000000000
8.00000000000000
9.00000000000000
10.00000000000000
11.00000000000000
12.00000000000000
13.00000000000000
14.00000000000000
15.00000000000000
16.00000000000000
17.00000000000000
18.00000000000000
19.00000000000000
20.00000000000000
21.00000000000000
22.00000000000000
23.00000000000000
24.00000000000000
25.00000000000000
26.00000000000000
27.00000000000000
28.00000000000000
29.00000000000000
30.00000000000000
31.00000000000000

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-0.00039898093138
-0.00000298266432
-0.00058934587384
-0.00003552499889
-0.00035808604571
0.00004452635512
-0.00212492049669

6.4 Exemplo 2

32.00000000000000
33.00000000000000
34.00000000000000
35.00000000000000
36.00000000000000
37.00000000000000
38.00000000000000
39.00000000000000
40.00000000000000
41.00000000000000
42.00000000000000
43.00000000000000
44.00000000000000
45.00000000000000
46.00000000000000
47.00000000000000
48.00000000000000
reaccoes
ans =
1.0000
2.0000
3.0000
4.0000
5.0000
6.0000
7.0000
8.0000
9.0000
10.0000
11.0000
12.0000
13.0000
14.0000
15.0000
16.0000
17.0000
18.0000
19.0000
20.0000
21.0000
22.0000
23.0000

1.1599
2.5054
1.0091
2.6719
0.3008
-3.2737
6.3324
5.7484
1.0091
2.6719
0.3008
-17.6937
6.3481
-5.7484
-1.0091
-2.6719
0.3019
-17.7439
1.1596
-2.5054
-1.0091
-2.6719
0.3019

-0.00000684334973
-0.00058934587384
-0.00003552499889
-0.00035808604571
0.00022175503338
-0.00213205232576
0.00000684334973
0.00058934587384
0.00003552499889
-0.00035939637254
0.00022304730891
-0.00039898458247
0.00000298266432
0.00058934587384
0.00003552499889
-0.00035939637254
0.00004455139901

119

120

6 An
alise de p
orticos tridimensionais

24.0000

-3.2733

forcas nos elementos


ans =
2.5054
-1.1599
1.0091
0.3008
-2.6719
-3.2737
-2.5054
1.1599
-1.0091
-0.3008
-2.3735
-2.5256

5.7484
-6.3324
1.0091
0.3008
-2.6719
-17.6937
-5.7484
6.3324
-1.0091
-0.3008
-2.3735
-13.9682

-5.7484
-6.3481
-1.0091
0.3019
2.6719
-17.7439
5.7484
6.3481
1.0091
-0.3019
2.3735
-13.9967

-2.5054
-1.1596
-1.0091
0.3019
2.6719
-3.2733
2.5054
1.1596
1.0091
-0.3019
2.3735
-2.5248

0.0000
1.1494
-1.1560
-0.1861
2.3121
2.2989
-0.0000
-1.1494
1.1560
0.1861
2.3121
2.2989

7.4884
6.8979
1.0091
-0.0746
-2.0113
13.7821
-7.4884
-6.8979
-1.0091
0.0746
-2.0250
13.8093

0.0000
1.1494
-1.1635
-0.1874
2.3269
2.2989
-0.0000
-1.1494
1.1635
0.1874
2.3269
2.2989

0.0038
1.3560
-1.0091
-0.0746
2.0250
2.7123
-0.0038
-1.3560
1.0091
0.0746
2.0113
2.7117

7
An
alise de grelhas

7.1 Introduc
ao
Apresenta-se agora a an
alise por elementos finitos de grelhas. Uma grelha e
uma estrutura tipo p
ortico plano, mas onde as forcas sao aplicadas normais
ao seu plano, ao contr
ario do que acontece com os porticos planos onde as
forcas s
ao aplicadas no seu plano. Uma grelha tipica e ilustrada na figura 7.1.

y
F1

F2

F3

F4

Figura 7.1. Grelha tipica

Considera-se para cada no um deslocamento transversal e duas rotacoes


segundo os eixos na direccao do plano (X e Z, respectivamente, conforme
ilustrado na figura 7.2. A matriz de rigidez do elemento de grelha em eixos
locais e dada por

122

7 An
alise de grelhas

12EI
le3

6EI
le2

GJ
0
0
le
6EI
4EI
l2
0
le
e
ke =
6EI
12EI
0

l
l2
0 e GJ 0 e

le
6EI
2EI
0
2
l
le
e

6EI
12EI
0
le3
le2
GJ
0 le
0
6EI
2EI
l2
0
le
e
12EI
6EI
0

3
le
le2
GJ
0
0
le
4EI
6EI
0
2
l
le

(7.1)

onde E e o m
odulo de elasticidade, I o momento de inercia `a flexao, J o
momento de inercia polar e G o modulo de corte, sendo ainda L = le o
comprimento do elemento.
y

z1

x1
1

x2

z2
2

x
L

w2

w1
Figura 7.2. Elemento de grelha

Considere-se C = cos e S = sen, sendo o angulo entre o eixo X e


o eixo x, contado no sentido contrario ao ponteiro do relogio. A matriz de
rotac
ao e dada por

1 0 0 0 0 0
0 C S 0 0 0

0 S C 0 0 0

R=
(7.2)

0 0 0 1 0 0
0 0 0 0 C S
0 0 0 0 S C
A matriz de rigidez em eixos globais e entao dada por
Ke = RT ke R

(7.3)

Verifica-se que o elemento de grelha de dois nos tem seis graus de liberdade,
pelo que a matriz de rigidez global assembladapossui uma dimensao 3n,
sendo n o n
umero de n
os do problema.
Depois de calcular os deslocamentos nodais e possivel calcular as reaccoes
nos n
os de apoio, fazendo
F = KU

(7.4)

7.2 Exemplo 1

123

onde K e U s
ao a matriz de rigidez da estrutura e o vector de deslocamentos nodais da estrutura, respectivamente. Note-se que estamos apenas
interessados nas reacc
oes dos apoios, por isso deve usar-se o comando F(dofs),
sendo dofs os graus de liberdade prescritos.
Calculados os deslocamentos nodais e tambem possivel calcular as forcas
em cada elemento, atraves da transformacao de eixos
fe = ke RUe

(7.5)

7.2 Exemplo 1
Considere-se o problema da figura 7.3. A grelha e constituida por duas barras,
com geometria, forcas e apoios ilustrados na figura. Dados E = 210 GPa,
G = 84 GPa, I = 20 105 m4 , J = 5 105 m4 , o programa GRID1.M, a
seguir ilustrado, calcula os deslocamentos nodais, reaccoes nos apoios e forcas
em cada elemento.
Y
3
(2)

10 kN

3m
X
1
3m
(1)
2
4m
Z
Figura 7.3. Exemplo 1

O c
odigo (grid1.m) e a seguir apresentado:
1
2
3
4
5
6
7

clear all;
E=210e6; G=84e6;

I=20e-5;

J=5e-5;

node=[4 0; 0 3; 0 -3]; xx=node(:,1);


yy=node(:,2);
element=[1 2; 3 1];
numnode=size(node,1);
numelem=size(element,1);

124
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56

7 An
alise de grelhas
U=zeros(3*numnode,1);

f=zeros(3*numnode,1);

K=sparse(3*numnode,3*numnode);
f(1)=-10;
for e=1:numelem ;
index=element(e,:) ;
indexB=[ (index(1)-1)*3+1 (index(1)-1)*3+2 (index(1)-1)*3+3 ...
(index(2)-1)*3+1 (index(2)-1)*3+2 (index(2)-1)*3+3] ;
xa=xx(index(2))-xx(index(1));ya=yy(index(2))-yy(index(1));
L=sqrt(xa*xa+ya*ya);
C=xa/L;
S=ya/L;
w1 = 12*E*I/(L*L*L);
w2 = 6*E*I/(L*L);
w3 = G*J/L; w4 = 4*E*I/L;
w5 = 2*E*I/L;
k = [w1 0 w2 -w1 0 w2 ; 0 w3 0 0 -w3 0 ;
w2 0 w4 -w2 0 w5 ; -w1 0 -w2 w1 0 -w2 ;
0 -w3 0 0 w3 0 ; w2 0 w5 -w2 0 w4];
R = [1 0 0 0 0 0 ; 0 C S 0 0 0 ; 0 -S C 0 0 0 ;
0 0 0 1 0 0 ; 0 0 0 0 C S ; 0 0 0 0 -S C];
K(indexB,indexB)=K(indexB,indexB)+R*k*R;
end

dofs=[4:9];activos=setdiff([1:3*numnode],[dofs]);
U=K(activos,activos)\f(activos);U1=zeros(3*numnode,1);U1(activos)=U;
disp(deslocamentos )
U=U1
disp(reaccoes )
F=K*U
EF=zeros(6,numelem);
for e=1:numelem ;
index=element(e,:) ;
indexB=[ (index(1)-1)*3+1 (index(1)-1)*3+2 (index(1)-1)*3+3 ...
(index(2)-1)*3+1 (index(2)-1)*3+2 (index(2)-1)*3+3] ;
xa=xx(index(2))-xx(index(1));ya=yy(index(2))-yy(index(1));
L=sqrt(xa*xa+ya*ya);
C=xa/L; S=ya/L;
w1 = 12*E*I/(L*L*L);
w2 = 6*E*I/(L*L);
w3 = G*J/L; w4 = 4*E*I/L;
w5 = 2*E*I/L;
k = [w1 0 w2 -w1 0 w2 ; 0 w3 0 0 -w3 0 ;
w2 0 w4 -w2 0 w5 ; -w1 0 -w2 w1 0 -w2 ;

7.2 Exemplo 1
57
58
59
60
61
62
63
64
65

0 -w3 0 0 w3 0 ; w2 0 w5 -w2 0 w4];


R = [1 0 0 0 0 0 ; 0 C S 0 0 0 ; 0 -S C 0 0 0 ;
0 0 0 1 0 0 ; 0 0 0 0 C S ; 0 0 0 0 -S C];
EF (:,e)= k*R* U(indexB);
end
disp(forcas nos elementos )
EF

O resultado obtido e o seguinte


deslocamentos
U =
-0.0048
0
-0.0018
0
0
0
0
0
0
reaccoes
F =
-10.0000
0
-0.0000
5.0000
13.8905
20.0000
5.0000
-13.8905
20.0000
forcas nos elementos
EF =
-5.0000
-0.8876
-0.6657

5.0000
0.8876
24.3343

125

126

7 An
alise de grelhas

5.0000
0.8876
-24.3343

-5.0000
-0.8876
0.6657

7.3 Exemplo 2
Considere-se o problema da figura 7.4. A grelha e constituida por tres barras,
com geometria, forcas e apoios ilustrados na figura. Dados E = 210 GPa,
G = 84 GPa, I = 20 105 m4 , J = 5 105 m4 , o programa grid2.m, a seguir
ilustrado, calcula os deslocamentos nodais, reaccoes nos apoios e forcas em
cada elemento.

Y
4

P
4m
2
1
Z

4m
Figura 7.4. Exemplo 2

O c
odigo (grid2.m) e a seguir apresentado:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

clear all;
E=210e6; G=84e6;

I=20e-5;

J=5e-5;

node=[4 4; 0 4; 0 0 ; 4 0];
xx=node(:,1);
yy=node(:,2);
element=[1 2; 3 1; 4 1];
numnode=size(node,1);
numelem=size(element,1);
U=zeros(3*numnode,1);
f=zeros(3*numnode,1);
K=sparse(3*numnode,3*numnode);
f(1)=-20;
for e=1:numelem ;
index=element(e,:) ;

7.3 Exemplo 2
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65

127

indexB=[ (index(1)-1)*3+1 (index(1)-1)*3+2 (index(1)-1)*3+3 ...


(index(2)-1)*3+1 (index(2)-1)*3+2 (index(2)-1)*3+3] ;
xa=xx(index(2))-xx(index(1));ya=yy(index(2))-yy(index(1));
L=sqrt(xa*xa+ya*ya);
C=xa/L;
S=ya/L;
w1 = 12*E*I/(L*L*L);
w2 = 6*E*I/(L*L);
w3 = G*J/L; w4 = 4*E*I/L;
w5 = 2*E*I/L;
k = [w1 0 w2 -w1 0 w2 ; 0 w3 0 0 -w3 0 ;
w2 0 w4 -w2 0 w5 ; -w1 0 -w2 w1 0 -w2 ;
0 -w3 0 0 w3 0 ; w2 0 w5 -w2 0 w4];
R = [1 0 0 0 0 0 ; 0 C S 0 0 0 ; 0 -S C 0 0 0 ;
0 0 0 1 0 0 ; 0 0 0 0 C S ; 0 0 0 0 -S C];
K(indexB,indexB)=K(indexB,indexB)+R*k*R;
end

dofs=[4:12];activos=setdiff([1:3*numnode],[dofs]);
U=K(activos,activos)\f(activos);U1=zeros(3*numnode,1);U1(activos)=U;
disp(deslocamentos )
U=U1
disp(reaccoes )
F=K*U

EF=zeros(6,numelem);
for e=1:numelem ;
index=element(e,:) ;
indexB=[ (index(1)-1)*3+1 (index(1)-1)*3+2 (index(1)-1)*3+3 ...
(index(2)-1)*3+1 (index(2)-1)*3+2 (index(2)-1)*3+3] ;
xa=xx(index(2))-xx(index(1));ya=yy(index(2))-yy(index(1));
L=sqrt(xa*xa+ya*ya);
C=xa/L; S=ya/L;
w1 = 12*E*I/(L*L*L);
w2 = 6*E*I/(L*L);
w3 = G*J/L; w4 = 4*E*I/L;
w5 = 2*E*I/L;
k = [w1 0 w2 -w1 0 w2 ; 0 w3 0 0 -w3 0 ;
w2 0 w4 -w2 0 w5 ; -w1 0 -w2 w1 0 -w2 ;
0 -w3 0 0 w3 0 ; w2 0 w5 -w2 0 w4];
R = [1 0 0 0 0 0 ; 0 C S 0 0 0 ; 0 -S C 0 0 0 ;
0 0 0 1 0 0 ; 0 0 0 0 C S ; 0 0 0 0 -S C];
EF (:,e)= k*R* U(indexB);

128
66
67
68
69
70

7 An
alise de grelhas
end
disp(forcas nos elementos )
EF

O resultado obtido e o seguinte


deslocamentos
U =
-0.0033
0.0010
-0.0010
0
0
0
0
0
0
0
0
0
reaccoes
F =
-20.0000
-0.0000
0.0000
10.7937
-1.0189
31.7764
-1.5874
-4.0299
4.0299
10.7937
-31.7764
1.0189
forcas nos elementos
EF =

7.3 Exemplo 2

-10.7937
-1.0189
-11.3984
10.7937
1.0189
-31.7764

-1.5874
-0.0000
5.6992
1.5874
0.0000
-14.6788

10.7937
1.0189
31.7764
-10.7937
-1.0189
11.3984

129

8
Formula
c
ao de elementos de viga Timoshenko

8.1 Introduc
ao
A formulac
ao de elementos de viga e habitualmente baseada na teoria de
Euler-Bernoulli (despreza os efeitos de corte transverso) e na teoria de Timoshenko (que considera esses efeitos).

8.2 Campo de deslocamentos


A teoria de Timoshenko e mais geral, embora possa produzir efeitos de retenc
ao de corte (locking), com o seguinte campo de deslocamentos
u = z;

w = w0

(8.1)

onde z representa a coordenada na direccao da espessura, uma rotacao da


normal ao eixo medio da viga e w0 o deslocamento transversal (flecha) dum
qualquer ponto do eixo da viga.

8.3 Campo de deformac


oes
As deformac
oes de flex
ao e corte sao obtidas por
xx = z

d
;
dx

xz = +

8.4 Campo de tens


oes
As tens
oes de flex
ao e corte sao entao obtidas por

dw0
dx

(8.2)

132

8 Formulac
ao de elementos de viga Timoshenko

xx = Exx = zE

d
;
dx



dw0
xz = kGxz = kG +
dx

(8.3)

onde k e um factor de correccao ao corte (5/6 habitualmente).

8.5 Equac
oes de equilbrio
Aplicando o princpio dos trabalhos virtuais ao elemento de viga, obtem-se
Z

Z
dV =

Z
pwdx +

M dx

(8.4)

ou

Z L
Z L
dw
dx =
pwdx+
M dx
EI
dx
0
0
0
0
(8.5)
onde p e M s
ao as cargas transversais e momentos por unidade de comprimento.
Z

d d
dx+GAk
dx dx

dw

dx



8.6 Elementos isoparam


etricos
Podemos agora usar uma interpolacao isoparametrica (para um elemento de
3 n
os, por exemplo, ilustrado na figura 8.1), na forma
w=

3
X

Ni wi ; =

i=1

3
X

Ni i

(8.6)

i=1

w1

w2

w3

Figura 8.1. Elemento de viga Timoshenko de 3 n


os

ou
w = Nw u
; = N u

(8.7)

8.7 Programa MATLAB

133

e
d
dw
= Bw u
;
= B u

dx
dx

(8.8)



u
T = w1 w2 w3 1 2 3

(8.9)



Nw = N1 N2 N3 0 0 0

(8.10)



N = 0 0 0 N1 N2 N3

(8.11)

onde
e
e
bem como
Bw = J 1
e

dN1 dN2 dN3


000
d d d



dN1 dN2 dN3
B = J 1 0 0 0
d d d

(8.12)

(8.13)

dx
. Para um elemento simples, podemos encontrar a matriz de
d
rigidez e o vector de forcas nodais consistentes como
onde J =

K = EI

BT B det Jd + GAk

(Bw N ) (Bw N ) det Jd


1

(8.14)
e
Z

R=

NTw pdet Jd +

NT M det Jd

(8.15)

Caso a matriz de massa seja necessaria, obtem-se como


T bh 0

Z 1
Nw
3 Nw det Jd

M=
bh
N
0
1 N
12

(8.16)

8.7 Programa MATLAB


Nesta secc
ao apresenta-se a listagem dum programa em MATLAB para a
an
alise linear de vigas Timoshenko em flexao. Em particular, este codigo analisa uma viga simplesmente apoiada em flexao, sujeita a carga uniforme P ,
com comprimento L, conforme ilustrado na figura 8.2. A solucao analitica
(para viga fina) e

134

8 Formulac
ao de elementos de viga Timoshenko

5P L4
(8.17)
384EI
sendo E o m
odulo de elasticidade e I o momento de inercia. Verifica-se que o
m
aximo valor do deslocamento, obtido por
wmax =

max(U(ws))
e de grande qualidade (conseguem-se erros de cerca de 0.004% para 100 elementos, convergentes, ou seja, cada vez menor erro). Note-se que a matriz
de rigidez e calculada em duas etapas, uma correspondente `a contribuicao de
flex
ao e outra correspondente `a contribuicao de corte, atendendo `a necessidade
de realizar a integrac
ao numerica de forma distinta.
P

2L

Figura 8.2. Viga em flex


ao, sujeita a carga uniformemente distribuida

Na figura 8.3 ilustra-se a deformada da viga em flexao.


O c
odigo (VigaTimoshenko.m) e a seguir apresentado:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

clear all
%
E0 = 10e7; % mdulo E
nu0 = 0.30; % Poisson
%
L = 1;
% comprimento
thickness=0.001;
rho=1;
I=thickness^3/12;% momento de inercia
A=1*thickness;
%
elemType = L2; % tipo de elemento
numx
= 100;
%
P = -1; % pressao uniforme
% matriz constitutiva
G=E0/2/(1+nu0);
C=[
I*E0
0; 0
5/6*thickness*G];
%
% malha
node=linspace(0,L,numx+1);xx=node;
%
for i=1:size(node,2)-1

8.7 Programa MATLAB

135

0
10
20
30
40
50
60
70
80
90
100

0.5

1.5

2.5

3.5

Figura 8.3. Viga em flex


ao, sujeita a carga uniformemente distribuida: ilustrac
ao
da deformada dos n
os (meia viga)

24
25
26
27
28
29
30
31
32
33
34
35

element(i,1)=i;
element(i,2)=i+1
end
%
numnode=size(node,2);
% num. nos
numelem=size(element,1); % num. elementos
%
K=zeros(2*numnode,2*numnode);
f=zeros(2*numnode,1);
% rigidez
W=zeros(2); Q=zeros(2);

136
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84

8 Formulac
ao de elementos de viga Timoshenko
Q(1) = 0.577350269189626;
Q(2) =-0.577350269189626;
W(1) = 1.;

W(2) = 1.;

for e=1:numelem; sctr=element(e,:); sctrB=[ sctr sctr+numnode];


sctrR=sctr+numnode;
nn=length(sctr);
length_element=xx(sctr(2))-xx(sctr(1));
detJ0=length_element/2;invJ0=1/detJ0;
for q=1:size(W,1) ;
pt=Q(q,:); wt=W(q);
pt=pt(1);
N=([1-pt,1+pt]/2);
dNdxi=[-1;1]/2;
dNdx=dNdxi*invJ0;
% B
B=zeros(2,2*nn); B(1,nn+1:2*nn) = dNdx(:);
% K
K(sctrB,sctrB)=K(sctrB,sctrB)+B*B*W(q)*detJ0*C(1,1);
f(sctr)=f(sctr)+N*P*detJ0*wt;
end
end
%
W=zeros(1); Q=zeros(1);
Q(1) = 0.;
W(1) = 2.;
for e=1:numelem ;sctr=element(e,:); sctrB=[ sctr sctr+numnode];
nn=length(sctr); length_element=xx(sctr(2))-xx(sctr(1));
detJ0=length_element/2;invJ0=1/detJ0;
for q=1:size(W,1) ;
pt=Q(q,:); wt=W(q);
pt=pt(1);
N=([1-pt,1+pt]/2);
dNdxi=[-1;1]/2;
dNdx=dNdxi*invJ0;
% B
B=zeros(2,2*nn);
B(2,1:nn)
= dNdx(:);
B(2,nn+1:2*nn) = N;
% K
K(sctrB,sctrB)=K(sctrB,sctrB)+B*B*W(q)*detJ0*C(2,2);
end
end
% BC
bcwt=mean(diag(K));
% condicoes fronteira (meia viga com simetria)

8.7 Programa MATLAB


85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107

137

fixedNodeW =find(xx==max(node(:)));
fixedNodeTX=find(xx==min(node(:)));;
%fixedNodeW =find(xx==max(node(:))|xx==min(node(:)));
%fixedNodeTX=find(xx==min(node(:)));;
%fixedNodeTX=find(xx==L/2);
%fixedNodeTX=fixedNodeW;
%
% encastrado na pontoa x=0
%fixedNodeW =find(xx==min(node(:)));
%fixedNodeTX=fixedNodeW;
activeDof=setdiff([1:2*numnode],[fixedNodeW;fixedNodeTX+numnode]);
U=K(activeDof,activeDof)\f(activeDof);
U1=zeros(2*numnode,1);
U1(activeDof)=U;
U=U1;
plot(xx,U1(1:numnode),.-)
ws=1:numnode;
exact=5*P*(2*L)^4/384/C(1,1);error=(exact-min(U(ws)))/exact*100
disp([num2str(error), % ERROR])
; plot(xx,U(ws),b.-)

9
Estado plano de tens
ao

9.1 Introduc
ao
Consideram-se aqui elementos bidimensionais para estado plano de tensao
(problemas onde a espessura e desprezavel em relacao `as outras coordenadas).
Considere-se uma placa fina, com espessura h, conforme ilustrado na figura
9.1. A direcc
ao normal `
a placa z, e tambem chamada direccao transversal `a
placa. Consideram-se ainda os dois eixos globais x, y. Considera-se que a placa
est
a em estado plano de tens
ao ou estado de membrana, quando:

todas as cargas aplicadas actuam no plano medio da placa, sendo ainda


simetricas relativamente a este
todas as condic
oes de apoio sao simetricas relativamente ao plano medio
os deslocamentos do plano, as deformacoes e as tensoes sao consideradas
uniformes relativamente ao plano medio
as tens
oes normal e de corte segundo a direccao z sao desprezadas, por
serem muito pequenas quando comparadas com as outras componentes.

Considera-se tambem que o material e homogeneo, sendo a placa assim


chamada de transversalmente isotropica.
Considera-se ent
ao para efeitos de desenvolvimento do problema variacional e do problema de fronteira um plano medio, com um dominio e uma
fronteira , conforme ilustrado na figura 9.2. Considera-se que todas as entidades relacionadas com a terceira dimensao sao funcoes de x e de y, integradas
na direcc
ao da espessura.
A geometria do problema e definida pela sua fronteira , a espessura e
representada por h, o material e isotropico e as forcas de volume (por exemplo
peso da placa) s
ao consideradas actuantes no interior do domnio . As forcas
tractivas actuantes nas faces sao referidas ao plano medio da placa.

9.2 Vari
aveis
As vari
aveis do problema s
ao os seus deslocamentos

140

9 Estado plano de tens


ao
P1
P2

P5

P3

z
P4
y
x

Figura 9.1. Estado plano de tens


ao: cargas aplicadas

Figura 9.2. Estado plano de tens


ao: plano medio, domnio () e fronteira ( )

u(x, y)
u(x, y) =
v(x, y)


(9.1)

enquanto que as deformac


oes sao obtidas por derivacao dos deslocamentos

x

(x, y) = y =
(9.2)

xy

u v
+
y
x
Tendo em conta as equacoes da elasticidade linear, podem obter-se as
tens
oes na forma

9.4 Energia potencial

E
E
0

1 2 1 2


x

E
x
E

0
= y =
y

1 2 1 2
xy
xy

E
0
0
G=
2(1 + )

141

(9.3)

onde E e o m
odulo de elasticidade do material e o coeficiente de Poisson.
As equac
oes de equilibrio estatico deste problema sao obtidas por reducao das
equac
oes de equilibrio tridimensional a duas dimensoes, na forma
xy
x
+
+ bx = 0
x
y
xy
y
+
+ by = 0
x
y

(9.4)
(9.5)

sendo bx , by forcas de volume aplicadas em todo o corpo.

9.3 Condic
oes fronteira
As condic
oes fronteira (essenciais) sao aplicadas em termos dos deslocamentos,
na fronteira u , na forma
u=u

(9.6)

ou em termos de tracc
oes superficiais (naturais) na fronteira t , na forma
n =
t

(9.7)

sendo
t as tracc
oes de superficie por unidade de area e n o vector de
tens
ao normal `
a placa,
As componentes de n em coordenadas cartesianas podem ser obtidas por
f
ormulas de Cauchy


 
 x
x nx + xy ny
nx 0 ny
y
=
=
(9.8)
xy nx + y ny
0 ny nx
xy

9.4 Energia potencial


Pode escrever-se a energia potencial na forma habitual
=U W

(9.9)

142

9 Estado plano de tens


ao

sendo U a energia el
astica de deformacao, obtida por
Z
Z
1
1
T
h d =
hT Cd
U=
2
2
sendo C a matriz constitutiva elastica, obtida por

E
E
0

1 2 1 2

E
E

0
C=

2
2

1 1

E
0
0
2(1 + )

(9.11)

A energia produzida pelas forcas externas e dada por


Z
Z
W =
huT bd +
huT
td

(9.10)

(9.12)

9.5 Equac
oes de elementos finitos
Considerando uma discretizacao de elementos finitos, definindo um dominio
para o elemento e e uma fronteira do elemento e , o elemento finito generico
com n n
os possui 2n graus de liberdade que podem ser organizados de muitas
formas, como por exemplo

ue = u1

v1

u2

v2

... un

vn

T

(9.13)

9.6 Interpolac
ao de deslocamentos
O campo de deslocamentos u em cada elemento e agora interpolado atraves
dos deslocamentos nodais, usando uma interpolacao identica para as duas
componentes de deslocamento, na forma
u=

n
X
i=1

Nie ui ;

v=

n
X

Nie vi

(9.14)

i=1

onde Nie s
ao as func
oes de forma do elemento. Esta expressao pode obter-se
na forma matricial como
e

N1 0 0 N2e 0 ... Nne 0


ue = Nue
u=
(9.15)
e
e
e
0 N1 0 0 N2 0 ... Nn

9.8 Equac
oes para rigidez e forca

Derivando este campo de deslocamentos,


formac
oes, na forma

N2e
Nne
N1e
0
0
...
x
x
x

N2e
N1e

0
0 ...
= 0
y
y

N1e N1e N2e N2e


Nne
...
y x y x
y

143

podemos obter o vector de de


0

e
Nn e
u = Bue
y

e
Nn
x

(9.16)

onde B representa a matriz de deformacoes-deslocamentos, obtida apenas


por derivadas das func
oes de forma, com dimensao 32n. Esta matriz tambem
e u
til, porque permite calcular, em cada elemento, o vector de tensoes na forma
= C = CBue .

9.7 Energia no elemento


A energia potencial total pode agora ser decomposta em cada elemento, na
forma
e = U e W e
onde
Ue =

1
2

hT d e =

1
2

(9.17)

hT Cd e

(9.18)

e
We =

huT bd e +

huT
td e

(9.19)

Note-se que aqui t foi tomada identica, no elemento, a e , como consequencia do facto das condicoes fronterira essenciais (em deslocamentos) serem aplicadas ap
os a assemblagem, a uma estrutura livre.

9.8 Equac
oes para rigidez e forca
Podemos agora introduzir as equacoes de deslocamentos, deformacoes e tensoes
na energia potencial do elemento, obtendo-se uma forma quadratica
e =

1 eT e e
u K u ueT f e
2

onde a matriz de rigidez do elemento e obtida por

(9.20)

144

9 Estado plano de tens


ao
e

hBT CBd e

K =

(9.21)

e o vector de forcas nodais por


Z
Z
fe =
hNT bd e +
e

hNT
td e

(9.22)

9.9 Elementos quadril


ateros
Considere-se o elemento quadrilatero, conforme ilustrado na figura 9.4. O elemento possui 4 n
os, definidos em coordenadas locais (, ) no quadrado biunit
ario. Pretende-se relacionar estas coordenadas locais com as coordenadas
reais (x, y) atraves duma representacao isoparametrica
x=

n
X

Ni xi ; y =

i=1

n
X

N i yi

(9.23)

i=1

sendo Ni as func
oes de forma da familia de Lagrange, obtidas por
Ni (, ) = l()l()
onde
l() =

n
X
j=1,j6=i

j
i j

(9.24)

(9.25)

Assim, pode obter-se para o elemento quadrilatero de 4 nos as funcoes de


forma
1
(1 )(1 )
4
1
N2 (, ) = l2 ()l1 () = (1 + )(1 )
4
1
N3 (, ) = l2 ()l2 () = (1 + )(1 + )
4
1
N4 (, ) = l1 ()l2 () = (1 )(1 + )
4
N1 (, ) = l1 ()l1 () =

(9.26)
(9.27)
(9.28)
(9.29)

Note-se que estas func


oes de forma sao obtidas por multiplicacao das
func
oes de Lagrange de elementos de linha de 2 nos, em cada direccao (figura 9.3).
Outros elementos quadrilateros podem ser usados, por exemplo o elemento
de 9 n
os de Lagrange, cujas funcoes de forma sao obtidas por
N1 (, ) =

1
( 1)( 1)
4

(9.30)

9.9 Elementos quadril


ateros

145

2
1

x
1

Figura 9.3. Elemento de 4 n


os: func
oes de interpolac
ao bidimensionais obtidas por
multiplicac
ao de func
oes de forma unidimensionais

3
3

1
e

y
(1,-1)
1

Elemento de
referencia

2
(x2 , y2 )

Elemento real

Figura 9.4. Elemento de 4 n


os e ordenac
ao de n
os. Elemento parente e elemento
real; transformaac
ao de coordenadasl

146

9 Estado plano de tens


ao

para um n
o de canto,
N5 (, ) =

1
(1 2 )( 1)
2

(9.31)

para um n
o de meio lado e
N9 (, ) = (1 2 )(1 2 )

(9.32)

para o n
o central.
Note-se que:

os elementos podem ter fronteiras curvas


os elementos podem ter qualquer n
umero de nos entre o mnimo e o
m
aximo
os elementos devem ter geometria o mais rectangular possvel (2D)
os n
os centrais nos lados devem estar o mais proximo dos pontos medios

Os deslocamentos nos elementos podem agora ser interpolados da mesma


forma que para as coordenadas, na forma
u=

n
X

Ni ui ; v =

i=1

n
X

Ni vi

(9.33)

i=1

onde u, v s
ao os deslocamentos locais em qualquer ponto do elemento e
ui , vi ; i = 1, ..., n s
ao os correspondentes deslocamentos nos nos.

Tendo em conta a necessidade de encontrar as derivadas
,
, na forma
x y



=
+
(9.34)
x
x x
e assim, sucessivamente, usa-se a regra da cadeia para se obter

x y

x y
y

(9.35)

ou em forma matricial

=J

(9.36)

onde J e um operador Jacobiano relacionando as derivadas das coordenadas


naturais com as derivadas das coordenadas globais. Pode tambem obter-se

= J1
x

(9.37)

9.9 Elementos quadril


ateros

147

supondo que J1 exista, o que sera verdade se houver uma relacao injectiva
entre as coordenadas locais e naturais do elemento. Em elementos muito distorcidos, podem ocorrer singularidades nesta transformacao do jacobiano.
Pode ent
ao calcula-se a matriz de deformacao-deslocamento, atraves da
matriz B, com
 = B
u
(9.38)
onde u
representa o vector dos deslocamentos nodais. A matriz de rigidez do
elemento, correspondente aos graus de liberdade locais e obtida como
Z
K=
BT CBdV
(9.39)
V

Note-se que B e dependente de , , as coordenadas naturais em 2D do elemento. Assim, o elemento de volume dV pode ser expresso em funcao de , ,
como
dV = h detJdrds

(9.40)

onde detJ e o determinante da matriz Jacobiana e h a espessura da placa.


O c
alculo da matriz de rigidez e habitualmente feita numericamente, como
iremos ver mais adiante em pormenor. No entanto, podera indicar-se desde ja
que
Z
K=h
Fdd
(9.41)
A

onde F = BT CBdetJ sendo a integracao realizada em termos de coordenadas


naturais do elemento. A matriz de rigidez e entao calculada como
X
K=
Fi,j i,j
(9.42)
i,j,k

onde Fi,j representa a matriz F nos pontos (i , j ) e i,j e uma dada constante
que depende dos valores de (i , j ). Os pontos de integracao (i , j ) da funcao e
os correspondentes pesos i,j sao escolhidos para se obter a maxima qualidade
na integrac
ao, que aumenta com o n
umero de pontos de integracao.
Escrevendo agora
u(, ) = N
u

(9.43)

onde N e a matriz de func


oes de interpolacao (funcoes de forma), obtendo-se
agora as restantes matrizes de elementos finitos:
Z
M=
NT NdV
(9.44)
V

Z
RB =
V

NT fB dV

(9.45)

148

9 Estado plano de tens


ao

Z
R =

NT fS dS

(9.46)

de forma semelhante `
a matriz de rigidez, por exemplo, recorrendo a
F = NT fB detJ

(9.47)

no c
alculo de RB .

9.10 Integrac
ao num
erica em duas dimens
oes
Tal como na integrac
ao numerica a uma dimensao, o objectivo da integracao
numerica a duas dimens
oes e a solucao dos integrais da matriz de rigidez,
vector de forcas nodais equivalente e matriz de massa, atraves da quadratura
de Gauss, embora se pudesse usar outra quadratura, como por exemplo, a de
Newton-Cotes.
O integral duma func
ao em coordenadas naturais pode entao ser substituido por dois somat
orios contendo produtos dos pesos de Gauss e funcao nos
pontos de Gauss respectivos, atraves de
Z

F (, )dd =
1

p X
q
X

wi wj F (i , j )

(9.48)

i=1 j=1

onde p, q s
ao o n
umero de pontos na direccao , , respectivamente e wi , wj os
respectivos pesos, tal como vimos anteriormente na integracao unidimensional,
conforme ilustrado na figura 9.5, para varias ordens de integracao.

Figura 9.5. Pontos de integrac


ao (pontos de Gauss) para elementos quadril
ateros
bidimensionais

Em particular para a matriz de rigidez, podemos calcular o integral da


seguinte forma
Z
Z 1Z 1
Ke =
hBT CBd e =
hBT CBdetJdd
(9.49)
e

9.10 Integrac
ao numerica em duas dimens
oes

149

9.10.1 Elementos triangulares (formados por colapso de elementos


quadril
ateros
Uma das formas mais
obvias de gerar elementos triangulares e a de colapsar
elementos quadril
ateros para a forma triangular, como se ilustra na figura 9.6.
Partindo das func
oes de forma do elemento de 4 nos,
y

1,2

2 cm

2 cm
2 cm

Figura 9.6. Degenerac


ao de elementos quadril
ateros em elementos triangulares

x=

1
1
1
1
(1+)(1+)x1 + (1)(1+)x2 + (1)(1)x3 + (1+)(1)x4
4
4
4
4
(9.50)

y=

1
1
(1+)(1+)y1 +(1)(1+)y2 + (1)(1)y3 +(1+)(1)y4 (9.51)
4
4

e colapsando (x1 = x2 ; y1 = y2 ) obtem-se


x=

1
1
1
(1 )(1 + )x2 + (1 )(1 )x3 + (1 + )(1 )x4
4
4
4

(9.52)

1
1
1
(1 + )y2 + (1 )(1 )y3 + (1 + )(1 )y4
2
4
4

(9.53)

y=
Com

x=

1
(1 + )(1 ), y = 1 +
2

(9.54)

x
1
y
= (1 ),
=0

(9.55)

x
1
y
= (1 + ),
=1

(9.56)

150

9 Estado plano de tens


ao

J=

1
2

1 0

; J1 =

1 2

1
1

(9.57)

1+ 1

Usando o conceito de isoparametrismo, obtem-se


u=

1
1
1
(1 )(1 + )u2 + (1 )(1 )u3 + (1 + )(1 )u4
4
4
4

(9.58)

1
1
1
(1 + )v2 + (1 )(1 )v3 + (1 + )(1 )v4
2
4
4

(9.59)

v=

1
1
u
= (1 )u3 + (1 )u4

4
4

(9.60)

v
1
1
= (1 )v3 + (1 )v4

4
4

(9.61)

1
1
1
u
= u2 (1 )u3 + (1 + )u4

2
4
4

(9.62)

1
1
1
v
= v2 (1 )v3 + (1 + )v4

2
4
4

= J1

(9.63)

(9.64)

Assim,

u1
v1


u
u2

1
1

2
0
0 0 4 (1 ) 0 4 (1 ) 0
x
v2
1

=
u3 (9.65)
u 1 1 + 1
1
1
1

2 0 4 (1 ) 0 4 (1 + ) 0 v
3

y
u4
v4
ou

9.10 Integrac
ao numerica em duas dimens
oes

151

u1
v1


u
u2

1
1

0 0 2 0 2 0
x
v2

=
u3
u
1
1

2 0 2 0 0 0 v
3

y
u4
v4

(9.66)

Da mesma forma se obtem

u1
v1


v
u2

1
1

0 0 0 2 0 2
x
v2

u3
v
1
1

0 2 0 2 0 0

v3
y
u4
v4
obtendo-se assim

u1
v1

0 0 12 0 12 0

u2
v2
1
1

=
0 2 0 2 0 0 u3

v3
1
1
1
1

0

0
2
2
2
2
u4
v4

(9.67)

(9.68)

O vector de deformac
ao e entao constante, para quaisquer valores de u2 , v2 , ..., v4
e independente de e (elemento triangular de deformacao constante). Notese que em, = 1, a matriz J e singular. Assim, devem calcular-se as tensoes
(ali
as constantes no elemento) no centro do elemento ( = = 0).
9.10.2 Elementos triangulares baseados em coordenadas de
area
Para alem do metodo do colapso, podemos construir elementos triangulares
atraves de coordenadas de
area. Para o triangulo da figura 9.7, a posicao dum
ponto P, do interior do elemento, com coordenadas x e y e definida pelas
coordenadas de
area
A1
A2
A3
; L2 =
; L3 =
(9.69)
A
A
A
De (9.69) encontra-se L1 +L2 +L3 = 1. As coordenadas cartesianas sao obtidas
por
L1 =

152

9 Estado plano de tens


ao
3 (x3 , y3 )

Area A2

Area
A1
P

2 (x2 , y2 )

y
(0, 1)

3 ( = 1)

Area A3
1

(x1 , y1 )
x

1
(0, 0)

Coordenadas cartesianas

2 ( = 1)
(1, 0)

Coordenadas isoparametricas

Figura 9.7. Descric


ao dum elemento triangular com 3 n
os

x = L1 x1 + L2 x2 + L3 x3 ; y = L1 y1 + L2 y2 + L3 y3
Podemos ent
ao escrever o sistema


1
1 1 1
L1
x = x1 x2 x3 L2
L3
y
y1 y2 y3

(9.70)

(9.71)

que produz
Li =

1
(ai + bi x + ci y), i = 1, 2, 3
2A

(9.72)

onde
2A = x1 y2 + x2 y3 + x3 y1 y1 x2 y2 x3 y3 x1

(9.73)

e
a1 = x2 y3 y2 x3 ; a2 = x3 y1 y3 x1 ; a3 = x1 y2 y1 x2

(9.74)

b1 = y 2 y 3 ; b2 = y 3 y 1 ; b3 = y 1 y 2

(9.75)

c1 = x3 x2 ; c2 = x1 x3 ; c3 = x2 x1

(9.76)

Temos ent
ao a seguinte interpolacao
u=

x=

3
X

Ni ui ; v =

3
X

i=1

i=1

3
X

3
X

i=1

Ni xi ; y =

Ni vi

(9.77)

N i yi

(9.78)

i=1

onde Ni = Li , i = 1, 2, 3. Em vez de se usarem funcoes de forma em termos de


x e y, podem usar-se as funcoes de forma em termos de coordenadas naturais

9.11 Problema: placa em tracc


ao

N1 = 1 ; N2 = ; N3 =

153

(9.79)

A integrac
ao em varia entre 0 e 1, enquanto que a integracao em varia
entre 0 e 1 .

9.11 Problema: placa em tracc


ao
Considera-se um problema duma viga fina (em estado plano de tensao), sujeita
a carga distribuida uniforme nos seus extremos. Na figura 9.8 apresenta-se a
ilustrac
ao do problema, enquanto que na figura 9.9 se ilustram as condicoes
fronteira. Na figura 9.10 apresenta-se a malha de elementos finitos. Na figura
9.11 e na figura 9.12 apresentam-se, respectivamente, a deformada e as tensoes
em xx. Como s
ao uniformes, nao se ve o valor da tensao na barra de cores.
y

Figura 9.8. Tracc


ao de placa: geometria e cargas

O c
odigo (vigaTraccaoLivroQ4.m) e a seguir apresentado:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

clear all; colordef white;


% materiais
E0 = 10e7;

nu0 = 0.30;

% tipo de elemento : quadrilatero de 4 nos


elemType = Q4;
% carga distribuida na ponta livre
P = 1e6;
Lx=5;
Ly=1;
numx=20;
numy=10;
% matriz C

154

9 Estado plano de tens


ao
y

u=0

v=0

Figura 9.9. Tracc


ao de placa: condic
oes fronteira

Figura 9.10. Tracc


ao de placa: malha de elementos finitos

17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35

C=E0/(1-nu0^2)*[1 nu0 0;nu0 1 0;0 0 (1-nu0)/2];


% malha
[node, element] = MalhaRectangular(Lx,Ly,numx,numy);
xx=node(:,1);
yy=node(:,2);
plot_mesh(node,element,elemType,k-);
% bordo direito para aplicar carga distribuida
bordoDireito=find(node(:,1)==Lx);
ss=size(bordoDireito,1);
for i=1:ss-1
bordo(i,1)=bordoDireito(i);
bordo(i,2)=bordoDireito(i+1);
end
edgeElemType=L2;
% nos na fronteira de deslocamentos (essenciais)
fixedNodeX=find(node(:,1)==0); % fixos na direcao x

9.11 Problema: placa em tracc


ao
!7

x 10
1.6
DEFORMada na direcao X
1.4
6
1.2

0.8

!2

0.6

!4

0.4

!6
0.2
0

10

12

14

16

18
0

Figura 9.11. Tracc


ao de placa: deformada

1
tensao (na deformada), componente XX
1
6
1
4

!2

!4

1
!6
1
0

10

12

14

16

18

Figura 9.12. Tracc


ao de placa: tens
oes

155

156
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84

9 Estado plano de tens


ao
fixedNodeY=find(node(:,2)==0); % fixos na direcao y (-c)
%
numnode=size(node,1);
% # de nos
numelem=size(element,1); % # de elementos
%
U=zeros(2*numnode,1);
% vector deslocamentos nodais
f=zeros(2*numnode,1);
% vector de carga externa
K=sparse(2*numnode,2*numnode); % matriz de rigidez
%
xs=1:numnode;
ys=(numnode+1):2*numnode;
% forcas externas : traccoes no bordo direito
W=zeros(2); Q=zeros(2);
Q(1) = 0.577350269189626;
Q(2) =-0.577350269189626;
W(1) = 1.; W(2) = 1.;
% bordo direito
for e=1:size(bordo,1)
indice=bordo(e,:) ;
% para impor cargas em X
indiceY=indice+numnode;
% para impor cargas em Y
for q=1:size(W,1)
pt=Q(q,:); wt=W(q);
pt=pt(1);
N=([1-pt,1+pt]/2);
dNdxi=[-1;1]/2;
J0=dNdxi*node(indice,:);
detJ0=norm(J0);
f(indice)=f(indice)+N*P*detJ0*wt; % carga equiv. nos nos
end
end
% rigidez no elemento Q4
% quadratura de 2 pontos
Q=[ -0.577350269189626 -0.577350269189626;
0.577350269189626 -0.577350269189626;
0.577350269189626 0.577350269189626;
-0.577350269189626 0.577350269189626];
W=[ 1;1;1;1];
for e=1:numelem
indice=element(e,:);
indiceB=[ indice indice+numnode ];
nn=length(indice);
for q=1:size(W,1)
pt=Q(q,:);
wt=W(q);
xi=pt(1);

9.11 Problema: placa em tracc


ao
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133

eta=pt(2);
% N e derivadas
N=1/4*[ (1-xi)*(1-eta);(1+xi)*(1-eta);
(1+xi)*(1+eta);(1-xi)*(1+eta)];
dNdxi=1/4*[-(1-eta), -(1-xi);1-eta,
-(1+xi);
1+eta,
1+xi;-(1+eta),

157

1-xi];

J0=node(indice,:)*dNdxi;
invJ0=inv(J0);
dNdx=dNdxi*invJ0;
% matriz B
B=zeros(3,2*nn);
B(1,1:nn)
= dNdx(:,1);
B(2,nn+1:2*nn) = dNdx(:,2);
B(3,1:nn)
= dNdx(:,2);
B(3,nn+1:2*nn) = dNdx(:,1);
% matriz K no ponto de quadratura
K(indiceB,indiceB)=K(indiceB,indiceB)+B*C*B*W(q)*det(J0);
end
end
% condicoes fronteira
dofs=[fixedNodeX;fixedNodeY+numnode];
% solucao
activeDof=setdiff([1:2*numnode],[dofs]);
U=K([activeDof],[activeDof])\f([activeDof]);
U1=zeros(2*numnode,1);
U1(activeDof)=U;
U=U1;
% desenho de malha e deformadas
dispNorm=max(node(:,1))/max(sqrt(U(xs).^2+U(ys).^2));
scaleFact=0.2*dispNorm;
fn=1;
% deformada
figure(fn)
clf
plot_field(node+scaleFact*[U(xs) U(ys)],element,elemType,U(xs));
hold on
plot_mesh(node+scaleFact*[U(xs) U(ys)],element,elemType,blue.-);
plot_mesh(node,element,elemType,k--);
colorbar
fn=fn+1;
title(DEFORMada na direcao X)
% tensoes no elemnto Q4
stress=zeros(numelem,size(element,2),3);

158
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178

9 Estado plano de tens


ao
stressPoints=[-1 -1;1 -1;1 1;-1 1];
for e=1:numelem
indice=element(e,:);
indiceB=[indice indice+numnode];
nn=length(indice);
for q=1:nn
pt=stressPoints(q,:);
% pontos de tensao
xi=pt(1);
eta=pt(2);
% FUNCOES DE FORMA E DERIVADAS COORDENADAS NATURAIS
N=1/4*[ (1-xi)*(1-eta);(1+xi)*(1-eta);
(1+xi)*(1+eta);(1-xi)*(1+eta)];
dNdxi=1/4*[-(1-eta), -(1-xi);1-eta,
-(1+xi);
1+eta,
1+xi;-(1+eta),
1-xi];
J0=node(indice,:)*dNdxi; % MATRIZ JACOBIANA
invJ0=inv(J0);
dNdx=dNdxi*invJ0;
% matriz B
B=zeros(3,2*nn);
B(1,1:nn)
=
B(2,nn+1:2*nn) =
B(3,1:nn)
=
B(3,nn+1:2*nn) =

dNdx(:,1);
dNdx(:,2);
dNdx(:,2);
dNdx(:,1);

% deformacao do elemento no ponto de tensao


strain=B*U(indiceB);
stress(e,q,:)=C*strain;
end
end
stressComp=1;
figure(fn)
clf
plot_field(node+scaleFact*[U(xs) U(ys)],...
element,elemType,stress(:,:,stressComp));
hold on
plot_mesh(node+scaleFact*[U(xs) U(ys)],element,elemType,k.-);
colordef white
plot_mesh(node,element,elemType,k--);
colorbar
fn=fn+1;
title(tensao (na deformada), componente XX)

10
Placas de Kirchhoff

10.1 Introduc
ao
Neste captulo apresenta-se a formulacao de elementos finitos para a analise
de placas finas, seguindo as suposicoes de Kirchhoff. A teoria de Kirchhoff
estabelece que as normais, rectas, ao plano medio indeformado, permanecem
normais ao plano medio deformado.
Com base nesta suposic
ao, desprezam-se os efeitos de corte transverso e
torna-se possvel formular um conjunto de elementos finitos que satisfazem
estas condic
oes de Kirchhoff.

10.2 Teoria de placas de Kirchhoff


Com base na placa da figura 10.1, onde se considera que a espessura da placa
e muito inferior `
as outras dimensoes e se considera que as cargas sao aplicadas
normais ao plano medio da placa, estabelecem-se as seguintes hipoteses:

nos pontos do plano medio u = v = 0


todos os pontos da normal ao plano medio possuem o mesmo deslocamento
transversal
a tens
ao x e desprez
avel
as rectas normais ao plano medio indeformado permanecem rectas e normais ao plano medio ap
os deformacao

10.2.1 Campo de deslocamentos, deforma


c
oes e tens
oes
Com base nas suposic
oes de Kirchhoff, define-se a rotacao da normal ao plano
medio como primeira derivada da flecha, ou seja,

160

10 Placas de Kirchhoff

w
x
w
v = z
y
w = w0
u = z

(10.1)
(10.2)
(10.3)

y, v
z, w
x

x, u

Figura 10.1. Graus de liberdade e orientac


oes das rotac
oes

Com base neste campo de deslocamentos, onde o vector de deslocamentos


para cada n
o do elemento e
uT = [w,

w w
,
]
x y

(10.4)

podem definir-se as deformacoes nao nulas


2w
x2
2w
y = z 2
y
2w
xy = 2z
xy

x = z

O vector de tens
oes associado e entao definido por

1 0

x
E 1 0 x
y
=


1 y

1 2
xy
xy
00
2

(10.5)
(10.6)
(10.7)

(10.8)

10.3 Elementos finitos

161

10.2.2 Principio dos trabalhos virtuais


Podemos escrever o principio dos trabalhos virtuais na forma
Z
Z
X
T dV =
wqdA +
wi Fi
V

(10.9)

onde q representa a caraga distribuida por unidade de area e Fi um conjunto de forcas pontuais.
Operando sobre os integrais e substituindo as deformcoes e tensoes, obtemos a forma da energia de deformacao

Z  2
2w
2w
w
Mx +
My + 2
Mxy dA
(10.10)
U =
2
y 2
xy
A x
onde Mi representam os momentos flectores, obtidos por integracao das
tens
oes atraves da espessura da placa, ou seja
Z

h/2

Mi =

i zdz,

i = x, y, xy

(10.11)

h/2

Note-se que devido `


as segundas derivadas presentes no integral, necessitamos
de considerar elementos finitos de continuidade C 1 , ou seja, continuidade da
func
ao e suas primeiras derivadas.

10.3 Elementos finitos


Considera-se, em geral que os elementos
finitos possuem, em cada no, os se  w 
w
guintes graus de liberdade wi , x i , y . Para o efeito necessitaamos dum
i
polin
omio de grau 3 n
umero de nos, na forma
w = 1 + 2 x + 3 y + 4 x2 + 5 xy + ...

(10.12)

Impondo as condic
oes

wi = (w)i ;

xi =

w
x


;
i

yi =

w
y


(10.13)
i

obtemos o polin
omio de interesse. No entanto, nem sempre e facil saber
quais os termos do polin
omio a reter.
10.3.1 Elemento rectangular n
ao conforme MCZ
O elemento rectangular de 4 nos de Melosh [110] e Zienkiewicz e Cheung [111]
n
ao contem os termos todos do polinomio, por isso se designa nao conforme.
Antes usa a seguinte aproximacao

162

10 Placas de Kirchhoff

w = 1 +2 x+3 y+4 x2 +5 xy+6 y 2 +7 x3 +8 x2 y+9 xy 2 +10 y 3 +11 x3 y+12 xy 3


(10.14)
Conseguem-se calcular as variaveis nodais e garantir a continuidade em cada
lado do elemento. As constantes i calculam-se usando as condicoes 10.13,
obtendo-se
ae = A

(10.15)

onde

aeT = w1

w
x

1 x1
0 1

0 0

1 x2

A=
0 1
0 0

1 x3

0 1
0 0

y1
0
1
y2
0
1
y3
0
1


1

w
y


... w4
1

w
x


4

w
y

 
(10.16)
4

x21
2x1
0
x22
2x2
0
x23
2x3
0

x1 y1
y1
x1
x2 y2
y2
x2
x3 y3
y3
x3

y12
0
2y1
y22
0
2y2
y32
0
2y3

x31
3x21
0
x32
3x22
0
x33
3x23
0

x21 y1 + x1 y12
2x1 y1 + y12
x21 + 2x1 y1
x22 y2 + x2 y22
2x2 y2 + y22
x22 + 2x2 y2
x23 y3 + x2 y32
2x3 y3 + y32
x23 + 2x3 y3

y13
0

3y12

y23

3y22

y33

0
3y32

(10.17)

Podemos ent
ao calcular
= A1 ae

(10.18)

w = PT = PT A1 ae = Nae

(10.19)

e estabelecer

onde N = P A

representa a matriz de funcoes de forma e

PT = [1, x, y, x2 , xy, y 2 , x3 , x2 y, xy 2 , y 3 , x3 y, xy 3 ]

(10.20)

Podemos encontrar uma forma explicita da matriz de rigidez e do vector


de forcas nodais equivalentes, o que e apresentado no codigo mcz.m ,
function [ke, re] = mcz(coord, h, e, nu, q)
% coord = coordenadas dos n
os do elemento
% h = espessura
% e = modulo de elasticidade, nu = coeficiente de Poisson
% q = carga distribuida.
% ke = rigidez do elemento, re = vector de carga equivalente.
a=(coord(2,1) - coord(1,1))/2;
b=(coord(4,2) - coord(1,2))/2;

10.3 Elementos finitos

163

r = a/b;
d = e*h^3/(12*(1 - nu^2));
re = a*b*q/3*[3; b; -a; 3; b; a; 3; -b; a; 3; -b; -a];
ke = d/(30*a*b)*[30*r^2 - 6*nu + 21 + 30/r^2,...
30*b* r^2 + 3*b + 12*b*nu, -12*nu*r*b - 3*r*b - (30*b)/r,...
15*r^2 + 6*nu - 21 - 30/r^2, 15*b*r^2 - 3*b - 12*b*nu,...
3*nu*r*b - 3*r*b - (30*b)/r, -15*r^2 - 6*nu + 21 - 15/r^2,...
15*b*r^2 - 3*b + 3*b*nu,...
-3*nu*r*b + 3*r*b - (15*b)/r,...
-30*r^2 + 6*nu - 21 + 15/r^2,...
30*b*r^2 + 3*b - 3*b*nu, 12*nu*r*b + 3*r*b - (15*b)/r;
30*b*r^2 + 3*b + 12*b*nu,...
40*r^2*b^2 - 8*nu*b^2 + 8*b^2,...
-30*b^2*nu*r, 15*b*r^2 - 3*b - 12*b*nu,...
20*r^2*b^2 + 8*nu*b^2 - 8*b^2, 0,...
-15*b*r^2 + 3*b - 3*b*nu, 10*r^2*b^2 - 2*nu*b^2 + 2*b^2, 0,...
-30*b*r^2 - 3*b + 3*b*nu, 20*r^2*b^2 + 2*nu*b^2 - 2*b^2, 0;
-12*nu*r*b - 3*r*b - (30*b)/r,-30*b^2*nu*r,...
-8*nu*r^2*b^2 + 8*r^2*b^2 + 40*b^2,...
-3*nu*r*b + 3*r*b + (30*b)/r,0,...
2*nu*r^2*b^2 - 2*r^2*b^2 + 20*b^2,...
3*nu*r*b - 3*r*b + (15*b)/r, 0,...
-2*nu*r^2*b^2 + 2*r^2*b^2 + 10*b^2,...
12*nu*r*b + 3*r*b - (15*b)/r, 0,...
8*nu*r^2*b^2 - 8*r^2*b^2 + 20*b^2;
15*r^2 + 6*nu - 21 - 30/r^2,...
15*b*r^2 - 3*b - 12*b*nu, -3*nu*r*b + 3*r*b + (30*b)/r,...
30*r^2 - 6*nu + 21 + 30/r^2, 30*b*r^2 + 3*b + 12*b*nu,...
12*nu*r*b + 3*r*b + (30*b)/r, -30*r^2 + 6*nu - 21 + 15/r^2,...
30*b*r^2 + 3*b - 3*b*nu, -12*nu*r*b - 3*r*b + (15*b)/r,...
-15*r^2 - 6*nu + 21 - 15/r^2, 15*b*r^2 - 3*b + 3*b*nu,...
3*nu*r*b - 3*r*b + (15*b)/r;
15*b*r^2 - 3*b - 12*b*nu, 20*r^2*b^2 + 8*nu*b^2 - 8*b^2, 0,...
30*b*r^2 + 3*b + 12*b*nu, 40*r^2*b^2 - 8*nu*b^2 + 8*b^2,...
30*b^2*nu*r, -30*b*r^2 - 3*b + 3*b*nu,...
20*r^2*b^2 + 2*nu*b^2 - 2*b^2, 0, -15*b*r^2 + 3*b - 3*b*nu,...
10*r^2*b^2 - 2*nu*b^2 + 2*b^2, 0;
3*nu*r*b - 3*r*b - (30*b)/r, 0,...
2*nu*r^2*b^2 - 2*r^2*b^2 + 20*b^2, 12*nu*r*b + 3*r*b + (30*b)/r,...
30*b^2*nu*r, -8*nu*r^2*b^2 + 8*r^2*b^2 + 40*b^2,...
-12*nu*r*b - 3*r*b + (15*b)/r, 0, ...
8*nu*r^2*b^2 - 8*r^2*b^2 + 20*b^2,...
-3*nu*r*b + 3*r*b - (15*b)/r, 0, -2*nu*r^2*b^2 + 2*r^2*b^2 + 10*b^2;
-15*r^2 - 6*nu + 21 - 15/r^2, -15*b*r^2 + 3*b - 3*b*nu,...
3*nu*r*b - 3*r*b + (15*b)/r, -30*r^2 + 6*nu - 21 + 15/r^2,...

164

10 Placas de Kirchhoff

-30*b*r^2 - 3*b + 3*b*nu, -12*nu*r*b - 3*r*b + (15*b)/r,...


30*r^2 - 6*nu + 21 + 30/r^2, -30*b*r^2 - 3*b - 12*b*nu,...
12*nu*r*b + 3*r*b + (30*b)/r, 15*r^2 + 6*nu - 21 - 30/r^2,...
-15*b*r^2 + 3*b + 12*b*nu, -3*nu*r*b + 3*r*b + (30*b)/r;
15*b*r^2 - 3*b + 3*b*nu, 10*r^2*b^2 - 2*nu*b^2 + 2*b^2, 0,...
30*b*r^2 + 3*b - 3*b*nu, 20*r^2*b^2 + 2*nu*b^2 - 2*b^2, 0,...
-30*b*r^2 - 3*b - 12*b*nu, 40*r^2*b^2 - 8*nu*b^2 + 8*b^2,...
-30*b^2*nu*r, -15*b*r^2 + 3*b + 12*b*nu, ...
20*r^2*b^2 + 8*nu*b^2 - 8*b^2, 0;
-3*nu*r*b + 3*r*b - (15*b)/r, 0,...
-2*nu*r^2*b^2 + 2*r^2*b^2 + 10*b^2, -12*nu*r*b - 3*r*b + (15*b)/r,...
0, 8*nu*r^2*b^2 - 8*r^2*b^2 + 20*b^2, 12*nu*r*b + 3*r*b + (30*b)/r,...
-30*b^2*nu*r, -8*nu*r^2*b^2 + 8*r^2*b^2 + 40*b^2,...
3*nu*r*b - 3*r*b - (30*b)/r, 0, 2*nu*r^2*b^2 - 2*r^2*b^2 + 20*b^2;
-30*r^2 + 6*nu - 21 + 15/r^2, -30*b*r^2 - 3*b + 3*b*nu,...
12*nu*r*b + 3*r*b - (15*b)/r, -15*r^2 - 6*nu + 21 - 15/r^2,...
-15*b*r^2 + 3*b - 3*b*nu, -3*nu*r*b + 3*r*b - (15*b)/r,...
15*r^2 + 6*nu - 21 - 30/r^2, -15*b*r^2 + 3*b + 12*b*nu,...
3*nu*r*b - 3*r*b - (30*b)/r, 30*r^2 - 6*nu + 21 + 30/r^2,...
-30*b*r^2 - 3*b - 12*b*nu, -12*nu*r*b - 3*r*b - (30*b)/r;
30*b*r^2 + 3*b - 3*b*nu, 20*r^2*b^2 + 2*nu*b^2 - 2*b^2, 0,...
15*b*r^2 - 3*b + 3*b*nu, 10*r^2*b^2 - 2*nu*b^2 + 2*b^2,0,...
-15*b*r^2 + 3*b + 12*b*nu, 20*r^2*b^2 + 8*nu*b^2 - 8*b^2, 0,...
-30*b*r^2 - 3*b - 12*b*nu, 40*r^2*b^2 - 8*nu*b^2 + 8*b^2,...
30*b^2*nu*r;
12*nu*r*b + 3*r*b - (15*b)/r, 0,...
8*nu*r^2*b^2 - 8*r^2*b^2 + 20*b^2, ...
3*nu*r*b - 3*r*b + (15*b)/r, 0,...
-2*nu*r^2*b^2 + 2*r^2*b^2 + 10*b^2, -3*nu*r*b + 3*r*b + (30*b)/r,...
0, 2*nu*r^2*b^2 - 2*r^2*b^2 + 20*b^2,...
-12*nu*r*b - 3*r*b - (30*b)/r, 30*b^2*nu*r,...
-8*nu*r^2*b^2 + 8*r^2*b^2 + 40*b^2];
Para verificar a qualidade deste elemento na analise de placas, considerese uma placa quadrada, simplesmente apoiada ou encastrada em todos os
bordos, sujeita a uma forca distribuida P , com lado a, modulo de elasticidade
E e coeficiente de Poisson . Considere-se a flecha normalizadas
D
P l4
sendo D a rigidez
a flex
ao, obtida por
w
=w

D=
sendo h a espessura da placa.

Eh3
12(1 2 )

(10.21)

(10.22)

10.3 Elementos finitos

165

O c
odigo que a seguir se apresenta ( mczExemplo.m ) pode considerar
apoios simples ou encastramentos.
clear all
colordef white
tic
% propriedades material
E0 = 10920;
% m
odulo Young
nu0 = 0.30;
% coef. Poisson
% geometria
L = 1;
% lado
thickness=0.001;
I=thickness^3/12;
P=-1;
% malha
numy
= 30;
% # elementos em xx
numx
= 30;
% # elementos em xx
%malha
[node, element] = MalhaRectangular(L, L, numx, numy);
%
xx=node(:,1);
yy=node(:,2);
numnode=size(node,1);
% numero nos
numelem=size(element,1); % numero elementos
% matriz elasticidade (duas partes)
disp([num2str(toc),
dados ])
U=zeros(3*numnode,1);
% vector de deslocamentos nodais
f=zeros(3*numnode,1);
% vector de carga externa
K=sparse(3*numnode,3*numnode); % matriz de rigidez
for e=1:numelem
indice=element(e,:);
indiceB=[ indice(1)*3-2
indice(2)*3-2
indice(3)*3-2
indice(4)*3-2

indice(1)*3-1
indice(2)*3-1
indice(3)*3-1
indice(4)*3-1

indice(1)*3 ...
indice(2)*3 ...
indice(3)*3 ...
indice(4)*3];

[ke, fe] = mcz(node(indice,:), thickness, E0, nu0, P);


K(indiceB,indiceB)=K(indiceB,indiceB)+ke;
f(indiceB)=f(indiceB)+fe;
%
end
%noCentral=find(node(:,1)==L/2 & node(:,2)==L/2);
%f(noCentral*3-2)=-1.0;

166

10 Placas de Kirchhoff

% BC
fixedNodeW =find(yy==max(node(:,2))|xx==min(node(:,1))...
|xx==max(node(:,1))|yy==min(node(:,2)));
%next two lines: simply supported case
% Nota: neste elemento, troca-se o theta_x por theta_y
fixedNodeTY =find(yy==max(node(:,2))|yy==min(node(:,2)));
fixedNodeTX =find(xx==max(node(:,1))| xx==min(node(:,1)));
%next two lines: clamped case
%fixedNodeTX =fixedNodeW;
%fixedNodeTY =fixedNodeTX;
dofs=[fixedNodeW*3-2;fixedNodeTX*3-1;fixedNodeTY*3];
activeDof=setdiff([1:3*numnode],[dofs]);
U=K(activeDof,activeDof)\f(activeDof);
U1=zeros(3*numnode,1);
U1(activeDof)=U;
figure
plot3(xx,yy,U1(1:3:3*numnode),.)
format long
D1=E0*thickness^3/12/(1-nu0^2);
min(U1(1:3:3*numnode))*D1/L^4
Para a placa referida, obtem-se os seguintes resultados normalizados para a
flecha m
axima (n
o central), conforme ilustrado na tabela 10.1.
Malha
22
66
10 10
20 20
30 30
Soluc
ao exacta

SSSS
0.005063
0.004181
0.004105
0.004073
0.004067
0.004060

CCCC
0.001479
0.001332
0.001290
0.001271
0.001268
0.001260

Tabela 10.1. Flecha normalizada para placa quadrada, sujeita a carga uniforme.
Simplesmente apoiada (SSSS) e encastrada (CCCC)

10.3 Elementos finitos

167

10.3.2 Elemento rectangular conforme BFS


O elemento rectangular de 4 nos de Bogner, Fox e Schmidt [112] considera a
2w
, usando uma aproximacao polinomial
introduc
ao da segunda derivada xy
de 16 termos. Note-se que o vector de graus de liberdade por no e agora de
quatro

 2  
w
w
y
xy
1
1
1
4
4
4
(10.23)
O c
odigo bfs.m apresenta o calculo da matriz de rigidez e do vector de
forcas nodais equivalentes para este elemento.

aeT = w1

w
x

w
y

2w
xy

... w4

w
x

function [ke, re] = bfs(coord, h, e, nu, q)


% coord = coordenadas dos n
os do elemento
% h = espessura
% e = modulo de elasticidade, nu = coeficiente de Poisson
% q = carga distribuida.
% ke = rigidez do elemento, re = vector de carga equivalente.
a=(coord(2,1) - coord(1,1))/2;
b=(coord(4,2) - coord(1,2))/2;
r = a/b;
d = e*h^3/(12*(1 - nu^2));
re = a*b*q/9*[9, 3*b, 3*a, a*b, 9, 3*b, -3*a, -(a*b), 9, -3*b, -3*a,...
a*b, 9, -3*b, 3*a, -(a*b)];
ke = d*[(39*a)/(35*b^3)+18/(25*a*b)+(39*b)/(35*a^3),...
3/(25*a)+(39*a)/(35*b^2)+(11*b^2)/(35*a^3)+(3*nu)/(5*a),...
(11*a^2)/(35*b^3)+3/(25*b)+(39*b)/(35*a^2)+(3*nu)/(5*b),...
1/50+(11*a^2)/(35*b^2)+(11*b^2)/(35*a^2)+nu/5,...
(27*a)/(70*b^3)-18/(25*a*b)-(39*b)/(35*a^3),...
-3/(25*a)+(27*a)/(70*b^2)-(11*b^2)/(35*a^3)-(3*nu)/(5*a),...
(-13*a^2)/(70*b^3)+3/(25*b)+(39*b)/(35*a^2),...
1/50-(13*a^2)/(70*b^2)+(11*b^2)/(35*a^2)+nu/10,...
(-27*a)/(70*b^3)+18/(25*a*b)-(27*b)/(70*a^3),...
-3/(25*a)+(27*a)/(70*b^2)+(13*b^2)/(70*a^3),...
(13*a^2)/(70*b^3)-3/(25*b)+(27*b)/(70*a^2),...
1/50-(13*a^2)/(70*b^2)-(13*b^2)/(70*a^2),...
(-39*a)/(35*b^3)-18/(25*a*b)+(27*b)/(70*a^3),...
3/(25*a)+(39*a)/(35*b^2)-(13*b^2)/(70*a^3),...
(-11*a^2)/(35*b^3)-3/(25*b)+(27*b)/(70*a^2)-(3*nu)/(5*b),...
1/50+(11*a^2)/(35*b^2)-(13*b^2)/(70*a^2)+nu/10;
3/(25*a)+(39*a)/(35*b^2)+(11*b^2)/(35*a^3)+(3*nu)/(5*a),...
(52*a)/(35*b)+(8*b)/(25*a)+(4*b^3)/(35*a^3),...
1/50+(11*a^2)/(35*b^2)+(11*b^2)/(35*a^2)+(6*nu)/5,...
(44*a^2)/(105*b)+(4*b)/75+(4*b^3)/(35*a^2)+(4*b*nu)/15,...

168

10 Placas de Kirchhoff

-3/(25*a)+(27*a)/(70*b^2)-(11*b^2)/(35*a^3)-(3*nu)/(5*a),...
(18*a)/(35*b)-(8*b)/(25*a)-(4*b^3)/(35*a^3),...
1/50-(13*a^2)/(70*b^2)+(11*b^2)/(35*a^2)+nu/10,...
(-26*a^2)/(105*b)+(4*b)/75+(4*b^3)/(35*a^2),...
3/(25*a)-(27*a)/(70*b^2)-(13*b^2)/(70*a^3),...
(9*a)/(35*b)+(2*b)/(25*a)+(3*b^3)/(35*a^3),...
-1/50+(13*a^2)/(70*b^2)+(13*b^2)/(70*a^2),...
(-13*a^2)/(105*b)-b/75-(3*b^3)/(35*a^2),...
-3/(25*a)-(39*a)/(35*b^2)+(13*b^2)/(70*a^3),...
(26*a)/(35*b)-(2*b)/(25*a)-(3*b^3)/(35*a^3),...
-1/50-(11*a^2)/(35*b^2)+(13*b^2)/(70*a^2)-nu/10,...
(22*a^2)/(105*b)-b/75-(3*b^3)/(35*a^2)-(b*nu)/15;
(11*a^2)/(35*b^3)+3/(25*b)+(39*b)/(35*a^2)+(3*nu)/(5*b),...
1/50+(11*a^2)/(35*b^2)+(11*b^2)/(35*a^2)+(6*nu)/5,...
(4*a^3)/(35*b^3)+(8*a)/(25*b)+(52*b)/(35*a),...
(4*a)/75+(4*a^3)/(35*b^2)+(44*b^2)/(105*a)+(4*a*nu)/15,...
(13*a^2)/(70*b^3)-3/(25*b)-(39*b)/(35*a^2),...
-1/50+(13*a^2)/(70*b^2)-(11*b^2)/(35*a^2)-nu/10,...
(-3*a^3)/(35*b^3)-(2*a)/(25*b)+(26*b)/(35*a),...
-a/75-(3*a^3)/(35*b^2)+(22*b^2)/(105*a)-(a*nu)/15,...
(-13*a^2)/(70*b^3)+3/(25*b)-(27*b)/(70*a^2),...
-1/50+(13*a^2)/(70*b^2)+(13*b^2)/(70*a^2),...
(3*a^3)/(35*b^3)+(2*a)/(25*b)+(9*b)/(35*a),...
-a/75-(3*a^3)/(35*b^2)-(13*b^2)/(105*a),...
(-11*a^2)/(35*b^3)-3/(25*b)+(27*b)/(70*a^2)-(3*nu)/(5*b),...
1/50+(11*a^2)/(35*b^2)-(13*b^2)/(70*a^2)+nu/10,...
(-4*a^3)/(35*b^3)-(8*a)/(25*b)+(18*b)/(35*a),...
(4*a)/75+(4*a^3)/(35*b^2)-(26*b^2)/(105*a);
1/50+(11*a^2)/(35*b^2)+(11*b^2)/(35*a^2)+nu/5,...
(44*a^2)/(105*b)+(4*b)/75+(4*b^3)/(35*a^2)+(4*b*nu)/15,...
(4*a)/75+(4*a^3)/(35*b^2)+(44*b^2)/(105*a)+(4*a*nu)/15,...
(16*a^3)/(105*b)+(32*a*b)/225+(16*b^3)/(105*a),...
-1/50+(13*a^2)/(70*b^2)-(11*b^2)/(35*a^2)-nu/10,...
(26*a^2)/(105*b)-(4*b)/75-(4*b^3)/(35*a^2),...
-a/75-(3*a^3)/(35*b^2)+(22*b^2)/(105*a)-(a*nu)/15,...
(-4*a^3)/(35*b)-(8*a*b)/225+(8*b^3)/(105*a),...
1/50-(13*a^2)/(70*b^2)-(13*b^2)/(70*a^2),...
(13*a^2)/(105*b)+b/75+(3*b^3)/(35*a^2),...
a/75+(3*a^3)/(35*b^2)+(13*b^2)/(105*a),...
(-2*a^3)/(35*b)+(2*a*b)/225-(2*b^3)/(35*a),...
-1/50-(11*a^2)/(35*b^2)+(13*b^2)/(70*a^2)-nu/10,...
(22*a^2)/(105*b)-b/75-(3*b^3)/(35*a^2)-(b*nu)/15,...
(-4*a)/75-(4*a^3)/(35*b^2)+(26*b^2)/(105*a),...
(8*a^3)/(105*b)-(8*a*b)/225-(4*b^3)/(35*a);
(27*a)/(70*b^3)-18/(25*a*b)-(39*b)/(35*a^3),...

10.3 Elementos finitos

169

-3/(25*a)+(27*a)/(70*b^2)-(11*b^2)/(35*a^3)-(3*nu)/(5*a),...
(13*a^2)/(70*b^3)-3/(25*b)-(39*b)/(35*a^2),...
-1/50+(13*a^2)/(70*b^2)-(11*b^2)/(35*a^2)-nu/10,...
(39*a)/(35*b^3)+18/(25*a*b)+(39*b)/(35*a^3),...
3/(25*a)+(39*a)/(35*b^2)+(11*b^2)/(35*a^3)+(3*nu)/(5*a),...
(-11*a^2)/(35*b^3)-3/(25*b)-(39*b)/(35*a^2)-(3*nu)/(5*b),...
-1/50-(11*a^2)/(35*b^2)-(11*b^2)/(35*a^2)-nu/5,...
(-39*a)/(35*b^3)-18/(25*a*b)+(27*b)/(70*a^3),...
3/(25*a)+(39*a)/(35*b^2)-(13*b^2)/(70*a^3),...
(11*a^2)/(35*b^3)+3/(25*b)-(27*b)/(70*a^2)+(3*nu)/(5*b),...
-1/50-(11*a^2)/(35*b^2)+(13*b^2)/(70*a^2)-nu/10,...
(-27*a)/(70*b^3)+18/(25*a*b)-(27*b)/(70*a^3),...
-3/(25*a)+(27*a)/(70*b^2)+(13*b^2)/(70*a^3),...
(-13*a^2)/(70*b^3)+3/(25*b)-(27*b)/(70*a^2),...
-1/50+(13*a^2)/(70*b^2)+(13*b^2)/(70*a^2);
-3/(25*a)+(27*a)/(70*b^2)-(11*b^2)/(35*a^3)-(3*nu)/(5*a),...
(18*a)/(35*b)-(8*b)/(25*a)-(4*b^3)/(35*a^3),...
-1/50+(13*a^2)/(70*b^2)-(11*b^2)/(35*a^2)-nu/10,...
(26*a^2)/(105*b)-(4*b)/75-(4*b^3)/(35*a^2),...
3/(25*a)+(39*a)/(35*b^2)+(11*b^2)/(35*a^3)+(3*nu)/(5*a),...
(52*a)/(35*b)+(8*b)/(25*a)+(4*b^3)/(35*a^3),...
-1/50-(11*a^2)/(35*b^2)-(11*b^2)/(35*a^2)-(6*nu)/5,...
(-44*a^2)/(105*b)-(4*b)/75-(4*b^3)/(35*a^2)-(4*b*nu)/15,...
-3/(25*a)-(39*a)/(35*b^2)+(13*b^2)/(70*a^3),...
(26*a)/(35*b)-(2*b)/(25*a)-(3*b^3)/(35*a^3),...
1/50+(11*a^2)/(35*b^2)-(13*b^2)/(70*a^2)+nu/10,...
(-22*a^2)/(105*b)+b/75+(3*b^3)/(35*a^2)+(b*nu)/15,...
3/(25*a)-(27*a)/(70*b^2)-(13*b^2)/(70*a^3),...
(9*a)/(35*b)+(2*b)/(25*a)+(3*b^3)/(35*a^3),...
1/50-(13*a^2)/(70*b^2)-(13*b^2)/(70*a^2),...
(13*a^2)/(105*b)+b/75+(3*b^3)/(35*a^2);
(-13*a^2)/(70*b^3)+3/(25*b)+(39*b)/(35*a^2),...
1/50-(13*a^2)/(70*b^2)+(11*b^2)/(35*a^2)+nu/10,...
(-3*a^3)/(35*b^3)-(2*a)/(25*b)+(26*b)/(35*a),...
-a/75-(3*a^3)/(35*b^2)+(22*b^2)/(105*a)-(a*nu)/15,...
(-11*a^2)/(35*b^3)-3/(25*b)-(39*b)/(35*a^2)-(3*nu)/(5*b),...
-1/50-(11*a^2)/(35*b^2)-(11*b^2)/(35*a^2)-(6*nu)/5,...
(4*a^3)/(35*b^3)+(8*a)/(25*b)+(52*b)/(35*a),...
(4*a)/75+(4*a^3)/(35*b^2)+(44*b^2)/(105*a)+(4*a*nu)/15,...
(11*a^2)/(35*b^3)+3/(25*b)-(27*b)/(70*a^2)+(3*nu)/(5*b),...
-1/50-(11*a^2)/(35*b^2)+(13*b^2)/(70*a^2)-nu/10,...
(-4*a^3)/(35*b^3)-(8*a)/(25*b)+(18*b)/(35*a),...
(4*a)/75+(4*a^3)/(35*b^2)-(26*b^2)/(105*a),...
(13*a^2)/(70*b^3)-3/(25*b)+(27*b)/(70*a^2),...
1/50-(13*a^2)/(70*b^2)-(13*b^2)/(70*a^2),...

170

10 Placas de Kirchhoff

(3*a^3)/(35*b^3)+(2*a)/(25*b)+(9*b)/(35*a),...
-a/75-(3*a^3)/(35*b^2)-(13*b^2)/(105*a);
1/50-(13*a^2)/(70*b^2)+(11*b^2)/(35*a^2)+nu/10,...
(-26*a^2)/(105*b)+(4*b)/75+(4*b^3)/(35*a^2),...
-a/75-(3*a^3)/(35*b^2)+(22*b^2)/(105*a)-(a*nu)/15,...
(-4*a^3)/(35*b)-(8*a*b)/225+(8*b^3)/(105*a),...
-1/50-(11*a^2)/(35*b^2)-(11*b^2)/(35*a^2)-nu/5,...
(-44*a^2)/(105*b)-(4*b)/75-(4*b^3)/(35*a^2)-(4*b*nu)/15,...
(4*a)/75+(4*a^3)/(35*b^2)+(44*b^2)/(105*a)+(4*a*nu)/15,...
(16*a^3)/(105*b)+(32*a*b)/225+(16*b^3)/(105*a),...
1/50+(11*a^2)/(35*b^2)-(13*b^2)/(70*a^2)+nu/10,...
(-22*a^2)/(105*b)+b/75+(3*b^3)/(35*a^2)+(b*nu)/15,...
(-4*a)/75-(4*a^3)/(35*b^2)+(26*b^2)/(105*a),...
(8*a^3)/(105*b)-(8*a*b)/225-(4*b^3)/(35*a),...
-1/50+(13*a^2)/(70*b^2)+(13*b^2)/(70*a^2),...
(-13*a^2)/(105*b)-b/75-(3*b^3)/(35*a^2),...
a/75+(3*a^3)/(35*b^2)+(13*b^2)/(105*a),...
(-2*a^3)/(35*b)+(2*a*b)/225-(2*b^3)/(35*a);
(-27*a)/(70*b^3)+18/(25*a*b)-(27*b)/(70*a^3),...
3/(25*a)-(27*a)/(70*b^2)-(13*b^2)/(70*a^3),...
(-13*a^2)/(70*b^3)+3/(25*b)-(27*b)/(70*a^2),...
1/50-(13*a^2)/(70*b^2)-(13*b^2)/(70*a^2),...
(-39*a)/(35*b^3)-18/(25*a*b)+(27*b)/(70*a^3),...
-3/(25*a)-(39*a)/(35*b^2)+(13*b^2)/(70*a^3),...
(11*a^2)/(35*b^3)+3/(25*b)-(27*b)/(70*a^2)+(3*nu)/(5*b),...
1/50+(11*a^2)/(35*b^2)-(13*b^2)/(70*a^2)+nu/10,...
(39*a)/(35*b^3)+18/(25*a*b)+(39*b)/(35*a^3),...
-3/(25*a)-(39*a)/(35*b^2)-(11*b^2)/(35*a^3)-(3*nu)/(5*a),...
(-11*a^2)/(35*b^3)-3/(25*b)-(39*b)/(35*a^2)-(3*nu)/(5*b),...
1/50+(11*a^2)/(35*b^2)+(11*b^2)/(35*a^2)+nu/5,...
(27*a)/(70*b^3)-18/(25*a*b)-(39*b)/(35*a^3),...
3/(25*a)-(27*a)/(70*b^2)+(11*b^2)/(35*a^3)+(3*nu)/(5*a),...
(13*a^2)/(70*b^3)-3/(25*b)-(39*b)/(35*a^2),...
1/50-(13*a^2)/(70*b^2)+(11*b^2)/(35*a^2)+nu/10;
-3/(25*a)+(27*a)/(70*b^2)+(13*b^2)/(70*a^3),...
(9*a)/(35*b)+(2*b)/(25*a)+(3*b^3)/(35*a^3),...
-1/50+(13*a^2)/(70*b^2)+(13*b^2)/(70*a^2),...
(13*a^2)/(105*b)+b/75+(3*b^3)/(35*a^2),...
3/(25*a)+(39*a)/(35*b^2)-(13*b^2)/(70*a^3),...
(26*a)/(35*b)-(2*b)/(25*a)-(3*b^3)/(35*a^3),...
-1/50-(11*a^2)/(35*b^2)+(13*b^2)/(70*a^2)-nu/10,...
(-22*a^2)/(105*b)+b/75+(3*b^3)/(35*a^2)+(b*nu)/15,...
-3/(25*a)-(39*a)/(35*b^2)-(11*b^2)/(35*a^3)-(3*nu)/(5*a),...
(52*a)/(35*b)+(8*b)/(25*a)+(4*b^3)/(35*a^3),...
1/50+(11*a^2)/(35*b^2)+(11*b^2)/(35*a^2)+(6*nu)/5,...

10.3 Elementos finitos

171

(-44*a^2)/(105*b)-(4*b)/75-(4*b^3)/(35*a^2)-(4*b*nu)/15,...
3/(25*a)-(27*a)/(70*b^2)+(11*b^2)/(35*a^3)+(3*nu)/(5*a),...
(18*a)/(35*b)-(8*b)/(25*a)-(4*b^3)/(35*a^3),...
1/50-(13*a^2)/(70*b^2)+(11*b^2)/(35*a^2)+nu/10,...
(26*a^2)/(105*b)-(4*b)/75-(4*b^3)/(35*a^2);
(13*a^2)/(70*b^3)-3/(25*b)+(27*b)/(70*a^2),...
-1/50+(13*a^2)/(70*b^2)+(13*b^2)/(70*a^2),...
(3*a^3)/(35*b^3)+(2*a)/(25*b)+(9*b)/(35*a),...
a/75+(3*a^3)/(35*b^2)+(13*b^2)/(105*a),...
(11*a^2)/(35*b^3)+3/(25*b)-(27*b)/(70*a^2)+(3*nu)/(5*b),...
1/50+(11*a^2)/(35*b^2)-(13*b^2)/(70*a^2)+nu/10,...
(-4*a^3)/(35*b^3)-(8*a)/(25*b)+(18*b)/(35*a),...
(-4*a)/75-(4*a^3)/(35*b^2)+(26*b^2)/(105*a),...
(-11*a^2)/(35*b^3)-3/(25*b)-(39*b)/(35*a^2)-(3*nu)/(5*b),...
1/50+(11*a^2)/(35*b^2)+(11*b^2)/(35*a^2)+(6*nu)/5,...
(4*a^3)/(35*b^3)+(8*a)/(25*b)+(52*b)/(35*a),...
(-4*a)/75-(4*a^3)/(35*b^2)-(44*b^2)/(105*a)-(4*a*nu)/15,...
(-13*a^2)/(70*b^3)+3/(25*b)+(39*b)/(35*a^2),...
-1/50+(13*a^2)/(70*b^2)-(11*b^2)/(35*a^2)-nu/10,...
(-3*a^3)/(35*b^3)-(2*a)/(25*b)+(26*b)/(35*a),...
a/75+(3*a^3)/(35*b^2)-(22*b^2)/(105*a)+(a*nu)/15;
1/50-(13*a^2)/(70*b^2)-(13*b^2)/(70*a^2),...
(-13*a^2)/(105*b)-b/75-(3*b^3)/(35*a^2),...
-a/75-(3*a^3)/(35*b^2)-(13*b^2)/(105*a),...
(-2*a^3)/(35*b)+(2*a*b)/225-(2*b^3)/(35*a),...
-1/50-(11*a^2)/(35*b^2)+(13*b^2)/(70*a^2)-nu/10,...
(-22*a^2)/(105*b)+b/75+(3*b^3)/(35*a^2)+(b*nu)/15,...
(4*a)/75+(4*a^3)/(35*b^2)-(26*b^2)/(105*a),...
(8*a^3)/(105*b)-(8*a*b)/225-(4*b^3)/(35*a),...
1/50+(11*a^2)/(35*b^2)+(11*b^2)/(35*a^2)+nu/5,...
(-44*a^2)/(105*b)-(4*b)/75-(4*b^3)/(35*a^2)-(4*b*nu)/15,...
(-4*a)/75-(4*a^3)/(35*b^2)-(44*b^2)/(105*a)-(4*a*nu)/15,...
(16*a^3)/(105*b)+(32*a*b)/225+(16*b^3)/(105*a),...
-1/50+(13*a^2)/(70*b^2)-(11*b^2)/(35*a^2)-nu/10,...
(-26*a^2)/(105*b)+(4*b)/75+(4*b^3)/(35*a^2),...
a/75+(3*a^3)/(35*b^2)-(22*b^2)/(105*a)+(a*nu)/15,...
(-4*a^3)/(35*b)-(8*a*b)/225+(8*b^3)/(105*a);
(-39*a)/(35*b^3)-18/(25*a*b)+(27*b)/(70*a^3),...
-3/(25*a)-(39*a)/(35*b^2)+(13*b^2)/(70*a^3),...
(-11*a^2)/(35*b^3)-3/(25*b)+(27*b)/(70*a^2)-(3*nu)/(5*b),...
-1/50-(11*a^2)/(35*b^2)+(13*b^2)/(70*a^2)-nu/10,...
(-27*a)/(70*b^3)+18/(25*a*b)-(27*b)/(70*a^3),...
3/(25*a)-(27*a)/(70*b^2)-(13*b^2)/(70*a^3),...
(13*a^2)/(70*b^3)-3/(25*b)+(27*b)/(70*a^2),...
-1/50+(13*a^2)/(70*b^2)+(13*b^2)/(70*a^2),...

172

10 Placas de Kirchhoff

(27*a)/(70*b^3)-18/(25*a*b)-(39*b)/(35*a^3),...
3/(25*a)-(27*a)/(70*b^2)+(11*b^2)/(35*a^3)+(3*nu)/(5*a),...
(-13*a^2)/(70*b^3)+3/(25*b)+(39*b)/(35*a^2),...
-1/50+(13*a^2)/(70*b^2)-(11*b^2)/(35*a^2)-nu/10,...
(39*a)/(35*b^3)+18/(25*a*b)+(39*b)/(35*a^3),...
-3/(25*a)-(39*a)/(35*b^2)-(11*b^2)/(35*a^3)-(3*nu)/(5*a),...
(11*a^2)/(35*b^3)+3/(25*b)+(39*b)/(35*a^2)+(3*nu)/(5*b),...
-1/50-(11*a^2)/(35*b^2)-(11*b^2)/(35*a^2)-nu/5;
3/(25*a)+(39*a)/(35*b^2)-(13*b^2)/(70*a^3),...
(26*a)/(35*b)-(2*b)/(25*a)-(3*b^3)/(35*a^3),...
1/50+(11*a^2)/(35*b^2)-(13*b^2)/(70*a^2)+nu/10,...
(22*a^2)/(105*b)-b/75-(3*b^3)/(35*a^2)-(b*nu)/15,...
-3/(25*a)+(27*a)/(70*b^2)+(13*b^2)/(70*a^3),...
(9*a)/(35*b)+(2*b)/(25*a)+(3*b^3)/(35*a^3),...
1/50-(13*a^2)/(70*b^2)-(13*b^2)/(70*a^2),...
(-13*a^2)/(105*b)-b/75-(3*b^3)/(35*a^2),...
3/(25*a)-(27*a)/(70*b^2)+(11*b^2)/(35*a^3)+(3*nu)/(5*a),...
(18*a)/(35*b)-(8*b)/(25*a)-(4*b^3)/(35*a^3),...
-1/50+(13*a^2)/(70*b^2)-(11*b^2)/(35*a^2)-nu/10,...
(-26*a^2)/(105*b)+(4*b)/75+(4*b^3)/(35*a^2),...
-3/(25*a)-(39*a)/(35*b^2)-(11*b^2)/(35*a^3)-(3*nu)/(5*a),...
(52*a)/(35*b)+(8*b)/(25*a)+(4*b^3)/(35*a^3),...
-1/50-(11*a^2)/(35*b^2)-(11*b^2)/(35*a^2)-(6*nu)/5,...
(44*a^2)/(105*b)+(4*b)/75+(4*b^3)/(35*a^2)+(4*b*nu)/15;
(-11*a^2)/(35*b^3)-3/(25*b)+(27*b)/(70*a^2)-(3*nu)/(5*b),...
-1/50-(11*a^2)/(35*b^2)+(13*b^2)/(70*a^2)-nu/10,...
(-4*a^3)/(35*b^3)-(8*a)/(25*b)+(18*b)/(35*a),...
(-4*a)/75-(4*a^3)/(35*b^2)+(26*b^2)/(105*a),...
(-13*a^2)/(70*b^3)+3/(25*b)-(27*b)/(70*a^2),...
1/50-(13*a^2)/(70*b^2)-(13*b^2)/(70*a^2),...
(3*a^3)/(35*b^3)+(2*a)/(25*b)+(9*b)/(35*a),...
a/75+(3*a^3)/(35*b^2)+(13*b^2)/(105*a),...
(13*a^2)/(70*b^3)-3/(25*b)-(39*b)/(35*a^2),...
1/50-(13*a^2)/(70*b^2)+(11*b^2)/(35*a^2)+nu/10,...
(-3*a^3)/(35*b^3)-(2*a)/(25*b)+(26*b)/(35*a),...
a/75+(3*a^3)/(35*b^2)-(22*b^2)/(105*a)+(a*nu)/15,...
(11*a^2)/(35*b^3)+3/(25*b)+(39*b)/(35*a^2)+(3*nu)/(5*b),...
-1/50-(11*a^2)/(35*b^2)-(11*b^2)/(35*a^2)-(6*nu)/5,...
(4*a^3)/(35*b^3)+(8*a)/(25*b)+(52*b)/(35*a),...
(-4*a)/75-(4*a^3)/(35*b^2)-(44*b^2)/(105*a)-(4*a*nu)/15;
1/50+(11*a^2)/(35*b^2)-(13*b^2)/(70*a^2)+nu/10,...
(22*a^2)/(105*b)-b/75-(3*b^3)/(35*a^2)-(b*nu)/15,...
(4*a)/75+(4*a^3)/(35*b^2)-(26*b^2)/(105*a),...
(8*a^3)/(105*b)-(8*a*b)/225-(4*b^3)/(35*a),...
-1/50+(13*a^2)/(70*b^2)+(13*b^2)/(70*a^2),...

10.3 Elementos finitos

173

(13*a^2)/(105*b)+b/75+(3*b^3)/(35*a^2),...
-a/75-(3*a^3)/(35*b^2)-(13*b^2)/(105*a),...
(-2*a^3)/(35*b)+(2*a*b)/225-(2*b^3)/(35*a),...
1/50-(13*a^2)/(70*b^2)+(11*b^2)/(35*a^2)+nu/10,...
(26*a^2)/(105*b)-(4*b)/75-(4*b^3)/(35*a^2),...
a/75+(3*a^3)/(35*b^2)-(22*b^2)/(105*a)+(a*nu)/15,...
(-4*a^3)/(35*b)-(8*a*b)/225+(8*b^3)/(105*a),...
-1/50-(11*a^2)/(35*b^2)-(11*b^2)/(35*a^2)-nu/5,...
(44*a^2)/(105*b)+(4*b)/75+(4*b^3)/(35*a^2)+(4*b*nu)/15,...
(-4*a)/75-(4*a^3)/(35*b^2)-(44*b^2)/(105*a)-(4*a*nu)/15,...
(16*a^3)/(105*b)+(32*a*b)/225+(16*b^3)/(105*a)];
end
Para verificar a qualidade deste elemento na analise de placas, considerese uma placa quadrada, simplesmente apoiada ou encastrada em todos os
bordos, sujeita a uma forca distribuida P , com lado a, modulo de elasticidade
E e coeficiente de Poisson . Considere-se a flecha normalizadas
D
P l4
sendo D a rigidez
a flex
ao, obtida por
w
=w

D=

Eh3
12(1 2 )

(10.24)

(10.25)

sendo h a espessura da placa.


O c
odigo que a seguir se apresenta ( bfsExemplo.m ) pode considerar
apoios simples ou encastramentos.
clear all
colordef white
tic
% propriedades material
E0 = 10920;
% m
odulo Young
nu0 = 0.30;
% coef. Poisson
% geometria
L = 1;
% lado
thickness=0.001;
I=thickness^3/12;
P=-1;
% malha
numy
= 20;
% # elementos em xx
numx
= 20;
% # elementos em xx
%malha
[node, element] = MalhaRectangular(L, L, numx, numy);
%
xx=node(:,1);
yy=node(:,2);

174

10 Placas de Kirchhoff

numnode=size(node,1);
% numero nos
numelem=size(element,1); % numero elementos
% matriz elasticidade (duas partes)
disp([num2str(toc),
dados ])
U=zeros(4*numnode,1);
% vector de deslocamentos nodais
f=zeros(4*numnode,1);
% vector de carga externa
K=sparse(4*numnode,4*numnode); % matriz de rigidez
for e=1:numelem
indice=element(e,:);
indiceB=[ indice(1)*4-3
indice(2)*4-3
indice(3)*4-3
indice(4)*4-3

indice(1)*4-2
indice(2)*4-2
indice(3)*4-2
indice(4)*4-2

indice(1)*4-1
indice(2)*4-1
indice(3)*4-1
indice(4)*4-1

indice(1)*4 ...
indice(2)*4 ...
indice(3)*4 ...
indice(4)*4];

[ke, fe] = bfs(node(indice,:), thickness, E0, nu0, P);


K(indiceB,indiceB)=K(indiceB,indiceB)+ke;
f(indiceB)=f(indiceB)+fe;
%
end
%noCentral=find(node(:,1)==L/2 & node(:,2)==L/2);
%f(noCentral*3-2)=-1.0;
% BC
fixedNodeW =find(yy==max(node(:,2))|xx==min(node(:,1))...
|xx==max(node(:,1))|yy==min(node(:,2)));
%next two lines: simply supported case
% Nota: neste elemento, troca-se o theta_x por theta_y
fixedNodeTY =find(yy==max(node(:,2))|yy==min(node(:,2)));
fixedNodeTX =find(xx==max(node(:,1))| xx==min(node(:,1)));
fixedNodeTXY =[];
%next two lines: clamped case
% fixedNodeTX =fixedNodeW;
% fixedNodeTY =fixedNodeTX;
% fixedNodeTXY =fixedNodeW;;
dofs=[fixedNodeW*4-3;fixedNodeTX*4-2;fixedNodeTY*4-1;fixedNodeTXY*4];
activeDof=setdiff([1:4*numnode],[dofs]);

10.3 Elementos finitos

175

U=K(activeDof,activeDof)\f(activeDof);
U1=zeros(4*numnode,1);
U1(activeDof)=U;
figure
plot3(xx,yy,U1(1:4:4*numnode),.)
format long
D1=E0*thickness^3/12/(1-nu0^2);
min(U1(1:4:4*numnode))*D1/L^4
Para a placa referida, obtem-se os seguintes resultados normalizados para
a flecha m
axima (n
o central), conforme ilustrado na tabela 10.2.
Malha

SSSS

22
66
10 10
20 20
Soluc
ao exacta

0.004122
0.004062
0.004062
0.004062
0.004060

CCCC
0.001324
0.001265
0.001265
0.001265
0.001260

Tabela 10.2. Flecha normalizada para placa quadrada, sujeita a carga uniforme.
Simplesmente apoiada (SSSS) e encastrada (CCCC)

10.3.3 Elemento triangular BCIZ


O elemento triangular de tres nos de Bazeley et al [113], designado por BCIZ,
considera um polin
omio incompleto de terceiro grau em coordenadas de area





L1 L2 L3
L1 L2 L3
2
+
w = a1 L1 +a2 L2 +a3 L3 +a4
+a5 L2 L1 +
+
2
2




L1 L2 L3
L1 L2 L3
a6 L22 L3 +
+ a7 L23 L2 +
+
2
2




L1 L2 L3
L1 L2 L3
2
2
a8 L3 L1 +
+ a9 L1 L3 +
(10.26)
2
2
L21 L2

O c
odigo bciz.m calcula a matriz de rigidez e o vector de carga equivalente para o elemento triangular BCIZ.
function [ke, re] = bcizKF(coord, h, e, nu, q)
% coord = coordenadas dos n
os do elemento
% h = espessura
% e = modulo de elasticidade, nu = coeficiente de Poisson
% q = carga distribuida.

176

10 Placas de Kirchhoff

% ke = rigidez do elemento, re = vector de carga equivalente.


x1=coord(1,1); x2=coord(2,1); x3=coord(3,1);
y1=coord(1,2); y2=coord(2,2); y3=coord(3,2);
f1 = x2*y3 - x3*y2; f2 = x3*y1 - x1*y3; f3 = x1*y2 - x2*y1;
b1 = y2 - y3; b2 = y3 - y1; b3 = y1 - y2;
c1 = x3 - x2; c2 = x1 - x3; c3 = x2 - x1; A = (f1 + f2 + f3)/2;
d = e*h^3/(12*(1 - nu^2));
c = d*[1, nu, 0; nu, 1, 0; 0, 0, (1 - nu)/2];
% Gauss point locations and weights
gpLocs = [1/3, 1/3; 1/5, 1/5; 3/5, 1/5; 1/5, 3/5];
gpWts = [-9/32, 25/96, 25/96, 25/96];
ke=zeros(9); re=zeros(9,1);
for i=1:length(gpWts)
s = gpLocs(i, 1); t = gpLocs(i, 2); w = gpWts(i);
x = (1 - s - t)*x1 + s*x2 + t*x3;
y = (1 - s - t)*y1 + s*y2 + t*y3;
detJ = (x2 - x1)*(y3 - y1) - (x3 - x1)*(y2 - y1);
A1 = 1/(2*A)* (f1 + x*b1 + y*c1);
A2 = 1/(2*A)* (f2 + x*b2 + y*c2);
A3 = 1/(2*A)* (f3 + x*b3 + y*c3);
n = [3*A1^2 - 2*A1^3 + 2*A1*A2 - 2*A1^2*A2 - 2*A1*A2^2;
A1*A3*b2 - A1*A3^2*b2 - A1^2*A2*b3;
A1*A3*c2 - A1*A3^2*c2 - A1^2*A2*c3;
2*A1*A2 - 2*A1^2*A2 + 3*A2^2 - 2*A1*A2^2 - 2*A2^3;
-(A2^2*A3*b1) + A1*A2*b3 - A1^2*A2*b3;
-(A2^2*A3*c1) + A1*A2*c3 - A1^2*A2*c3;
2*A1*A3 - 2*A1^2*A3 + 3*A3^2 - 2*A1*A3^2 - 2*A3^3;
A2*A3*b1 - A2^2*A3*b1 - A1*A3^2*b2;
A2*A3*c1 - A2^2*A3*c1 - A1*A3^2*c2];
bt1 = [-(-(A*b1*(3*b1 + 2*b2)) + 3*b1^3*x + b2^2*(f1 + c1*y) +...
b1^2*(3*f1 + f2 + 3*b2*x + 3*c1*y + c2*y) +...
b1*b2*(2*f1 + 2*f2 + 3*b2*x + 2*c1*y + 2*c2*y))/(2*A^3);
-(b3*(-2*A*b1*b2 + b2*b3*(f1 + c1*y) + ...
b1^2*(f2 + 3*b2*x + c2*y) + ...
b1*b2*(2*f1 + 2*f3 + 3*b3*x + 2*c1*y + 2*c3*y)))/(4*A^3);
-(-2*A*b1*b3*c2 + b3^2*c2*(f1 + 3*b1*x + c1*y) +...
b1*c3*(2*b2*f1 + b1*f2 + 3*b1*b2*x + 2*b2*c1*y + b1*c2*y) +...
2*b1*b3*c2*(f3 + c3*y))/(4*A^3);
-(-(A*b2*(2*b1 + 3*b2)) + b1^2*(f2 + 3*b2*x + c2*y) + ...
b1*b2*(2*f1 + 2*f2 + 3*b2*x + 2*c1*y + 2*c2*y) + ...
b2^2*(f1 + 3*f2 + 3*b2*x + c1*y + 3*c2*y))/(2*A^3);
-(b1*(-2*A*b2*b3 + b1*b3*(f2 + c2*y) +...
b2*b3*(2*f1 + 2*f2 + 3*b1*x + 2*c1*y + 2*c2*y) + ...
b2^2*(f3 + 3*b3*x + c3*y)))/(4*A^3);
-(-2*A*b1*b2*c3 + 2*b1*b2*c3*(f1 + c1*y) + ...

10.3 Elementos finitos

177

b1^2*c3*(f2 + 3*b2*x + c2*y) + b2*c1*(2*b3*f2 + ...


b2*f3 + 3*b2*b3*x + 2*b3*c2*y + b2*c3*y))/(4*A^3);
-(-(A*b3*(2*b1 + 3*b3)) + b1^2*(f3 + 3*b3*x + c3*y) + ...
b1*b3*(2*f1 + 2*f3 + 3*b3*x + 2*c1*y + 2*c3*y) + ...
b3^2*(f1 + 3*f3 + 3*b3*x + c1*y + 3*c3*y))/(2*A^3);
-(b2*(-2*A*b1*b3 + b3^2*(f1 + 3*b1*x + c1*y) + ...
b1*b2*(f3 + c3*y) + ...
b1*b3*(2*f2 + 2*f3 + 3*b2*x + 2*c2*y + 2*c3*y)))/(4*A^3);
-(-2*A*b2*b3*c1 + b3^2*c2*(f1 + 3*b1*x + c1*y) +...
b2^2*c1*(f3 + c3*y) + b3*(3*b2^2*c1*x + 2*b2*c1*(f2 + c2*y) +...
2*b1*c2*(f3 + c3*y)))/(4*A^3)];
bt2 = [-(-(A*c1*(3*c1 + 2*c2)) + c2^2*(f1 + b1*x) + 3*c1^3*y + ...
c1^2*(3*f1 + f2 + 3*b1*x + b2*x + 3*c2*y) + ...
c1*c2*(2*f1 + 2*f2 + 2*b1*x + 2*b2*x + 3*c2*y))/(2*A^3);
-(-2*A*b2*c1*c3 + b2*c3*(2*c1*f3 + c3*(f1 + b1*x + 3*c1*y)) + ...
b3*c1*(c1*f2 + b2*c1*x + 2*b2*c3*x + c2*(2*f1 + 2*b1*x +...
3*c1*y)))/(4*A^3);
-(c3*(-2*A*c1*c2 + c2*c3*(f1 + b1*x) +...
c1^2*(f2 + b2*x + 3*c2*y) + ...
c1*c2*(2*f1 + 2*f3 + 2*b1*x + 2*b3*x + 3*c3*y)))/(4*A^3);
-(-(A*c2*(2*c1 + 3*c2)) + c1^2*(f2 + b2*x + 3*c2*y) + ...
c1*c2*(2*f1 + 2*f2 + 2*b1*x + 2*b2*x + 3*c2*y) + ...
c2^2*(f1 + 3*f2 + b1*x + 3*b2*x + 3*c2*y))/(2*A^3);
-(-2*A*b3*c1*c2 + b3*(b1*c2^2*x + 2*c1*c2*(f1 + b1*x) + ...
c1^2*(f2 + b2*x + 3*c2*y)) + ...
b1*c2*(c2*f3 + c3*(2*f2 + 2*b2*x + 3*c2*y)))/(4*A^3);
-(c1*(-2*A*c2*c3 + c1*c3*(f2 + b2*x) + c2*c3*(2*f1 + 2*f2 + ...
2*b1*x + 2*b2*x + 3*c1*y) + ...
c2^2*(f3 + b3*x + 3*c3*y)))/(4*A^3);
-(-(A*c3*(2*c1 + 3*c3)) + c1^2*(f3 + b3*x + 3*c3*y) + ...
c1*c3*(2*f1 + 2*f3 + 2*b1*x + 2*b3*x + 3*c3*y) + ...
c3^2*(f1 + 3*f3 + b1*x + 3*b3*x + 3*c3*y))/(2*A^3);
-(-2*A*b1*c2*c3 + b1*c2*(2*c3*f2 + c2*f3 + b3*c2*x +...
3*c2*c3*y) + ...
b2*c3*(2*(c1*f3 + b3*c1*x + b1*c2*x) +...
c3*(f1 + b1*x + 3*c1*y)))/(4*A^3);
-(c2*(-2*A*c1*c3 + c1*c2*(f3 + b3*x) + ...
c3^2*(f1 + b1*x + 3*c1*y) + ...
c1*c3*(2*f2 + 2*f3 + 2*b2*x + 2*b3*x + 3*c2*y)))/(4*A^3)];
bt3 = [-((-(A*(b2*c1 + b1*(3*c1 + c2))) + b1^2*(3*c1 + c2)*x + ...
b2*(c2*f1 + c1^2*y + c1*(f1 + f2 + b2*x + 2*c2*y)) + ...
b1*(3*c1^2*y + c2*(f1 + f2 + 2*b2*x + c2*y) +...
c1*(3*f1 + f2 + 2*b2*x + 2*c2*y)))/A^3);
-(-(A*b2*(b3*c1 + b1*c3)) + ...
b1*b3*(c1*f2 + c2*(f1 + b1*x + 2*c1*y)) +...

178

10 Placas de Kirchhoff

b2*(b3^2*c1*x + b1*c3*(f3 + c3*y) + ...


b3*(c3*(f1 + 2*b1*x) + c1^2*y + ...
c1*(f1 + f3 + 2*b1*x + 2*c3*y))))/(2*A^3);
-(-(A*c2*(b3*c1 + b1*c3)) + b1*c2*c3*f1 + b3*c2*c3*f1 +...
b1*c1*c3*f2 + b3*c1*c2*f3 + b1*c2*c3*f3 + b3^2*c1*c2*x + ...
b1^2*c2*c3*x + 2*b1*b3*c2*c3*x + 2*b1*c1*c2*c3*y + ...
2*b3*c1*c2*c3*y +...
b1*c2*c3^2*y + b2*c1*c3*(f1 + 2*b1*x + c1*y))/(2*A^3);
-((-(A*(b1*c2 + b2*(c1 + 3*c2))) + b2^2*(c1 + 3*c2)*x + ...
b1*(c1*f2 + c2^2*y + c2*(f1 + f2 + b1*x + 2*c1*y)) + ...
b2*(c1^2*y + c1*(f1 + f2 + 2*b1*x + 2*c2*y) +...
c2*(f1 + 3*f2 + 2*b1*x + 3*c2*y)))/A^3);
-(-(A*b3*(b2*c1 + b1*c2)) + b1*b2^2*c3*x + ...
b1*b3*(c1*f2 + c2^2*y + c2*(f1 + f2 + b1*x + 2*c1*y)) + ...
b2*(b3*(c1*f1 + 2*b1*c1*x + 2*b1*c2*x + c1^2*y) +...
b1*(c3*f2 + c2*f3 + 2*c2*c3*y)))/(2*A^3);
-(-(A*(b2*c1 + b1*c2)*c3) + b1*c2*c3*f1 + b3*c1*c2*f2 + ...
b1*c1*c3*f2 + ...
b2^2*c1*c3*x + b1^2*c2*c3*x + b3*c1*c2^2*y + 2*b1*c1*c2*c3*y + ...
b2*c1*(c2*(f3 + 2*b3*x) + c3*(f1 + f2 +...
2*b1*x + c1*y + 2*c2*y)))/(2*A^3);
-((-(A*(b1*c3 + b3*(c1 + 3*c3))) + b3^2*(c1 + 3*c3)*x + ...
b1*(c1*f3 + c3^2*y + c3*(f1 + f3 + b1*x + 2*c1*y)) + ...
b3*(c1^2*y + c1*(f1 + f3 + 2*b1*x + 2*c3*y) +...
c3*(f1 + 3*f3 + 2*b1*x + 3*c3*y)))/A^3);
-(-(A*b1*(b3*c2 + b2*c3)) + b1*b2^2*c3*x + ...
b1*b3*c2*(f2 + c2*y) + ...
b2*(b3^2*c1*x + b3*(c1*f3 + 2*b1*c2*x + c3*(f1 + ...
2*b1*x + 2*c1*y)) + ...
b1*(c2*f3 + c3^2*y + c3*(f2 + f3 + 2*c2*y))))/(2*A^3);
-(-(A*c1*(b3*c2 + b2*c3)) + b2*c1*c3*f2 + b2*c1*c2*f3 + ...
b1*c2*c3*f3 + b3^2*c1*c2*x + b2^2*c1*c3*x + 2*b2*c1*c2*c3*y + ...
b1*c2*c3^2*y + b3*c2*(c3*(f1 + 2*b1*x + 2*c1*y) + ...
c1*(f2 + f3 + 2*b2*x + c2*y)))/(2*A^3)];
b = [bt1; bt2; bt3];
ke = ke + detJ*w* b*c*b;
re = re + detJ*w*q * n;
end
O c
odigo bcizExemplo.m corresponde ao exemplo da placa quadrada
que temos vindo a estudar com os elementos MCZ e BFS.
clear all
colordef white
tic
% propriedades material

10.3 Elementos finitos

179

E0 = 10920;
% m
odulo Young
nu0 = 0.30;
% coef. Poisson
% geometria
L = 1;
% lado
thickness=0.001;
I=thickness^3/12;
P=-1;
% malha
numy
= 30;
% # elementos em xx
numx
= 30;
% # elementos em xx
%malha
nnx=numx+1;
nny=numy+1;
node=square_node_array([0 0],[L 0],[L L],[0 L],nnx,nny);
node_pattern1=[ 1 2 nnx+1 ];
node_pattern2=[ 2 nnx+2 nnx+1 ];
inc_u=1;
inc_v=nnx;
element=[make_elem(node_pattern1,numx,numy,inc_u,inc_v);
make_elem(node_pattern2,numx,numy,inc_u,inc_v) ];
%
xx=node(:,1);
yy=node(:,2);
numnode=size(node,1);
% numero nos
numelem=size(element,1); % numero elementos
%
disp([num2str(toc),
dados ])
U=zeros(3*numnode,1);
% vector de deslocamentos nodais
f=zeros(3*numnode,1);
% vector de carga externa
K=sparse(3*numnode,3*numnode); % matriz de rigidez
% rigidez
for e=1:numelem
indice=element(e,:);
indiceB=[ indice(1)*3-2 indice(1)*3-1 indice(1)*3 ...
indice(2)*3-2 indice(2)*3-1 indice(2)*3 ...
indice(3)*3-2 indice(3)*3-1 indice(3)*3 ];
%
[ke, fe] = bcizElemento(node(indice,:), thickness, E0, nu0, P);
K(indiceB,indiceB)=K(indiceB,indiceB)+ke;
f(indiceB)=f(indiceB)+fe;

180

10 Placas de Kirchhoff

end
%noCentral=find(node(:,1)==L/2 & node(:,2)==L/2);
%f(noCentral*3-2)=-1.0;
% BC
fixedNodeW =find(yy==max(node(:,2))|xx==min(node(:,1))...
|xx==max(node(:,1))|yy==min(node(:,2)));
%next two lines: simply supported case
%fixedNodeTY =find(yy==max(node(:,2))|yy==min(node(:,2)));
%fixedNodeTX =find(xx==max(node(:,1))| xx==min(node(:,1)));
%next two lines: clamped case
fixedNodeTX =fixedNodeW;
fixedNodeTY =fixedNodeTX;
%next line: scsc case
%fixedNodeTX =find(xx==max(node(:,2))|xx==min(node(:,2)));
%fixedNodeTY=[];
%next 3 line3: cccf case
%fixedNodeW=find(yy==max(node(:,2))|xx==min(node(:,1))|yy==min(node(:,2)));
%fixedNodeTX =fixedNodeW;
%fixedNodeTY =fixedNodeTX;

dofs=[fixedNodeW*3-2;fixedNodeTX*3-1;fixedNodeTY*3];
activeDof=setdiff([1:3*numnode],[dofs]);
U=K(activeDof,activeDof)\f(activeDof);
U1=zeros(3*numnode,1);
U1(activeDof)=U;
figure
plot3(xx,yy,U1(1:3:3*numnode),.)
format long
D1=E0*thickness^3/12/(1-nu0^2);
%min(U1(1:3:3*numnode))*D1/L^2
min(U1(1:3:3*numnode))*D1/L^4
Para a placa referida, obtem-se os seguintes resultados normalizados para
a flecha m
axima (n
o central), conforme ilustrado na tabela 10.3.

10.4 Constric
oes de Kirchhoff
Malha
22
66
10 10
20 20
30 30
Soluc
ao exacta

SSSS
0.004620
0.004190
0.004114
0.004076
0.004068
0.004060

181

CCCC
0.001302
0.001343
0.001301
0.001275
0.001270
0.001260

Tabela 10.3. Flecha normalizada para placa quadrada, sujeita a carga uniforme.
Simplesmente apoiada (SSSS) e encastrada (CCCC)

10.4 Constric
oes de Kirchhoff
Existem outros elementos que, partindo da formulacao de placa espessa,
imp
oem as condic
oes de Kirchhoff localmente. Dado que se baseiam inicialmente na teoria de Mindlin, ficarao para outro captulo, em particular o
elemento DKT (discrete Kirchhoff triangle), desenvolvido por Batoz.

11
Elementos finitos de placa de Mindlin

11.1 Introduc
ao
Neste captulo apresenta-se a formulacao de elementos de placa espessa, segundo a teoria de Mindlin, tambem chamada de Mindlin-Reissner.
Apresenta-se a formulacao baseada em deslocamentos. Tendo em conta
a melhoria do comportamento ao corte transverso, apresenta-se tambem a
formulac
ao para o elemento Q4 (semelhante ao MITC de Bathe/Dvorkin),
sendo considerado dos melhores elementos para problemas de placa espessa
ou fina.
Finalmente, partindo da formulacao de Mindlin, apresenta-se o elemento
DKT, que imp
oe condic
oes de Kirchhoff em pontos seleccionados do elemento,
conduzindo assim a um elemento de placa fina com elevada reputacao.

11.2 Teoria de placa de Mindlin


A teoria de placa de Mindlin (tambem chamada de Mindlin-Reissner ) inclui
os efeitos das deformac
oes de corte transverso, de forma semelhante `a teoria de
viga de Timoshenko, indicada em captulo anterior. Aqui, uma recta normal ao
plano medio da placa indeformada permanece recta, mas nao necessariamente
normal ao plano medio da placa deformada. A energia de deformacao deve
incluir termos de flex
ao e de corte transverso, na forma
Z
Z
1

T
U=
f dV +
T c dV
(11.1)
2 V f
2 V c
onde
Tf = [x y xy ]

(11.2)

Tf = [x y xy ]

(11.3)

184

11 Elementos finitos de placa de Mindlin

s
ao as deformac
oes de flex
ao e
Tc = [xz yz ]

(11.4)

Tc = [xz yz ]

(11.5)

s
ao as tens
oes e deformac
oes de corte transverso . O parametro , habitualmente designado por factor de correccao de corte transverso , toma o valor 5/6.
Este factor e necess
ario tendo em conta que as deformacoes de corte transverso s
ao constantes atraves da espessura, o que contraria o perfil parabolico
das tens
oes de corte transverso reais. Na figura 11.1 ilustra-se a geometria e
os graus de liberdades.
11.2.1 Campo de deslocamentos
Sup
oe-se um campo de deslocamentos na forma
u = zx

(11.6)

v = zy

(11.7)

w = w0

(11.8)

onde x , y s
ao as rotac
oes do plano medio em torno dos eixos y e x, respectivamente.
z, w

y, v
q
x

x, u
y

Figura 11.1. Geometria de placa de Mindlin . Eixos, graus de liberdade, forca


distribuida aplicada

11.2 Teoria de placa de Mindlin

185

11.2.2 Campo de deforma


c
oes
As deformac
oes de flex
ao s
ao agora obtidas por
u
x
=z
x
x
v
y
y =
=z
y
y


y
u v
x
=
+
=z
+
y
x
x
y
x =

xy

(11.9)
(11.10)
(11.11)

enquanto que as deformac


oes de corte sao obtidas por
w u
w
+
=
+ x
x
z
x
w
w v
+
=
+ y
=
y
z
y

xz =

(11.12)

yz

(11.13)

11.2.3 Campo de tens


oes
As relac
oes constitutivas s
ao obtidas por
f = Df f

(11.14)

onde Df j
a foi anteriormente definido e
c = Dc c

(11.15)

sendo

Dc =

G 0
0 G


(11.16)

sendo G o m
odulo de corte, obtido como
G=

E
2(1 + )

Substituindo nos termos de energia de deformacao , obtemos


Z
Z

1
Tf Df f dV +
T Dc c dV
U=
2 V
2 V c

(11.17)

(11.18)

186

11 Elementos finitos de placa de Mindlin

11.3 Elementos finitos de placa espessa


Tendo em conta que w e independente de x e y 1 , cada variavel e interpolada
de forma independente, na forma
w=

n
X

Ni (, )wi

(11.19)

Ni (, )xi

(11.20)

Ni (, )yi

(11.21)

i=1

x =

n
X
i=1

y =

n
X
i=1

onde Ni (, ) s
ao as func
oes de forma dum elemento finito bidimensional com
n n
os. Considera-se um elemento finito bilinear (figura 11.2)2 , onde as deformac
oes s
ao obtidas por
f = zBf de
(11.22)
c = Bc de

(11.23)

onde

Bf = 0

N1
x

N1
y

...

N1
y

N1
x

...

N1
x

Bc =
N1
y

N1
0

...

0
N1

N4
x

N4
y

N4
y

...

N4
x

...

N4
y

N4
x

(11.24)

(11.25)

N4

x4

y4 }

(11.26)

N4

e
de T = {w1

x1

y1 . . .

w4

Obtem-se assim a energia de deformacao para o elemento de placa

U=

1 eT
d
2

Z
e

Z
z

BTf Df Bf dzd e de +

eT
d
2

Z
e

BTc DC Bc dzd e de

(11.27)
1
2

ao contr
ario da teoria de placa fina, onde as rotac
oes s
ao derivadas de w
designado por Q4 no programa MATLAB a seguir indicado

11.4 Exemplo de placa quadrada

187

2x2 (flexao)

1x1 (corte)
Figura 11.2. Elemento bilinear de placa de Mindlin : diferentes quadraturas para
flex
ao e corte transverso

Assim, a matriz de rigidez do elemento de placa de Mindlin pode ser expressa


por
Z
Z
h3
e
T
e
K =
B Df Bf d + h
BTc DC Bc d e
(11.28)
12 e f
e
ou

Ke =

h3
12

BTf Df Bf |J|dd + h

BTc DC Bc |J|dd (11.29)

O vector de forcas nodais equivalentes `a forca distribuida transversal do elemento de placa de Mindlin pode ser expresso por
Z 1Z 1
fe =
Nq|J|dd
(11.30)
1

11.4 Exemplo de placa quadrada


Para verificar a qualidade deste elemento na analise de placas, considere-se
uma placa quadrada, simplesmente apoiada ou encastrada em todos os bordos,
sujeita a uma forca distribuida P , com lado a, modulo de elasticidade E e
coeficiente de Poisson . Considere-se a flecha normalizadas
D
P l4
sendo D a rigidez
a flex
ao, obtida por
w
=w

(11.31)

188

11 Elementos finitos de placa de Mindlin

D=

Eh3
12(1 2 )

(11.32)

sendo h a espessura da placa.


Utilizam-se elementos quadrilateros Q9.
Consideram-se placas espessas e finas. Na tabela 11.1 apresenta-se a flecha
central normalizada para v
arias espessuras e condicoes fronteira. Para evitar
situac
oes de retenc
ao de corte, executa-se sempre a integracao reduzida (3
pontos de Gauss para contribuicoes de flexao e 2 pontos de Gauss para contribuic
oes de corte transverso). Apresenta-se apenas o codigo (mindlinQ4.m)
para o elemento Q4, deixando ao leitor a sugestao para construir o codigo
para os outros elementos.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36

colordef white
tic
% propriedades material
E0 = 10920; % mdulo Young
nu0 = 0.30; % coef. Poisson
% geometria
L = 1;
% lado
thickness=0.0001;
I=thickness^3/12;
kapa=5/6; % ssss case
numy
= 30;
% # elementos em xx
numx
= 30;
% # elementos em xx
%
P = -1; % pressao uniforme
% matriz elasticidade (duas partes)
% parte flexao
C_bending=I*E0/(1-nu0^2)*[1 nu0 0;nu0 1 0;0 0 (1-nu0)/2];
% parte corte
C_shear=kapa*thickness*E0/2/(1+nu0)*eye(2);
%malha
[node, element] = MalhaRectangular(L, L, numx, numy);
%
xx=node(:,1);
yy=node(:,2);
numnode=size(node,1);
% numero nos
numelem=size(element,1); % numero elementos
disp([num2str(toc),
dados ])
U=zeros(3*numnode,1);
% vector de deslocamentos nodais
f=zeros(3*numnode,1);
% vector de carga externa
K=zeros(3*numnode,3*numnode); % matriz de rigidez
% rigidez e carga equivalente
% quadratura de 2 pontos

11.4 Exemplo de placa quadrada


37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85

189

Q=[ -0.577350269189626 -0.577350269189626;


0.577350269189626 -0.577350269189626;
0.577350269189626 0.577350269189626;
-0.577350269189626 0.577350269189626]
W=[ 1;1;1;1];
for e=1:numelem
sctr=element(e,:);
sctrB=[ sctr sctr+numnode sctr+2*numnode];
nn=length(sctr);
for q=1:size(W,1)
% CICLO QUADRATURA
pt=Q(q,:);
% PONTO
wt=W(q);
% PESO
xi=pt(1);
eta=pt(2);
% FUNCOES DE FORMA E DERIVADAS COORDENADAS NATURAIS
N=1/4*[ (1-xi)*(1-eta);(1+xi)*(1-eta);
(1+xi)*(1+eta);(1-xi)*(1+eta)];
dNdxi=1/4*[-(1-eta), -(1-xi);1-eta,
-(1+xi);
1+eta,
1+xi;-(1+eta),
1-xi];
J0=node(sctr,:)*dNdxi;
% MATRIZ JACOBIANA
invJ0=inv(J0);
dNdx=dNdxi*invJ0;
% MATRIZ B
% FLEXAO
B_b=zeros(3,3*nn);
B_b(1,nn+1:2*nn) = dNdx(:,1);
B_b(2,2*nn+1:3*nn)= dNdx(:,2);
B_b(3,nn+1:2*nn) = dNdx(:,2);
B_b(3,2*nn+1:3*nn)= dNdx(:,1);
% RIGIDEZ NO PONTO DE QUADRATURA
K(sctrB,sctrB)=K(sctrB,sctrB)+B_b*C_bending*B_b*W(q)*det(J0);
% VECTOR DE CARGA NO PONTO DE QUADRATURA
f(sctr)=f(sctr)+N*P*det(J0)*wt;
end
end
disp([num2str(toc),
MATRIZ DE RIGIDEZ (CORTE)])
% quadratura de 1 ponto
Q=[0 0];
W=[4];
for e=1:numelem
sctr=element(e,:);
sctrB=[ sctr sctr+numnode sctr+2*numnode];
nn=length(sctr);
for q=1:size(W,1)

190
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131

11 Elementos finitos de placa de Mindlin

pt=Q(q,:);
wt=W(q);
xi=pt(1);
eta=pt(2);
% FUNCOES DE FORMA E DERIVADAS COORDENADAS NATURAIS
N=1/4*[ (1-xi)*(1-eta);(1+xi)*(1-eta);
(1+xi)*(1+eta);(1-xi)*(1+eta)];
dNdxi=1/4*[-(1-eta), -(1-xi);1-eta,
-(1+xi);
1+eta,
1+xi;-(1+eta),
1-xi];
J0=node(sctr,:)*dNdxi;
invJ0=inv(J0);
dNdx=dNdxi*invJ0;
[B]corte
B_s=zeros(2,3*nn);
B_s(1,1:nn)
= dNdx(:,1);
B_s(2,1:nn)
= dNdx(:,2);
B_s(1,nn+1:2*nn) = N;
B_s(2,2*nn+1:3*nn)= N;

%
K(sctrB,sctrB)=K(sctrB,sctrB)+B_s*C_shear
end
end

*B_s*W(q)*det(J0);

% BC
fixedNodeW =find(yy==max(node(:,2))|xx==min(node(:,1))...
|xx==max(node(:,1))|yy==min(node(:,2)));
%next two lines: simply supported case
%fixedNodeTX =find(yy==max(node(:,2))|yy==min(node(:,2)));
%fixedNodeTY =find(xx==max(node(:,1))| xx==min(node(:,1)));
%next two lines: clamped case
fixedNodeTX =fixedNodeW;
fixedNodeTY =fixedNodeTX;
% solucao
dofs=[fixedNodeW;fixedNodeTX+numnode;fixedNodeTY+2*numnode];
activeDof=setdiff([1:3*numnode],[dofs]);
U=K(activeDof,activeDof)\f(activeDof);
U1=zeros(3*numnode,1);
U1(activeDof)=U;
figure
plot3(xx,yy,U1(1:numnode),.)
format long
D1=E0*thickness^3/12/(1-nu0^2);
min(U1(1:numnode))*D1/L^4

11.4 Exemplo de placa quadrada

191

Para a placa referida (malha na figura 11.3), obtem-se os seguintes resultados normalizados para a flecha maxima (no central), conforme ilustrado na
tabela 11.1.

Figura 11.3. Malha quadrada de elementos Q4 (20 20)

a/h

Malha

22
66
10 10
20 20
30 30
Soluc
ao exacta
10000
22
66
10 10
20 20
30 30
Soluc
ao exacta
10

SSSS

CCCC

0.003545
0.004245
0.004263
0.004270
0.004271
0.004270
0.003188
0.004024
0.004049
0.004059
0.004060
0.004060

0.000357
0.001486
0.001498
0.001503
0.001503
3.5e-10
0.001239
0.001255
0.001262
0.001264
0.001260

Tabela 11.1. Flecha normalizada para placa quadrada, sujeita a carga uniforme.
Simplesmente apoiada (SSSS) e encastrada (CCCC)

Tal como na viga de timoshenko, a matriz de rigidez e calculada de forma


distinta nos termos de flex
ao e nos termos de corte.
Na figura 11.4 apresenta-se a deformada tipica de uma placa em flexao,
simplesmente apoiada em todos os bordos.

192

11 Elementos finitos de placa de Mindlin

0
!1
!2
!3
!4
!5
1
0.8

1
0.6

0.8
0.6

0.4

0.4

0.2

0.2
0

Figura 11.4. Exemplo de deformac


ao de placa simplesmente apoiada

11.5 Melhoramentos ao corte transverso


Em situac
ao de placa fina os elementos Q4 ou Q9 possuem um fraco comportamento ao corte transverso. Para melhorar o comportamento destes elementos,
v
arios investigadores sugeriram alternativas, quer atraves da integracao reduzida, quer atraves de elementos Heterosis [114].
Mais recentemente, tem tido mais sucesso a chamada formulacao por deformac
oes de corte assumidas, que sao deformacoes independentes ou de substituic
ao, impostas de forma discreta, sob colocacao ou sob forma integral.
Parte-se da forma habitual para a energia de deformacao
Z
Z
1

(11.33)
U=
T DdA +
T Dc dA
2 A
2 A
onde
h
i
T = xz yz

(11.34)

Os elementos mais importantes desenvolvidos neste contexto sao os formulados por Bathe [115, 116] que impoem sob colocacao a condicao
xz = xz ;

yz = yz

(11.35)

onde
xz =

w
+ x ;
x

yz =

w
+ y
y

(11.36)

11.6 Elemento Q4

193

Esta imposic
ao e feita a` custa de aproximacoes de z ; z onde os nos
externos possuem 3 graus de liberdade e os nos internos possuem apenas
graus de rotac
ao. O elemento e habitualmente designado MITC. Nesta seccao
apresentamos uma formulacao e codigo MATLAB para este elemento, aqui
designado sob Q4, conforme apresentado por Batoz [117].

11.6 Elemento Q4
Este elemento possui quatro nos com corte transverso constante em cada lado,
com aproximac
ao bilinear (Q4).
A matriz de rigidez e, como habitualmente, formada pelas contribuicoes
de flex
ao e corte transverso, na forma
(e)

K(e) = Kf + K(e)
c

(11.37)

(e)

onde o c
alculo de Kf e identica ao anteriormente apresentado para as
placas de Mindlin, mudando a parte de corte transverso, que e agora calculada
na forma
Z
K(e)
=
BTc Dc Bc dA
(11.38)
c
A

onde a matriz Bc e calculada por forma a que as aproximacoes de z e


w w
z sejam as mesmas de
e
, conforme Prathap e Somashekar[118], ou

seja,

w



+
z

= w
=
= B u
(11.39)
z

onde
uT = [

wi

],

i = 1, 4

(11.40)

i , i = 1

(11.41)

onde

Ni Ni
i
0

B =
,
Ni
Ni

0 i

e

Assim obtemos

i
i


= Ji

xi
yi


(11.42)

194

11 Elementos finitos de placa de Mindlin

= B u,

uT = [

wi

xi

yi

(11.43)

e com

Ni i
Ni Ni i
i
J11 i
J12

B =

Ni Ni i
Ni i

i
J21 i
J22

(11.44)

donde, finalmente

=

xz
yz

= J1 = Bc u

(11.45)

e
Bc = J1 B
(e)

(11.46)

(e)

Note-se que ambas as matrizes Kf e Kc sao obtidas por integracao de


Gauss 2 2. Este elemento Q4 e de facto semelhante ao MITC de Bathe e
Dvorkin. Para problemas rectangulares e tambem semelhante ao elemento T1
de Hughes e Tezduyar [119], nao tem modos parasitas, nem retencao de corte,
quando z = z = 0.

11.7 Exemplo de placa com elemento Q4


Para verificar a qualidade deste elemento na analise de placas, considere-se
uma placa quadrada, simplesmente apoiada ou encastrada em todos os bordos,
sujeita a uma forca distribuida P , com lado a, modulo de elasticidade E e
coeficiente de Poisson . Considere-se a flecha normalizada
D
P l4
sendo D a rigidez `
a flex
ao, obtida por
w
=w

D=

Eh3
12(1 2 )

(11.47)

(11.48)

sendo h a espessura da placa.


Apresenta-se o c
odigo ( q4gammaMindlin1.m ) para o elemento Q4, que
recorre a outras rotinas parta execucao de algumas tarefas.
1
2
3
4
5

clear all
colordef white
tic
% propriedades material
E0 = 10920;
% mdulo Young

11.7 Exemplo de placa com elemento Q4


6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54

nu0 = 0.30;
% coef. Poisson
rho=1;
% geometria
L = 1;
% lado
thickness=0.01;
I=thickness^3/12;
P=-1;
% correcao de corte
kapa=0.8601;
% cccc / cccf
%kapa=0.822;
% scsc
kapa=5/6;
% ssss
numy
= 10;
% # elementos em xx
numx
= 10;
% # elementos em xx
%malha
[node, element] = MalhaRectangular(L, L, numx, numy);
figure
plot_mesh(node,element,Q4,k)
axis off
%
xx=node(:,1);
yy=node(:,2);
numnode=size(node,1);
% numero nos
numelem=size(element,1); % numero elementos
% matriz elasticidade (duas partes)
vh=E0*thickness^3/12/(1-nu0^2)*[1 nu0 0; nu0 1 0; 0 0 (1-nu0)/2];
vhc=kapa*E0/2/(1+nu0)*thickness*[1 0; 0 1];
%
disp([num2str(toc),
dados ])
U=zeros(3*numnode,1);
% vector de deslocamentos nodais
f=zeros(3*numnode,1);
% vector de carga externa
K=sparse(3*numnode,3*numnode); % matriz de rigidez
M=sparse(3*numnode,3*numnode); % matriz de rigidez
% rigidez
% quadratura
ih=3;ihc=2;
pg=.577350269189626; pg1=-.577350269189626;
vpg=[pg1,pg,pg,pg1;pg1,pg1,pg,pg];vwg=[1 1 1 1];
for e=1:numelem
indice=element(e,:);
indiceB=[ indice(1)*3-2
indice(2)*3-2
indice(3)*3-2
indice(4)*3-2
nn=length(indice);

indice(1)*3-1
indice(2)*3-1
indice(3)*3-1
indice(4)*3-1

vcore(1:2:7)=node(indice,1);
vcore(2:2:8)=node(indice,2);
%

indice(1)*3 ...
indice(2)*3 ...
indice(3)*3 ...
indice(4)*3];

195

196
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103

11 Elementos finitos de placa de Mindlin


[vjnx,vjny]=jacnd4(vcore) ;
vke=zeros(12);
for ig=1:4
% ponto de gauss
[vn,vksi,veta]
=nq4(vpg(1,ig),vpg(2,ig)) ;
[vji,detj]
=jac2d(vksi,veta,vcore) ;
[vb,vbc]
=bq4gam(vji,vksi,veta,vjnx,vjny) ;
%
K(indiceB,indiceB)=K(indiceB,indiceB)+vb*vh*detj*vwg(ig)*vb;
K(indiceB,indiceB)=K(indiceB,indiceB)+vbc*vhc*detj*vwg(ig)*vbc;
%
f(indice*3-2)=f(indice*3-2)+vn*P*detj*vwg(ig);
%
M(indice*3-2,indice*3-2)=M(indice*3-2,indice*3-2)+...
vn*vn*thickness*rho*detj*vwg(ig);
M(indice*3-1,indice*3-1)=M(indice*3-1,indice*3-1)+...
vn*vn*I*rho*detj*vwg(ig);
M(indice*3,indice*3)=M(indice*3,indice*3)+...
vn*vn*I*rho*detj*vwg(ig);
end
% ponto de gauss
end
%noCentral=find(node(:,1)==L/2 & node(:,2)==L/2);
%f(noCentral*3-2)=-1.0;
% BC
fixedNodeW =find(yy==max(node(:,2))|xx==min(node(:,1))...
|xx==max(node(:,1))|yy==min(node(:,2)));
%next two lines: simply supported case
fixedNodeTX =find(yy==max(node(:,2))|yy==min(node(:,2)));
fixedNodeTY =find(xx==max(node(:,1))| xx==min(node(:,1)));
%next two lines: clamped case
%fixedNodeTX =fixedNodeW;
%fixedNodeTY =fixedNodeTX;
dofs=[fixedNodeW*3-2;fixedNodeTX*3-1;fixedNodeTY*3];
activeDof=setdiff([1:3*numnode],[dofs]);
U=K(activeDof,activeDof)\f(activeDof);
U1=zeros(3*numnode,1);
U1(activeDof)=U;
figure
plot3(xx,yy,U1(1:3:3*numnode),.)
format long
D1=E0*thickness^3/12/(1-nu0^2);
%min(U1(1:3:3*numnode))*D1/L^2

11.7 Exemplo de placa com elemento Q4


104
105
106
107
108
109
110
111
112
113

197

min(U1(1:3:3*numnode))*D1/L^4
%
numberOfModes=24;
G=E0/2.6;
% VV : mode shape
% D : frequency
[V,D] = eigs(K(activeDof,activeDof),M(activeDof,activeDof),numberOfModes,0);
D = diag(sqrt(D)*L*sqrt(rho/G));
[D,ii] = sort(D); ii = ii(1:numberOfModes); VV = V(:,ii);
D(1:10)

Este programa recorre a subrotinas auxiliares (functions no MATLAB),


para executar partes da matriz de rigidez e do vector de cargas, nomeadamente
c
alculo de func
oes de forma, suas derivadas e construcao da matriz B. Note-se
que o c
odigo inclui a parte de vibracoes livres que sera mais tarde apresentada.
As rotinas auxiliares s
ao apresentadas em seguida.
jacnd4.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

function [vjnx,vjny]=jacnd4(vcore)
% %------- vjnx
vjnx(1)=-1/2*(vcore(3)-vcore(1))
vjnx(2)=-1/2*(vcore(4)-vcore(2))
vjnx(3)=-vjnx(1) ;
vjnx(4)=-vjnx(2) ;
vjnx(5)= 1/2*(vcore(5)-vcore(7))
vjnx(6)= 1/2*(vcore(6)-vcore(8))
vjnx(7)=-vjnx(5);
vjnx(8)=-vjnx(6);
%%------- vjny
vjny(1)=-1/2*(vcore(7)-vcore(1))
vjny(2)=-1/2*(vcore(8)-vcore(2))
vjny(3)=-1/2*(vcore(5)-vcore(3))
vjny(4)=-1/2*(vcore(6)-vcore(4))
vjny(5)=-vjny(3) ;
vjny(6)=-vjny(4) ;
vjny(7)=-vjny(1) ;
vjny(8)=-vjny(2) ;

;
;

%-1/2*( x2-x1 )
%-1/2*( y2-y1 )

;
;

;
;
;
;

nq4.m
1
2
3
4
5
6
7

function [vn,vksi,veta]=nq4(x,y)
% funcoes de forma de Q4 e suas derivadas
% em relacao as coordenadas naturais xi e eta
vn=1/4*[(1.-x)*(1.-y);(1.+x)*(1.-y);(1.+x)*(1.+y) ;(1.-x)*(1.+y) ] ;
vksi=[-1/4*(1.-y); 1/4*(1.-y);1/4*(1.+y);-1/4*(1.+y) ];
veta=[-1/4*(1.-x); -1/4*(1.+x);1/4*(1.+x);1/4*(1.-x) ];

jac2d.m

198
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

11 Elementos finitos de placa de Mindlin


function [vji,detj]=jac2d(vksi,veta,vcore)
% calculo de jacobinao e sua inversa
% vji= inversa da matriz jacobiana
vji=zeros(2);
c11=vcore(1:2:7)*vksi(1:4);
c21=vcore(1:2:7)*veta(1:4);
c12=vcore(2:2:8)*vksi(1:4);
c22=vcore(2:2:8)*veta(1:4);
j=[c11 c12;c21 c22];
detj =det(j);
vji=inv(j);

bq4gam.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32

function [vb,vbc]=bq4gam(vji,vksi,veta,vjnx,vjny)
% matriz B do elemento Q4 gamma
vb=zeros(3,12);vbc=zeros(2,12);
%-------

vb: flexao

vb(1,2:3:11)=vji(1,1)*vksi(1:4)+vji(1,2)*veta(1:4);
vb(3,3:3:12)=vb(1,2:3:11);
vb(2,3:3:12)=vji(2,1)*vksi(1:4)+vji(2,2)*veta(1:4);
vb(3,2:3:11)=vb(2,3:3:12);
%-------

vbc: corte transverso

c11=vji(1,1);c12=vji(1,2);c21=vji(2,1);c22=vji(2,2) ;
%------w
vbc(1,1:3:10)=c11*vksi(1:4)+c12*veta(1:4) ;
vbc(2,1:3:10)=c21*vksi(1:4)+c22*veta(1:4) ;
ii=0

;jj=0;

for i=1:4
%------beta-x
c1=vksi(i)*vjnx(jj+1) ;
c2=veta(i)*vjny(jj+1) ;
vbc(1,ii+2)=c11 *c1 +c12 *c2;
vbc(2,ii+2)=c21 *c1+ c22 *c2;

11.8 Elemento DKT


33
34
35
36
37
38
39
40
41

199

%------beta-y
c1=vksi(i)*vjnx(jj+2);
c2=veta(i)*vjny(jj+2);
vbc(1,ii+3)=c11 *c1 +c12 *c2;
vbc(2,ii+3)=c21 *c1 +c22 *c2;
ii=ii+3 ;jj=jj+2;
end

Para a placa referida, obtem-se os seguintes resultados normalizados para


a flecha m
axima (n
o central), conforme ilustrado na tabela 11.2.
a/h

Malha

22
66
10 10
20 20
30 30
Soluc
ao exacta
10000
22
66
10 10
20 20
30 30
Soluc
ao exacta
10

SSSS

CCCC

0.003456
0.004239
0.004261
0.004269
0.004271
0.004270
0.003188
0.004024
0.004049
0.004059
0.004060
0.004060

0.000267
0.001475
0.001493
0.001501
0.001503
2.0e-12
0.001239
0.001255
0.001262
0.001264
0.001260

Tabela 11.2. Flecha normalizada para placa quadrada, sujeita a carga uniforme.
Simplesmente apoiada (SSSS) e encastrada (CCCC)

11.8 Elemento DKT


O elemento DKT (Discrete Kirchhoff Triangle) desenvolvido por Batoz [120],
pretende desenvolver um elemento de placa fina, segundo a teoria de Kirchhoff, por imposic
ao discreta em alguns pontos do elemento das condicoes
de Kirchhoff.
Considere-se um elemento triangular de 3 nos (figura 11.5), tal que a aproximac
ao para as rotac
oes sejam do tipo C 0 , sob a forma
x = N xn + Px ;
com x =

w
x

e y =

w
y

y = N yn + Py

(11.49)

200

11 Elementos finitos de placa de Mindlin


3

w; x ; y

Figura 11.5. Elemento DKT de 3 n


os

N = [1
xn = [x1

Px = [(Pk Ck

x2

k = 4, 6)];

] ;

x3 ] ;

= [4
yn = [y1

Px = [(Pk Sk

P4 = 4(1 );

5
y2

6 ]

(11.50)

y3 ]

(11.51)

k = 4, 6)];

P5 = 4;

P6 = 4(1 )

(11.52)

onde Ck , Sk s
ao os cosenos directores do lado k dos nos i e j (k = 4, 5, 6
para ij = 12, 23, 31):
Ck = xji /Lk ;

Sk = yji /Lk ;

2
Lk = x2ji + yji

(11.53)

sendo ainda i , i = 1, 2, 3 variaveis associadas `a representacao quadratica


de x , y em cada lado do triangulo. Por exemplo, para o lado 12,

(x )12 = (1 ) x1 + x2 + 4 (1 ) C4 4 ;
(y )12 = (1 ) y1 + y2 + 4 (1 ) S4 4
As rotac
oes s , n (figura 11.6) sao tais que:
  
 
s
C S
x
=
S C
n
y

(11.54)

(11.55)

s
ao tambem quadr
aticas para s e lineares para n :
s = (1 s0 ) s1 + s0 s2 + 4s0 (1 s0 ) 4 ; n = (1 s0 ) n1 + s0 n2

(11.56)

11.8 Elemento DKT

201

z
3

s=0
i

s
k

s = Lk
j
s
n

Figura 11.6. Elemento DKT de 3 n


os, rotac
oes nos bordos

onde 0 s0 = s/Lk 1 representa a variavel segundo um lado. Note-se que


sk = s (s0 = 1/2) =

1
(si + sj ) + k
2

(11.57)

Para a energia de flex


ao, obtem-se
 
un
= Bf
; Bf = [Bf |Bf ]

(11.58)

onde
uTn = [

wi

xi

yi

i = 1, 3] ;

T = [4

6 ]

(11.59)

A hip
otese de Kirchhoff e entao imposta no contorno do elemento na forma

Z j
Z j
w
(11.60)
+ s ds = 0
sz ds =
s
i
i
Pode ent
ao obter-se, por substituicao de (11.56) e (11.55),

wj wi +

Lk
2
(Ck xi + Sk yi + Ck xj + Sk yj ) + Lk k = 0
2
3

(11.61)

donde se pode tirar a expressao de k em funcao dos nos i e j:

k =

3
3
(wj wi ) (Ck xi + Sk yi + Ck xj + Sk yj ) ,
2Lk
4

k = 4, 5, 6

(11.62)
Substituindo estas relac
oes em (11.49) obtem-se expressoes explicitas das
rotac
oes x , y em func
ao das 9 variaveis nodais u,

202

11 Elementos finitos de placa de Mindlin

x
y

 x
Ni1
=
y
Ni1

x
Ni2
y
Ni2


x
Ni3
y un ;
Ni3

(i = 1, 2, 3)

(11.63)

com
3
3
3
3
x
2
Pk Ck
Pm Cm ; Ni2
= Ni Pk Ck2 Pm Cm
;
2Lk
2Lm
4
4
3
3
x
Ni3
= Pk Ck Sk Pm Cm Sm
4
4
3
3
3
3
y
y
x
2
=
Pk S k
Pm Sm ; Ni2 = Ni3 ; Ni3
= Ni Pk Sk2 Pm Sm
2Lk
2Lm
4
4
(11.64)

x
Ni1
=

y
Ni1

onde Ni , Pk , Pm foram anteriormente definidos. Os indices k, m referem-se


aos dois lados que tem i como no comum, conforme tabela 11.3.
N
o canto i lado k(ij) lado m(ij)
1
2
3

4 (12)
5 (23)
6 (31)

6 (31)
4 (12)
5 (23)

Tabela 11.3. Indices k, m para o elemento DKT

A energia de deformac
ao para um elemento e entao
Z
1
1
(e)
T DdA = uT Ku
U =
2 A
2
com


y
x y x
+
; = Bu
T =
x
y
y
x
com

J22 Nx J12 Nx
1

J21 Ny + J11 Ny
B=
J
x
J21 N + J11 Nx + J22 Ny J12 Ny
onde Jij s
ao os termos da matriz jacobiana, definidos por

(11.65)

(11.66)

(11.67)

11.9 Exemplo de placa com elemento DKT

1
(x21 + x34 + (x34 x21 ))
4
1
= (y21 + y34 + (y34 y21 ))
4
1
= (x32 + x41 + (x32 x41 ))
4
1
= (y32 + y41 + (y32 y41 ))
4

203

J11 =

(11.68)

J12

(11.69)

J21
J22

(11.70)
(11.71)

A matriz de rigidez `
a flexao e entao calculada da forma habitual
Z
K(e) =
BT DBJdd
(11.72)
A

11.9 Exemplo de placa com elemento DKT


Para verificar a qualidade deste elemento na analise de placas, considerese uma placa quadrada, simplesmente apoiada ou encastrada em todos os
bordos, sujeita a uma forca distribuida P , com lado a, modulo de elasticidade
E e coeficiente de Poisson . Note-se que dadas as caracteristicas do elemento
DKT se usam apenas placas finas. Considere-se a flecha normalizada
D
P l4
sendo D a rigidez `
a flex
ao, obtida por
w
=w

D=

Eh3
12(1 2 )

sendo h a espessura da placa.


Apresenta-se o c
odigo (dkt.m) .
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

clear all
colordef white
tic
% propriedades material
E0 = 10920;
% mdulo Young
nu0 = 0.30;
% coef. Poisson
rho=1;
% geometria
L = 1;
% lado
thickness=0.01;
I=thickness^3/12;
P=-1;
% malha
numy
= 20;
% # elementos em xx
numx
= 20;
% # elementos em xx
%malha

(11.73)

(11.74)

204
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65

11 Elementos finitos de placa de Mindlin


nnx=numx+1;
nny=numy+1;
node=square_node_array([0 0],[L 0],[L L],[0 L],nnx,nny);
node_pattern1=[ 1 2 nnx+1 ];
node_pattern2=[ 2 nnx+2 nnx+1 ];
inc_u=1;
inc_v=nnx;
element=[make_elem(node_pattern1,numx,numy,inc_u,inc_v);
make_elem(node_pattern2,numx,numy,inc_u,inc_v) ];
%
xx=node(:,1);
yy=node(:,2);
numnode=size(node,1);
% numero nos
numelem=size(element,1); % numero elementos
% matriz elasticidade (duas partes)
vh=E0*thickness^3/12/(1-nu0^2)*[1 nu0 0; nu0 1 0; 0 0 (1-nu0)/2];
%
disp([num2str(toc),
dados ])
U=zeros(3*numnode,1);
% vector de deslocamentos nodais
f=zeros(3*numnode,1);
% vector de carga externa
K=sparse(3*numnode,3*numnode); % matriz de rigidez
M=sparse(3*numnode,3*numnode); % matriz de rigidez
% rigidez
% quadratura
ih=3;ihc=2;
pg= .166666666666666;
pg1= .666666666666666;
vpg=[pg ,pg1 ,pg;pg ,pg ,pg1];vwg=[pg pg pg];
idle=9;ike=81;innel=3;ipg=3;ih=3;
for e=1:numelem
indice=element(e,:);
indiceB=[ indice(1)*3-2 indice(1)*3-1 indice(1)*3 ...
indice(2)*3-2 indice(2)*3-1 indice(2)*3 ...
indice(3)*3-2 indice(3)*3-1 indice(3)*3 ];
vcore(1:2:5)=node(indice,1); vcore(2:2:6)=node(indice,2);
[vcos,vl]=t3cos(vcore);
%
% determinante J
detj=( vcore(3)-vcore(1) )*( vcore(6)-vcore(2) ) ...
-( vcore(2)-vcore(4) )*( vcore(1)-vcore(5) );
% inversa da matriz jacobiana
vji(2,2)= ( vcore(3)-vcore(1) )/detj
;
vji(2,1)= ( vcore(1)-vcore(5) )/detj
;
vji(1,2)= ( vcore(2)-vcore(4) )/detj
;
vji(1,1)= ( vcore(6)-vcore(2) )/detj
;

11.9 Exemplo de placa com elemento DKT


66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114

% inicializao K, M
vke=zeros(9);
vm=zeros(9);
%
for ig=1:3
% ponto de gauss
[vb]=bdkt(vl,vcos,vji,vpg(1,ig),vpg(2,ig));
%
K(indiceB,indiceB)=K(indiceB,indiceB)+vb*vh*detj*vwg(ig)*vb;
end
% ponto de gauss
f(indice*3-2)=f(indice*3-2)+P*detj/6;
[vm]=bdkm(rho,thickness,detj) ;
M(indiceB,indiceB)=M(indiceB,indiceB)+vm;
end
%noCentral=find(node(:,1)==L/2 & node(:,2)==L/2);
%f(noCentral*3-2)=-1.0;
% BC
fixedNodeW =find(yy==max(node(:,2))|xx==min(node(:,1))...
|xx==max(node(:,1))|yy==min(node(:,2)));
%next two lines: simply supported case
fixedNodeTX =find(yy==max(node(:,2))|yy==min(node(:,2)));
fixedNodeTY =find(xx==max(node(:,1))| xx==min(node(:,1)));
%next two lines: clamped case
%fixedNodeTX =fixedNodeW;
%fixedNodeTY =fixedNodeTX;

dofs=[fixedNodeW*3-2;fixedNodeTX*3-1;fixedNodeTY*3];
activeDof=setdiff([1:3*numnode],[dofs]);
U=K(activeDof,activeDof)\f(activeDof);
U1=zeros(3*numnode,1);
U1(activeDof)=U;
figure
plot3(xx,yy,U1(1:3:3*numnode),.)
format long
D1=E0*thickness^3/12/(1-nu0^2);
%min(U1(1:3:3*numnode))*D1/L^2
min(U1(1:3:3*numnode))*D1/L^4
%
G=E0/2.6;
% V : mode shape
% D : frequency

205

206

11 Elementos finitos de placa de Mindlin

115
116
117
118

[V,D] = eigs(K(activeDof,activeDof),M(activeDof,activeDof),24,0);
D = diag(sqrt(D)*L*sqrt(rho/G));
[D,ii] = sort(D);
D(1:10)

Note-se que este c


odigo ja contem a parte de calculo de vibracoes livres
que ser
a detalhada em captulo proprio mais adiante.
Para a placa referida, obtem-se os seguintes resultados normalizados para
a flecha m
axima (n
o central), conforme ilustrado na tabela 11.4. Note-se que
sendo um elemento de tres nos tem comparativamente menos graus de liberdade que o elemento de 4 n
os, pelo que necessita de menos graus de liberdade
para chegar a aproximadamente a mesma qualidade de solucao.
a/h

Malha

SSSS

CCCC

10000

44
10 10
20 20
30 30
Soluc
ao exacta

0.003875
0.004035
0.004056
0.004060
0.004060

0.001386
0.001289
0.001271
0.001268
0.001260

Tabela 11.4. Flecha normalizada para placa quadrada, sujeita a carga uniforme.
Simplesmente apoiada (SSSS) e encastrada (CCCC)

A seguir listam-se as rotinas auxiliares para este elemento.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
1
2

%
%
%
%
%

function [vcos,vl]=t3cos(vcore)
calcula os cossenos directores dos tres lados
12 23 e 31
c
vcore(6)
coordenadas x1 y1 x2 y2 x3 y3
c
vcos(2,3)
cos 1-2 sin 1-2;
c
vl(3)
comprimento de cada lado
ki=[1, 2, 3, 4, 5,6,1,2];
ii=1 ;
for i=1:3
cx=vcore( ki(ii+2) )-vcore( ki(ii) ) ;
cy=vcore( ki(ii+3) )-vcore( ki(ii+1) );
ii=ii+2 ;
cl=sqrt(cx*cx+cy*cy) ;
vl(i)=cl ;
vcos(1,i)=cx/cl ;
vcos(2,i)=cy/cl;
end

function [vb]=bdkt(vl,vcos,vji,cx,cy)
matriz [B] para elemento DKT

11.9 Exemplo de placa com elemento DKT


3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51

ki=[3,1,2];
vn1=[-1 1 0;-1 0 1];
c3=1-cx-cy
;
vp1(1,1)= 4*(c3-cx);
vp1(2,1)=-4*cx
vp1(1,2)= 4*cy
vp1(2,2)= 4*cx
vp1(1,3)=-4*cy
vp1(2,3)= 4*(c3-cy)
%
%
%
%

207

;
;
;
;
;

c
c------ vp-c(2,3):
vp1*cos*1.5/l
c
vp-cc,ss,cs:= vp1*.75 * cc ss cs
c
for j=1:3
cl=1.5/vl(j)
;
ac=vcos(1,j)
;
as=vcos(2,j)
;
for i=1:2
vpc(i,j)=cl*vp1(i,j)*ac ;
vps(i,j)=cl*vp1(i,j)*as ;
vpcc(i,j)=0.75*vp1(i,j)*ac*ac;
vpss(i,j)=0.75*vp1(i,j)*as*as;
vpcs(i,j)=0.75*vp1(i,j)*ac*as;
end
end
% c
% c------vb(3,9): beta-x betay-y betax-y + betay-x
% c
cj11=vji(1,1) ;
cj12=vji(1,2) ;
cj21=vji(2,1) ;
cj22=vji(2,2) ;
%c------- para cada no : 3 gdl--> w, betax, betay
jj=1
;
for j=1:3
jm=ki(j) ;
%c------- betax-x= vj(1,1)* ksi + vj(1,2)* eta
vb(1,jj ) = cj11 * ( vpc (1,j)-vpc (1,jm) ) + ...
cj12 * ( vpc (2,j)-vpc (2,jm) )
;
vb(1,jj+1) = -cj11 * (-vn1(1,j)+vpcc(1,j)+vpcc(1,jm) ) ...
- cj12 * (-vn1(2,j)+vpcc(2,j)+vpcc(2,jm) ) ;
vb(1,jj+2) = -cj11 * ( vpcs(1,j)+vpcs(1,jm) )...
- cj12 * ( vpcs(2,j)+vpcs(2,jm) )
;
%c------- betay-y= vj(2,1)* ksi + vj(2,2)* eta
vb(2,jj ) = cj21 * ( vps (1,j)-vps (1,jm) ) + ...
cj22 * ( vps (2,j)-vps (2,jm) )
;
vb(2,jj+1) = -cj21 * (vpcs(1,j)+vpcs(1,jm) ) ...
- cj22 * (vpcs(2,j)+vpcs(2,jm) )
;
vb(2,jj+2) = -cj21 * (-vn1(1,j)+ vpss(1,j)+vpss(1,jm) )...

208
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28

11 Elementos finitos de placa de Mindlin


- cj22 * (-vn1(2,j)+ vpss(2,j)+vpss(2,jm) );
%c------- betax-y+betay-x
vb(3,jj ) = cj21 * ( vpc (1,j)-vpc (1,jm) ) +
...
cj22 * ( vpc (2,j)-vpc (2,jm) ) +
...
cj11 * ( vps (1,j)-vps (1,jm) ) +
...
cj12 * ( vps (2,j)-vps (2,jm) ) ;
vb(3,jj+1) = -cj21 * (-vn1(1,j)+vpcc(1,j)+vpcc(1,jm)
cj22 * (-vn1(2,j)+vpcc(2,j)+vpcc(2,jm) ) cj11 * (
vpcs(1,j)+vpcs(1,jm) ) cj12 * (
vpcs(2,j)+vpcs(2,jm) )

) - ...
...
...
;

vb(3,jj+2) = -cj21 * (
vpcs(1,j)+vpcs(1,jm) ) - ...
cj22 * (
vpcs(2,j)+vpcs(2,jm) ) - ...
cj11 * (-vn1(1,j)+vpss(1,j)+vpss(1,jm) ) - ...
cj12 * (-vn1(2,j)+vpss(2,j)+vpss(2,jm) ) ;
%c
jj=jj+3 ;
end

function [vm]=bdkm(rho,espessura,detj)
% % massa

..................................
c=espessura*detj*rho/(24.d0) ;
% deslocamento transverso ..................................
ii=1
;
for i=1:3
jj=1
;
for j=1:3
vm(ii,jj)=c;
jj=jj+3
;
end
vm(ii,ii)=c+c;
ii=ii+3
;
end
% rotacoes ..................................
ch=espessura*espessura/12;
ii=1
;
for i=1:3
jj=1
;
for j=1:3
c=vm(ii,jj)*ch
;
vm(ii+1,jj+1)=c
;
vm(ii+2,jj+2)=c
;
jj=jj+3 ;
end
ii=ii+3 ;
end

11.9 Exemplo de placa com elemento DKT


29

209

12
Teorias de placa de ordem superior

12.1 Introduc
ao
No captulo anterior apresentou-se a chamada teoria de placa espessa de
Mindlin-Reissner, ou teoria de deformacao de corte de primeira ordem, que
necessita de factor de correccao de corte, para modificar a matriz constitutiva
ao corte, na forma
 
10
(12.1)
Dc = kG
01
onde k representa o factor de correccao de corte transverso, tipicamente
5/6 para materiais isotr
opicos.
Este factor de correcc
ao de corte pode ser calculado de varias formas,
nenhuma dela totalmente satisfatoria sob o ponto de vista da mecanica dos
meios contnuos.
Uma alternativa eficiente para evitar os factores de correccao de corte e
o de exprimir o campo de deslocamentos como funcao de z e z 3 , traduzindose o empenamento da normal ao plano medio duma funcao mais realista.
Com esta abordagem consegue-se ainda tensoes de corte parabolicas traves
da espessura. A teoria que apresentamos adiante baseia-se na teoria de Kant
e colegas e representa uma boa alternativa `a teoria de Mindlin-Reissner de
primeira ordem, `
a custa de dois graus de liberdade por no.
12.1.1 Campo de deslocamentos
Considere-se a teoria de placa de terceira ordem de Kant e colegas, explicada
nos artigos [132] e [129], da qual se retira uma alternativa possvel, onde
o deslocamento transversal w e constante atraves da espssura da placa, na
forma

212

12 Teorias de placa de ordem superior

u(x, y, z) = u0 (x, y) + zx (x, y) + z 3 x (x, y)


v(x, y, z) = v0 (x, y) + zy (x, y) + z 3 y (x, y)
w(x, y, z) = w0 (x, y)

(12.2)

onde x , y s
ao as rotac
oes de primeira ordem e x , y as rotacoes de ordem
superior, neste caso de terceira ordem. os deslocamentos do plano medio sao
u0 , v0 , w0 , segundo os tres eixos coordenados.
12.1.2 Campo de deforma
c
oes
Podemos encontrar as deformacoes pelas relacoes deformacao-deslocamento,
na forma

xx

yy u v

xy =
+
(12.3)


y
x

xz

yz

u
w

z
x

w
v

+
z
y
ou por
f
f
xx


xx

xx xx

3
m
f
f
yy
 = yy = yy + z yy + z
(12.4)
m

xy
xy

xy
xy

(0)
(2)

 
xz

xz

xz
=
+ 3z 2
(12.5)
=
yz

(0)

(2)

yz
yz
onde as componentes de deformacao sao descritas por

12.2 Matriz de rigidez

213

x
x
u0

f
f
x
x
x





xx
xx
xx

0
y
y
f
f
m


=
=
=
;
;
yy
yy
yy
y
y
y

m
f
f

xy

u0

xy
xy
v

0
y
x
y
x

+
+

+
y
x
y
x
y
x
(12.6)

w0

(0)
+

xz

(2)
 

xz
x

=
0 =
= x
(12.7)
; 2 =
y
w0
(0)

(2)

yz
yz

+ y
y
Tendo em conta a abordagem de placa, ou seja, desprezando a tensao
normal transversa, z , podem definir-se as relacoes tensao-deformacao

E
E

0
2
1 2

x
x

E
E
=
= y
= D
(12.8)
y
0

xy
1 2 1 2
xy

0
0
G

=

xz
yz


=

G 0
0 G



xz
yz


= Dc

(12.9)

Note-se que nesta teoria nao sao necessarios os factores de correccao de


corte.

12.2 Matriz de rigidez


Tomando a matriz de rigidez, a partir da energia de deformacao, podemos
escrever
Z
1
U=
T + T dV
(12.10)
2 V
ou
1
U=
2

 m
T 

 + zf + z 3 f D m + zf + z 3 f +

(0) + 3z 2 (2)

iT

h
i
Dc (0) + 3z 2 (2) dV

(12.11)

214

12 Teorias de placa de ordem superior

Substituindo as deformacoes e as tensoes nesta expressao da energia, obtemos ent


ao a matriz de rigidez do elemento, na forma
(e)

(e)

(e)

(e)

(e)

(e)
K(e) = K(e)
mm + Kf f + Kf f + Kcc + Kc2c2 + Kcc2 + Kc2c
(e)

(12.12)

(e)

onde Kmm representa a matriz de rigidez de membrana, Kf f representa a


(e)

matriz de rigidez de flex


ao com termos de primeira ordem, Kf f representa a
matriz de rigidez de flex
ao com termos de ordem superior (de terceira ordem),
(e)
(e)
Kcc representa a matriz de rigidez de corte, Kc2c2 representa a matriz de
rigidez de corte com termos de ordem superior. As componentes da matriz de
(e)
(e)
rigidez Kcc2 e Kc2c representam termos de acoplamento de corte. De seguida
apresentam-se todas essas componentes da matriz de rigidez.

K(e)
mm =

h/2

Z Z
A

Tm dzdA =

h/2

h/2

Z Z

Tm Dm dzdA = h

h/2

Tm Dm dA

(12.13)
Z Z

(e)

Kf f =

h/2

zTf dzdA =

Z Z

h/2

h/2

z 2 Tf Df dzdA =

h/2

h3
12

Tf Df dA

(12.14)

(e)
Kf f

Z Z

h/2

z 3 Tf dzdA

=
h/2

Z Z

h/2

z 6 Tf Df dzdA

=
A

h/2

h7
=
448

Tf Df dA

(12.15)
K(e)
cc

Z Z

Z Z

Kc2c2 =
A

Kcc2 =
A

(e)
Kc2c

h/2

h/2

h/2

3z
h/2

T2 Dc 0 dzdA

h5
80

h3
12

h3
=3
12

T0 Dc 3z 2 2 dzdA = 3

(12.16)

h/2

T0 Dc 0 dA

=h

h/2

3z 2 T2 Dc 3z 2 2 dzdA = 9

Z Z
A

h/2

Z Z

(e)

T0 Dc 0 dzdA

=
A

(e)

h/2

T2 Dc 2 dA

(12.17)

T0 Dc 2 dA

(12.18)

T2 Dc 0 dA

(12.19)

12.3 Matrizes de deformac


ao-deslocamento B

215

12.3 Matrizes de deformac


ao-deslocamento B
Em func
ao das componentes da matriz de rigidez, e possvel construir as
matrizes de deformac
ao-deslocamento B, nas componentes de membrana

N
x 0 0 0 0 0 0

0 N 0 0 0 0 0
(e)
Bm =
(12.20)

N N
00000
y x
de flex
ao de primeira ordem

(e)

Bf

0 0 0

= 0 0 0

000

N
x

0 0

N
0
0 0

N N
00
y x

(12.21)

de flex
ao de terceira ordem

(e)

Bf

0 0 0 0 0

= 0 0 0 0 0

00000

de corte
(e)

Bc0

N
x

N N
y x

N
0
0
N
0
0
0

N
00
0 N 00
y

(12.22)

(12.23)

e de corte de ordem superior

(e)

Bc2

N
0
0
N
0
0
0

N
00
00 0 N
y

(12.24)

216

12 Teorias de placa de ordem superior

Deixa-se ao leitor a interpretacao do codigo, sendo de notar a organizacao


dos graus de liberdade (para aproveitar a compactacao do MATLAB), na
forma

uT = [w1 wN , x1 xN , y1 yN , x1
xN
, y1
yN
, u1 uN , v1 vN ]
(12.25)

12.4 Exemplo de placa quadrada


Para verificar a qualidade deste elemento de terceira ordem, na analise de
placas isotr
opicas, considere-se uma placa quadrada, simplesmente apoiada
ou encastrada em todos os bordos, sujeita a uma forca distribuida P , com
lado a, m
odulo de elasticidade E e coeficiente de Poisson . Considere-se a
flecha normalizada
D
P l4
sendo D a rigidez `
a flex
ao, obtida por
w
=w

D=

Eh3
12(1 2 )

(12.26)

(12.27)

sendo h a espessura da placa.


Para a placa referida, obtem-se os seguintes resultados normalizados para
a flecha m
axima (n
o central), conforme ilustrado na tabela 12.1.
Apresenta-se o c
odigo (placaKantQ4DOF5.m) para a solucao de problemas
de placa isotr
opica encastrada ou simplesmente apoiada, recorrendo `a teoria
de placa de ordem superior.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

colordef white
tic
% propriedades material
E0 = 10920; % mdulo Young
nu0 = 0.30; % coef. Poisson
rho=1;
% geometria
L = 1;
% lado
thickness=0.01;
I=thickness^3/12;
%carga
P=-1;
numy
= 10;
% # elementos em xx
numx
= 10;
% # elementos em xx
% matriz elasticidade (duas partes)
% parte flexao
C_bending=E0/(1-nu0^2)*[1 nu0 0;nu0 1 0;0 0 (1-nu0)/2];

12.4 Exemplo de placa quadrada


a/h

Malha

44
10 10
20 20
30 30
Soluc
ao Kant[132]
10
44
10 10
20 20
30 30
Soluc
ao exacta
100
44
10 10
20 20
30 30
Soluc
ao Kant[132]
10000
44
10 10
20 20
30 30
Soluc
ao exacta
4

SSSS

CCCC

0.005454
0.005382
0.005376
0.005374
0.00523
0.004207
0.004263
0.004270
0.004271
0.004270
0.003971
0.004051
0.004061
0.004063
0.00407
0.003968
0.004049
0.004059
0.004060
0.004060

0.002732
0.002630
0.002625
0.002623
0.002610
0.001467
0.001494
0.001500
0.001501
0.001520
0.001214
0.001258
0.001265
0.001267
0.00128
0.001211
0.001256
0.001263
0.001264
0.001260

217

Tabela 12.1. Flecha normalizada para placa quadrada, sujeita a carga uniforme.
Simplesmente apoiada (SSSS) e encastrada (CCCC)

18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38

% parte corte
C_shear=E0/2/(1+nu0)*eye(2);
%malha
[node, element] = MalhaRectangular(L, L, numx, numy);
%
xx=node(:,1);
yy=node(:,2);
numnode=size(node,1);
% numero nos
numelem=size(element,1); % numero elementos
% inicializacao
K=zeros(7*numnode,7*numnode); % matriz de rigidez
M=zeros(7*numnode,7*numnode); % matriz de massa
f=zeros(7*numnode,1); % vector de carga
U=zeros(7*numnode,1); % vector de deslocamentos
% calculo de MATRIZ DE RIGIDEZ
% quadratura de 2 pontos
Q=[ -0.577350269189626 -0.577350269189626;
0.577350269189626 -0.577350269189626;

218
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87

12 Teorias de placa de ordem superior


0.577350269189626 0.577350269189626;
-0.577350269189626 0.577350269189626];
W=[ 1;1;1;1];
% rigidez de flexao
for e=1:numelem
indice=element(e,:);
indiceB=[ indice indice+numnode indice+2*numnode indice+3*numnode...
indice+4*numnode indice+5*numnode indice+6*numnode];
nn=length(indice);
for q=1:size(W,1)
% CICLO QUADRATURA
pt=Q(q,:);
% PONTO
wt=W(q);
% PESO
xi=pt(1);
eta=pt(2);
% FUNCOES DE FORMA E DERIVADAS COORDENADAS NATURAIS
N=1/4*[ (1-xi)*(1-eta);(1+xi)*(1-eta);
(1+xi)*(1+eta);(1-xi)*(1+eta)];
dNdxi=1/4*[-(1-eta), -(1-xi);1-eta,
-(1+xi);
1+eta,
1+xi;-(1+eta),
1-xi];
J0=node(indice,:)*dNdxi;
invJ0=inv(J0);
dNdx=dNdxi*invJ0;
% MATRIZ B
% FLEXAO 0
B_b=zeros(3,7*nn);
B_b(1,nn+1:2*nn)
B_b(2,2*nn+1:3*nn)
B_b(3,nn+1:2*nn)
B_b(3,2*nn+1:3*nn)

% MATRIZ JACOBIANA

=
=
=
=

dNdx(:,1);
dNdx(:,2);
dNdx(:,2);
dNdx(:,1);

B_b1=zeros(3,7*nn);
B_b1(1,3*nn+1:4*nn)
B_b1(2,4*nn+1:5*nn)
B_b1(3,3*nn+1:4*nn)
B_b1(3,4*nn+1:5*nn)

=
=
=
=

dNdx(:,1);
dNdx(:,2);
dNdx(:,2);
dNdx(:,1);

B_m=zeros(3,7*nn);
B_m(1,5*nn+1:6*nn)
B_m(2,6*nn+1:7*nn)
B_m(3,5*nn+1:6*nn)
B_m(3,6*nn+1:7*nn)

=
=
=
=

dNdx(:,1);
dNdx(:,2);
dNdx(:,2);
dNdx(:,1);

% RIGIDEZ E MASSA NO PONTO DE QUADRATURA


K(indiceB,indiceB)=K(indiceB,indiceB)+...
B_b*I*C_bending*B_b*W(q)*det(J0);

12.4 Exemplo de placa quadrada


88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136

219

K(indiceB,indiceB)=K(indiceB,indiceB)+...
B_b*thickness^5/80*C_bending*B_b1*W(q)*det(J0);
K(indiceB,indiceB)=K(indiceB,indiceB)+...
B_b1*thickness^5/80*C_bending*B_b*W(q)*det(J0);

K(indiceB,indiceB)=K(indiceB,indiceB)+...
B_b1*thickness^7/448*C_bending*B_b1*W(q)*det(J0);
K(indiceB,indiceB)=K(indiceB,indiceB)+...
B_m*thickness*C_bending*B_m*W(q)*det(J0);

% VECTOR DE CARGA NO PONTO DE QUADRATURA


f(indice)=f(indice)+N*P*det(J0)*wt;
end
end
% MATRIZ DE RIGIDEZ (CORTE)
% quadratura de 1 ponto
Q=[0 0];
W=[4];
for e=1:numelem
indice=element(e,:);
indiceB=[ indice indice+numnode indice+2*numnode indice+3*numnode...
indice+4*numnode indice+5*numnode indice+6*numnode];
nn=length(indice);
for q=1:size(W,1)
pt=Q(q,:);
wt=W(q);
xi=pt(1);
eta=pt(2);
% FUNCOES DE FORMA E DERIVADAS COORDENADAS NATURAIS
N=1/4*[ (1-xi)*(1-eta);(1+xi)*(1-eta);
(1+xi)*(1+eta);(1-xi)*(1+eta)];
dNdxi=1/4*[-(1-eta), -(1-xi);1-eta,
-(1+xi);
1+eta,
1+xi;-(1+eta),
1-xi];
J0=node(indice,:)*dNdxi;
invJ0=inv(J0);
dNdx=dNdxi*invJ0;
% CORTE
B_s=zeros(2,7*nn);
B_s(1,1:nn)
=
B_s(2,1:nn)
=
B_s(1,nn+1:2*nn) =
B_s(2,2*nn+1:3*nn)=

dNdx(:,1);
dNdx(:,2);
N;
N;

220
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185

12 Teorias de placa de ordem superior

B_s1=zeros(2,7*nn);
B_s1(1,3*nn+1:4*nn) = N;
B_s1(2,4*nn+1:5*nn) = N;
%
K(indiceB,indiceB)=K(indiceB,indiceB)+...
B_s*thickness*C_shear*B_s*W(q)*det(J0);
K(indiceB,indiceB)=K(indiceB,indiceB)+...
B_s*3*I*C_shear*B_s1*W(q)*det(J0);
K(indiceB,indiceB)=K(indiceB,indiceB)+...
B_s1*3*I*C_shear*B_s*W(q)*det(J0);
K(indiceB,indiceB)=K(indiceB,indiceB)+...
B_s1*9*thickness^5/80*C_shear*B_s1*W(q)*det(J0);
end
end
% BC
fixedNodeW =find(yy==max(node(:,2))|xx==min(node(:,1))...
|xx==max(node(:,1))|yy==min(node(:,2)));
%next two lines: simply supported case
% fixedNodeTX =find(yy==max(node(:,2))|yy==min(node(:,2)));
% fixedNodeTY =find(xx==max(node(:,1))| xx==min(node(:,1)));
% fixedNodeTX1 =find(yy==max(node(:,2))|yy==min(node(:,2)));
% fixedNodeTY1 =find(xx==max(node(:,1))| xx==min(node(:,1)));
% fixedNodeU =find(xx==min(node(:,1)));
% fixedNodeV =find(yy==min(node(:,2)));
%next two lines: clamped case
fixedNodeTX =fixedNodeW;
fixedNodeTY =fixedNodeTX;
fixedNodeTX1 =fixedNodeTX;
fixedNodeTY1 =fixedNodeTX;
fixedNodeU =fixedNodeTX;
fixedNodeV =fixedNodeTX;
% condicoes fronteira
dofs=[fixedNodeW;fixedNodeTX+numnode;fixedNodeTY+2*numnode;...
fixedNodeTX1+3*numnode;fixedNodeTY1+4*numnode;...
fixedNodeU+5*numnode;fixedNodeV+6*numnode];
activeDof=setdiff([1:7*numnode],[dofs]);
U=K([activeDof],[activeDof])\f([activeDof]);
U1=zeros(7*numnode,1);
U1(activeDof)=U;
U=U1;

12.4 Exemplo de placa quadrada


186
187
188
189
190
191
192

ws=1:numnode;
D1=E0*thickness^3/12/(1-nu0^2);
format long
min(U1(ws))*D1/L^4% normalizacao para solucao de placa fina
figure (1)
plot3(xx,yy,U(ws),.)

221

13
Uma teoria layerwise

13.1 Introduc
ao
As teorias de placa de Mindlin e Kant aqui apresentadas recorrem a um campo
de rotac
oes da normal identico atraves da direccao da espessura. Segundo uma
normal ao plano medio, qualquer que seja a posicao na direccao da espessua,
esse ponto material possui as mesmas rotacoes que outro ponto nessa direccao.
Imagine-se agora uma estrutura laminada tipo sandwich onde atraves da espessura, as propriedades mecanicas podem variar de forma significativa. Com
base nesta suposic
ao, apareceram as chamadas teorias layerwise, que atribuem
rotac
oes independentes a camadas matematicas representativas de materiais.
A teoria que se apresenta aqui [124] considera o seguinte campo de deslocamentos para a segunda camada (n
ucleo da estrutura sandwich), conforme
ilustrado na figura 13.1.
u(2) (x, y, z) =u0 (x, y) + z (2) x(2)
v

(2)

(x, y, z) =v0 (x, y) +

w(2) (x, y, z) =w0 (x, y)

z (2) y(2)

(13.1)
(13.2)
(13.3)

onde u0 e v0 s
ao os deslocamentos do plano medio (aqui considerado como
o plano medio do n
ucleo), em qualquer ponto (x, y, 0) , w representa a flecha
(2)
(2)
ou deslocamento transverso, sendo ainda x e y as rotacoes das normais
do plano medio segundo os eixos y e x respectivamente, para a camada 2.
Os correspondentes deslocamentos para as camadas superior (3) e inferior
(1), s
ao, respectivamente,

224

13 Uma teoria layerwise

Figura 13.1. Placa layerwise, graus de liberdade

h2 (2) h3 (3)
+ x + z (3) x(3)
2 x
2
h
h
2
3
v (3) (x, y, z) =v0 (x, y) + y(2) + y(3) + z (3) y(3)
2
2
w(3) (x, y, z) =w0 (x, y)
u(3) (x, y, z) =u0 (x, y) +

h2 (2) h1 (1)
x + z (1) x(1)
2 x
2
h
h
2
1
v (1) (x, y, z) =v0 (x, y) y(2) y(1) + z (1) y(1)
2
2
w(1) (x, y, z) =w0 (x, y)
u(1) (x, y, z) =u0 (x, y)

(13.4)
(13.5)
(13.6)

(13.7)
(13.8)
(13.9)

onde hk representa a espessura da camada k e onde z (k) [hk /2, hk /2]


representam as coordenadas em z.
As deformac
oes para cada camada k sao dadas por

13.1 Introduc
ao

u(k)
x

(k)
xx

v (k)

(k)

yy

u(k)
v (k)
(k)
=
+
xy

x
y

(k)

u(k)

xz

w(k)

z + x

(k)

yz

v (k)
w(k)

+
z
y

sendo as deformac
oes de corte dadas por

w0
(k)

(k)
+

x
xz

x

(k)

w0 + (k)

yz

y
y

As componentes s
ao expressas por

(13.10)

As deformac
oes de membrana sao definidas por

(k)
m(k)
f (k)
mf (k)

xx
xx
xx
xx

(k)
m(k)
f (k)
mf (k)
(k)
=
+
z
+
yy
yy
yy
yy

(k) m(k)
f (k) mf (k)

xy
xy
xy
xy

As componentes de membrana sao dadas por

u0

m(k)

xx

v0
m(k)
=
yy
y

m(k)

v0
u0
xy

y
x

225

(13.11)

(13.12)

(13.13)

226

13 Uma teoria layerwise


(k)

x
x

f (k)

xx

(k)
y
f (k)
=
yy

f (k)

(k)
(k)
xy

x + y
y
x

(13.14)

sendo ainda as componentes de acoplamento membrana-flexao para as camadas 2,3 e 1, respectivamente dadas por


mf (2)


0
xx



mf (2)
(13.15)
= 0
yy

mf (2)
0
xy

mf (3)

xx

mf (3)
=
yy

mf (3)

xy

h2

mf (1)


xx

mf (1)
=
yy

mf (1)

xy

h2

(2)

(3)

h2 x
h3 x
+
2 x
2 x
(2)

h2 y
+
2 y
!
(2)
(2)
y
x
+
+
y
x

(3)

h3 y
2 y
h3
2

(2)

(1)

(2)

h2 y

2 y
!
(2)
(2)
x
y
+

y
x

(1)

h1 y
2 y
h1
2

(k)

(13.16)

(3)
(3)

y
x

y
x

h1 x
h2 x

2 x
2 x

(13.17)

(1)
(1)

x
y

y
x

Desprezando a tens
ao normal transversa z para cada camada ortotropica,
as relac
oes tens
ao-deformac
ao no sistema coordenado local (material) podem
ser expressas por

13.2 Laminado sandwich com 3 camadas

(k)

(k)

2
(k)
12

(k)

23

(k)
31

Q11
Q12

=
0

Q12
Q22
0
0
0

0
0
Q33
0
0

(k)

0
0
0
0
0
0
Q44 0
0 Q55

(k)

1
(k)
2
(k)
12
(k)
23
(k)
31

227

(13.18)

onde os indices 1 e 2 representam as direccoes das fibras materiais e transversais `


as fibras, sendo ainda a direccao 3 a direccao normal ao plano. As
(k)
componentes de rigidez reduzida, Qij , sao entao obtidas por
(k)

(k)

E1

(k)

Q11 =

(k) (k)

1 12 21

(k)

(k)

(k)

Q33 = G12
(k)

E2

(k)

Q22 =

(k)

(k) (k)

1 12 21
(k)

(k)

(k)

Q44 = G23

(k)

Q12 = 21 Q11
(k)

Q55 = G31

(k)
(k) E2
(k)
E1

21 = 12

(k)

(k)

(k)

(k)

(k)

(k)

onde E1 , E2 , 12 , G12 , G23 e G31 sao as propriedades materiais da


camada k.
Por transformac
ao de coordenadas as relacoes tensao-deformacao no sistema global podem ser obtidas por
(k)

xx

(k)

yy
(k)
xy

(k)

yz

(k)
zx

(k)

(k)

(k)

Q11 Q12 Q16

(k) (k) (k)


Q12 Q22 Q26 0
0
(k) (k) (k)
=
0
Q16 Q26 Q66 0

(k)
(k)

0
0
0 Q44 Q45

(k)
(k)
0
0
0 Q45 Q55

(k)

xx
(k)
yy
(k)
xy
(k)
yz
(k)
zx

(13.19)

Considerando como o
angulo entre o eixo x e o eixo 1, sendo o eixo 1
(k)
o eixo material principal, podendo as componentes Qij ser calculadas por
transformac
ao de coordenadas [130].

13.2 Laminado sandwich com 3 camadas


Considera-se um laminado sandwich com tres camadas, simplesmente apoiado
em todos os bordos, sob carga uniforme transversal. Este exemplo, formulado
por Srinivas [131], considera as seguintes propriedades materiais para o n
ucleo

228

13 Uma teoria layerwise

Qcore

0.999781 0.231192
0
0
0
0.231192 0.524886
0
0
0

0
0
0.262931
0
0
=

0
0
0
0.266810
0
0
0
0
0
0.159914

As propriedades materiais das peles sao obtidas das do n


ucleo multiplicandoas por um factor R:
Qskin = RQcore
Neste exemplo, normalizam-se os resultados na forma

w = w(a/2, a/2, 0)

0.999781
hq

(1)

(1)

(2)

1x =

x (a/2, a/2, h/2) 2


x (a/2, a/2, 2h/5)
x (a/2, a/2, 2h/5)
; x =
; 3x =
q
q
q

1y =

y (a/2, a/2, h/2) 2


y (a/2, a/2, 2h/5)
y (a/2, a/2, 2h/5)
y =
; 3y =
q
q
q

(1)

(2)

1xz =

(1)

(2)

(2)

xz (0, a/2, 0) 2
xz (0, a/2, 2h/5)
; xz =
q
q

Para diferentes valores de R, apresentam-se nas tabelas seguintes os resultados na forma de deslocamentos transversais, tensoes normais e tensoes
de corte transverso. Comparam-se os resultados com os obtidos por solucoes
anaaliticas de terceira ordem de Pandya [129], uma formulacao de elementos
finitos de casca de primeira ordem de [126] e com uma formulacao sem malha
de Ferreira e colegas [103]. A qualidade da formulacao presente e evidente.
Metodo
HSDT [129]
FSDT [129]
CLT
Ferreira [126]
Ferreira (N=15) [103]
exacto [131]
HSDT [127] (N=11)
HSDT [127] (N=15)
HSDT [127] (N=21)
presente (4 4 elementos Q4)
presente (10 10 elementos Q4)
presente (20 20 elementos Q4)

w
256.13
236.10
216.94
258.74
257.38
258.97
253.6710
256.2387
257.1100
259.5352
258.8336
258.8342

1x
62.38
61.87
61.141
59.21
58.725
60.353
59.6447
60.1834
60.3660
55.9230
59.5704
60.0881

2x
46.91
49.50
48.623
45.61
46.980
46.623
46.4292
46.8581
47.0028
42.7778
45.9692
46.3718

3x
9.382
9.899
9.783
9.122
9.396
9.340
9.2858
9.3716
9.4006
8.5556
9.1938
9.2744

1xz
3.089
3.313
4.5899
3.593
3.848
4.3641
3.8449
4.2768
4.5481
2.9135
3.6289
3.8804

2xz
2.566
2.444
3.386
3.593
2.839
3.2675
1.9650
2.2227
2.3910
1.2510
1.5831
1.7314

Tabela 13.1. Placa quadrada sandwich sob press


ao uniforme- R = 5

13.2 Laminado sandwich com 3 camadas


Metodo
HSDT [129]
FSDT [129]
CLT
Ferreira [126]
Ferreira (N=15) [103]
exacto [131]
HSDT [127] (N=11)
HSDT[127] (N=15)
HSDT[127] (N=21)
presente (4 4 elementos Q4)
presente (10 10 elementos Q4)
presente (20 20 elementos Q4)

w
152.33
131.095
118.87
159.402
158.55
159.38
153.0084
154.2490
154.6581
162.0181
159.6822
159.4757

1x
64.65
67.80
65.332
64.16
62.723
65.332
64.7415
65.2223
65.3809
60.5430
64.4631
65.0473

2x
51.31
54.24
48.857
47.72
50.16
48.857
49.4716
49.8488
49.9729
44.4486
48.1314
48.5758

3x
5.131
4.424
5.356
4.772
5.01
4.903
4.9472
4.9849
4.9973
4.4449
4.8131
4.8576

1xz
3.147
3.152
4.3666
3.518
3.596
4.0959
2.7780
3.1925
3.5280
2.8323
3.5483
3.7918

229

2xz
2.587
2.676
3.7075
3.518
3.053
3.5154
1.8207
2.1360
2.3984
1.3629
1.7470
1.9279

Tabela 13.2. Placa quadrada sandwich sob press


ao uniforme- R = 10
Metodo
HSDT [129]
FSDT [129]
CLT
Ferreira [126]
Ferreira (N=15) [103]
exact [131]
Third-order [127] (N=11)
Third-order [127] (N=15)
Third-order [127] (N=21)
presente (4 4 elementos Q4)
presente (10 10 elementos Q4)
presente (20 20 elementos Q4)

w
110.43
90.85
81.768
121.821
121.184
121.72
113.5941
114.3874
114.6442
125.0593
122.1499
121.8709

1x
66.62
70.04
69.135
65.650
63.214
66.787
66.3646
66.7830
66.9196
61.9463
65.8759
66.4903

2x
51.97
56.03
55.308
47.09
50.571
48.299
49.8957
50.2175
50.3230
43.5915
47.5395
48.0001

3x
3.465
3.753
3.687
3.140
3.371
3.238
3.3264
3.3478
3.3549
2.9061
3.1693
3.2000

1xz
3.035
3.091
4.2825
3.466
3.466
3.9638
2.1686
2.6115
3.0213
2.7739
3.4912
3.7297

2xz
2.691
2.764
3.8287
3.466
3.099
3.5768
1.5578
1.9271
2.2750
1.4016
1.8158
2.0192

Tabela 13.3. Placa quadrada sandwich sob press


ao uniforme - R = 15

Apresenta-se o c
odigo (vibracoesPlacaLAYERWISEQ4.m) para a solucao de
problemas de placa laminada encastrada ou simplesmente apoiada, recorrendo
a teoria de placa layerwise.
`
1
2
3
4
5
6
7
8
9
10
11
12

clear all
colordef white
tic
% propriedades material
E0 = 10920; % mdulo Young
nu0 = 0.30; % coef. Poisson
rho=1;
% geometria
L = 1;
% lado
thickness=0.1;
h1=thickness/10;
h2=thickness/10*8;

230
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61

13 Uma teoria layerwise


h3=thickness/10;
%
I=thickness^3/12;
%
%(exemplo SRINIVAS)
rf=15;
% sandwich example, srinivas
qbarra=zeros(5,5,3);
qbarra(1,1,2)=0.999781;
qbarra(1,2,2)=0.231192;
qbarra(2,1,2)=0.231192;
qbarra(2,2,2)=0.524886;
qbarra(3,3,2)=0.262931;
qbarra(5,5,2)=0.266810;
qbarra(4,4,2)=0.159914;
%
qbarra(:,:,1)=qbarra(:,:,2)*rf;
qbarra(:,:,3)=qbarra(:,:,2)*rf;
% %
%carga
P=-1;
numy
= 10;
% # elementos em xx
numx
= 10;
% # elementos em xx
% matriz elasticidade (duas partes)
% parte flexao
C1b=qbarra(1:3,1:3,1);
C2b=qbarra(1:3,1:3,2);
C3b=qbarra(1:3,1:3,3);
%
%
%
%

C1b=E0/(1-nu0^2)*[1 nu0
C2b=E0/(1-nu0^2)*[1 nu0
C3b=E0/(1-nu0^2)*[1 nu0
parte corte

0;nu0 1 0;0 0 (1-nu0)/2];


0;nu0 1 0;0 0 (1-nu0)/2];
0;nu0 1 0;0 0 (1-nu0)/2];

C1s=qbarra(4:5,4:5,1);
C2s=qbarra(4:5,4:5,2);
C3s=qbarra(4:5,4:5,3);
% C1s=E0/2/(1+nu0)*eye(2);
% C2s=E0/2/(1+nu0)*eye(2);
% C3s=E0/2/(1+nu0)*eye(2);
%malha
[node, element] = MalhaRectangular(L, L, numx, numy);
%
xx=node(:,1);
yy=node(:,2);

13.2 Laminado sandwich com 3 camadas


62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110

231

numnode=size(node,1);
% numero nos
numelem=size(element,1); % numero elementos
% inicializacao
K=zeros(7*numnode,7*numnode); % matriz de rigidez
M=zeros(7*numnode,7*numnode); % matriz de massa
f=zeros(7*numnode,1); % vector de carga
U=zeros(7*numnode,1); % vector de deslocamentos
% calculo de MATRIZ DE RIGIDEZ
% quadratura de 2 pontos
Q=[ -0.577350269189626 -0.577350269189626;
0.577350269189626 -0.577350269189626;
0.577350269189626 0.577350269189626;
-0.577350269189626 0.577350269189626];
W=[ 1;1;1;1];
% rigidez de flexao
for e=1:numelem
indice=element(e,:);
indiceB=[ indice indice+numnode indice+2*numnode ...
indice+3*numnode indice+4*numnode indice+5*numnode indice+6*numnode];
nn=length(indice);
for q=1:size(W,1)
% CICLO QUADRATURA
pt=Q(q,:);
% PONTO
wt=W(q);
% PESO
xi=pt(1);
eta=pt(2);
% FUNCOES DE FORMA E DERIVADAS COORDENADAS NATURAIS
N=1/4*[ (1-xi)*(1-eta);(1+xi)*(1-eta);
(1+xi)*(1+eta);(1-xi)*(1+eta)];
dNdxi=1/4*[-(1-eta), -(1-xi);1-eta,
-(1+xi);
1+eta,
1+xi;-(1+eta),
1-xi];
J0=node(indice,:)*dNdxi;
invJ0=inv(J0);
dNdx=dNdxi*invJ0;
% MATRIZ B
% FLEXAO
B_b1=zeros(3,7*nn);
B_b1(1,nn+1:2*nn)
B_b1(2,2*nn+1:3*nn)
B_b1(3,nn+1:2*nn)
B_b1(3,2*nn+1:3*nn)
B_b2=zeros(3,7*nn);
B_b2(1,3*nn+1:4*nn)

% MATRIZ JACOBIANA

=
=
=
=

dNdx(:,1);
dNdx(:,2);
dNdx(:,2);
dNdx(:,1);

= dNdx(:,1);

232
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159

13 Uma teoria layerwise


B_b2(2,4*nn+1:5*nn)
B_b2(3,3*nn+1:4*nn)
B_b2(3,4*nn+1:5*nn)

= dNdx(:,2);
= dNdx(:,2);
= dNdx(:,1);

B_b3=zeros(3,7*nn);
B_b3(1,5*nn+1:6*nn)
B_b3(2,6*nn+1:7*nn)
B_b3(3,5*nn+1:6*nn)
B_b3(3,6*nn+1:7*nn)

=
=
=
=

dNdx(:,1);
dNdx(:,2);
dNdx(:,2);
dNdx(:,1);

% membrana - FLEXAO
B_mb3=zeros(3,7*nn);
B_mb3(1,3*nn+1:4*nn)
B_mb3(2,4*nn+1:5*nn)
B_mb3(3,3*nn+1:4*nn)
B_mb3(3,4*nn+1:5*nn)

=
=
=
=

h2/2*dNdx(:,1);
h2/2*dNdx(:,2);
h2/2*dNdx(:,2);
h2/2*dNdx(:,1);

B_mb3(1,5*nn+1:6*nn)
B_mb3(2,6*nn+1:7*nn)
B_mb3(3,5*nn+1:6*nn)
B_mb3(3,6*nn+1:7*nn)

=
=
=
=

h3/2*dNdx(:,1);
h3/2*dNdx(:,2);
h3/2*dNdx(:,2);
h3/2*dNdx(:,1);

B_mb1=zeros(3,7*nn);
B_mb1(1,nn+1:2*nn)
B_mb1(2,2*nn+1:3*nn)
B_mb1(3,nn+1:2*nn)
B_mb1(3,2*nn+1:3*nn)

=
=
=
=

-h1/2*dNdx(:,1);
-h1/2*dNdx(:,2);
-h1/2*dNdx(:,2);
-h1/2*dNdx(:,1);

B_mb1(1,3*nn+1:4*nn)
B_mb1(2,4*nn+1:5*nn)
B_mb1(3,3*nn+1:4*nn)
B_mb1(3,4*nn+1:5*nn)

=
=
=
=

-h2/2*dNdx(:,1);
-h2/2*dNdx(:,2);
-h2/2*dNdx(:,2);
-h2/2*dNdx(:,1);

% RIGIDEZ E MASSA NO PONTO DE QUADRATURA


K(indiceB,indiceB)=K(indiceB,indiceB)+...
B_b1*h1^3/12*C1b*B_b1*W(q)*det(J0);
K(indiceB,indiceB)=K(indiceB,indiceB)+...
B_b2*h2^3/12*C2b*B_b2*W(q)*det(J0);
K(indiceB,indiceB)=K(indiceB,indiceB)+...
B_b3*h3^3/12*C3b*B_b3*W(q)*det(J0);
K(indiceB,indiceB)=K(indiceB,indiceB)+...
B_mb1*h1*C1b*B_mb1*W(q)*det(J0);
K(indiceB,indiceB)=K(indiceB,indiceB)+...

13.2 Laminado sandwich com 3 camadas


160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208

233

B_mb3*h3*C3b*B_mb3*W(q)*det(J0);
% VECTOR DE CARGA NO PONTO DE QUADRATURA
f(indice)=f(indice)+N*P*det(J0)*wt;
end
end
% MATRIZ DE RIGIDEZ (CORTE)
% quadratura de 1 ponto
Q=[0 0];
W=[4];
for e=1:numelem
indice=element(e,:);
indiceB=[ indice indice+numnode indice+2*numnode ...
indice+3*numnode indice+4*numnode indice+5*numnode indice+6*numnode];
nn=length(indice);
for q=1:size(W,1)
pt=Q(q,:);
wt=W(q);
xi=pt(1);
eta=pt(2);
% FUNCOES DE FORMA E DERIVADAS COORDENADAS NATURAIS
N=1/4*[ (1-xi)*(1-eta);(1+xi)*(1-eta);
(1+xi)*(1+eta);(1-xi)*(1+eta)];
dNdxi=1/4*[-(1-eta), -(1-xi);1-eta,
-(1+xi);
1+eta,
1+xi;-(1+eta),
1-xi];
J0=node(indice,:)*dNdxi;
invJ0=inv(J0);
dNdx=dNdxi*invJ0;
% CORTE
B_s1=zeros(2,7*nn);
B_s1(1,1:nn)
=
B_s1(2,1:nn)
=
B_s1(1,nn+1:2*nn) =
B_s1(2,2*nn+1:3*nn)=

dNdx(:,1);
dNdx(:,2);
N;
N;

B_s2=zeros(2,7*nn);
B_s2(1,1:nn)
=
B_s2(2,1:nn)
=
B_s2(1,3*nn+1:4*nn)
B_s2(2,4*nn+1:5*nn)=

dNdx(:,1);
dNdx(:,2);
= N;
N;

B_s3=zeros(2,7*nn);
B_s3(1,1:nn)
=
B_s3(2,1:nn)
=
B_s3(1,5*nn+1:6*nn)
B_s3(2,6*nn+1:7*nn)=

dNdx(:,1);
dNdx(:,2);
= N;
N;

234
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257

13 Uma teoria layerwise


%
K(indiceB,indiceB)=K(indiceB,indiceB)+B_s1*h1*C1s*B_s1*W(q)*det(J0);
K(indiceB,indiceB)=K(indiceB,indiceB)+B_s2*h2*C2s*B_s2*W(q)*det(J0);
K(indiceB,indiceB)=K(indiceB,indiceB)+B_s3*h3*C3s*B_s3*W(q)*det(J0);
end
end
% BC
fixedNodeW =find(yy==max(node(:,2))|xx==min(node(:,1))...
|xx==max(node(:,1))|yy==min(node(:,2)));
%next two lines: simply supported case
fixedNodeTX1 =find(yy==max(node(:,2))|yy==min(node(:,2)));
fixedNodeTY1 =find(xx==max(node(:,1))| xx==min(node(:,1)));
fixedNodeTX2 =find(yy==max(node(:,2))|yy==min(node(:,2)));
fixedNodeTY2 =find(xx==max(node(:,1))| xx==min(node(:,1)));
fixedNodeTX3 =find(yy==max(node(:,2))|yy==min(node(:,2)));
fixedNodeTY3 =find(xx==max(node(:,1))| xx==min(node(:,1)));
%next two lines: clamped case
% fixedNodeTX1 =fixedNodeW;
% fixedNodeTY1 =fixedNodeTX1;
% fixedNodeTX2 =fixedNodeTX1;
% fixedNodeTY2 =fixedNodeTX1;
% fixedNodeTX3 =fixedNodeTX1;
% fixedNodeTY3 =fixedNodeTX1;
% condicoes fronteira
dofs=[fixedNodeW;fixedNodeTX1+numnode;fixedNodeTY1+2*numnode;...
fixedNodeTX2+3*numnode;fixedNodeTY2+4*numnode; ...
fixedNodeTX3+5*numnode;fixedNodeTY3+6*numnode];
activeDof=setdiff([1:7*numnode],[dofs]);
U=K([activeDof],[activeDof])\f([activeDof]);
U1=zeros(7*numnode,1);
U1(activeDof)=U;
U=U1;
ws=1:numnode;
D1=E0*thickness^3/12/(1-nu0^2);
format long
%min(U1(ws))*D1/L^4% normalizacao para solucao de placa fina
figure (1)
plot3(xx,yy,U(ws),.)
min(U1(ws))*0.999781/thickness% srinivas
%ua=0.999781/h*ua;

13.2 Laminado sandwich com 3 camadas


258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306

235

%%%% ..............................
% tensoes normais
stress_camada1=zeros(numelem,4,3);
stress_camada2=zeros(numelem,4,3);
stress_camada3=zeros(numelem,4,3);
% quadratura de 2 pontos
Q=[ -0.577350269189626 -0.577350269189626;
0.577350269189626 -0.577350269189626;
0.577350269189626 0.577350269189626;
-0.577350269189626 0.577350269189626];
W=[ 1;1;1;1];
for e=1:numelem
indice=element(e,:);
indiceB=[ indice indice+numnode indice+2*numnode ...
indice+3*numnode indice+4*numnode indice+5*numnode indice+6*numnode];
nn=length(indice);
for q=1:size(W,1)
% CICLO QUADRATURA
pt=Q(q,:);
% PONTO
wt=W(q);
% PESO
xi=pt(1);
eta=pt(2);
% FUNCOES DE FORMA E DERIVADAS COORDENADAS NATURAIS
N=1/4*[ (1-xi)*(1-eta);(1+xi)*(1-eta);
(1+xi)*(1+eta);(1-xi)*(1+eta)];
dNdxi=1/4*[-(1-eta), -(1-xi);1-eta,
-(1+xi);
1+eta,
1+xi;-(1+eta),
1-xi];
J0=node(indice,:)*dNdxi;
invJ0=inv(J0);
dNdx=dNdxi*invJ0;
% MATRIZ B
% FLEXAO
B_b1=zeros(3,7*nn);
B_b1(1,nn+1:2*nn)
B_b1(2,2*nn+1:3*nn)
B_b1(3,nn+1:2*nn)
B_b1(3,2*nn+1:3*nn)

% MATRIZ JACOBIANA

B_b2=zeros(3,7*nn);
B_b2(1,3*nn+1:4*nn)
B_b2(2,4*nn+1:5*nn)
B_b2(3,3*nn+1:4*nn)
B_b2(3,4*nn+1:5*nn)

=
=
=
=

=
=
=
=

dNdx(:,1);
dNdx(:,2);
dNdx(:,2);
dNdx(:,1);

dNdx(:,1);
dNdx(:,2);
dNdx(:,2);
dNdx(:,1);

236
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355

13 Uma teoria layerwise

B_b3=zeros(3,7*nn);
B_b3(1,5*nn+1:6*nn)
B_b3(2,6*nn+1:7*nn)
B_b3(3,5*nn+1:6*nn)
B_b3(3,6*nn+1:7*nn)

=
=
=
=

dNdx(:,1);
dNdx(:,2);
dNdx(:,2);
dNdx(:,1);

% membrana - FLEXAO
B_mb3=zeros(3,7*nn);
B_mb3(1,3*nn+1:4*nn)
B_mb3(2,4*nn+1:5*nn)
B_mb3(3,3*nn+1:4*nn)
B_mb3(3,4*nn+1:5*nn)

=
=
=
=

h2/2*dNdx(:,1);
h2/2*dNdx(:,2);
h2/2*dNdx(:,2);
h2/2*dNdx(:,1);

B_mb3(1,5*nn+1:6*nn)
B_mb3(2,6*nn+1:7*nn)
B_mb3(3,5*nn+1:6*nn)
B_mb3(3,6*nn+1:7*nn)

=
=
=
=

h3/2*dNdx(:,1);
h3/2*dNdx(:,2);
h3/2*dNdx(:,2);
h3/2*dNdx(:,1);

B_mb1=zeros(3,7*nn);
B_mb1(1,nn+1:2*nn)
B_mb1(2,2*nn+1:3*nn)
B_mb1(3,nn+1:2*nn)
B_mb1(3,2*nn+1:3*nn)

=
=
=
=

-h1/2*dNdx(:,1);
-h1/2*dNdx(:,2);
-h1/2*dNdx(:,2);
-h1/2*dNdx(:,1);

B_mb1(1,3*nn+1:4*nn)
B_mb1(2,4*nn+1:5*nn)
B_mb1(3,3*nn+1:4*nn)
B_mb1(3,4*nn+1:5*nn)

=
=
=
=

-h2/2*dNdx(:,1);
-h2/2*dNdx(:,2);
-h2/2*dNdx(:,2);
-h2/2*dNdx(:,1);

stress_camada3(e,q,:)=C3b*B_mb3*U(indiceB)+h3/2*C3b*B_b3*U(indiceB);
stress_camada2(e,q,:)=C3b*B_mb3*U(indiceB)-h3/2*C3b*B_b3*U(indiceB);
stress_camada1(e,q,:)=h2/2*C2b*B_b2*U(indiceB);
end
end
% of element loop

%%%% ..............................
% tensoes de corte
shear_camada1=zeros(numelem,1,2);
shear_camada2=zeros(numelem,1,2);
shear_camada3=zeros(numelem,1,2);
% quadratura de 1 ponto

13.2 Laminado sandwich com 3 camadas


356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404

237

Q=[0 0];
W=[4];

for e=1:numelem
indice=element(e,:);
indiceB=[ indice indice+numnode indice+2*numnode ...
indice+3*numnode indice+4*numnode indice+5*numnode indice+6*numnode];
nn=length(indice);
for q=1:size(W,1)
pt=Q(q,:);
wt=W(q);
xi=pt(1);
eta=pt(2);
% FUNCOES DE FORMA E DERIVADAS COORDENADAS NATURAIS
N=1/4*[ (1-xi)*(1-eta);(1+xi)*(1-eta);
(1+xi)*(1+eta);(1-xi)*(1+eta)];
dNdxi=1/4*[-(1-eta), -(1-xi);1-eta,
-(1+xi);
1+eta,
1+xi;-(1+eta),
1-xi];
J0=node(indice,:)*dNdxi;
invJ0=inv(J0);
dNdx=dNdxi*invJ0;
% CORTE
B_s1=zeros(2,7*nn);
B_s1(1,1:nn)
=
B_s1(2,1:nn)
=
B_s1(1,nn+1:2*nn) =
B_s1(2,2*nn+1:3*nn)=

dNdx(:,1);
dNdx(:,2);
N;
N;

B_s2=zeros(2,7*nn);
B_s2(1,1:nn)
=
B_s2(2,1:nn)
=
B_s2(1,3*nn+1:4*nn)
B_s2(2,4*nn+1:5*nn)=

dNdx(:,1);
dNdx(:,2);
= N;
N;

B_s3=zeros(2,7*nn);
B_s3(1,1:nn)
=
B_s3(2,1:nn)
=
B_s3(1,5*nn+1:6*nn)
B_s3(2,6*nn+1:7*nn)=

dNdx(:,1);
dNdx(:,2);
= N;
N;

shear_camada1(e,q,:)=C1s*B_s1*U(indiceB);
shear_camada2(e,q,:)=C2s*B_s2*U(indiceB);

238
405
406
407
408
409
410
411
412

13 Uma teoria layerwise


shear_camada3(e,q,:)=C3s*B_s3*U(indiceB);
end
end
% of element loop
format
[ abs(min(U1(ws))*0.999781/thickness), abs(min(stress_camada3(:,3,1))),...
abs(min(stress_camada2(:,3,1))), abs(min(stress_camada1(:,3,1))),...
max(shear_camada2(:,:,1)),max(shear_camada1(:,:,1))]

14
Teoria de placa de primeira ordem para
laminados

14.1 Introduc
ao
Considera-se aqui teoria de deformacao de corte de primeira ordem, que necessita de factor de correcc
ao de corte, para a analise de laminados compositos.
14.1.1 Campo de deslocamentos
Considere-se a teoria de placa de primeira ordem de Mindlin, onde o deslocamento transversal w e constante atraves da espessura da placa, na forma

u(x, y, z) = u0 (x, y) + zx (x, y)


v(x, y, z) = v0 (x, y) + zy (x, y)
w(x, y, z) = w0 (x, y)

(14.1)

onde x , y s
ao as rotac
oes de primeira ordem. Os deslocamentos do plano
medio s
ao u0 , v0 , w0 , segundo os tres eixos coordenados.
14.1.2 Campo de deforma
c
oes
Podemos encontrar as deformacoes pelas relacoes deformacao-deslocamento,
na forma

240

14 Teoria de placa de primeira ordem para laminados

xx

yy u v
xy =
+

y
x

xz

yz
u w

z + x

v w

+
z
y

(14.2)

ou por
m
f
xx
xx

xx

 = yy = m
+ z fyy
yy

xy

xy
xy

(0)
 
xz

xz
=
=
yz

(0)

yz
onde as componentes de deformacao sao descritas por

u0
x

m
f

x
x




xx
xx

0
y
m
f
yy =
; yy =
y
y

xy

xy
v

0
y
0
x

+
+

y
x
y
x
(14.5)

0 =

(0)

xz

(0)

yz

(14.6)

0 + x

0 + y
y

(14.3)

(14.4)

14.1 Introduc
ao

241

Tendo em conta a abordagem de placa, ou seja, desprezando a tensao


normal transversa, z , podem definir-se as relacoes tensao-deformacao

E
E

0
2
1 2

x
x

E
E
y
= y
=
= D
(14.7)
0

2
2
xy
1 1
xy

0
0
G

=

xz
yz

K1 G 0
=
0 K2 G



xz
yz


= Dc

(14.8)

Note-se que nesta teoria sao necessarios os factores de correccao de corte,


K1 , K 2 .
Nas interfaces das camadas exige-se a continuidade das tensoes de corte
transverso, sendo que a deformacao de corte transverso e considerada constante na teoria de placa de priomeira ordem ( o que e uma aproximacao
grosseira para a evoluc
ao parabolica).
Assumindo uma placa livre de tensoes tangenciais, pode escrever-se a
equac
ao de equilibrio na direccao x
xy
xz
x
+
+
=0
x
y
z

(14.9)

Assumindo flex
ao cilindrica,
Z

xz =
h/2

x
dz =
x

h/2

Qx
Mx D1 (z)
zdz =
x R1
R1

Qx
g(z)
R1
(14.10)

D1 (z)zdz =
h/2

h/2

onde Qx representa a forca de corte no plano xz; R1 =

D1 (z)z 2 dz

h/2

representa a rigidezZda placa na direccao x; z e a coordenada atraves da


z
espessura; g(z) =
D1 (z)zdz representa a funcao de forma do corte.
h/2

Esta func
ao g(z) que representa o diagrama da tensao de corte torna-se a
func
ao parab
olica g(z) = [D1 h2 /8][1 4(z/h)2 ] para seccoes homogeneas.
A componente de energia de deformacao e dada por
Z

h/2

ws =
h/2

2
Q2
xz
dz = x2
G13 (z)
R1

h/2

h/2

g 2 (z)
dz
G13 (z)

(14.11)

242

14 Teoria de placa de primeira ordem para laminados

onde G13 (z) e o m


odulo de corte, variavel atraves da espessura, no plano
xz. Supondo energia de deformacao de corte constante, a componente de deformac
ao e dada por
Z

h/2

ws =

xz G13 (z) xz dz =
h/2

onde
Z

Q2x

2 hG1
h2 G 1

Q2x
hG1

(14.12)

h/2

hG1 =

G13 (z)dz

(14.13)

h/2

entao agora possvel


e onde xz e o valor medio das deformacoes de corte. E
calcular o factor de correccao de corte transverso k1 no plano xz na forma
k1 =

ws
=
ws

R12
Z

(14.14)

h/2
2

g (z)/G13 (z)dz

hG1
h/2

Para o factor k2 procede-se de forma identica. Esta formulacao para calculo


dos factores de correcc
ao de corte foi inicialmente apresentada por Joaquim
Figueiras na sua tese de doutoramento [3].

14.2 Matriz de rigidez


Tomando a matriz de rigidez, a partir da energia de deformacao, podemos
escrever
Z
1
U=
T + T dV
(14.15)
2 V
ou

U=

1
2

h
i
iT
 m
T 
 h
 + zf D m + zf + (0) Dc (0) dV

(14.16)

Substituindo as deformacoes e as tensoes nesta expressao da energia, obtemos ent


ao a matriz de rigidez do elemento, na forma
(e)

(e)
K(e) = K(e)
mm + Kf f + Kcc
(e)

(14.17)
(e)

onde Kmm representa a matriz de rigidez de membrana, Kf f representa a


(e)

matriz de rigidez de flex


ao com termos de primeira ordem, Kcc representa a
matriz de rigidez de corte. De seguida apresentam-se todas essas componentes
da matriz de rigidez.

14.3 Matrizes de deformac


ao-deslocamento B

K(e)
mm

Z Z

h/2

Tm dzdA

=
A

Z Z

h/2

Tm Dm dzdA

h/2

Tm Dm dA

=h

h/2

243

(14.18)

(e)

Kf f =

Z Z
A

h/2

zTf dzdA =

h/2

Z Z
A

h/2

z 2 Tf Df dzdA =

h/2

h3
12

Tf Df dA

(14.19)
K(e)
cc =

Z Z
A

h/2

T0 Dc 0 dzdA = h

h/2

T0 Dc 0 dA

(14.20)

14.3 Matrizes de deformac


ao-deslocamento B
Em func
ao das componentes da matriz de rigidez, e possvel construir as
matrizes de deformac
ao-deslocamento B, nas componentes de membrana

N
0
0
0
0
x

(e)
0 0 0
(14.21)
Bm
= 0

N N
000
y x
de flex
ao de primeira ordem

(e)

Bf

e de corte
(e)

Bc0

0 0 0

= 0 0 0

000

N
x

N N
y x

N
0
0
N
0

N
00
0 N
y

(14.22)

(14.23)

Por simplicidade (seguramente com custos computacionais superiores),


optou-se por construir todas as matrizes com 5 colunas, correspondentes a 5
graus de liberdade, ou seja, uT = [u0 , v0 , w0 , x , y ]. Naturalmente seria mais
adequado construir matrizes mais pequenas e afectar os graus de liberdade

244

14 Teoria de placa de primeira ordem para laminados

adequados no processo de assemblagem. Deixa-se ao leitor a interpretacao do


c
odigo, sendo de notar a organizacao dos graus de liberdade (para aproveitar
a compactac
ao do MATLAB), na forma
uT = [w1 wN , x1 xN , y1 yN , u1 uN , v1 vN ]

(14.24)

14.4 Laminado sandwich com 3 camadas


Considera-se um laminado sandwich com tres camadas, simplesmente apoiado
em todos os bordos, sob carga uniforme transversal. Este exemplo, formulado
por Srinivas [131], considera as seguintes propriedades materiais para o n
ucleo

0.999781 0.231192
0
0
0
0.231192 0.524886

0
0
0

0
0
0.262931
0
0
Qcore =

0
0
0
0.266810
0
0
0
0
0
0.159914
As propriedades materiais das peles sao obtidas das do n
ucleo multiplicandoas por um factor R:
Qskin = RQcore
Neste exemplo, normalizam-se os resultados na forma

w = w(a/2, a/2, 0)

0.999781
hq

(1)

(1)

(2)

1x =

x (a/2, a/2, h/2) 2


x (a/2, a/2, 2h/5)
x (a/2, a/2, 2h/5)
; x =
; 3x =
q
q
q

1y =

y (a/2, a/2, h/2) 2


y (a/2, a/2, 2h/5)
y (a/2, a/2, 2h/5)
y =
; 3y =
q
q
q

(1)

(2)

1xz =

(1)

(2)

(2)

xz (0, a/2, 0) 2
xz (0, a/2, 2h/5)
; xz =
q
q

Para diferentes valores de R, apresentam-se nas tabelas seguintes os resultados na forma de deslocamentos transversais, tensoes normais e tensoes
de corte transverso. Comparam-se os resultados com os obtidos por solucoes
analiticas de terceira ordem de Pandya [129], uma formulacao de elementos
finitos de casca de primeira ordem de Ferreira [126] e com uma formulacao
sem malha de Ferreira e colegas [103]. A qualidade da formulacao presente e
evidente, `
a excepc
ao das tensoes de corte transverso.
Regista-se a necessidade de corrigir posteriormente as tensoes de corte
transverso, na forma

14.4 Laminado sandwich com 3 camadas


cor
13 xz g(z)
xz
=G
g

245

(14.25)

onde
Z

h/2

g =

g(z)dz

(14.26)

h/2

Em alternativa, haveria que calcular as tensoes de corte transverso atraves


das equac
oes de equilibrio.
Metodo
HSDT [129]
FSDT [129]
CLT
Ferreira [126]
Ferreira (N=15) [103]
exacto [131]
HSDT [127] (N=11)
HSDT [127] (N=15)
HSDT [127] (N=21)
presente (4 4 elementos Q4)
presente (10 10 elementos Q4)
presente (20 20 elementos Q4)

w
256.13
236.10
216.94
258.74
257.38
258.97
253.6710
256.2387
257.1100
260.0321
259.3004
259.2797

1x
62.38
61.87
61.141
59.21
58.725
60.353
59.6447
60.1834
60.3660
54.6108
58.4403
58.9507

2x
46.91
49.50
48.623
45.61
46.980
46.623
46.4292
46.8581
47.0028
43.6887
46.7523
47.1606

3x
9.382
9.899
9.783
9.122
9.396
9.340
9.2858
9.3716
9.4006
8.7377
9.3505
9.4321

1xz
3.089
3.313
4.5899
3.593
3.848
4.3641
3.8449
4.2768
4.5481
2.3922
2.9841
3.1980

2xz
2.566
2.444
3.386
3.593
2.839
3.2675
1.9650
2.2227
2.3910
11.9608
14.9207
15.9902

Tabela 14.1. Placa quadrada sandwich sob press


ao uniforme- R = 5

Metodo
HSDT [129]
FSDT [129]
CLT
Ferreira [126]
Ferreira (N=15) [103]
exacto [131]
HSDT [127] (N=11)
HSDT[127] (N=15)
HSDT[127] (N=21)
presente (4 4 elementos Q4)
presente (10 10 elementos Q4)
presente (20 20 elementos Q4)

w
152.33
131.095
118.87
159.402
158.55
159.38
153.0084
154.2490
154.6581
162.2395
159.9120
159.6820

1x
64.65
67.80
65.332
64.16
62.723
65.332
64.7415
65.2223
65.3809
58.1236
62.3765
62.9474

2x
51.31
54.24
48.857
47.72
50.16
48.857
49.4716
49.8488
49.9729
46.4989
49.9012
50.3580

3x
5.131
4.424
5.356
4.772
5.01
4.903
4.9472
4.9849
4.9973
4.6499
4.9901
5.0358

1xz
3.147
3.152
4.3666
3.518
3.596
4.0959
2.7780
3.1925
3.5280
1.5126
1.8995
2.0371

2xz
2.587
2.676
3.7075
3.518
3.053
3.5154
1.8207
2.1360
2.3984
15.1261
18.9954
20.3713

Tabela 14.2. Placa quadrada sandwich sob press


ao uniforme- R = 10

246

14 Teoria de placa de primeira ordem para laminados

Metodo
HSDT [129]
FSDT [129]
CLT
Ferreira [126]
Ferreira (N=15) [103]
exact [131]
Third-order [127] (N=11)
Third-order [127] (N=15)
Third-order [127] (N=21)
presente (4 4 elementos Q4)
presente (10 10 elementos Q4)
presente (20 20 elementos Q4)

w
110.43
90.85
81.768
121.821
121.184
121.72
113.5941
114.3874
114.6442
125.2176
122.3318
122.0283

1x
66.62
70.04
69.135
65.650
63.214
66.787
66.3646
66.7830
66.9196
58.4574
62.8602
63.4574

2x
51.97
56.03
55.308
47.09
50.571
48.299
49.8957
50.2175
50.3230
46.7659
50.2881
50.7659

3x
3.465
3.753
3.687
3.140
3.371
3.238
3.3264
3.3478
3.3549
3.1177
3.3525
3.3844

1xz
3.035
3.091
4.2825
3.466
3.466
3.9638
2.1686
2.6115
3.0213
1.0975
1.3857
1.4872

2xz
2.691
2.764
3.8287
3.466
3.099
3.5768
1.5578
1.9271
2.2750
16.4621
20.7849
22.3084

Tabela 14.3. Placa quadrada sandwich sob press


ao uniforme - R = 15

Apresenta-se o c
odigo (placaFSDTQ4DOF5SRINIVAS.m) para a solucao de
problemas de placa laminada encastrada ou simplesmente apoiada, recorrendo
a teoria de placa de primeira ordem (exemplo de Srinivas).
`
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27

colordef white
tic
% propriedades material
E0 = 10920; % mdulo Young
nu0 = 0.30; % coef. Poisson
rho=1;
% geometria
L = 1;
% lado
thickness=0.1;
I=thickness^3/12;
%carga
P=-1;
numy
= 20;
% # elementos em xx
numx
= 20;
% # elementos em xx
%%% SRINIVAS EXAMPLE
dd=zeros(2);d=zeros(3);
% factor de multiplicacao de propriedades materiais
rf=15;
h=thickness;
% matrix [D]
dmat(1,1)=0.999781;dmat(1,2)=0.231192;
dmat(2,1)=0.231192;dmat(2,2)=0.524886;
dmat(1,3)=0;dmat(3,1)=0;dmat(2,3)=0;dmat(3,2)=0;
dmat(3,3)=0.262931;dm(1,1)=0.26681;dm(2,2)=0.159914;

14.4 Laminado sandwich com 3 camadas


28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76

nc=3; ttt=0;ttt1=0; th(1)=ttt;th(2)=ttt1;th(3)=ttt1;


z1(1)=-2*h/5;z1(2)=2*h/5;z1(3)=h/2;
z2(1)=-h/2;z2(2)=-2*h/5;z2(3)=2*h/5;
thick(1:nc)=z1(1:nc)-z2(1:nc);
% coefe: factores de correccao ao corte (k1 e k2)
coefe(1:2)=0.0;gbarf(1:2)=0.0;rfact(1:2)=0.0;
sumla(1:2)=0.0;trlow(1:2)=0.0;upter(1:2)=0.0;
% posicao do eixo neutro de flexao...............................
dsumm=0.0;
for ilayr=1:nc
dzeta=z1(ilayr)-z2(ilayr);
zheig=dsumm+dzeta/2.0;
for i=1:2
dindx(i)=rf*dmat(i,i);
if(ilayr==2)
dindx(i)=dmat(i,i);
end
upter(i)=upter(i)+dindx(i)*zheig*dzeta;
trlow(i)=trlow(i)+dindx(i)*dzeta;
end
dsumm = dsumm+dzeta;
end
zeta2(1:2)=-upter(1:2)./trlow(1:2);
% calculo dos factores de correccao ao corte.
for

ilayr=1:nc
diff1=z1(ilayr)-z2(ilayr);
d1=rf*dmat(1,1);
d2=rf*dmat(2,2);
d3=rf*dm(1,1);
d4=rf*dm(2,2);
if(ilayr==2)
d1=dmat(1,1);
d3=dm(1,1);
d4=dm(2,2);
d2=dmat(2,2);
end
index=10;
for i=1:2
zeta1(i)=zeta2(i);
zeta2(i)=zeta1(i)+diff1;
diff2(i)=zeta2(i)^2-zeta1(i)^2;

247

248
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125

14 Teoria de placa de primeira ordem para laminados


diff3(i)=zeta2(i)^3-zeta1(i)^3;
diff5(i)=zeta2(i)^5-zeta1(i)^5;
if(i==1)
dindx(i)=d1;
gindx(i)=d3;
else
dindx(i)=d2;
gindx(i)=d4;
end
gbarf(i)=gbarf(i)+gindx(i)*diff1/2.0;
rfact(i)=rfact(i)+dindx(i)*diff3(i)/3.0;
term1
= sumla(i)*sumla(i)*diff1;
term2
= dindx(i)*(zeta1(i)^4)*diff1/4.0;
term3
= dindx(i)*diff5(i)/20.0;
term4
=-dindx(i)*zeta1(i)*zeta1(i)*diff3(i)/6.0;
term5
= sumla(i)*zeta1(i)*zeta1(i)*diff1;
term6
=-sumla(i)*diff3(i)/3.0;
coefe(i)= coefe(i)+(term1+dindx(i)*...
(term2+term3+term4+term5+term6))/gindx(i);
index
= index+1;
sumla(i)= sumla(i)-dindx(i)*diff2(i)/2.0;
end
end
coefe(1:2)=rfact(1:2).*rfact(1:2)./(2.0*gbarf(1:2).*coefe(1:2));
disp(coefe 1, 2)
coefe(1)
coefe(2)
kapa=coefe(1);
a11=0;a22=0;a12=0;a33=0;
for i=1:nc
theta=th(i);
q11=rf*dmat(1,1);q12=rf*dmat(1,2);q22=rf*dmat(2,2);q33=rf*dmat(3,3);
cs=cos(theta);ss=sin(theta);ss11=rf*dm(1,1)*kapa;ss22=rf*dm(2,2)*kapa;
if i==2
q11=dmat(1,1);q12=dmat(1,2);q22=dmat(2,2);q33=dmat(3,3);
cs=cos(theta);ss=sin(theta);
ss11=dm(1,1)*kapa;ss22=dm(2,2)*kapa;
end
dd(1,1)=dd(1,1)+(ss11*cos(theta)^2+ss22*sin(theta)^2)*(z1(i)-z2(i));
dd(2,2)=dd(2,2)+(ss11*sin(theta)^2+ss22*cos(theta)^2)*(z1(i)-z2(i));
d(1,1)=d(1,1)+(q11*cs^4+2*(q12+2*q33)*ss*ss*cs*cs+...
q22*ss^4)*(z1(i)^3-z2(i)^3)/3;
d(2,2)=d(2,2)+(q11*ss^4+2*(q12+2*q33)*ss*ss*cs*cs+...
q22*cs^4)*(z1(i)^3-z2(i)^3)/3;

14.4 Laminado sandwich com 3 camadas


126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174

d(1,2)=d(1,2)+((q11+q22-4*q33)*ss*ss*cs*cs+...
q12*(ss^4+cs^4))*(z1(i)^3-z2(i)^3)/3;
d(3,3)=d(3,3)+((q11+q22-2*q12-2*q33)*ss*ss*cs*cs+...
q33*(ss^4+cs^4))*(z1(i)^3-z2(i)^3)/3;
a11=a11+q11*thick(i);
a22=a22+q22*thick(i);
a33=a22+q33*thick(i);
a12=a12+q12*thick(i);
qbarra(1,1,i)=q11;
qbarra(1,2,i)=q12;
qbarra(2,2,i)=q22;
qbarra(3,3,i)=q33;
qbarra(4,4,i)=ss11;
qbarra(5,5,i)=ss22;
end %nc
A44=dd(2,2);
A55=dd(1,1);
D11=d(1,1);
D12=d(1,2);
D22=d(2,2);
D66=d(3,3);
A11=a11;
A12=a12;
A66=a33;
A22=a22;
AMatrix=[A11,A12,0;A12,A22,0;0,0,A66]
%srinivas case (su+ymmetric)
BMatrix=zeros(3);
%BMatrix=[B11,B12,0;B12,B22,0;0,0,B66]
DMatrix=[D11,D12,0;D12,D22,0;0,0,D66]
SMatrix=[A44,0;0,A55]
%malha
[node, element] = MalhaRectangular(L, L, numx, numy);
%
xx=node(:,1);
yy=node(:,2);
numnode=size(node,1);
% numero nos
numelem=size(element,1); % numero elementos
% inicializacao
K=zeros(5*numnode,5*numnode); % matriz de rigidez
M=zeros(5*numnode,5*numnode); % matriz de massa
f=zeros(5*numnode,1); % vector de carga
U=zeros(5*numnode,1); % vector de deslocamentos

249

250
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223

14 Teoria de placa de primeira ordem para laminados

% calculo de MATRIZ DE RIGIDEZ


% quadratura de 2 pontos
Q=[ -0.577350269189626 -0.577350269189626;
0.577350269189626 -0.577350269189626;
0.577350269189626 0.577350269189626;
-0.577350269189626 0.577350269189626];
W=[ 1;1;1;1];
% rigidez de flexao
for e=1:numelem
indice=element(e,:);
indiceB=[ indice indice+numnode indice+2*numnode ...
indice+3*numnode indice+4*numnode];
nn=length(indice);
for q=1:size(W,1)
% CICLO QUADRATURA
pt=Q(q,:);
% PONTO
wt=W(q);
% PESO
xi=pt(1);
eta=pt(2);
% FUNCOES DE FORMA E DERIVADAS COORDENADAS NATURAIS
N=1/4*[ (1-xi)*(1-eta);(1+xi)*(1-eta);
(1+xi)*(1+eta);(1-xi)*(1+eta)];
dNdxi=1/4*[-(1-eta), -(1-xi);1-eta,
-(1+xi);
1+eta,
1+xi;-(1+eta),
1-xi];
J0=node(indice,:)*dNdxi;
invJ0=inv(J0);
dNdx=dNdxi*invJ0;

% MATRIZ JACOBIANA

% MATRIZ B
% FLEXAO 0
B_b=zeros(3,5*nn);
B_b(1,nn+1:2*nn)
B_b(2,2*nn+1:3*nn)
B_b(3,nn+1:2*nn)
B_b(3,2*nn+1:3*nn)

=
=
=
=

dNdx(:,1);
dNdx(:,2);
dNdx(:,2);
dNdx(:,1);

B_m=zeros(3,5*nn);
B_m(1,3*nn+1:4*nn)
B_m(2,4*nn+1:5*nn)
B_m(3,3*nn+1:4*nn)
B_m(3,4*nn+1:5*nn)

=
=
=
=

dNdx(:,1);
dNdx(:,2);
dNdx(:,2);
dNdx(:,1);

% RIGIDEZ E MASSA NO PONTO DE QUADRATURA


K(indiceB,indiceB)=K(indiceB,indiceB)+...
B_b*DMatrix*B_b*W(q)*det(J0);

14.4 Laminado sandwich com 3 camadas


224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272

251

K(indiceB,indiceB)=K(indiceB,indiceB)+...
B_m*AMatrix*B_m*W(q)*det(J0);
K(indiceB,indiceB)=K(indiceB,indiceB)+...
B_m*BMatrix*B_b*W(q)*det(J0);
K(indiceB,indiceB)=K(indiceB,indiceB)+...
B_b*BMatrix*B_m*W(q)*det(J0);

% VECTOR DE CARGA NO PONTO DE QUADRATURA


f(indice)=f(indice)+N*P*det(J0)*wt;
end
end
% MATRIZ DE RIGIDEZ (CORTE)
% quadratura de 1 ponto
Q=[0 0];
W=[4];
for e=1:numelem
indice=element(e,:);
indiceB=[ indice indice+numnode indice+2*numnode indice+3*numnode...
indice+4*numnode ];
nn=length(indice);
for q=1:size(W,1)
pt=Q(q,:);
wt=W(q);
xi=pt(1);
eta=pt(2);
% FUNCOES DE FORMA E DERIVADAS COORDENADAS NATURAIS
N=1/4*[ (1-xi)*(1-eta);(1+xi)*(1-eta);
(1+xi)*(1+eta);(1-xi)*(1+eta)];
dNdxi=1/4*[-(1-eta), -(1-xi);1-eta,
-(1+xi);
1+eta,
1+xi;-(1+eta),
1-xi];
J0=node(indice,:)*dNdxi;
invJ0=inv(J0);
dNdx=dNdxi*invJ0;
% CORTE
B_s=zeros(2,5*nn);
B_s(1,1:nn)
=
B_s(2,1:nn)
=
B_s(1,nn+1:2*nn) =
B_s(2,2*nn+1:3*nn)=

dNdx(:,1);
dNdx(:,2);
N;
N;

K(indiceB,indiceB)=K(indiceB,indiceB)+...
B_s*SMatrix*B_s*W(q)*det(J0);

252
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321

14 Teoria de placa de primeira ordem para laminados


end
end
% BC
fixedNodeW =find(yy==max(node(:,2))|xx==min(node(:,1))...
|xx==max(node(:,1))|yy==min(node(:,2)));
%next two lines: simply supported case
fixedNodeTX =find(yy==max(node(:,2))|yy==min(node(:,2)));
fixedNodeTY =find(xx==max(node(:,1))| xx==min(node(:,1)));
fixedNodeU =find(xx==min(node(:,1)));
fixedNodeV =find(yy==min(node(:,2)));
%next two lines: clamped case
% fixedNodeTX =fixedNodeW;
% fixedNodeTY =fixedNodeTX;
% fixedNodeU =fixedNodeTX;
% fixedNodeV =fixedNodeTX;
% condicoes fronteira
dofs=[fixedNodeW;fixedNodeTX+numnode;fixedNodeTY+2*numnode;...
fixedNodeU+3*numnode;fixedNodeV+4*numnode];
activeDof=setdiff([1:5*numnode],[dofs]);
U=K([activeDof],[activeDof])\f([activeDof]);
U1=zeros(5*numnode,1);
U1(activeDof)=U;
U=U1;
ws=1:numnode;
D1=E0*thickness^3/12/(1-nu0^2);
format long
%min(U1(ws))*D1/L^4% normalizacao para solucao de placa fina
min(U1(ws))*0.999781/h% normalizacao para solucao de SRINIVAS
figure (1)
plot3(xx,yy,U(ws),.)

%%%% ..............................
% tensoes normais
stress_camada1=zeros(numelem,4,3);
stress_camada2=zeros(numelem,4,3);
stress_camada3=zeros(numelem,4,3);
% quadratura de 2 pontos
Q=[ -0.577350269189626 -0.577350269189626;
0.577350269189626 -0.577350269189626;
0.577350269189626 0.577350269189626;
-0.577350269189626 0.577350269189626];

14.4 Laminado sandwich com 3 camadas


322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370

253

W=[ 1;1;1;1];
for e=1:numelem
indice=element(e,:);
indiceB=[ indice indice+numnode indice+2*numnode ...
indice+3*numnode indice+4*numnode];
nn=length(indice);
for q=1:size(W,1)
% CICLO QUADRATURA
pt=Q(q,:);
% PONTO
wt=W(q);
% PESO
xi=pt(1);
eta=pt(2);
% FUNCOES DE FORMA E DERIVADAS COORDENADAS NATURAIS
N=1/4*[ (1-xi)*(1-eta);(1+xi)*(1-eta);
(1+xi)*(1+eta);(1-xi)*(1+eta)];
dNdxi=1/4*[-(1-eta), -(1-xi);1-eta,
-(1+xi);
1+eta,
1+xi;-(1+eta),
1-xi];
J0=node(indice,:)*dNdxi;
invJ0=inv(J0);
dNdx=dNdxi*invJ0;

% MATRIZ JACOBIANA

% MATRIZ B
% FLEXAO 0
B_b=zeros(3,5*nn);
B_b(1,nn+1:2*nn)
B_b(2,2*nn+1:3*nn)
B_b(3,nn+1:2*nn)
B_b(3,2*nn+1:3*nn)

=
=
=
=

dNdx(:,1);
dNdx(:,2);
dNdx(:,2);
dNdx(:,1);

B_m=zeros(3,5*nn);
B_m(1,3*nn+1:4*nn)
B_m(2,4*nn+1:5*nn)
B_m(3,3*nn+1:4*nn)
B_m(3,4*nn+1:5*nn)

=
=
=
=

dNdx(:,1);
dNdx(:,2);
dNdx(:,2);
dNdx(:,1);

stress_camada1(e,q,:)=2*h/5*qbarra(1:3,1:3,2)*B_b*U(indiceB)+...
qbarra(1:3,1:3,2)*B_m*U(indiceB);
stress_camada2(e,q,:)=2*h/5*qbarra(1:3,1:3,3)*B_b*U(indiceB)+...
qbarra(1:3,1:3,3)*B_m*U(indiceB);
stress_camada3(e,q,:)= h/2*qbarra(1:3,1:3,3)*B_b*U(indiceB)+...
qbarra(1:3,1:3,3)*B_m*U(indiceB);
end
end
% of element loop

254
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419

14 Teoria de placa de primeira ordem para laminados


%%%% ..............................
% tensoes de corte
shear_camada1=zeros(numelem,1,2);
shear_camada2=zeros(numelem,1,2);
% quadratura de 1 ponto

Q=[0 0];
W=[4];

for e=1:numelem
indice=element(e,:);
indiceB=[ indice indice+numnode indice+2*numnode...
indice+3*numnode indice+4*numnode];
nn=length(indice);
for q=1:size(W,1)
pt=Q(q,:);
wt=W(q);
xi=pt(1);
eta=pt(2);
% FUNCOES DE FORMA E DERIVADAS COORDENADAS NATURAIS
N=1/4*[ (1-xi)*(1-eta);(1+xi)*(1-eta);
(1+xi)*(1+eta);(1-xi)*(1+eta)];
dNdxi=1/4*[-(1-eta), -(1-xi);1-eta,
-(1+xi);
1+eta,
1+xi;-(1+eta),
1-xi];
J0=node(indice,:)*dNdxi;
invJ0=inv(J0);
dNdx=dNdxi*invJ0;
% CORTE
B_s=zeros(2,5*nn);
B_s(1,1:nn)
=
B_s(2,1:nn)
=
B_s(1,nn+1:2*nn) =
B_s(2,2*nn+1:3*nn)=

dNdx(:,1);
dNdx(:,2);
N;
N;

shear_camada1(e,q,:)=qbarra(4:5,4:5,1)*B_s*U(indiceB);
shear_camada2(e,q,:)=qbarra(4:5,4:5,2)*B_s*U(indiceB);

end
end
% of element loop
format

14.4 Laminado sandwich com 3 camadas


420
421
422

255

[ abs(min(U1(ws))*0.999781/thickness), abs(min(stress_camada3(:,3,1))),...
abs(min(stress_camada2(:,3,1))), abs(min(stress_camada1(:,3,1))),...
max(shear_camada2(:,:,1)),max(shear_camada1(:,:,1))]

15
An
alise de s
olidos tridimensionais

15.1 Introduc
ao
A maior parte dos problemas de engenharia sao tridimensionais. Em muitos
casos n
ao e possvel ou desejavel adoptar as simplificacoes de estado plano
de tens
ao ou outros. Neste captulo realiza-se a analise por elementos finitos
de problemas tridimensionais. Depois de apresentar os principais vectores e
matrizes de interesse para o problema, formulam-se os elementos tetraedrico
de 4 n
os e o elemento hexaedrico de 8 nos.
Neste captulo apresenta-se tambem um programa de elementos finitos em
MATLAB, que serve para resolver o problema duma barra prismatica em
tracc
ao.

15.2 Campo de deslocamentos


O campo de deslocamentos e dado por
uT = [u, v, w]

(15.1)

onde u, v, w s
ao os deslocamentos segundo os tres eixos cartesianos x, y, z.

15.3 Campo de deformac


oes
As deformac
oes s
ao obtidas por derivacao dos deslocamentos, na forma
T = [x ,
onde

y ,

z ,

xy ,

xz ,

yz ]

(15.2)

258

15 An
alise de s
olidos tridimensionais


[x , y , z , xy , xz , yz ] =


u v w u v u w v w
,
,
,
+
,
+
,
+
x y z y
x z
x z
y
(15.3)

ou
 = Bd

(15.4)

onde B representa a chamada matriz de deformacoes, essencial para o calculo


de elementos finitos, que e composta apenas por derivadas. Tendo em conta
a necessidade de transformacoes de eixos naturais e cartesianos, em muitos
casos, como por exemplo em solidos 3D ou em cascas genericas, esta matriz
pode ser de c
alculo complexo e representar uma boa parte da dificuldade do
problema.

15.4 Campo de tens


oes
Tendo em conta um material isotropico, com matriz de elasticidade

0
0
0
1
0
0
0

0
0
0

D=
0
0 0.5
0
0
(1 + )(1 2)
0

0
0
0
0
0.5
0
0
0
0
0
0
0.5

(15.5)

a relac
ao entre tens
oes e deformacoes e dada por
= D

(15.6)

onde
T = [x ,

y ,

z ,

xy ,

xz ,

yz ]

(15.7)

15.5 Elemento tetra


edrico de 4 n
os
Considere-se o elemento tetraedrico de 4 nos conforme ilustrado na figura 15.1.
Considere-se agora o elemento padrao na figura 15.2 onde se definem as funcoes
de forma Lagrangianas N1 , N2 , N3 e N4 , na forma
N1 = ; N2 = ; N3 = ; N4 = 1

(15.8)

Os deslocamentos u, v, w podem agora ser calculados em termos dos deslocamentos nodais

15.5 Elemento tetraedrico de 4 n


os

Figura 15.1. Elemento tetraedrico de 4 n


os

3 (0,0,1)

4 (0,0,0)
2 (0,1,0)

1 (1,0,0)

Figura 15.2. Elemento padr


ao para func
oes de forma

259

260

15 An
alise de s
olidos tridimensionais

U = Nu

(15.9)

onde a matriz de func


oes de forma N e dada por

N1 0 0 N2 0 0 N3 0 0 N4 0 0

(15.10)
N = 0 N1 0 0 N2 0 0 N3 0 0 N4 0

0 0 N1 0 0 N2 0 0 N3 0 0 N4
Note-se que esta matriz de funcoes de forma pode tambem interpolar a geometria da mesma forma que realiza a interpolacao dos deslocamentos (formulacao
isoparametrica).
Assim, podem obter-se as coordenadas
x = N1 x1 + N2 x2 + N3 x3 + N4 x4
y = N 1 y1 + N 2 y2 + N 3 y3 + N 4 y4

(15.11)

z = N 1 z1 + N 2 z2 + N 3 z3 + N 4 z4
Usando agora a notac
ao xij = xi xj , yij = yi yj , zij = zi zj , obtemos
x = x4 + x14 + x24 + x34
y = y4 + y14 + y24 + y34

(15.12)

z = z4 + z14 + z24 + z34


Usando a regra da cadeia para derivadas parciais, por exemplo, para u, obtemos

u
u

u
u

=J
(15.13)

u
u

z
onde a matriz jacobina J da transformacao e expressa por

x y z


x14 y14 z14

x y z

x
y
z
=
(15.14)
J=
24 24 24

x34 y34 z34


x y z

15.5 Elemento tetraedrico de 4 n


os

261

Note-se tambem que


detJ = x14 (y24 z34 y34 z24 ) + y14 (z24 x34 z34 x24 ) + z14 (x24 y34 x34 y24 )
(15.15)
O volume do elemento finito e obtido por
Z Z

1 1 Z 1



Ve =
detJddd
(15.16)
0 0

0
Dado que det J e constante, podemos escrever
Z

Ve = |detJ|
0

ddd

(15.17)

m!n!p!
(m + n + p + 3)!

(15.18)

Usando a f
ormula
Z
0

m n p ddd =

podemos finalmente obter


1
|detJ|
6
Escrevendo uma relac
ao inversa da de (15.13),

u
u

u
u
1
=J

u
u

onde a inversa da matriz jacobiana e expressa por

y24 z34 y34 z24 y34 z14 y14 z34 y14 z24 y24 z14

1
1

z24 x34 z34 x24 z34 x14 z14 x34 z14 x24 z24 x14
J =

detJ

x24 y34 x34 y24 x34 y14 x14 y34 x14 y24 x24 y14
Ve =

(15.19)

(15.20)

(15.21)

Podemos agora obter a matriz de deformacoes B. Chamando A = J1 ,


A11
0

0
B=
0

A
31
A21

0
A21
0
A31
0
A11

0
0
A31
A21
A11
0

A12
0
0
0
A32
A22

0
A22
0
A32
0
A12

0
0
A32
A22
A12
0

A13
0
0
0
A33
A23

0
A23
0
A33
0
A13

0 A1 0
0
0
0 A2 0

A33 0
0 A3

A23 0 A3 A2

A13 A3 0 A1
0 A2 A1 0

(15.22)

262

15 An
alise de s
olidos tridimensionais

onde A1 = A11 + A12 + A13 , A2 = A21 + A22 + A23 , A3 = A31 + A32 + A33 .
Note-se que sendo todos os termos da matriz B constantes, as deformacoes
s
ao portanto constantes no interior do elemento.
15.5.1 Matriz de rigidez
Sendo B e D constantes, a matriz de rigidez e portanto obtida por
1
Ke = BT DBVe = BT DB detJ
6

(15.23)

15.5.2 Vector de for


ca equivalente
O termo do vector de forca equivalente a`s forcas de corpo e o seguinte
Z
Z
NT f detJddd
(15.24)
uT f dV = uT
Ve

Ve

Usando (15.18) pode ent


ao chegar-se a
f=

Ve
[fx , fy , fz , ..., fx , fy , fz ]T
4

(15.25)

cujo vector tem uma dimensao 12 1. Considere-se agora uma traccao uniformemente distribuida na superficie de fronteira, que neste caso e um triangulo.
Tomando A como a
area da superficie onde a forca e aplicada formada pelos
n
os 1, 2 e 3, ent
ao
Te =

Ae
[Tx , Ty , Tz , Tx , Ty , Tz , Tx , Ty , Tz , 0, 0, 0]T
3

(15.26)

15.5.3 C
alculo de tens
oes
Depois de calculados os deslocamentos nodais, podem calcular-se as deformac
oes atraves de  = Bd e as tensoes por
= D = DBd

(15.27)

15.6 Elemento hexa


edrico lagrangiano recto de 8 n
os
As func
oes de forma do elemento hexaedrico lagrangiano recto de 8 nos (B8),
que e um dos elementos 3D mais simples, sao dadas por
1
(1 + i )(1 + i )(1 + i )
(15.28)
8
O c
odigo MATLAB possvel para o calculo das funcoes de forma e suas derivadas em ordem `
as coordenadas naturais , , e apresentado a seguir.
Ni (, , ) =

15.7 Exemplo: Barra em tracc


ao

xi=coord(1); eta=coord(2); zeta=coord(3);


I1=1/2-coord/2;
I2=1/2+coord/2;
N=[
I1(1)*I1(2)*I1(3);
I2(1)*I1(2)*I1(3);
I2(1)*I2(2)*I1(3);
I1(1)*I2(2)*I1(3);
I1(1)*I1(2)*I2(3);
I2(1)*I1(2)*I2(3);
I2(1)*I2(2)*I2(3);
I1(1)*I2(2)*I2(3)
];
dNdxi=[
-1+eta+zeta-eta*zeta
-1+xi+zeta-xi*zeta
1-eta-zeta+eta*zeta
-1-xi+zeta+xi*zeta
1+eta-zeta-eta*zeta
1+xi-zeta-xi*zeta
-1-eta+zeta+eta*zeta
1-xi-zeta+xi*zeta
-1+eta-zeta+eta*zeta
-1+xi-zeta+xi*zeta
1-eta+zeta-eta*zeta
-1-xi-zeta-xi*zeta
1+eta+zeta+eta*zeta
1+xi+zeta+xi*zeta
-1-eta-zeta-eta*zeta
1-xi+zeta-xi*zeta

263

-1+xi+eta-xi*eta;
-1-xi+eta+xi*eta;
-1-xi-eta-xi*eta;
-1+xi-eta+xi*eta;
1-xi-eta+xi*eta;
1+xi-eta-xi*eta;
1+xi+eta+xi*eta;
1-xi+eta-xi*eta ]/8;

15.6.1 Matriz de rigidez


A diferenca fundamental para o elemento tetraedrico prende-se com o calculo
do volume do elemento que precisa de ser calculado numericamente. A express
ao da matriz de rigidez e agora
Ke =

BT DBdetJddd

(15.29)

Este elemento e bastante bom para problemas em que os esforcos de compress


ao ou tracc
ao predominem, mas relativamente pouco preciso em esforcos
de flex
ao.

15.7 Exemplo: Barra em tracc


ao
Considera-se uma barra prismatica (2 2 9) sujeita a traccao uniforme, com
carga tractiva P = 4, encastrada no plano x = 0. O deslocamento na ponta
PL
livre e dado por
, onde L = 9 e o comprimento da barra, E = 160GPa
EA
e o m
odulo de elasticidade do material, = 0.3 representa o coeficiente de
Poisson e A = 2 2 e a
area (constante) da seccao transversal.
Para este problema, com a malha indicada na figura 15.3, o erro e de 2.4%,
o que pode ser considerado satisfatorio, tendo em conta o tipo de elemento e
a malha grosseira usada. Nesta figura apresenta-se a deformada obtida com 3
elementos prism
aticos B8, conforme codigo MATLAB apresentado a seguir.

264

15 An
alise de s
olidos tridimensionais

!2
0

0
2

2
4

4
6
8

!2
!1
0
1
2
3
4

Figura 15.3. Barra prism


atica sujeita `
a tracc
ao uniforme

15.8 Programa para analisar barra 3D em tracc


ao
Apresenta-se o c
odigo (barraTraccao3D.m) para a solucao de problemas tridmensionais, com elementos c
ubicos de 8 nos.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22

% viga 3D em traccao, forca uniforme = 4


% elementqos quadrilateros (cubicos) -B8%
clear
colordef white
state = 0;
tic
% material
E0 = 160;
% modulo de Young, GPa
nu0 = 0.27;
% coef. Poisson
% malha
quadType=GAUSS;
quadOrder=2;
node=[
0.0
0.0 2.0
0.0 2.0
0.0 0.0
3.0 0.0
3.0 2.0

0.0 0.0;
0.0;
2.0;
2.0;
0.0;
0.0;

15.8 Programa para analisar barra 3D em tracc


ao
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71

3.0
3.0
6.0
6.0
6.0
6.0
9.0
9.0
9.0
9.0

2.0
0.0
0.0
2.0
2.0
0.0
0.0
2.0
2.0
0.0

2.0;
2.0;
0.0;
0.0;
2.0;
2.0;
0.0;
0.0;
2.0;
2.0];

element=[1 5 6 2 4 8 7 3;
5 9 10 6 8 12 11 7;
9 13 14 10 12 16 15 11]

plot_mesh(node,element,B8,r-)
numnode=size(node,1);
% # de nos
numelem=size(element,1); % # de elementos
us=1:numnode
vs=us+numnode
ws=vs+numnode

% matriz de elasticidade
C=zeros(6,6);
C(1:3,1:3)=E0/(1+nu0)/(1-2*nu0)*[ 1-nu0
nu0
nu0
C(4:6,4:6)=E0/(1+nu0)*eye(3);

nu0
1-nu0
nu0

%
K=sparse(3*numnode,3*numnode); % matriz de rigidez
f=zeros(3*numnode,1); % vector de carga

%f(13)=1.0;f(14)=1.0;f(15)=1.0;f(16)=1.0;
%f(45)=-1.0;f(46)=-1.0;f(47)=-1.0;f(48)=-1.0;%
f_nodes=find(node(:,1)==9);
f(f_nodes)=1.0;
disp([num2str(toc),

matriz de rigidez])

quadorder=2;n=1;sdim=3;
quadpoint=zeros(quadorder^sdim ,sdim);
quadweight=zeros(quadorder^sdim,1);

nu0;
nu0;
1-nu0 ];

265

266
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120

15 An
alise de s
olidos tridimensionais
r1pt=zeros(quadorder,1); r1wt=zeros(quadorder,1);
r1pt(1) = 0.577350269189626;
r1pt(2) =-0.577350269189626;
r1wt(1) = 1.000000000000000;
r1wt(2) = 1.000000000000000;

for i = 1:quadorder
for j = 1:quadorder
for k = 1:quadorder
quadpoint(n,:) = [ r1pt(i), r1pt(j), r1pt(k) ];
quadweight(n) = r1wt(i)*r1wt(j)*r1wt(k);
n = n+1;
end
end
end
Q=quadpoint;
W=quadweight;

nn=size(element,2);
for e=1:numelem

% ciclo elemento

sctr=element(e,:);
% conectividades
sctrB0=[ sctr sctr+numnode sctr+2*numnode ]; % para matriz B
for q=1:size(W,1)
coord=Q(q,:);
wt=W(q);

% ciclo de quadratura
% ponto de quadratura
% peso de quadratura

xi=coord(1); eta=coord(2); zeta=coord(3);


I1=1/2-coord/2;
I2=1/2+coord/2;
N=[
I1(1)*I1(2)*I1(3);
I2(1)*I1(2)*I1(3);
I2(1)*I2(2)*I1(3);
I1(1)*I2(2)*I1(3);
I1(1)*I1(2)*I2(3);
I2(1)*I1(2)*I2(3);
I2(1)*I2(2)*I2(3);
I1(1)*I2(2)*I2(3)
];
dNdxi=[
-1+eta+zeta-eta*zeta
-1+xi+zeta-xi*zeta
1-eta-zeta+eta*zeta
-1-xi+zeta+xi*zeta
1+eta-zeta-eta*zeta
1+xi-zeta-xi*zeta
-1-eta+zeta+eta*zeta
1-xi-zeta+xi*zeta
-1+eta-zeta+eta*zeta
-1+xi-zeta+xi*zeta

-1+xi+eta-xi*eta;
-1-xi+eta+xi*eta;
-1-xi-eta-xi*eta;
-1+xi-eta+xi*eta;
1-xi-eta+xi*eta;

15.8 Programa para analisar barra 3D em tracc


ao
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169

1-eta+zeta-eta*zeta
1+eta+zeta+eta*zeta
-1-eta-zeta-eta*zeta

J0=node(sctr,:)*dNdxi;
invJ0=inv(J0);
dNdx=dNdxi*invJ0;
detJ0=det(J0);

-1-xi-zeta-xi*zeta
1+xi+zeta+xi*zeta
1-xi+zeta-xi*zeta

267

1+xi-eta-xi*eta;
1+xi+eta+xi*eta;
1-xi+eta-xi*eta ]/8;

% matriz jacobiana

if (detJ0 <= 0)
disp([ERRO: jacobiano negativo no elemento : ,num2str(e)]);
end
% matriz B
B0=zeros(6,3*nn);
B0(1,1:nn)
= dNdx(:,1);B0(2,nn+1:2*nn)
B0(3,2*nn+1:3*nn) = dNdx(:,3);
B0(4,2*nn+1:3*nn) = dNdx(:,2);B0(4,nn+1:2*nn)

= dNdx(:,2);

= dNdx(:,3);

B0(5,1:nn)

= dNdx(:,3);B0(5,2*nn+1:3*nn) = dNdx(:,1);

B0(6,nn+1:2*nn)

= dNdx(:,1);B0(6,1:nn)

= dNdx(:,2);

% rigidez
K(sctrB0,sctrB0)=K(sctrB0,sctrB0)+B0*C*B0*wt*detJ0;
end
end

% quadratura
% elemento

% Condicoes fronteira
disp([num2str(toc),
Condicoes fronteira])
bcwt=mean(diag(K)); % para melhorar o condicionamento
%da matriz de coeficientes
% nos na fronteira de deslocamentos
fixedNodeX=find(node(:,1)==0.0);
fixedNodeY=fixedNodeX;
fixedNodeZ=fixedNodeX;
%
uFixed=zeros(size(fixedNodeX));
vFixed=zeros(size(fixedNodeY));
wFixed=zeros(size(fixedNodeZ));
udofs = fixedNodeX
vdofs = fixedNodeY+numnode;
wdofs =fixedNodeY+2*numnode;

268
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195

15 An
alise de s
olidos tridimensionais

f=f-K(:,udofs)*uFixed; f=f-K(:,vdofs)*vFixed; f=f-K(:,wdofs)*wFixed;


f(udofs)=uFixed;
f(vdofs)=vFixed;
f(wdofs)=wFixed;
K(udofs,:)=0;
K(vdofs,:)=0;
K(wdofs,:)=0;
K(:,udofs)=0;
K(:,vdofs)=0;
K(:,wdofs)=0;
K(udofs,udofs)
=bcwt*speye(length(udofs));
K(vdofs,vdofs)
=bcwt*speye(length(vdofs));
K(wdofs,wdofs)
=bcwt*speye(length(wdofs));

% solucao
disp([num2str(toc),
SOLVING SYSTEM])
U1=K\f;
% deslocamentos
% I=16/12;P=1;
% exacto=P*9^3/3/E0/I;
% disp([num2str(exacto),
flecha exacta])
% disp([num2str(U(48)),
flecha no 13])
I=16/12;P=4;
exacto=P*9/E0/4;
disp([num2str(exacto),
disp([num2str(U1(16)),

displa. exact])
displ. calc.])

plot_mesh(node,element,B8,r.-);
plot_mesh(node+10*[U1(us) U1(vs) U1(ws)],element,B8,b.-);

16
An
alise de cascas com elementos planos

16.1 Introduc
ao
A an
alise de cascas por elementos finitos pode fazer-se atraves de elementos planos ou curvos, diferindo bastante na formulacao e na estrategia de
resoluc
ao.
A soluc
ao de problemas de casca atraves de eleemntos planos consiste na
junc
ao de elementos de estado plano de tensao com elementos de placa. Os
primeiros asseguram a deformacao de membrana enquanto que os segundos
asseguram a contribuic
ao da flexao.
Quando uma casca tem raio de curvatura infinito, torna-se uma placa.
Quando se divide uma casca num n
umero de elementos finitos, cada um destes elementos pode ser uma placa, conforme figura 16.1. A combinacao de elementos planos de tens
ao e elementos de placa compreende os seguintes graus
de liberdade locais: u0 , v 0 para elementos planos e w0 , x0 y0 para elementos de
placa, conforme ilustrado na figura 16.2.

y, v

z, w

x, u

Figura 16.1. Divis


ao duma casca curva em elementos de placa

270

16 An
alise de cascas com elementos planos
y0 , v0
z

y0

z ,w

x0

+
y 0
x0 , u0

y0 , v0

x0

z 0 , w0
x0

=
y 0
x0 , u0

Figura 16.2. Graus de liberdade locais do elemento de casca plana

16.2 Graus de liberdade locais e globais


A relac
ao entre os graus de liberdade locais e globais pode ser expressa na
forma


l11 l12 l13 0 0 0
u
u

v
l
l
l
0
0
0
v

21 22 23

l31 l32 l33 0 0 0 w


w

=
(16.1)
x
x

0 0 0 l11 l12 l13

0 0 0 l11 l12 l13


y
y

z local
0 0 0 l11 l12 l13
z global
ou
dlocal = Tdglobal

(16.2)

onde (z )local representa uma rotacao que pretende simular o facto duma
rotac
ao de flex
ao dum elemento representar uma rotacao segundo o eixo z 0
noutro elemento. Nesta perspectiva, pode escrever-se em termos locais

Km 0 0 dm fm
0 Km 0 df
(16.3)
= ff


0 0 0
z
0
onde os indices m e f representam os termos de membrana e flexao, respectivamente. para cada n
o dum elemento finito de casca de 4 nos, temos de
estabelecer a relac
ao (16.2). Para este elemento temos entao

16.3 C
odigo para soluc
ao de problema de casca plana

T 0
0 T

T=
0 0
0 0

0
0
T
0

0
0

0
T

271

(16.4)

A matriz de rigidez no sistema global e entao obtida atraves de (16.4) e da


matriz de rigidez local, na forma
Kglobal = TT Klocal T

(16.5)

enquanto que o vector de forcas global e obtido por


fglobal = TT flocal

(16.6)

Quando a casca se torna completamente plana, resultando portanto numa


placa, a matriz de rigidez torna-se singular, sendo necessario introduzir um
pequeno escalar em (16.7) para (ficticiamente) resolver o sistema de equacoes,
ficando a equac
ao de equilibrio na forma

Km 0 0 dm fm
0 Km 0 df
(16.7)
= ff

0
z
0 0
onde e um valor pequeno. No codigo que se apresenta a seguir, usamos
= 10e 5.

16.3 C
odigo para soluc
ao de problema de casca plana
Considere-se o exemplo da figura 16.3, onde um casca cilindrica e sujeita a
uma carga distribuida q = 90, correspondente ao peso proprio. Pretende-se
obter o deslocamento em B, comparando-o com a referencia 1 . O deslocamento
no ponto B e e 0.3894 para uma malha de 2 2 elementos e 0.2979 para uma
malha de 4 4 elementos. O valor exacto (da referencia) e 0.3024.
Apresentam-se os c
odigos (MindlinShellEx4elem.m) e rotinas (MindlinShellElem.m)
(ShellDirectionCosines.m) para a solucao de problemas de casca plana (exemplo
da figura 1).
1
2
3
4
5
6
7
8

%
%
%
%
%
%
%
%
1

casca cilidrica, 2 x 2 elementos


h=espessura
e=modulo de elasticidade
nu=coeficiente de Poisson
q1 = pressao segundo xx, q2 e q3 idem, yy e zz
node = coordenadas dos nos (x,y,z)
element = conectividadees (numeros dos nos em elementos)
gdlElemento = numeracao dos graus de liberdade em cada elemento

R. H. MacNeal, R. L. Harder, A proposed standard set of problems to test finite


elements, Finite Elements in Analysis and Design, Vol. 1, 1985, 3-20

272

16 An
alise de cascas com elementos planos
y, v
L=50
R=25
t=0.25
E=4.32e8
=0
q=90

z, w
A
sim
sim
C
B
Livre

D
L
Parede rigida
u = w = s = 0

40
x, u

Figura 16.3. Exemplo de aplicac


ao para elementos de casca plana

9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39

% condFronteira = numeracao dos graus de liberdade prescritos


% K = matriz de rigidez em eixos globais
% R = vector de forcas nodais em eixos globais
h=0.25; e = 4.32*10^8; nu = 0; q1 = 0; q2=0; q3=-36.7347*9.8*0.25;
node = [0, 0, 25; 25*sin(pi/9), 0, 25*cos(pi/9);
25*sin((2*pi)/9), 0, 25*cos((2*pi)/9);
0, 25/2, 25; 25*sin(pi/9), 25/2, 25*cos(pi/9);
25*sin((2*pi)/9), 25/2, 25*cos((2*pi)/9);
0, 25, 25; 25*sin(pi/9), 25, 25*cos(pi/9);
25*sin((2*pi)/9), 25, 25*cos((2*pi)/9)];
element = [1, 2, 5, 4; 2, 3, 6, 5; 4, 5, 8, 7; 5, 6, 9, 8];
ne = size(element,1); nd = length(node); dof = 6*nd;
gdlElemento = zeros(ne,24);
for i=1:ne
lm1 = [6*element(i,1)-5, 6*element(i,1)-4, 6*element(i,1)-3,...
6*element(i,1)-2, 6*element(i,1)-1, 6*element(i,1)];
lm2 = [6*element(i,2) - 5, 6*element(i,2) - 4, 6*element(i,2)-3,...
6*element(i,2)-2, 6*element(i,2)-1, 6*element(i,2)];
lm3 = [6*element(i,3) - 5, 6*element(i,3) - 4, 6*element(i,3)-3,...
6*element(i,3)-2, 6*element(i,3)-1, 6*element(i,3)];
lm4 = [6*element(i,4) - 5, 6*element(i,4) - 4, 6*element(i,4)-3,...
6*element(i,4)-2, 6*element(i,4)-1, 6*element(i,4)];
gdlElemento(i,:) = [lm1, lm2, lm3, lm4];
end
condFronteira = [1, 3, 5, 6, 7, 9, 12, 13, 15, 18, 19, 23, 24, 37, 38, ...
40, 41, 42, 44, 46, 48, 50, 52, 54];
K=zeros(dof); R = zeros(dof,1);
% calcula K e R para cada elemento e assembla
rotzStiffFactor = 0.00001;
for i=1:ne

16.3 C
odigo para soluc
ao de problema de casca plana
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33

273

con = element(i,:);
lm = gdlElemento(i,:);
[k,r] = MindlinShellElem(node(con,:), h, e, nu, q1, q2, q3,...
Global, rotzStiffFactor);
K(lm, lm) = K(lm, lm) + k;
R(lm) = R(lm) + r;
end
% Solucoes (deslocamentos)
activeDof=setdiff([1:dof],[condFronteira]);
U=K([activeDof],[activeDof])\R([activeDof]);
U1=zeros(dof,1);
U1(activeDof)=U;
d=U1;
d(8*6+3) % deslocamento transverso no n B
function [ke, re] = MindlinShellElem(gcoord, h, e, nu, q1, q2, q3,...
dir, rotzStiffFactor)
% [ke, re] = MindlinShellElem(gcoord, h, e, nu, q1, q2, q3, dir)
% calculo da matriz de rigidez do elemento e do vector de carga equivalente
% gcoord = coordenadas globais dos nos do elemento
% dir = direccaao de carga externa, se for dir = "Local" entao as cargas
% distribuidas sao locais, se nao sao consideradas como globais
% rotzStiffFactor = factor de rigidez rotacional
% ke = rigidez do elemento, re = vector de carga equivalente.
elemArea = 0;
% cosenos directores
H = ShellDirectionCosines(gcoord);
coord=gcoord;
for i=1:size(gcoord,1)
coord(i,:) = (H*gcoord(i,:));
end
qlocal = [q1; q2; q3];
if strcmp(dir,Global)
qlocal = H*qlocal;
end
qs = qlocal(1); qt = qlocal(2); qr=qlocal(3);
% matriz de transformacao de coordenadas (T)
T = zeros(24);
for i=1:3:24
T(i:i+2,i:i+2)=H;
end
% matriz constitutiva
g = e/(2*(1 + nu)); d = e*h^3/(12*(1 - nu^2));
dp = e*h /(1 - nu^2);
c = [1, nu, 0; nu, 1, 0; 0, 0, (1 - nu)/2];
% Gauss point locations and weights
pt = 1/sqrt(3);

274
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82

16 An
alise de cascas com elementos planos
Q = [-pt, -pt; pt, -pt; -pt, pt; pt, pt];
W = [1, 1, 1, 1];
% componente de flexao
dof = 24;
ke=zeros(dof); re=zeros(dof,1);
k1=zeros(8); k2=zeros(12);
for i=1:size(Q,1)
s = Q(i, 1); t = Q(i, 2); w = W(i);
n = [(1/4)*(1 - s)*(1 - t), (1/4)*(s + 1)*(1 -t), ...
(1/4)*(s + 1)*(t + 1), (1/4)*(1 - s)*(t + 1)];
dns=[(-1 + t)/4, (1 - t)/4, (1 + t)/4, (-1 - t)/4];
dnt=[(-1 + s)/4, (-1 - s)/4, (1 + s)/4, (1 - s)/4];
x = n*coord(:,1); y = n*coord(:,2);
dxs = dns*coord(:,1); dxt = dnt*coord(:,1);
dys = dns*coord(:,2); dyt = dnt*coord(:,2);
J = [dxs, dxt; dys, dyt];
detJ = det(J);
bx = (J(2, 2)*dns - J(2, 1)*dnt)/detJ;
by = (-J(1, 2)*dns + J(1, 1)*dnt)/detJ;
b = [bx(1),0,bx(2),0,bx(3),0,bx(4),0;
0,by(1),0,by(2),0,by(3),0,by(4);
by(1),bx(1),by(2),bx(2),by(3),bx(3),by(4),bx(4)];
k1 = k1 + dp*detJ*w*b*c*b;
b = [0,0,-bx(1),0,0,-bx(2),0,0,-bx(3),0,0,-bx(4);
0,by(1),0,0,by(2),0,0,by(3),0,0,by(4),0;
0,bx(1),-by(1),0,bx(2),-by(2),0,bx(3),-by(3),0,bx(4),-by(4)];
k2 = k2 + d*detJ*w*b*c*b;
re = re + detJ*w*[qs*n(1),qt*n(1),qr*n(1),0,0,0,...
qs*n(2),qt*n(2),qr*n(2),0,0,0,...
qs*n(3),qt*n(3),qr*n(3),0,0,0,...
qs*n(4),qt*n(4),qr*n(4),0,0,0];
elemArea = elemArea + detJ*w;
end
% componente de corte transverso
pt = 0;
Q = [[pt, pt]];
W = [4];
for i=1:size(Q,1)
s = Q(i, 1); t = Q(i, 2); w = W(i);
n = [(1/4)*(1 - s)*(1 - t), (1/4)*(s + 1)*(1 -t), ...
(1/4)*(s + 1)*(t + 1), (1/4)*(1 - s)*(t + 1)];
dns=[(-1 + t)/4, (1 - t)/4, (1 + t)/4, (-1 - t)/4];
dnt=[(-1 + s)/4, (-1 - s)/4, (1 + s)/4, (1 - s)/4];
x = n*coord(:,1); y = n*coord(:,2);
dxs = dns*coord(:,1); dxt = dnt*coord(:,1);
dys = dns*coord(:,2); dyt = dnt*coord(:,2);
J = [dxs, dxt; dys, dyt];

16.3 C
odigo para soluc
ao de problema de casca plana
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
1
2
3
4
5
6
7
8
9
10
11
12
13

275

detJ = det(J);
bx = (J(2, 2)*dns - J(2, 1)*dnt)/detJ;
by = (-J(1, 2)*dns + J(1, 1)*dnt)/detJ;
b = [bx(1),0,n(1),bx(2),0,n(2),bx(3),0,n(3),bx(4),0,n(4);
by(1),-n(1),0,by(2),-n(2),0,by(3),-n(3),0,by(4),-n(4),0];
k2 = k2 + 5/6*g*h*detJ*w* b*eye(2)*b;
end
% colocar a rigidez na ordem habitual (u,v,w,theta_x, theta_y, theta_z)
nlm = [1, 2, 7, 8, 13, 14, 19, 20];
ke(nlm, nlm) = k1;
nlm = [3, 4, 5, 9, 10, 11, 15, 16, 17, 21, 22, 23];
ke(nlm, nlm) = k2;
rotzStiff = rotzStiffFactor*e*h*elemArea;
% elemento adicional (ficticio) para cascas complanares
for i=6:6:24
ke(i, i) = rotzStiff;
end
% local -> global
ke = T*ke*T;
re = T*re;
end
function H = ShellDirectionCosines(nodes)
% H = ShellDirectionCosines(nodes)
n1 = nodes(1,:);
n2 = nodes(2,:);
n3 = nodes(3,:);
L = sqrt((n2 - n1)*(n2 - n1));
ex = (n2 - n1)/L;
ezz = cross(n2 - n1, n3 - n1);
Lt = sqrt(ezz*ezz);
ez = ezz/Lt;
ey = cross(ez, ex);
H = [ex; ey; ez];
end

17
An
alise de vibra
c
oes livres

17.1 Introduc
ao
Neste captulo faz-se a an
alise de vibracoes livres de varios tipos de estruturas,
atraves do metodo dos elementos finitos. Apresenta-se uma explicacao teorica
do metodo, com c
alculo das matrizes de massa e de rigidez para varios tipos de
elementos e apresentam-se varios programas MATLAB que resolvem alguns
problemas tipicos.

17.2 Equac
oes de movimento
Considere-se o principio de Hamilton que estabelece
Z t2
((T U ) + W )dt = 0

(17.1)

t1

onde U e a energia potencial do sistema, T e a energia cinetica e W o


trabalho das forcas n
ao conservativas. Consideram-se neste captulo a energia
potencial enquanto energia de deformacao elastica.
A ttulo de exemplo, considere-se o sistema de massa simples e mola da
figura 17.1.
Podemos usar o principio de Hamilton para derivar as equacoes de movimento do sistema, onde
U=

1 2
ku
2

(17.2)

T =

1
mu 2
2

(17.3)

W = f u

(17.4)

278

17 An
alise de vibrac
oes livres

u(t), f (t)
m
k
Figura 17.1. Sistema de massa e mola

Note-se que u representa a primeira derivada em ordem ao tempo, u =


Substituindo em (17.1), obtemos
Z t2
Z t2
1
1
( mu 2 ku2 )dt +
f udt = 0
2
2
t1
t1
ou seja

du
.
dt

(17.5)

t2

(mu
u kuu + f u)dt = 0

(17.6)

t1

Integrando por partes o primeiro termo, obtemos


Z

t2

mu
udt
=
t1

t
[muu]
t21

t2

t2

m
uudt =
t1

m
uudt

(17.7)

t1

porque u e nulo em t1 e t2 .
Substituindo (17.7) em (17.6), obtemos entao
Z t2
(m
u ku + f )udt = 0

(17.8)

t1

Dado que u e arbitr


ario, a equacao (17.8) so pode ser satisfeita se
m
u + ku = f

(17.9)

o que representa a equa


c
ao de movimento do sistema, sem termos
dissipativos.
Tomando agora o sistema da figura 17.2, a energia cinetica do sistema e
dada por
1
1
m1 u 21 + m2 u 22
2
2
e a energia de deformacao e obtida por
T =

Note-se que aqui u = (du/dt) = d/dt(u)

(17.10)

17.2 Equac
oes de movimento
u1

279

u2

f2
m1
k1

m2
k2

Figura 17.2. Sistema de massa e mola, com 2 graus de liberdade

U=

1
1
1
1
k1 u21 + k2 (u2 u1 )2 = (k1 + k2 )u21 k2 u1 u2 + k2 u22
2
2
2
2

(17.11)

O trabalho realizado pelas forcas exteriores e obtido por


W = f2 u2

(17.12)

As equac
oes de Lagrange sao expressas, para sistemas com varios graus de
liberdade, na forma (desprezando os termos dissipativos)


U
d T
+
= Qj , j = 1, 2, ..., n
(17.13)
dt qj
qj
sendo qj , qj os deslocamentos e velocidades generalizadas e Qj as forcas generalizadas.
Aplicando ent
ao as equacoes de Lagrange a (17.10)-(17.12), obtem-se
m1 u
1 + (k1 + k2 )u1 k2 u2 = 0,

m2 u
2 k2 u1 + k2 u2 = f2

ou, na forma matricial


   
  

0
k1 + k2 k2 u1
u
1
m1 0
=
+
f2
u2
k2 k2
2
0 m2 u

(17.14)

(17.15)

ou ainda
M
q + Kq = Q

(17.16)

onde M representa a matriz de massa do sistema, K a matriz de rigidez do


sistema, q o vector de deslocamentos, q
o vector de aceleracoes e Q o vector
de forcas externas aplicadas no sistema estrutural.
Note-se que podemos escrever ainda, na forma matricial,
1 T
1
q Mq;

U = qT Kq
2
2
onde q representa o vector de velocidades do sistema.
T=

(17.17)

280

17 An
alise de vibrac
oes livres

17.3 Elemento de barra


Considere-se o elemento de barra da figura 17.3, com seccao constante de area
A e comprimento 2a. Considera-se ainda que a u
nica componente de tensao
n
ao nula e x , uniforme em cada seccao transversal.
P
dx

x = a

x=a

u
Figura 17.3. Elemento de barra no sistema de coordenadas local

O trabalho realizado numa das faces do incremento dx e x A, sendo ainda


x a componente de deformacao axial.
O trabalho realizado e entao
1
x Ax dx
2
O trabalho armazenado como energia de deformacao dU e
dW =

1
x x Adx
2
sendo ainda possivel obter a energia de deformacao total como
Z
1 a
U=
x x Adx
2 a
dU =

(17.18)

(17.19)

(17.20)

Assumindo um comportamento linear elastico do material da barra,


x = Ex

(17.21)

onde E representa o m
odulo de elasticidade do material, podemos substituir (17.21) em (17.20)
Z
1 a
U=
EA2x dx
(17.22)
2 a
A relac
ao entre a deformacao x e o deslocamento axial u e
du
(17.23)
dx
Podemos ent
ao substituir (17.23) em (17.22) obtendo finalmente
x =

17.3 Elemento de barra

U=

1
2


EA

du
dx

281

2
dx

(17.24)

A energia cinetica dum pequeno incremento dx, e dada por 1/2u 2 Adx,
onde e a massa por unidade de volume do material da barra. A energia
cinetica do elemento e ent
ao definida por
Z
1 a
T =
Au 2 dx
(17.25)
2 a
Caso ocorra uma forca aplicada p, por unidade de comprimento, a forca
no incremento dx e pdx e o trabalho realizado num deslocamento virtual u
e pudx. O trabalho virtual para o elemento e entao
Z a
W =
pudx
(17.26)
a

Considere-se o elemento finito de barra de 2 nos, conforme ilustrado na


figura 17.4, cujo campo de deslocamentos axiais e dado por
u = N1 ()u1 + N2 ()u2

(17.27)

onde

1
(1 + j )
2
sendo j a coordenada natural do no j, j [1, +1].

(17.28)

Nj () =

x = a, = 1

x = a, = 1

L = 2a

Figura 17.4. Elemento de barra de 2 n


os

Em termos matriciais podemos escrever (17.27) na forma


 

 u1
u = N1 N2
= Nue
u2

(17.29)

Para um dado elemento e podemos exprimir a energia cinetica


1
T =
2

1
Au dx =
2
a
2

1
Au ad = u eT Aa
2
1
2

NT Nd u e

(17.30)

282

17 An
alise de vibrac
oes livres

ou ainda
1 eT e e
u M u
(17.31)
2
onde Me representa a matriz de massa do elemento, neste caso obtida por
T =

NT Nd

M = Aa

(17.32)

Considerando as func
oes de forma do elemento de barra,
1
1
(1 ) ; N2 () = (1 + )
(17.33)
2
2
podemos calcular explicitamente a matriz de massa do elemento de barra,
na forma2
N1 () =

(1 ) 

1 (1 )
Me = Aa
2
1 1 (1 + )
2
Z

1
2

 

Aa 2 1
(1 + ) d =
3 12

(17.34)

Podemos agora exprimir a energia de deformacao do elemento, na forma

U=

1
2


EA

du
dx

2
dx =

1
2

EA
a2

du
d

2
ad =

1 eT
u
2

EA 0 T 0
N N due
a
(17.35)

du
. A energia de deformacao e assim obtida por
d
1
(17.36)
U = ueT Ke ue
2
onde Ke representa a matriz de rigidez do elemento, neste caso obtida por
onde N0 =

Ke =

EA
a

N0 N0 d

(17.37)

Para este elemento de barra, as derivadas das funcoes de forma sao


dN1
1
= ;
d
2

dN2
1
=
d
2

(17.38)

e portanto a matriz de rigidez pode ser definida explicitamente como





Z 1 12


EA
1 1 d = EA 1 1
Ke =
(17.39)
2 2
a 1 1
2a 1 1
2
2

note-se que somando os elementos da matriz de massa se obtem a massa total do


elemento, A2a

17.3 Elemento de barra

283

Note-se que fazendo L = 2a se obtem a mesma expressao que ja foi anteriormente obtida pelo principio dos trabalhos virtuais.
Note-se ainda que a soma dos termos em cada linha da matriz e zero, o
que mostra que se o elemento se movimentar como corpo rigido, as forcas de
recuperac
ao el
astica s
ao nulas.
O trabalho realizado pelas forcas distribuidas e definido por
W e =

puad = ueT a

pudx =
a

pNT d

(17.40)

ou
W e = ueT f e

(17.41)

onde o vector de forcas nodais equivalentes a forcas distribuidas, para um


elemento de 2 n
os e supondo uma forca constante p, e dado por

 
Z 
Z 1
ap 1 1
1
e
T
(17.42)
d = ap
f =a
pN d =
1
+

1
2 1
1
Para uma barra composta por varios elementos, as expressoes das energias
s
ao obtidas pela soma (espalhamento) das energias de todos os elementos
individuais.
Considere-se, a ttulo de exemplo, a barra da figura 17.5, dividida em 4
elementos finitos e 5 n
os.
No
1

Elemento

Figura 17.5. Barra dividida em 4 elementos de 2 n


os

Neste exemplo o vector de deslocamentos da estrutura e



uT = u1

u2

u3

u4

u5

(17.43)

Somando a contribuic
ao de todos os elementos, obtemos
T =

4
1
1 TX e
u
M u = u T Mu
2
2
e=1

tendo em conta a numeraca


o dos graus de liberdade

(17.44)

284

17 An
alise de vibrac
oes livres

U=

4
1 TX e
1
u
K u = u T Ku
2
2
e=1

W = uT

4
X

(17.45)

f e = u T f

(17.46)

e=1

onde M, K e f s
ao, respectivamente, a matriz de massa, a matriz de rigidez
e o vector de forcas da estrutura.
Verifica-se ent
ao que a matriz de massa da estrutura e obtida por

Aa
0
M=

1
2
0
0
0

00
00
00
00
00
{z


0
0
0
0

0
+ 0
0 0
0
0
} |

elemento 1

0
2
1
0
0

00
10
20
00
00
{z

0
2100

1 4 1 0
0

Aa

0
+... = 3 0 1 4 1

0 0 1 4
0

0
0001

0
0

1
2

(17.47)

elemento 2

De igual modo, a matriz de rigidez da estrutura e obtida por

1 1 0 0 0
1 2 1 0 0

EA
0 1 2 1 0
K=

2a
0 0 1 2 1
0 0 0 1 2

(17.48)

e o vector de forcas nodais equivalentes `as forcas distribuidas expresso por



1
2

f = ap
(17.49)
2
2
1
As express
oes (17.47) a (17.49) sao agora substituidas nas equacoes de
Lagrange
M
u + Ku = f

(17.50)

Tendo em conta a an
alise de vibracoes livres (W = 0), assumindo um
movimento harm
onico do tipo
u(t) = Asent

(17.51)

onde A s
ao as amplitudes de vibracao e a frequencia de vibracao. Substituindo (17.51) em (17.50) obtem-se o problema generalizado de valores e
vectores pr
oprios

17.3 Elemento de barra



K 2 M A = 0

285

(17.52)

que tem soluc


ao n
ao trivial se o determinante for nulo, ou seja


K 2 M = 0

(17.53)

Considere-se, ent
ao, a barra encastrada da figura 17.6, para a qual queremos calcular as frequencias e os modos de vibracao.

F (t)

x=0

x=L

Figura 17.6. Barra encastrada

A soluc
ao exacta pelo metodo de Rayleigh-Ritz4 para as frequencias naturais ou livres e referenciada como
Modo 1:
= 1.571;

Modo 2:
= 4.712

onde a frequencia normalizada


e obtida como
r
L2

=
E
sendo L o comprimento da barra.
Usando uma soluc
ao com apenas um elemento finito, obtemos
  
 AL 2 1 u 1
1
u 1 u 2
T =
1 2 u 2
2
6

 
 AL 1 1 u1
1
u1 u2
U=
1 1
u2
2
6
Impondo a condic
ao fronteira u1 = 0 e substituindo, obtemos


EA
2 AL
.1
.2 A2 = 0
L
6
4

(17.54)

(17.55)

(17.56)
(17.57)

(17.58)

Ver M. Petyt, Introduction to finite element vibration analysis, Cambridge Press,


1990

286

17 An
alise de vibrac
oes livres

q
E
cuja soluc
ao e 1 = 1.732 L
2.
Usando uma soluc
ao com 2 elementos finitos, cada um com comprimento
L/2, obtemos o seguinte sistema de equacoes (impondo u1 = 0)


   

2EA 2 1
A1
2 AL 4 1

=0
(17.59)
1
1
1
2
A2
L
12
Este sistema de equac
oes tem como solucao analitica
s
s
E
E
;
2 = 5.628
1 = 1.610
L2
L2
com os modos de vibracao

0
0.707
1.0

(17.60)

0
e 0.707
1.0

Na tabela 17.1 compara-se a solucao por elementos finitos com os valores


exactos para as frequencias normalizadas
Modo Soluc
ao EF Soluc
ao exacta
1 ele. 2 elem.
1 1.732
2
-

1.610
5.628

1.571
4.712

Tabela 17.1. Comparac


ao de frequencias aproximadas por elementos finitos com
soluc
oes exactas

17.4 Programa MATLAB para barra encastrada


Na listagem a seguir apresentada resolve-se o problema de vibracoes livres
da barra encastrada. Registe-se que o MATLAB permite resolver o problema
de valores e vectores pr
oprios com o comando eig(K,M) , sendo K,M as
matrizes de rigidez e massa do sistema. Note-se que de facto so se calculam
os valores e vectores pr
oprios para os graus de liberdade activos (todos os que
n
ao s
ao prescritos nos apoios), fazendo
[V,D]=eig(K(activeDof,activeDof),M(activeDof,activeDof));
Note-se ainda que para o c
alculo dos modos de vibracao podem ser incluidos
(como nulos) os valores nos apoios. Nao se usa essa tecnica neste codigo, mas
usa-se noutros c
odigos, em particular onde se pretende desenhar os modos

17.4 Programa MATLAB para barra encastrada

287

de vibrac
ao. Note-se aqui o uso de duas tecnicas MATLAB interessantes. A
primeira e find que pretende encontrar os nos que respeitam uma dada
condic
ao, o que e muito u
til para impor condicoes fronteira. A segunda e
setdiff que nos permite rapida e concisamente definir quais os nos activos
(todos excepto os n
os de fronteira).
Com este c
odigo, obtiveram-se os resultados apresentados na tabela 17.2.
Modo

Soluc
ao Elementos Finitos

Soluc
ao exacta

1 ele. 2 elem. 5 elem. 10 elem. 20 elem. 50 elem.


1 1.7321 1.6114 1.5773
2
- 5.6293 4.8881

1.5724
4.7561

1.5712
4.7233

1.5709
4.7141

1.571
4.712

Tabela 17.2. Comparac


ao de frequencias aproximadas por elementos finitos com
soluc
oes exactas, usando o c
odigo barraVibracoes.m

Apresenta-se o c
odigo (barraVibracoes.m).
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29

clear all;tic
E = 1; % mdulo E
L = 1;
% comprimento de barra
A=1;EA=E*A;rho=1;
numx
= 50;
P = 1; % pressao uniforme (caso exista)
% malha
node=linspace(0,L,numx+1);xx=node;
for i=1:numx; element(i,1)=i; element(i,2)=i+1;end
numnode=size(node,2);
% num. nos
numelem=size(element,1); % num. elementos
K=zeros(numnode,numnode);
M=zeros(numnode,numnode);
% rigidez
W=zeros(2); Q=zeros(2);
Q(1) = 0.577350269189626;
Q(2) =-0.577350269189626;
W(1) = 1.;

W(2) = 1.;

for e=1:numelem;
indice=element(e,:); nn=length(indice);
length_element=xx(indice(2))-xx(indice(1));
detJ0=length_element/2;invJ0=1/detJ0;
for q=1:size(W,1) ;
pt=Q(q,:); wt=W(q);

288
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49

17 An
alise de vibrac
oes livres
pt=pt(1);
N=([1-pt,1+pt]/2);
dNdxi=[-1;1]/2;
dNdx=dNdxi*invJ0;
% B
B=zeros(1,nn); B(1:nn) = dNdx(:);
% K
K(indice,indice)=K(indice,indice)+B*B*W(q)*detJ0*EA;
M(indice,indice)=M(indice,indice)+N*N*W(q)*detJ0*rho*A;
end
end
fixedNodeW =find(xx==min(node(:))); dofs=[fixedNodeW]
activeDof=setdiff([1:numnode],[dofs]);
% eigenproblem
[V,D]=eig(K(activeDof,activeDof),M(activeDof,activeDof));
D = diag(sqrt(D))*sqrt(rho*L*L/E);
D = sort(D);

17.5 Viga de Euler-Bernoulli


Considere-se o elemento de viga da figura 17.7, onde se assume que a vibracao
ocorre no plano principal xy da viga, que possui seccao transversal constante
de
area A.
y, w
p

x, u
z
x = a

dx

x=a

Figura 17.7. Elemento de viga recto de 2 n


os no sistema de coordenadas local

Assume-se, pela teoria de vigas de Euler-Bernoulli, que as seccoes planas indeformadas permanecem rectas e perpendiculares ao plano medio apos
deformac
ao.
Assim, o deslocamento u, a uma distancia y do eixo medio da viga e dado
por

17.5 Viga de Euler-Bernoulli

dw
dx
sendo w o deslocamento transverso (flecha).
As componentes de deformacao sao obtidas por
u = y

x =

u
2w
= y 2 ;
x
x

xy =

289

(17.61)

u w
+
=0
y
x

A energia de deformac
ao e dada por
Z
Z
1
1
U=
x x dV =
E2x dV
2 V
2 V

(17.62)

(17.63)

Assumindo dV = dAdx, integrando na direccao z, obtemos


1
U=
2


EIz

2w
x2

2
dx

(17.64)

onde Iz e o momento de inercia da seccao transversal da viga.


A energia cinetica num incremento pequeno dx e 1/2w 2 Adx, sendo a
energia cinetica no elemento dada por
Z
1 a
T =
Aw 2 dx
(17.65)
2 a
Havendo uma forca distribuida por unidade de comprimento, p, a forca
no incremento dx e pdx. O trabalho realizado num incremento virtual w e
pwdx, sendo o trabalho virtual para o elemento completo dado por
Z a
W =
pwdx
(17.66)
a

dw
como graus de liberdade
Tendo em conta que e necessario tomar w e
dx
para cada n
o do elemento de viga, temos 4 graus de liberdade para um elemento finito de 2 n
os. Podemos usar funcoes de forma de Hermite, onde
w = N()we

(17.67)

onde
w
sendo

eT


= w1

dw1
dx

w2

dw2
dx


(17.68)

290

17 An
alise de vibrac
oes livres

1
(2 3 + 2 )
4
1
N2 () = (1 2 + 3 )
4
1
N3 () = (2 + 3 2 )
4
1
N4 () = (1 + 2 + 3 )
4
N1 () =

(17.69)
(17.70)
(17.71)
(17.72)

Tendo em conta as expressoes das energias para o elemento de viga de


Euler-bernoulli e substituindo (17.67) e (17.69), podemos escrever
a

1
T =
2

1
Aw dx =
2
a
2

1 eT
Aa
Aw ad = w
2
1
2

NT Nd w
e (17.73)

onde a matriz de massa do elemento e obtida por

78 22a 27 13a
1
2
Aa
13a 6a2

22a 8a
Me = Aa
NT Nd =
105 27 13a 78 22a
1
13a 6a2 22a 8a2
Z

(17.74)

A energia de deformac
ao e obtida por

U=

1
2


EIz

2w
x2

2
dx =

1
2

EIz
a4

2w
2

2

1
EIz
= weT 3
2
a

ad
Z

N00 N00 dwe

(17.75)

d2 N
, sendo a matriz de rigidez do elemento da viga dado por
d 2

3 3a 3 3a
Z 1
2
2
EIz
EIz
T
3a 4a 3a 2a
(17.76)
Ke = 3
N00 N00 d =

3
3 3a 3 3a
a
2a
1
3a 2a2 3a 4a2

onde N00 =

O trabalho realizado pelas forcas distribuidas e definido por


W e =

pwdx =
a

pwad = weT a

O vector de forcas nodais equivalentes e entao

pNT d

(17.77)

17.5 Viga de Euler-Bernoulli

291

ap
a
(17.78)
f e = ap
NT d =

3
3
1
a
O processo de obtenc
ao das frequencias naturais ou livres e dos modos de vibrac
ao para o elemento de viga e identico ao do elemento de barra. Considerese a ttulo de exemplo a viga encastrada da figura 17.8, para a qual se pretendem estudar as frequencias naturais.
Z

x=0
x=L

Figura 17.8. Viga encastrada

Usando uma soluc


ao com 1 elemento finito, colocando as condicoes fronteira correspondentes ao encastramento, w1 = w10 = 0, obtemos o seguinte
sistema de equac
oes



  


EIz 12 6L
w2
78 11L
2 AL
=0

2
L3 6L 4L2
210 11L 2L2

(17.79)

Obtemos ent
ao as frequencias naturais
s

EIz
AL4
s
EIz
2 = 34.807
AL4

1 = 3.533

com as soluc
oes exactas de Rayleigh-Ritz
s
EIz
1 = 3.516
AL4
s
EIz
2 = 22.035
AL4

(17.80)

(17.81)

(17.82)

(17.83)

Embora haja alguma discrepancia para a segunda frequencia, isso podera


ser melhorado aumentando o n
umero de elementos.

292

17 An
alise de vibrac
oes livres

17.6 C
odigo MATLAB para vibrac
oes livres de vigas
finas
Na listagem a seguir apresentada resolve-se o problema de vibracoes livres da
viga encastrada. Com este c
odigo, obtiveram-se os resultados apresentados na
tabela 17.3.
Modo

Soluca
o Elementos Finitos

Soluc
ao exacta

1 ele. 2 elem. 5 elem. 10 elem.


1 3.5327 3.5177 3.5161 3.5160
2 34.8069 22.2215 22.0455 22.0352

3.516
22.035

Tabela 17.3. Comparac


ao de frequencias aproximadas por elementos finitos com
soluc
oes exactas, usando o c
odigo vigaBernoulliVibracoes.m

Apresenta-se o c
odigo (vigaBernoulliVibracoes.m).
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29

clear all
%material, seccao, ...
rho=1;A=1; E=1; I=1; EI=E*I;
% malha
numx=10;
node=linspace(0,1,numx+1);xx=node;L=max(node);
% rigidez, massa
for i=1:numx; element(i,1)=i; element(i,2)=i+1;end
numnode=size(node,1);
numelem=size(element,1);
K=zeros(2*numnode,2*numnode);
M=zeros(2*numnode,2*numnode);
for e=1:numelem ;
index=element(e,:) ;
indexB=[ 2*(index(1)-1)+1 2*(index(2)-1) ...
2*(index(2)-1)+1 2*(index(2)-1)+2];
ll=xx(index(2))-xx(index(1));
k1=EI/(ll)^3*[12
6*ll -12 6*ll;
6*ll 4*ll^2 -6*ll 2*ll^2;
-12 -6*ll 12 -6*ll ;
6*ll 2*ll^2 -6*ll 4*ll^2];
a=ll/2;
m1=rho*A*a/105*[78
22*a
27
-13*a;
22*a 8*a*a
13*a
-6*a*a;
27
13*a
78
-22*a;
-13*a -6*a*a -22*a
8*a*a];
K(indexB,indexB)=K(indexB,indexB)+k1;
M(indexB,indexB)=M(indexB,indexB)+m1;
end

17.7 Vibrac
oes livres de vigas Timoshenko
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49

293

% condicoes fronteira
% encastrado em ambos os bordos
%fixedNodeU =[1 2*numx+1]; fixedNodeV =[2 2*numx+2];
% simplesmente apoiado em ambos os bordos
%fixedNodeU =[1 2*numx+1]; fixedNodeV =[];
% encastrado em x=0
fixedNodeU =[1]; fixedNodeV =[2];
dofs=[fixedNodeU;fixedNodeV];
activos=setdiff([1:2*numnode],[dofs]);
% problema de vibracoes livres
[V,D]=eig(K(activos,activos),M(activos,activos));
D = diag(sqrt(D)*L*L*sqrt(rho*A/E/I));
D = sort(D);

17.7 Vibrac
oes livres de vigas Timoshenko
O elemento de viga espessa ou viga de Timoshenko considera efeitos de esforcos de corte transverso, ao contrario do que acontecia com a viga de EulerBernoulli. Em vigas espessas, as ondas de flexao tem velocidades bem menores
que as ondas de membrana, pelo que se tornam relevantes os efeitos de corte
transverso na energia de deformacao, bem como a consideracao da rotacao da
secc
ao na energia cinetica.
Embora se continue a assumir que as seccoes transversais permanecam
planas, elas n
ao ficam necessariamente normais ao eixo neutro da viga. Desta
forma, o deslocamento u e obtido por
u = yz

(17.84)

onde z (x) e a rotac


ao da seccao transversal numa dada posicao do eixo dos
x.
As deformac
oes n
ao nulas x e xy sao definidas por
u
z
= y
x
x
u w
w
=
+
= x +
y
x
x

x =

(17.85)

xy

(17.86)

sendo w o deslocamento transversal da viga, segundo o eixo dos y.


A energia de deformac
ao no elemento e a soma das energias de flexao e de
corte transverso,

294

17 An
alise de vibrac
oes livres

1
U=
2

Z
V

1
x x dV +
2

Z
xy xy dV

(17.87)

onde a tens
ao normal e dada por
x = Ex

(17.88)

e a tens
ao de corte transverso e obtida por
xy = kGxy

(17.89)

E
2(1 + )

(17.90)

sendo G o m
odulo de corte
G=

e k e habitualmente designado por factor de correccao ao corte, tipicamente


5/6 ou 2 /12 em vibrac
oes livres. Este factor aparece pelo facto desta teoria
desprezar a variac
ao parab
olica da deformacao atraves da seccao transversal.
Substituindo estas express
oes na energia de deformacao, considerando dV =
dAdx e integrando atraves da espessura, obtem-se
1
U=
2

1
+
2

E2x dV

1
2

Z
V


EIz

2
kGxy
dV =

z
x

2

1
dx +
2


kAG

w
z
x

2
dx

(17.91)

A energia cinetica da viga e composta de duas partes, uma relativa `a


translac
ao, outra relativa `
a rotacao, na forma
Z
Z
1 a
1 a
2
T =
Aw dx +
Iz z2 dx
(17.92)
2 a
2 a
A express
ao para o trabalho das forcas exteriores e identica `a das vigas de
Euler-Bernoulli, ou seja
Z a
W =
pwdx
(17.93)
a

Considerando agora um elemento finito de 2 nos, representado na figura


17.9, onde cada n
o possui 2 graus de liberdade independentes, w e z .
A interpolac
ao de deslocamentos e agora independente, ou seja,

onde

w = Nwe

(17.94)

z = Nze

(17.95)

17.8 C
odigo MATLAB para vibrac
oes de vigas Timoshenko
1

2
z1

295

x
z2

w1

w2
L = 2a

x = a

x=a

Figura 17.9. Elemento de viga espessa de dois n


os

N=

1

2 (1

1
2 (1


+ )

(17.96)

em coordenadas naturais [1, +1].


Tal como anteriormente, podemos calcular as matrizes de rigidez e massa
do elemento, na forma

Ke =

EIz
a2

dN
d

T 

dN
d

Z
ad+


kGA

M =

T 


1 dN
N ad
a d
(17.97)

AN N ad +
1

1 dN
N
a d

Iz N T N ad

(17.98)

17.8 C
odigo MATLAB para vibrac
oes de vigas
Timoshenko
No c
odigo MATLAB a seguir listado resolve-se o problema da viga encastrada
fina, conforme ilustrado na figura 17.8. Para o efeito, considerou-se L = 1, h =
0.001, bem como uma adimensionalizacao
r
A

= L2
(17.99)
EIz
Os resultados para este exemplo de viga fina encastrada, em termos da
frequencia adimensional s
ao apresentados na tabela 17.4.
Apresenta-se o c
odigo (vigaTimoshenkoVibracoes.m).
1
2
3
4
5
6
7

clear all;clf;
%
E0 = 10e7; % mdulo E
nu0 = 0.30; % Poisson
%
L = 1;
% comprimento
thickness=0.001;

296

17 An
alise de vibrac
oes livres
Modo

Soluc
ao Elementos Finitos

Soluc
ao exacta

1 ele. 2 elem. 5 elem. 10 elem. 50 elem.


1 3.4639 3.5915 3.5321 3.5200 3.5159
2 588390 40.3495 24.2972 22.5703 22.0439

3.516
22.035

Tabela 17.4. Comparac


ao de frequencias aproximadas por elementos finitos com
soluc
oes exactas, de viga fina encastrada, usando o c
odigo vigaTimoshenkoVibracoes.m

8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45

rho=1;
I=thickness^3/12;% momento de inercia
A=1*thickness;
%
numx
= 40;
%
P = 1; % pressao uniforme
% matriz constitutiva
G=E0/2/(1+nu0);
C=[
I*E0
0; 0
5/6*thickness*G];
%
% malha
node=linspace(0,L,numx+1);xx=node;x=node;
%
for i=1:size(node,2)-1
element(i,1)=i;
element(i,2)=i+1
end
%
numnode=size(node,2);
% num. nos
numelem=size(element,1); % num. elementos
%
K=zeros(2*numnode,2*numnode);
M=zeros(2*numnode,2*numnode);
% rigidez
W=zeros(2); Q=zeros(2);
Q(1) = 0.577350269189626;
Q(2) =-0.577350269189626;
W(1) = 1.;

W(2) = 1.;

for e=1:numelem
indice=element(e,:);
indiceB=[ indice indice+numnode];
indiceR=indice+numnode;
nn=length(indice);
length_element=xx(indice(2))-xx(indice(1));

17.8 C
odigo MATLAB para vibrac
oes de vigas Timoshenko
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94

detJ0=length_element/2;invJ0=1/detJ0;
for q=1:size(W,1) ;
pt=Q(q,:); wt=W(q);
pt=pt(1);
N=([1-pt,1+pt]/2);
dNdxi=[-1;1]/2;
dNdx=dNdxi*invJ0;
% B
B=zeros(2,2*nn); B(1,nn+1:2*nn) = -dNdx(:);
% K
K(indiceB,indiceB)=K(indiceB,indiceB)+B*B*W(q)*detJ0*C(1,1);
M(indiceR,indiceR)=M(indiceR,indiceR)+N*N*W(q)*I*rho*detJ0;
M(indice,indice)=M(indice,indice)+N*N*W(q)*thickness*rho*detJ0;
end
end
%
W=zeros(1); Q=zeros(1);
Q(1) = 0.;
W(1) = 2.;
for e=1:numelem
indice=element(e,:);
indiceB=[ indice indice+numnode];
nn=length(indice);
length_element=xx(indice(2))-xx(indice(1));
detJ0=length_element/2;invJ0=1/detJ0;
for q=1:size(W,1) ;
pt=Q(q,:); wt=W(q);
pt=pt(1);
N=([1-pt,1+pt]/2);
dNdxi=[-1;1]/2;
dNdx=dNdxi*invJ0;
% B
B=zeros(2,2*nn);
B(2,1:nn)
= dNdx(:);
B(2,nn+1:2*nn) = -N;
% K
K(indiceB,indiceB)=K(indiceB,indiceB)+B*B*W(q)*detJ0*C(2,2);
end
end
% BC
bcwt=mean(diag(K));
% condicoes fronteira (meia viga com simetria)
%fixedNodeW =find(xx==max(node(:)));
%fixedNodeW =find(xx==max(node(:))|xx==min(node(:)));
%fixedNodeTX=find(xx==min(node(:)));;
%fixedNodeTX=find(xx==L/2);

297

298
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138

17 An
alise de vibrac
oes livres
%fixedNodeTX=fixedNodeW;
%
% encastrado ambos os bordos
%fixedNodeW =find(xx==min(node(:)) | xx==max(node(:)));
%fixedNodeTX=fixedNodeW;
% encastrado em x=0
fixedNodeW =find(xx==min(node(:)));
fixedNodeTX=fixedNodeW;
% simplesmente apoiado
%fixedNodeW =find(xx==min(node(:)) | xx==max(node(:)));
%fixedNodeTX=[];
%
dofs=[fixedNodeW;fixedNodeTX+numnode]
% exemplo livro
activeDof=setdiff([1:2*numnode],[dofs]);
[V,D]=eig(K(activeDof,activeDof),M(activeDof,activeDof));
D = diag(sqrt(D)*L*L*sqrt(rho*A/E0/I));
[D,ii] = sort(D);

% lee,schultz paper
modeNumber=4;
%
[V,D]=eig(K(activeDof,activeDof),M(activeDof,activeDof));
%
D = diag(sqrt(D)*L*L*sqrt(rho*thickness/E0/I));D=sqrt(D) ;
%
[D,ii] = sort(D); V = V(:,ii);
V1=zeros(2*numnode,1);
V1(activeDof,1:modeNumber)=V(:,1:modeNumber);
clf
for j=1:modeNumber
u=[V1(1:numnode,j)];
xx = 0:.01:1; subplot(modeNumber+1,1,j);
plot(x,u,.,markersize,12), grid on
uu = polyval(polyfit(x,V1(1:numnode,j),numnode),xx);
line(xx,uu)%, axis off
end

Na figura 17.10 ilustram-se os primeiros 4 modos de vibracao da viga


encastrada, tal como calculado pelo codigo vigaTimoshenkoVibracoes.m.

17.9 Exemplo de Lee e Schultz

299

100
0
!100

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

100
0
!100
100
0
!100
100
0
!100

Figura 17.10. Primeiros 4 modos de vibrac


ao para uma viga encastrada em x = 0
( = 0.3)

17.9 Exemplo de Lee e Schultz


No pr
oximo c
odigo MATLAB, considera-se um exemplo ilustrado no artigo
de Lee e Schultz5 . Consideram-se vigas encastradas e simplesmente apoiadas
nos dois apoios (x = 0, x = L).
As frequencias s
ao adimensionalizadas na forma referida na expressao
(17.99). Considera-se um factor de correccao ao corte transverso de 5/6.
Os resultados est
ao ilustrados nas tabelas (17.5) e (17.6). Os resultados
comparam de forma excelente com os apresentados por Lee e Schultz.
Nas figuras 17.11 e 17.12 ilustram-se os modos de vibracao uma viga encastrada e duma viga simplesmente apoiada, respectivamente, considerando
40 n
os.
O c
odigo (vigaTimoshenkoVibracoesLeeSchultz.m) esta listado a seguir, devendo o leitor trocar apenas as condicoes fronteira.
1
2
3
4
5
6

clear all;clf;
%
E0 = 10e7; % mdulo E
nu0 = 0.30; % Poisson
%
L = 1;
% comprimento
5

J. Lee and W. W. Schultz, Eigenvalue analysis of Timoshenko beams and axisymmetric Mindlin plates by the pseudospectral method, Journal of Sound and Vibration, 269 (2004), 609621.

300

17 An
alise de vibrac
oes livres

5
0
!5

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

5
0
!5
5
0
!5
5
0
!5

Figura 17.11. Primeiros 4 modos de vibrac


ao para uma viga encastrada ( = 0.3)

5
0
!5

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

5
0
!5
5
0
!5
5
0
!5

Figura 17.12. Primeiros 4 modos de vibrac


ao para uma viga simplesmente apoiada
( = 0.3)

17.9 Exemplo de Lee e Schultz


Modo Teoria cl
assica

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

4.73004
7.8532
10.9956
14.1372
17.2788
20.4204
23.5619
26.7035
29.8451
32.9867
36.1283
39.2699
42.4115
45.5531
48.6947

301

h/L
0.002

0.01

0.1

4.7345
7.8736
11.0504
14.2526
17.4888
20.7670
24.0955
27.4833
30.9398
34.4748
38.0993
41.8249
45.6642
49.6312
53.7410

4.7330
7.8675
11.0351
14.2218
17.4342
20.6783
23.9600
27.2857
30.6616
34.0944
37.5907
41.1574
44.8016
48.5306
52.3517

4.5835
7.3468
9.8924
12.2118
14.3386
16.3046
18.1375
19.8593
21.4875
23.0358
24.5141
25.9179
26.2929
26.8419
27.3449

Tabela 17.5. Frequencia adimensional


para viga Timoshenko encastrada nos dois
apoios, = 0.3, = 5/6, N = 40)
Modo Teoria cl
assica

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

3.14159
6.28319
9.42478
12.5664
15.7080
18.8496
21.9911
25.1327
28.2743
31.4159
34.5575
37.6991
40.8407
43.9823
47.1239

h/L
0.002

0.01

0.1

3.1428
6.2928
9.4573
12.6437
15.8596
19.1127
22.4113
25.7638
29.1793
32.6672
36.2379
39.9022
43.6721
47.5605
51.5816

3.1425
6.2908
9.4503
12.6271
15.8267
19.0552
22.3186
25.6231
28.9749
32.3806
35.8467
39.3803
42.9883
46.6780
50.4566

3.1169
6.0993
8.8668
11.3984
13.7089
15.8266
17.7811
19.5991
21.3030
22.9117
24.4404
25.9017
26.0647
26.2782
26.8779

Tabela 17.6. Frequencia adimensional


para viga Timoshenko simplesmente apoiada nos dois apoios, = 0.3, = 5/6, N = 40)

302
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55

17 An
alise de vibrac
oes livres
thickness=0.1;
rho=1;
I=thickness^3/12;% momento de inercia
A=1*thickness;
%
numx
= 40;
%
P = 1; % pressao uniforme
% matriz constitutiva
G=E0/2/(1+nu0);
C=[
I*E0
0; 0
5/6*thickness*G];
%
% malha
node=linspace(0,L,numx+1);xx=node;x=node;
%
for i=1:size(node,2)-1
element(i,1)=i;
element(i,2)=i+1
end
%
numnode=size(node,2);
% num. nos
numelem=size(element,1); % num. elementos
%
K=zeros(2*numnode,2*numnode);
M=zeros(2*numnode,2*numnode);
% rigidez
W=zeros(2); Q=zeros(2);
Q(1) = 0.577350269189626;
Q(2) =-0.577350269189626;
W(1) = 1.;

W(2) = 1.;

for e=1:numelem
indice=element(e,:);
indiceB=[ indice indice+numnode];
indiceR=indice+numnode;
nn=length(indice);
length_element=xx(indice(2))-xx(indice(1));
detJ0=length_element/2;invJ0=1/detJ0;
for q=1:size(W,1) ;
pt=Q(q,:); wt=W(q);
pt=pt(1);
N=([1-pt,1+pt]/2);
dNdxi=[-1;1]/2;
dNdx=dNdxi*invJ0;
% B
B=zeros(2,2*nn); B(1,nn+1:2*nn) = -dNdx(:);
% K

17.9 Exemplo de Lee e Schultz


56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104

K(indiceB,indiceB)=K(indiceB,indiceB)+B*B*W(q)*detJ0*C(1,1);
M(indiceR,indiceR)=M(indiceR,indiceR)+N*N*W(q)*I*rho*detJ0;
M(indice,indice)=M(indice,indice)+N*N*W(q)*thickness*rho*detJ0;
end
end
%
W=zeros(1); Q=zeros(1);
Q(1) = 0.;
W(1) = 2.;
for e=1:numelem
indice=element(e,:);
indiceB=[ indice indice+numnode];
nn=length(indice);
length_element=xx(indice(2))-xx(indice(1));
detJ0=length_element/2;invJ0=1/detJ0;
for q=1:size(W,1) ;
pt=Q(q,:); wt=W(q);
pt=pt(1);
N=([1-pt,1+pt]/2);
dNdxi=[-1;1]/2;
dNdx=dNdxi*invJ0;
% B
B=zeros(2,2*nn);
B(2,1:nn)
= dNdx(:);
B(2,nn+1:2*nn) = -N;
% K
K(indiceB,indiceB)=K(indiceB,indiceB)+B*B*W(q)*detJ0*C(2,2);
end
end
% BC
bcwt=mean(diag(K));
% condicoes fronteira (meia viga com simetria)
%fixedNodeW =find(xx==max(node(:)));
%fixedNodeW =find(xx==max(node(:))|xx==min(node(:)));
%fixedNodeTX=find(xx==min(node(:)));;
%fixedNodeTX=find(xx==L/2);
%fixedNodeTX=fixedNodeW;
%
% encastrado ambos os bordos
%fixedNodeW =find(xx==min(node(:)) | xx==max(node(:)));
%fixedNodeTX=fixedNodeW;
% encastrado em x=0
fixedNodeW =find(xx==min(node(:)));
fixedNodeTX=fixedNodeW;

303

304
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138

17 An
alise de vibrac
oes livres
% simplesmente apoiado
%fixedNodeW =find(xx==min(node(:)) | xx==max(node(:)));
%fixedNodeTX=[];
%
dofs=[fixedNodeW;fixedNodeTX+numnode]
% exemplo livro
activeDof=setdiff([1:2*numnode],[dofs]);
%
[V,D]=eig(K(activeDof,activeDof),M(activeDof,activeDof));
%
%
D = diag(sqrt(D)*L*L*sqrt(rho*A/E0/I));
%
[D,ii] = sort(D);

% lee,schultz paper
modeNumber=4;
[V,D]=eig(K(activeDof,activeDof),M(activeDof,activeDof));
D = diag(sqrt(D)*L*L*sqrt(rho*thickness/E0/I));D=sqrt(D) ;
[D,ii] = sort(D); V = V(:,ii);
V1=zeros(2*numnode,1);
V1(activeDof,1:modeNumber)=V(:,1:modeNumber);
clf
for j=1:modeNumber
u=[V1(1:numnode,j)];
xx = 0:.01:1; subplot(modeNumber+1,1,j);
plot(x,u,.,markersize,12), grid on
uu = polyval(polyfit(x,V1(1:numnode,j),numnode),xx);
line(xx,uu)%, axis off
end

17.10 Vibrac
oes livres de placas Mindlin
Para o elemento de placa de Mindlin, consideram-se as seguintes expressoes
para as energias


Z
1
h3
h3
Te =
hw 2 + x2 + y2 dA
(17.100)
2 A
12
12
Z
Z
1
h3 T
1
Ue =
DdA +
kh T Dc dA
(17.101)
2 A 12
2 A
onde representa o vector de curvaturas da placa

17.10 Vibrac
oes livres de placas Mindlin

y
x

305

x
y

x
y

(17.102)

w
+

y
x

w
x +
y

(17.103)

As matrizes constitutivas do material em flexao, D e corte, Dc sao, respectivamente obtidas por

E
E
0
1 1

E
E

0
D =
(17.104)

1 1

E
0
0
2(1 + )
e


G 0
(17.105)
Dc =
0 G
O vector de forcas nodais equivalentes e dado por
Z
W =
pwdA

(17.106)

Tendo em conta uma interpolacao independente para cada grau de liberdade,


obtem-se
w = Nwe

(17.107)

x = N ex

(17.108)

y = N ey

(17.109)

onde a matriz de func


oes de forma do elemento Q4 e dada por

306

17 An
alise de vibrac
oes livres

1
(1 + j )(1 + j )
(17.110)
4
onde j , j s
ao as coordenadas naturais no bi-quadrado [1, +1].
Estas func
oes s
ao naturalmente distintas para outros elementos, como o
Q9 (lagrangiano de 9 n
os) ou o T3 (triangulo de 3 nos).
Para o elemento lagrangiano de 4 nos, Q4, definem-se os seguintes graus
de liberdade
Nj =


ueT = w1

x1

y1

w2

x2

y2

w4

x4

y4

(17.111)

podendo definir-se

uT = w
onde


y = Nue

N1 0 0 N4 0 0
N = 0 N1 0 0 N4 0
0 0 N1 0 0 N4

(17.112)

(17.113)

Substituindo nas express


oes das energias, obtem-se as matrizes de rigidez e
massa do elemento de placa espessa seguindo a teoria de Mindlin
Z
Z
h3 f T
B DBf dA +
khBcT Dc Bc dA
(17.114)
Ke =
A
A 12

h 0 0
Z
3
Me =
NT 0 h12 0 NdA
(17.115)
A
h3
0 0 12
onde

Bf = Bf1

Bf2

Bf3

Bf4

(17.116)

Ni
0
0

N
i
0
f
0
Bi =

Ni Ni
0

x
y


Bc = Bc1 Bc2 Bc3 Bc4

(17.117)

(17.118)

17.11 Exemplo de vibrac


oes livres de placa

Ni
0
N

Bci =

Ni
Ni 0
y

307

(17.119)

Note-se que o c
odigo respeita os mesmos principios, mas organiza as matrizes de forma diferente, para poder aproveitar as capacidades do MATLAB.

17.11 Exemplo de vibrac


oes livres de placa
Considera-se uma placa quadrada, com lado a, razao espessura/lado h/a =
0.01 e 0.1. A frequencia adimensional e definida por
r

,
= mn a
G
onde representa a frequencia, e a massa por unidade de volume, G
e o m
odulo de corte, G = E/(2(1 + )), E o modulo de elasticidade e
o coeficiente de Poisson. Os indices m e n representam as semi-ondas dos
modos de vibrac
ao nas direccoes x e y, respectivamente.
Consideram-se placas isotropicas, encastradas (CCCC) e simplesmente
apoiadas (SSSS) em torno dos seus 4 bordos. Consideram-se ainda placas
SCSC e CCCF, onde o indice F representa bordo livre. Para as placas CCCC
e CCCF usa-se k = 0.8601, para as SCSC k = 0.822 e para as SSSS, k = 5/6.
Na tabela 17.7 apresenta-se a convergencia da frequencia fundamental normalizada para placa encastrada h/a = 0.01, k = 0.8601, = 0.3 . Compara-se
com a soluc
ao analitica, que pode ser consultada num artigo de Dawe6 . Como
se pode verificar, usando quer o elemento Q4 quer o Q9 chega-se a bons resultados.
10 10
15 15
20 20
25 25

Q4
Q4
Q4
Q4

0.1800 5 5 Q9 0.1905 Soluc


ao analitica: 0.1754
0.1774 10 10 Q9 0.1785
0.1765 15 15 Q9 0.1765
0.1761

Tabela 17.7. Convergencia da frequencia fundamental normalizada para placa encastrada h/a = 0.01, k = 0.8601, = 0.3

Da mesma forma, na tabela 17.8 apresenta-se a convergencia da frequencia


fundamental normalizada para placa simplesmente apoiada h/a = 0.01, k =
0.8333, = 0.3. Os resultados sao mais proximos da solucao analitica que
para o caso CCCC, o que se verifica quase sempre. para placas CCCC, sao
6

D. J. Dawe and O. L. Roufaeil, Rayleigh-Ritz vibration analysis of Mindlin plates,


Journal of Sound and Vibration, 69 (3) (1980), 345359.

308

17 An
alise de vibrac
oes livres

habitualmente necess
arias mais graus de liberdade. Quer nesta tabela, quer
na anterior considera-se uma placa fina, com h/a = 0.01, enquanto que nas
pr
oximas duas tabelas se estudam os mesmos casos, mas com espessura superior, h/a = 0.1.
10 10
15 15
20 20
25 25

Q4
Q4
Q4
Q4

0.0973 5 5 Q9 0.0971 Soluc


ao analitica: 0.0963
0.0968 10 10 Q9 0.0965
0.0965 15 15 Q9 0.0963
0.0965

Tabela 17.8. Convergencia da frequencia fundamental normalizada para placa simplesmente apoiada h/a = 0.01, k = 0.8333, = 0.3

10 10 Q4 1.6259 5 5 Q9 1.6132 Soluc


ao analitica: 1.5940
15 15 Q4 1.6063 10 10 Q9 1.5927
20 20 Q4 1.5996 15 15 Q9 1.5914
Tabela 17.9. Convergencia da frequencia fundamental normalizada para placa encastrada h/a = 0.1, k = 0.8601, = 0.3

10 10 Q4 0.9399 5 5 Q9 0.9319 Soluc


ao analitica: 0.930
15 15 Q4 0.9346 10 10 Q9 0.9304
20 20 Q4 0.9327 15 15 Q9 0.9303
Tabela 17.10. Convergencia da frequencia fundamental normalizada para placa
simplesmente apoiada h/a = 0.1, k = 0.8333, = 0.3

Na tabela 17.11 estudam-se as frequencias naturais duma placa SSSS com


h/a = 0.1, k = 0.833, = 0.3. Comparando com uma solucao analitica tridimensional, ou com uma solucao analitica seguindo a teoria de Mindlin, o
presente c
odigo produz resultados de grande qualidade. De igual modo, na
tabela 17.12 os resultados sao igualmente bons.
Nas tabelas 17.13 e 17.14 comparam-se as frequencias naturais com uma
soluc
ao analitica de Rayleygh-Ritz e uma solucao numerica de Liew7 , em que
os resultados obtidos s
ao muito bons.
Nas tabelas 17.15 e 17.16 estudam-se frequencias naturais duma placa
SCSC com h/a = 0.1, k = 0.822, = 0.3 e com h/a = 0.1, k = 0.822, =
0.3, respectivamente. Note-se que SCSC quer dizer que todos os bordos sao
encastrados, `
a excepc
ao dos bordos x = 0; L, que sao simplesmente apoiados.
7

K. M. Liew, J. Wang, T. Y. Ng and M. J. Tan, Free vibration and buckling


analyses of shear-deformable plates based on FSDT meshfree method, Journal of
Sound and Vibration, 276 (2004), 9971017.

17.11 Exemplo de vibrac


oes livres de placa
Modo no.
1
2
3
4
5
6
7
8
9
10
11
12
13

m
1
2
1
2
3
1
3
2
4
1
3
4
2

n 10 10 Q9
1
0.9304
1
2.2209
2
2.2209
2
3.4077
1
4.1594
3
4.1594
2
5.2142
3
5.2142
1
6.5559
4
6.5559
3
6.8560
2
7.4781
4
7.4781

309

3D * Mindlin *
0.932
0.930
2.226
2.219
2.226
2.219
3.421
3.406
4.171
4.149
4.171
4.149
5.239
5.206
5.239
5.206
6.520
6.520
6.889
6.834
7.511
7.446
7.511
7.446

Tabela 17.11. Frequencias naturais duma placa SSSS com h/a = 0.1, k =
0.833, = 0.3 (* - soluc
ao analitica)
Modo no.
1
2
3
4
5
6
7
8
9
10
11
12
13

m
1
2
1
2
3
1
3
2
4
1
3
4
2

n 10 10 Q9 Mindlin *
1
0.0965
0.0963
1
0.2428
0.2406
2
0.2428
0.2406
2
0.3875
0.3847
1
0.4934
0.4807
3
0.4934
0.4807
2
0.6353
0.6246
3
0.6353
0.6246
1
0.8587
0.8156
4
0.8587
0.8156
3
0.8798
0.8640
2
0.9971
0.9592
4
0.9971
0.9592

Tabela 17.12. Frequencias naturais duma placa SSSS com h/a = 0.01, k =
0.833, = 0.3 (* - soluc
ao analitica)

Nas tabelas 17.17 e 17.18 estudam-se frequencias naturais duma placa


CCCF com h/a = 0.1, k = 0.822, = 0.3 e com h/a = 0.1, k = 0.822, =
0.3, respectivamente. Note-se que CCCF quer dizer que todos os bordos sao
encastrados, `
a excepc
ao do bordo x = L, que e livre (Free).
Na figura 17.13 apresentam-se algumas malhas e uma deformada tipica.
Na figura 17.14 apresentam-se os modos de vibracao para placa encastrada,
h/a = 0.1, elemento Q4, 10 10.
Na figura 17.15 apresentam-se os modos de vibracao para placa simplesmente apoiada, h/a = 0.1, elemento Q4, 10 10.
Na figura 17.16 apresentam-se os modos de vibracao para placa SCSC
apoiada, h/a = 0.01, elemento Q4, 15 15.

310

17 An
alise de vibrac
oes livres
Modo no.
1
2
3
4
5
6
7
8
9
10
11
12
13

m
1
2
1
2
3
1
3
2
4
1
3
4
2

n 10 10 Q9 Rayleygh-Ritz [107] Liew et al. [108]


1
1.5927
1.5940
1.5582
1
3.0454
3.0390
3.0182
2
3.0454
3.0390
3.0182
2
4.2712
4.2650
4.1711
1
5.0462
5.0350
5.1218
3
5.0462
5.0780
5.1594
2
6.1002
6.0178
3
6.1002
6.0178
1
7.4696
7.5169
4
7.4696
7.5169
3
7.7062
7.7288
2
8.3113
8.3985
4
8.3879
8.3985

Tabela 17.13. Frequencias naturais duma placa CCCC com h/a = 0.1, k =
0.8601, = 0.3
Modo no.
1
2
3
4
5
6
7
8
9
10
11
12
13

m
1
2
1
2
3
1
3
2
4
1
3
4
2

n 10 10 Q9 Rayleygh-Ritz [107] Liew et al. [108]


1
0.1785
0.1754
0.1743
1
0.3699
0.3576
0.3576
2
0.3699
0.3576
0.3576
2
0.5457
0.5274
0.5240
1
0.6819
0.6402
0.6465
3
0.6847
0.6432
0.6505
2
0.8468
0.8015
3
0.8468
0.8015
1
1.1312
1.0426
4
1.1312
1.0426
3
1.1324
1.0628
2
1.2834
1.1823
4
1.2877
1.1823

Tabela 17.14. Frequencias naturais duma placa CCCC com h/a = 0.01, k =
0.8601, = 0.3

Na figura 17.16 apresentam-se os modos de vibracao para placa CCCF


apoiada, h/a = 0.1, elemento Q4, 15 15.

17.12 C
odigo MATLAB para exemplo de placa
Modo no.
1
2
3
4
5
6
7
8
9
10
11
12
13

m
1
2
1
2
3
1
3
2
4
1
3
4
2

311

n 15 15 Q4 Mindlin (Soluc
ao analitica)
1
1.2940
1.302
1
2.3971
2.398
2
2.9290
2.888
2
3.8394
3.852
1
4.3475
4.237
3
5.1354
4.936
2
5.5094
3
5.8974
1
6.9384
4
7.2939
3
7.7968
2
7.8516
4
8.4308

Tabela 17.15. Frequencias naturais duma placa SCSC com h/a = 0.1, k =
0.822, = 0.3
Modo no.
1
2
3
4
5
6
7
8
9
10
11
12
13

m
1
2
1
2
3
1
3
2
4
1
3
4
2

n 15 15 Q4 Mindlin (Soluc
ao analitica)
1
0.1424
0.1411
1
0.2710
0.2668
2
0.3484
0.3377
2
0.4722
0.4608
1
0.5191
0.4979
3
0.6710
0.6279
2
0.7080
3
0.7944
1
0.8988
4
1.0228
3
1.0758
2
1.1339
4
1.2570

Tabela 17.16. Frequencias naturais duma placa SCSC com h/a = 0.1, k =
0.822, = 0.3

17.12 C
odigo MATLAB para exemplo de placa
Apresenta-se um c
odigo de placa (vibracoesPlacaMindlinQ4.m), usando apenas
o elemento Q4, estando o autor certo que a curiosidade do leitor ira despertar
interesse para a programacao de outros elementos.
1
2
3
4
5
6
7

colordef white
% propriedades material
E0 = 10920; % mdulo Young
nu0 = 0.30; % coef. Poisson
rho=1;
% geometria
L = 1;
% lado

312

17 An
alise de vibrac
oes livres
Modo no.
1
2
3
4
5
6
7
8
9
10
11
12
13

m
1
2
1
2
3
1
3
2
4
1
3
4
2

n 15 15 Q4 Mindlin (Soluc
ao analitica)
1
1.0923
1.089
1
1.7566
1.758
2
2.7337
2.673
2
3.2591
3.216
1
3.3541
3.318
3
4.6395
4.615
2
4.9746
3
5.4620
1
5.5245
4
6.5865
3
6.6347
2
7.6904
4
8.1626

Tabela 17.17. Frequencias naturais duma placa CCCF com h/a = 0.1, k =
0.8601, = 0.3
Modo no.
1
2
3
4
5
6
7
8
9
10
11
12
13

m
1
2
1
2
3
1
3
2
4
1
3
4
2

n 15 15 Q4 Mindlin (Soluc
ao analitica)
1
0.1180
0.1171
1
0.1967
0.1951
2
0.3193
0.3093
2
0.3830
0.3740
1
0.4031
0.3931
3
0.5839
0.5695
2
0.6387
3
0.7243
1
0.8817
4
0.9046
3
1.0994
2
1.1407
4
1.1853

Tabela 17.18. Frequencias naturais duma placa CCCF com h/a = 0.01, k =
0.8601, = 0.3

8
9
10
11
12
13
14
15
16
17
18
19

thickness=0.1;
I=thickness^3/12;
kapa=0.8601;
% cccc / cccf
%kapa=0.822;
% scsc
kapa=5/6;
% ssss
numy
= 10;
% # elementos em xx
numx
= 10;
% # elementos em xx
numberOfModes=12;
% matriz elasticidade (duas partes)
% parte flexao
C_bending=I*E0/(1-nu0^2)*[
1
nu0

nu0
1

0
0

0 0;
0 0;

17.12 C
odigo MATLAB para exemplo de placa

313

1
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0

0.2

0.4

0.6

0.8

Figura 17.13. Malha de elementos finitos, elemento Q9, 15 15, elemento Q4,
10 10 e deformada tipica

20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40

0
0
0
% parte corte
C_shear=...
kapa*thickness*E0/2/(1+nu0)*[ 0
0
0
0
0

0
0
0

(1-nu0)/2
0
0

0
0
0
0
0

0
0
0
0
0

%malha
[node, element] = MalhaRectangular(L, L, numx, numy)
%
xx=node(:,1);
yy=node(:,2);
numnode=size(node,1);
% numero nos
numelem=size(element,1); % numero elementos
% inicializacao

0 0;
0 0;
0 0];

0
0
0
1
0

0;
0;
0;
0;
1];

314

17 An
alise de vibrac
oes livres

eig = 1.625867068959

eig = 3.202810229390

0.5

0.5

!0.5

!0.5

!1
!1

!0.5

0.5

!1
!1

eig = 3.202810229390
1

0.5

0.5

!0.5

!0.5

!0.5

0.5

0.5

eig = 4.468574738939

!1
!1

!0.5

!1
!1

!0.5

0.5

Figura 17.14. Modos de vibrac


ao para placa encastrada, h/a = 0.1, elemento Q4,
10 10

41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57

K=zeros(3*numnode,3*numnode); % matriz de rigidez


M=zeros(3*numnode,3*numnode); % matriz de massa
% calculo de MATRIZ DE RIGIDEZ e Matriz de Massa
% quadratura de 2 pontos
Q=[ -0.577350269189626 -0.577350269189626;
0.577350269189626 -0.577350269189626;
0.577350269189626 0.577350269189626;
-0.577350269189626 0.577350269189626]
W=[ 1;1;1;1];
for e=1:numelem
indice=element(e,:);
indiceB=[ indice indice+numnode indice+2*numnode];
nn=length(indice);

17.12 C
odigo MATLAB para exemplo de placa

eig = 0.939934553599

eig = 2.299781880509

0.5

0.5

!0.5

!0.5

!1
!1

!0.5

0.5

!1
!1

eig = 2.299781880509
1

0.5

0.5

!0.5

!0.5

!0.5

0.5

!0.5

0.5

eig = 3.527287828177

!1
!1

315

!1
!1

!0.5

0.5

Figura 17.15. Modos de vibrac


ao para placa simplesmente apoiada, h/a = 0.1,
elemento Q4, 10 10

58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74

for q=1:size(W,1)
% CICLO QUADRATURA
pt=Q(q,:);
% PONTO
wt=W(q);
% PESO
xi=pt(1);
eta=pt(2);
% FUNCOES DE FORMA E DERIVADAS COORDENADAS NATURAIS
N=1/4*[ (1-xi)*(1-eta);(1+xi)*(1-eta);
(1+xi)*(1+eta);(1-xi)*(1+eta)];
dNdxi=1/4*[-(1-eta), -(1-xi);1-eta,
-(1+xi);
1+eta,
1+xi;-(1+eta),
1-xi];
J0=node(indice,:)*dNdxi;
invJ0=inv(J0);
dNdx=dNdxi*invJ0;
% MATRIZ B
% FLEXAO

% MATRIZ JACOBIANA

316

17 An
alise de vibrac
oes livres
eig % &'()*+,-.,(./.

eig % &'*-&/..+&0&/*

&'0

&'0

&

&

!&'0

!&'0

!(
!(

!&'0

&

&'0

!(
!(

eig % &'+),)&)/*))&&
(

&'0

&'0

&

&

!&'0

!&'0

!&'0

&

&'0

!(
!(

!"#$%$&'()*&+*,(-&()

&'(

&'(

&

&

!&'(

!&'(

!&'(

&

&'(

!)
!)

!"#$%$&'.&.*0-,.0,,)

&'(

&'(

&

&

!&'(

!&'(

!&'(

&

&'(

!&'0

&

&'0

!&'(

&

&'(

!"#$%$&'.*-,*,(0)++-

!)
!)

&'0

!"#$%$&'+.&*+)*-,&/+

!)
!)

&

eig % &')-*(0/0.-0+0

!(
!(

!&'0

!)
!)

!&'(

&

&'(

Figura 17.16. Modos de vibrac


ao para placa SCSC, h/a = 0.01, elemento Q4,
15 15 (apenas os contornos)

75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91

B_b=zeros(5,3*nn);
B_b(1,nn+1:2*nn) = dNdx(:,1);
B_b(3,nn+1:2*nn) = dNdx(:,2);

B_b(2,2*nn+1:3*nn)= dNdx(:,2);
B_b(3,2*nn+1:3*nn)= dNdx(:,1);

% CORTE
B_s=zeros(5,3*nn);
B_s(4,1:nn)
= dNdx(:,1);
B_s(4,nn+1:2*nn) = N;

B_s(5,1:nn)
= dNdx(:,2);
B_s(5,2*nn+1:3*nn)= N;

% RIGIDEZ E MASSA NO PONTO DE QUADRATURA


K(indiceB,indiceB)=K(indiceB,indiceB)+B_b*C_bending*B_b*W(q)*det(J0);
M(indice,indice)=M(indice,indice)+N*N*thickness*rho*W(q)*det(J0);
M(indice+numnode,indice+numnode)=M(indice+numnode,indice+numnode)+...
N*N*I*rho*W(q)*det(J0);
M(indice+2*numnode,indice+2*numnode)=M(indice+2*numnode,indice+2*numnode)+...
N*N*I*rho*W(q)*det(J0);

17.12 C
odigo MATLAB para exemplo de placa
eig = 1.092330699490

eig = 1.756645221669

0.5

0.5

!0.5

!0.5

!1
!1

!0.5

0.5

!1
!1

eig = 2.733677737330
1

0.5

0.5

!0.5

!0.5

!0.5

0.5

!1
!1

eig = 3.354085523124
1

0.5

0.5

!0.5

!0.5

!0.5

0.5

!1
!1

eig = 4.974616691112
1

0.5

0.5

!0.5

!0.5

!0.5

0.5

0.5

!0.5

0.5

!0.5

0.5

eig = 5.461985943929

!1
!1

eig = 4.639498607036

!1
!1

!0.5

eig = 3.259086767279

!1
!1

317

!1
!1

!0.5

0.5

Figura 17.17. Modos de vibrac


ao para placa CCCF, h/a = 0.1, elemento Q4,
15 15 (apenas os contornos)

92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108

% VECTOR DE CARGA NO PONTO DE QUADRATURA


%
f(indice)=f(indice)+N*P*det(J0)*wt;
end
end
% MATRIZ DE RIGIDEZ (CORTE)
% quadratura de 1 ponto
Q=[0 0];
W=[4];
for e=1:numelem
indice=element(e,:);
indiceB=[ indice indice+numnode indice+2*numnode];
nn=length(indice);
for q=1:size(W,1)

318
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157

17 An
alise de vibrac
oes livres

pt=Q(q,:);
wt=W(q);
xi=pt(1);
eta=pt(2);
% FUNCOES DE FORMA E DERIVADAS COORDENADAS NATURAIS
N=1/4*[ (1-xi)*(1-eta);(1+xi)*(1-eta);
(1+xi)*(1+eta);(1-xi)*(1+eta)];
dNdxi=1/4*[-(1-eta), -(1-xi);1-eta,
-(1+xi);
1+eta,
1+xi;-(1+eta),
1-xi];
J0=node(indice,:)*dNdxi;
invJ0=inv(J0);
dNdx=dNdxi*invJ0;
[B]flexao
B_b=zeros(5,3*nn);
B_b(1,nn+1:2*nn) = dNdx(:,1); B_b(2,2*nn+1:3*nn)= dNdx(:,2);
B_b(3,nn+1:2*nn) = dNdx(:,2); B_b(3,2*nn+1:3*nn)= dNdx(:,1);
[B]corte
B_s=zeros(5,3*nn);
B_s(4,1:nn)
= dNdx(:,1); B_s(5,1:nn)
= dNdx(:,2);
B_s(4,nn+1:2*nn) = N;
B_s(5,2*nn+1:3*nn)= N;

%
K(indiceB,indiceB)=K(indiceB,indiceB)+B_s*C_shear
end
end

*B_s*W(q)*det(J0);

% BC
fixedNodeW =find(yy==max(node(:,2))|xx==min(node(:,1))...
|xx==max(node(:,1))|yy==min(node(:,2)));
%next two lines: simply supported case
fixedNodeTX =find(yy==max(node(:,2))|yy==min(node(:,2)));
fixedNodeTY =find(xx==max(node(:,1))| xx==min(node(:,1)));
%next two lines: clamped case
%fixedNodeTX =fixedNodeW;
%fixedNodeTY =fixedNodeTX;
%next line: scsc case
%fixedNodeTX =find(xx==max(node(:,2))|xx==min(node(:,2)));
%fixedNodeTY=[];
%next 3 line3: cccf case
%fixedNodeW=find(yy==max(node(:,2))|xx==min(node(:,1))|yy==min(node(:,2)));
%fixedNodeTX =fixedNodeW;
%fixedNodeTY =fixedNodeTX;
dofs=[fixedNodeW;fixedNodeTX+numnode;fixedNodeTY+2*numnode]
activeDof=setdiff([1:3*numnode],[dofs]);
%
G=E0/2.6;
% V : mode shape

17.12 C
odigo MATLAB para exemplo de placa
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206

319

% D : frequency
%
activeDof=setdiff([1:3*numnode], ...
[fixedNodeW;fixedNodeTX+numnode;fixedNodeTY+2*numnode]);
[V,D] = eig(K(activeDof,activeDof),M(activeDof,activeDof));
D = diag(sqrt(D)*L*sqrt(rho/G));
[D,ii] = sort(D); ii = ii(1:numberOfModes); VV = V(:,ii);
activeDofW=setdiff([1:numnode],[fixedNodeW]);NNN=size(activeDofW);
%
VVV(1:numnode,1:numberOfModes)=0;
for i=1:numberOfModes
VVV(activeDofW,i)=VV(1:NNN,i);
end
%
NN=numnode;N=sqrt(NN);
x=linspace(-L,L,numx+1);
y=linspace(-L,L,numy+1);
% desenho de modos de vibracao
figure
[xx,yy] = meshgrid(x,y);
fine = -1:.02:1;
[xxx,yyy] = meshgrid(fine,fine);
uu = zeros(NN,NN);
[ay,ax] = meshgrid([.56 .04],[.1 .5]);
for i = 1:4
uu = reshape(VVV(1:NN,i),N,N);
uu = uu/norm(uu(:),inf);
uuu = interp2(xx,yy,uu,xxx,yyy,cubic);
subplot(position,[ax(i) ay(i) .38 .38])
contour(fine,fine,uuu,-0.9:.2:.9)
colormap(1e-6*[1 1 1]); axis square
title([eig = num2str(D(i),%18.12f)])
end
%
figure
[xx,yy] = meshgrid(x,y);
fine = -1:.02:1;
[xxx,yyy] = meshgrid(fine,fine);
uu = zeros(NN,NN);
[ay,ax] = meshgrid([.56 .04],[.1 .5]);
for i = 5:8
uu = reshape(VVV(1:NN,i),N,N);
uu = uu/norm(uu(:),inf);
uuu = interp2(xx,yy,uu,xxx,yyy,cubic);
subplot(position,[ax(i-4) ay(i-4) .38 .38])
contour(fine,fine,uuu,-0.9:.2:.9)
colormap(1e-6*[1 1 1]); axis square
title([eig = num2str(D(i),%18.12f)])
end

320
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237

17 An
alise de vibrac
oes livres
%
figure
[xx,yy] = meshgrid(x,y);
fine = -1:.02:1;
[xxx,yyy] = meshgrid(fine,fine);
uu = zeros(NN,NN);
[ay,ax] = meshgrid([.56 .04],[.1 .5]);
for i = 9:12
uu = reshape(VVV(1:NN,i),N,N);
uu = uu/norm(uu(:),inf);
uuu = interp2(xx,yy,uu,xxx,yyy,cubic);
subplot(position,[ax(i-8) ay(i-8) .38 .38])
contour(fine,fine,uuu,-0.9:.2:.9)
colormap(1e-6*[1 1 1]); axis square
title([eig = num2str(D(i),%18.12f)])
end
%
figure
% Reshape them to 2D grid, interpolate to finer grid, and plot:
[xx,yy] = meshgrid(x,y);
fine_x = -1:.02:1;fine_y = -1:.02:1; [xxx,yyy] = meshgrid(fine_x,fine_y);
uu = zeros(NN,NN);
[ay,ax] = meshgrid([.56 .04],[.1 .5]); clf
for i = 1:4
uu = reshape(VVV(1:NN,i),N,N);
uu = uu/norm(uu(:),inf);
uuu = interp2(xx,yy,uu,xxx,yyy,cubic);
subplot(2,2,i)
meshc(xxx,yyy,uuu)
title([eig = num2str(real(D(i)),%18.12f)])
end

17.13 Elemento Q4
A an
alise de vibrac
oes livres com o elemento de placa Q4 segue de muito
perto o que foi apresentado para o elemento Q4, dado que a matriz de massa
se calcula exactamente da mesma forma. Apresenta-se de seguida a listagem
completa do c
odigo e alguns resultados com este elemento.
Considera-se uma placa quadrada, com lado a, razao espessura/lado h/a =
0.01 e 0.1. A frequencia adimensional e definida por
r

= mn a
,
G
onde representa a frequencia, e a massa por unidade de volume, G
e o m
odulo de corte, G = E/(2(1 + )), E o modulo de elasticidade e

17.13 Elemento Q4

321

o coeficiente de Poisson. Os indices m e n representam as semi-ondas dos


modos de vibrac
ao nas direccoes x e y, respectivamente.
Consideram-se placas isotropicas, encastradas (CCCC) e simplesmente
apoiadas (SSSS) em torno dos seus 4 bordos. Consideram-se ainda placas
SCSC e CCCF, onde o indice F representa bordo livre. Para as placas CCCC
e CCCF usa-se k = 0.8601, para as SCSC k = 0.822 e para as SSSS, k = 5/6.
Na tabela 17.19 apresenta-se a convergencia da frequencia fundamental normalizada para placa encastrada h/a = 0.01, k = 0.8601, = 0.3 .
Compara-se com a soluc
ao analitica, que pode ser consultada num artigo de
Dawe8 . Como se pode verificar, usando o elemento Q4 chega-se a bons resultados.
10 10
15 15
20 20
25 25
35 35

0.1801 Soluc
ao analitica: 0.1754
0.1774
0.1765
0.1761
0.1756

Tabela 17.19. Elemento Q4. Convergencia da frequencia fundamental normalizada para placa encastrada h/a = 0.01, k = 0.8601, = 0.3

Da mesma forma, na tabela 17.20 apresenta-se a convergencia da frequencia


fundamental normalizada para placa simplesmente apoiada h/a = 0.01, k =
0.8333, = 0.3. Os resultados sao mais proximos da solucao analitica que para
o caso CCCC.
10 10
15 15
20 20
25 25
35 35

Q4
Q4
Q4
Q4
Q4

0.0973 Soluc
ao analitica: 0.0963
0.0968
0.0965
0.0965
0.0964

Tabela 17.20. Elemento Q4. Convergencia da frequencia fundamental normalizada para placa simplesmente apoiada h/a = 0.01, k = 0.8333, = 0.3

Apresenta-se um c
odigo de placa (q4gammaMindlin1.m).
1
2
3
4
5
6

clear all
colordef white
tic
% propriedades material
E0 = 10920;
% mdulo Young
nu0 = 0.30;
% coef. Poisson
8

D. J. Dawe and O. L. Roufaeil, Rayleigh-Ritz vibration analysis of Mindlin plates,


Journal of Sound and Vibration, 69 (3) (1980), 345359.

322
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55

17 An
alise de vibrac
oes livres
rho=1;
% geometria
L = 1;
% lado
thickness=0.01;
I=thickness^3/12;
P=-1;
% correcao de corte
kapa=0.8601;
% cccc / cccf
%kapa=0.822;
% scsc
kapa=5/6;
% ssss
numy
= 10;
% # elementos em xx
numx
= 10;
% # elementos em xx
%malha
[node, element] = MalhaRectangular(L, L, numx, numy);
figure
plot_mesh(node,element,Q4,k)
axis off
%
xx=node(:,1);
yy=node(:,2);
numnode=size(node,1);
% numero nos
numelem=size(element,1); % numero elementos
% matriz elasticidade (duas partes)
vh=E0*thickness^3/12/(1-nu0^2)*[1 nu0 0; nu0 1 0; 0 0 (1-nu0)/2];
vhc=kapa*E0/2/(1+nu0)*thickness*[1 0; 0 1];
%
disp([num2str(toc),
dados ])
U=zeros(3*numnode,1);
% vector de deslocamentos nodais
f=zeros(3*numnode,1);
% vector de carga externa
K=sparse(3*numnode,3*numnode); % matriz de rigidez
M=sparse(3*numnode,3*numnode); % matriz de rigidez
% rigidez
% quadratura
ih=3;ihc=2;
pg=.577350269189626; pg1=-.577350269189626;
vpg=[pg1,pg,pg,pg1;pg1,pg1,pg,pg];vwg=[1 1 1 1];
for e=1:numelem
indice=element(e,:);
indiceB=[ indice(1)*3-2
indice(2)*3-2
indice(3)*3-2
indice(4)*3-2
nn=length(indice);

indice(1)*3-1
indice(2)*3-1
indice(3)*3-1
indice(4)*3-1

vcore(1:2:7)=node(indice,1);
vcore(2:2:8)=node(indice,2);
%
[vjnx,vjny]=jacnd4(vcore) ;

indice(1)*3 ...
indice(2)*3 ...
indice(3)*3 ...
indice(4)*3];

17.13 Elemento Q4
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104

vke=zeros(12);
for ig=1:4
% ponto
[vn,vksi,veta]
[vji,detj]
[vb,vbc]

323

de gauss
=nq4(vpg(1,ig),vpg(2,ig)) ;
=jac2d(vksi,veta,vcore) ;
=bq4gam(vji,vksi,veta,vjnx,vjny) ;

%
K(indiceB,indiceB)=K(indiceB,indiceB)+vb*vh*detj*vwg(ig)*vb;
K(indiceB,indiceB)=K(indiceB,indiceB)+vbc*vhc*detj*vwg(ig)*vbc;
%
f(indice*3-2)=f(indice*3-2)+vn*P*detj*vwg(ig);
%
M(indice*3-2,indice*3-2)=M(indice*3-2,indice*3-2)+...
vn*vn*thickness*rho*detj*vwg(ig);
M(indice*3-1,indice*3-1)=M(indice*3-1,indice*3-1)+...
vn*vn*I*rho*detj*vwg(ig);
M(indice*3,indice*3)=M(indice*3,indice*3)+...
vn*vn*I*rho*detj*vwg(ig);
end
% ponto de gauss
end
%noCentral=find(node(:,1)==L/2 & node(:,2)==L/2);
%f(noCentral*3-2)=-1.0;
% BC
fixedNodeW =find(yy==max(node(:,2))|xx==min(node(:,1))...
|xx==max(node(:,1))|yy==min(node(:,2)));
%next two lines: simply supported case
fixedNodeTX =find(yy==max(node(:,2))|yy==min(node(:,2)));
fixedNodeTY =find(xx==max(node(:,1))| xx==min(node(:,1)));
%next two lines: clamped case
%fixedNodeTX =fixedNodeW;
%fixedNodeTY =fixedNodeTX;
dofs=[fixedNodeW*3-2;fixedNodeTX*3-1;fixedNodeTY*3];
activeDof=setdiff([1:3*numnode],[dofs]);
U=K(activeDof,activeDof)\f(activeDof);
U1=zeros(3*numnode,1);
U1(activeDof)=U;
figure
plot3(xx,yy,U1(1:3:3*numnode),.)
format long
D1=E0*thickness^3/12/(1-nu0^2);
%min(U1(1:3:3*numnode))*D1/L^2
min(U1(1:3:3*numnode))*D1/L^4

324
105
106
107
108
109
110
111
112
113

17 An
alise de vibrac
oes livres
%
numberOfModes=24;
G=E0/2.6;
% VV : mode shape
% D : frequency
[V,D] = eigs(K(activeDof,activeDof),M(activeDof,activeDof),numberOfModes,0);
D = diag(sqrt(D)*L*sqrt(rho/G));
[D,ii] = sort(D); ii = ii(1:numberOfModes); VV = V(:,ii);
D(1:10)

17.14 Elemento DKT


Lista-se agora a rotina (bdkm.m) que permite calcular a matriz de massa deste
elemento.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29

function [vm]=bdkm(rho,espessura,detj)
% % massa

..................................
c=espessura*detj*rho/(24.d0) ;
% deslocamento transverso ..................................
ii=1
;
for i=1:3
jj=1
;
for j=1:3
vm(ii,jj)=c;
jj=jj+3
;
end
vm(ii,ii)=c+c;
ii=ii+3
;
end
% rotacoes ..................................
ch=espessura*espessura/12;
ii=1
;
for i=1:3
jj=1
;
for j=1:3
c=vm(ii,jj)*ch
;
vm(ii+1,jj+1)=c
;
vm(ii+2,jj+2)=c
;
jj=jj+3 ;
end
ii=ii+3 ;
end

bem como o c
odigo completo (dkt.m) para a analise de vibracoes livres de
placas usando o elemento DKT.
1

clear all

17.14 Elemento DKT


2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50

colordef white
tic
% propriedades material
E0 = 10920;
% mdulo Young
nu0 = 0.30;
% coef. Poisson
rho=1;
% geometria
L = 1;
% lado
thickness=0.01;
I=thickness^3/12;
P=-1;
% malha
numy
= 20;
% # elementos em xx
numx
= 20;
% # elementos em xx
%malha
nnx=numx+1;
nny=numy+1;
node=square_node_array([0 0],[L 0],[L L],[0 L],nnx,nny);
node_pattern1=[ 1 2 nnx+1 ];
node_pattern2=[ 2 nnx+2 nnx+1 ];
inc_u=1;
inc_v=nnx;
element=[make_elem(node_pattern1,numx,numy,inc_u,inc_v);
make_elem(node_pattern2,numx,numy,inc_u,inc_v) ];
%
xx=node(:,1);
yy=node(:,2);
numnode=size(node,1);
% numero nos
numelem=size(element,1); % numero elementos
% matriz elasticidade (duas partes)
vh=E0*thickness^3/12/(1-nu0^2)*[1 nu0 0; nu0 1 0; 0 0 (1-nu0)/2];
%
disp([num2str(toc),
dados ])
U=zeros(3*numnode,1);
% vector de deslocamentos nodais
f=zeros(3*numnode,1);
% vector de carga externa
K=sparse(3*numnode,3*numnode); % matriz de rigidez
M=sparse(3*numnode,3*numnode); % matriz de rigidez
% rigidez
% quadratura
ih=3;ihc=2;
pg= .166666666666666;
pg1= .666666666666666;
vpg=[pg ,pg1 ,pg;pg ,pg ,pg1];vwg=[pg pg pg];
idle=9;ike=81;innel=3;ipg=3;ih=3;
for e=1:numelem
indice=element(e,:);

325

326
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99

17 An
alise de vibrac
oes livres
indiceB=[ indice(1)*3-2 indice(1)*3-1 indice(1)*3 ...
indice(2)*3-2 indice(2)*3-1 indice(2)*3 ...
indice(3)*3-2 indice(3)*3-1 indice(3)*3 ];
vcore(1:2:5)=node(indice,1); vcore(2:2:6)=node(indice,2);
[vcos,vl]=t3cos(vcore);
%
% determinante J
detj=( vcore(3)-vcore(1) )*( vcore(6)-vcore(2) ) ...
-( vcore(2)-vcore(4) )*( vcore(1)-vcore(5) );
% inversa da matriz jacobiana
vji(2,2)= ( vcore(3)-vcore(1) )/detj
;
vji(2,1)= ( vcore(1)-vcore(5) )/detj
;
vji(1,2)= ( vcore(2)-vcore(4) )/detj
;
vji(1,1)= ( vcore(6)-vcore(2) )/detj
;
% inicializao K, M
vke=zeros(9);
vm=zeros(9);
%
for ig=1:3
% ponto de gauss
[vb]=bdkt(vl,vcos,vji,vpg(1,ig),vpg(2,ig));
%
K(indiceB,indiceB)=K(indiceB,indiceB)+vb*vh*detj*vwg(ig)*vb;
end
% ponto de gauss
f(indice*3-2)=f(indice*3-2)+P*detj/6;
[vm]=bdkm(rho,thickness,detj) ;
M(indiceB,indiceB)=M(indiceB,indiceB)+vm;
end
%noCentral=find(node(:,1)==L/2 & node(:,2)==L/2);
%f(noCentral*3-2)=-1.0;
% BC
fixedNodeW =find(yy==max(node(:,2))|xx==min(node(:,1))...
|xx==max(node(:,1))|yy==min(node(:,2)));
%next two lines: simply supported case
fixedNodeTX =find(yy==max(node(:,2))|yy==min(node(:,2)));
fixedNodeTY =find(xx==max(node(:,1))| xx==min(node(:,1)));
%next two lines: clamped case
%fixedNodeTX =fixedNodeW;
%fixedNodeTY =fixedNodeTX;

dofs=[fixedNodeW*3-2;fixedNodeTX*3-1;fixedNodeTY*3];
activeDof=setdiff([1:3*numnode],[dofs]);

17.14 Elemento DKT


100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118

327

U=K(activeDof,activeDof)\f(activeDof);
U1=zeros(3*numnode,1);
U1(activeDof)=U;
figure
plot3(xx,yy,U1(1:3:3*numnode),.)
format long
D1=E0*thickness^3/12/(1-nu0^2);
%min(U1(1:3:3*numnode))*D1/L^2
min(U1(1:3:3*numnode))*D1/L^4
%
G=E0/2.6;
% V : mode shape
% D : frequency
[V,D] = eigs(K(activeDof,activeDof),M(activeDof,activeDof),24,0);
D = diag(sqrt(D)*L*sqrt(rho/G));
[D,ii] = sort(D);
D(1:10)

A an
alise de vibrac
oes livres com o elemento de placa DKT e aqui examinada.
Considera-se uma placa quadrada, com lado a, razao espessura/lado h/a =
0.01 e 0.1. A frequencia adimensional e definida por
r
= mn a ,

G
onde representa a frequencia, e a massa por unidade de volume, G
e o m
odulo de corte, G = E/(2(1 + )), E o modulo de elasticidade e
o coeficiente de Poisson. Os indices m e n representam as semi-ondas dos
modos de vibrac
ao nas direccoes x e y, respectivamente.
Consideram-se placas isotropicas, encastradas (CCCC) e simplesmente
apoiadas (SSSS) em torno dos seus 4 bordos.
Na tabela 17.21 apresenta-se a convergencia da frequencia fundamental normalizada para placa encastrada h/a = 0.01, k = 0.8601, = 0.3 .
Compara-se com a soluc
ao analitica, que pode ser consultada num artigo de
Dawe9 . Como se pode verificar, usando o elemento Q4 chega-se a bons resultados.
Da mesma forma, na tabela 17.22 apresenta-se a convergencia da frequencia
fundamental normalizada para placa simplesmente apoiada h/a = 0.01, k =
0.8333, = 0.3. Os resultados sao mais proximos da solucao analitica que para
o caso CCCC.
9

D. J. Dawe and O. L. Roufaeil, Rayleigh-Ritz vibration analysis of Mindlin plates,


Journal of Sound and Vibration, 69 (3) (1980), 345359.

328

17 An
alise de vibrac
oes livres
10 10
15 15
20 20
25 25
35 35

0.1772 Soluc
ao analitica: 0.1754
0.1763
0.1760
0.1758
0.1757

Tabela 17.21. Elemento DKT. Convergencia da frequencia fundamental normalizada para placa encastrada h/a = 0.01, = 0.3
10 10
15 15
20 20
25 25
35 35

Q4
Q4
Q4
Q4
Q4

0.0975 Soluc
ao analitica: 0.0963
0.0968
0.0966
0.0965
0.0964

Tabela 17.22. Elemento DKT. Convergencia da frequencia fundamental normalizada para placa simplesmente apoiada h/a = 0.01, k = 0.8333, = 0.3

17.15 Listagem do gerador de malhas rectangulares


Apresenta-se a listagem do gerador de malhas rectangulares, que se torna u
til
para gerar problemas de geometria simples (MalhaRectangular.m).
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26

function [node, element] = ...


MalhaRectangular(comprimentoX, comprimentoY, nelemX, nelemY)
% [node, element] = MalhaRectangular(5, 10, 4, 8)
% malha rectangular com elementos Q4
deltaX = comprimentoX/nelemX;
deltaY = comprimentoY/nelemY;
nodesX = nelemX+1;
nodesY = nelemY+1;
% coordenadas nos
node=[];
for j=1:nodesY; for i=1:nodesX
x = (i-1)*deltaX; y = (j-1)*deltaY;
node=[node; x y];
end;end
% connectividades
element=[];
for j=1:nelemY;for i=1:nelemX
i1 = i+(j-1)*nodesX;i2 = i1+1;
i3 = i2+nodesX;i4 = i1+nodesX;
element=[element; i1 i2 i3 i4];
end;end

17.15 Listagem do gerador de malhas rectangulares


27
28

329

A
Conceitos b
asicos de MATLAB

A.1 Introduc
ao
O MATLAB 1 e uma ferramenta de programacaao interactiva baseada em
c
alculo matricial. Foi desenvolvida pela MathWorks para calculo cientifico e
apoio a engenharia.
Pretende-se neste captulo ilustrar algumas das capacidades do MATLAB.
Sugere-se a consulta de livros de MATLAB e de consulta ao (muito u
til) help
do MATLAB.

A.2 Matrizes
Talvez o elemento mais importante do MATLAB seja a matriz rectangular,
onde os vectores s
ao considerados como matrizes linha ou coluna e os escalares
como matrizes 1 1.
As matrizes podem ser introduzidas em MATLAb de varias formas:

por uma lista de elementos


por func
oes ou express
oes do proprio MATLAB
por valores vindos de ficheiros externos

Considere-se o ambiente de trabalho, na janela MATLAB ilustrada na figura


A.1.
Seja, a ttulo de exemplo, a expressao A = [1 2 3; 4 5 6; 7 8 9], que
produzir
a a matriz 3 por 3, sendo a esta matriz afectada a variavel A. Note-se
que se pode separar os elementos duma linha por espaco, mas deve colocar-se
o ponto e vrgula para mudar de linha.
>> A = [1 2 3; 4 5 6; 7 8 9]
1

MATLAB e uma marca registada da The MathWorks, Inc., USA

332

A Conceitos b
asicos de MATLAB

Figura A.1. Ambiente tipico MATLAB

A =
1
4
7

2
5
8

3
6
9

>>
Note-se tambem que os elementos das matrizes podem ser complexos, o que
n
ao ser
a aqui abordado, dada a sua irrelevancia na maior parte das aplicacoes
de elementos finitos (sen
ao mesmo em todas). Caso existam valores tabelados num file externo, digamos dados.dat, o comando load dados.dat faz a
leitura de todos os valores e podera coloca-los na variavel que se entender u
til.
Podem criar-se matrizes directamente usando algumas das matrizes ja incluidas no MATLAB, por exemplo, pelas funcoes rand ou hilb. O comando
rand(n) produz uma matriz de dimensao n com elementos gerados de forma
aleat
oria, como se pode ver a seguir
>> rand(3)
ans =
0.9501
0.2311
0.6068

0.4860
0.8913
0.7621

0.4565
0.0185
0.8214

A.3 Operac
oes com matrizes

333

>>
Podem tambem criar-se do mesmo modo matrizes rectangulares, usando
rand(m,n), onde m, n representam o n
umero de linhas e colunas, respectivamente.
>> rand(2,3)
ans =
0.4447
0.6154

0.7919
0.9218

0.7382
0.1763

>>
O comando hilb(m,n) produz uma matriz mal-condicionada, por exemplo
>> hilb(3)
ans =
1.0000
0.5000
0.3333

0.5000
0.3333
0.2500

0.3333
0.2500
0.2000

Podemos ainda criar matrizes atraves de ciclos FOR/END, a ver adiante.

A.3 Operac
oes com matrizes
Em MATLAB est
ao disponveis as seguintes operacoes:
+

\
/

adicao
subtraccao
multiplicacao
potencia
transposta
divisao `a esquerda
divisao `a direita

Note-se que se pode aplicar estas operacoes a escalares. Deve ainda tomarse cuidado para respeitar as dimensoes das matrizes envolvidas, por forma a
ser possvel realizar as operacoes matriz-matriz.
Em particular, note-se a divisao. Seja A uma matriz nao singular quadrada
e b um vector coluna compatvel. Entao x = A\b representa a solucao de
A x = b, bem como x = b/A e a solucao de x A = b.

334

A Conceitos b
asicos de MATLAB

Na divis
ao `
a esquerda, usa-se a eliminacao Gaussiana para matrizes quadradas e outras tecnicas para matrizes rectangulares, como a ortogonalizacao
de Householder.
Note-se que as operac
oes , , \, e / devem ser precedidas por ponto, ou
seja, [1,2,3].*[1,2,3] ou [1,2,3].^2 produzem
>> [1,2,3].*[1,2,3]
ans =
1

>> [1,2,3].^2
ans =
1

A.4 Express
oes e vari
aveis
O MATLAB e uma linguagem interpretativa, onde cada expressao do tipo
vari
avel = express~
ao ou simplesmente express~
ao.
As express
oes s
ao compostas por operadores, funcoes ou variaveis, produzindo sempre uma matriz que podera ser usada para futuros calculos.
Exemplos
>> a=3
a =
3
>> 3
ans =
3
>> ans*4
ans =
12
Note-se que o eco para o ecran podera ser suprimido se se colocar no final
da express
ao o ponto e vrgula. Podemos ainda colocar varias expressoes numa
mesma linha, desde que separadas por ponto e vrgula.

A.5 Func
oes de construc
ao de matrizes

335

>> a=3;b=cos(10);c=20;
>>
O MATLAB e case-sensitive, ou seja as variaveis a e A sao interpretadas
distintamente.
Alguns comandos importantes sao o who e whos que listam as variaveis no
espaco de trabalho,
>> who
Your variables are:
A

ans

>>
Podemos apagar todas as variaveis (nao permanentes) do espaco de trabalho,
fazendo clear all ou apagar apenas uma dada variavel, fazendo clear A,
por exemplo.
A vari
avel permanente eps da-nos uma ideia do roundoffda maquina, o
que pode ser interessante para estudos de tolerancia, por exemplo, em processos iterativos. Na m
aquina que produziu este texto (um ibook de 12 polegadas), aparece
>> eps
ans =
2.2204e-16
>>
Pode-se parar o c
alculo fazendo CTRL-C ou maca-C (no MAC).

A.5 Func
oes de construc
ao de matrizes
Algumas func
oes para construcao de matrizes:
eye
zeros
ones
diag
triu
tril
rand
hilb
magic
toeplitz

matriz identidade
matriz de zeros
matriz de uns
cria ou extrai diagonais
matriz triangular superior
matriz triangular superior
matriz aleatoria
matriz de Hilbert
matriz quadrada magic
matriz Toepliz

336

A Conceitos b
asicos de MATLAB

Podemos obter informacaao sobre estas matrizes, fazendo, por exemplo


help eye, obtendo
>> help eye
EYE Identity matrix.
EYE(N) is the N-by-N identity matrix.
EYE(M,N) or EYE([M,N]) is an M-by-N matrix with 1s on
the diagonal and zeros elsewhere.
EYE(SIZE(A)) is the same size as A.
EYE with no arguments is the scalar 1.
EYE(M,N,CLASSNAME) or EYE([M,N],CLASSNAME) is an M-by-N matrix with 1s
of class CLASSNAME on the diagonal and zeros elsewhere.
Example:
x = eye(2,3,int8);
See also speye, ones, zeros, rand, randn.
Reference page in Help browser
doc eye

>>
Alguns exemplos do que foi aqui apresentado:
>> eye(3)
ans =
1
0
0

0
1
0

>> diag(eye(3))
ans =
1
1
1
>> magic(4)
ans =

0
0
1

A.5 Func
oes de construc
ao de matrizes

16
5
9
4

2
11
7
14

3
10
6
15

337

13
8
12
1

>> ones(3,2)
ans =
1
1
1

1
1
1

>>
Podemos construir matrizes por blocos, por exemplo
>> B = [A, zeros(3,2); zeros(2,3), ones(2)]
B =
1
4
7
0
0

2
5
8
0
0

3
6
9
0
0

0
0
0
1
1

0
0
0
1
1

>>
construindo assim de forma f
acil uma matriz 5 por 5.
For, while, if and
O fluxo de informac
ao pode ser controlado de v
arias formas. Algumas das func
oes
ou relac
oes mais u
teis s
ao discutidas a seguir.

A.5.1 For/End
Para um dado n, digamos n = 4, podemos escrever
>> x = []; for i = 1:4, x=[x,i^2], end
x =
1

x =
1

338

A Conceitos b
asicos de MATLAB

x =
1

x =
16

e agora em ordem inversa


>> x = []; for i = 4:-1:1, x=[x,i^2], end
x =
16

x =
16

16

16

x =

x =
1

Note-se a anulac
ao da matriz x = []. Em geral, deve-se sempre anular as matrizes
antes dos ciclos FOR/END.
>> for i = 1:3
for j = 1:4
H(i, j) = 1/(i+j-1);
end
end
>> H
H =
1.0000
0.5000
0.3333
>>

0.5000
0.3333
0.2500

0.3333
0.2500
0.2000

0.2500
0.2000
0.1667

A.5 Func
oes de construc
ao de matrizes

339

While.
A forma geral do ciclo while e while relac
ao express
oes end
As express
oes s
ao executadas repetidamente enquanto a relac
ao for verdadeira.
Por exemplo, para um dado n
umero a, o c
odigo a seguir indicado calcula e mostra
o menor inteiro n
ao negativo n tal que 2n a:
n = 0; while 2n < a n = n + 1; end n
com o resultado
>> n = 0;
while 2^n < a
n = n + 1;
end
n
n =
2
If.
A forma geral da express
ao if e if relac
ao express
oes end As express
oes ser
ao
executadas apenas se a relaca
o for verdadeira. Podemos ter ciclos if dentro de
outros, por exemplo
if n < 0 parity = 0; elseif rem(n,2) == 0 parity = 2; else parity = 1;
end
rela
c
oes.
Os operadores relacionais em MATLAB s
ao
<
>
<=
>=
==
=

menor que
maior que
menor ou igual a
maior ou igual a
igual
diferente.

Note-se a diferenca entre a igualdade = e a igualdade de relac


ao == . As relac
oes
podem ainda ser quantificadas pelos operadores l
ogicos
&
|

e
ou
n
ao.

As relac
oes produzem o valor 0 ou 1, quando aplicados a escalares, como por
exemplo

>> 3 < 5, 3 > 5, 3 == 5,


ans =
1

340

A Conceitos b
asicos de MATLAB

ans =
0

ans =
0
O mesmo acontece nas matrizes, como por exemplo,
>> a = rand(5), b = triu(a), a == b
a =
0.4057
0.9355
0.9169
0.4103
0.8936

0.0579
0.3529
0.8132
0.0099
0.1389

0.2028
0.1987
0.6038
0.2722
0.1988

0.0153
0.7468
0.4451
0.9318
0.4660

0.4186
0.8462
0.5252
0.2026
0.6721

0.4057
0
0
0
0

0.0579
0.3529
0
0
0

0.2028
0.1987
0.6038
0
0

0.0153
0.7468
0.4451
0.9318
0

0.4186
0.8462
0.5252
0.2026
0.6721

b =

ans =
1
0
0
0
0

1
1
0
0
0

1
1
1
0
0

1
1
1
1
0

1
1
1
1
1

A relac
ao entre matrizes e um pouco mais peculiar. Por exemplo, se queremos
usar a relac
ao A = B, fazemos
if A == B express
ao end
enquanto que se se quiser usar A = B, devemos usar
if any(any(A = B)) express
ao end ou if A == B else express
ao end
Note-se que
if A = B, express
ao, end n
ao produzir
a o feito desejado, dado que express
ao
s
o ser
a executado se cada um dos elementos correspondentes de A e B diferirem. As
func
oes any e all podem ser usadas para reduzir as relac
oes matriciais a vectores e
escalares. Note-se que s
ao necess
arios dois any porque any e uma operac
ao vectorial.

A.8 Func
oes de matrizes

341

A.6 Func
oes escalares
Algumas func
oes do MATLAB s
ao destinadas a escalares e funcionam em cada
elemento de matriz, quando necess
ario. Algumas dessas func
oes s
ao
sin asin exp abs round cos acos log (log natural) sqrt floor tan atan rem
(resto) sign ceil

A.7 Func
oes vectoriais
Outras func
oes do MATLAB operam essencialmente num vector linha ou coluna.
Essas operac
oes actuam numa matriz em cada coluna, produzindo um vector linha
com o resultado de cada coluna. Algumas dessas func
oes s
ao
max sum median any
min prod mean all
sort
std
O m
aximo elemento de A ser
a calculado como max(max(A)) em vez de max(A),
ou seja
>> A
A =
1
4
7

2
5
8

3
6
9

>> max(max(A))
ans =
9
>> max(A)
ans =
7

>>

A.8 Func
oes de matrizes
Muita da capacidade do MATLAB vem das func
oes para matrizes, algumas das
quais s
ao

342

A Conceitos b
asicos de MATLAB
eig
chol
svd
inv
lu
qr
hess
schur
rref
expm
sqrtm
poly
det
size
norm
cond
rank

valores e vectores pr
oprios
factorizac
ao de cholesky
decomposic
ao de singular value
inversa
factorizac
ao LU
factorizac
ao QR
forma hessenberg
decomposic
ao schur
forma reduzida de matriz
matriz exponencial
raiz quadrada da matriz
polin
omio caracteristico
determinante
tamanho
1-norm, 2-norm, F-norm, -norm
n
umero de condicionamento da 2-norm
caracteristica

Estas func
oes possuem muitas vezes mais do que um argumento de sada, por exemplo y = eig(A), ou apenas eig(A)
>> y = eig(A)
y =
16.1168
-1.1168
-0.0000
produzindo um vector coluna com os valores pr
oprios de A enquanto que
[U,D] = eig(A)
>> [U,D] = eig(A)
U =
-0.2320
-0.5253
-0.8187

-0.7858
-0.0868
0.6123

0.4082
-0.8165
0.4082

0
-1.1168
0

0
0
-0.0000

D =
16.1168
0
0

produz uma matriz U cujas colunas s


ao os vectores pr
oprios de A e uma matriz
diagonal D com os valores pr
oprios de A na sua diagonal.

A.9 Submatrizes

343

A.9 Submatrizes
Em MATLAB e possivel manipular os vectores e submatrizes, por forma a conseguir
ganhos de computac
ao ou compactac
ao de c
odigo. Por exemplo, a express
ao 1:5
produz o vector [1 2 3 4 5]. Esta vectorizac
ao e altamente eficiente e n
ao necessita
de usar apenas inteiros, como por exemplo 0.2:0.2:1.2 que produz [0.2, 0.4,
0.6, 0.8, 1.0, 1.2], e 5:-1:1 que produz [5 4 3 2 1]. A express
ao seguinte
produz uma tabela de senos:
>> x = [0.0:0.5:2.0]
y = sin(x);
[x y]
x =
0

0.5000

0
0.5000
1.0000
1.5000
2.0000

0
0.4794
0.8415
0.9975
0.9093

1.0000

1.5000

2.0000

ans =

Note-se que o vector y e gerado a partir do vector x.


A notac
ao : pode tambem ser usada para aceder a submatrizes duma matriz
qualquer, como por exemplo, A(1:4,3) que produz o vector coluna das primeiras
quatro entradas da terceira coluna de A. Usa-se tambem esta notac
ao para definir
uma linha ou coluna inteira, por exemplo A(:,3) representa a terceira coluna de A,
e A(1:4,:) as suas primeiras 4 colunas. Podemos tambem usar: A(:,[2 4]) para
definir as colunas 2 e 4 de A. Podemos tambem usar operac
oes do tipo A(:,[2 4
5]) = B(:,1:3) para substituir as colunas 2,4,5 de A com as tres primeiras colunas
de B. Podemos multiplicar as colunas 2 e 4 de A `
a direita pela matriz [1 2;3 4]:
A(:,[2,4]) = A(:,[2,4])*[1 2;3 4]
Seja x um vector coluna. Note-se o efeito de x = x(n:-1:1):
>> x=A(2,:)
x =
4
5
6
>> x = x(end:-1:1)
x =

344

A Conceitos b
asicos de MATLAB

6
5
4

A.10 M-files
O MATLAB pode executar uma sequencia de express
oes guardadas em ficheiros, que
terminam em .m. Existem dois grandes tipos de M-files, os scripts e as functions.
Scripts.
Um ficheiro de scripts consiste numa sequencia normal de comandos, que s
ao
executados uns atr
as dos outros, com vari
aveis globais. Uma M-file pode chamar
um conunto de outras M-files, tornando assim a programac
ao muito organizada.
Como exemplo veja-se o file1.m, que tem o seguinte conjunto de instruc
oes
% exemplo de m-file
a=1
b=a*3
produzindo o resultado
a =
1

b =
3
Functions.
As func
oes s
ao ficheiros que contem subrotinas, func
oes que s
ao usadas v
arias
vezes num programa ou simplesmente para tornar o programa mais legvel.
Note-se que as vari
aveis numa func
ao s
ao locais. Podem ser no entanto tornadas
globais.
Veja-se o seguinte exemplo
We first illustrate with a simple example of a function file.
function [a,b,c] = antonio(m,n,p)
a = hilb(m);
b= magic(n);
c= eye(m,p);
que pode ser chamada
>> [a,b,c]=antonio(2,3,4)
produzindo

A.11 Formato de sada

345

>> [a,b,c]=antonio(2,3,4)
a =
1.0000
0.5000

0.5000
0.3333

b =
8
3
4

1
5
9

6
7
2

1
0

0
1

0
0

c =
0
0

Note-se que se pode omitir alguns dos par


ametros de sada, por exemplo
>> [a,b]=antonio(2,3,4)
a =
1.0000
0.5000

0.5000
0.3333

b =
8
3
4

1
5
9

6
7
2

O simbolo % indica que o resto da linha e um coment


ario e n
ao representa
instruc
oes para serem executadas.

A.11 Formato de sada


Embora os c
alculos em MATLAB sejam sempre em dupla precis
ao, podemos escolher
o formato de sada, com os seguintes comandos
format
format
format
format
format
format

short
long
short e
long e
hex
+

4 casas decimais (por defeito)


14 casas decimais
4 casas decimais em notac
ao cientifica
15 casas decimais em notac
ao cientifica
formato hexadecimal
+, -, em branco

346

A Conceitos b
asicos de MATLAB

Quando s
ao chamados, estes formatos mantem-se ate que apareca outro.

A.12 Gr
aficos
Gr
aficos 2D.
O comando plot cria gr
aficos x-y lineares, desde que x e y sejam vectores da
mesma dimens
ao, como por exemplo x = -4:.01:4; y = sin(x); plot(x,y),
que produz a figura A.2

1
0.8
0.6
0.4
0.2
0
!0.2
!0.4
!0.6
!0.8
!1
!4

!3

!2

!1

Figura A.2. Forma seno

Se quisermos v
arios graficos em v
arias figuras, podemos usar o comando figure(2)
(ou apenas figure) que abrir
a uma segunda figura, etc.
2
Veja-se agora o caso do gr
afico de y = ex no intervalo -1.5 a 1.5 na forma:
x = -1.5:.01:1.5; y = exp(-x.2); plot(x,y) . Note-se o periodo para se poder
executar a func
ao elemento a elemento (figura A.3).
ainda possvel criar uma func
E
ao, por exemplo, expnormal.m
function y = expnormal(x) y = exp(-x.2);
e depois usar o comando fplot(expnormal, [-1.5,1.5]) para produzir o gr
afico.
Pode-se ainda definir curvas parametricamente, por exemplo t=0:.001:2*pi;
x=cos(3*t); y=sin(2*t); plot(x,y), ilustrado a seguir (figura A.4)
Os gr
aficos podem ter ttulo, legendas, etc, conforme se indica a seguir.
title
ttulo
xlabel
legenda do eixo x
ylabel
legenda do eixo y

A.12 Gr
aficos

1
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
!1.5

!1

!0.5

0.5

1.5

Figura A.3. Forma exponencial

1
0.8
0.6
0.4
0.2
0
!0.2
!0.4
!0.6
!0.8
!1
!1

!0.8

!0.6

!0.4

!0.2

0.2

0.4

0.6

0.8

Figura A.4. Curvas definidas parametricamente

347

348

A Conceitos b
asicos de MATLAB

O comando title(Curvas param


etricas) d
a um ttulo ao gr
afico.
O comando grid coloca uma grelha (rede) no gr
afico corrente. Podemos modificar a escala dos eixos coordenados, pelo comando axis. Algumas caracteristicas
deste comando s
ao
axis([xmin ,xmax ,ymin ,ymax ])
definir limites para os eixos
axis auto
limites definidos automaticamente
axis square
mesma escala em ambos os eixos
axis equal
mesma escala em ambos os eixos
axis off
anula escalamento dos eixos
axis on
retoma escalamento nos eixos
O comando axis deve ser colocado depois do comando plot.
Podem construir-se gr
aficos m
ultiplos, numa u
nica imagem, como por exemplo
x=0:.01:2*pi;y1=sin(x);y2=sin(2*x);y3=sin(4*x);plot(x,y1,x,y2,x,y3), obtendose a figura A.5.

1
0.8
0.6
0.4
0.2
0
!0.2
!0.4
!0.6
!0.8
!1

Figura A.5. Curvas m


ultiplas num mesmo gr
afico

O comando hold on congela a figura actual ate que novos gr


aficos possam ser
sobrepostos neste.
Podemos ainda modificar linhas, cores, pontos etc, por exemplo (figura A.6
x=0:.01:2*pi; y1=sin(x); y2=sin(2*x); y3=sin(4*x);
plot(x,y1,--,x,y2,:,x,y3,+)
A linhas e marcas podem ser construidas por
linhas: solido (-), tracejado (--). pontilhado (:), traco ponto (-.) marcas: ponto
(.), mais (+), estrela (*), crculo (o), marca x(x)
Podemos ainda especificar as cores para as linhas ou marcas, fazendo
Cores: amarelo (y), castanho (m), vermelho (r) verde (g), azul (b), branco (w),
preto (k)

A.12 Gr
aficos

349

1
0.8
0.6
0.4
0.2
0
!0.2
!0.4
!0.6
!0.8
!1

Figura A.6. Modificac


ao de cores, pontilhado, etc

Por exemplo, plot(x,y,r--) desenha uma linha tracejada a vermelho.


O comando subplot pode ainda ser usado para dividir o ecran em v
arios gr
aficos
mais pequenos, para produzir uma u
nica figura. Veja-se o seguinte exemplo
income = [3.2 4.1 5.0 5.6];
outgo = [2.5 4.0 3.35 4.9];
subplot(2,1,1); plot(income)
subplot(2,1,2); plot(outgo)
que produz a figura A.7.
Outro exemplo seria (figura A.8)
income = [3.2 4.1 5.0 5.6];
outgo = [2.5 4.0 3.35 4.9];
subplot(2,2,1); plot(income)
subplot(2,2,2); plot(outgo)
subplot(2,2,3); plot(outgo)
subplot(2,2,4); plot(outgo)
Outras func
oes para desenhar gr
aficos s
ao via help are: polar, bar, hist,
quiver, compass, feather, rose, stairs, fill
Na figura A.9 ilustra-se o efeito dos comandos
t = 0:.01:2*pi;
polar(t,sin(2*t).*cos(2*t),--r)
Da mesma forma, os comandos

350

A Conceitos b
asicos de MATLAB

6
5.5
5
4.5
4
3.5
3

1.5

2.5

3.5

1.5

2.5

3.5

5
4.5
4
3.5
3
2.5

Figura A.7. V
arios gr
aficos numa mesma figura

5.5

4.5

4.5
3.5

3.5
3

2.5

4.5

4.5

3.5

3.5

2.5

2.5

Figura A.8. V
arios gr
aficos numa mesma figura

A.12 Gr
aficos
subplot(3,1,1), bar(rand(10,5),stacked), colormap(cool)
subplot(3,1,2), bar(0:.25:1,rand(5),1)
subplot(3,1,3), bar(rand(2,3),.75,grouped)
produzem a figura A.10.

90

0.5

120

60
0.4
0.3

150

30
0.2
0.1

180

330

210

240

300
270

Figura A.9. Func


ao polar

351

352

A Conceitos b
asicos de MATLAB

10

0.5

0
!0.2

0.2

0.4

0.6

0.8

1.2

0.5

Figura A.10. Func


ao bar

Gr
aficos 3-D.
da mesma forma que o comando plot produz gr
aficos em duas dimens
oes, o comando plot3 produz curvas em tres dimens
oes, tendo em conta x, y, e z vectores de
identica dimens
ao. Estes vectores podem ser definidos parametricamente, conforme
os comandos
t=.01:.01:20*pi; x=cos(t); y=sin(t); z=t.^3; plot3(x,y,z)
que produzem a figura A.11, correspondente a uma helice comprimida junto ao
plano x-y.
Malhas 3-D e desenhos de superficies.
Os desenhos de superficies podem ser conseguidos de v
arias formas, por exemplo
atraves do comando mesh. O comando mesh(z) produz uma perspectiva 3D dos
elementos da matriz z, acima duma malha rectangular no plano x-y plane. A ttulo
de exempolo, o comando mesh(eye(10)) produz a figura A.12.
Outra forma de apresentar as superficies seria atraves de desenho das facetas,
como em surf(eye(10)), representado na figura A.13.
Para desenhar um gr
afico duma dada func
ao z = f (x, y) definida num rectangulo, definem-se primeiro os vectores xx e yy. Com a func
ao meshgrid cria-se
ent
ao uma matriz x, em que cada linha e igual a xx e cada coluna tem o comprimento de yy, e identicamente uma matriz y, em que cada coluna e igual a yy,
na forma [x,y] = meshgrid(xx,yy);. Seguidamente define-se a matriz z, para a
2
2
qual se usa ent
ao mesh ou surf, como por exemplo para a func
ao z = ex y
no quadrado [2, 2] [2, 2] com os comandos xx = -2:.2:2; yy = xx; [x,y] =
meshgrid(xx,yy); z = exp(-x.2 - y.2); mesh(z) que produzem a figura A.14.
O comando view pode ser usado para especificar em coordenadas esfericas ou
cartesianas o ponto de vista segundo o qual o objecto pode ser visto.

A.12 Gr
aficos

x 10
2.5
2
1.5
1
0.5
0
1

0.5

1
0.5

0
0

!0.5

!0.5
!1

!1

Figura A.11. Gr
afico 3D

1
0.8
0.6
0.4
0.2
0
10
8

10
6

8
6

2
0

Figura A.12. Gr
afico mesh(eye(10))

353

354

A Conceitos b
asicos de MATLAB

1
0.8
0.6
0.4
0.2
0
10
8

10
6

8
6

2
0

Figura A.13. Gr
afico surf(eye(10))

1
0.8
0.6
0.4
0.2
0
25
20

25
15

20
15

10

10

5
0

Figura A.14. Gr
afico3D

A.13 Matrizes esparsas

355

A.13 Matrizes esparsas


Se a matriz n
ao for densa, antes for esparsa, pode poupar-se bastantes operac
oes
aritmeticas e tempo de c
alculo. Da mesma forma pode poupar-se espaco de mem
oria,
pelo facto de se guardarem apenas os termos n
ao nulos. Os dois modos de armazenamento podem ser invocados fazendo full e sparse que permite a convers
ao entre
um modo e outro. Por exemplo, a criac
ao duma matriz tridiagonal
F = floor(10*rand(3)); F = triu(tril(F,1),-1); produz
>> F = floor(10*rand(3)); F = triu(tril(F,1),-1);
>> F
F =
5
8
0

2
0
4

0
2
9

O comando S = sparse(F) converte F para modo esparsa. O comando F =


full(S) retoma S em modo denso.
Uma matriz esparsa bandeada pode ser criada por spdiags atraves da espcificac
ao das diagonais, como em
>> m = 6; n = 6; e = ones(n,1); d = -2*e;
T = spdiags([e,d,e],[-1,0,1],m,n)
T =
(1,1)
(2,1)
(1,2)
(2,2)
(3,2)
(2,3)
(3,3)
(4,3)
(3,4)
(4,4)
(5,4)
(4,5)
(5,5)
(6,5)
(5,6)
(6,6)

-2
1
1
-2
1
1
-2
1
1
-2
1
1
-2
1
1
-2

Pode retomar-se T , fazendo full(T) obtem-se


>> full(T)
ans =

356

A Conceitos b
asicos de MATLAB

-2
1
0
0
0
0

1
-2
1
0
0
0

0
1
-2
1
0
0

0
0
1
-2
1
0

0
0
0
1
-2
1

0
0
0
0
1
-2

An
alogamente aos comandos eye, zeros, ones, and randn para matrizes densas,
para matrizes esparsas existem os comandos speye, sparse, spones, sprandn.
O comando sparse(m,n) cria uma matriz esparsa nula.

A.14 Refer
encia
Algumas func
oes tipicas que se podem usar no MATLAB.

help
what
lookfor
which
path
info

Comandos e func
oes de gest
ao
ajuda
listagem das M-files
procura nos files de help
localiza func
oes e ficheiros
controle do caminho do MATLAB
informac
ao sobre o MATLAB e a empresa The MathWorks

who
whos
save
load
clear
pack
size
length
disp

cd
pwd
dir, ls
delete
getenv
diary

Gest
ao de vari
aveis
lista vari
aveis correntes
lista vari
aveis correntes, forma longa
guarda vari
aveis para disco
recupera vari
aveis do disco
apaga vari
aveis e func
oes da mem
oria
consolida a mem
oria
tamanho de uma matriz
comprimento de um vector
mostra matriz ou texto
Gest
ao de ficheiros
muda o direct
orio corrente
mostra o direct
orio corrente
listagem do direct
orio corrente
apaga ficheiro
recupera vari
avel do ambiente
guarda texto da sess
ao MATLAB

A.14 Referencia
Controle da janela de comandos (Command Window)
clc
apaga a janela de comando
home
envia o cursor para o topo da p
agina
format
define o formato de sada
echo
faz eco dos comandos dentro do script

/
\

kron

<
<=
>
>=
==
=

=
[]
,
;
%
:

ans
eps
realmax
reammin
pi
i, j
inf
NaN
flops
nargin
nargout
computer

Operac
oes com matrizes
adic
ao
subtracc
ao
multiplicac
ao
potencia
divis
ao `
a direita
divis
ao `
a esquerda
transposta
Produto tensorial de Kronecker

Operac
oes relacionais
menos que
menos que ou igual
maior que
maior que ou igual
igual
diferente

e l
ogicas
&
e
|
ou

n
ao
xor ou exclusivo

Caracteres especiais
comando de afectac
ao
usado para formar vectores e matrizes
separa comandos e func
oes
final de linhas ou supress
ao de impress
ao
coment
arios
gerac
ao de vectores

Vari
aveis especiais
resposta quando express
ao n
ao e afectada
precis
ao de vrgula flutuante
maior n
umero de vrgula flutuante
menor n
umero positivo de vrgula flutuante

imagin
arios
infinito
Not-a-Number
contador de operac
oes de vrgula flutuante
n
umero de argumentos de entrada de func
oes
n
umero de argumentos de sada de func
oes
tipo de computador

357

358

A Conceitos b
asicos de MATLAB

date
clock
tic, toc
cputime

zeros
ones
eye
diag
toeplitz
magic
linspace
logspace
meshgrid
rand
randn
hilb
invhilb
vander
pascal
hadamard
hankel
rosser
wilkinson
gallery

diag
rot90
fliplr
flipud
reshape
tril
triu
.
:

Tempo e data
data corrente
informac
ao de rel
ogio
func
oes de controlo do tempo entre operac
oes
tempo de CPU

Matrizes especiais
matriz de zeros
matriz de uns
identitdade
diagonal
Toeplitz
quadrada magic
vectores linearmente espacadas
vectores espacados logaritmicamente
matrizes para gr
aficos 3-D
n
umeros aleat
orios uniformemente distribuidos
normally distributed randon numbers
Hilbert
Hilbert inversa
Vandermonde
Pascal
Hadamard
Hankel
matriz de teste para valores pr
oprios simetricos
matriz de teste para valores pr
oprios de Wilkinson
duas matrizes de teste pequenas

Manipulac
ao de matrizes
cria ou extrai diagonais
roda a matriz 90 graus
muda a matriz da esquerda para a direita
muda a matriz de cima para baixo
mudar tamanho
matriz triangular inferior
matriz triangular superior
transposta
converte matriz para coluna simples; A(:)

A.14 Referencia

exist
any
all
find
isnan
isinf
finite
isempty
issparse
isstr
strcmp

if
else
elseif
end
for
while
break
return
error

Func
oes l
ogicas
verifica se as func
oes ou vari
aveis existem
verdadeiro se algum elemento do vector verificar
verdadeiro se todos os elementos do vector verificarem
encontra indices dos elementos n
ao nulos
verdadeiro para NaNs
verdadeiro para elementos infinitos
verdadeiro para elementos finitos
verdadeiro para matriz vazia
verdadeiro para matriz esparsa
verdadeiro para vari
avel de texto
compara vari
aveis de texto

Controle do fluxo
comandos de execuc
ao de condic
oes
usado com if
usado com if
termina if, for, while
repete comandos um determinado n
umero de vezes
repete comandos enquanto a condic
ao for verdadeira
termina a execuc
ao de ciclos for ou while
retorno da func
ao invocada
mostra mensagem e aborta func
ao

Func
oes matem
aticas elementares
abs
valor absoluto
angle
angulo de fase

sqrt
raz quadrada
real
parte real
imag
parte imagin
aria
conj
conjugado complexo
gcd
maior divisor comum
lcm
minimo multiplo comum
round
arredondamento ao pr
oximo inteiro
fix
arredonadamento para zero
floor
arredonadamento para
ceil
rarredonadamento para
rem
resto
exp
base exponencial e
log
logaritmo natural
log10
logaritmo de base 10

359

360

A Conceitos b
asicos de MATLAB

sin, asin, sinh, asinh


cos, acos, cosh, acosh
tan, atan, tanh, atanh
cot, acot, coth, acoth
sec, asec, sech, asech
csc, acsc, csch, acsch

Func
oes trigonometricas
seno, arco de seno, seno hiperb
olico, arco de seno hiperb
olico
coseno, arco de coseno, coseno hiperb
olico, arco de seno hiperb
olico
tangente, arco de tangente, tangente hiperb
olica, arco de tangente hiperb
olica
cotangente, arco de cotangente, cotangente hiperb
olica, arco de cotangente hiperb
olica
secante, arco de secante, secante hiperb
olica, arco de secante hiperb
olica
cosecante, arco de cosecante, cosecante hiperb
olica, arco de cosecaante hiperb
olica

bessel
beta
gamma
rat
rats
erf
erfinv
ellipke
ellipj
expint

Func
oes especiais
func
ao bessel
func
ao beta
func
ao gamma
aproximac
ao racional
sada racional
func
ao de erro
func
ao de erro inversa
integral eliptico completo
integral eliptico Jacobiano
integral exponencial

Decomposic
oes e factorizac
oes de matrizes
inv
inversa
lu
factores da eliminac
ao de Gauss
chol
factorizac
ao de Cholesky
qr
decomposic
ao ortogonal-triangular
nnls
minimos quadrados n
ao negativos
null
espaco nulo
orth
ortogonalizac
ao
eig
valores e vectores pr
oprios
hess
forma de Hessenberg
schur decomposic
ao de Schur
qz
valores pr
oprios generalizados
svd
decomposic
ao singular value
pinv
pseudoinversa

cond
norm
rank

Condicionamento de matriz
n
umero de condicionamento na 2-norm
normas 1-norm,2-norm,F-norm,-norm
caracteristica

A.14 Referencia

expm
expm1
expm2
expm3
logm
sqrtm
funm
poly
det
trace

Func
oes matriciais elementares
matriz exponencial
implementac
ao por M-file de expm
matriz exponencial via series de Taylor
matriz exponencial via valores e vectores pr
oprios
matriz logaritmo
matriz de raiz quadrada
calcula uma func
ao matricial geral
polin
omio caracteristico
determinante
traco

poly
roots
roots1
polyval
conv
deconv
residue
polyfit
polyder

Polin
omios
constr
oi polin
omio com raizes especificas
razes polinomiais
razes polinomiais metodo de Laguerre
calcula o polin
omio
multiplica polin
omios
divide polin
omios
resduos
ajustar polin
omios aos dados
derivac
ao de polin
omios

An
alise de dados por colunas
max
maior componente
min
menor componente
mean
valor medio
median
mediana
std
desvio padr
ao
sort
ordenac
ao em ordem ascendente
sum
soma de elementos
prod
produto de elementos
cumsum
soma cumulativa de elementos
cumprod produto cumulativo de elementos
hist
histograma

361

Refer
encias

1. Courant, R., Variational methods for the solution of problems of equilibrium


and vibration, Bull. Am. Math. Soc., 49 (1943), 123
2. Bathe, K., Finite Element Procedures in Engineering Analysis, Prentice-Hall,
Englewood Cliffs, New Jersey, 1982.
3. J. A. Figueiras, ultimate load analysis of anisotropic and reinforced concrete
plates and shells, Tese de Doutoramento, University of Wales, 1983.
4. Onate, E., Calculo de estruturas por el metodo de elementos finitos, CIMNE,
Barcelona, 1995.
5. Hinton, E., Numerical methods and software for dynamic analysis of plates and
shells, Pineridge Press, Swansea, (1988).
6. Argyris, J. H., Matrix displacement analysis of anisotropic shells by triangular
elements, J. Roy. Aero. Soc., 69 (1965), 801805.
7. Clough, R. W., The finite element method in plane stress analysis, Proc. 2nd
A.S.C.E. Conf. in Electronic Computation, Pittsburgh, Pa., 1960.
8. Zienkiewicz, O. C., Cheung, Y. K., The finite element method for analysis of
elastic isotropic and anisotropic slabs, Proc.Inst. Civ. Eng., 28, (1964), 471488.
9. O. C. Zienkiewicz, R. L. Taylor, The finite element method, McGraw-Hill, 4th
edition, 1989
10. Logan, D. L. A First Course in the Finite Element Method, 1986, 1992
11. Mohr, G. A. and Milner H. R. A Microcomputer Introduction to the Finite
Element Method, 1987
12. Cheung, Y. K. and Yeo, M. F. A Practical Introduction to Finite Element
Method, 1979
13. Owen, D. R. J. and Hinton, E. A Simple Guide to Finite Elements, 1980
14. Hinton, E. and Owen, D. R. J. An Introduction to Finite Element Computations,
1979
15. Reddy, J. N. An Introduction to the Finite Element Method, 1984, 1993
16. Brown, D. K. An Introduction to the Finite Element Method Using BASIC
Programs, 1984, 1990
17. White, R. E. An Introduction to the Finite Element Method With Applications
to Nonlinear Problems, 1985
18. Akin, J. E. Application and Implementation of Finite Element Methods, 1982
19. Segerlind, L. J. Applied Finite Element Analysis, 1976, 1984

364

Referencias

20. Cooke, J. R. and Davis, D. C. Applied Finite Element Analysis- An Apple II


Implementation, 1986
21. Stasa, F. L. Applied Finite Element Analysis for Engineers, 1985
22. Adam, J. BASIC-Programme zur Methode der Finiten Elemente, 1986
23. Cook, R. D. Concepts and Applications of Finite Element Analysis, 1974, 1981,
1989
24. Britto, A. M. and Gunn, M. J. Critical State Soil Mechanics via Finite Elements,
1987
25. Breitschuh, U. and Jurisch, R. Die Finite-Element-Methode, 1993
26. Zimmer, A. and Groth, P. Elementmethode der Elastostatik- Programmierung
und Anwendung, 1970
27. Beltzer, A. I. Engineering Analysis With Maple, 1995
28. Fenner, D. N. Engineering Stress Analysis- A Finite Element Approach With
FORTRAN 77 Software, 1987
29. Marsal, D. Finite Differenzen und Elemente- Numerische Losung von Variationsproblemen und partiellen Differentialgleichungen, 1989
30. Hsu, T. R. and Sinha, D. K. Finite Element Analysis by Microcomputers, 1988
31. Huang, H. C. and Usmani, A. S. Finite Element Analysis for Heat Transfer,
1994
32. Burnett, D. S. Finite Element Analysis- From Concepts to Applications, 1987
33. Chung, T. J. Finite Element Analysis in Fluid Dynamics, 1978
34. Comini, G. et al. Finite Element Analysis in Heat Transfer: Basic Formulation
and Linear Problems, 1994
35. Champion, E. R. Finite Element Analysis in Manufacturing Engineering: A PCBased Approach, 1992
36. Krishnamoorthy, C. S. Finite Element Analysis- Theory and Programming,
1987, 1994
37. Cheung, Y. K. et al. Finite Element Implementation, 1995
38. Zienkiewicz, O. C. and Taylor, R. L. Finite Element Method- Basic Formulation
and Linear Problems, Vol. 1, 1989
39. Hughes, T.J.R. Finite Element Method- Linear Static and Dynamic Finite Element Analysis, 1987
40. Pironneau, O. Finite Element Methods for Fluids, 1989
41. Sabonnadiere, J. C. and Coulomb, J. L. Finite Element Methods in CAD, 1987
42. Cheung, Y. K. and Leung, A. Y. T. Finite Element Methods in Dynamics, 1991
43. Ross, C. T. F. Finite Element Methods in Engineering Science, 1990
44. Gruber, R. and Rappaz, J. Finite Element Methods in Linear Ideal Magnetohydrodynamics, 1985
45. Kikuchi, N. Finite Element Methods in Mechanics, 1986
46. Ross, C. T. F. Finite Element Methods in Structural Mechanics, 1985
47. Cook, R. D. Finite Element Modeling for Stress Analysis, 1995
48. Rowe, G. W. et al. Finite Element Plasticity and Metalforming Analysis, 1991
49. Hinton, E. and Owen, D. R. J. Finite Element Programming, 1977
50. Taylor, C. and Hughes, T. G. Finite Element Programming of the Navier-Stokes
Equations, 1981
51. Miller, J. J. H., ed. Finite Element Programming With Special Emphasis on
Semiconductor Device and Processing Modelling, 1983
52. Ross, C. T. F. Finite Element Programs for Axisymmetric Problems in Engineering, 1984

Referencias

365

53. Ross, C. T. F. Finite Element Programs in Structural Engineering and Continuum Mechanics, 1996
54. Hinton, E. and Owen, D. R. J. Finite Element Software for Plates and Shells,
1984
55. Yang, T. Y. Finite Element Structural Analysis, 1986
56. Kazda, I. Finite Element Techniques in Groundwater Flow Studies, 1990
57. Hinton, E. et al. Finite Elemente Programme fur Platten und Schalen, 1990
58. Von Fischer, U. et al. Finite Elemente Programme in der FestkorpermechanikTemperaturfeld-, Verschiebungs- und Spannungsberechnungen, 1986
59. Livesley, R. K. Finite Elements- An Introduction for Engineers, 1983
60. Akin, J. E. Finite Elements for Analysis and Design, 1994
61. Silvester, P. P. and Ferrari, R. L. Finite Elements for Electrical Engineers, 1983
62. Weaver, W. and Johnston, P. R. Finite Elements for Structural Analysis, 1984
63. Owen, D.R.J. and Hinton, E. Finite Elements in Plasticity- Theory and Practice,
1980
64. Kleiber, M. et al. Finite Elements in Structural Mechanics: An Introduction
With Turbo Pascal Programs for Micro Computers, 1993
65. Portela, A. and Charafi, A. Finite Elements Using Maple, 2002
66. Schwarz, H. R. FORTRAN-Programme zur Methode der finiten Elemente, 1981,
1988
67. Gawehn, W. FORTRAN IV/77 Programm zur Finite-Elemente-Methode, 1985
68. Bhatti, M. A. Fundamental Finite Element Analysis and Applications: With
Mathematica and Matlab Computations, 2005
69. Grandin, H. Fundamentals of the Finite Element Method, 1986
70. Heinrich, J. C. and Pepper, D. W. Intermediate Finite Element Method: Fluid
Flow and Heat Transfer Applications, 1999
71. Pozrikidis, C. Introduction to Finite and Spectral Element Methods Using MATLAB, 2005
72. Thompson, E. G. Introduction to the Finite Element Method: Theory, Programming and Applications, 2004
73. Kattan, P. MATLAB Guide to Finite Elements: An Interactive Approach, 2003
74. Mukhopadhyay, M. Matrix, Finite Element, Computer and Structural Analysis,
1984, 1987
75. Batoz, J. L. and Dhatt, G. Modelisation des Structures par Elements Finis, 1990
76. Villa, A. et al. Nonlinear Finite Element Techniques Using an Object-Oriented
Code, 1995
77. Mackie, R. I. Object Oriented Methods and Finite Element Analysis, 2000
78. Topping, B. H. V. and Khan, A. I. Parallel Finite Element Computations, 1995
79. Smith, I. M. and Griffith, D. V. Programming the Finite Element Method, 1982,
1988, 1998
80. Beauquet, G. and Pogu, M. Programming the Finite Elements, 1987
81. Brebbia, C. A., ed. Software for Engineering Workstations- Finite Element Codes, 1987
82. Waszczyszyn, Z. et al. Stability of Structures by Finite Element Methods, 1994
83. Weaver, W. and Johnston, P. R. Structural Dynamics by Finite Elements, 1987
84. Irons, B. and Ahmad, S. Techniques of Finite Elements, 1980
85. Heinrich, J. C. and Pepper, D. W. The Finite Element Method: Advanced Concepts, 1996
86. Pepper, D. and Heinrich, J. The Finite Element Method: Basic Concepts and
Applications, 1992

366

Referencias

87. Dhatt, G. and Touzot, G. The Finite Element Method Displayed, 1984
88. Rao, S. S. The Finite Element Method in Engineering, 1982, 1989
89. Lewis, R. W. and Schrefler, B. A. The Finite Element Method in the Deformation and Consolidation of Porous Media, 1987
90. Hsu, T. R. The Finite Element Method in Thermodynamics, 1986
91. Kwon, Y. W. and Bang, H. The Finite Element Method Using MATLAB, 1996,
2000
92. Kleiber, M. and Hien, T. D. The Stochastic Finite Element Method, Basic Perturbation Technique and Computer Implementation, 1992
93. Beltzer, A. I. Variational and Finite Element Methods, A Symbolic Computation
Approach, 1990
94. P. A. A. Laura and R. H. Gutierrez, Analysis of vibrating Timoshenko beams
using the method of differential quadrature, Shock and Vibration, 1 (1) (1993),
8993.
95. C. W. Bert and M. Malik, Differential quadrature method in computational
mechanics: a review, Applied Mechanics Review, 49 (1) (1996), 128.
96. K. M. Liew, J. B. Han and Z. M. Xiao, Vibration analysis of circular Mindlin
plates using differential quadrature method, Journal of Sound and Vibration,
205 (5) (1997), 617630.
97. K. M. Liew, K. C. Hung and M. K. Lim, Vibration of Mindlin plates using
boundary characteristic orthogonal polynomials, Journal of Sound and Vibration, 182 (1) (1995), 7790.
98. K. Bathe, Finite Element Procedures in Engineering Analysis, Prentice-Hall,
Englewood Cliffs, New Jersey, 1982.
99. W. Weaver and P. Johnson, Structural Dynamics by Finite Elements, Englewood
Cliffs, New Jersey, 1987.
100. J. N. Reddy, Introduction to the Finite Element Method, McGraw-Hill, New
York, 1993.
101. A. J. M. Ferreira, Free vibration analysis of Timoshenko beams and Mindlin plates by radial basis functions, International Journal of Computational
Methods, Vol. 2 (1), 2005, 15-31.
102. A. J. M. Ferreira, C. M. C. Roque and P. A. L. S. Martins, Radial basis
functions and higher-order theories in the analysis of laminated composite beams
and plates, Composite Structures, 66 (2004), 287293.
103. A. J. M. Ferreira, A formulation of the multiquadric radial basis function
method for the analysis of laminated composite plates, Composite Structures,
59 (2003), 385392.
104. A. J. M. Ferreira, C. M. C. Roque and P. A. L. S. Martins, Analysis of composite plates using higher-order shear deformation theory and a finite point formulation based on the multiquadric radial basis function method, Composites:
Part B, 34 (2003), 627636.
105. A. J. M. Ferreira, Thick composite beam analysis using a global meshless approximation based on radial basis functions, Mechanics of Advanced Materials
and Structures, 10 (2003), 271284.
106. L.N. Trefethen, Spectral Methods in Matlab, SIAM, Philadelphia, PA, (2000).
107. D. J. Dawe and O. L. Roufaeil, Rayleigh-Ritz vibration analysis of Mindlin
plates, Journal of Sound and Vibration, 69 (3) (1980), 345359.
108. K. M. Liew, J. Wang, T. Y. Ng and M. J. Tan, Free vibration and buckling
analyses of shear-deformable plates based on FSDT meshfree method, Journal
of Sound and Vibration, 276 (2004), 9971017.

Referencias

367

109. E. Hinton, Numerical methods and software for dynamic analysis of plates and
shells, Pineridge Press, Swansea, (1988).
110. R. J. Melosh, A stiffness matriz for the analysis of thin plates in bending, J.
of Aerospace Science, 28 (1) (1961), 34-42
111. O. C. Zienkiewicz, Y. K. Cheung, The finite element method for analysis of
elastic isotropic and anisotropic slabs, Proc. Inst. Civ. Eng., 28 (1964), 471-488
112. F. K. Bogner, R. L. Fox, L. A. Schmidt, The generation of interelement compatible stiffness and mass matrices by the use of interpolation formulae, Proc.
Conf. Matrix Methos in Struct. Mech., Air Force Inst. of Tech., Wright Patterson
A. F. Base, Ohio, 1965
113. G. P. Bazeley, Y. K. Cheung, B. M. Irons, O. C. Zienkiewicz, triangular elements bending-conforming and non conforming solution, Proc. Conf. Matrix
Methos in Struct. Mech., Air Force Inst. of Tech., Wright Patterson A. F. Base,
Ohio, 1965
114. T. J. R. Hughes, M. Cohen, The Heterosis finite element for plate bending,
Computers and structures, 9 (1978), 445-450
115. K. J. Bathe, E. N. Dvorkin, A four-node plate bending element based on
Mindlin-Reissner plate theory and a mixed interpolation, International Journal of Numerical Methods in Engineering, 21 (1985), 367-383
116. K. J. Bathe, E. N. Dvorkin, A formulation of general shell elements - the use of
mixed interpolation of tensorial components, International Journal of Numerical
Methods in Engineering, 22 (1986), 697-722
117. J. L. Batoz, G. Dhatt, Modelisation des Structures par Elements Finis, Hermes,
1990
118. G. Prathap, B. R. Somashekar, Field- and edge-consistency synthesis of a 4noded quadrilateral plate bending element, International Journal of Numerical
Methods in Engineering, 26 (1988), 1693-1708
119. T. J. R. Hughes, T. E. Tezduyar, Finite elements based upon Mindlin plate
theory with particular reference to the four-node bilinear isoparametric element,
Journal of applied mechanics, 48 (1986), 587-596
120. J. L. Batoz, K. J. Bathe, L. W. Ho, A study of three-node triangular plate
bending elements, International Journal of Numerical Methods in Engineering,
15 (1980), 1771-1812
121. B. Irons, S. Ahmad, Techniques of Finite Elements, Ellis Horwood, 1980
122. Finite Element Method- Linear Static and Dynamic Finite Element Analysis,
Prentice Hall, 1987
123. D. L. Logan, A First Course in the Finite Element Method, Brooks/Cole, 2002
124. A. J. M. Ferreira, Analysis of composite plates using a layerwise deformation theory and multiquadrics discretization, Mech. Adv. Mater. Struct., 12 (2),
(2005), 99-112.
125. A. J. M. Ferreira, R. C. Batra, C. M. C. Roque, L. F. Qian and P. A. L. S. Martins, Static analysis of functionally graded plates using third-order shear deformation theory and a meshless method, Composite Structures, 69 (2005), 449
457.
126. A. J. M. Ferreira, Tese de doutoramento, FEUP, 1997
127. A. J. M. Ferreira, C. M. C. Roque and P. A. L. S. Martins, Analysis of composite plates using higher-order shear deformation theory and a finite point formulation based on the multiquadric radial basis function method, Composites:
Part B, 34 (2003), 627636.

368

Referencias

128. A. J. M. Ferreira, C. M. C. Roque and P. A. L. S. Martins, Radial basis


functions and higher-order theories in the analysis of laminated composite beams
and plates, Composite Structures, 66 (2004), 287293.
129. B. N. Pandya, T. Kant, Higher-order shear deformable theories for flexure
of sandwich plates-finite element evaluations, Int. J. Solids and Structures, 24
(1988), 419451.
130. J. N. Reddy, A simple higher-order theory for laminated composite plates, J.
Appl. Mech., 51 (1984), 745752.
131. S. Srinivas, A refined analysis of composite laminates, J. Sound and Vibration,
30 (1973), 495507.
132. T. Kant, D. R. L. Owen, O. C. Zienkiewicz, A refined higher-order C 0 plate
bending element, Computers and Structures, 30 (1982), 177183.
2[

Indice

]
barra inclinada, 73
barras, 73
campo de deslocamentos, 135
colapso de elementos, 152
condic
oes de fronteira essenciais, 133
condic
oes de fronteira naturais, 134
condic
oes fronteira, 29, 31
condic
oes fronteira essenciais, 29, 30
condic
oes fronteira naturais, 29
coordenadas de
area, 154
coordenadas locais, 94
coordenadas naturais, 143, 159
cossenos directores, 74
deformac
oes de corte transverso, 186, 190
degenerac
ao de elementos quadril
ateros em elementos triangulares, 152
determinante do jacobiano, 146
domnio, 131
elemento de 9 n
os de Lagrange, 138
elemento de barra, 53, 159
elemento de placa fina, 188
elemento hexaedrico, 212
elemento isoparametrico, 161
elemento quadril
atero, 137
elemento quadril
atero de 4 n
os, 137
elemento tetraedrico de 4 n
os, 208
elemento triangular com 3 n
os, 154
elemento triangular de 6 n
os, 156
elemento triangular de deformac
ao constante, 154
elementos de linha de 2 n
os, 137
elementos finitos isoparametricos, 53

370

Indice

elementos quadril
ateros, 161
elementos triangulares, 152, 154, 156
elementos triangulares baseados em coordenadas de
area, 154
energia de deformac
ao, 75, 191
energia de deformac
ao de elemento de Bernoulli, 92
energia potencial, 134
equac
oes de equilibrio, 187
equac
oes de equilibrio , 133
esforcos de corte, 187
esforcos resultantes, 186
estado plano de tens
ao, 131, 147
factor de correcc
ao de corte transverso, 190
forcas nodais equivalentes, 150
fronteira, 131
func
oes de forma, 5358, 136, 142, 156
func
oes de forma de Lagrange, 137
funcional, 29
Galerkin, 89
galerkin, 36
grelhas, 115
Hermite, 90
integrac
ao numerica, 143
integrac
ao por partes, 31, 33, 41
interpolac
ao dos deslocamentos, 145
jacobiano, 54, 141, 161
Kirchhoff, 185
metodo de colocac
ao, 37
metodo dos deslocamentos, 40
metodos variacionais, 29
m
odulo de corte, 191
matriz constitutiva, 186
matriz de deformac
ao-deslocamento, 141
matriz de deformac
oes, 207, 211
matriz de elasticidade de s
olidos 3D, 208
matriz de massa, 48, 148
matriz de rigidez, 142, 158
matriz de rigidez de barra inclinada, 75
matriz de rigidez do elemento bidimensional, 145
matriz de rigidez do elemento de p
ortico plano, 94
matriz jacobiana, 210
Mindlin-Reissner, 185, 190
minimos quadrados, 37
momentos flectores, 186

Indice
p
orticos planos, 89
pesos de integrac
ao, 142
placa de Mindlin, 190, 191, 193
plano medio, 131
pontos de integrac
ao, 142
potencial, 29
princpio dos trabalhos virtuais, 40, 41, 43, 44, 47
problemas tridimensionais, 207
quadratura de Gauss, 143
regra da cadeia, 140
relac
oes constitutivas, 191
representac
ao isoparametrica, 137
resduos pesados, 36
rigidez `
a flex
ao, 187
Ritz, 40
sistema de coordenadas locais, 94
teorema da divergencia, 45
tracc
oes de superficie, 134
trelicas, 73
vector de carga equivalente, 93
vector de cargas nodais equivalentes, 148
vector de forcas nodais equivalentes, 193
viga de Bernoulli, 89, 90, 93
viga fina, 89, 90

371

Você também pode gostar