tarea No1

17
Departamento de Ingeniería Civil Programa de Maestría en Ingeniería Sísmica y Estructuras Fundamentos en Ingeniería Estructural MIS 501 Profesor: Norberto J. Rojas M. Asignación No. 001 Introducción a la programación en MatlabPor Daniel Alfredo Cruz Pineda Matrícula 1064980 Fecha de entrega 2 de marzo de 2015

description

Matlab

Transcript of tarea No1

  • Departamento de Ingeniera Civil

    Programa de Maestra en Ingeniera Ssmica y Estructuras

    Fundamentos en Ingeniera Estructural

    MIS 501

    Profesor:

    Norberto J. Rojas M.

    Asignacin No. 001

    Introduccin a la programacin en Matlab

    Por

    Daniel Alfredo Cruz Pineda

    Matrcula 1064980

    Fecha de entrega 2 de marzo de 2015

  • 1 (McCormac, 2001) 1

    RESUMEN

    La introduccin al entorno de programacin en Matlab, permite utilizar comandos simples que dan

    como resultado la automatizacin de tareas cotidianas para un ingeniero civil, la versatilidad del

    programa da como resultado herramientas editables y que se pueden adaptar luego a necesidades

    futuras. En esta asignatura se solicita responder a las siguientes inquietudes, es posible determinar

    el factor b1 para un tipo especfico de concreto, se puede determinar la propiedad geomtrica de

    una barra de refuerzo (rea, dimetro) y es posible determinar el momento nominal de una seccin

    de concreto reforzado a partir de la cantidad y dimetro de barras de refuerzo colocados dentro de

    una seccin rectangular de concreto reforzado. Con Matlab estas inquietudes pueden ser resueltas

    con la aplicacin de comandos bsicos con input(), disp() y comparativos lgicos como if.

  • 1 (McCormac, 2001) 2

    TABLA DE CONTENIDO

    RESUMEN..................................................................................................................................... 1

    1. INTRODUCCION ................................................................................................................. 3

    2. OBJETIVO GENERAL ........................................................................................................ 3

    3. OBJETIVOS ESPECIFICOS ............................................................................................... 3

    4. DESCRIPCIN DEL PROBLEMA .................................................................................... 4

    5. MARCO TERICO .............................................................................................................. 4

    1) Determinacin de factor b1 .................................................................................................. 4

    2) Programa rea de acero ........................................................................................................ 5

    3) Programa momento nominal ................................................................................................ 5

    6. ESTRATEGIAS DE SOLUCIN ........................................................................................ 7

    4) DIAGRAMA DE FLUJO .................................................................................................... 7

    Programa b1 ............................................................................................................................. 7

    Programa rea .......................................................................................................................... 8

    Programa momento.................................................................................................................. 9

    7. PROGRAMA DE MATLAB .............................................................................................. 10

    8. VALIDACIN DEL PROGRAMA ................................................................................... 10

    Programa b1 ........................................................................................................................... 10

    Programa rea ........................................................................................................................ 10

    Programa momento................................................................................................................ 11

    9. CONCLUSIONES ............................................................................................................... 11

    10. REFERENCIAS CITADAS ............................................................................................ 11

    ANEXO A: ................................................................................................................................... 12

    ANEXO B: ................................................................................................................................... 12

    ANEXO C: ................................................................................................................................... 15

  • 1 (McCormac, 2001) 3

    1. INTRODUCCION

    En la etapa en que se encuentra la ingeniera civil, el ahorro de tiempo es algo valioso dentro de

    cualquier oficina, con esta mentalidad es importante poder automatizar clculos que son cotidianos

    con el afn de aumentar la productividad. Para ello existen programas que permiten desarrollar

    herramientas que cumplan propsitos especficos, entre estos programas se encuentra Matlab.

    Para esta asignatura se solicita desarrollar tres herramientas que nos permitan lo siguiente:

    - Determinar el valor b1 que depende del esfuerzo a compresin del concreto.

    - La segunda herramienta nos proporcionara las propiedades geomtricas de barras de refuerzo

    comerciales en Guatemala.

    - La tercera herramienta debe calcular el momento nominal de una seccin de concreto a partir

    de datos que el usuario proporciona.

    Con esto se permite aplicar de forma prctica los comandos estudiados en las primeras etapas de

    la clase.

    2. OBJETIVO GENERAL

    Generar los procesos necesarios para obtener los resultados a problemas bsicos en la ingeniera

    civil, utilizando algoritmos creados en Matlab, con el objeto de automatizar los procesos de

    clculo.

    3. OBJETIVOS ESPECIFICOS

    a. Aplicar los comandos bsicos obtenidos en las primeras clases.

    b. Realizar procesos de comparacin entre distintas variables, para determinar un

    resultado especfico.

    c. Comprobar los resultados obtenidos por medio de clculos manuales

    d. Realizar y comparar los diagramas de flujo del programa contra el comportamiento que

    la aplicacin muestra.

  • 1 (McCormac, 2001) 4

    4. DESCRIPCIN DEL PROBLEMA

    La primera herramienta plantea la solucin para el factor que permite hacer un anlisis equivalente

    de la distribucin de los esfuerzos de flexin dentro de una viga de concreto reforzada.

    La segunda herramienta permite de una forma sencilla determinar las propiedades geomtricas

    (rea y dimetro) de las barras de refuerzo utilizadas en los diseos estructurales.

    La tercera herramienta da como parmetro la capacidad de una viga de concreto dependiendo de

    la cantidad y dimetro de las barras colocadas, as como la calidad de materiales aplicados durante

    el diseo.

    5. MARCO TERICO

    1) Determinacin de factor b1

    El determinar la capacidad a flexin de una viga de concreto va relacionada a la distribucin de

    los esfuerzos dentro de la misma seccin, la teora marca que la distribucin de esfuerzos tiene un

    comportamiento parablico, esta parbola depende de la capacidad a compresin del concreto, por

    lo que Whitney1 remplazo esta curva por un rectngulo equivalente el cual proporciona un

    resultado equivalente en trminos de la distribucin de los esfuerzos.

    El valor de b1, depende del esfuerzo a compresin del concreto y tiene un rango de aplicacin que

    va desde 0.85 para concretos con capacidad de 210 kg/cm2 hasta un valor por cdigo que no puede

    ser menor a 0.65. La frmula que determina el valor de b1 en funcin de la capacidad del concreto

    se muestra a continuacin:

    1 = 0.85 ( 280

    70)0.05 0.65

  • 1 (McCormac, 2001) 5

    2) Programa rea de acero

    Las barras de refuerzo utilizadas en la construccin, dependen de normativas internaciones para

    mantener un estndar en los dimetros nominales y las reas de estos dimetros, la norma

    ACI 318-08 da los parmetros para estos elementos basados en la norma ASTM-A615.

    3) Programa momento nominal

    El determinar el momento nominal de una seccin, implica el resolver un equilibrio de fuerzas que

    se genera internamente en la seccin de concreto reforzado, este equilibrio se basa en hiptesis

    para facilitar la parte numrica, las hiptesis marcan que la seccin a tensin de concreto se

    desprecia permitiendo que el acero de refuerzo puede absorber el cien por ciento de este esfuerzo.

    Por otro lado el acero a compresin para una viga simplemente reforzada no participara dentro del

    anlisis. El diagrama de esfuerzos permite determinar una expresin que da como resultado el

    valor de momento nominal de la seccin estudiada.

  • 1 (McCormac, 2001) 6

    El equilibrio de la fuerza a compresin y tensin permite determinas la siguiente expresin:

    = (

    2)

    =

    0.85

    =

    En donde

    Mo=momento nominal [kip-in]

    As=rea de acero colocado dentro de la seccin de concreto reforzado [in^2]

    fy=esfuerzo de fluencia de acero de refuerzo [lb/in^2]

    fc=esfuerzo a compresin del concreto [lb/in^2]

    d=peralte efectivo de la seccin [in^2]

    b=base de viga [in]

    h=altura de viga [in]

    r=recubrimiento [in]

    a=altura del bloque equivalente a compresin [in]

  • 1 (McCormac, 2001) 7

    6. ESTRATEGIAS DE SOLUCIN

    4) DIAGRAMA DE FLUJO

    Programa b1

    INICIO

    Valor de f'c mayor a 210

    kg/cm2

    input (f'c)

    b1=0.85-(f'c-280/70)*.05 0.65

    END

    NO

    SI

    display(valor de b1=b1)

  • 1 (McCormac, 2001) 8

    Programa rea

    INICIO

    BARRA COMERCIAL

    input (DIAMETRO)

    display(Area=pi*r^2) display(diametro=diametro)

    END

    NO

    SI

  • 1 (McCormac, 2001) 9

    Programa momento

    INICIO

    valor de h>r

    input (b,h,r,barra,n,fc,fy)

    As=barra*n a=Asfy/0.85*b*fc Mn=As*fy(d-a/2)

    END

    NO

    SI

    display(Momento nominal es igual a Mn

    barra es comercial

    NO

  • 1 (McCormac, 2001) 10

    7. PROGRAMA DE MATLAB

    Los comandos utilizados en el desarrollo de las tres herramientas fueron los siguientes:

    Disp() Return

    Input() Num2str()

    If end

    Elseif

    8. VALIDACIN DEL PROGRAMA

    Programa b1

    Este programa calcula el factor b1

    para distintas resistencias de concreto

    ingrese el valor fc para el concreto en [kg/cm2]= 210

    El valor de b1 es igual a 0.85

    Desea otro clculo

    Pulse 1) Si; 2)No

    Seleccin =

    Programa rea

    Este programa muestra las propiedades

    de las barras comerciales en Guatemala

    dimetros en [in] y rea en [in2]

    Ingrese la barra que desea analizar en octavos de pulgada [#/8]= 6

    El valor del rea de la barra No6 es igual a 0.4418 in^2

    El valor del dimetro de la barra No6 es igual a 0.75 in

    Desea otro clculo

    Pulse 1) Si; 2)No

    Seleccin =

  • 1 (McCormac, 2001) 11

    Programa momento

    Este programa calcula la capacidad nominal de una viga de concreto reforzado

    en sistema ingles

    Momento [kip-in]

    ingrese los datos que a continuacin se le solicitan

    ingrese la base de la viga [in] = 10

    ingrese la altura de la viga [in] = 20

    ingrese el recubrimiento [in] = 2

    ingrese la resistencia del concreto [lb/in2] = 3000

    ingrese la resistencia del acero [lb/in2] = 60000

    ingrese la barra en octavos [#/8] = 5

    ingrese la cantidad de barras colocadas =3

    El momento nominal de la viga es 934223.0199 lb-in

    El momento nominal de la viga es 934.223 Kip-in

    Desea hacer un nuevo clculo

    Pulse 1) Si; 2)No

    Opcion =

    9. CONCLUSIONES

    - Las herramientas de clculo permiten resolver problemas de forma sencilla.

    - Con la introduccin de comandos lgicos como if pueden ser ms cortos los cdigos.

    - Los resultados pueden ser manipulados en distintas dimensionales al momento de dar los

    resultados finales.

    10. REFERENCIAS CITADAS

    MATLAB - The Language of Technical Computing. (25 de febrero de 2015). Obtenido de

    http://www.mathworks.com/products/matlab/

  • 1 (McCormac, 2001) 12

    ANEXO A:

    Programa valor b1

    %Programa para clculo de factor b1

    %desarrollado por Daniel Cruz

    %Introduccin a la ingeniera ssmica

    clc;clear all;close all;

    disp('Este programa calcula el factor b1')

    disp('para distintas resistencias de concreto')

    disp(' ')

    fc=input('ingrese el valor fc para el concreto en [kg/cm2]= ');

    disp(' ')

    if fc>=175 & fc280;

    b1=0.85-0.05*(fc-280)/70;

    disp(['El valor de b1 es igual a ', num2str(b1,4)]);

    disp('Desea otro calculo')

    disp('Pulse 1) Si; 2)No')

    op1 = input('Seleccin = ');

    if op1 == 1

    run tarea1

    else

    return

    end

    elseif fc

  • 1 (McCormac, 2001) 13

    disp('Pulse 1) Si; 2)No')

    op1 = input('Seleccin = ');

    if op1 == 1

    run barras

    else

    return

    end

    elseif barra==1;

    disp('La barra no pertenece a las barras comerciales en Guatemala');

    disp('Desea otro calculo')

    disp('Pulse 1) Si; 2)No')

    op1 = input('Seleccin = ');

    if op1 == 1

    run barras

    else

    return

    end

    elseif barra>12 & barra14 & barra18;

    disp('La barra no pertenece a las barras comerciales en Guatemala');

    disp('Desea otro calculo')

    disp('Pulse 1) Si; 2)No')

    op1 = input('Seleccin = ');

    if op1 == 1

    run barras

    else

    return

    end

    elseif barra==3;

    diametro=3/8;

    area=(3.141592)/4*(diametro*diametro);

    disp(['El valor del rea de la barra No3 es igual a ', num2str(area,4),' in^2']);

    disp(['El valor del dimetro de la barra No3 es igual a ', num2str(diametro,4),' in']);

    disp('Desea otro calculo')

    disp('Pulse 1) Si; 2)No')

    op1 = input('Seleccin = ');

    if op1 == 1

    run barras

    else

    return

    end

    elseif barra==4

    diametro=4/8;

    area=(3.141592)/4*(diametro*diametro);

    disp(['El valor del rea de la barra No4 es igual a ', num2str(area,4),' in^2']);

    disp(['El valor del dimetro de la barra No4 es igual a ', num2str(diametro,4),' in']);

    disp('Desea otro calculo')

    disp('Pulse 1) Si; 2)No')

    op1 = input('Seleccin = ');

    if op1 == 1

    run barras

  • 1 (McCormac, 2001) 14

    else

    return

    end

    elseif barra==5

    diametro=5/8;

    area=(3.141592)/4*(diametro*diametro);

    disp(['El valor del rea de la barra No5 es igual a ', num2str(area,4),' in^2']);

    disp(['El valor del dimetro de la barra No5 es igual a ', num2str(diametro,4),' in']);

    disp('Desea otro calculo')

    disp('Pulse 1) Si; 2)No')

    op1 = input('Seleccin = ');

    if op1 == 1

    run barras

    else

    return

    end

    elseif barra==6

    diametro=6/8;

    area=(3.141592)/4*(diametro*diametro);

    disp(['El valor del rea de la barra No6 es igual a ', num2str(area,4),' in^2']);

    disp(['El valor del dimetro de la barra No6 es igual a ', num2str(diametro,4),' in']);

    disp('Desea otro calculo')

    disp('Pulse 1) Si; 2)No')

    op1 = input('Seleccin = ');

    if op1 == 1

    run barras

    else

    return

    end

    elseif barra==7

    diametro=7/8;

    area=(3.141592)/4*(diametro*diametro);

    disp(['El valor del rea de la barra No7 es igual a ', num2str(area,4),' in^2']);

    disp(['El valor del dimetro de la barra No7 es igual a ', num2str(diametro,4),' in']);

    disp('Desea otro calculo')

    disp('Pulse 1) Si; 2)No')

    op1 = input('Seleccin = ');

    if op1 == 1

    run barras

    else

    return

    end

    elseif barra==8

    diametro=8/8;

    area=(3.141592)/4*(diametro*diametro);

    disp(['El valor del rea de la barra No8 es igual a ', num2str(area,4),' in^2']);

    disp(['El valor del dimetro de la barra No8 es igual a ', num2str(diametro,4),' in']);

    disp('Desea otro calculo')

    disp('Pulse 1) Si; 2)No')

    op1 = input('Seleccin = ');

    if op1 == 1

    run barras

    else

    return

    end

    elseif barra==9

    diametro=9/8;

    area=(3.141592)/4*(diametro*diametro);

    disp(['El valor del rea de la barra No9 es igual a ', num2str(area,4),' in^2']);

    disp(['El valor del dimetro de la barra No9 es igual a ', num2str(diametro,4),' in']);

    disp('Desea otro calculo')

    disp('Pulse 1) Si; 2)No')

    op1 = input('Seleccin = ');

    if op1 == 1

    run barras

    else

    return

    end

    elseif barra==10

    diametro=1.27;

    area=(3.141592)/4*(diametro*diametro);

    disp(['El valor del rea de la barra No10 es igual a ', num2str(area,4),' in^2']);

    disp(['El valor del dimetro de la barra No10 es igual a ', num2str(diametro,4),' in']);

    disp('Desea otro calculo')

  • 1 (McCormac, 2001) 15

    disp('Pulse 1) Si; 2)No')

    op1 = input('Seleccin = ');

    if op1 == 1

    run barras

    else

    return

    end

    elseif barra==11

    diametro=1.41;

    area=(3.141592)/4*(diametro*diametro);

    disp(['El valor del rea de la barra No11 es igual a ', num2str(area,4),' in^2']);

    disp(['El valor del dimetro de la barra No11 es igual a ', num2str(diametro,4),' in']);

    disp('Desea otro calculo')

    disp('Pulse 1) Si; 2)No')

    op1 = input('Seleccin = ');

    if op1 == 1

    run barras

    else

    return

    end

    elseif barra==14

    diametro=1.693;

    area=(3.141592)/4*(diametro*diametro);

    disp(['El valor del rea de la barra No14 es igual a ', num2str(area,4),' in^2']);

    disp(['El valor del dimetro de la barra No14 es igual a ', num2str(diametro,4),' in']);

    disp('Desea otro calculo')

    disp('Pulse 1) Si; 2)No')

    op1 = input('Seleccin = ');

    if op1 == 1

    run barras

    else

    return

    end

    elseif barra==18

    diametro=2.257;

    area=(3.141592)/4*(diametro*diametro);

    disp(['El valor del rea de la barra No18 es igual a ', num2str(area,4),' in^2']);

    disp(['El valor del dimetro de la barra No18 es igual a ', num2str(diametro,4),' in']);

    disp('Desea otro calculo')

    disp('Pulse 1) Si; 2)No')

    op1 = input('Seleccin = ');

    if op1 == 1

    run barras

    else

    return

    end

    end

    ANEXO C:

    Programa clculo de momento nominal de seccin rectangular

    %Programa que calcula el momento nominal de una viga de concreto reforzado

    %desarrollado por Daniel Cruz

    %Introduccin a la ingeniera ssmica

    clc;clear all;close all;

    disp('Este programa calcula la capacidad nominal de una viga de concreto reforzado')

    disp('en sistema ingles')

    disp('Momento [kip-in]')

    disp('ingrese los datos que a continuacin se le solicitan')

    disp(' ')

    b=input('ingrese la base de la viga [in] = ');

    h=input('ingrese la altura de la viga [in] = ');

    r=input('ingrese el recubrimiento [in] = ');

    if r>h

    disp('Valor no puede ser mayor a la altura h')

    disp('Desea ingresar un nuevo valor')

    disp('Pulse 1) Si; 2)No')

    opcion1 = input('Opcin = ');

    if opcion1 == 1

  • 1 (McCormac, 2001) 16

    run momento

    else

    return

    end

    end

    fc=input('ingrese la resistencia del concreto [lb/in2] = ');

    fy=input('ingrese la resistencia del acero [lb/in2] = ');

    barra=input('ingrese la barra en octavos [#/8] = ');

    cantidad=input('ingrese la cantidad de barras colocadas =');

    disp(' ')

    if barra==2;

    diametro=1/4;

    area=(3.141592)/4*(diametro*diametro);

    elseif barra==3;

    diametro=3/8;

    area=(3.141592)/4*(diametro*diametro);

    elseif barra==4

    diametro=4/8;

    area=(3.141592)/4*(diametro*diametro);

    elseif barra==5

    diametro=5/8;

    area=(3.141592)/4*(diametro*diametro);

    elseif barra==6

    diametro=6/8;

    area=(3.141592)/4*(diametro*diametro);

    elseif barra==7

    diametro=7/8;

    area=(3.141592)/4*(diametro*diametro);

    elseif barra==8

    diametro=8/8;

    area=(3.141592)/4*(diametro*diametro);

    elseif barra==9

    diametro=9/8;

    area=(3.141592)/4*(diametro*diametro);

    elseif barra==10

    diametro=1.27;

    area=(3.141592)/4*(diametro*diametro);

    elseif barra==11

    diametro=1.41;

    area=(3.141592)/4*(diametro*diametro);

    elseif barra==14

    diametro=1.693;

    area=(3.141592)/4*(diametro*diametro);

    elseif barra==18

    diametro=2.257;

    area=(3.141592)/4*(diametro*diametro);

    else

    disp('barra no comercial')

    disp('Desea hacer un nuevo clculo')

    disp('Pulse 1) Si; 2)No')

    opcion1 = input('Opcin = ');

    if opcion1 == 1

    run momento

    else

    return

    end

    end

    As=area*cantidad;

    a=As*fy/(0.85*fc*b);

    d=h-r;

    Mn=As*fy*(d-a*0.5);

    disp(['El momento nominal de la viga es ', num2str(Mn),' lb-in']);

    disp(['El momento nominal de la viga es ', num2str(Mn/1000),' Kip-in']);

    disp('Desea hacer un nuevo clculo')

    disp('Pulse 1) Si; 2)No')

    opcion2 = input('Opcin = ');

    if opcion2 == 1

    run momento

    else

    return

    end