Trabajo Parcial.

TRABAJO PARCIAL Matlab en vigas con dos apoyos El presente trabajo fue creado con el fin de mostrar, de la forma más sen

Views 77 Downloads 2 File size 872KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

TRABAJO PARCIAL Matlab en vigas con dos apoyos El presente trabajo fue creado con el fin de mostrar, de la forma más sencilla, los avances del alumno en el curso Introducción a los métodos computacionales a través de la solución de problemas ingenieriles mediante el uso del software Matlab.

Brahiam Barazorda / Martin Cerón / Yuri Huaringa

1. OBJETIVOS El objetivo principal es aplicar los comandos aprendidos en las sesiones académicas, impartidas durante la primera parte del ciclo académico 2019-01, para la resolución de problemas de análisis estructural. a) Objetivo parcial Generar un código en Matlab capaz de obtener las reacciones y gráficas de corte y momento de una viga sometida a esfuerzos puntuales, cargas distribuidas uniformes y momentos.

2. FUNDAMENTOS TEÓRICOS Para poder hallar las reacciones y esfuerzos de una viga son necesarias las siguientes expresiones: a) Dado que la viga está sometida a un sistema de fuerzas coplanares en el plano 𝑥 − 𝑦 se busca el equilibrio sumándolas en sus respectivas componentes ( 𝑖, 𝑗, 𝑧 ) e igualándolas a cero. ∑ 𝐹𝑦 = 0 ; ∑ 𝐹𝑥 = 0 ; ∑ 𝑀 = 0 De donde se obtiene: ∑ 𝐹𝑦 = 0 0 = ∑ 𝐹𝑖 + ∑ (𝐶𝑖 × (𝑃𝑓 − 𝑃𝑓 )) − 𝑅𝐴 − 𝑅𝐵 𝑅𝐴 + 𝑅𝐵 = ∑ 𝐹𝑖 + ∑ (𝐶𝑖 × (𝑃𝑓 − 𝑃𝑓 )) ∑𝑀 = 0 𝑃𝑓 + 𝑃𝑖 0 = ∑ 𝐹𝑖 × 𝐷𝑖 + ∑ (𝐶𝑖 × (𝑃𝑓 − 𝑃𝑖 )) × ( ) − 𝑅𝐴 × 𝑃𝑅1 − 𝑅𝐵 × 𝑃𝑅2 2 𝑃𝑓 + 𝑃𝑖 𝑅𝐴 × 𝑃𝑅1 + 𝑅𝐵 × 𝑃𝑅2 = ∑ 𝐹𝑖 × 𝐷𝑖 + ∑((𝐶𝑖 × (𝑃𝑓 − 𝑃𝑖 )) × ( )) 2 Sabiendo que 𝐹𝑖 son las fuerzas puntuales, 𝐶𝑖 son las cargas distribuidas uniformes ( 𝑃𝑖 y 𝑃𝑓 son el inicio y final de la carga distribuida, respectivamente), 𝑅𝐴 y 𝑅𝐵 , 𝑃𝑅1 𝑦 𝑃𝑅2 son las reacciones en los apoyos A y B respectivamente.

b) Una vez obtenidas las ecuaciones de las reacciones en función de las fuerzas puntuales, distribuidas y los momentos aplicados a la viga, se puede formar una matriz 𝑀2𝑥2 y otra 𝑀2𝑥1 con la cual se podrá hallar los valores de las reacciones en A y B. 𝑀2𝑥2 ⇒ 𝑀𝐴 = [

1 𝑃𝑅1

1 ] 𝑃𝑅1

∑ 𝐹𝑖 + ∑ (𝐶𝑖 × (𝑃𝑓 − 𝑃𝑓 )) 𝑀2𝑥1 ⇒ 𝑀𝐵 = [ 𝑃𝑓 + 𝑃𝑖 ] ∑ 𝐹𝑖 × 𝐷𝑖 + ∑((𝐶𝑖 × (𝑃𝑓 − 𝑃𝑖 )) × ( )) 2 c) Por consiguiente, se crea un sistema de ecuaciones lineal para A y B, donde 𝑅𝐴 y 𝑅𝐵 serán las variables para la matriz 𝑀𝐴 : 𝐴𝐵 = [𝑀𝐴 𝑀𝐵 ] d) Finalmente, mediante la reducción Gaussiana se obtendrán los valores de 𝑅𝐴 y 𝑅𝐵 .

