Está en la página 1de 17

“AÑO DE LA UNIVERSALIZACIÓN DE LA SALUD”

Trabajo N°2
FACULTAD DE INGENIERÍA CIVIL

Profesor: Mamani Yana, Elvis Jony

Cursos: Análisis estructural II

Sección:

Integrantes:
● Morales Castillo, Rodrigo Andrés
● Abanto Torres, Edwar Franklin
● Santé Pisconti, Bruno Alonso

Fecha de entrega:
09/06/2020
Índice:

1. Introducción
1.1. Resumen
1.2. Marco Teórico
1.3. Objetivos

2. Metodología
2.1. Metodología Matlab
2.2. Metodología Robot

3. Análisis de Resultado

4. Conclusiones

5. Referencias Bibliográficas

6. Anexos
1. Introducción
1.1. Resumen

El proceso para obtener el valor de los requerimiento en este trabajo, se usó tanto el
Software Matlab como Dynamo y Robot Structural Analysis Professional, programas
comerciales de cálculo y diseño estructural, aplicados en el campo de la ingeniería en
general y en este caso en particular en la rama estructural . Matlab es un sistema de
cómputo numérico que ofrece un entorno de desarrollo integrado con un lenguaje de
programación propio; es más, comprende el análisis numérico, el cálculo matricial, el
procesamiento de señales y los gráficos; por otro lado Robot Structural Analysis
Professional es un software especializado en el cálculo, simulación y diseño de
estructuras de ingeniería civil y arquitectura que permite realizar un análisis exhaustivo
del comportamiento estructural de una edificación o de cualquiera de sus partes,
utilizando el método de los elementos finitos (FEM) y varios tipos de algoritmos no
lineales y Dynamo es un programa de scrips visuales que permite crear algoritmos
personalizados a fin de procesar datos y generar geometrías. Para entendernos, Dynamo
nos permite programar mediante la utilización de elementos visuales(nodos), en vez de
usar las típicas líneas de código.

1.2. Marco Teórico


Matriz de Rigidez:
El análisis de una estructura es entendido como un proceso sistemático que sirve
para obtener las características de su comportamiento bajo cierto estado de cargas.
Su objetivo principal se basa en la predicción del comportamiento de la estructura
analizada, bajo diversas acciones para las cuales se establezca que la estructura
deba tener capacidad. Para la estructura a analizar se solicita; primeramente,
calcular la matriz de rigidez de cada elemento, y con esto llegar a la matriz general,
el método empleado en este trabajo será el método matricial de rigidez de un
elemento.
La aplicación del método de la rigidez requiere subdividir la estructura en una serie
de elementos finitos discretos e identificar sus puntos extremos como nodos. Para el
análisis de la armadura, los elementos finitos se representan mediante cada uno de
los elementos de que la compones y los nodos representan las juntas. Se determinan
las propiedades de la fuerza-desplazamiento en cada elemento y después se
relacionan entre si usando las ecuaciones de equilibrio de fuerzas escritas en los
nodos. Luego estas relaciones, para toda la estructura, se agrupan en lo que se
denomina matriz de rigidez de la estructura K. Con esto, se determinan los
desplazamientos desconocidos de los nodos para cualquier carga dada sobre la
estructura y con estos se pueden obtener las fuerzas externas e internas en la
estructura utilizando las relaciones de fuerza y desplazamiento para cada elemento.

Se tienen que identificar los elementos y el nodo, es uno de los primeros pasos a
aplicar para el método de la rigidez. Luego, se deberá establecer un sistema de
coordenadas a fin de precisar el sentido correcto de la dirección, ya que las cargas y
desplazamientos son cantidades vectoriales, es necesario establecerlo. Los grados de
libertad no restringidos para una armadura representan las incógnitas primarias de
cualquier método de desplazamiento y por lo tanto estos deben identificarse.

1.3. Objetivo
El objetivo del trabajo planteado es familiarizar al alumno en la resolución de
problemas estructurales implementado Softwares (Matlab y Robot ), llegar con ambos a
una misma respuesta, hacer una comparación entre ambas y plantear conclusiones sobre
lo anteriormente mencionado.
2. Metodología

Estructura

Nuestros datos son los del Grupo 8


 L1(m) = 1.80 m
 L2(m) = 5.00 m
 h1(m) = 0.90 m
 Peso de Estructura Metalica = 15 (kg/m2)
 Según la Norma E-020 S/C = 30 (kg/m2)

Grados de libertad de la estructura

2.1. Metodología Matlab


A continuación se pasará a explicar a detalle el proceso de programación que hemos
tenido en cuenta para la resolución del problema planteado. Se adjuntan imágenes para
que el lector tenga una mejor comprensión y sea más didáctico.

a. Procedemos a definir valores, el módulo de elasticidad, el área de la sección del


