Proyecto Estructuras Planas 2d

download Proyecto Estructuras Planas 2d

of 8

Transcript of Proyecto Estructuras Planas 2d

  • 8/18/2019 Proyecto Estructuras Planas 2d

    1/8

    CODIGO PARA ANÁLISIS DE ESTRUCTURAS PLANAS

    Ana Beltrán (20-14-1839) 2/06/15

    El siguiente código 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 laestructura.

    DESARROLLO DEL CODIGO

    A través del código se hará hincapié en secciones o detalles que no son explícitos 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 la coordenada x del nodo inicial:');

    ny1(ii)= input('introduzca la coordenada y del nodo inicial:'); nx2(ii)= input('introduzca la coordenada x del nodo final:');

    ny2(ii)= input('introduzca la coordenada y del nodo final:'); 

    %PEDIR EL NODO GLOBAL POR ELEMENTO

    En esta sección se le pide al usuario enumerar los nodos en términos globales, es decir en los que loselementos 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 laenumeración dada anteriormente se determina el número de grado de libertad horizontal y vertical delnodo 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; 

  • 8/18/2019 Proyecto Estructuras Planas 2d

    2/8

    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 sección 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 yorientación. La longitud se determina entre 2 puntos, en este caso 2 nodos globales y su orientaciónestá determinado por el cuadrante en el que se encuentra determinada su posición 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

  • 8/18/2019 Proyecto Estructuras Planas 2d

    3/8

    Debido a la versión de MATLAB, el prog manda un mensaje en el cual el comando inv() o la inversa no esbien recomendado, por lo cual se utiliza la transpuesta (en el análisis la transpuesta actúa de la mismamanera que la inversa). De acuerdo al Megson, también 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 sección se relaciona los grados de libertad por nodo global con la matriz de ceros global KG, en elconteo se le va añadiendo 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 sealmacenaran los valores conocidos del programa (condiciones de frontera existentes como los apoyos),para determinar los que se encuentran como incógnita. También se inicializa un vector para esfuerzosen los elementos, determinados por la siguiente ecuación, esta proviene de una serie de arreglosmatemáticos para el cálculo de reacciones y fuerzas internas.

    Fig2. Esfuerzos por elemento.2

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

  • 8/18/2019 Proyecto Estructuras Planas 2d

    4/8

    %desplazamientos incognitas 

    En esta sección se piden los desplazamientos conocidos en términos de grados de libertad global paraobtener la relación entre desplazamientos desconocidos con su correspondiente de grado de libertad.Posteriormente se piden las fuerzas incógnitas, de lo cual se puede relacionar las fuerzas conocidas conel 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 número 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 número 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 numeración 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 

  • 8/18/2019 Proyecto Estructuras Planas 2d

    5/8

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

    GUÍA PARA EL USUARIO

    La siguiente guía se proveerá de acuerdo a la resolución de un problema3 de una estructura de cerchas(truss).

    6 m

    Término nodos globales: constituye las conexiones entre elementos, al ver el ejemplo se refiere a la

    numeración en color verde.

    Es conveniente realizar una tabla guía para introducir las coordenadas y nodos globales.

    1. 

    Introduciendo número de elementos, nodos globales, coordenadas de los nodos globales y

    definiendo su numeración global.

    En la figura las letras mayúsculas 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 números de color verde (círculos azules), por lo cual son 5 en

    total, a continuación se muestra como introducirlo en el código.

    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 según la posición, para esta sección es conveniente hacer una tabla aparte

    para tener una mejor visión.

    ElementoNodo inicio- nodo final

    del elemento

    UX1 (grado delibertad

    horizontal deinicio)

    UY1(grado delibertad

    vertical deinicio)

    UX2(grado delibertad

    horizontalfinal)

    UY2(gradode libertad

    verticalfinal)

    A 1-2 1 2 3 4

    B 3-1 5 6 1 2

  • 8/18/2019 Proyecto Estructuras Planas 2d

    6/8

    C 3-2 5 6 3 4D 3-4 5 6 7 8

    E 4-2 7 8 3 4F 4-5 7 8 9 10

    G 2-5 3 4 9 10

    2. 

    Tomando como ejemplo el elemento A, las coordenadas del nodo inicial correspondiente al 1

    (numeración 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 sección 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: 2introduzca el área de sección 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: 3Ingrese la numeracion del nodo global final del elemento: 1

    introduzca el área de sección transversal:1e-5

    introduzca el modulo de elasticidad del elemento:2e+11

    3. 

    Luego pasamos a la II PARTE de condiciones de frontera y determinación de desplazamientos,

    fuerza y esfuerzos.

    Los desplazamientos conocidos están 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

  • 8/18/2019 Proyecto Estructuras Planas 2d

    7/8

     

    4. 

    Luego el programa pedirá el número 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:4introduzca la componente de las fuerzas no conocidas:6

    introduzca la componente de las fuerzas no conocidas:7

    5. 

    A continuación el programa despliega las fuerzas conocidas, y el siguiente paso corresponde a

    colocarle el valor conocido de la fuerza, se debe colocar según 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:-10000introducir 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

  • 8/18/2019 Proyecto Estructuras Planas 2d

    8/8

      0

    f =

    1.0e+04 *

    -0.63030.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

    1T.H.G. MEGSON, Aircraft Structures for Engineering Students, Third Edition.2Análisis matricial de estructuras Curso con MATLAB. URL:

    http://www.bdigital.unal.edu.co/9863/1/jorgeeduardohurtadogomez.2013.pdf3Stiffness Methods for Systematic Analysis of Structures (pdf).

    http://www.bdigital.unal.edu.co/9863/1/jorgeeduardohurtadogomez.2013.pdfhttp://www.bdigital.unal.edu.co/9863/1/jorgeeduardohurtadogomez.2013.pdf