Anda di halaman 1dari 42

SME0305

Roberto F. Ausas

ICMC - Ramal 736628, rfausas@gmail.com

Equilibrio de Estruturas
Vamos estudar métodos numéricos para resolver o problema de achar
a configuração de equilibrio de uma treliça:
Lei constitutiva para uma barra elástica
A partir de um ensaio experimental se determina o comporta-
mento elástico de uma amostra. Medindo a deformação axial
resultante de uma força aplicada, calculamos:
T ∆` ` − `0
τ= =E =E
A `0 `0
E tem unidades de pressão (Pascal no sistema internacional
SI) e se chama o módulo de Young (Young’s modulus).
A partir deste ensaio construimos curvas do tipo:
Vamos trabalhar no chamado regime linear, quando as deformações
são pequenas em comparação ao comprimento da barra. Neste
caso, a força uniaxial é dada por

EA
T = (` − `0 )
`0

sendo E uma constante. Vamos supor também que a seção


da barra A permanece constante.

Agora, vamos estudar como se deforma uma barra. Con-


siderando a figura vemos que:
xb

ub

b
Xb

`0

x2
xa

ua
x1 a

Xa
 a  a  a
x1 X1 u1
xa =   = Xa + ua =   +  
x2a X2a u2a
 b  b  b
x1 X1 u1
xb =   = Xb + ub =   +  
x2b X2b u2b

em que u denota o deslocamento.

Definimos dois versores unitarios: um na configuração inicial


e outro na configuração deformada:
Xb − Xa Xb − Xa
eab
0 = b a
=
kX − X k `0
b a
x −x x − xa
b
eab = b a
=
kx − x k `

E usando a definição de xa e xb

xb − xa Xb + ub − (Xa + ua )
eab = =
kxb − xa k `

em que ` é dado por:

` = kXb + ub − (Xa + ua )k
Tb

xb

ub

b
eab
Xb

`0

x2
xa
eab
0
Ta
ua
x1 a

Xa
Vamos supor que na configuração deformada a barra está
em equilibrio. Então, queremos ver qual é a força que tem
que ser aplicada nos seus extremos a e b para conseguir-lo.
Escrevemos:
X
forças = 0

X
forças = Ta + Tb = 0
e portanto
EA
Ta = −Tb = (` − `0 ) eab
`0
Exo. 1: Fazer uma função de Octave que calcule a magnitude
de Ta numa barra, com a seguinte estrutura:

function T = force (Xa, Xb, ua, ub, E, A)


...
end

Agora, tanto ` como eab dependem de ua e ub , os quais não


conhecemos, i.e.
 a a b   a a a b b 
T1 (u , u ) T1 (u1 , u2 , u1 , u2 )
Ta = Ta (ua , ub ) =  = 
a a b a a a b b
T2 (u , u ) T2 (u1 , u2 , u1 , u2 )
Para achar-los, precisamos fazer um desenvolvimento de Tay-
lor de uma função vetorial de várias variáveis ao redor do
ponto ua = 0, ub = 0. Lembremos como :

Desenvolvimentos de Taylor
Para praticar, começamos com uma função de uma variável
f (u):

df
f (u) = f (u0 ) + (u − u0 ) + T.O.S.
du u0
em u0 = 0, fica

df
f (u) = f (0) + u + T.O.S.
du 0
Agora, complicamos um pouco e passamos para uma função
escalar que dependa de quatro variáveis, f (u1 , u2 , u3 , u4 )

∂f ∂f
f (u1 , u2 , u3 , u4 ) = f (0) + u1 + u2 +
∂u1 0 ∂u2 0

∂f ∂f
+ u3 + u4 + ...
∂u3 0 ∂u4 0

em que 0 = (0, 0, 0, 0).

Agora, complicamos mais e passamos para uma função ve-


torial de duas componentes, em que cada componente de-
penda de quatro variáveis, f(u1 , u2 , u3 , u4 )
   
f1 (u1 , u2 , u3 , u4 ) f1
f(u1 , u2 , u3 , u4 ) =  =  +
f2 (u1 , u2 , u3 , u4 ) f2 0
 ∂f1   ∂f1 
∂u1 ∂u2
+  u1 +   u2
∂f2 ∂f2
∂u1 0 ∂u2 0
 ∂f1   ∂f1 
∂u3 ∂u4
  u3 +   u4
∂f2 ∂f2
∂u3 0 ∂u4 0

ou de maneira mais compacta


∂f ∂f ∂f ∂f
f(u) = f(0) + u 1 + u2 + u3 + u4
∂u1 0 ∂u2 0 ∂u3 0 ∂u4 0
Então, voltando ao nosso caso teriamos
EA
Ta = Ta (ua , ub ) = Ta (u1a , u2a , u1b , u2b ) = (` − `0 ) eab
`0
mas lembremos:
Xb + ub − (Xa + ua )
eab =
`
e
` = kXb + ub − (Xa + ua )k
Vamos fazer o desenvolvimento de Taylor de Ta , que é uma
função vetorial que depende de quatro variáveis (ua , ub ) =
(u1a , u2a , u1b , u2b ), ao redor do ponto (ua , ub ) = (0, 0, 0, 0) = 0
(i.e., ao redor da configuração não deformada ou de zero
deslocamento):
∂Ta a ∂Ta a ∂Ta b ∂Ta b