elemento y las coordenadas de cada uno de los nodos
Por otro lado, para la obtención de todos los resultados provenientes del Software
Matlab se procede a realizar lo siguiente.
-Se ejecuta el programa y por motivos de orden decidimos que los
resultados se ejecuten por comandos, estos se ubican en el área de
WORKSPACE del Matlab.
2.2. Metodología Robot Structural Analysis

3. Análisis de Resultado
En primer lugar, mostramos los cálculos realizados donde se muestran las matrices de
rigidez de cada elemento. Podemos notar que todas las matrices son de una dimensión de 4x4
Imagen de cada elemento

Al sacar la matriz de rigidez global obtenemos una de 24x24 como muestra la figura siguiente:

La matriz de rigidez obtenida en el programa matlab tiene valores cercanos a los


cálculos, los cuales obtuvimos habiendo calculado el ejercicio de forma tradicional. Al
obtener los resultados mediante el programa Matlab se muestran resultados parecidos a
los calculados en el Robot, en cuanto a los desplazamientos de la estructura.
En la imagen se observan las fuerzas internas obtenidas con el matlab
Al final obtenemos la grafica de la armadura deformada por efecto de las
sobrecargas y las comparamos con la armadura inicial dada
4. Conclusiones

5. Bibliografía
Norma E-020 (http://www3.vivienda.gob.pe/dgprvu/docs/RNE/T%C3%ADtulo%20III
%20Edificaciones/50%20E.020%20CARGAS.pdf) (consulta 2 de mayo del 2020)
Matlab (http://www.monografias.com/trabajos5/matlab/matlab.shtml) (consulta 2 de mayo
del 2020)
FUNDAMENTOS DEL ANALISIS DINAMICO DE ESTRUCTURAS
Scaletti, H. (1990). Notas de clase del curso Análisis Estructural II, Facultad de Ingeniería
Civil, Universidad Nacional de Ingeniería.
Normal E090

Capítulo 14 – Análisis de Armaduras utilizando el Método de la Rigidez – Texto Análisis


Estructural – R.C. Hibbeler – Octava Edición

6. Anexos
 Código Matlab

function CALCULAR_Callback(hObject, eventdata, handles)


% Propiedades de la armadura
% E: Módulo de Elasticidad, kg/cm^2.
E=2*10^6;

% A: Área de la sección del elemento, cm^2.


A=str2double(get(handles.area,'string'));

% Introdrucción de Datos
% XY_GL: Matriz de coordenadas de los nodos y sus grados de libertad en cm.
% [x y GLx GLy]
XY_GL=[0 90 1 2
180 90 3 4
180 0 5 6
360 90 7 8
360 0 9 10
540 90 11 12
540 0 13 14
720 90 15 16
720 0 17 18
900 90 19 20
900 0 21 22
0 0 23 24];

% Matriz de coordenadas X, en cm.


x=XY_GL(:,1);

% Matriz de coordenadas Y, en cm.


y=XY_GL(:,2);

% Topología (21 Barras)


BR=[12 1; 12 2; 12 3; 1 2;
3 2; 3 4; 3 5; 2 4;
5 4; 5 6; 5 7; 4 6;
7 6; 7 8; 7 9; 6 8;
9 8; 9 10; 9 11; 8 10;
11 10];

%---O---O---O---O---O---O---O---O---O---O---O---O---O---O---
% Longitud de Barras
% Matriz vacía de longitudes, en cm.
l=zeros(21,1);

% Determinación de la longitud de las barras.


for e=1:21
l(e)=sqrt((x(BR(e,2))-x(BR(e,1)))^2 +(y(BR(e,2))-y(BR(e,1)))^2);

end

% Determinación de la Matriz de Rigidez Global


% Matriz de rigidez vacía.
K=zeros(24);

for e=1:21
cx=(x(BR(e,2))-x(BR(e,1)))/l(e);
cy=(y(BR(e,2))-y(BR(e,1)))/l(e);

% Matriz de rigidez local por cada elemento.


K_e(:,:,e)= E*A/l(e)*[cx^2 cx*cy -cx^2 -cx*cy;...
cx*cy cy^2 -cx*cy -cy^2;...
-cx^2 -cx*cy cx^2 cx*cy;...
-cx*cy -cy^2 cx*cy cy^2];

% Relación entre GDL.


g_e=[XY_GL(BR(e,1),3) XY_GL(BR(e,1),4) ...
XY_GL(BR(e,2),3) XY_GL(BR(e,2),4)];

% Ensamble de la matriz de rigidez global.


K(g_e,g_e)=K(g_e,g_e)+K_e(:,:,e);

end
set(handles.mrigidez,'data',K);

% Determinación de la Matriz Fuerzas Globales


% Matriz de fuerzas globales vacía, en kg.
P=zeros(24,1);

