Sie sind auf Seite 1von 12

1.

TÍTULO DEL PROYECTO: _____________________________________________ 1


2. PLANTEAMIENTO DEL PROBLEMA: ____________________________________ 1
3. OBJETIVOS: _______________________________________________________ 2
A. OBJETIVO GENERAL _____________________________________________________ 2
B. OBJETIVOS ESPECIFICOS _________________________________________________ 2
4. MODELO MATEMÁTICO _____________________________________________ 3
1. Cosenos directores: _____________________________________________________ 4
2. Matriz de rigidez global para cada elemento _________________________________ 5
3. Matriz de rigidez global para la estructura ___________________________________ 6
5. MÉTODOS DE SOLUCIÓN ____________________________________________ 5
6. ALGORITMO COMPUTACIONAL: ______________________________________ 7
7. RESULTADOS: ____________________________________________________ 10
8. CONCLUSIONES ___________________________________________________ 11
9. REFERENCIAS BIBLIOGRÁFICAS ______________________________________ 11
Aplicación de la matriz de rigidez para resolver problemas de armaduras 2d en Matlab.

1. TÍTULO DEL PROYECTO:

- Aplicación de la matriz de rigidez para resolver problemas de armaduras 2d


en Matlab.

2. PLANTEAMIENTO DEL PROBLEMA:

- ¿Es posible resolver un problema de armaduras en Matlab?

- Problema 1: Hallar las reacciones en los soportes y la fuerza en cada uno de


los elementos de la armadura mostrada en la figura 1-1(a). La sección
transversal de los elementos 1,2,3,4 y 5 es rectangular con un ancho de 30 cm
y una altura de 40cm por lado. El módulo de elasticidad para todas las barras
𝑇
es el de las maderas duras, es decir, 2.1 ∗ 106 .
𝑚2

Calculo 4 2 de diciembre del 2016


Aplicación de la matriz de rigidez para resolver problemas de armaduras 2d en Matlab.

3. OBJETIVOS:

A. OBJETIVO GENERAL

o Hacer uso de un programa especializado del cual se conoce su


funcionamiento aplicándolo a la solución de un problema de
armaduras 2D.

B. OBJETIVOS ESPECIFICOS

o Comprobar la funcionalidad del programa a usar en Matlab.


o Obtener las fuerzas de la armadura 2D.
o Obtener los desplazamientos en los nodos de la armadura 2D.

Calculo 4 2 de diciembre del 2016


Aplicación de la matriz de rigidez para resolver problemas de armaduras 2d en Matlab.

4. MODELO MATEMÁTICO

Una de las especializaciones de la ingeniería civil es el estudio y aplicación de las


estructuras, que son construcciones cuyo fin es transmitir cargas al suelo (ya sea
el peso propio o acciones exteriores) sin perder la funcionalidad para las cuales
fueron diseñadas. Un tipo de estas estructuras son las llamadas armaduras que son
estructuras compuestas por medio de piezas rectas, sólidas y esbeltas,
convenientemente vinculadas entre sí de tal manera que cualquier forma posible
resulte de la combinación de sistemas triangulados.
Estos elementos estructurales cuentan con sistemas de fuerzas que hacen posible
el correcto funcionamiento de la armadura, estos elementos son: nodos, fuerzas de
tensión y comprensión, coordenadas y reacciones, los cuales nos ayudaran a hallar
los esfuerzos y desplazamientos de cada nodo con ayuda de las siguientes
fórmulas:

∑ 𝑭𝒙 = 𝟎 ∑ 𝑭𝒚 = 𝟎 ∑ 𝑭𝒛 = 𝟎

∑ 𝑴𝒙 = 𝟎 ∑ 𝑴𝒚 = 𝟎 ∑ 𝑴𝒛 = 𝟎

Cuando una estructura se va a analizar empleando el método matricial de la