a a b a
T (u , u ) = T (0) + u + u + u + u
∂u1a 0 1 ∂u2a 0 2 ∂u1b 0 1 ∂u2b 0 2

vejamos cada termo:

∂Ta ∂eab
   
E A ∂` ab EA
= e + (` − `0 ) a
∂u1a 0 `0 ∂u1a 0 `0 ∂u1 0
Agora, já que

` = kXb + ub − (Xa + ua )k =
q
= (X1b + u1b − X1a − u1a )2 + (X2b + u2b − X2a − u2a )2

o segundo termo é identicamente nulo, já que:

(` − `0 )0 = `0 − `0 = 0
∂`
Agora, só precisamos calcular ∂u1a e avaliar em 0 = (0, 0, 0, 0):

" #
−(X1b + u1b − X1a − u1a )
 
∂`
= =
∂u1a
p
0 (X1b + u1b − X1a − u1a )2 + (X2b + u2b − X2a − u2a )2 0

(X1b − X1a )
= −p
(X1b − X1a )2 + (X2b − X2a )2
(X1b − X1a )
= −
`0
Concluindo que

∂Ta E A (X1b − X1a ) ab


= − e0
∂u1a `0 `0
e similarmente para as outras derivadas:

∂Ta E A (X2b − X2a ) ab


= − e0
∂u2a `0 `0
∂Ta E A (X1b − X1a ) ab
= + e0
∂u1b `0 `0
∂Ta E A (X2b − X2a ) ab
= + e0
∂u2b `0 `0

Juntando tudo, temos que o desenvolvimento a primeira or-


dem é:
EA
Ta (ua , ub ) = ·
`20
−(X1b − X1a )u1a − (X2b − X2a )u2a + (X1b − X1a )u1b + (X2b − X2a )u2b eab
 
0
Exo. 2: Calcular as derivadas anteriores em detalhe para
verificar os resultados.

Chamando de d = Xb − Xa , podemos escrever tudo de forma