% Metrado de Cargas
%Área tributaria, en m.
ver1=get(handles.loc,'value');
switch ver1
case 2
at=5;
otherwise
at=2.5;
end

% Carga de la estructura aplicada a un nodo, en kg.


Pest=15*at*1.8/2;

% Carga de la cobertura aplicada a un nodo, en kg.


Pcob=4.4*at*1.8/2;

% Carga según la norma E.020 aplicada a un nodo, en kg.


Pnor=30*at*1.8/2;

% Carga total aplicada a un nodo superior, en kg.


Pns=Pest+Pcob+Pnor;

P(2)=-2*Pns;
P(4)=-Pns;
P(8)=-Pns;
P(12)=-Pns;
P(16)=-Pns;
P(20)=-2*Pns;

%Carga de uso (móvil), en kg.


ver2=get(handles.ubi,'value');
switch ver2
case 2
P(6)=-700;
case 3
P(10)=-700;
case 4
P(14)=-700;
case 5
P(18)=-700;
case 6
P(22)=-700;
otherwise
P(24)=-700;
end

% Cálculo de Desplazamientos y Reacciones en Apoyos


% Matriz de grados restringidos (GDR).
a=(22:24)';
% Matriz de grados no restringidos (GDL).
b=(1:21)';

K_ab=K(a,b); % => [G]


K_bb=K(b,b); % => [S]
K_ba=K(b,a);

% Matriz de desplazamientos globales vacía, en cm.


D=zeros(24,1);

% Matriz de fuerzas conocidas, en kg.


P_b=P(b);

% Matriz de desplazamientos conocidos, en cm.


D_a=D(a);

% Matriz de desplazamientos en los grados no restringidos, en cm.


D_b=K_bb\P_b;
D(b)=D_b;

% Matriz de las reacciones en los apoyos, en kg.


P_a=K_ab*D_b;
P(a)=P_a-P([22 23 24]);
P_a=P([22 23 24]);
set(handles.desplazamiento,'data',D);

%---O---O---O---O---O---O---O---O---O---O---O---O---O---O---
% Fuerzas Internas
% Matriz de fuerzas internas vacía, en kg.
esf=zeros(21,1);

for e=1:21
cx=(x(BR(e,2))-x(BR(e,1)))/l(e);
cy=(y(BR(e,2))-y(BR(e,1)))/l(e);

% Relación entre GDL.


g_e=[XY_GL(BR(e,1),3) XY_GL(BR(e,1),4) ...
XY_GL(BR(e,2),3) XY_GL(BR(e,2),4)];
% Determinación de los esfuerzos en los elementos
esf(e)=E*A/l(e)*[cx cy -cx -cy]*D(g_e);
EsfuerzoF(e)=esf(e);

end
set(handles.esfuerzos,'data',EsfuerzoF);

%Para determinar si está en compresión o tracción:


for e=1:21
if EsfuerzoF(e)>0
t(e,1)={'Tracción'};
else
if EsfuerzoF(e)<0
t(e,1)={'Compresión'};
else
t(e,1)={'Sin esfuerzo'};
end
end
end
set(handles.tipoesf,'data',t)

% Dibujo de la armadura y su posición deformada


XY_GLdef=zeros(size(XY_GL));
fac=250;
k=0;

% Modificación de las coordenadas factor


for e=1:12

k=k+1;
XY_GLdef(e,1)= XY_GL(e,1)+fac*D(k);

k=k+1;
XY_GLdef(e,2)= XY_GL(e,2)+fac*D(k);

end

% Gráfica
for e=1:21

Q=[XY_GL(BR(e,1),1) XY_GL(BR(e,1),2);...
XY_GL(BR(e,2),1) XY_GL(BR(e,2),2)];

Qdef=[XY_GLdef(BR(e,1),1) XY_GLdef(BR(e,1),2);...
XY_GLdef(BR(e,2),1) XY_GLdef(BR(e,2),2)];

%Axes
axes(handles.axes1)
plot(Q(:,1),Q(:,2),':b',Qdef(:,1),Qdef(:,2),'-r')
legend('Armadura Inicial','Armadura Deformada')
title('ARMADURA INICIAL VS ARMADURA DEFORMADA');
hold on
end

xlabel('x')
ylabel('y')
axis equal

% --- Executes on button press in NUEVO.


function NUEVO_Callback(hObject, eventdata, handles)
cla(handles.axes1)
set(handles.esfuerzos,'data','');
set(handles.desplazamiento,'data','');
set(handles.mrigidez,'data','');
set(handles.tipoesf,'data','');
clear
clc

% --- Executes on button press in salir.


function salir_Callback(hObject, eventdata, handles)
function loc_Callback(hObject, eventdata, handles)
function loc_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end

También podría gustarte