El ejemplo que se tomó como base para el desarrollo del trabajo es el siguiente:

3. DESARROLLO DE LA PRÁCTICA a) Hardware y software utilizado para el desarrollo del trabajo. -

Hardware Computadora personal.

-

Software Sistema operativo Windows 10. Programa Matlab, versión R2018b.

b) Comandos de Matlab COMANDO clear clc Input disp for

switch

rref

subplot hold title xlabel ylabel grid syms diff subs bar

DESCRIPCIÓN Para limpiar variables guardadas Para limpiar la ventana de comandos Para insertar valores a una variable Mostrar variable o mensaje Comando de iteración, para repetir determinado algoritmo “n” veces.

Evalúa una expresión y elige cual ejecutar para cada caso.

Calcula la forma reducida por filas de una matriz (GAUSS) Crea ejes en posición de mosaico Para retener la gráfica actual Para colocar un título en una grafica Colocar nombre al eje x de una grafica Colocar nombre al eje y de una gráfica Colocar cuadriculas en una grafica Para declarar una variable Para calcular la derivada de una matriz Para sustituir una función o expresión Establece el ancho de barra relativo dentro de un grupo(colorear graficas)

EJEMPLO DE USO clear clc A=input(‘ingresar longitud de barra’) Disp.(A) For n=1:100 n=n+1; end P=input(‘ingresar tipo de fuerza: puntual/distribuida/ momento/’) Switch P Case puntual Calcularpuntual Case distribuida calculardistribuida Case momento calculatmomento Otherwise disp(‘error al ingresar datos’) end A=[ 1 1 ; posR1 posR2]; B=[ -(sum(F)+sum(W)) ; (sum(F.*D)+sum(W.*DW)+sum(M))]; AB=[A B]; M1=rref(AB); subplot(212) hold on/hold off title('Diagrama de momento flector'); xlabel('posición (m)'); ylabel('momento flector M(N.m)'); grid on syms x f=(C(1)*((x.^2)/2)-C(1)*Pi(1)*x./2+ R1.*x); y=diff(f,x); x3=Pi(1):0.01:Pf(1); y2=subs(y,x,x3); bar(x4,y3,'g');

c) Desarrollo del programa de análisis de la viga con comandos de MATLAB N°

TAREAS

1

Resolver el problema sin matlab

2

Diseñar diagrama de flujo

OPERACIONES PARCIALES

Cálculo de reacciones y diagramas en función a variables

Carga distribuida Fuerza puntual, Momento, Longitud de barra posiciones de apoyos y posiciones de fuerzas Calcular reacciones mediante método de gauss por matrices

COMANDOS

-

NOTAS Y CUESTIONES Tener en cuenta que el programa a desarrollar será para un solo tipo de viga; los valores a cambiar serán solo las magnitudes de las fuerzas.

Para la carga distribuida colocar fuerza inicial igual a fuerza final

3

Definir parámetro de entrada

4

Calculo de reacciones

5

Definir cantidad de fuerzas aplicadas en la viga

Se colocarán 3 posibles cargas: puntual, distribuida y momento.

switch input for

6

Colocar las funciones del diagrama de fuerza cortante y momento flector

Obtener la función del diagrama de momento flector y derivarlo respecto a x para obtener la función del diagrama cortante

syms x diff subs

Tener en cuenta que las variables deben estar previamente definidas.

Realizar el ploteo y muestreo de resultados

Mediante los comandos de MATLAB mostrar las reacciones y graficas de fuerza cortante y momento flector

subplot, bar, title, xlabel ylabel hold on grid

Colocar primero el diagrama de fuerza cortante y luego el diagrama de momento flector

7

input(‘’)

M=rref(AB)

Las reacciones se guardaran en M(1,3) yM(2,3) Utilizar el comando “for” para repetir las veces que sean necesarias para colocar todas las fuerzas establecidas en la viga

d) Memoria de la práctica Diagrama de flujo

Listado del programa Código para hallar reacciones y graficas de momento flector y cortante en una viga típica.