mais compacta:
d
eab0 =
`0

EA  d EA
Ta (ua , ub ) = 2 d · (ub − ua ) = 3 dT (ub − ua ) d
`0 `0 `0
EA
e chamando k = `30
, isto pode ser escrito como:
u1a
 
 
 a   a
−d12 d12

T1 −d1 d2 d1 d2 u2 
a a b
 
T (u , u ) =   = k   
 b
T2a −d1 d2 −d22 d1 d2 d22 u1 
 
 
u2b
Lembremos que Ta = −Tb , i.e.,

u1a
 
 
 b  2   a
T1 d1 d1 d2 −d12 −d1 d2 u2 
Tb (ua , ub ) =   = k 
 
 
 b
T2b d1 d2 d22 −d1 d2 −d22 u1 
 
 
u2b
Então poderiamos colocar tudo junto:

T1a d12 −d12 u1a


    
d1 d2 −d1 d2
     
 a    a
T2 
 
 d1 d2
 d22 −d1 d2 −d22 

 u2 
 
  = −k    
 b    b
T1   −d12 −d1 d2 d12 d1 d2  u1 
     
     
T2b −d1 d2 −d22 d1 d2 d22
u2b
Vamos escrever para a barra

T = −K(n) u
em que n é o ı́ndice que identifica a barra e K(n) é chamada a
sua matriz de rigidez.
Exo. 3: Considerar uma barra que vai do ponto Xa = (1, 0) ao
ponto Xb = (0, 1). Considerar E = 2 × 1011 Pa e A = 10−6 m2 .
Mostrar que a sua matriz de rigidez é:
 
√ 1 −1 −1 1
2  −1 1 1 −1 
K= × 105 ×  
2  −1 1 1 −1 
1 −1 −1 1

Verificar manualmente que os três vetores seguintes são au-


tovetores de autovalor zero:
     
1 0 −1
 0   1   −1 
r= 1 
 s=  t= 
 0   1 
0 1 1
Interpretar o resultado e verificar que os 3 autovetores asso-
ciados ao autovalor nulo (de multiplicidade 3), correspondem
a movimentos rı́gidos, i.e., duas traslações e uma rotação
(esta última infinitessimal), que não mudam o comprimento
da barra.
Agora vamos pegar um conjunto de barras unidas, i.e. uma
treliça, a qual é descrita por uma matriz de conectividades,
similarmente às redes hidrâulicas. Teremos:
• Número de barras nb
• Número de nós nv
Vamos postular o equilibrio de forças:

A soma de todas as forçãs que as barras fazem em cada


nó mais as forças externas aplicadas em cada nó, em
cada direção tem que ser zero, i.e.

X
Tji + Eji = 0,

i = 1, ... , nv , j = 1, 2
Todas as barras que tem o nó i
Agora temos uma treliça com nv nós, então, para descrever
os deslocamentos e as forças de todos os nós precisamos:

• Um vetor u ∈ R2 nv
• Um vetor T ∈ R2 nv
• Uma matriz global de rigidez Kglob ∈ R2 nv ×2 nv

Vamos considerar o exemplo da figura.


5

(6) (7)

E4

3 4

(1) (4)

(2) (3)

1 2
Neste temos nv = 5, nb = 7 e a matriz de conectividades na
sequência:
 
1 3
1 4
 
3 2
 
conec = 2 4

3 4
 
3 5
4 5
Para o exemplo teriamos:

u, T ∈ R10 , Kglob ∈ R10×10


dados por
 1  1  
u1 T1 K11 K12 ... K1,10
u21  T21   K21 K22 ... K2,10 
 2  2  
u1  T1   . 
 2  2  
u2  T2   . 
     
u =  .  , T =  .  , Kglob = 
   
 .


.  .   . 
     
.  .   . 
 5  5  
u1  T1   . 
5 5
u2 T2 K10,1 K10,2 ... K10,10

Notar que a incógnita uji , i = 1, ... , nv , j = 1, 2, se encon-


tra na posição global 2 × (i − 1) + j. Por exemplo,
• A incógnita u15 se encontra na posição 2 × (5 − 1) +
1=9
• A incógnita u25 se encontra na posição 2 × (5 − 1) +
2 = 10

e similarmente para ver qual é a posição no sistema


global das forças Tji .

Então, a força que as barras fazem sobre os nós, i.e., as


forças internas, seriam

T = −Kglob u
A questão é, como construir essa matriz global
A matriz global é construida somando as contribuções de cada
barra e lembremos que cada barra tem uma matriz de rigidez
de 4 × 4

d12 −d12
 
d1 d2 −d1 d2
 
 
 d1 d2 d22 −d1 d2 −d22 
K(n)
 
=k 

,
 n = 1, ... , nb
 −d12 −d1 d2 d12 d1 d2 
 
 
−d1 d2 −d22 d1 d2 d22

Por exemplo, vamos ver a força que as barras fazem sobre o


nó número 5, o qual é compartilhado pelas barras 6 e 7 (ver
figura da treliça). Precisamos ver a matriz de rigidez K(6) e
K(7) , i.e.,
 3  3  4  4
T1 u1 T1 u1
       
 3  3  4  4
T2  u2  T2  u2 
  = −K(6)   = −K(7)
       
 ,  
 5  5  5  5
T1  u1  T1  u1 
       
       
T25 u25 T25 u25

Já que estamos querendo calcular a força no nó 5, precisamos


olhar para as linhas 3 e 4
Primeiro, vejamos a componente horizontal da força no nó 5:

(6) (6) (7) (7)


T15 = −K31 u13 − K32 u23 − K31 u14 − K32 u24 −
(6) (7) (6) (7)
(K33 + K33 ) u15 − (K34 + K34 ) u25
e similarmente para a componente vertical da força no nó 5:
(6) (6) (7) (7)
T25 = −K41 u13 − K42 u23 − K41 u14 − K42 u24 −
(6) (7) (6) (7)
(K43 + K43 ) u15 − (K44 + K44 ) u25

Tentemos entender como isto serı́a no sistema global:


. . . . . . . . . . 
 .  . 
    
. . . . . . . . . .  
 . 
    . 

u3 
  
  
  1
  . 
 . 
   . . . . . . . . .
  
3
    
  u2 
  . 
 . 
   . . . . . . . . .
    
 
  = −
T = 

u14 
  
 .  . . . . . . . . . . 
    
    
. . . . . . . . . .  4

 . 
   u 

2

    

    
 5 
. (6) (6) (7) (7) (6) (7) (6) (7)  u 5 

T  . 0 0 K K K K (K +K ) (K + K )
 1 31 32 31 32 33 33 34 34   1 
 
  
  
5
T2 (6) (6) (7) (7) (6) (7) (6) (7) u25
. . 0 0 K K K K (K +K ) (K + K )
41 42 41 42 43 43 44 44
Desta forma, precisamos ir acumulando as contribuções de
cada barra em cada linha e coluna da matriz global, tal como
era feito para montar o sistema linear de uma rede hidrâulica.
Para isto, percorremos as barras, calculamos a sua matriz de
rigidez de 4 × 4, olhando para os nós em que ela contribui e
acumulamos ela na matriz global.

Uma vez feito isto, escrevemos o balanço de forças

T + E = −Kglob u + E = 0
Já que a forças externas E são conchecidas, então, resolver-
emos o sistema linear na sequência:

Kglob u = E
O código que faz isto é:

function Kglo = rigidez(nbars, nv, conec, modu, coord)


% nbars nro de barras, nv nro de nos
% modu(1:nbars) valor de E*A em cada barra
% coord coordenadas dos nos

Kglo=zeros(2*nv); % Zerar a matriz


for k=1:nbars
Kbarra=zeros(4);
ia = conec(k,1); ib = conec(k,2);
Xa = coord(ia,:); Xb = coord(ib,:);
d = (Xb-Xa)';
L0 = norm(d);
aux = modu(k)/(L0ˆ3);
Mat = aux*d*d';
Kbarra = [ Mat -Mat ; -Mat Mat ];
% Indices globais em que temos que montar a Kbarra
% Lembrar: 2 * (i - 1) + j
loc2glo=[ 2*ia-1; 2*ia ; 2*ib-1; 2*ib ];

% Montar a matriz da barra na matriz global


for i=1:4
for j=1:4
iglo=loc2glo(i);
jglo=loc2glo(j);
Kglo(iglo,jglo) = Kglo(iglo,jglo) + Kbarra(i,j);
end
end
end

end

Mas, as coisas não são tão simples.


A matriz Kglob é singular!

O mesmo que acontecia com as redes hidrâulicas.

Se pode ver que a solução desse sistema está indeterminada


a menos de vetores constantes. De fato, esta matriz global
também tem um autovalor nulo de multiplicidade 3, que justa-
mente se corresponde com os chamados movimientos rı́gidos
da treliça:

• Duas traslações
• Uma rotação (infinitessimal)

Fı́sicamente, isto é fácill de entender:


Está faltando restringir a treliça, i.e., fixar o deslocamento
de algums nós e eliminar do sistema os movimientos
rı́gidos.

Para conseguir isto, vamos fixar algumas das incógnitas do


sistema. Para o nosso exemplo, poderiamos fixar os nós da
base:
u11 = u21 = u12 = u22 = 0
Uma forma prática de fazer isto, é como sempre, mudar o
sistema de equações, tocando as linhas que correspondem
às incógnitas que deseja-se fixar o seu valor. Neste exemplo:

1 u11 + 0 u21 + 0 u12 + 0 u22 + 0 u13 + · · · + 0 u25 = 0

0 u11 + 1 u21 + 0 u12 + 0 u22 + 0 u13 + · · · + 0 u25 = 0

0 u11 + 0 u21 + 1 u12 + 0 u22 + 0 u13 + · · · + 0 u25 = 0

0 u11 + 0 u21 + 0 u12 + 1 u22 + 0 u13 + · · · + 0 u25 = 0


  u 1   
1
1 0 0 0 . . . . . 0    0 
   1
   
 u   
  2

 0 
 
0 1 0 0 . . . . . 0  

 
2
 
  u1 
  
  0 
 
0 0 1 0 . . . . . 0  
  
    
   2  
 u   0 
 
0 0 0 1 . . . . . 0  2 

    
    
 u 3   . 
 
. . . . . . . . . .  1

 
  = 
   

 . 
  3  
. . . . . . . . . .  u 

   2  
 
  
 . 
 
. . . . . . . . . . 
 
u14 

   
    
  . 
  
. . . . . . . . . .  4
  
 u   
  2
  
  5
.

. . . . . . . . .  
  E 
  u 5   1
   1  
 
. . . . . . . . . .    E 5 
5 2
u2

Ou seja, as 4 primeiras linhas são as da matriz identidade de


2nv × 2nv = 10 × 10. Em Octave:

iden = eye(2*nv);
Ktilde(1:4,:) = iden(1:4,:);
e as restantes são a linhas da matriz original:

Ktilde(5:10,:) = Kglo(5:10,:);

Então, vamos resolver o sistema com a matriz modificada,


que chamaremos, K e glob , que não é singular:

e glob u = E
K
Neste sistema, os movimentos rı́gidos (i.e., a indeterminação)
tem sido eliminados.
Exo. 4: Baseados nos códigos fornecidos, calcular a deformação
da treliça disponı́vel nos arquivos conec.txt e coord.txt que
se mostra na figura
4
x2

4 4 9 6 14 8 19 10 24 12 29 14 34 16 39 18 44 20 49 22
2

3 7 12 17 22 27 32 37 42 47
2 6 11 21 26 31 36
16 41 46 50
8 18 28
13 23 33 38 43 48 51
1
1 3 5 5 10 7 15 9 20 11 25 13 30 15 35 17 40 19 45 21

• Plotar a treliça com a funções coo2x e plotsimple2:

Agora, considerar duas situações:


a. A treliça encontra-se totalmente restrita tanto no extremo
direito (nós 1 e 2) como no esquerdo (nós 21 e 22) e
uma força vertical para baixo de 10000 é aplicada no
centro (no nó número 11), i.e.,

u11 = u21 = u12 = u22 = u121 = u221 = u122 = u222 = 0

que correspondem as incognitas globais: 1, 2, 3, 4, 41, 42, 43, 44,


pois, lembremos, o ı́ndice global da incógnita uji é con-
struido como
iglo = 2 × (i − 1) + j

b. A treliça encontra-se totalmente restrita apenas no ex-


tremo esquerdo (nós 1 e 2) e uma força vertical para
baixo de 10000 é aplicada no extremo direito (no nó
número 21).