Está en la página 1de 13

Esteban Hernndez Romero A93049

lvaro Blanco Padilla A0864

Marco Terico

Mtodo de rigidez automtico

El mtodo de rigidez automtico permite la determinacin de la matriz de rigidez de la estructura


(KE) sin necesidad de obtener la matriz de compatibilidad de deformaciones de la estructura. Esto
facilita el proceso de clculo y elimina la posibilidad de establecer de manera errnea los
parmetros (grado de indeterminacin cinemtica) por parte de del anlisis cualitativo de la
estructura que se debe realizar en el mtodo semiautomtico.
Este mtodo tiene como pasos fundamentales los siguientes:

Determinacin de la matriz de rigidez de los elementos en coordenadas locales


internas.
Transformacin de la matriz en coordenadas locales internas a coordenadas
locales externas.
Transformacin nuevamente de coordenadas locales externas a coordenadas
globales externas para la matriz de rigidez de cada elemento.
Finalmente, el ensamble de la matriz de rigidez correspondiente a la estructura
completa.

Para poder empezar a realizar la secuencia de procedimientos anteriores se debe determinar la


posicin de los elementos en la estructura, as como las caractersticas de sus secciones
transversales y materiales. A continuacin se presenta un resumen de los parmetros necesarios
para empezar el procedimiento computacional del mtodo:

Establecer el nmero de nudos a tratar y su posicin en el plano X -Y (para un anlisis


bidimensional de la estructura).

Definir un catlogo de materiales a utilizar.

Crear un catlogo de secciones transversales con sus inercias y reas correspondientes,


as como establecer si las secciones presentan algn tipo de variacin a lo largo de su
eje longitudinal.
Establecer las caractersticas de cada elemento de la estructura tratando as:
- Su conectividad, asignando el nudo en el que inicia y e n el que finaliza el elemento.
- La seccin transversal que presenta y si presenta cambios de seccin a lo largo
de su eje. o El material principal que la compone.

Ya con estos insumos dispuestos en el programa se comienza con los distintos clculos.

Clculo de la matriz de rigidez de cada elemento en coordenadas locales externas (KL)

Para cada elemento se tiene la suposicin del siguiente sistema

Para este elemento supuesto se calculan las matrices de transformacin cinemtica (a) y la
matriz k.

Para elementos barra rectilneos de seccin simple o variable se tiene que:


Por otra parte se tiene que:

Siendo

= f^1

Ya con esto se puede determinar

Esta matriz es la matriz del elemento en coordenadas locales internas, es decir una matriz que
representa al elemento dispuesto en la configuracin que se muestra en la figura.

Para elementos de barra de seccin constante se tiene que:


Clculo de la matriz de rigidez de cada elemento en coordenadas globales externas (K G)

Para el clculo de esta matriz se requiere determinar la matriz H para los 6 grados de libertad.

Donde:

De esta forma se presenta la necesidad de calcular el ngulo , el cual representa el ngulo


presente entre la horizontal y el elemento, determinado desde el nudo de menor numeracin
hacia el de mayor numeracin. Un esquema de este ngulo se presenta en la siguiente figura.
Ya con esto se puede calcular la matriz de rigidez de cada elemento en coordenadas globales
externas (KG) mediante la siguiente expresin:

Clculo de la matriz de rigidez de la estructura (KE)

Poseyendo la matriz de rigidez de cada elemento en coordenadas globales externas ya es posible


relacionarlas entre s, donde la relacin establecida es una suma del efecto que presentan los
diferentes elementos que constituyen la estructura sobre todos los nudos que la componen.
Es importante tener en cuenta que los elementos pueden generar el efecto de un nudo con otro
aunque no se hayan incluido en el modelo con numeracin consecutiva, por lo que se debe tener
cuidado a la hora de especificar qu elemento los conecta. En la figura a continuacin se presenta
un esquema general en el que se ejemplifica la sumatoria de el efecto en cada una de las casillas i,j
para la matriz KE.
Mtodos de consideracin de apoyos

