Escolar Documentos
Profissional Documentos
Cultura Documentos
Elem - Finitos Compl PDF
Elem - Finitos Compl PDF
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
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
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
10
Conte
udo
11.5
11.6
11.7
11.8
11.9
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
u1
(e)
(e)
1
u2
2
(e)
R1
(e)
R2
L(e)
15
A deformac
ao da barra e dada por
=
u2 u1
L(e)
(1.1)
u2 u1
L(e)
(1.2)
u2 u1
L(e)
(1.3)
(e)
(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) =
(1.5)
(1.6)
(e)
=k
(e)
1 1
1 1
(
(e)
u1
(e)
u2
(bl)(e)
1
= K(e) a(e) f (e)
1
(1.7)
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
17
k2
3
2
k1
2
P
2
k3
4
2
Barra rigida
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
(2)
(1)
(2)
(3)
(3)
u1 = u1 ; u2 = u2 ; u1 = u2 ; u2 = u3 ; u1 = u2 ; u2 = u4
(1.10)
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
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
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
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]
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
1.7 C
odigo MATLAB
21
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)
(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)
(1.24)
1.8 Condic
oes fronteira
25
(1.27)
26
1 Sistemas discretos
(1.28)
(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.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)
32
2 Introduc
ao ao metodo dos elementos finitos
< 0 elpticas
B 2 4AC = 0 parabolicas
> 0 hiperbolicas
(2.2)
= c
2
x
t
(2.4)
u(x, t)
R0
R(t)
R0
A|x
a) Carregamento
A|x+dx
dx
b) elemento diferencial
onde E representa o m
odulo de elasticidade e a densidade.
2.3 Formulac
ao variacional
33
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
F =
F
F
F
v +
(dv/dx) + ... +
(dp v/dxp )
p
v
(dv/dx)
(d v/dxp )
(2.13)
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)
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)
36
2 Introduc
ao ao metodo dos elementos finitos
w
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
w000 w0 dx
(2.29)
Z
Integrando novamente por partes
obtem-se
L
000
w0 w0 dx,
2.4 Obtenc
ao de equac
oes diferenciais a partir de funcionais
Z
|0
37
(2.30)
de 1:
EIwIV + P w00 = 0
(2.31)
EIw00 (L) = 0
(2.32)
(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
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
(2.36)
EAu0 u(0)L
(2.37)
ou
Z
(2.38)
0<x<L
(2.39)
x=L
(2.40)
x=0
(2.41)
EAu = R,
EAu = ku,
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
(2.44)
2.4 Obtenc
ao de equac
oes diferenciais a partir de funcionais
39
M
x
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)
EIw0000 wdx = 0
(2.46)
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
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)
(2.51)
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)
41
2
, = u, r = 0
x2
B1 = 1,
B2 = EA
(2.56)
q1 = 0
,
x
(2.57)
q2 = R
(2.58)
L
00
L
v]0
EAu0 v 0 dx =
+
0
L
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)
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
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.
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
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
44
2 Introduc
ao ao metodo dos elementos finitos
E3 = 0
0
2/3
E3 = 0
1/3
E3 = 0
2/3
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
= 0, i = 1, 2, ..., n
ai
(2.67)
jcos(jx)(1 +
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
(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)
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
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
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)
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)
(2.100)
obtemos
Z
ij ui , j + fiB ui dV +
Z
(ij ui ) nj dS = 0
(2.101)
fi f ui f dS = 0
(2.102)
Sf
(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
(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
V1
W1
U2
V2
W2
... UN
U2
... UN ]
VN
WN ]
(2.106)
(2.107)
(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)
2.9 Equac
oes de elementos finitos
XZ
e
V (e)
XZ
e
XZ
V (e)
(e)
(e)
S1 ,S2 ,...
53
u(i)T RiC
(2.110)
i
(e)
(e)
(2.111)
(2.112)
T
U
XZ
e
T
B(e)T C(e) B(e) dV (e) = U
(e)
XZ
e
T
U
XZ
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)
(2.116)
K(e)
(2.117)
(e)
RB
as forcas de superfcie
RS =
XZ
(2.118)
(e)
S1 ,S2 ,...
{z
(e)
RS
V (e)
(2.120)
(2.121)
M(e)
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)
(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
56
2 Introduc
ao ao metodo dos elementos finitos
Soma das foras F(e)
Equilibram as foras externas aplicadas
q-1
e-1
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
uT F(e) =
Z
V (e)
Z
T
B(e)
u (e) dV (e) =
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
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).
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
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
X2
U2
U1
Z
X, U
= 1
= +1
X1
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)
(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
EAL
2
BT Bdu =
N
X
L T
u f d +
ui Fi
2
i=1
(3.17)
62
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)
(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)
Ni () =
n
Y
j=1(j6=i)
j
i j
(3.26)
(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
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.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)
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
I=
f (x)dx
(3.39)
I=
f (x)dx =
1
p
X
f (xi )Wi
(3.40)
i=1
b)
1 = 0
1 = 1/ 3
2 = 1/ 3
Exemplo 4.1
Considere-se o integral dum polinomio de quarto grau
66
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)
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];
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.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
2
3
4
70
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
72
4 An
alise de barras inclinadas (trelicas)
u4
u3
u2
u1
x
u01
u0 = [u01
u02 ]
(4.1)
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()
(4.5)
L=
l m0 0
0 0 l m
73
(4.6)
l=
m=
y2 y1
Le
(4.7)
(4.8)
1 0T 0 0
u Ku
2
(4.10)
(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)
2
10
45
y
45
4
1
10000
10
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);
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)
120
100
80
60
40
20
0
0
20
40
60
80
100
120
77
50kN
50 kN
5
6
3m
11
7
1
10
2
3m
3m
O c
odigo (logan128332.m) e a seguir apresentado:
1
2
3
4
5
6
7
8
9
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);
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
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
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];
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
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
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
3000
2500
2000
1500
1000
500
!500
!500
500
1000
1500
2000
2500
3000
3500
85
25kN
45o
3
10 m
k=2000kN/m
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
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
87
(4)
(3)
2
5m
25kN
(2)
(6)
45o
(5)
(1)
3
10 m
k=2000kN/m
4
(7)
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.
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
y2 y1
z2 z1
x2 x1
; Cy =
; Cz =
L
L
L
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)
1000
4
u=v=w=0
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
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));
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
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
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
(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)
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)
,
d 2
2
2
2
2
2 2
(5.21)
(5.22)
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)
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.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.
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
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
97
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)
5.6 P
ortico plano
99
u0 = [u01 ,
u02 ,
u03 ,
u04 ,
u05 ,
u06 ]
(5.32)
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)
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
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
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);
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
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)
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
(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
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
-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
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
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
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
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
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;
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
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
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
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).
w = w0
(8.1)
d
;
dx
xz = +
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)
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
3
X
Ni wi ; =
i=1
3
X
Ni i
(8.6)
i=1
w1
w2
w3
ou
w = Nw u
; = N u
(8.7)
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
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
(8.14)
e
Z
R=
NTw pdet Jd +
NT M det Jd
(8.15)
T bh 0
Z 1
Nw
3 Nw det Jd
M=
bh
N
0
1 N
12
(8.16)
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
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
135
0
10
20
30
40
50
60
70
80
90
100
0.5
1.5
2.5
3.5
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.;
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:
9.2 Vari
aveis
As vari
aveis do problema s
ao os seus deslocamentos
140
P5
P3
z
P4
y
x
u(x, y)
u(x, y) =
v(x, y)
(9.1)
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
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)
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.9)
142
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)
(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
9.8 Equac
oes para rigidez e forca
N2e
Nne
N1e
0
0
...
x
x
x
N2e
N1e
0
0 ...
= 0
y
y
143
e
Nn e
u = Bue
y
e
Nn
x
(9.16)
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
(9.20)
144
hBT CBd e
K =
(9.21)
hNT
td e
(9.22)
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)
(9.26)
(9.27)
(9.28)
(9.29)
1
( 1)( 1)
4
(9.30)
145
2
1
x
1
3
3
1
e
y
(1,-1)
1
Elemento de
referencia
2
(x2 , y2 )
Elemento real
146
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:
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)
= J1
x
(9.37)
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 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)
Z
RB =
V
NT fB dV
(9.45)
148
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.
9.10 Integrac
ao numerica em duas dimens
oes
149
1,2
2 cm
2 cm
2 cm
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
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
J=
1
2
1 0
; J1 =
1 2
1
1
(9.57)
1+ 1
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)
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
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
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
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 .
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
nu0 = 0.30;
154
u=0
v=0
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
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
1
tensao (na deformada), componente XX
1
6
1
4
!2
!4
1
!6
1
0
10
12
14
16
18
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
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
dNdx(:,1);
dNdx(:,2);
dNdx(:,2);
dNdx(:,1);
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.
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
w w
,
]
x y
(10.4)
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)
161
(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
(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
(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
PT = [1, x, y, x2 , xy, y 2 , x3 , x2 y, xy 2 , y 3 , x3 y, xy 3 ]
(10.20)
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
D=
sendo h a espessura da placa.
Eh3
12(1 2 )
(10.21)
(10.22)
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];
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)
167
w
x
w
y
2w
xy
... w4
w
x
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),...
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,...
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),...
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)
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];
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)
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
177
178
10 Placas de Kirchhoff
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.
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
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
185
xy
(11.9)
(11.10)
(11.11)
xz =
(11.12)
yz
(11.13)
(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 + )
1
Tf Df f dV +
T Dc c dV
U=
2 V
2 V c
(11.17)
(11.18)
186
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
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
187
2x2 (flexao)
1x1 (corte)
Figura 11.2. Elemento bilinear de placa de Mindlin : diferentes quadraturas para
flex
ao e corte transverso
Ke =
h3
12
BTf Df Bf |J|dd + h
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.31)
188
D=
Eh3
12(1 2 )
(11.32)
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
189
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
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
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.
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)
192
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
(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
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
= 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)
D=
Eh3
12(1 2 )
(11.47)
(11.48)
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;
% 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
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)
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
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);
%-------
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;
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
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)
w
x
e y =
w
y
y = N yn + Py
(11.49)
200
w; x ; y
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)
(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)
201
z
3
s=0
i
s
k
s = Lk
j
s
n
1
(si + sj ) + k
2
(11.57)
(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)
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
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
4 (12)
5 (23)
6 (31)
6 (31)
4 (12)
5 (23)
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)
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
D=
Eh3
12(1 2 )
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
% 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
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)
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)
%
%
%
%
%
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
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
) - ...
...
...
;
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
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.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
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)
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
(e)
(e)
(e)
(e)
(e)
K(e) = K(e)
mm + Kf f + Kf f + Kcc + Kc2c2 + Kcc2 + Kc2c
(e)
(12.12)
(e)
K(e)
mm =
h/2
Z Z
A
Tm dzdA =
h/2
h/2
Z Z
h/2
Tm Dm dA
(12.13)
Z Z
(e)
Kf f =
h/2
zTf dzdA =
Z Z
h/2
h/2
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
=
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)
215
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)
Bc2
N
0
0
N
0
0
0
N
00
00 0 N
y
(12.24)
216
uT = [w1 wN , x1 xN , y1 yN , x1
xN
, y1
yN
, u1 uN , v1 vN ]
(12.25)
D=
Eh3
12(1 2 )
(12.26)
(12.27)
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];
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
% 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);
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);
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
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;
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)
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
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)
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
u0
m(k)
xx
v0
m(k)
=
yy
y
m(k)
v0
u0
xy
y
x
225
(13.11)
(13.12)
(13.13)
226
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
(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)
(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)
xx
(k)
yy
(k)
xy
(k)
yz
(k)
zx
(k)
(k)
(k)
(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].
228
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
w = w(a/2, a/2, 0)
0.999781
hq
(1)
(1)
(2)
1x =
1y =
(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
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
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
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
C1b=E0/(1-nu0^2)*[1 nu0
C2b=E0/(1-nu0^2)*[1 nu0
C3b=E0/(1-nu0^2)*[1 nu0
parte corte
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);
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
= 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);
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
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
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
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
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
(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
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
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)
(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
D1 (z)z 2 dz
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
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
ws
=
ws
R12
Z
(14.14)
h/2
2
g (z)/G13 (z)dz
hG1
h/2
U=
1
2
h
i
iT
m
T
h
+ zf D m + zf + (0) Dc (0) dV
(14.16)
(e)
K(e) = K(e)
mm + Kf f + Kcc
(e)
(14.17)
(e)
K(e)
mm
Z Z
h/2
Tm dzdA
=
A
Z Z
h/2
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
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)
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)
244
(14.24)
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 =
1y =
(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
245
(14.25)
onde
Z
h/2
g =
g(z)dz
(14.26)
h/2
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
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
246
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
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;
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
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
% 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);
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);
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
%%%% ..............................
% 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];
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
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
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.1)
onde u, v, w s
ao os deslocamentos segundo os tres eixos cartesianos x, y, z.
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)
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.8)
3 (0,0,1)
4 (0,0,0)
2 (0,1,0)
1 (1,0,0)
259
260
15 An
alise de s
olidos tridimensionais
U = Nu
(15.9)
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)
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
261
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 =
u
u
u
u
1
=J
u
u
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)
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)
Ve
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)
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;
BT DBdetJddd
(15.29)
264
15 An
alise de s
olidos tridimensionais
!2
0
0
2
2
4
4
6
8
!2
!1
0
1
2
3
4
0.0 0.0;
0.0;
2.0;
2.0;
0.0;
0.0;
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
-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-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
% 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
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
l11 l12 l13 0 0 0
u
u
v
l
l
l
0
0
0
v
21 22 23
=
(16.1)
x
x
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)
(16.5)
(16.6)
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
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
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
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
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
du
.
dt
(17.5)
t2
(mu
u kuu + f u)dt = 0
(17.6)
t1
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
(17.9)
(17.10)
17.2 Equac
oes de movimento
u1
279
u2
f2
m1
k1
m2
k2
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)
(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
(17.14)
(17.15)
ou ainda
M
q + Kq = Q
(17.16)
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
x = a
x=a
u
Figura 17.3. Elemento de barra no sistema de coordenadas local
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)
(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 =
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
(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
(17.29)
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)
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)
dN2
1
=
d
2
(17.38)
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)
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
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
(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
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)
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
K 2 M A = 0
285
(17.52)
(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
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
=
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)
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
1.610
5.628
1.571
4.712
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.5724
4.7561
1.5712
4.7233
1.5709
4.7141
1.571
4.712
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);
x, u
z
x = a
dx
x=a
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
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)
EIz
2w
x2
2
dx
(17.64)
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)
1
T =
2
1
Aw dx =
2
a
2
1 eT
Aa
Aw ad = w
2
1
2
NT Nd w
e (17.73)
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
(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 =
pwdx =
a
pwad = weT a
pNT d
(17.77)
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
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)
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
3.516
22.035
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)
x =
(17.85)
xy
(17.86)
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=
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)
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
N=
1
2 (1
1
2 (1
+ )
(17.96)
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
3.516
22.035
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
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
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
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
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
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
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
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)
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)
(17.107)
x = N ex
(17.108)
y = N ey
(17.109)
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)
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)
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.
,
= 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
Tabela 17.7. Convergencia da frequencia fundamental normalizada para placa encastrada h/a = 0.01, k = 0.8601, = 0.3
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
Tabela 17.8. Convergencia da frequencia fundamental normalizada para placa simplesmente apoiada h/a = 0.01, k = 0.8333, = 0.3
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)
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
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
Tabela 17.14. Frequencias naturais duma placa CCCC com h/a = 0.01, k =
0.8601, = 0.3
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
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
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
!)
!)
!&'(
&
&'(
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;
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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
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
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
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
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)
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
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]);
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
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
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:
332
A Conceitos b
asicos de 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
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
>>
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
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.
e
ou
n
ao.
As relac
oes produzem o valor 0 ou 1, quando aplicados a escalares, como por
exemplo
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
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 =
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
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
0.5000
0.3333
b =
8
3
4
1
5
9
6
7
2
short
long
short e
long e
hex
+
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
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
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
347
348
A Conceitos b
asicos de MATLAB
1
0.8
0.6
0.4
0.2
0
!0.2
!0.4
!0.6
!0.8
!1
A.12 Gr
aficos
349
1
0.8
0.6
0.4
0.2
0
!0.2
!0.4
!0.6
!0.8
!1
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
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
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
355
2
0
4
0
2
9
-2
1
1
-2
1
1
-2
1
1
-2
1
1
-2
1
1
-2
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
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
364
Referencias
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
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