close all; clear; clc; L=input('Ingresar longitud de la viga: '); disp('fuerzas disponibles: 3') n=input('Ingresar número de tipo fuerzas que cargará la viga: '); for n=1:n disp('si la viga no tiene carga puntal o carga distribuida o momento libre, rellenar con 0') P=input('Ingresar el tipo de fuerza en comillas simples (puntual/distribuida/momento): '); switch P case 'puntual' n=input('Ingresar el número de fuerzas puntuales: '); for i=1:n F(i)=input('Ingresar la fuerza con su dirección: '); D(i)=input('Ingresar la distancia de la fuerza respecto el lado izq de la viga: '); end case 'distribuida' n=input('Ingresar el número de cargas: '); for i=1:n C(i)=input('Ingresar la carga con su dirección: '); Pi(i)=input('Ingresar la distancia del inicio la carga respecto el lado izquierdo de la viga: '); Pf(i)=input('Ingresar la distancia del final la carga respecto el lado izquierdo de la viga: '); W(i)=C(i)*(Pf(i)-Pi(i)); DW(i)=(Pf(i)+Pi(i))/2; end case 'momento' n=input('Ingresar el número de momentos: '); for i=1:n M(i)=input('Ingresar el momento con su dirección: '); DM(i)=input('Ingresar la distancia del momento respecto el lado izq de la viga: '); end otherwise disp('Esa fuerza no se encuetra registrada'); end end posR1=input('ingresar posicion de reaccion 1: '); posR2=input('ingresar posicion de reaccion 2: ');

A=[ 1 1 ; posR1 posR2]; B=[ -(sum(F)+sum(W)) ; -(sum(F.*D)+sum(W.*DW)+sum(M))]; AB=[A B]; M1=rref(AB); R1=M1(1,3); R2=M1(2,3); disp('La reaccion 1 es'); disp(R1); disp('La reaccion 2 es'); disp(R2); x=0:0.01:Pf(1); y=C(1)*((x.^2)/2)-C(1)*Pi(1)*x./2+ R1.*x; subplot(211), bar(x,y,'r'); hold on x1=Pf(1):0.01:L; y1=C(1)*(Pf(1)-Pi(1))*(x1-Pf(1)/2)+R1*x1-M(1); subplot(211), bar(x1,y1,'r') hold on title('Diagrama de momento flector'); xlabel('posición (m)'); ylabel('momento flector M(N.m)'); grid on syms x f=(C(1)*((x.^2)/2)-C(1)*Pi(1)*x./2+ R1.*x); y=diff(f,x); x3=Pi(1):0.01:Pf(1); y2=subs(y,x,x3); subplot(212), bar(x3,y2,'g'); hold on syms x2 f2=(C(1)*(Pf(1)-Pi(1))*(x2-Pf(1)/2)+R1*x2-M(1)); y2=diff(f2,x2); x4=Pf(1):0.01:L; y3=subs(y2,x2,x4); subplot(212), bar(x4,y3,'g'); title('Diagrama de fuerza cortante') xlabel('posición (m)') ylabel('fuerza cortante V(N)') hold on grid on

Gráfica de los diagramas de esfuerzos Ejemplo:

4. ACTIVIDADES DE APLICACIÓN

Se proponen las siguientes actividades como mejoramiento del código realizado: -Ampliación del código para una viga con más de dos secciones. -Posible aplicación de una carga distribuida triangular. -Variación en la posición y tipo de apoyo sea fijo, móvil o empotrado. -Aumento en el número de apoyos a poder usar. -Presentación de momentos máximos y mínimos de la gráfica al igual que fuerzas cortantes relevantes. 5. BIBLIOGRAFÍA Matlab para ingenieros. Manipulación de matrices Matlab. Disponible en:( http://dea.unsj.edu.ar/control2/matlab%20para%20ingenieros.pdf ). (Fecha de consulta: 6 de mayo del 2019). Mathworks.Math.Graphics.Programming. Disponible en:( https://www.mathworks.com/products/matlab.html?s_tid=hp_products_matlab). (Fecha de consulta: 2 de mayo del 2019). Teoría y práctica del modelado de procesos mediante diagramas de flujos. Reglas de diseño. Disponible en ( https://www.jramonet.com/sites/default/files/adjuntos/diagramas_flujo_jrf_v2013 .pdf ). (Fecha de consulta: 6 de mayo del 2019)