rigidez, se requiere de la subdivisión de esta en una serie de elementos finitos
discretos e identificar sus puntos extremos como nodos. Si se trata de una
armadura, las barras o elementos que la componen representan los elementos
finitos y los nodos son equivalentes a las juntas.
Cada elemento y cada nodo se identifican arbitrariamente mediante un número
encerrado en un cuadrado y un número dentro de un círculo respectivamente, y
los extremos lejanos 𝐹 (del inglés Far) y cercano 𝑁 (del inglés Near) de cada
elemento se simbolizan en forma arbitraria con una flecha a lo largo del mismo
cuya punta o cabeza se dirige hacia el extremo alejado.
Hay dos grados de libertad o dos posibles desplazamientos por nodo de armadura,
los cuales individualmente se especificarán a través de un número de código y
serán referenciados mediante una flecha de color azul orientada en su dirección
coordenada global positiva.
Los desplazamientos incógnita deben codificarse numéricamente primero, puesto
que, como se verá más adelante, cuando se formule la matriz de rigidez de la
estructura y se seccione, esto nos proporcionará la manera más directa para hallar
sus valores.
En general, en un nodo donde no haya algún soporte, los desplazamientos
horizontal y vertical son desconocidos. Por su parte, en un apoyo simple o rodillo
sólo se genera una reacción que es una fuerza que actúa perpendicularmente a la
superficie en el punto de contacto, así que tal tipo de soporte es capaz de no
permitir el desplazamiento en la dirección de su reacción, pero incapaz de impedir

Calculo 4 2 de diciembre del 2016


Aplicación de la matriz de rigidez para resolver problemas de armaduras 2d en Matlab.

el desplazamiento perpendicular a la dirección de su fuerza reactiva en su nodo de


aplicación.
En tanto, un apoyo articulado, pasador o bisagra no permite los desplazamientos
horizontal y vertical en su nodo de ubicación debido a las fuerzas reactivas
surgidas en tales direcciones. Cabe mencionar que los argumentos para el apoyo
en turno son válidos si a este no se le impone un desplazamiento inicial como lo
puede ser un asentamiento.

1. Cosenos directores:

Como ya se mencionó, para el sistema de coordenadas globales se considera la 𝑥


positiva hacia la derecha y la 𝑦 positiva hacia arriba. Por otra parte, cada elemento
tiene un sistema coordenado propio o local, el cual se usa para especificar el
sentido de sus desplazamientos y sus cargas internas. Este sistema es definido a
través de los ejes 𝑥´, 𝑦´ con el origen en el nodo cercano 𝑁 y el eje 𝑥´ coincidiendo
con el eje longitudinal del elemento y señalando hacia el extremo alejado 𝐹.

𝐴𝐸 1 −1
𝑘′𝑖 = ( ) (1 − 1)
𝐿 −1 1
Donde:
- 𝐴 = área de la sección transversal del elemento.
- 𝐸 = módulo de elasticidad del elemento.
- 𝐿 = longitud del elemento.

Los ángulos más pequeños entre los ejes 𝑥, 𝑦 globales positivos y el eje local 𝑥´
positivo se designan como 𝜃𝑥 y 𝜃𝑦. Los cosenos de esos ángulos se denominan
cosenos directores y se evalúan con las siguientes ecuaciones:

𝑋𝐹 − 𝑋𝑁 𝑋𝐹 − 𝑋𝑁
𝜆𝑥 = cos 𝜃𝑥 = =
𝐿 √(𝑋𝐹 − 𝑋𝑁 )2 + (𝛾𝐹 − 𝛾𝑁 )2

𝑦𝐹 − 𝑦𝑁 𝑦𝐹 − 𝑦𝑁
𝜆𝑦 = cos 𝜃𝑦 = =
𝐿 √(𝑋𝐹 − 𝑋𝑁 )2 + (𝛾𝐹 − 𝛾𝑁 )2
Donde:
- 𝑥𝑁, 𝑦𝑁 = coordenadas 𝑥, 𝑦 del extremo cercano 𝑁 del elemento en turno.
- 𝑥𝐹, 𝑦𝐹 = coordenadas 𝑥, 𝑦 del extremo lejano 𝐹 del elemento en turno.
- 𝐿 = longitud del elemento.

Calculo 4 2 de diciembre del 2016


Aplicación de la matriz de rigidez para resolver problemas de armaduras 2d en Matlab.

2. Fundamentos de análisis de señales:

(Programación MATLAB) Aquí la armadura se analiza siguiendo un


método netamente matemático, específicamente matricial. Estas matrices
son generadas por el computador mediante el uso de un programa escrito
en un lenguaje de alto nivel. Al final se presentan un problema cuyos
resultados se obtuvieron a través de este programa.

