Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Anexo
RESUMEN
Este artículo muestra una introducción a la solución de problemas con no linealidad en estructuras
aporticadas, se emplean programas creados por uno mismo, en general existe una variedad de
programas de cómputo en los que se puede programar la secuencia de solución de estos casos, sin
embargo MATLAB presenta algunas ventajas ya sea por su forma de administrar matrices así como
por su gran biblioteca de funciones matemáticas tanto numéricas como simbólicas. La
programación de rutinas para el análisis no lineal geométrico del presente artículo toma en cuenta la
compatibilidad por desplazamientos de los nodos.
ABSTRACT
This paper presents an overview of how to solve problems of nonlinearity in frame structures with
the use of programs created by oneself, in general there are a variety of computer programs in
which you can program the sequence of resolution of these cases, but MATLAB has some
advantages either parent as well as manage its large library of mathematical functions both numeric
and symbolic. Programming routines for the geometric nonlinear analysis of this takes into account
displacements compatibility of the nodes.
1. ANTECEDENTES
En general la forma de iterar los datos numéricos hasta obtener la solución del problema es similar
en los casos no lineales, lo que usualmente cambia son las relaciones constitutivas de los materiales
y el tipo de análisis que se efectúe (primer o segundo orden), esto se traduce en matrices de rigidez
muy particulares para cada tipo de elemento. En nuestro caso la componente no lineal será
producida por la matriz de rigidez geométrica.
El presente artículo hace énfasis en los métodos directos y toma en cuenta que la matriz de un
elemento viga-columna se describe de la siguiente manera:
k elemento = k e + k g ec (1)
Donde k e denota la matriz de rigidez elástica del elemento y k g es la matriz de rigidez geométrica
del elemento, una forma conocida de esta matriz para elementos viga columna es la siguiente:
⎛0 0 0 0 0 0 ⎞
⎜ L ⎟
⎜0
6 L −6
10 ⎟
0
5 10 5
⎜ 2⎟
2 L2
P ⎜ 0 10 − − L ⎟ ec ( 2)
L 0 L
kg = ⎜ 15 10 30 ⎟
L ⎜0 0 0 0 0 0 ⎟
⎜0 − 6 − L 0 6
− L ⎟
⎜ 5 10 5 10 ⎟
⎜0 L − L2
0 − L 2 L2 ⎟
⎝ 10 30 10 15 ⎠
Donde P es la fuerza axial actuante en el elemento viga-columna, esta última matriz es una
expresión linealizada de la matriz geométrica del elemento.
Para el análisis se debe tener en cuenta una convergencia local, la cual generalmente se presenta
cuando se trata de una no linealidad del material, y una convergencia global la cual detiene el
proceso general cuando las diferencias de los desplazamientos de los nodos ya no son significativas.
El procedimiento se resume así:
1. Dividir la carga lateral en una serie de incrementos de carga. (esto para que la respuesta lineal
local sea similar a la respuesta no lineal local).
2. Realizar un análisis lineal elástico inicial para tener los valores de partida, (este análisis se lleva
a cabo para el primer incremento de carga).
5. Corregir las fuerzas actuantes para la nueva iteración (dentro del incremento de carga), para esto
se restan a las fuerzas iniciales del incremento, las fuerzas producidas por la nueva rigidez de la
estructura con los desplazamientos anteriormente calculados.
6. Realizar los pasos 3, 4, 5 y 6 hasta que las diferencias de los desplazamientos no sean
significativas, acumular los desplazamientos obtenidos.
7. Realizar el siguiente incremento de carga hasta que la carga total sea aplicada para esto repetir
los pasos 3, 4, 5, 6 y 7.
1.3. OBJETIVOS
Para programar con MATLAB lo primero que se debe hacer es determinar la matriz del elemento,
para generar esta matriz se puede emplear la parte simbólica del programa, por ejemplo una rutina
para generar en archivo k g es:
L=sym('L');
Fp=sym('Fp');
c=sym('c');
s=sym('s');
K=[0 0 0 0 0 0;
0 6*Fp/(5*L) Fp/10 0 -6*Fp/(5*L) Fp/10;
0 Fp/10 2*Fp*L/15 0 -Fp/10 -Fp*L/30;
0 0 0 0 0 0;
0 -6*Fp/(5*L) -Fp/10 0 6*Fp/(5*L) -Fp/10;
0 Fp/10 -Fp*L/30 0 -Fp/10 2*Fp*L/15 ];
R=[c s 0;-s c 0;0 0 1];
RT=[c -s 0;s c 0;0 0 1];
Rot=[R zeros(3); zeros(3) R];
Rot_Tra=[RT zeros(3); zeros(3) RT];
K=Rot_Tra*K*Rot;
salida=fopen('matriz_2.txt','w');
for i=1:6
for j=1:6
v=strcat('kg(',num2str(i),',',num2str(j),')=');
vv=char(K(i,j));
vvv=strcat(v,vv);
vvvv=strcat(vvv,';');
fprintf(salida,'%s\n',vvvv);
end
end
fclose(salida);
Esta rutina ayuda a crear la matriz del elemento viga-columna, esta misma rutina modificada
produce diversas matrices para el ensamblaje de la matriz global, es de utilidad por ejemplo cuando
una matriz es de 12x12 (como es el caso de estructuras tridimensionales), los resultados sirven para
crear el función matriz del elemento.
En general el programa debe contar con rutinas de lectura, ensamblaje elástico (contempla matriz
elástica del elemento), parte inelástica (conformada por procedimientos de reensamblaje de las
matrices de los elementos, corrección de fuerzas y criterios de parada cuando la diferencia de los
desplazamientos de los elementos entre cada ciclo de iteración, no sean significativas).
for k = 1:ne
[kg,codigo,cosenos]=kgeometrica(x,y,ni,nj,k,Fpp,1);
[ke,codigo,cosenos]=kelemento(x,y,ni,nj,EE,area,inercia,k,0);
ket=ke-
kg;[krig]=Ensambla(x,y,krig,codigo,ket,cosenos,ni,nj,EE,area,inercia,k);
end
%-------------------------------------------------------------------------
[krig]=imprime_krig(krig,ngl);
[delta_f]=corrector(ngl,codigouno,f_var,krig,u);
[u]=resuelve(ngl,codigouno,delta_f,fuerzasuno,krig,u);
Donde por ejemplo la rutina ensambla tiene el siguiente código:
El programa así configurado es útil en este caso para resolver casos de no linealidad geométrica de
pórticos planos, para casos tridimensionales solo cambian las matrices del elemento, pero la forma
de solución tiene la misma secuencia algorítmica. Para su posterior compilación se pueden emplear
comandos del MATLAB como comtool (para versiones anteriores o iguales a la versión 7) o deploy
para versiones recientes.
3. APLICACIÓN
Como parte del artículo se incluye una aplicación del programa desarrollado, para esto se tiene el
siguiente pórtico plano:
Figura 1
La Longitud de las vigas es de 800 cm., la altura de las columnas es de 450 cm., las cargas
verticales son de 50 toneladas y la carga horizontal es de 10 toneladas, con ayuda de estos datos
más las respectivas inercias, áreas y módulos de elasticidad de cada elemento, se construye la
matriz de rigidez del pórtico.
Figura 2
Tabla 1
En casos donde solo intervenga la no linealidad geométrica, con dos o tres iteraciones se llega a la
convergencia.
5. REFERENCIAS BIBLIOGRÁFICAS
Chen, W. F., Y. Goto y J.Y.R liew (1996). Stability design of semi-rigid frames, John Wiley &
Sons, New York.
Flores, L. (2009). Métodos Numéricos Aplicados a la Ingeniería Civil. Universidad Nacional de
Ingeniería, Lima.
Instituto de la Construcción y Gerencia, ICG MATLAB Aplicado a la Ingeniería Civil