Máster Universitario en Ingeniería Industrial - 50944 – Ingeniería Estructural
PRÁCTICAS DE LABORATORIO SESIÓN DE PRÁCTICAS 3: ENSAMBLAJE (II) Y RESOLUCIÓN
SERGIO HERNÁNDEZ FRAGIEL – 78536228-Z
Prácticas de laboratorio
Índice Objetivos ....................................................................................................................................... 1 1.
Ejercicio 1 .............................................................................................................................. 1 1.1.
Enunciado ...................................................................................................................... 1
1.2.
Código Matlab Utilizado ................................................................................................ 1
Código ensamblar.m ............................................................................................................. 1 Código resolver_modelo.m ................................................................................................... 2 1.3.
Resultados Obtenidos ................................................................................................... 3
I
Prácticas de laboratorio
bjetivos En esta tercera sesión de prácticas el objetivo principal es aplicar lo aprendido en clase para un problema de nudos rígidos, aplicarlo con un problema de nudos articulados.
jercicio 1 1.1.
Enunciado
Partiendo del código de MATLAB desarrollado en clase para estructuras de nudos rígidos (adjunto un *.zip con lo que se hizo), desarrollar los mismos pasos para estructuras de nudos articulados. Verificar que los resultados coinciden para el problema propuesto de la sesión 2 NOTA: para ello tener en cuenta que la numeración para cada tipo de apoyo viene dado por el *.pdf de formato de fichero de entrada correspondiente.
1.2.
Código Matlab Utilizado
Código ensamblar.m f uncti on [ K, f ] =ensambl ar ( model o) %ensambl ar Ensambl ar l a mat r i z de r i gi dez y vect or de car gas de l a %est r uct ura %----------------------------------------------- % % Cal cul ar mat r i z de r i gi dez de l a est r uctura ( K) % %----------------------------------------------- % % Pr edi mensi onar/ i ni ci al i zar K K=zer os( 2*model o. n_nodos, 2*model o. n_nodos) ; % Ensambl ar mat r i ces de r i gi dez el ement al es f or e=1: model o. n_el ement os % Nodos del el ement o ni =model o. el ement os_nodos( e, 1) ; nj =model o. el ement os_nodos( e, 2) ; % Coor denadas de l os nodos xi =model o. nodos_x( ni , : ) ; xj =model o. nodos_x( nj , : ) ; % Longi t ud y angul o r =xj - xi ; L=sqr t ( r ( 1) ^2+r ( 2) ^2) ; al pha=at an2( r ( 2) , r ( 1) ) ; % Secci ón y mater i al s=model o. el ement os_s ecci on( e) ; A=model o. secci ones_A( s) ; m=model o. el ement os_mat er i al ( e) ; E=model o. mat er i al es_E( m) ; % Cal cul ar mat r i z de r i gi dez en gl obal es Ld=cal cul ar_ Ld( al pha); Le=[ Ld zer os( 2, 1) ; zer os( 2, 1) Ld] ; Kep=cal cul ar_ Kep( L, A, E) ; Ke=Le*Kep*Le' ; % Ensambl aj e % 1 2 3 4 % u^i v^i u^j v^j pos=[ 2*ni - 1 2*ni 2*nj - 1 2*nj ] ; K( pos, pos) =K( pos, pos) +Ke; end %------------------------------------- % % Cal cul ar vect or de car gas nodal es ( f ) %
Página 1|5
Prácticas de laboratorio %------------------------------------- % % Pr edi mensi onar / i ni ci al i zar f f =zer os( 2*model o. n_nodos, 1) ; % Ensambl ar vect or es de car gas nodal es f or c=1: model o. n_car gas n=model o. car gas_ nodo( c) ; F=model o. car gas_F( c, : ) ; % Ensambl ar % fx fy pos=[ 2*n- 1 2*n] ; f ( pos) =f ( pos) +F' ; end end
Código resolver_modelo.m f uncti on model o=r esol ver _model o( model o) %------------------------------ % % Obt ener K y f de l a est r uct ur a % %------------------------------ % [ K, f ] =ensambl ar ( model o) ; %---------------------------------------------- % % Reduci r K y f a l os gr ados de l i ber t ad act i vos % %---------------------------------------------- % GDL=1: 2*model o. n_nodos; f or a=1: model o. n_apoyos n=model o. apoyos_ nodo( a) ; pos=[ 2*n- 1 2*n] ; t i po=model o. apoyos_t i po(a) ; swi t ch t i po % Apoyo si mpl e ( u=0, v=0) case 1 GDL( pos( 1: 2) ) =0; % Car r o hor i zont al ( v=0) case 2 GDL( pos( 2) ) =0; % Car r o ver t i cal ( u=0) case 3 GDL( pos( 1) ) =0; other wi se error( ' Ti po de apoyo no val i do' ) end end GDLA=nonzer os( GDL) ; Kr =K( GDLA, GDLA) ; f r =f ( GDLA) ; %--------------------------------- % % Resol ver el si st ema de ecuaci ones % %--------------------------------- % x=i nv( Kr ) *f r ; %------------------------- % % Copi ar sol uci on a nodos_u % %------------------------- % f or n=1: model o. n_nodos pos=[ 2*n- 1 2*n] ; %u posi ci on_x=f i nd( GDLA==pos( 1) ) ; i f l engt h( posi ci on_x) ~=0 model o. nodos_u( n, 1) =x( posi ci on_x) ; end %v posi ci on_x=f i nd( GDLA==pos( 2) ) ;
Página 2|5
Prácticas de laboratorio i f l engt h( posi ci on_x) ~=0 model o. nodos_u( n, 2) =x( posi ci on_x) ; end end di sp( model o. nodos_ u) %---------------------------------------------------- % % Obtener r eacci ones en l os apoyos y copi ar a apoyos_R % %---------------------------------------------------- % end
¡’
1.3.
Resultados Obtenidos
En primer lugar, una vez introducido el .txt para nudos articulados, ejecutamos leer_datos.m, dando como resultado:
En segundo lugar, dibujamos el modelo con la función dibujar_modelo.m, dando como resultado la siguiente figura:
Página 3|5
Prácticas de laboratorio
En tercer lugar, ejecutamos el código ensamblar, obteniendo los datos necesarios de la estructura modelo.
Página 4|5
Prácticas de laboratorio Por último, ejecutamos el código resolver_modelo.m:
Página 5|5