5. MÉTODOS DE SOLUCIÓN

El método de solución a utilizar en el presente proyecto de investigación fue:

o Matriz de rigidez.

1. Matriz de rigidez global para cada elemento

La expresión matemática para calcular la matriz de rigidez en coordenadas


globales 𝑘𝑖 de un elemento 𝑖, la cual tiene la propiedad de ser simétrica, es:

𝜆2𝑥 𝜆𝑥 𝜆 𝑦 −𝜆2𝑥 −𝜆𝑥 𝜆𝑦


𝐴𝐸 𝜆𝑥 𝜆𝑦 𝜆2𝑦 −𝜆𝑥 𝜆𝑦 −𝜆2𝑦
𝑘𝑖 =
𝐿 −𝜆2𝑥 −𝜆𝑥 𝜆𝑦 𝜆2𝑥 𝜆𝑥 𝜆𝑦
(−𝜆𝑥 𝜆𝑦 −𝜆2𝑦 𝜆𝑥 𝜆𝑦 𝜆2𝑦 )

Donde:
𝐴 = área de la sección transversal del elemento.
𝐸 = módulo de elasticidad del elemento.
𝐿 = longitud del elemento.
- 𝑁𝑥 , 𝑁𝑦 = número de código del grado de libertad global asociado con el
extremo cercano 𝑁 en las direcciones 𝑥 y 𝑦 respectivamente del elemento
en turno.
- 𝐹𝑥 , 𝐹𝑦 = número de código del grado de libertad global asociado con el
extremo lejano 𝐹 en las direcciones 𝑥 y 𝑦 respectivamente del elemento
en turno.
- 𝜆𝑥 , 𝜆𝑦 = cosenos directores.

Calculo 4 2 de diciembre del 2016


Aplicación de la matriz de rigidez para resolver problemas de armaduras 2d en Matlab.

3. Matriz de rigidez global para la estructura

La matriz de rigidez global de la estructura define su orden de acuerdo al número


de nodos y se obtiene de sumar algebraicamente las matrices antes mencionadas.
Para visualizar el proceso de ensamble con mayor facilidad se expanden con ceros
las filas y columnas numéricas faltante.

Calculo 4 2 de diciembre del 2016


Aplicación de la matriz de rigidez para resolver problemas de armaduras 2d en Matlab.

6. ALGORITMO COMPUTACIONAL:

%PROGRAMA QUE CALCULA REACCIONES EN LOS SOPORTES,DESPLAZAMIENTOS


Y FUERZAS%
%INTERNAS EN LOS ELEMENTOS DE UNA ARMADURA EN 2D POR EL MÉTODO
DE RIGIDEZ%
clear;
clc;
k=zeros(4);
l=1;
disp('DATOS PARA EL ANALISIS')
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%
%%
%VECTOR DE CARGAS CONOCIDAS%
CC=xlsread('DATOS PROGRAMA.xlsx','DATOS ARMADURA','B12:B18');
%VECTOR DE DESPLAZAMIENTOS CONOCIDOS%
DC=xlsread('DATOS PROGRAMA.xlsx','DATOS ARMADURA','D12:D14');
%NÚMERO DE GRADOS DE LIBERTAD%
GL=xlsread('DATOS PROGRAMA.xlsx','DATOS ARMADURA','C7');
KT=zeros(GL);
%NÚMERO DE ELEMENTOS%
i=xlsread('DATOS PROGRAMA.xlsx','DATOS ARMADURA','C8');
%NÚMERO DE DESPLAZAMIENTOS DESCONOCIDOS%
d=xlsread('DATOS PROGRAMA.xlsx','DATOS ARMADURA','C9');
%NÚMERO DE CARGAS CONOCIDAS%
fu=xlsread('DATOS PROGRAMA.xlsx','DATOS ARMADURA','C10');
dceros=zeros(1,GL-d);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%
%%
disp('LECTURA DE DATOS DEL ELEMENTO i');
%LONGITUD%
L=xlsread('DATOS PROGRAMA.xlsx','DATOS ARMADURA','F4:F30');
%MÓDULO DE ELASTICIDAD%
E=xlsread('DATOS PROGRAMA.xlsx','DATOS ARMADURA','G4:G30');
%ÁREA DE LA SECCIÓN TRANSVERSAL%
A=xlsread('DATOS PROGRAMA.xlsx','DATOS ARMADURA','H4:H30');
%COSENOS DIRECTORES (LAMBDA x Y LAMBDA y)%
Lx=xlsread('DATOS PROGRAMA.xlsx','DATOS ARMADURA','M4:M30');
Ly=xlsread('DATOS PROGRAMA.xlsx','DATOS ARMADURA','N4:N30');
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%
%%
disp('LECTURA DE DATOS NODO CERCANO N')
Nx=xlsread('DATOS PROGRAMA.xlsx','DATOS ARMADURA','O4:O30');
Ny=xlsread('DATOS PROGRAMA.xlsx','DATOS ARMADURA','P4:P30');
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%
%%
disp('LECTURA DE DATOS NODO LEJANO F')
Fx=xlsread('DATOS PROGRAMA.xlsx','DATOS ARMADURA','Q4:Q30');
Fy=xlsread('DATOS PROGRAMA.xlsx','DATOS ARMADURA','R4:R30');
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%
%%

