Académique Documents
Professionnel Documents
Culture Documents
28
Fuerzas locales: f1x, f2x
=
De las condiciones de equilibrio se tiene:
= =
Elemento barra con 2 grados de libertad, sujeto a tensiones nodales T y con longitud
L
Se debe escoger la funcin matemtica que represente la deformada bajo carga del
resorte, se selecciona la funcin lineal de 2 constantes porque se tiene dos grados de
libertad:
= + ( ) ()
Se representa u en funcin de las condiciones de frontera u1, u2
= = ; = + (); =
= = ; = + (); = ( )/
= + ( )(/)
= ( ) + ( ) = +
29
( ) ()
( )( )
= =
= = = = ( )
= = ( )
= = ( + )
En forma matricial
30
( ) = / ( )
La matriz de rigidez local es por tanto: [] = / ( )
5.- Ensamblar las ecuaciones de los elementos para obtener las ecuaciones globales
[] = [() ] [] = [() ]
= =
[] = [][]
EJERCICIO DE ENSAMBLAJE
1 1 1.30 106 1 1 1 1
(1) = (3) = ( )= ( ) = 106 ( )
1 1 30 1 1 1 1
Nodos 1 2 y 3 4
1 1 2.15 106 1 1 1 1
(2) = ( )= ( ) = 106 ( )
1 1 30 1 1 1 1
31
L a matriz global queda as:
1 2 3 4
1 -1 0 0 1
-1 1+1 -1 0 2
0 -1 1+1 -1 3
0 0 -1 1 4
1 1 1 0 0 1
2
( ) = 106 (1 2 1 0 ) . (2)
3 0 1 2 1 3
4 0 0 1 1 4
32
2.2.- ECUACIONES DE TRANSFORMACIN
Es una de las caractersticas de las armaduras tener barras inclinadas para formar
tringulos es conveniente por tanto, transformar coordenadas locales a globales o
viceversa. En este caso se va a relacionar los desplazamientos del sistema de
coordenadas U global (x, y) a coordenadas locales u (x, y):
()
= ()
() +
= ()
{ }=[ ][ ]
Por lo tanto
+ =
+ =
En forma matricial
{ }=[ ][ ]
c s
1 2 2 2 2
c s c s c s
s c s c
2 2 2 2
c s c s
33
Ejemplo: El desplazamiento global fue determinado en d2x = 10 mm y en d2y =
20mm. Determine el desplazamiento local d2^x y d2^y
= 60.
180
2 cos() sin() 10
()=( ).( )
2 sin() cos() 20
2 22.3
()=( )
2 13
1 1 1 1
{ }= [ ] { }
2 1 1 2
Se precisa relacionar las fuerzas nodales globales con los desplazamientos nodales
globales
1 1
1 1
= =
2 2
{2 } {2 }
{ }=[ ][ ]
34
1
1 0 0 1
{ } = [ ] =
2 0 0 2
2
{ }
= 1 cos + 1 sin
1
= 2 cos + 2 sin
2
1 1
0 0
1 0 0 ] 1
= [ =
2 0 0 2
0 0 { 2 }
{ 2 }
1
1 0 0 1
{ } = [ ] =
2 0 0 2
{2 }
1 1
0 0
1 0 0 ] 1
= [
2 0 0 2
0 0 { 2 }
{2 }
1 1
1 0 1 0
1 0 0
0 0] 1
= [
2 1 0 1 0 2
0 0 0 0
{2 } { 2 }
Puesto que
1 1 1 1
{ }= [ ]{ }
2 1 1 2
= =
Entonces
35
Despejando:
= 1
0 0 1 0 1 0
0 0 ] K1 = [ 0 0
= [ 0 0]
0 0 1 0 1 0
0 0 0 0 0 0
2 2
2 2
1 = [ 2 ]
2
2 2
2 2
2 2 ]
= [
2
2
Simtrica
Ejemplo: Determine la matriz de rigidez global con respecto a los ejes x & y de la
barra inclinada
F2
= 30 180 =2 = 30 106 = 60
36
7.5 105 4.33 105 7.5 105 4.33 105
4.33 105 2.5 105 4.33 105 2.5 105
=
7.5 105 4.33 105 7.5 105 4.33 105
[4.33 105 2.5 105 4.33 105 2.5 105 ]
1 1 1 1 1
{ } = /[ ]{ } 2 = /[1 1]{ }
2 1 1 2 2
2
=
Combinando
= [1 1] = [1 1] =
Donde C es
0 0
= [1 1] [ ] = [ ]
0 0
La operacin se la efecta mediante:
1
1
= ( cos() sin() cos() sin() )
2
2
( )
37
EJERCICIOS:
1.- Para la barra indicada en la figura determine el esfuerzo axial donde A = 4 E-4 m2,
E = 210 GPa, L = 2m, Los desplazamientos globales fueron determinados d1x = 0.25
mm, d1y = 0.0 mm, d2x = 0.50 mm y d2y = 0.75 mm
= = [ ]
= 210 106 = 2 = 60
180
0.25 0.5 0.75
1 = 1 = 0 2 = 2 =
1000 1000 1000
1
1
= ( cos() sin() cos() sin()) = 8.132 104
2
(2 )
38
2.- Para la estructura plana indicada sujeta a una fuerza de 10000 N aplicada en el
nodo 1 determine la matriz de rigidez, las deformaciones, las tensiones
Ensamblaje Manual
2 2
2 2
= [ ]
2
2
Si son 4 nodos la matriz global es de 8x8 y debe quedar en la forma siguiente
39
d1x d1y d4x d4y
EArea K2
Ktotal K1 K3
Long 2
Por lo que se pueden eliminar desde la segunda a la cuarta fila y columna mediante
la sentencia:
Kr submatrixKtotal
( 0 1 0 1)
40
Los desplazamientos se los calcula mediante:
1 0 0.012
d Kr d
10000 0.048
ELEMENTO 1
90 Area 1000 E 200000 Long 1200
180
c cos() s sin()
c2 c s c
2
c s
0 0 0 0
2
2
K
c s s c s s
K
0 1 0 1
2 2 0 0 0 0
c c s c c s
c s 2 2 0 1 0 1
s c s s
K1 0 7 0 K1 7 0 0
i 1 j 2 r j i r 1
K1 i 1 i 1 K0 0 K1 i 1 i K0 1 K1 i 1 j r 1 K0 2 K1 i 1 j r K0 3
K1 i i 1 K1 0 K1 i i K1 1 K1 i j r 1 K1 2 K1 i j r K1 3
K1 j r 1 i 1 K2 0 K1 j r 1 i K2 1 K1 j r 1 j r 1 K2 2 K1 j r 1 j r K2 3
K1 j r i 1 K3 0 K1 j r i K3 1 K1 j r j r 1 K3 2 K1 j r j r K3 3
41
Que resulta en
0 0 0 0 0 0 0 0
0 1 0 1 0 0 0 0
0 0 0 0 0 0 0 0
1 0 1 0 0 0 0
K1
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
0 0 0 0 0 0 0 0
ELEMENTO 2
45 c cos() s sin()
180
c2 c s c
2
c s
0.5 0.5 0.5 0.5
c s s
2
c s s
2
0.5 0.5
K
K 0.5 0.5
2 2
c c s c c s 0.5 0.5 0.5 0.5
c s
s
2
c s s
2
0.5 0.5 0.5 0.5
K2 0 7 0 K2 7 0 0
i 1 j 3 r j i r 2
K2 i 1 i 1 K0 0 K2 i 1 i K0 1 K2 i 1 j r 1 K0 2 K2 i 1 j r K0 3
K2 i i 1 K1 0 K2 i i K1 1 K2 i j r 1 K1 2 K2 i j r K1 3
K2 j r 1 i 1 K2 0 K2 j r 1 i K2 1 K2 j r 1 j r 1 K2 2 K2 j r 1 j r K2 3
K2 j r i 1 K3 0 K2 j r i K3 1 K2 j r j r 1 K3 2 K2 j r j r K3 3
42
0.5 0.5 0 0 0.5 0.5 0 0
0.5 0.5 0 0 0.5 0.5 0 0
0 0 0 0 0 0 0 0
K2
0 0 0 0 0 0 0 0
0.5 0.5 0 0 0.5 0.5 0 0
0.5 0.5 0 0 0.5 0.5 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
ELEMENTO 3
0 c cos() s sin()
180
c2 c s c
2
c s
1 0 1 0
c s s
2
c s s
2
K
K 0 0 0 0
2 2
c c s c c s 1 0 1 0
c s
s
2
c s s
2
0 0 0 0
i 1 j 4 r j i r 3
K3 i 1 i 1 K0 0 K3 i 1 i K0 1 K3 i 1 j r 1 K0 2 K3 i 1 j r K0 3
K3 i i 1 K1 0 K3 i i K1 1 K3 i j r 1 K1 2 K3 i j r K1 3
K3 j r 1 i 1 K2 0 K3 j r 1 i K2 1 K3 j r 1 j r 1 K2 2 K3 j r 1 j r K2 3
K3 j r i 1 K3 0 K3 j r i K3 1 K3 j r j r 1 K3 2 K3 j r j r K3 3
1 0 0 0 0 0 1 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
K3
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
1 0 0 0 0 0 1 0
0 0 0 0 0 0 0 0
43
Y se efecta la substitucin inversa para determinar las reacciones:
0
d0 4
1 10
d1 13
0 4.855 10
3
0 7.929 10
Ktotal
0 3
2.071 10
0 2.071 103
0
2.071 103
0
0
fact 1000
df factd
0 df0 0 df1
Ax Ay
0 Long
0 df0 0 df1
Bx By
Long 0
0 df0 0 df1
Cx Long 2 Cy Long 2
2 2
44
DEFORMADA DE LA ESTRUCTURA
3
110
Ay
By
Cy
A1y
B1y
500
C1y
3
0 500 110
Ax Bx Cx A1x B1x C1x
45
3.- Para la estructura plana indicada sujeta a una fuerza de 10000 N aplicada en el
nodo 1 determine la matriz de rigidez, las deformaciones, las tensiones
conectividad_nodos = [ 1 2 3 4 ; 1 2 5 6 ; 1 2 7 8];
numeroElementos=size(conectividad_nodos,1);
numero_nodos = 4;
grados_libertad = numero_nodos*2;
desplazamientos =zeros(grados_libertad,1)
fuerza=zeros(grados_libertad,1)
rigidez=zeros(grados_libertad)
theta = [ 90 ; 45 ; 0];
x = theta*pi/180
C = cos(x)
S = sin(x)
for e=1:numeroElementos;
elemenDof=conectividad_nodos(e,:)
end
46
Para determinar las tensiones en cada barra utilizamos la frmula:
1
1
= ( cos() sin() cos() sin())
2
( 2 )
1 = 0.414 102
30 106 1 = 1.59 102
(1) = [0 1 0 1] = 3965
120 2 = 0
{ 2 = 0 }
1 = 0.414 102
30 106 2 2 2 2 1 = 1.59 102
(2) = [ ] = 1471
1202 2 2 2 2 3 = 0
{ 3 = 0 }
1 = 0.414 102
(3)
30 106 1 = 1.59 102
= [1 0 1 0] = 1035
120 4 = 0
{ 4 = 0 }
47
2.5.- RESOLUCIN CON MATLAB SEGN FERREIRA
Los siguientes son los archivos .m que se necesitan para resolver problemas sencillos
de armaduras planas segn el libro de Ferreira:
%........................................................
........
% MATLAB codes for Finite Element Analysis
% problem4.m
% antonio ferreira 2008
% clear memory
clear all
clc
% E; modulus of elasticity
% A: area of cross section
% L: length of bar
E=200000; A=1000; EA=E*A;
Nmero de elementos = 3
Nmero de Nodos = 4
48
Conexiones = [1 2;1 3;1 4]
xx = 0 yy = 0
0 1200
1200 1200
1200 0
% for structure:
% displacements: displacement vector
% force : force vector
% stiffness: stiffness matrix
GDof=2*numberNodes; % GDof: total number of degrees of
freedom
displacements=zeros(GDof,1);
force=zeros(GDof,1);
49
% applied load at node 2
force(2)=-10000.0
El vector fuerza queda:
force = 0
-10000
0
0
0
0
0
0
POSTPROCESADO
% drawing displacements
us=1:2:2*numberNodes-1;
vs=2:2:2*numberNodes;
figure
L=xx(2)-xx(1);
%L=node(2,1)-node(1,1);
XX=displacements(us);YY=displacements(vs);
dispNorm=max(sqrt(XX.^2+YY.^2));
scaleFact=15000*dispNorm;
clf
hold on
drawingMesh(nodeCoordinates+scaleFact*[XX
YY],elementNodes,'L2','k.-');
drawingMesh(nodeCoordinates,elementNodes,'L2','k.--');
% stresses at elements
stresses2Dtruss(numberElements,elementNodes,...
xx,yy,displacements,E)
% output displacements/reactions
outputDisplacementsReactions(displacements,stiffness,GDof,prescri
bedDof)
50
SUBRUTINAS FORMSTIFFNESS2DTRUSS:
function [stiffness]=...
formStiffness2Dtruss(GDof,numberElements,elementNodes,numberNodes,nodeCoordinates,xx,yy,
EA);
stiffness=zeros(GDof);
% computation of the system stiffness matrix
for e=1:numberElements;
% elementDof: element degrees of freedom (Dof)
indice=elementNodes(e,:) ;
elementDof=[ 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*CSOLUTION:
SUBRUTINA -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];
stiffness(elementDof,elementDof)=...
stiffness(elementDof,elementDof)+k1;
end
51
%................................................................
function
displacements=solution(GDof,prescribedDof,stiffness,force)
% function to find solution in terms of global displacements
activeDof=setdiff([1:GDof]', ...
[prescribedDof]);
U=stiffness(activeDof,activeDof)\force(activeDof);
displacements=zeros(GDof,1);
displacements(activeDof)=U;
SUBRUTINA TENSIONES
function stresses2Dtruss(numberElements,elementNodes,...
xx,yy,displacements,E)
% stresses at elements
for e=1:numberElements
indice=elementNodes(e,:);
elementDof=[ 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);
Considere la armadura plana mostrada en la figura dado:
C=xa/length_element;
E=S=ya/length_element;
210 GPa y A = 1104 m2,
sigma(e)=E/length_element* ...
Determine:
[-C -S C S]*displacements(elementDof);
1.-end
La matriz de rigidez global para la estructura
disp('stresses')
2.- El desplazamiento horizontal en el nodo 2
sigma'
3.- El desplazamiento horizontal y vertical en el nodo 3
4.- Las reacciones en el nodo 1 y 2
5.- Los esfuerzos en cada elemento
52
SUBRUTINA DESPLAZAMIENTOS Y REACCIONES
%................................................................
function outputDisplacementsReactions...
(displacements,stiffness,GDof,prescribedDof)
% displacements
disp('Displacements')
%displacements=displacements1;
jj=1:GDof; format
[jj' displacements]
% reactions
F=stiffness*displacements;
reactions=F(prescribedDof);
disp('reactions')
[prescribedDof reactions]
53
2.6.- EJERCICIOS PROPUESTOS
54
55