Upload
camilazamoradelabarr
View
56
Download
4
Embed Size (px)
DESCRIPTION
matlab
Citation preview
PROHIBIDA SU REPRODUCCION TOTAL O PARCIAL
Apuntes de MatLab para Dinmica de Estructuras II Semestre 2012 USM Campus Santiago RevB // Ricardo Bustamante H.
UNIVERSIDAD TCNICA FEDERICO SANTA MARA
Apuntes de MatLab para Dinmica de Estructuras
USM Campus Santiago II Semestre 2012
PROHIBIDA SU REPRODUCCION TOTAL O PARCIAL
Apuntes de MatLab para Dinmica de Estructuras II Semestre 2012 USM Campus Santiago RevB // Ricardo Bustamante H.
NOCIONES BSICAS 3
NOMENCLATURAS Y COMANDOS 3
GRFICOS 11
PROGRAMACIN 15
DECLARACIN DE FUNCIN 15
DECLARACIN DE FOR SIMPLE 15
DECLARACIN DE FOR ANIDADA 16
DECLARACIN DE WHILE 16
DECLARACIN DE IF 17
DECLARACIONES INTERACTUANDO 17
ANLISIS ESTRUCTURAL 18
CASO DE ANLISIS 18
MATRIZ DE RIGIDEZ 18
VIGAS 19
COLUMNAS 20
MATRIZ DE RIGIDEZ GLOBAL 20
CONDENSACIN ESTTICA 26
DINMICA ESTRUCTURAL 28
SUBRUTINA ODE45 28
FACTORES DE AMPLIFICACIN DINMICA (FAD) 31
RESPUESTA ANTE CARGA RAMPA-ESCALN 37
RESPUESTAS A PARTIR DE UN REGISTRO DE ACELERACIONES 39
ESPECTRO LINEAL DE ACELERACIN 43
ESPECTRO NO LINEAL DE ACELERACIN 54
SUPERPOSICIN MODAL 65
PROHIBIDA SU REPRODUCCION TOTAL O PARCIAL
Apuntes de MatLab para Dinmica de Estructuras II Semestre 2012 USM Campus Santiago RevB // Ricardo Bustamante H.
Nociones bsicas
Nomenclaturas y comandos La interfaz al ejecutar MatLab es la que se detalla a continuacin.
Se aprecia que aparece el indicador de comandos >>, el cual indica que el programa est listo para
recibir instrucciones.
MATLAB trabaja esencialmente con matrices numricas rectangulares. La manera ms fcil de
entrar matrices pequeas es enumerando los elementos de sta de tal manera que:
los elementos estn separados por blancos comas.
los elementos estn cerrados entre corchetes, [ ].
muestre el final de cada fila con ; (punto y coma).
As, algunos caracteres especiales de MatLab son:
[ ] Se utilizan para formar vectores y matrices
( ) Define precedencia en expresiones aritmticas. Encierra argumentos de funciones en
forma usual
PROHIBIDA SU REPRODUCCION TOTAL O PARCIAL
Apuntes de MatLab para Dinmica de Estructuras II Semestre 2012 USM Campus Santiago RevB // Ricardo Bustamante H.
, Separador de elementos de una matriz, argumentos de funciones y declaraciones en
lneas con declaraciones mltiples
; Termina filas de una matriz, separador de declaraciones
% Permite agregar un comentario comentario
Entonces un ejemplo sera ingresar una matriz de dimensiones 3x3, con nmeros correlativos, como: [ 1 2 3; 4 5 6; 7 8 9 ]. El resultado, como lo entrega el programa, se indica a continuacin:
ans =
1 2 3
4 5 6
7 8 9
Ahora bien, se puede guardar esta matriz bajo un nombre. Para ello se tiene que ingresar el nombre de la variable seguida por una igualdad. As, la matriz queda como: A=[ 1 2 3; 4 5 6; 7 8 9 ]. El resultado que entrega el programa es
A =
1 2 3
4 5 6
7 8 9
Usualmente no se requiere que el programa entregue los resultados. Para no presentar el valor de la variable que se cre, se debe agregar un punto y coma (;) al final del comando. Como alternativa se puede crear la matriz sin la necesidad de puntos y comas como separadores. As, la matriz A tambin se puede generar como:
A = [1 2 3
4 5 6
7 8 9];
Si se requiere una fila o columna de la matriz A, o tal vez un valor particular de la matriz o aadir una fila adicional, se realiza lo siguiente:
se requiere el segundo vector columna: A(:,2) ans =
2
5
8
se requiere el primer vector fila: A(1,:) ans =
1
2
3
se requiere el valor del elemento en la fila 2 y columna 3: A(2,3) ans =
8
se requiere aadir una fila con los valores b=[ 10 11 12], redefiniendo A: A=[A;b]: A =
1 2 3
4 5 6
7 8 9
10 11 12
PROHIBIDA SU REPRODUCCION TOTAL O PARCIAL
Apuntes de MatLab para Dinmica de Estructuras II Semestre 2012 USM Campus Santiago RevB // Ricardo Bustamante H.
Tambin se pueden generar vectores con instrucciones. Para ello, una alternativa es definir x=[1:5]. Esta instruccin permite generar un vector fila de 5 columnas. Tambin se puede omitir los parntesis cuadrados para simplificar el proceso. As, se obtiene:
x =
1 2 3 4 5
El vector transpuesto se genera agregando el carcter apstrofe () a la variable, es decir, x ans =
1
2
3
4
5
Se pueden crear vectores generando una secuencia, con un punto de inicio y uno de trmino. Un ejemplo es definir un vector cuyo valor inicial sea 5 y que disminuya su valor en una unidad hasta llegar a 1. De esta manera, x=5:-1:1
x =
5 4 3 2 1
Con anterioridad se evidenci la posibilidad de pedir valores especficos a la matriz. De igual manera, se pueden reasignar valores dentro de la matriz sin necesidad de cambiarla. Para ello se tienen las siguientes opciones:
cambiar un valor en especfico de manera directa: A(3,3)=10 A = [1 2 3
4 5 6
7 8 10];
cambiar un valor en especfico de manera directa: A(3, 3) = A(1, 3) + A(3, 1) A = [1 2 3
4 5 6
7 8 10];
Ahora bien, un ndice tambin puede ser un vector. Si x y v son vectores, entonces x(v) es [x(v(1)),x(v(2)), ...,x(v(n))]. Para matrices, los ndices de vectores permiten acceso a submatrices contiguas y no contiguas. Por ejemplo, suponga que B es una matriz 12 por 12. Entonces B(1:5, 2) especifica la submatriz 5 x 1, vector columna, que consiste de los primeros cinco elementos en la segunda columna de B. De igual manera, B(1:5, 9:12) es la submatriz 5 x 4 de las primeras cinco filas y las ltimas cuatro columnas. Las operaciones suma (+) y resta (-) son definidas para las matrices siempre y cuando stas tengan la misma dimensin. El resultado de la operacin es por defecto almacenado en la variable ans, la cual se puede almacenar en otra variable. As, definiendo A=[1 2 3;4 5 6]; y B=[6 5 4; 3 2 1]; se puede originar C=A+B.
C =
7 7 7
7 7 7
PROHIBIDA SU REPRODUCCION TOTAL O PARCIAL
Apuntes de MatLab para Dinmica de Estructuras II Semestre 2012 USM Campus Santiago RevB // Ricardo Bustamante H.
La operacin de multiplicacin de matrices (*) est definida siempre que el nmero de columnas de la primera matriz sea igual al nmero de filas de la segunda matriz. De esta manera, D=A*B slo es posible si D=A*B.
D =
18 13 8
27 20 13
36 27 18
La operacin de multiplicacin de matriz con vector es un caso especial de la multiplicacin de
matrices.
En la operacin de divisin de matrices, si A es una matriz cuadrada no-singular, entonces A\B y B/A corresponden a la multiplicacin izquierda y derecha de B por el inverso de A, esto es, inv(A) * B y B * inv(A) respectivamente. As,
X = A\B es una solucin a A * X = B
X = B/A es una solucin a X * A = B
>> A = [3,4,7;5,2,-9;-1,13,3]
A =
3 4 7
5 2 -9
-1 13 3
>> B = [6;1;8]
B =
6
1
8
>> x=A\B
x =
0.5123
0.5848
0.3034
>> x=inv(A)*B
x =
0.5123
0.5848
0.3034
Notar que A\B es definido cuando B tiene la misma cantidad de filas que A. Si A es cuadrada, el mtodo usado para su resolucin es la Eliminacin Gaussiana. El resultado es una matriz con las mismas dimensiones que B. Ahora bien, si A no es cuadrada, el procedimiento se factoriza utilizando la ortogonalizacin de Householder con pivoteo de columnas. Para dividir los valores de una matriz por un escalar se requiere utilizar un operador que le indique al arreglo que el denominador debe dividir cada valor. As, si A=[1 2;3 4] y se requiere dividir cada valor por 2, la operacin es: A=[1 2;3 4]./2
PROHIBIDA SU REPRODUCCION TOTAL O PARCIAL
Apuntes de MatLab para Dinmica de Estructuras II Semestre 2012 USM Campus Santiago RevB // Ricardo Bustamante H.
A =
0.5000 1.0000
1.5000 2.0000
Para generar matrices o arreglos con valores aleatorios existe un comando llamado rand(). Los valores estn entre cero y uno. De esta manera se tiene:
matriz de dimensiones 3x3 con rand(3) A =
0.8235 0.9502 0.3816
0.6948 0.0344 0.7655
0.3171 0.4387 0.7952
vector de dimensiones 3x1 con rand(3,1) A =
0.1869
0.4898
0.4456
matriz de nxn de ceros: zeros(n)
>> A=zeros(4)
A =
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
matriz de mxn de ceros: zeros(m,n)
>> B=zeros(3,4)
B =
0 0 0 0
0 0 0 0
0 0 0 0
regresa el nmero de filas y columnas de la matriz A B: size(A) size(B)
>> size(A)
ans =
4 4
>> size(B)
ans =
3 4
>> [m,n]=size(B)
m =
3
n =
4
matriz de nxn de unos: ones (n)
>> C=ones(4)
C =
1 1 1 1
1 1 1 1
PROHIBIDA SU REPRODUCCION TOTAL O PARCIAL
Apuntes de MatLab para Dinmica de Estructuras II Semestre 2012 USM Campus Santiago RevB // Ricardo Bustamante H.
1 1 1 1
1 1 1 1
matriz de mxn de unos: ones(m,n)
>> D=ones(3,4)
D =
1 1 1 1
1 1 1 1
1 1 1 1
matriz identidad de nxn: eye(n)
>> E=eye(4)
E =
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
matriz identidad de mxn: eye(m,n)
>> F=eye(3,4)
F =
1 0 0 0
0 1 0 0
0 0 1 0
matriz transpuesta: transpose(A)
>> A=rand(3)
A =
0.8147 0.9134 0.2785
0.9058 0.6324 0.5469
0.1270 0.0975 0.9575
>> B=transpose(A)
B =
0.8147 0.9058 0.1270
0.9134 0.6324 0.0975
0.2785 0.5469 0.9575
determinante de una matriz: det(A)
>> det(A)
ans =
-0.2767
inversa de una matriz: inv(A)
>> inv(A)
ans =
PROHIBIDA SU REPRODUCCION TOTAL O PARCIAL
Apuntes de MatLab para Dinmica de Estructuras II Semestre 2012 USM Campus Santiago RevB // Ricardo Bustamante H.
-1.9958 3.0630 -1.1690
2.8839 -2.6919 0.6987
-0.0291 -0.1320 1.1282
valores propios de una matriz: eig(A)
>> eig(A)
ans =
-0.1879
1.7527
0.8399
vectores y valores propios de una matriz: [V,D]=eig(A)
>> [V,D]=eig(A)
V =
0.6752 -0.7134 -0.5420
-0.7375 -0.6727 -0.2587
-0.0120 -0.1964 0.7996
D =
-0.1879 0 0
0 1.7527 0
0 0 0.8399
obtiene la diagonal de una matriz: diag(D)
>> diag(D)
ans =
-0.1879
1.7527
0.8399
agrupar de forma creciente: sort(v)
>> x=rand(5,1)
x =
0.6948
0.3171
0.9502
0.0344
0.4387
>> v=sort(x)
v =
0.0344
0.3171
0.4387
0.6948
0.9502
PROHIBIDA SU REPRODUCCION TOTAL O PARCIAL
Apuntes de MatLab para Dinmica de Estructuras II Semestre 2012 USM Campus Santiago RevB // Ricardo Bustamante H.
obtener la suma de los trminos de un arreglo: sum(x)
w=sum(x)
w =
2.4353
obtener el mximo valor de un arreglo: max(x)
y=max(x)
y =
0.9502
obtener el mnimo valor de un arreglo: min(x)
>> y=min(x)
y =
0.0344
redondea los trminos: round(x)
>> r=round(x) %redondea por defecto al entero ms cercano 0
r =
1
0
1
0
0
>> r=round(10*x) %idem anterior pero ahora se multiplica el arreglo por 10
r =
7
3
10
0
4
Los operadores relacionales son < menor que
mayor que
>= mayor o igual a
== igual a
=~ no igual a
Comando de limpieza de variables - clear - clear all - clc
PROHIBIDA SU REPRODUCCION TOTAL O PARCIAL
Apuntes de MatLab para Dinmica de Estructuras II Semestre 2012 USM Campus Santiago RevB // Ricardo Bustamante H.
Grficos La estructura bsica del grfico se compone por un comando que crea una grfica de vectores o columnas de matrices a travs de plot. Una vez ingresado el comando y los vectores a representar grficamente es posible agregar descripciones al grfico, a travs de ttulos, encabezamientos de ejes, lneas segmentadas o texto mediante etiquetas. De igual manera se puede asignar un color especfico al trazado y/o con algn estilo. Cabe destacar que por defecto el grfico tiene una lnea continua y de color azul. Para ello se enumeran las opciones disponibles:
Colores
y amarillo m magenta c cyan r rojo
g verde b azul w blanco k negro
Tipologa lnea
. punto o circulo x cruz + signo '+'
* estrella s cuadrado d diamante v triangulo
- lnea solida : segmentado -. lnea - punto -- lnea - lnea
Se considerar el siguiente ejemplo para ilustrar el uso de la funcin plot y sus etiquetas. Sea x=1:8; y=2.^x;
plot(x)
plot(y)
Si x es un vector, plot(x) produce una grfica lineal de los elementos de x versus el ndice de estos. Si especifica dos vectores como argumentos, plot(x, y) produce una grfica de y versus x como se indica en la figura.
PROHIBIDA SU REPRODUCCION TOTAL O PARCIAL
Apuntes de MatLab para Dinmica de Estructuras II Semestre 2012 USM Campus Santiago RevB // Ricardo Bustamante H.
Para introducir las etiquetas es necesario colocar (,) despus del vector y abrir una llamado a la etiqueta, ingresando el llamado entre ()
plot(y,m)
plot(y,mx)
El grfico de la izquierda grafica el vector y, agregndole color magenta a la lnea trazada. El grfico de la derecha mantiene el color magenta pero cambia la lnea por cruces; es decir, aade una caracterstica adicional insertando una nueva etiqueta de manera continua.
plot(y,d)
plot(y,k--)
El grfico de la izquierda grafica el vector y, indicando slo los valores del vector con un smbolo de diamante. El grfico de la derecha segmenta el grfico y le cambia el color a negro.
PROHIBIDA SU REPRODUCCION TOTAL O PARCIAL
Apuntes de MatLab para Dinmica de Estructuras II Semestre 2012 USM Campus Santiago RevB // Ricardo Bustamante H.
Para agregar ttulos al grfico
plot(y,'k.-'); title('Grfico y(x)');
plot(y,'k.-'); title('Grfico y(x)'); xlabel('Eje X'); ylabel('Eje Y');
De manera adicional se puede agregar cambios en los espesores de lnea. Algunas de las etiquetas son:
,'LineWidth',2, espesor de linea en 2
,'MarkerEdgeColor','r', dato en color rojo
,'MarkerSize',30, tamao dato
As, se puede generar grficos como:
plot(y,'k.','LineWidth',2,'MarkerEdgeColor','r','MarkerSize',15); title('Grfico y(x)');
PROHIBIDA SU REPRODUCCION TOTAL O PARCIAL
Apuntes de MatLab para Dinmica de Estructuras II Semestre 2012 USM Campus Santiago RevB // Ricardo Bustamante H.
Para graficar de manera simultnea dos grficos se puede utilizar un comando que permita agregar tantas funciones cmo se requiera. Para ello se definir lo siguiente: >> x=0:6;
>> y1=x.^2;
>> y2=sqrt(x);
>> y3=x;
>> plot(y1); hold on
>> plot(y2);
>> plot(y3);
>> hold off
PROHIBIDA SU REPRODUCCION TOTAL O PARCIAL
Apuntes de MatLab para Dinmica de Estructuras II Semestre 2012 USM Campus Santiago RevB // Ricardo Bustamante H.
Programacin
Declaracin de funcin
La idea de es utilizar funciones predeterminadas y de uso recurrente agregando slo una lnea.
Para los casos que se vern en Dinmica de Estructuras se implementarn para:
Llamar una matriz de rigidez elemental de un elemento viga o columna
Llamar un registro
Llamar una funcin especfica previamente creada y guardada, por ejemplo, una funcin
que resuelva la ecuacin diferencial de movimiento mediante la integracin directa con
aceleracin constante
Por ejemplo, si se crea un archivo .m a travs de una funcin (File->New->Function) se puede
agregar una matriz de rigidez de un elemento viga en posicin horizontal con 6 grados de libertad,
como se detalla a continuacin:
function Kviga = Kviga(EA,EI,L) Kviga = [EA/L,0,0,-EA/L,0,0; 0,12*EI/L^3,6*EI/L^2,0,-12*EI/L^3,6*EI/L^2; 0,6*EI/L^2,4*EI/L,0,-6*EI/L^2,2*EI/L; -EA/L,0,0,EA/L,0,0; 0,-12*EI/L^3,-6*EI/L^2,0,12*EI/L^3,-6*EI/L^2; 0,6*EI/L^2,2*EI/L,0,-6*EI/L^2,4*EI/L]
De esta manera se define una matriz de rigidez elemental para una viga horizontal de propiedades
EA, EI y largo L. Para hacer uso de ella se debe llamar por el nombre Kviga, agregando las
propiedades requeridas en su definicin. Definiendo EA, EI & L, se obtiene:
>> EA=10000; %EA de la viga >> EI=500000; %EI de la viga >> L=500; %L de la viga >> Kviga(EA,EI,L)
Kviga =
1.0e+003 *
0.0200 0 0 -0.0200 0 0
0 0.0000 0.0120 0 -0.0000 0.0120
0 0.0120 4.0000 0 -0.0120 2.0000
-0.0200 0 0 0.0200 0 0
0 -0.0000 -0.0120 0 0.0000 -0.0120
0 0.0120 2.0000 0 -0.0120 4.0000
Declaracin de FOR simple >> for i=1:101
x(i)=2*pi*(i-1)/100;
end
>> y=sin(x)
>> plot(x,y)
PROHIBIDA SU REPRODUCCION TOTAL O PARCIAL
Apuntes de MatLab para Dinmica de Estructuras II Semestre 2012 USM Campus Santiago RevB // Ricardo Bustamante H.
Declaracin de FOR anidada
Se utiliza cuando se posee ms de 1 parmetro al cual se requiere hacer un barrido. Por ejemplo,
se puede crear una matriz de dimensiones mxn, creando cada trmino en funcin de las
dimensiones de la matriz. As, si m=4 y n=5, se tiene
>> for i = 1:m for j = 1:n
A(i, j) = 1/(i+j- 1); end end A
A = 1.0000 0.5000 0.3333 0.2500 0.2000 0.5000 0.3333 0.2500 0.2000 0.1667 0.3333 0.2500 0.2000 0.1667 0.1429 0.2500 0.2000 0.1667 0.1429 0.1250
Declaracin de WHILE
Este comando permite a una o ms instrucciones repetirse un nmero indefinido de veces, bajo el control de una condicin lgica. La ventaja radica en que WHILE tiene una condicin de parada definida, mientras que otros comandos, como IF, pueden no tener la condicin de parada, lo que implica que nunca deja de buscar. Como ejemplo, suponer se desea iterar para encontrar un nmero tal satisfaga una suma. As, >> e=1.0; while (1.0+e)>1.0001
e=e/2.0; end >> e
e = 6.1035e-005
PROHIBIDA SU REPRODUCCION TOTAL O PARCIAL
Apuntes de MatLab para Dinmica de Estructuras II Semestre 2012 USM Campus Santiago RevB // Ricardo Bustamante H.
Declaracin de IF
Permite establecer casos particulares en los cuales si se cumple una afirmacin se proceda a generar una rutina con el valor al caso que se cumple. if i==j
rho=1; else
rho=-1
end
Declaraciones interactuando
Supongamos que se tienen las frecuencias de un marco de 5 pisos ordenadas como un vector columna llamado w, tal que
w = 31.4159
100.5183 183.8185 276.7465 360.8302
Si se requiere realizar un anlisis CQC (Complete Quadratic Combination, para combinar los resultados modales por la tcnica de Combinacin Cuadrtica Completa descrita por Wilson, Der Kiureghian, y Bayo (1981)), se debe determinar el coeficiente de acoplamiento modal, cuya es expresin corresponde a
2 3 3
2 22 2 2
8
4
i j i j
ij
i j i j i j
La expresin obliga a ocupar los comandos anteriormente vistos para generar los coeficientes de acoplamiento modal. for i=1:5 for j=1:5 if i==j rho=1; else
rho=(8*bi^2*(w(i)+w(j))*(w(i)^3*w(j)^3)^0.5)/((w(i)^2-
w(j)^2)^2+4*bi^2*w(i)*w(j)*(w(i)+w(j))^2); end end
PROHIBIDA SU REPRODUCCION TOTAL O PARCIAL
Apuntes de MatLab para Dinmica de Estructuras II Semestre 2012 USM Campus Santiago RevB // Ricardo Bustamante H.
Anlisis estructural
Caso de anlisis Suponga que deben calcular el desplazamiento de un edificio de 5 pisos. Ese edificio tiene ciertas
cualidades que se detallan abajo. Lo importante es que deben conocer el desplazamiento de techo
y los desplazamientos de entrepiso (drifts), por lo cual les interesa saber los desplazamientos
desde 1 a 5. Pero qu sucede? Hay ms grados de libertad que contribuyen a la rigidez del
edificio. Detallando los grados de libertad del marco de 5 pisos, donde las vigas son axialmente
indeformables, los grados de libertad a considerar son:
Esa rigidez del edificio se puede expresar como una rigidez lateral (que es la que nos interesa
porque es la que mueve toda la masa), una rigidez al giro y una rigidez a la deformacin vertical.
Pues de esta forma se entiende que el problema a resolver no son los 25 grados de libertad, sino
que los 5 que relacionan el problema que debo solucionar.
As, sabiendo que tengo una matriz de grandes dimensiones, ordeno convenientemente los grados
de libertad para luego aplicar condensacin a los grados de libertad requeridos. Qu significa
eso? Que la matriz de 25x25 se reducir a 5x5, de los cuales se har una equivalencia en
comportamiento dada su condicin esttica.
Matriz de Rigidez Se requiere obtener la matriz de rigidez de un edificio de 5 pisos compuesto por columnas y vigas.
Las vigas se considerarn flexurablemente deformables y las columnas axial-flexurablemente
deformables.
PROHIBIDA SU REPRODUCCION TOTAL O PARCIAL
Apuntes de MatLab para Dinmica de Estructuras II Semestre 2012 USM Campus Santiago RevB // Ricardo Bustamante H.
Para mayor facilidad en el desarrollo se consideraran primero los grados de libertad que
representan el desplazamiento lateral de cada piso, para luego considerar el resto. De esta forma
los primero cinco trminos de la matriz de rigidez resultante sern los que se usarn para
determinar la respuesta a nivel de piso debido al registro.
La siguiente figura indica los grados de libertad globales considerados para el edificio de 5 pisos.
Vigas
La matriz de rigidez elemental de la viga considera slo los grados de libertad axiales, por lo que el
elemento queda como lo indica la figura:
Considerando la matriz elemental para una viga horizontal y tomando en cuenta slo los 4 grados
de libertad locales indicados, la matriz de rigidez local del elemento viga se expresa como
2 2
3
2 2
6 3 6 3
3 2 32
6 3 6 3
3 3 2
c vv
L L
L L L LE Ik
L LL
L L L L
PROHIBIDA SU REPRODUCCION TOTAL O PARCIAL
Apuntes de MatLab para Dinmica de Estructuras II Semestre 2012 USM Campus Santiago RevB // Ricardo Bustamante H.
Columnas
En relacin a la matriz de rigidez de la columna, se consideran todos los grados de libertad de la
matriz de rigidez elemental. De esta forma, se tiene que el elemento columna se expresa en
coordenadas locales como:
Considerando los grados de libertad locales de la columna, la matriz de rigidez local del elemento
columna se expresa como
3 2 3 2
2 2
3 2 3 2
2 2
12 0 6 12 0 6
0 0 0 0
6 0 4 6 0 2
12 0 6 12 0 6
0 0 0 0
6 0 2 6 0 4
c c c c c c c c
i i i i
c c c c
i i
c c c c c c c c
i i i i
c
c c c c c c c c
i i i i
c c c c
i i
c c c c c c c c
i i i i
E I E I E I E I
h h h h
E A E A
h h
E I E I E I E I
h h h hk
E I E I E I E I
h h h h
E A E A
h h
E I E I E I E I
h h h h
Se debe hacer la diferencia sobre la altura del primer piso con la del resto de los pisos, para lo cual
se generarn matrices de rigidez para el primer piso y para el resto. Todas las vigas tienen las
mismas propiedades, por lo cual no se har diferencia con las matrices de rigidez de stas.
Los valores a utilizar son
22038.902 29000ctonf
E ksicm
412250vI cm 750vL cm
262cA cm 49230cI cm
400 ,
350 ,i
cm parael primer pisoh
cm parael restodelos pisos
Matriz de rigidez global Realizado lo anterior, ser necesario establecer la relacin entre los grados de libertad locales y
globales. Para ello se enumeran los elementos, con la finalidad de establecer los vectores de
PROHIBIDA SU REPRODUCCION TOTAL O PARCIAL
Apuntes de MatLab para Dinmica de Estructuras II Semestre 2012 USM Campus Santiago RevB // Ricardo Bustamante H.
conectividad que permitan ensamblar la matriz de rigidez del sistema. La figura que se indica a
continuacin establece la numeracin de los elementos. Se requieren 5 vectores de conectividad
para las 5 vigas y 10 vectores de conectividad para las 10 columnas.
Utilizando lo visto en el captulo 1, se definirn 2 funciones para llamar las matrices de rigidez de la
viga y de la columna. As, creando un nuevo archivo de extensin .m, se tiene
Matriz de rigidez elemental viga 4x4
function kviga4x4 = kviga4x4(Ec,Iv,L)
kviga_ad4x4=Ec*Iv/L^3*[12 6*L -12 6*L;
6*L 4*L^2 -6*L 2*L^2;
-12 -6*L 12 -6*L;
6*L 2*L^2 -6*L 4*L^2];
PROHIBIDA SU REPRODUCCION TOTAL O PARCIAL
Apuntes de MatLab para Dinmica de Estructuras II Semestre 2012 USM Campus Santiago RevB // Ricardo Bustamante H.
Matriz de rigidez elemental columna
function kcol = kcol(EI,EA,h)
kcol = [12*EI/h^3,0,6*EI/h^2,-12*EI/h^3,0,6*EI/h^2;
0,EA/h,0,0,-EA/h,0;
6*EI/h^2,0,4*EI/h,-6*EI/h^2,0,2*EI/h;
-12*EI/h^3,0,-6*EI/h^2,12*EI/h^3,0,-6*EI/h^2;
0,-EA/h,0,0,EA/h,0;
6*EI/h^2,0,2*EI/h,-6*EI/h^2,0,4*EI/h];
Notar que se consideran los parmetros Ec, Iv & L como los datos de entrada cuando se llame a la
matriz de rigidez de la viga, mientras que para la columna los datos de entrada son EI, EA & h.
La idea ser generar que la matriz de rigidez global de la estructura se armar con las matrices de
rigidez de cada elemento (mtodo de rigidez directa). Esto se implementar mediante vectores
que relacionarn el grado de libertad de cada elemento con una ubicacin dentro de la matriz de
rigidez global, de dimensiones 25x25.
Si la viga 1 tiene los grados de libertad 6, 7, 8 & 9, el vector ser p=[6:9]' y lo que har ser
vincular, en el orden especfico en el cual se ingresan los valores en el vector, la matriz de 4x4 de la
viga del primer piso y ubicarla dentro de la matriz de dimensiones 25x25 entre las filas 6 y 9, y las
columnas 6 y 9.
Para las columnas se procede de la misma forma, salvo las columnas del primer piso, que
requieren que se aadan grados de libertad adicionales. Esto sucede porque la matriz a la cual se
llama tiene dimensiones de 6x6 y el vector p=[0;0;0;1;6;7] tendra slo 3 grados de libertad, lo que
genera un problema de dimensiones al generar la matriz. De esta forma, la manera ms simple de
generar una solucin es aadiendo 5 grados de libertad en la base. De esta forma, se tienen 30
grados de libertad.
PROHIBIDA SU REPRODUCCION TOTAL O PARCIAL
Apuntes de MatLab para Dinmica de Estructuras II Semestre 2012 USM Campus Santiago RevB // Ricardo Bustamante H.
As,
Kg=zeros(30); %definicin de una matriz de 25x25 para ir completando
%Para el primer piso
p=[6:9]'; %posicion de los GL de la viga
Kg(p,p)=Kv+Kg(p,p); %aporte de la primer piso
p=[26;27;28;1;6;7]; %posicin de la columna izquierda
Kg(p,p)=Kcp1+Kg(p,p); %aporte de la columna izquierda
p=[26;29;30;1;8;9]; %posicin de la columna derecha
Kg(p,p)=Kcp1+Kg(p,p); %aporte de la columna derecha
%Para el segundo piso
p=[10:13]'; %posicion de los GL de la viga
Kg(p,p)=Kv+Kg(p,p); %aporte del segundo piso
p=[1;6;7;2;10;11]; %posicin de la columna izquierda
Kg(p,p)=Kcp2+Kg(p,p); %aporte de la columna izquierda
p=[1;8;9;2;12;13]; %posicin de la columna derecha
Kg(p,p)=Kcp2+Kg(p,p); %aporte de la columna derecha
%Para el tercer piso
p=[14:17]'; %posicion de los GL de la viga
Kg(p,p)=Kv+Kg(p,p); %aporte del tercer piso
p=[2;10;11;3;14;15]; %posicin de la columna izquierda
Kg(p,p)=Kcp2+Kg(p,p); %aporte de la columna izquierda
p=[2;12;13;3;16;17]; %posicin de la columna derecha
Kg(p,p)=Kcp2+Kg(p,p); %aporte de la columna derecha
%Para el cuarto piso
p=[18:21]'; %posicion de los GL de la viga
Kg(p,p)=Kv+Kg(p,p); %aporte del cuarto piso
p=[3;14;15;4;18;19]; %posicin de la columna izquierda
Kg(p,p)=Kcp2+Kg(p,p); %aporte de la columna izquierda
p=[3;16;17;4;20;21]; %posicin de la columna derecha
Kg(p,p)=Kcp2+Kg(p,p); %aporte de la columna derecha
%Para el quinto piso
p=[22:25]'; %posicion de los GL de la viga
Kg(p,p)=Kv+Kg(p,p); %aporte del quinto piso
p=[4;18;19;5;22;23]; %posicin de la columna izquierda
PROHIBIDA SU REPRODUCCION TOTAL O PARCIAL
Apuntes de MatLab para Dinmica de Estructuras II Semestre 2012 USM Campus Santiago RevB // Ricardo Bustamante H.
Kg(p,p)=Kcp2+Kg(p,p); %aporte de la columna izquierda
p=[4;20;21;5;24;25]; %posicin de la columna derecha
Kg(p,p)=Kcp2+Kg(p,p); %aporte de la columna derecha
PROHIBIDA SU REPRODUCCION TOTAL O PARCIAL
Apuntes de MatLab para Dinmica de Estructuras II Semestre 2012 USM Campus Santiago RevB // Ricardo Bustamante H.
Matriz de rigidez global Kg queda como se indica la figura
PROHIBIDA SU REPRODUCCION TOTAL O PARCIAL
Apuntes de MatLab para Dinmica de Estructuras II Semestre 2012 USM Campus Santiago RevB // Ricardo Bustamante H.
Condensacin esttica Ahora bien, mediante condensacin estticamente se debe reducir la matriz a los grados de
libertad asociados al desplazamiento horizontal del marco. En este caso se condensarn los
asociados al desplazamiento lateral del marco.
0
aa ab
ba bb
K K u F
K K
Con u=grados de libertad activos (desplazamientos laterales) y el resto de los grados de libertad.
De esta manera,
0aa ab
ba bb
K u K F
K u K
Finalmente la rigidez lateral queda expresada como
1
aa ab bb baK K K K K
Se condensar para la submatriz de dimensiones 25x25, considerando que slo se agregaron estos
trminos para determinar un procedimientos de ensamble de la matriz de rigidez global eficiente.
Truncado los ltimos 5 GL, se tiene
a=[1:5]; % GL activos
b=[6:25]; % GL pasivos
K=Kg(a,a)-Kg(a,b)*inv(Kg(b,b))*Kg(b,a) %condensacion a GL laterales
K =
14.7948 -9.8816 2.6659 -0.4655 0.0756 -9.8816 15.4632 -10.0323 2.6500 -0.3583 2.6659 -10.0323 15.4597 -9.8125 2.0987 -0.4655 2.6500 -9.8125 14.1538 -6.5904 0.0756 -0.3583 2.0987 -6.5904 4.7790
Una alternativa al procedimiento anterior consiste en generar los vectores de conectividad de
manera individual. El problema radica en la lentitud en relacin al procedimiento anterior.
PROHIBIDA SU REPRODUCCION TOTAL O PARCIAL
Apuntes de MatLab para Dinmica de Estructuras II Semestre 2012 USM Campus Santiago RevB // Ricardo Bustamante H.
% vigas
Kv=kviga4x4(Es,Iv,L);
% columnas
EA=Es*Ac;
EI=Es*Ic;
Kcp1=kcol(EI,EA,hp1);
Kcp2=kcol(EI,EA,hp2);
% Matrices de compatibilidad para cada barra
% vigas
a1=zeros(4,25); a1(1,6)=1; a1(2,7)=1; a1(3,8)=1; a1(4,9)=1;
a2=zeros(4,25); a2(1,10)=1; a2(2,11)=1; a2(3,12)=1; a2(4,13)=1;
a3=zeros(4,25); a3(1,14)=1; a3(2,15)=1; a3(3,16)=1; a3(4,17)=1;
a4=zeros(4,25); a4(1,18)=1; a4(2,19)=1; a4(3,20)=1; a4(4,21)=1;
a5=zeros(4,25); a5(1,22)=1; a5(2,23)=1; a5(3,24)=1; a5(4,25)=1;
% columnas
a6=zeros(6,25); a6(4,1)=-1; a6(5,6)=1; a6(6,7)=1;
a7=zeros(6,25); a7(4,1)=-1; a7(5,8)=1; a7(6,9)=1;
a8=zeros(6,25); a8(1,1)=-1; a8(2,6)=1; a8(3,7)=1; a8(4,2)=-1; a8(5,10)=1; a8(6,11)=1;
a9=zeros(6,25); a9(1,1)=-1; a9(2,8)=1; a9(3,9)=1; a9(4,2)=-1; a9(5,12)=1; a9(6,13)=1;
a10=zeros(6,25); a10(1,2)=-1; a10(2,10)=1; a10(3,11)=1; a10(4,3)=-1; a10(5,14)=1; a10(6,15)=1;
a11=zeros(6,25); a11(1,2)=-1; a11(2,12)=1; a11(3,13)=1; a11(4,3)=-1; a11(5,16)=1; a11(6,17)=1;
a12=zeros(6,25); a12(1,3)=-1; a12(2,14)=1; a12(3,15)=1; a12(4,4)=-1; a12(5,18)=1; a12(6,19)=1;
a13=zeros(6,25); a13(1,3)=-1; a13(2,16)=1; a13(3,17)=1; a13(4,4)=-1; a13(5,20)=1; a13(6,21)=1;
a14=zeros(6,25); a14(1,4)=-1; a14(2,18)=1; a14(3,19)=1; a14(4,5)=-1; a14(5,22)=1; a14(6,23)=1;
a15=zeros(6,25); a15(1,4)=-1; a15(2,20)=1; a15(3,21)=1; a15(4,5)=-1; a15(5,24)=1; a15(6,25)=1;
% Matriz de rigidez
Kvigas=a1'*Kv*a1 + a2'*Kv*a2 + a3'*Kv*a3 + a4'*Kv*a4 + a5'*Kv*a5; %aporte de las vigas
Kcolumnas=a6'*Kcp1*a6 + a7'*Kcp1*a7 + a8'*Kcp2*a8 + a9'*Kcp2*a9 + a10'*Kcp2*a10 + a11'*Kcp2*a11 + a12'*Kcp2*a12 +
a13'*Kcp2*a13 + a14'*Kcp2*a14 + a15'*Kcp2*a15; %aporte de las columnas
Kt=Kvigas+Kcolumnas; %matriz de rigidez completa
a=[1:5]; %grados de libertad horizontales
b=[6:25]; %resto de los grados de libertad del sistema
Kaa=Kt(a,a);
Kab=Kt(a,b);
Kba=Kt(b,a);
Kbb=Kt(b,b);
K=Kaa-Kab*inv(Kbb)*Kba; %matriz de rigidez condensada a grados de libertad laterales con masa asociada
Kt=Kv+Kc; %matriz de rigidez completa
PROHIBIDA SU REPRODUCCION TOTAL O PARCIAL
Apuntes de MatLab para Dinmica de Estructuras II Semestre 2012 USM Campus Santiago RevB // Ricardo Bustamante H.
Dinmica estructural
Subrutina ode45 ode45 corresponde a un mtodo adaptativo; es una combinacin de un mtodo Runge-Kutta de
ordenes cuatro y cinco de cinco y seis evaluaciones respectivamente. La combinacin de estos
mtodos permite estimar el error en la aproximacin numrica en cada paso y as la subrutina
puede ajustar el largo de paso "h" en forma dinmica para mantener el error global menor de una
tolerancia especificada por el usuario. Requiere del nombre de la funcin f, los tiempos inicial y
final, la condicin inicial, la tolerancia para cada iteracin, y un indicador si la rutina imprime o no
los resultados calculados. Normalmente este indicador se toma como cero que es su valor por
omisin.
A continuacin se detalla un ejemplo que permite visualizar su uso. En especfico, se resolver la
ecuacin general de movimiento para un caso particular.
Sea la ecuacin del movimiento:
100,sin)()()( 0 ttFtkxtxctxm
Considerar el siguiente caso:
m = 10; c = 0,05; k = 50; Fo = 5
Las condiciones iniciales sern las siguientes:
0)0( x
0)0( x
Para usar ode45 con ecuaciones de 2do orden, como es el caso de la ecuacin general de
movimiento:
10
00
)(
)(
)(
xtx
xtx
tFkxxcxm
se debe convertir la ecuacin en un sistema equivalente de primer orden, haciendo y1 = x, y2 = x:
m
tFycyky
yy
)(
'
212
21
PROHIBIDA SU REPRODUCCION TOTAL O PARCIAL
Apuntes de MatLab para Dinmica de Estructuras II Semestre 2012 USM Campus Santiago RevB // Ricardo Bustamante H.
Con
102
001
)(
)(
xty
xty
Luego se debe crear y guardar un archivo .m que retornar una funcin evaluada en cada t.
Para el caso del ejemplo, se procedera de la siguiente forma:
function dy = dfun(t,y) Fo=5; A=Fo*sin(pi*t); c=0.05; k=50; m=10; dy=zeros(2,1); dy(1)=y(2); dy(2)=(A-c*y(2)-k*y(1))/m; end
Notar que el sistema est descrito en las dos ltimas filas antes de end y lo anterior es para definir los coeficientes del sistema. Este archivo se guardar como dfun.m.
Finalmente, para obtener los resultados, se tiene que ingresar lo siguiente:
[t,x]=ode45(@nombre del archivo.m,[to tf],[x(0) x(0)]);
t0 y tf son el tiempo inicial y final del anlisis y x(0) y x(0) las condiciones iniciales.
Reemplazando en el caso ejemplo, queda:
[t,x]=ode45(@dfun,[0 10],[0 1]);
t ser el vector de los instantes de tiempo en que se efectu el clculo segn el criterio de error de este proceso, x ser una matriz de dos columnas, de las cuales, la primera ir definiendo la posicin y la segunda la velocidad segn el vector t. Con lo cual, si se desea mostrar el resultado en un grfico, se implementar el siguiente cdigo:
hold on plot(t,w(:,1),'b') plot(t,w(:,2),'r') xlabel('tiempo') ylabel('Posicin y Velocidad') title('Solucin EDO') legend('Posicin','Velocidad',3) grid on hold off
PROHIBIDA SU REPRODUCCION TOTAL O PARCIAL
Apuntes de MatLab para Dinmica de Estructuras II Semestre 2012 USM Campus Santiago RevB // Ricardo Bustamante H.
Y el resultado por pantalla ser el siguiente:
0 1 2 3 4 5 6 7 8 9 10-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
tiempo
Posic
in y
Velo
cid
ad
Solucin EDO
Posicin
Velocidad
PROHIBIDA SU REPRODUCCION TOTAL O PARCIAL
Apuntes de MatLab para Dinmica de Estructuras II Semestre 2012 USM Campus Santiago RevB // Ricardo Bustamante H.
Factores de Amplificacin Dinmica (FAD)
En el anlisis de sistemas dinmicos, un punto que importa conocer es la amplificacin que sufre la
respuesta del sistema ante solicitaciones con respecto a la respuesta esttica. De esta manera, se
define el Factor de amplificacin dinmico de un sistema, para una cierta razn de
amortiguamiento, como el cociente entre la amplitud de la respuesta (para una cierta excitacin)
y el desplazamiento (velocidad, aceleracin) esttico. Para poder definir este parmetro, es
necesario conocer la frecuencia que posee la excitacin a la cual se esta sometiendo el sistema.
Conocida esta, es posible analizar lo que ocurre con la respuesta del sistema para diferentes
excitaciones, y a su vez, analizar el comportamiento para un determinado amortiguamiento. Para
un mejor entendimiento, veamos un ejemplo:
Sea la EDM:
tpFtkutuctum sin)()()( 0
Rescrita en forma cannica:
tpm
Ftututu sin)()(2)( 02
La solucin a esta ecuacin diferencial de segundo orden, esta dada por una parte homognea y
otra particular. Resolviendo, se obtiene la siguiente solucin para un sistema amortiguado de un
grado de libertad:
tp
w
ppm
Ftu sin
21
1)(
22
22
0
2
1
1
2
tan
p
p
Donde:
: Razn de amortiguamiento crtico.
:0F Amplitud de la carga.
PROHIBIDA SU REPRODUCCION TOTAL O PARCIAL
Apuntes de MatLab para Dinmica de Estructuras II Semestre 2012 USM Campus Santiago RevB // Ricardo Bustamante H.
:p Frecuencia angular de la carga.
:stu Desplazamiento esttico del sistema.
Luego, el factor de amplificacin dinmica para desplazamiento se define numricamente de la
siguiente manera:
22
2
21
1
w
pp
FADu
Es posible conocer tambin, los factores de amplificacin dinmica para la velocidad y la
aceleracin:
Diferenciando la respuesta del sistema, se tiene que la velocidad es de la forma:
tp
w
pp
p
m
Ftu cos
21
)(2
22
0
De esta manera, el FAD para velocidad es:
22
2
21
w
pp
p
FADv
La aceleracin:
tp
w
pp
p
m
Ftu sin
21
)(2
22
2
0
PROHIBIDA SU REPRODUCCION TOTAL O PARCIAL
Apuntes de MatLab para Dinmica de Estructuras II Semestre 2012 USM Campus Santiago RevB // Ricardo Bustamante H.
De esta manera, el FAD para aceleracin es:
22
2
2
21
w
pp
p
FADa
Por ejemplo, sea: m=100 [kg],
m
Nk 3102.5
Se realiza un barrido de la frecuencia de la carga desde 0 hasta 100 [rad/s] y un barrido de la razn
de amortiguamiento crtico comenzando en 0.1 hasta 1.1. Implementando el siguiente cdigo en
MATLAB se obtiene la grfica que ilustra el FAD para desplazamiento, velocidad y aceleracin:
%FACTORES DE RESPUESTA DINMICA (FAD)
%Para una excitacin conocida de la forma: F(t)=Fo*sin(p*t) tic clear all clc %Para un oscilador de 1 Grado de Libertad con distintos niveles de
amortiguamiento... %Sea m=100;%[kg] k=5.2*10^3;%[N/m] w=(k/m)^(1/2);%[rad/s] p=(0:.5:100);%Frecuencias de la carga aplicada al sistema. beta=[0.1 0.2 0.4 0.5 0.7 0.9 1 1.1];%razones de amortiguamiento aux1=size(p,2); aux2=size(beta,2); FADu=zeros(aux1,aux2); FADv=zeros(aux1,aux2); FADa=zeros(aux1,aux2);
for j=1:1:aux2 for i=1:1:aux1 aux3=((1-(p(i)/w)^2)^2+(2*beta(j)*(p(i)/w))^2)^(1/2); FADu(i,j)=1/aux3; FADv(i,j)=(p(i)/w)/aux3; FADa(i,j)=((p(i)/w)^2)/aux3; end end p_w=p/w;
figure(1) hold on plot(p_w,FADu(:,1),'-k') plot(p_w,FADu(:,2),'-r')
PROHIBIDA SU REPRODUCCION TOTAL O PARCIAL
Apuntes de MatLab para Dinmica de Estructuras II Semestre 2012 USM Campus Santiago RevB // Ricardo Bustamante H.
plot(p_w,FADu(:,4),'-b') plot(p_w,FADu(:,5),'-g') plot(p_w,FADu(:,6),'-m') plot(p_w,FADu(:,7),'-y') legend('\beta=0.1','\beta=0.2','\beta=0.5','\beta=0.7','\beta=0.9','\beta
=1') hold off xlabel('p/\omega') ylabel('FAD') title('FAD DESPLAZAMIENTO OSCILADOR SIMPLE AMORTIGUADO-CARGA SINUSOIDAL') grid on
figure(2) hold on plot(p_w,FADv(:,1),'-k') plot(p_w,FADv(:,2),'-r') plot(p_w,FADv(:,4),'-b') plot(p_w,FADv(:,5),'-g') plot(p_w,FADv(:,6),'-m') plot(p_w,FADv(:,7),'-y') legend('\beta=0.1','\beta=0.2','\beta=0.5','\beta=0.7','\beta=0.9','\beta
=1') hold off xlabel('p/\omega') ylabel('FAD') title('FAD VELOCIDAD OSCILADOR SIMPLE AMORTIGUADO-CARGA SINUSOIDAL') grid on
figure(3) hold on plot(p_w,FADa(:,1),'-k') plot(p_w,FADa(:,2),'-r') plot(p_w,FADa(:,4),'-b') plot(p_w,FADa(:,5),'-g') plot(p_w,FADa(:,6),'-m') plot(p_w,FADa(:,7),'-y') legend('\beta=0.1','\beta=0.2','\beta=0.5','\beta=0.7','\beta=0.9','\beta
=1') hold off xlabel('p/\omega') ylabel('FAD') title('FAD ACELERACION OSCILADOR SIMPLE AMORTIGUADO-CARGA SINUSOIDAL') grid on
toc
PROHIBIDA SU REPRODUCCION TOTAL O PARCIAL
Apuntes de MatLab para Dinmica de Estructuras II Semestre 2012 USM Campus Santiago RevB // Ricardo Bustamante H.
PROHIBIDA SU REPRODUCCION TOTAL O PARCIAL
Apuntes de MatLab para Dinmica de Estructuras II Semestre 2012 USM Campus Santiago RevB // Ricardo Bustamante H.
PROHIBIDA SU REPRODUCCION TOTAL O PARCIAL
Apuntes de MatLab para Dinmica de Estructuras II Semestre 2012 USM Campus Santiago RevB // Ricardo Bustamante H.
Respuesta ante carga Rampa-Escaln
Considerando que se tiene una excitacin como
stparakN
stparakNttF
5.0100
5.0200)(
Considerando un sistema de 1 GL, se tiene que la EDM es
sttpara
sttparatttkutuctum
d
d
d
100
100
)()()(
La respuesta por tanto debe separarse en 2 tramos.
i) Respuesta en la fase de carga lineal creciente dtt
La solucin es
ttte
t
utu d
d
d
tw
d
st
2sin12
cos2
)(
2
ii) Respuesta en la fase de carga lineal creciente dtt
La solucin es
stddd
stddddstd
ttwutt
utututtutuetu d
sin
)()(cos)()(
Donde )(),( dd tutu corresponde a las condiciones iniciales provistas por la fase anterior.
De esta manera, se obtiene la respuesta, que de manera grfica, permite apreciar que en la fase
de carga creciente la respuesta del sistema crece linealmente hasta la posicin de equilibrio
esttico, siendo igual para distintas razones de amortiguamiento. Luego, oscila en torno a ella
hasta mantenerse en dicha posicin.
PROHIBIDA SU REPRODUCCION TOTAL O PARCIAL
Apuntes de MatLab para Dinmica de Estructuras II Semestre 2012 USM Campus Santiago RevB // Ricardo Bustamante H.
%RESPUESTA OSCILACIONES FORZADAS %Para una excitacin tipo rampa-escalon
m=5000;%[kg] a=.3;%[m] I=(a^4)/12;%[m^4] E=2.94*10^(10);%[N/m^2] K=768*E*I/875;%[N/m] d=0.05;
Fo=100000;%[N]
i=0; tr=.5; H=@(t)(((Fo*t/tr)*(t>=0 & ttr & t
PROHIBIDA SU REPRODUCCION TOTAL O PARCIAL
Apuntes de MatLab para Dinmica de Estructuras II Semestre 2012 USM Campus Santiago RevB // Ricardo Bustamante H.
Respuestas a partir de un registro de aceleraciones
Considerando que se tiene un sistema como el mostrado en la figura, donde )(tug representa la
aceleracin basal discretizada en pasos de st , se requiere resolver el problema utilizando el mtodo de Newmark con aceleracin lineal (es una alternativa). Esto permite determinar el la
relacin tiempo-historia de la estructura, tanto a nivel de desplazamientos, como de velocidad y
aceleracin.
La EDM es
)()()(2)(
)()()()(
0)()()()(
2 tutututu
tmutkutuctum
tkutuctutum
g
g
g
Ahora bien, implementando Newmark con aceleracin lineal, se tiene
)(3)(
6)(
2)(3
632
tutut
mtut
tucFumt
ct
K
Con condiciones iniciales
0)0(
0)0(
u
u
m
uKucFu
)0()0()0()0(
PROHIBIDA SU REPRODUCCION TOTAL O PARCIAL
Apuntes de MatLab para Dinmica de Estructuras II Semestre 2012 USM Campus Santiago RevB // Ricardo Bustamante H.
De esta forma, para un sistema de perodo T=0.1 (s) y razn de amortiguamiento de 02.0 , se
obtiene el grfico para el desplazamiento lateral u(t).
%Time-History para SDOF mediante Newmark con aceleracin lineal
%Se carga el registro de aceleraciones. dato=load('aceleraciones.dat'); dato1=dato*9.81; dt=0.02;%Incremento de tiempo del registro [s].
n=length(dato); tmax=(n-1)*dt; t=(0:dt:tmax)'; d=zeros(n,1); v=zeros(n,1); a=zeros(n,1);
%Condiciones iniciales. d(1)=0;%Desplazamiento inicial nulo. v(1)=0;%Velocidad inicial nula. a(1)=(dato1(1)-c*v(1)-K*d(1))/m;%Aceleracin inicial . K_eq=K+(3*c/dt)+(6*m/(dt*dt));%Masa equivalente. dd=d(1); vv=v(1); aa=a(1); for i=1:1:(n-1)
PROHIBIDA SU REPRODUCCION TOTAL O PARCIAL
Apuntes de MatLab para Dinmica de Estructuras II Semestre 2012 USM Campus Santiago RevB // Ricardo Bustamante H.
delta_F=(dato1(i+1)-dato1(i))+c*(3*vv+(dt*aa/2))+m*((6*vv/dt)+3*aa); du=delta_F/K_eq; dv=(3*du/dt)-3*vv-(dt*aa/2); da=(6*du/(dt^2))-(6*vv/dt)-3*aa; d(i+1)=dd+du; v(i+1)=vv+dv; a(i+1)=aa+da; dd=d(i+1); vv=v(i+1); aa=a(i+1); end SD=max(abs(d*100)); SV=max(abs(v*100)); SA=max(abs(a))/9.81; figure(1) subplot(2,1,1); plot(t,dato,'r'); title('Acelerograma'); xlabel('Tiempo [s]'); ylabel('Aceleracin [g]'); subplot(2,1,2); plot(t,d*100,'b'); legend('T= 0.1 [s], \xi=0.02') xlabel('Tiempo [s]'); ylabel('Deformacin u(t) [cm]');
El espectro de respuesta para un registro se calcula para un barrido de perodos en un oscilador de
un grado de libertad y para una razn de amortiguamiento fija. Los espectros se definen de la
siguiente manera:
max)(tuSd
dv ST
S
2
da ST
S
22
%Espectro de Respuesta Lineal para SDOF mediante Newmark con aceleracin
lineal
%Se carga el registro de aceleraciones. dato=load('aceleraciones.dat'); dato1=dato*9.81; dt=0.02;%Incremento de tiempo del registro [s].
n=length(dato); tmax=(n-1)*dt; t=(0:dt:tmax)'; d=zeros(n,1); v=zeros(n,1); a=zeros(n,1);
PROHIBIDA SU REPRODUCCION TOTAL O PARCIAL
Apuntes de MatLab para Dinmica de Estructuras II Semestre 2012 USM Campus Santiago RevB // Ricardo Bustamante H.
T=(0.01:0.01:7)'; z=length(T); Sd=zeros(z,1); Sv=zeros(z,1); Sa=zeros(z,1); for j=1:1:z wn=2*pi/T(j); K=m*wn^2;%Rigidez del sistema en [N/m]. c=2*sqrt(m*K)*p;%Viscosidad en [N*s/m].
%Condiciones iniciales. d(1)=0;%Desplazamiento inicial nulo. v(1)=0;%Velocidad inicial nula. a(1)=(dato1(1)-c*v(1)-K*d(1))/m;%Aceleracin inicial . K_eq=K+(3*c/dt)+(6*m/(dt*dt));%Masa equivalente. dd=d(1); vv=v(1); aa=a(1); for i=1:1:(n-1) delta_F=(dato1(i+1)-dato1(i))+c*(3*vv+(dt*aa/2))+m*((6*vv/dt)+3*aa); du=delta_F/K_eq; dv=(3*du/dt)-3*vv-(dt*aa/2); da=(6*du/(dt^2))-(6*vv/dt)-3*aa; d(i+1)=dd+du; v(i+1)=vv+dv; a(i+1)=aa+da; dd=d(i+1); vv=v(i+1); aa=a(i+1); end Sd(j,1)=max(abs(d)); Sv(j,1)=(2*pi/T(j))*Sd(j,1); Sa(j,1)=((2*pi/T(j))^2)*Sd(j,1); end
figure(1) plot(T,Sd*100) title('Espectro de Respuesta SDOFS \beta=0.02') xlabel('Periodo T_n [s]'); ylabel('Sa [cm]');
PROHIBIDA SU REPRODUCCION TOTAL O PARCIAL
Apuntes de MatLab para Dinmica de Estructuras II Semestre 2012 USM Campus Santiago RevB // Ricardo Bustamante H.
Espectro Lineal de Aceleracin
Obtener el Espectro Lineal de Aceleracin, utilizando un algoritmo de Newmark, para una estructura de un grado de libertad, entre los periodos de T = 0 a T = 3 *s+, del registro n del terremoto del 27 de Febrero de 2010, considerando los amortiguamientos = *0,a,b+% (n = 1: Constitucin E-O; n = 2: Concepcin N-S; n = 3: Angol E-O; n=4: Curic E-O) El .txt del registro, contiene un vector con las aceleraciones en *g+, separadas por un intervalo t. A continuacin, se indican las especificaciones y condiciones iniciales de los registros:
Registro t [s] N datos Desplazamiento Inicial
Acelergrafo [cm]
Velocidad Inicial
Acelergrafo [cm/s]
Constitucin E-O 0,005 28.657 -0,011 -0,144
Concepcin N-S 0,005 28.338 -0,035 1,641
Angol E-O 0,01 18.001 -0,003 0,099
Curic E-O 0,01 18.001 0,011 0,036
Para obtener el Espectro Lineal de Aceleracin se modela un sistema de un grado de libertad de la siguiente forma:
Con la ecuacin diferencial de este problema como:
tFtutKtutctutm
donde:
m: Masa del sistema en el tiempo t en [kg]
PROHIBIDA SU REPRODUCCION TOTAL O PARCIAL
Apuntes de MatLab para Dinmica de Estructuras II Semestre 2012 USM Campus Santiago RevB // Ricardo Bustamante H.
( t): Aceleracin del sistema en el tiempo t en [m/s2] c: Viscosidad del sistema en el tiempo t en [Ns/m] u (t): Velocidad del sistema en el tiempo t en [m/s] K: Rigidez del sistema en el tiempo t en [N/m] u(t): Posicin del sistema en el tiempo t en [m] F(t): Fuerza externa sobre el sistema en el tiempo t en [N]
Si se evala el sistema en un tiempo t + t:
ttFttutKttutcttutm
Notar que se consideran las propiedades masa, viscosidad y rigidez, constantes durante el intervalo t, tomndose para el anlisis, el valor de ellas en el tiempo t (principio del intervalo). Y luego se resta la expresin anterior con la ecuacin para el tiempo t, donde:
tuttutu tuttutu tuttutu tFttFtF
La ecuacin de equilibrio incremental se obtiene para el intervalo de tiempo t:
tFtutKtutctutm
donde: m(t): Masa del sistema al inicio del intervalo en [kg] (t): Incremento de la aceleracin del sistema en el intervalo en [m/s2] c(t): Viscosidad del sistema al inicio del intervalo en [Ns/m]
u (t): Incremento de la velocidad del sistema en el intervalo en [m/s] K(t): Rigidez del sistema al inicio del intervalo en [N/m] u(t): Incremento de la posicin del sistema en el intervalo en *m+ F(t): Incremento de la fuerza externa sobre el sistema en el intervalo en *N+ La anterior ecuacin ser la que se resolver para cada intervalo t, para ella se conocen los
siguientes datos provenientes de la resolucin del intervalo anterior: m(t), c(t), K(t), (t), u (t), u(t); adems de ser dato F(t), ya que son datos F(t) y F(t + t). Quedando como incgnitas ( t ),
u (t) y u(t), o sea (t + t), u (t + t), u(t + t). En cada paso t la solucin realizando una integracin directa es:
dututtutt
t
PROHIBIDA SU REPRODUCCION TOTAL O PARCIAL
Apuntes de MatLab para Dinmica de Estructuras II Semestre 2012 USM Campus Santiago RevB // Ricardo Bustamante H.
dututtutt
t
Dado que no se conoce como cambia la aceleracin ni la velocidad durante el intervalo, se supone un tipo de variacin, usndose para este ejemplo, la de Aceleracin Lineal con = 1/6 del Mtodo de Newmark:
Realizando los reemplazos respectivos:
tuttutu tuttutu tuttutu
Se obtiene:
PROHIBIDA SU REPRODUCCION TOTAL O PARCIAL
Apuntes de MatLab para Dinmica de Estructuras II Semestre 2012 USM Campus Santiago RevB // Ricardo Bustamante H.
Si de despejan u (t) y (t) en funcin de u(t), quedan las siguientes expresiones:
tut
tutut
tu
2
33
tutut
tut
tu
366
2
Reemplazando en la ecuacin de equilibrio incremental:
tFtutKtut
tutut
tctutut
tut
tm
23
33
662
Ordenando:
tctut
tutmtutut
tFtutKtct
tmt
233
6362
Con:
tKtct
tmt
tK
36
2 como la rigidez efectiva
PROHIBIDA SU REPRODUCCION TOTAL O PARCIAL
Apuntes de MatLab para Dinmica de Estructuras II Semestre 2012 USM Campus Santiago RevB // Ricardo Bustamante H.
tctut
tutmtutut
tFtF
233
6 como el incremento de fuerza
efectiva
Se obtiene el valor para u(t):
tKtF
tu
Algoritmo Mtodo = 1/6 de Newmark:
1) Se conocen las condiciones iniciales del problema: m(0), c(0), K(0), u (0), u(0), F(0), con
ello se despeja (0) de la ecuacin de diferencial del problema:
0
000000
m
uKucFu
2) Una vez conocidas las condiciones iniciales del problema o los datos finales del intervalo
anterior: m(t), c(t), K(t), (t), u (t), u(t), F(t), se calculan K y F
tKtct
tmt
tK
36
2
tctut
tutmtutut
tFtF
233
6
3) Calcular u( t ) y con ello se calculan u (t) y (t)
tKtF
tu
tut
tutut
tu
2
33
tutut
tut
tu
366
2
4) Calcular ( t + t ), u ( t + t ), u( t + t ):
tututtu tututtu
PROHIBIDA SU REPRODUCCION TOTAL O PARCIAL
Apuntes de MatLab para Dinmica de Estructuras II Semestre 2012 USM Campus Santiago RevB // Ricardo Bustamante H.
tututtu
5) 5) Repetir desde el paso 2, ocupando (t + t), u (t + t), u(t + t) como los (t), u (t), u(t)
del siguiente intervalo.
El mtodo de Newmark, tiene lmites de convergencia y estabilidad, segn el t y el periodo T de la estructura:
Lmite de convergencia: 39,0
39,0t
TTt
Lmite de estabilidad: 55,0
55,0t
TTt
Dado el t en el problema, debera considerarse el lmite de convergencia como criterio de eleccin del periodo ms pequeo a evaluar. En el caso del problema la fuerza externa se puede expresar en funcin de la aceleracin del registro g( t ), que viene con sus datos en [g], por lo cual, la fuerza externa se define como:
81,9 tumtF g
Como el problema es un sistema lineal, las propiedades de ste son constantes en todo momento:
mtm
ktK
mktc 2 , con amortiguamiento del sistema
Se debe realizar el Mtodo = 1/6 de Newmark para cada periodo. Luego se obtiene el mayor
valor absoluto de aceleracin para cada periodo y con estos datos se construye el grfico Espectro
v/s Periodo de la respuesta.
Los espectros de respuesta normalmente entregan el espectro en unidades de [g], por lo cual, se
debera dividir la mxima aceleracin absoluta, por 9,81.
Notar que el Mtodo = 1/6 de Newmark tiene criterio de convergencia, por lo cual, el mnimo
periodo a evaluar, debiese ser 39,0
tT
, luego asignar un paso ojal menor igual a 0,05 [s] en
incrementacin del periodo, hasta evaluar T = 3 [s].
A continuacin, se presentan los periodos mnimos a usar para cada registro y las condiciones
iniciales del problema:
PROHIBIDA SU REPRODUCCION TOTAL O PARCIAL
Apuntes de MatLab para Dinmica de Estructuras II Semestre 2012 USM Campus Santiago RevB // Ricardo Bustamante H.
Registro t [s] T mnimo a
usar[s]
Desplazamiento Inicial
Acelergrafo [m]
Velocidad Inicial
Acelergrafo [m/s]
Constitucin E-O 0,005 0,05 > 0,0128 -0,00011 -0,00144
Concepcin N-S 0,005 0,05 > 0,0128 -0,00035 0,01641
Angol E-O 0,01 0,05 > 0,0256 -0,00003 0,00099
Curic E-O 0,01 0,05 > 0,0256 0,00011 0,00036
Ya que el dato a evaluar es el periodo, el sistema se puede definir con una masa cualquiera y la
rigidez del sistema quedar en funcin de m y T:
22
Tmk
Todo lo anterior, hay que hacerlo para = 0%; = a% y = b%.
Alguno de los espectros de respuesta se adjuntan a continuacin, con T = 0,005:
0 0.5 1 1.5 2 2.5 30
2
4
6
8
10
12
14
16
18
20
Sa (
g)
Periodo (s)
Espectro Registro Constitucin Direccin E-O
= 0
= 0.03
= 0.055
PROHIBIDA SU REPRODUCCION TOTAL O PARCIAL
Apuntes de MatLab para Dinmica de Estructuras II Semestre 2012 USM Campus Santiago RevB // Ricardo Bustamante H.
0 0.5 1 1.5 2 2.5 30
1
2
3
4
5
6
7
8
Sa (
g)
Periodo (s)
Espectro Registro Concepcin Direccin N-S
= 0
= 0.03
= 0.055
0 0.5 1 1.5 2 2.5 30
5
10
15
20
25
Sa (
g)
Periodo (s)
Espectro Registro Angol Direccin E-O
= 0
= 0.03
= 0.055
PROHIBIDA SU REPRODUCCION TOTAL O PARCIAL
Apuntes de MatLab para Dinmica de Estructuras II Semestre 2012 USM Campus Santiago RevB // Ricardo Bustamante H.
0 0.5 1 1.5 2 2.5 30
2
4
6
8
10
12
14
Sa (
g)
Periodo (s)
Espectro Registro Curic Direccin E-O
= 0
= 0.03
= 0.055
PROHIBIDA SU REPRODUCCION TOTAL O PARCIAL
Apuntes de MatLab para Dinmica de Estructuras II Semestre 2012 USM Campus Santiago RevB // Ricardo Bustamante H.
%ESPECTRO LINEAL DE ACELERACION DF=11;%Dgito Verificador dT=0.005;%Intervalo de periodos
%Constitucin E-O %dt=0,005 Datos=28657 %di = -0,011 cm %vi = -0,144 cm/s
%Angol E-O %dt=0,01 Datos=18001 %di = -0,003 cm %vi = 0,099 cm/s
%Concepcin N-S %dt=0,005 Datos=28338 %di = -0,035 cm %vi = 1,641 cm/s
%Curic E-O %dt=0,01 Datos=18001 %di = 0,011 cm %vi = 0,036 cm/s
%fid=fopen('Constitucin.txt'); %registro=fscanf(fid,'%f',[28657,1]);
% fid=fopen('Concepcin N-S.txt'); % registro=fscanf(fid,'%f',[18001,1])/981; % fclose(fid); % fid=fopen('Concepcin.txt','wt'); % fprintf(fid,'%f\n',registro); % fclose(fid);
registro=load('Constitucin.txt'); x=length(registro); color=['b','r','k']; ddd=[0,(DF+5)/200,(DF+10)/200]; m=1000; df=m*(registro(2:x,:)-registro(1:x-1))*9.81; dt=0.005; T=0.05:dT:3;
for j=1:length(ddd); k=m*(2*pi./T).^2; c=2*ddd(j)*(2*pi./T)*m; K=k+3/dt*c+6/dt^2*m*ones(1,length(T)); d=zeros(length(registro),length(T)); v=d; a=v; d(1,:)=-0.011/100; v(1,:)=-0.144/100; a(1,:)=(m*registro(1)*ones(1,length(T))*9.81-c.*v(1,:)-k.*d(1,:))/m; for i=1:x-1;
PROHIBIDA SU REPRODUCCION TOTAL O PARCIAL
Apuntes de MatLab para Dinmica de Estructuras II Semestre 2012 USM Campus Santiago RevB // Ricardo Bustamante H.
dF=df(i)*ones(1,length(T))+c.*(3*v(i,:)+dt/2*a(i,:))+m*(6/dt*v(i,:)
+3*a(i,:)); dd=dF./K; dv=3/dt*dd-3*v(i,:)-dt/2*a(i,:); da=6/dt^2*dd-6/dt*v(i,:)-3*a(i,:);
a(i+1,:)=a(i,:)+da; v(i+1,:)=v(i,:)+dv; d(i+1,:)=d(i,:)+dd;
end
Sa=max(abs(a)); figure(1) hold on plot(T,Sa/9.81,color(j))
end ylabel('Sa (g)') xlabel('Periodo (s)') title('Espectro Registro Constitucin Direccin E-O') legend('\xi = 0',char(['\xi = ',num2str(ddd(2))]),char(['\xi =
',num2str(ddd(3))]),1)
PROHIBIDA SU REPRODUCCION TOTAL O PARCIAL
Apuntes de MatLab para Dinmica de Estructuras II Semestre 2012 USM Campus Santiago RevB // Ricardo Bustamante H.
Espectro No Lineal de Aceleracin
Se modela el mismo sistema del ejemplo anterior, consistente de un grado de libertad de la
siguiente forma:
La ecuacin diferencial de este problema es la siguiente:
tFtftutctutm s Donde:
m: Masa del sistema en el tiempo t en [kg]
( t ): Aceleracin del sistema en el tiempo t en [m/s2]
c: Viscosidad del sistema en el tiempo t en [Ns/m]
u ( t ): Velocidad del sistema en el tiempo t en [m/s]
fs( t ): Fuerza interna del sistema en el tiempo t en [N]
F( t ): Fuerza externa sobre el sistema en el tiempo t en [N]
La fuerza interna se define:
y
y
y
y
ys
fktu
fktu
fktu
si
si
si
f
f
ktu
tf
donde:
k: Rigidez del sistema en [N/m]
fy: Tensin de fluencia en [N]
Si se evala el sistema en un tiempo t + t:
ttFttfttutcttutm s * Se consideran las propiedades masa, viscosidad y rigidez, constantes durante el intervalo t,
tomndose para el anlisis, el valor de ellas en el tiempo t (principio del intervalo).
Y luego se resta la expresin anterior con la ecuacin para el tiempo t:
donde:
PROHIBIDA SU REPRODUCCION TOTAL O PARCIAL
Apuntes de MatLab para Dinmica de Estructuras II Semestre 2012 USM Campus Santiago RevB // Ricardo Bustamante H.
tuttutu tuttutu
tfttftutK ss
tFttFtF
Se obtiene la ecuacin de equilibrio incremental para el intervalo de tiempo t:
tFtutKtutctutm con:
m(t): Masa del sistema al inicio del intervalo en [kg]
(t): Incremento de la aceleracin del sistema en el intervalo en *m/s2]
c(t): Viscosidad del sistema al inicio del intervalo en [Ns/m]
u (t): Incremento de la velocidad del sistema en el intervalo en [m/s]
K(t): Rigidez segn ley elastoplstica en el instante t en [N/m]
u(t): Incremento de la posicin del sistema en el intervalo en *m+
F(t): Incremento de la fuerza externa sobre el sistema en el intervalo en [N]
La anterior ecuacin ser la que se resolver para cada intervalo t, para ella se conocen los
siguientes datos provenientes de la resolucin del intervalo anterior: m(t), c(t), K(t), (t), u (t), u(t); adems de ser dato F(t), ya que son datos F(t) y F(t + t). Quedando como incgnitas ( t ),
u (t) y u(t), o sea (t + t), u (t + t), u(t + t).
En cada paso t, la solucin realizando una integracin directa es:
dututtutt
t
dututtutt
t
Dado que no se conoce como cambia la aceleracin ni la velocidad durante el intervalo, se supone
un tipo de variacin, usndose para este ejemplo, la de Aceleracin Lineal con = 1/6 del Mtodo
de Newmark:
PROHIBIDA SU REPRODUCCION TOTAL O PARCIAL
Apuntes de MatLab para Dinmica de Estructuras II Semestre 2012 USM Campus Santiago RevB // Ricardo Bustamante H.
Realizando los reemplazos respectivos:
tuttutu tuttutu tuttutu
Se obtiene:
Si de despejan u (t) y t) en funcin de u (t), quedan las siguientes expresiones:
PROHIBIDA SU REPRODUCCION TOTAL O PARCIAL
Apuntes de MatLab para Dinmica de Estructuras II Semestre 2012 USM Campus Santiago RevB // Ricardo Bustamante H.
tut
tutut
tu
2
33
tutut
tut
tu
366
2
Reemplazando en la ecuacin de equilibrio incremental:
tFtutKtut
tutut
tctutut
tut
tm
23
33
662
Ordenando:
tctut
tutmtutut
tFtutKtct
tmt
233
6362
Con:
tKtct
tmt
tK
36
2; Rigidez efectiva
tctut
tutmtutut
tFtF
233
6; Incremento de fuerza efectivo
Se obtiene el valor para u( t ):
tKtF
tu
Algoritmo Mtodo = 1/6 de Newmark:
1) Se conocen las condiciones iniciales del problema: m( 0 ), c( 0 ), K( 0 ), u ( 0 ), u( 0 ), F( 0 ), con
ello se despeja ( 0 ) de la ecuacin de diferencial del problema, tambin con ello, se obtienen la
fuerza interna fs:
0
000000
m
uKucFu
000 uKf s
2) Una vez conocidas las condiciones iniciales del problema o los datos finales del intervalo
anterior: m( t ), c( t ), K( t ), ( t ), u ( t ), u( t ), F( t ), fs( t - t ), se calculan fs( t ), F , K en el
siguiente orden:
tctut
tutmtutut
tFtF
233
6
ys
ys
fkttuttf
fkttuttf
si
siktK
0
PROHIBIDA SU REPRODUCCION TOTAL O PARCIAL
Apuntes de MatLab para Dinmica de Estructuras II Semestre 2012 USM Campus Santiago RevB // Ricardo Bustamante H.
ys
ys
ys
y
ys
fkttuttf
fkttuttf
fkttuttf
si
si
si
f
f
kttuttf
tf
tKtct
tmt
tK
36
2
3) Calcular u( t ) y con ello se calculan u ( t ) y ( t ).
tKtF
tu
tut
tutut
tu
2
33
tutut
tut
tu
366
2
4) Calcular ( t + t ), u ( t + t ), u( t + t ):
tututtu tututtu tututtu
5) Repetir desde el paso 2, ocupando (t + t), u (t + t), u(t + t), fs(t) como los (t), u (t), u(t),
fs(t - t) del siguiente intervalo.
El mtodo de Newmark, tiene lmites de convergencia y estabilidad, segn el t y el periodo T de
la estructura:
Lmite de convergencia: 39,0
39,0t
TTt
Lmite de estabilidad: 55,0
55,0t
TTt
Dado el t en el problema, debera considerarse el lmite de convergencia como criterio de
eleccin del periodo ms pequeo a evaluar.
En el caso del ejemplo, la fuerza externa se puede expresar en funcin de la aceleracin del
registro g (t), que viene con sus datos en [g], por lo cual, la fuerza externa se define como:
81,9 tumtF g
Al ser este un sistema elastoplstico, las propiedades del sistema son las siguientes:
mtm
PROHIBIDA SU REPRODUCCION TOTAL O PARCIAL
Apuntes de MatLab para Dinmica de Estructuras II Semestre 2012 USM Campus Santiago RevB // Ricardo Bustamante H.
ys
ys
fkttuttf
fkttuttf
si
siktK
0
mktc 2
ys
ys
ys
y
ys
fkttuttf
fkttuttf
fkttuttf
si
si
si
f
f
kttuttf
tf
Con Amortiguamiento del sistema y fy, la tensin de fluencia:
Dado que se pide el espectro no lineal de aceleracin, se debe realizar el Mtodo = 1/6 de
Newmark para cada periodo, luego se obtiene el mayor valor absoluto de aceleracin para cada
periodo, con estos datos, se construye el grfico Espectro v/s Periodo de la respuesta.
Los espectros de respuesta normalmente entregan el espectro en unidades de [g], por lo cual, se
debera dividir la mxima aceleracin absoluta, por 9,81.
Notar que el Mtodo = 1/6 de Newmark tiene criterio de convergencia, por lo cual, el mnimo
periodo a evaluar, debiese ser 39,0
tT
, luego asignar un paso ojal menor igual a 0,05 [s] en
incrementacin del periodo, hasta evaluar T = 3 [s].
A continuacin, se presentan los periodos mnimos a usar para cada registro y las condiciones
iniciales del problema:
PROHIBIDA SU REPRODUCCION TOTAL O PARCIAL
Apuntes de MatLab para Dinmica de Estructuras II Semestre 2012 USM Campus Santiago RevB // Ricardo Bustamante H.
Registro t [s] T mnimo a
usar[s]
Desplazamiento Inicial
Acelergrafo [m]
Velocidad Inicial
Acelergrafo [m/s]
Constitucin E-O 0,005 0,05 > 0,0128 -0,00011 -0,00144
Concepcin N-S 0,005 0,05 > 0,0128 -0,00035 0,01641
Angol E-O 0,01 0,05 > 0,0256 -0,00003 0,00099
Curic E-O 0,01 0,05 > 0,0256 0,00011 0,00036
Ya que el dato a evaluar es el periodo, el sistema se puede definir con una masa cualquiera y la
rigidez del sistema quedar en funcin de m y T: 2
2
Tmk
La obtencin del espectro para el ejemplo se realiza para cada tensin de fluencia desde
fy = 0,2 * W, con un paso de B * W, hasta la tensin de fluencia con la que el sistema se comporte
en forma lineal, es decir, hasta que en todos los puntos evaluados fs < fy.
El resultado para el registro de Constitucin se presenta en el grfico adjunto. No se parte de
perodos bajos puesto que la respuesta para intervalos de mucha rigidez distorsiona la
visualizacin de la respuesta para el rango de anlisis usual.
PROHIBIDA SU REPRODUCCION TOTAL O PARCIAL
Apuntes de MatLab para Dinmica de Estructuras II Semestre 2012 USM Campus Santiago RevB // Ricardo Bustamante H.
%ESPECTRO LINEAL DE ACELERACION
%Resetea todas las variables
DF=1; %Dgito Verificador dT=0.1;%Intervalo de periodos
ddd=2*DF/100; %Amortiguamiento dfy=0.2; %Paso deltaFy = dfy*W
%Se ingresa vector con distintos colores dados por las propiedades RGB,
que no estn definidos por defecto con una letra en MATLAB, con el fin de
graficar colores=[0.5 0.5 0.5;0.5 0 0.5;0 0.5 0.5;1 0.5 0;0.5 0.25 0;0.5 0 0;0 0.5
0];
%Se ingresa vector con los colores definidos por una letra en MATLAB,
para graficar color=['y';'b';'k';'m';'c';'r';'g'];
m=1000; %Masa del sistema (Este puede tomar cualquier valor >= 0 ) T=0.4:dT:3; %Rango de periodos para evaluar el espectro k=m*(2*pi./T).^2; %Clculo de la rigidez para cada periodo c=2*ddd*(2*pi./T)*m; %Clculo de la viscosidad para cada periodo
%Carga de los datos del acelerograma del registro de Constitucin registro=load('Constitucin.txt');
%El registro se encuentra en [g], se pasa a [m/s^2] registro=registro*9.81;
%Se mide el largo de datos del registro x=length(registro);
%Se obtiene el incremento de fuerza del registro, restando cada punto del
registro con su anterior dato, y todo ello multiplicado por la masa df=m*(-registro(2:x,:)+registro(1:x-1)); %deltaF = - m * g(t)
dt=0.005; %Paso de tiempo del registro para Constitucin
%Clculo de la rigidez efectiva, se crea un vector del mismo tamao que
la cantidad de periodos a evaluar K=k+3/dt*c+6/dt^2*m*ones(1,length(T));
%Valores iniciales para ingresar al while fs=0.2*m*9.8; %Valor dado para poder ingresar al while fy=0.2*m*9.8*ones(1,length(T)); %Fluencia inicial de 0,2*W j=0;%Iniciacin del contador
%Se crea un proceso repetitivo while, que seguir funcionando mientras algn fs alcance el valor de fluencia en algn punto del registro de la respuesta
PROHIBIDA SU REPRODUCCION TOTAL O PARCIAL
Apuntes de MatLab para Dinmica de Estructuras II Semestre 2012 USM Campus Santiago RevB // Ricardo Bustamante H.
while sum(max(abs(fs))~=fy)~=length(T); %Solo se saldr del while, si
todos los valores de fs en valor absoluto, son menores a la fluencia
evaluada
j=j+1; %Contador %Para la primera iteracin, la fluencia fue iniciada afuera del while if j~=1; fy=fy+dfy*m*9.8*ones(1,length(T)); %Incrementar Fy en 0,2*W end
%Iniciacin de matrices de posicin, velocidad, aceleracin y fs, en que cada columna representa un periodo y cada fila representa un instante de tiempo de la respuesta d=zeros(length(registro),length(T)); v=d; a=v; fs=a; %Condiciones iniciales del acelergrafo d(1,:)=-0.011/100; v(1,:)=-0.144/100; %Clculo de la aceleracin inicial del acelergrafo a(1,:)=(-m*registro(1)*ones(1,length(T))-c.*v(1,:)-k.*d(1,:))/m; %fs inicial fs(1,:)=0; %Primer fs con las condiciones iniciales fs(2,:)=k.*d(1,:);
%Newmark inelstico for i=1:x-1;%Ir recorriendo cada instante delta t %Clculo del incremento de fuerza dF=df(i)+c.*(3*v(i,:)+dt/2*a(i,:))+m*(6/dt*v(i,:)+3*a(i,:));
%El fs inicial es dado segn las condiciones iniciales, fuera del
for, los siguientes se calculan, segn las condiciones del paso anterior if i~=1; %Funcin por tramos, si fs + k*du en valor absoluto, es menor a la fluencia, el nuevo fs ser fs + k*du, sino, tomar el valor de fy si fs + k*du es positivo o -fy si es negativo
fs(i+1,:)=(fs(i,:)+k.*dd).*(abs(fs(i,:)+k.*dd)fy(j))-fy(j)*(fs(i,:)+k.*dd
PROHIBIDA SU REPRODUCCION TOTAL O PARCIAL
Apuntes de MatLab para Dinmica de Estructuras II Semestre 2012 USM Campus Santiago RevB // Ricardo Bustamante H.
end %Se obtiene el mximo valor de posicin en valor absoluto para cada
periodo Sd=max(abs(d));
%Clculo del Pseudo Espectro de Aceleracin PSa=Sd.*((2*pi)./T).^2;
%Grfica PSa v/s T para cada fluencia, de tal manera que cada curva,
quede con un %color distinto y/o grosor de lnea distinto. Notar que los espectros %se dividen por g, para que queden en unidades de [g] figure(1) if j=14 && j=7 && j=21 && j=28 && j=35 && j=42 && j
PROHIBIDA SU REPRODUCCION TOTAL O PARCIAL
Apuntes de MatLab para Dinmica de Estructuras II Semestre 2012 USM Campus Santiago RevB // Ricardo Bustamante H.
',num2str(0.2+7*dfy)]),char(['Fy/W = ',num2str(0.2+8*dfy)]),char(['Fy/W =
',num2str(0.2+9*dfy)]),char(['Fy/W = ',num2str(0.2+10*dfy)]),char(['Fy/W
= ',num2str(0.2+11*dfy)]),char(['Fy/W =
',num2str(0.2+12*dfy)]),char(['Fy/W = ',num2str(0.2+13*dfy)]),char(['Fy/W
= ',num2str(0.2+14*dfy)]),char(['Fy/W =
',num2str(0.2+15*dfy)]),char(['Fy/W = ',num2str(0.2+16*dfy)]),char(['Fy/W
= ',num2str(0.2+17*dfy)]),char(['Fy/W =
',num2str(0.2+18*dfy)]),char(['Fy/W = ',num2str(0.2+19*dfy)]),char(['Fy/W
= ',num2str(0.2+20*dfy)]),char(['Fy/W =
',num2str(0.2+21*dfy)]),char(['Fy/W = ',num2str(0.2+22*dfy)]),char(['Fy/W
= ',num2str(0.2+23*dfy)]),char(['Fy/W =
',num2str(0.2+24*dfy)]),char(['Fy/W = ',num2str(0.2+25*dfy)]),char(['Fy/W
= ',num2str(0.2+26*dfy)]),char(['Fy/W =
',num2str(0.2+27*dfy)]),char(['Fy/W = ',num2str(0.2+28*dfy)]),char(['Fy/W
= ',num2str(0.2+29*dfy)]),char(['Fy/W =
',num2str(0.2+30*dfy)]),char(['Fy/W = ',num2str(0.2+31*dfy)]),char(['Fy/W
= ',num2str(0.2+32*dfy)]),char(['Fy/W =
',num2str(0.2+33*dfy)]),char(['Fy/W = ',num2str(0.2+34*dfy)]),char(['Fy/W
= ',num2str(0.2+35*dfy)]),char(['Fy/W =
',num2str(0.2+36*dfy)]),char(['Fy/W = ',num2str(0.2+37*dfy)]),char(['Fy/W
= ',num2str(0.2+38*dfy)]),char(['Fy/W =
',num2str(0.2+39*dfy)]),char(['Fy/W = ',num2str(0.2+40*dfy)]),char(['Fy/W
= ',num2str(0.2+41*dfy)]),char(['Fy/W =
',num2str(0.2+42*dfy)]),char(['Fy/W = ',num2str(0.2+43*dfy)]),char(['Fy/W
= ',num2str(0.2+44*dfy)]),char(['Fy/W =
',num2str(0.2+45*dfy)]),char(['Fy/W = ',num2str(0.2+46*dfy)]),char(['Fy/W
= ',num2str(0.2+47*dfy)]),char(['Fy/W =
',num2str(0.2+48*dfy)]),char(['Fy/W = ',num2str(0.2+49*dfy)]),char(['Fy/W
= ',num2str(0.2+50*dfy)]),char(['Fy/W =
',num2str(0.2+51*dfy)]),char(['Fy/W = ',num2str(0.2+52*dfy)]),char(['Fy/W
= ',num2str(0.2+53*dfy)]),char(['Fy/W = ',num2str(0.2+54*dfy)]),1)
PROHIBIDA SU REPRODUCCION TOTAL O PARCIAL
Apuntes de MatLab para Dinmica de Estructuras II Semestre 2012 USM Campus Santiago RevB // Ricardo Bustamante H.
Superposicin modal
Plantear las ecuaciones del movimiento del marco de acero de un vano y cinco pisos analizado en clase, pero considerando las vigas flexuralmente deformables y columnas axial-flexuralmente deformables; suponer que todas las columnas tienen el mismo momento de inercia I=9230cm4 y rea 62cm2, y las vigas un momento de inercia I=12250cm4 mayor, que el primer piso es de 4m de altura y los restantes de 3.5m de altura; y que el vano es de 7.5m de luz. Las masas de los pisos, excepto el ltimo, son todas iguales, la del ltimo es solo el 65% de una de ellas, y se supone que estn concentradas a nivel de cada piso. Plantear la ecuacin condensando los grados de libertad no asociados a masas (los grados de libertad inerciales son solamente los 5 desplazamientos laterales de los pisos).
a) Determinar las formas modales, y calibrar la razn entre rigidez y masas de modo que el primer modo tenga un perodo 0.2s. Determinar la matriz de amortiguamiento de manera que este sea clsico, con 5% de amortiguamiento en todos los modos.
b) Obtener la respuesta a la excitacin de la componente ux del registro de Melipilla del
terremoto de 1985 (obtenerla del archivo Melip.m) a) integrando directamente con ode23 b) integrando directamente con aceleracin constante c) mediante superposicin modal con 2, 3 y 5 modos (integrando cada modo independientemente en la forma que quiera)
c) Determinar la estimacin CQC del mximo momento flector en la base de columna del primer piso, el mximo del esfuerzo axial de la columna, y el mximo de una combinacin lineal del momento y el esfuerzo axial (los mismos valores de los coeficientes de la combinacin).
d) Integrar la ecuacin:
22 gy y y u
considerando gu como el ux del registro de Melipilla del terremoto de 1985 del archivo
rec_melip.mat, y para los 5 valores de correspondientes a las frecuencias modales del marco de un vano y cinco pisos y obtener de esas respuestas los mximos que deberan ser valores de las correspondientes ordenadas espectrales. Aplicar superposicin modal espectral CQC para estimar los mximos de: a) El desplazamiento del primer piso b) El desplazamiento del quinto piso c) El desplazamiento relativo de entrepiso del tercer piso d) El corte basal e) El corte del tercer entrepiso
Comparar con los resultados de usar las coordenadas modales obtenidas para calcular los mximos exactos.
PROHIBIDA SU REPRODUCCION TOTAL O PARCIAL
Apuntes de MatLab para Dinmica de Estructuras II Semestre 2012 USM Campus Santiago RevB // Ricardo Bustamante H.
a) Matriz de Rigidez
Se requiere obtener la matriz de rigidez de un edificio de 5 pisos compuesto por columnas y vigas.
Las vigas se considerarn flexurablemente deformables y las columnas axial-flexurablemente
deformables. De esta manera los grados axiales de las vigas no se consideraran, utilizando una
matriz de rigidez reducida para vigas en posicin horizontal que no incluye los trminos axiales,
mientras que la matriz de rigidez de cada columna contiene todos los trminos.
Para mayor facilidad en el desarrollo se consideraran primero los grados de libertad que
representan el desplazamiento lateral de cada piso, para luego considerar el resto. De esta forma
los primero cinco trminos de la matriz de rigidez resultante sern los que se usarn para
determinar la respuesta a nivel de piso debido al registro.
La siguiente figura indica los grados de libertad globales considerados para el edificio de 5 pisos.
Vigas
La matriz de rigidez local se obtiene no considera los grados de libertad axiales, por lo que el
elemento queda como lo indica la figura:
Considerando la matriz elemental para una viga horizontal y tomando en cuenta slo los 4 grados
de libertad locales indicados, la matriz de rigidez local del elemento viga se expresa como
PROHIBIDA SU REPRODUCCION TOTAL O PARCIAL
Apuntes de MatLab para Dinmica de Estructuras II Semestre 2012 USM Campus Santiago RevB // Ricardo Bustamante H.
2 2
3
2 2
6 3 6 3
3 2 32
6 3 6 3
3 3 2
c vv
L L
L L L LE Ik
L LL
L L L L
Columnas
En relacin a la matriz de rigidez de la columna, se consideran todos los grados de libertad de la
matriz de rigidez elemental. De esta forma, se tiene que el elemento columna se expresa en
coordenadas locales como:
Considerando los grados de libertad locales de la columna, la matriz de rigidez local del elemento
columna se expresa como
3 2 3 2
2 2
3 2 3 2
2 2
12 0 6 12 0 6
0 0 0 0
6 0 4 6 0 2
12 0 6 12 0 6
0 0 0 0
6 0 2 6 0 4
c c c c c c c c
i i i i
c c c c
i i
c c c c c c c c
i i i i
c
c c c c c c c c
i i i i
c c c c
i i
c c c c c c c c
i i i i
E I E I E I E I
h h h h
E A E A
h h
E I E I E I E I
h h h hk
E I E I E I E I
h h h h
E A E A
h h
E I E I E I E I
h h h h
Se debe hacer la diferencia sobre la altura del primer piso con la del resto de los pisos, para lo cual
se generarn matrices de rigidez para el primer piso y para el resto. Todas las vigas tienen las
mismas propiedades, por lo cual no se har diferencia con las matrices de rigidez de stas.
Los valores a utilizar son
PROHIBIDA SU REPRODUCCION TOTAL O PARCIAL
Apuntes de MatLab para Dinmica de Estructuras II Semestre 2012 USM Campus Santiago RevB // Ricardo Bustamante H.
22038.902 29000ctonf
E ksicm
412250vI cm 750vL cm
262cA cm 49230cI cm
400 ,
350 ,i
cm parael primer pisoh
cm parael restodelos pisos
0.05i
Una vez realizado lo anterior, es necesario establecer la relacin entre los grados de libertad
locales y globales. Para ello se enumeran los elementos, con la finalidad de establecer los vectores
de conectividad que permitan ensamblar la matriz de rigidez del sistema. La figura que se indica a
continuacin establece la numeracin de los elementos. Se requieren 5 vectores de conectividad
para las 5 vigas y 10 vectores de conectividad para las 10 columnas.
El procedimiento descrito a continuacin se puede estandarizar utilizando indexacin, como
aparece en el Captulo de Anlisis Estructural del tutorial, pgina 23. Resolucin respuestas a la
excitacin de la componente ux del registro de Melipilla
PROHIBIDA SU REPRODUCCION TOTAL O PARCIAL
Apuntes de MatLab para Dinmica de Estructuras II Semestre 2012 USM Campus Santiago RevB // Ricardo Bustamante H.
% Matrices de rigidez barras
% vigas
kv=2*Ec*Iv/L^3*[6 3*L -6 3*L;
3*L 2*L^2 -3*L L^2;
-6 -3*L 6 -3*L;
3*L L^2 -3*L 2*L^2];
% columnas
EA=Ec*Ac; EI=Ec*Ic;
Kcp1 = [12*EI/hp1^3,0,-6*EI/hp1^2,-12*EI/hp1^3,0,-6*EI/hp1^2;
0,EA/hp1,0,0,-EA/hp1,0;
-6*EI/hp1^2,0,4*EI/hp1,6*EI/hp1^2,0,2*EI/hp1;
-12*EI/hp1^3,0,6*EI/hp1^2,12*EI/hp1^3,0,6*EI/hp1^2;
0,-EA/hp1,0,0,EA/hp1,0;
-6*EI/hp1^2,0,2*EI/hp1,6*EI/hp1^2,0,4*EI/hp1];
Kcp2 = [12*EI/hp2^3,0,-6*EI/hp2^2,-12*EI/hp2^3,0,-6*EI/hp2^2;
0,EA/hp2,0,0,-EA/hp2,0;
-6*EI/hp2^2,0,4*EI/hp2,6*EI/hp2^2,0,2*EI/hp2;
-12*EI/hp2^3,0,6*EI/hp2^2,12*EI/hp2^3,0,6*EI/hp2^2;
0,-EA/hp2,0,0,EA/hp2,0;
-6*EI/hp2^2,0,2*EI/hp2,6*EI/hp2^2,0,4*EI/hp2];
% Matrices de compatibilidad para cada barra
% vigas
a1=zeros(4,25); a1(1,6)=1; a1(2,7)=1; a1(3,8)=1; a1(4,9)=1;
a2=zeros(4,25); a2(1,10)=1; a2(2,11)=1; a2(3,12)=1; a2(4,13)=1;
a3=zeros(4,25); a3(1,14)=1; a3(2,15)=1; a3(3,16)=1; a3(4,17)=1;
a4=zeros(4,25); a4(1,18)=1; a4(2,19)=1; a4(3,20)=1; a4(4,21)=1;
a5=zeros(4,25); a5(1,22)=1; a5(2,23)=1; a5(3,24)=1; a5(4,25)=1;
% columnas
a6=zeros(6,25); a6(4,1)=-1; a6(5,6)=1; a6(6,7)=1;
a7=zeros(6,25); a7(4,1)=-1; a7(5,8)=1; a7(6,9)=1;
a8=zeros(6,25); a8(1,1)=-1; a8(2,6)=1; a8(3,7)=1; a8(4,2)=-1; a8(5,10)=1; a8(6,11)=1;
a9=zeros(6,25); a9(1,1)=-1; a9(2,8)=1; a9(3,9)=1; a9(4,2)=-1; a9(5,12)=1; a9(6,13)=1;
a10=zeros(6,25); a10(1,2)=-1; a10(2,10)=1; a10(3,11)=1; a10(4,3)=-1; a10(5,14)=1; a10(6,15)=1;
a11=zeros(6,25); a11(1,2)=-1; a11(2,12)=1; a11(3,13)=1; a11(4,3)=-1; a11(5,16)=1; a11(6,17)=1;
a12=zeros(6,25); a12(1,3)=-1; a12(2,14)=1; a12(3,15)=1; a12(4,4)=-1; a12(5,18)=1; a12(6,19)=1;
a13=zeros(6,25); a13(1,3)=-1; a13(2,16)=1; a13(3,17)=1; a13(4,4)=-1; a13(5,20)=1; a13(6,21)=1;
a14=zeros(6,25); a14(1,4)=-1; a14(2,18)=1; a14(3,19)=1; a14(4,5)=-1; a14(5,22)=1; a14(