Mtodo de eliminacin: Este consiste en la eliminacin de las filas y columnas referentes


a los grados de libertad que se dan un apoyo.

Mtodo de la penalizacin: Este mtodo le otorga una rigidez muy alta a los grados de
libertad que se encuentran restringidos por las condiciones de apoyo, como se muestra
en la siguiente figura.
Ejercicio

Se quiere programar el mtodo de rigidez automtico para determinar la matriz de rigidez para
la siguiente estructura:

Solucin

Cdigo de programacin

%% Mtodo de rigidez automtico

clc
clear all
format shortG
%% Definicin de cantidad de elementos y nudos

answer = inputdlg({'Cuntos elementos?','Cuntos nudos?', 'Mdulo de


elastcidad del material'},'Elementos y Nudos', [1
50],{'3','4','2.1e6'});
n1=str2double(answer);
n.elementos=n1(1);
n.nudos=n1(2);
E=n1(3);

%% Definicin de nudos
i=1;
gdl=zeros(n.nudos,3);
while i<=n.nudos
answer = inputdlg({'Nmero de nudo','Posicin en X','Posicin en
Y'},'Posicin de nudo', [1 50]);

N.nudo(i)=str2double(answer(1));
X.nudo(i)=str2double(answer(2));
Y.nudo(i)=str2double(answer(3));
LabF = menu('Es este nudo un vnculo a tierra?','S','No');
switch LabF
case 1
EsApoyo(i)=1;
vinculo = inputdlg({'Restringe momento? Digite 1 si lo restringe
o "0" si no lo restringe','Restringe en X? Digite 1 si lo restringe o "0" si
no lo restringe','Restringe en Y? Digite 1 si lo restringe o "0" si no lo
restringe'},'Condicin de apoyo', [1 50]);
vin=str2double(vinculo);
if vin(1)==1
gdl(i,1)=gdl(i,1)+1;
end
if vin(2)==1
gdl(i,2)=gdl(i,2)+1;
end
if vin(3)==1
gdl(i,3)=gdl(i,3)+1;
end
case 2
EsApoyo(i)=0;
otherwise
disp('otra cosa')
end
i=i+1;
end

% Definiendo la matriz de nudos

for i=1:n.nudos
MN(i,1)=N.nudo(i);
MN(i,2)=X.nudo(i);
MN(i,3)=Y.nudo(i);
end
%% Conexiones entre elementos

i=1;
while i<=n.elementos
answer = inputdlg({'Qu elemento se est tratando?','Primer
nudo','Segundo nudo'},'Conecciones entre elementos',[1 50]);
n2=str2double(answer);
Num.elemento(i)=n2(1);
Nudo1.elemento(i)=n2(2);
Nudo2.elemento(i)=n2(3);

% Caractersticas longitudinales del elemento

dx(i)=X.nudo(Nudo2.elemento(i)) -X.nudo(Nudo1.elemento(i));
dy(i)=Y.nudo(Nudo2.elemento(i)) -Y.nudo(Nudo1.elemento(i));
if dx(i)==0;
if dy(i)<0
alpha(i)= -pi/2;
else
alpha(i)= pi/2;
end
else
alpha(i)= atan(dy/dx);
end
L(i)=(dx(i)^2+dy(i)^2)^0.5;

% Caractersticas de la seccin del elemento

LabF = menu('Escoja el tipo de seccin rectangular del


elemento','30 x 50 cm','25 x 40 cm','25 x 25 cm');
switch LabF
case 1
h(i)= 50;
b(i)= 30;
case 2
h(i)= 40;
b(i)= 25;
case 3
h(i)= 25;
b(i)= 25;
otherwise
disp('otra cosa')
end

A(i)=h(i)*b(i);
I(i)=h(i)^3*b(i)/12;
i=i+1;
end
%% Matriz de Elementos
ME(1,1)={'Nmero de elemento'};
ME(1,2)={'Primer nudo del elemento'};
ME(1,3)={'Segundo nudo del elemento'};
ME(1,4)={'ngulo entre cordenadas globales y locales'};
ME(1,5)={'Longitud del elemento (m)'};
ME(1,6)={'rea del elemento (cm2)'};
ME(1,7)={'Inercia del elemento (cm4)'};
% Esta matriz es para impresin
for i=2:n.elementos+1
ME(i,1)={Num.elemento(i-1)};
ME(i,2)={Nudo1.elemento(i-1)};
ME(i,3)={Nudo2.elemento(i-1)};
ME(i,4)={alpha(i-1)};
ME(i,5)={L(i-1)};
ME(i,6)={A(i-1)};
ME(i,7)={I(i-1)};
end
% Esta matriz es para manejo del cdigo
for i=1:n.elementos
MEC(i,1)=Num.elemento(i);
MEC(i,2)=Nudo1.elemento(i);
MEC(i,3)=Nudo2.elemento(i);
MEC(i,4)=alpha(i);
MEC(i,5)=L(i);
MEC(i,6)=A(i);
MEC(i,7)=I(i);
if EsApoyo(Nudo1.elemento(i))==1
MEC(i,8)=gdl(Nudo1.elemento(i),1);
MEC(i,9)=gdl(Nudo1.elemento(i),2);
MEC(i,10)=gdl(Nudo1.elemento(i),3);
else
MEC(i,8)=0;
MEC(i,9)=0;
MEC(i,10)=0;
end
if EsApoyo(Nudo2.elemento(i))==1
MEC(i,11)=gdl(Nudo2.elemento(i),1);
MEC(i,12)=gdl(Nudo2.elemento(i),2);
MEC(i,13)=gdl(Nudo2.elemento(i),3);
else
MEC(i,11)=0;
MEC(i,12)=0;
MEC(i,13)=0;
end
end
%MEC;
%% Matriz de rigidez en coordenadas globals externas para los elementos
L=L*100;
% L
k=1;
% Matriz de rigidez en coordenadas globals externas para los elementos que no
son apoyos a tierra
for i=1:n.elementos
%Matriz en coordenadas locales externas
% Primera columna
if MEC(i,8)==1
KL(1,1,i)=A(i)*E/L(i)+A(i)*E/L(i)*10e5;
else
KL(1,1,i)=A(i)*E/L(i);
end
KL(2,1,i)=0;
KL(3,1,i)=0;
KL(4,1,i)=-A(i)*E/L(i);
KL(5,1,i)=0;
KL(6,1,i)=0;
% Segunda columna
KL(1,2,i)=0;
if MEC(i,9)==1
KL(2,2,i)=12*E*I(i)/(L(i)^3)+12*E*I(i)/(L(i)^3)*10e5;
else
KL(2,2,i)=12*E*I(i)/(L(i)^3);
end
KL(3,2,i)=6*E*I(i)/(L(i)^2);
KL(4,2,i)=0;
KL(5,2,i)=-12*E*I(i)/(L(i)^3);
KL(6,2,i)=6*E*I(i)/(L(i)^2);
% Tercera columna
KL(1,3,i)=0;
KL(2,3,i)=6*E*I(i)/(L(i)^2);
if MEC(i,10)==1
KL(3,3,i)=4*E*I(i)/(L(i))+4*E*I(i)/(L(i))*10e5;
else
KL(3,3,i)=4*E*I(i)/(L(i));
end
KL(4,3,i)=0;
KL(5,3,i)=6*E*I(i)/(L(i)^2);
KL(6,3,i)=2*E*I(i)/(L(i));
% Cuarta columna
KL(1,4,i)=-A(i)*E/L(i);
KL(2,4,i)=0;
KL(3,4,i)=0;
if MEC(i,11)==1
KL(4,4,i)=A(i)*E/L(i)+A(i)*E/L(i)*10e5;
else
KL(4,4,i)=A(i)*E/L(i);
end
KL(5,4,i)=0;
KL(6,4,i)=0;
% Quinta columna
KL(1,5,i)=0;
KL(2,5,i)=-12*E*I(i)/(L(i)^3);
KL(3,5,i)=6*E*I(i)/(L(i)^2);
KL(4,5,i)=0;
if MEC(i,12)==1
KL(5,5,i)=12*E*I(i)/(L(i)^3)+12*E*I(i)/(L(i)^3)*10e5;
else
KL(5,5,i)=12*E*I(i)/(L(i)^3);
end
KL(6,5,i)=-6*E*I(i)/(L(i)^2);
% Sexta columna
KL(1,6,i)=0;
KL(2,6,i)=6*E*I(i)/(L(i)^2);
KL(3,6,i)=2*E*I(i)/(L(i));
KL(4,6,i)=0;
KL(5,6,i)=-6*E*I(i)/(L(i)^2);
if MEC(i,13)==1
KL(6,6,i)=4*E*I(i)/(L(i))+4*E*I(i)/(L(i))*10e5;
else
KL(6,6,i)=4*E*I(i)/(L(i));
end
% Matriz H
% 1era columna
H(1,1,i)= cos(alpha(i));
H(2,1,i)= -sin(alpha(i));
H(3,1,i)= 0;
H(4,1,i)= 0;
H(5,1,i)= 0;
H(6,1,i)= 0;
% 2da columna
H(1,2,i)= sin(alpha(i));
H(2,2,i)= cos(alpha(i));
H(3,2,i)= 0;
H(4,2,i)= 0;
H(5,2,i)= 0;
H(6,2,i)= 0;
% 3ra columna
H(1,3,i)= 0;
H(2,3,i)= 0;
H(3,3,i)= 1;
H(4,3,i)= 0;
H(5,3,i)= 0;
H(6,3,i)= 0;
%4ta columna
H(1,4,i)= 0;
H(2,4,i)= 0;
H(3,4,i)= 0;
H(4,4,i)= cos(alpha(i));
H(5,4,i)= -sin(alpha(i));
H(6,4,i)= 0;
%5ta columna
H(1,5,i)= 0;
H(2,5,i)= 0;
H(3,5,i)= 0;
H(4,5,i)= sin(alpha(i));
H(5,5,i)= cos(alpha(i));
H(6,5,i)= 0;
%6ta columna
H(1,6,i)= 0;
H(2,6,i)= 0;
H(3,6,i)= 0;
H(4,6,i)= 0;
H(5,6,i)= 0;
H(6,6,i)= 1;
% Clculo de la matriz de rigidez en coordenadas globales externas
% para cada elemento
KG1(:,:,i)=(H(:,:,i).')*KL(:,:,i)*(H(:,:,i));
end
KE=zeros(3*n.nudos,3*n.nudos);
%% Ordenando matriz en coordenadas globales externas
for i=1:n.elementos
pn=MEC(i,2);
sn=MEC(i,3);
v1(1)=3*pn-2;
v1(2)=3*pn-1;
v1(3)=3*pn;
v1(4)=3*sn-2;
v1(5)=3*sn-1;
v1(6)=3*sn;
for j=1:6
for k=1:6
KE(v1(k),v1(j))=KE(v1(k),v1(j))+KG1(k,j,i);
end
end

end
nombre=inputdlg({'Digite el nombre deseado para el archivo'},'Nombre de
archivo .xlxs',[1 50],{'Resultados_Kauto.xlsx'});
nombre=char(nombre);
xlswrite(nombre,KE,'MATRIZ_KE','B2');

% La matriz de rigidez se exporta en un archivo tipo .xlsx

Bibliografa

Salas, Luis. (2015). Notas del curso de Mecnica Estructural II. Universidad de Costa Rica. San
Jos Costa Rica.

También podría gustarte