Está en la página 1de 8

CODIGO PARA ANLISIS DE ESTRUCTURAS PLANAS

Ana Beltrn (20-14-1839)

2/06/15

El siguiente cdigo est implementado en MATLAB, y ha sido programado para determinar los
desplazamientos al generarse fuerzas externas en la estructura. Se determinan las fuerzas que generan
esos desplazamientos y por ltimo los esfuerzos generados en cada elemento que compone la
estructura.
DESARROLLO DEL CODIGO
A travs del cdigo se har hincapi en secciones o detalles que no son explcitos en el programa.
clc;
clear all;
%PROGRAMA DE ANALISIS DE ESTRUCTURAS PLANAS(2D)
disp('PROGRAMA DE ANALISIS DE ESTRUCTURAS PLANAS(2D)');
%Solicitar numero de elementos
e= input('introduzca el numero de elementos:');
nn= input('introduzca el numero de nodos globales:');
% Solicitar coorenadas de nodos
for ii=1:e;
nx1(ii)= input('introduzca
ny1(ii)= input('introduzca
nx2(ii)= input('introduzca
ny2(ii)= input('introduzca

la
la
la
la

coordenada
coordenada
coordenada
coordenada

x
y
x
y

del
del
del
del

nodo
nodo
nodo
nodo

inicial:');
inicial:');
final:');
final:');

%PEDIR EL NODO GLOBAL POR ELEMENTO

En esta seccin se le pide al usuario enumerar los nodos en trminos globales, es decir en los que los
elementos se encuentran unidos para formar una estructura.
ng(ii,1)=input('Ingrese la numeracion del nodo global de inicio del elemento:
');
ng(ii,2)=input('Ingrese la numeracion del nodo global final del elemento: ');
%Grados de libertad por elemento

El siguiente proceso provee el conteo de grados de libertad por nodo global, de acuerdo a la
enumeracin dada anteriormente se determina el nmero de grado de libertad horizontal y vertical del
nodo global.
-

Para el grado de libertad horizontal UX : 2UX -1


Para el grado de libertad horizontal UY : 2UY

nl(ii,1)=ng(ii,1)*2-1;

nl(ii,2)=ng(ii,1)*2;
nl(ii,3)=ng(ii,2)*2-1;
nl(ii,4)=ng(ii,2)*2;
%PARAMETROS DE LOS ELEMENTOS
a(ii)= input('introduzca el rea de seccin transversal del elemento:');
E(ii)= input('introduzca el modulo de elasticidad del elemento:');
%Definiendo longitud y ngulos de elementos

Al contar con las coordenadas cartesianas de la estructura se puede determinar sus longitudes y
orientacin. La longitud se determina entre 2 puntos, en este caso 2 nodos globales y su orientacin
est determinado por el cuadrante en el que se encuentra determinada su posicin para x positiva (> 0)
y negativa (< 0); o para y positiva o negativa.
deltax(ii)=nx2(ii)-nx1(ii);
deltay(ii)=ny2(ii)-ny1(ii);
l(ii)=sqrt((power(deltax(ii),2)+power(deltay(ii),2)));
alpha(ii)=atand(deltay(ii)/deltax(ii));
%primer cuadrante
if and(gt(deltax(ii),0),gt(deltay(ii),0))
alpha(ii)=alpha(ii)+0;
end
%segundo cuadrante
if and(lt(deltax(ii),0),gt(deltay(ii),0))
alpha(ii)=alpha(ii)+ 180;
end
%tercer cuadrante
if and(lt(deltax(ii),0),lt(deltay(ii),0))
alpha(ii)=alpha(ii)+180;
end
%cuarto cuadrante
if and(gt(deltax(ii),0),lt(deltay(ii),0))
alpha(ii)=alpha(ii)+360;
end
%Matriz de rigidez local
kl=((E(ii)*a(ii))/l(ii))*[1 0 -1 0; 0 0 0 0; -1 0 1 0; 0 0 0 0];
p=cosd(alpha(ii));
m=sind(alpha(ii));
T=[p m 0 0; -m p 0 0; 0 0 p m; 0 0 -m p];
%Matriz de rididez local con transformacion (de acuerdo al angulo) aplicada

Debido a la versin de MATLAB, el prog manda un mensaje en el cual el comando inv() o la inversa no es
bien recomendado, por lo cual se utiliza la transpuesta (en el anlisis la transpuesta acta de la misma
manera que la inversa). De acuerdo al Megson, tambin es utilizada.

Fig1. Matriz de rigidez en coordenadas globales.1


KL=transpose(T)*kl*T;
%Grados de libertad totales (de toda la estructura)
gl=2*nn;
%Matriz de ensamblaje
KG(gl,gl)=0;
%Ensamblaje

En esta seccin se relaciona los grados de libertad por nodo global con la matriz de ceros global KG, en el
conteo se le va aadiendo y sumando las matrices de rigidez local.
for i = 1:4
for j=1:4
KG(nl(ii,i),nl(ii,j))=KG(nl(ii,i),nl(ii,j))+KL(i,j);
end
end
end
%II PARTE: CONDICIONES DE FRONTERA Y DETERMINACION DE DESPLAZAMIENTOS,
%FUERZAS Y ESFUERZO POR ELEMENTO

Se inicializa los vectores de fuerzas y desplazamientos correspondientes al sistema global, en el cual se


almacenaran los valores conocidos del programa (condiciones de frontera existentes como los apoyos),
para determinar los que se encuentran como incgnita. Tambin se inicializa un vector para esfuerzos
en los elementos, determinados por la siguiente ecuacin, esta proviene de una serie de arreglos
matemticos para el clculo de reacciones y fuerzas internas.

Fig2. Esfuerzos por elemento.2


f = zeros(gl,1);
u = zeros(gl,1);
sigma = zeros(e,1);

%desplazamientos incognitas

En esta seccin se piden los desplazamientos conocidos en trminos de grados de libertad global para
obtener la relacin entre desplazamientos desconocidos con su correspondiente de grado de libertad.
Posteriormente se piden las fuerzas incgnitas, de lo cual se puede relacionar las fuerzas conocidas con
el grado de libertad global y de los cuales se requiere introducir los valores conocidos de las fuerzas. Por
ltimo se despliega o se muestran los valores de los desplazamientos, fuerzas y esfuerzos.
ee= input('introduzca el nmero total de desplazamientos conocidos:');
for ii=1:ee;
nodesu(ii)= input('introduzca la componente de los desplazamientos
conocidos:');
end
unk = 1:gl;
unk(nodesu)=[];
%fuerza active
em= input('introduzca el nmero total de fuerzas no conocidas:');
for ii=1:em;
nodesf(ii)= input('introduzca la componente de las fuerzas no conocidas:');
end
unkf1 = 1:gl;
unkf1(nodesf) = [];
disp('despliegue de fuerzas conocidas:')
disp(unkf1)
%Para introducir las fuerzas conocidas en los nodos conocidos
for ii=1:length(unkf1);
tn(ii)=input('introducir la numeracin de la fuerza conocida, en orden por
columna:');
f(tn(ii))=input('introducir el valor de la fuerza a la componente de la
fuerza seleccionada:');
end
%Desplazamientos desconocidos
u(unk)=inv(KG(unk,unk))*f(unk);
%fuerzas externas (globales)
f=KG*u;
% Esfuerzos
tt=[-p -m p m];
for ii=1:e;
sigma(ii)=(E(ii)/l(ii))*(tt)*u([nl(ii,1),nl(ii,2),nl(ii,3),nl(ii,4)]);
end

disp(u)
disp(f)
disp(sigma)

GUA PARA EL USUARIO


La siguiente gua se proveer de acuerdo a la resolucin de un problema3 de una estructura de cerchas
(truss).

6m
Trmino nodos globales: constituye las conexiones entre elementos, al ver el ejemplo se refiere a la
numeracin en color verde.
Es conveniente realizar una tabla gua para introducir las coordenadas y nodos globales.
1. Introduciendo nmero de elementos, nodos globales, coordenadas de los nodos globales y
definiendo su numeracin global.
En la figura las letras maysculas en color morado constituyen los elementos de la estructura, por lo
tanto al contar (A,B,C,D,E,F,G), tenemos que esta estructura est formada de 7 elementos. En cuanto a
los nodos globales, corresponden a los nmeros de color verde (crculos azules), por lo cual son 5 en
total, a continuacin se muestra como introducirlo en el cdigo.
introduzca el numero de elementos:7
introduzca el numero de nodos globales:5
Ahora se procede a colocar los nodos en el espacio de coordenadas cartesianas y posteriormente se le
pide enumerar el nodo global segn la posicin, para esta seccin es conveniente hacer una tabla aparte
para tener una mejor visin.

Elemento

Nodo inicio- nodo final


del elemento

A
B

1-2
3-1

UX1 (grado de
libertad
horizontal de
inicio)
1
5

UY1(grado de
libertad
vertical de
inicio)
2
6

UX2(grado de
libertad
horizontal
final)
3
1

UY2(grado
de libertad
vertical
final)
4
2

C
D
E
F
G

3-2
3-4
4-2
4-5
2-5

5
5
7
7
3

6
6
8
8
4

3
7
3
9
9

4
8
4
10
10

2. Tomando como ejemplo el elemento A, las coordenadas del nodo inicial correspondiente al 1
(numeracin global) son (x1,y1) que corresponde a (0,4) y para el nodo final del elemento A se
tiene (x2,y2) que corresponde a (3,4); esas coordenadas corresponden a las posiciones de los
nodos, luego se introduce el rea de seccin transversal y modulo del elemento.
introduzca la coordenada x del nodo inicial:0
introduzca la coordenada y del nodo inicial:4
introduzca la coordenada x del nodo final:3
introduzca la coordenada y del nodo final:4
Ingrese la numeracion del nodo global de inicio del elemento: 1
Ingrese la numeracion del nodo global final del elemento: 2
introduzca el rea de seccin transversal:1e-5
introduzca el modulo de elasticidad del elemento:2e+11
de la misma manera tomando el elemento B, y as sucesivamente para cada elemento.
introduzca la coordenada x del nodo inicial:0
introduzca la coordenada y del nodo inicial:0
introduzca la coordenada x del nodo final:0
introduzca la coordenada y del nodo final:4
Ingrese la numeracion del nodo global de inicio del elemento: 3
Ingrese la numeracion del nodo global final del elemento: 1
introduzca el rea de seccin transversal:1e-5
introduzca el modulo de elasticidad del elemento:2e+11
3. Luego pasamos a la II PARTE de condiciones de frontera y determinacin de desplazamientos,
fuerza y esfuerzos.
Los desplazamientos conocidos estn determinados por los apoyos, de acuerdo al ejemplo sabemos que
1,2,5,9,10 equivalen a cero, en total son 5 desplazamientos conocidos, por lo cual en el programa se
implementa de la siguiente manera.
introduzca el numero total de desplazamientos conocidos:5
introduzca la componente de los desplazamientos conocidos:1
introduzca la componente de los desplazamientos conocidos:2
introduzca la componente de los desplazamientos conocidos:5
introduzca la componente de los desplazamientos conocidos:9
introduzca la componente de los desplazamientos conocidos:10

4. Luego el programa pedir el nmero total de fuerzas no conocidas, en este caso corresponden a
las fuerzas aplicadas en los nodos 4,6,7, que en total son 3 fuerzas.
introduzca el numero total de fuerzas no conocidas:3
introduzca la componente de las fuerzas no conocidas:4
introduzca la componente de las fuerzas no conocidas:6
introduzca la componente de las fuerzas no conocidas:7
5. A continuacin el programa despliega las fuerzas conocidas, y el siguiente paso corresponde a
colocarle el valor conocido de la fuerza, se debe colocar segn el orden dado. Por ejemplo la
fuerza en el nodo 1 correspondiente al grado de libertad 1 equivale a cero debido a que se
encuentra empotrado y la fuerza correspondiente al grado de libertad 8 equivale a -10000 N.
despliegue de fuerzas conocidas:
1 2 3 5 8 9 10
introducir la numeracion de la fuerza conocida, en orden por columna:1
introducir el valor de la fuerza a la componente de la fuerza seleccionada:0
introducir la numeracion de la fuerza conocida, en orden por columna:2
introducir el valor de la fuerza a la componente de la fuerza seleccionada:0
introducir la numeracion de la fuerza conocida, en orden por columna:3
introducir el valor de la fuerza a la componente de la fuerza seleccionada:10000
introducir la numeracion de la fuerza conocida, en orden por columna:5
introducir el valor de la fuerza a la componente de la fuerza seleccionada:0
introducir la numeracion de la fuerza conocida, en orden por columna:8
introducir el valor de la fuerza a la componente de la fuerza seleccionada:-10000
introducir la numeracion de la fuerza conocida, en orden por columna:9
introducir el valor de la fuerza a la componente de la fuerza seleccionada:0
introducir la numeracion de la fuerza conocida, en orden por columna:10
introducir el valor de la fuerza a la componente de la fuerza seleccionada:0
Por ultimo el programa despliega los vectores u,f y sigma.
u=
0
0
0.0095
-0.0221
0
-0.0051
0
-0.0421
0

0
f=
1.0e+04 *
-0.6303
0.2536
1.0000
0.0000
0.1902
0.0000
0
-1.0000
-0.5598
0.7464
sigma =
1.0e+09 *
1.5551
-0.2028
0.7708
1.9731
-0.5164
-2.2436
-0.9331

Referencias
1

T.H.G. MEGSON, Aircraft Structures for Engineering Students, Third Edition.


Anlisis matricial de estructuras Curso con MATLAB. URL:
http://www.bdigital.unal.edu.co/9863/1/jorgeeduardohurtadogomez.2013.pdf
3
Stiffness Methods for Systematic Analysis of Structures (pdf).
2

También podría gustarte