Calculo 4 2 de diciembre del 2016


Aplicación de la matriz de rigidez para resolver problemas de armaduras 2d en Matlab.

disp('OBTENCIÓN DE MATRIZ DE RIGIDEZ GLOBAL DEL ELEMENTO')


for n=1:i
fprintf('ELEMENTO %i.\n\n',n)
disp('----------------------------------------------------------
---------')
k(1,1)=((Lx(n,1)^2)*(A(n,1)*E(n,1)))/L(n,1);
k(1,2)=((Lx(n,1)*Ly(n,1))*(A(n,1)*E(n,1)))/L(n,1);
k(1,3)=-(((Lx(n,1)^2)*(A(n,1)*E(n,1)))/L(n,1));
k(1,4)=-(((Lx(n,1)*Ly(n,1))*(A(n,1)*E(n,1)))/L(n,1));
k(2,1)=((Lx(n,1)*Ly(n,1))*(A(n,1)*E(n,1)))/L(n,1);
k(2,2)=((Ly(n,1)^2)*(A(n,1)*E(n,1)))/L(n,1);
k(2,3)=-(((Lx(n,1)*Ly(n,1))*(A(n,1)*E(n,1)))/L(n,1));
k(2,4)=-(((Ly(n,1)^2)*(A(n,1)*E(n,1)))/L(n,1));
k(3,1)=-(((Lx(n,1)^2)*(A(n,1)*E(n,1)))/L(n,1));
k(3,2)=-(((Lx(n,1)*Ly(n,1))*(A(n,1)*E(n,1)))/L(n,1));
k(3,3)=((Lx(n,1)^2)*(A(n,1)*E(n,1)))/L(n,1);
k(3,4)=((Lx(n,1)*Ly(n,1))*(A(n,1)*E(n,1)))/L(n,1);
k(4,1)=-(((Lx(n,1)*Ly(n,1))*(A(n,1)*E(n,1)))/L(n,1));
k(4,2)=-(((Ly(n,1)^2)*(A(n,1)*E(n,1)))/L(n,1));
k(4,3)=((Lx(n,1)*Ly(n,1))*(A(n,1)*E(n,1)))/L(n,1);
k(4,4)=((Ly(n,1)^2)*(A(n,1)*E(n,1)))/L(n,1);
fprintf('MATRIZ k%i.',n)
k
disp('----------------------------------------------------------
---------')
K=zeros(GL);
K(Nx(n,1),Nx(n,1))=k(1,1);
K(Nx(n,1),Ny(n,1))=k(1,2);
K(Nx(n,1),Fx(n,1))=k(1,3);
K(Nx(n,1),Fy(n,1))=k(1,4);
K(Ny(n,1),Nx(n,1))=k(2,1);
K(Ny(n,1),Ny(n,1))=k(2,2);
K(Ny(n,1),Fx(n,1))=k(2,3);
K(Ny(n,1),Fy(n,1))=k(2,4);
K(Fx(n,1),Nx(n,1))=k(3,1);
K(Fx(n,1),Ny(n,1))=k(3,2);
K(Fx(n,1),Fx(n,1))=k(3,3);
K(Fx(n,1),Fy(n,1))=k(3,4);
K(Fy(n,1),Nx(n,1))=k(4,1);
K(Fy(n,1),Ny(n,1))=k(4,2);
K(Fy(n,1),Fx(n,1))=k(4,3);
K(Fy(n,1),Fy(n,1))=k(4,4);
KT=K+KT;
end
disp('-------------- MATRIZ DE RIGIDEZ DE LA ESTRUCTURA --------
---------')
KT
disp('----------------------------------------------------------
---------')
disp('---------------------- SUBMATRIZ K11 ---------------------
--------')
K11=KT(1:d,1:d)
disp('---------------------- SUBMATRIZ K12 ---------------------
--------')
K12=KT(1:d,d+1:GL)
disp('---------------------- SUBMATRIZ K21 ---------------------
--------')
K21=KT(d+1:GL,1:d)
disp('---------------------- SUBMATRIZ K22 ---------------------
--------')
K22=KT(d+1:GL,d+1:GL)

Calculo 4 2 de diciembre del 2016


Aplicación de la matriz de rigidez para resolver problemas de armaduras 2d en Matlab.

disp('-------------------- SOLUCIÓN DEL PROBLEMA ---------------


---------')

disp('----------------------------------------------------------
---------')
disp('------------------ VECTOR DE CARGAS CONOCIDAS ------------
---------')
CC
disp('----------------------------------------------------------
---------')
disp('-------------------- SOLUCIÓN DEL SUBSISTEMA 1 -----------
---------')
disp('----------------- DESPLAZAMIENTOS DESCONOCIDOS -----------
---------')
DD=(inv(K11))*(CC-(K12*DC))
desplazamientos=[DD;DC];disp('-------------------- SOLUCION DEL
SUBSISTEMA 2 --------------------')
disp('---------------------- CARGAS DESCONOCIDAS ---------------
---------')
CD=(K21*DD)+(K22*DC)
disp('----------------------------------------------------------
---------')
disp('------------------------ FUERZAS INTERNAS ----------------
---------')
disp('----------------- O FUERZAS EN LOS ELEMENTOS -------------
--------')
for m=1:n
fprintf('ELEMENTO %i.\n\n',m)

dp=[desplazamientos(Nx(m,1),1);desplazamientos(Ny(m,1),1);
desplazamientos(Fx(m,1),1);desplazamientos(Fy(m,1),1)] ;
Fbar=((A(m,1)*E(m,1))/L(m,1))*[-Lx(m,1) -Ly(m,1) Lx(m,1)
Ly(m,1)]*dp
fb(l,m)=Fbar(l);
disp('-------------------------------------------------------
--------')
end
disp('---------------------- FUERZAS EN LOS ELEMENTOS ----------
---------')
fba=[[1:1:n]',fb']
disp('----------------------------------------------------------
---------')
disp('------------------------ TABLA DE RESULTADOS -------------
---------')
disp('--------------------- LA SIGUIENTE TABLA MUESTRA ---------
---------')
disp('----------------- LAS FUERZAS Y LOS DESPLAZAMIENTOS ------
--------')
disp('--------------------- EN LOS NODOS DE LA ARMADURA --------
---------')
fuerzas=[CC;CD];
TABLA=[[1:1:GL]',fuerzas,desplazamientos]
format long

Calculo 4 2 de diciembre del 2016


Aplicación de la matriz de rigidez para resolver problemas de armaduras 2d en Matlab.

7. RESULTADOS:

Calculo 4 2 de diciembre del 2016


Aplicación de la matriz de rigidez para resolver problemas de armaduras 2d en Matlab.

8. CONCLUSIONES

- Se comprobó la funcionalidad del programa.


- Se obtuvo las fuerzas de la armadura 2D.
- Se obtuvo los desplazamientos en la armadura 2D.
- Aprendimos la ruta que debemos seguir para utilizar este programa.

9. REFERENCIAS BIBLIOGRÁFICAS

- David Ortiz Soto (2014). Resolución de armaduras en 2D con el método


matricial de la rigidez. Primera edición. México. Independiente.
- Prácticas y Exámenes USMP (2013). Resistencia de Materiales y Resistencia de
Materiales. [En línea] Recuperado el 28 de noviembre de 2016, de
http://civilgeeks.com/2013/04/24/libro-resistencia-de-materiales-ii-practicas-y-
examenes-usmp/.

Calculo 4 2 de diciembre del 2016

Das könnte Ihnen auch gefallen