Sunteți pe pagina 1din 39

Anlisis de Vibraciones Mecnicas por el mtodo de

los elementos nitos


Rolando Maroo Rodrguez
Instituto Tecnolgico de Veracruz
31 de enero de 2005
ndice
1. Introduccin 2
2. Vibracin de sistemas de varios grados de libertad 3
3. Matrices de masas 4
4. Matrices de masas para otros elementos 8
4.1. Elemento armadura . . . . . . . . . . . . . . . . . 8
4.2. Elemento marco . . . . . . . . . . . . . . . . . . . 10
4.3. Viga de Timoshenko . . . . . . . . . . . . . . . . 11
4.4. Tringulo de deformacin constante (CST) . . . . 11
5. Matrices de masa consistente vs masa agrupada 12
6. Anlisis de vibracin libre no amortiguada 12
7. Ejemplos del clculo de vibracin libre no amor-
tiguada 15
7.1. Viga empotrada . . . . . . . . . . . . . . . . . . . 15
1
7.2. Armadura bidimensional . . . . . . . . . . . . . . 19
8. Anlisis modal de sistemas no amortiguados por
elementos nitos 23
A. Ejercicios 29
B. Rutinas en Matlab 29
1. Introduccin
Una estructura se mueve cuando se le aplican cargas. Si la carga
es cclica, pero menor a un tercio de la primera frecuencia natural
de vibracin de la estructura, muy probablemente el problema
pueda clasicarse como esttico y entonces analizarse por los
mtodos correspondientes de elementos nitos. En cambio, si la
frecuencia de la carga es mayor, o se aplica de forma aleatoria, o
repentinamente, entonces sin lugar a dudas se requiere un anlisis
de tipo dinmico. Uno puede estar interesado en la ms alta acel-
eracin que ocurriera en una parte de la estructura, en los ms
altos esfuerzos, en si la estructura entrar o no en resonancia con
otras mquinas rotatorias, etc. Al igual que en el anlisis esttico,
un anlisis dinmico emplea una matriz de rigideces, pero tam-
bin matrices de masas y de amortiguamientos. De acuerdo con
lo anterior, el modelado dinmico por elementos nitos incluye
muchos aspectos del modelado esttico, as como otros muchos
conceptos adicionales.
En este trabajo se estudiar el clculo de las frecuencias naturales
de vibracin, la vibracin en estado estacionario y el anlisis de
respuesta transitoria. Tambin se incluir una discusin sobre
algunas herramientas necesarias para realizar estos anlisis, tales
como el uso de modos de vibracin, reduccin en el nmero de
grados de libertad e integracin en el tiempo.
Se incluyen varios ejemplos numricos ilustrando los diferentes
tipos de anlisis dinmicos ms comunes. Dada la gran canti-
dad de clculos que suelen realizarse al resolver un problema de
elementos nitos, se dan programas y rutinas en Matlab para
desarrollar los ejemplos presentados.
2
2. Vibracin de sistemas de varios grados de libertad
Es comn representar una estructura continua mediante un sis-
tema de varios grados de libertad con masas agrupadas como
se muestra en la Figura 1. En esta gura se representa un sis-
tema amortiguado, descrito por sus propiedades de masa, rigidez
y amortiguamiento (viscoso). Se requiere un total de ` coorde-
nadas para describir la posicin de las ` masas relativas a sus
posiciones de equilibrio esttico y entonces se dice que el sistema
tiene ` grados de libertad.
d
1
d
2
d
n
k
n
c
n
c
n+1
k
n+1
m
n
Figura 1: Sistema vibratorio de varios grados de libertad.
Suponiendo que puede obligarse a cada masa a moverse de su
posicin de equilibrio mediante un fuerza externa ,
i
(t) (i =
1. 2. . . . . :). y estableciendo el equilibrio de fuerzas, el movimien-
to del sistema estar gobernado por el siguiente sistema de ecua-
ciones simultneas:
:
1

d
1
(c
1
c
2
)
`
d
1
c
2
`
d
2
(/
1
/
2
)d
1
/
2
d
2
=,
1
(t)
:
2

d
2
c
2
`
d
1
(c
2
c
3
)
`
d
2
c
3
`
d
3
/
2
d
1
(/
2
/
3
)d
2
/
3
d
3
=,
2
(t)
.
.
.
.
.
.
:
N

d
n
c
n
`
d
n1
(c
n
c
n+1
)
`
d
n
/
n
d
n1
(/
n
/
n+1
)d
n
=,
n
(t)
(1)
El conjunto de ecuaciones (1) est formado por : ecuaciones
diferenciales de segundo orden, cada una de las cuales requiere
de un par de condiciones iniciales para poder resolver la respuesta
d
i
(t) del sistema completo. Es obvio que ninguna ecuacin puede
resolverse independientemente, pues se encuentran acopladas,
es decir, la respuesta d
i
(t) para una i particular depende del
movimiento de las otras coordenadas. Esta dependencia se ex-
presa en el hecho de que cada ecuacin en (1) incluyen trminos
que involucran ms de una coordenada. Un mtodo conveniente
y muy utilizado para expresar el sistema de ecuaciones en (1) es
utilizar matrices:
3
_

_
:
1
0 0
0 :
2
0
.
.
.
.
.
.
.
.
.
.
.
.
0 0 :
n
_

_
_

d
1

d
2
.
.
.

d
n
_

_
c
1
c
2
c
2
0
c
2
c
2
c
3
0
.
.
.
.
.
.
.
.
.
.
.
.
0 0 c:c
n+1
_

_
_

_
`
d
1
`
d
2
.
.
.
`
d
n
_

_
/
1
/
2
/
2
0
/
2
/
2
/
3
0
.
.
.
.
.
.
.
.
.
.
.
.
0 0 /
n
/
n+1
_

_
_

_
d
1
d
2
.
.
.
d
n
_

_
=
_

_
,
1
,
2
.
.
.
,
n
_

_
(2)
la ecuacin matricial anterior puede condensarse en una forma
ms compacta, como:
[`[
_

1
_
[C[
_
`
1
_
[1[ f1g = f1g (3)
3. Matrices de masas
El signicado fsico de una matriz de masas es del todo anlogo al
de una matriz de rigideces. La j-sima columna de una matriz de
rigideces de un elemento es el vector de cargas nodales que deben
aplicarse al elemento para mantener el campo de desplazamientos
creados por un valor unitario en el j-simo grado de libertad.
La j-sima columna de la matriz de masas de un elemento es
el vector de cargas nodales que debe aplicarse al elemento para
mantener el campo de aceleraciones creado por un valor unitario
en la segunda derivada con respecto al tiempo del j-simo grado
de libertad.
La ms sencilla (e histricamente la primera) forma de presentar
la masa de una estructura o elemento es por medio de partculas
de masa. Este proceso se llama agrupamiento de masas y re-
sulta en una matriz de masas diagonal o agrupada. Por ejemplo,
considere los desplazamientos laterales de un elemento barra de
dos nodos, de seccin transversal , longitud 1 y densidad de
masa j; por lo tanto, la masa del elemento es j1. Como se
muestra en la Figura 2, la masas agrupadas implican un campo
de desplazamientos discontinuo, en el cual las dos mitades del
elemento se trasladan separadamente. Las aceleraciones
1
y
2
de las respectivas mitades estn asociadas con las fuerzas 1
1
y
1
2
, cada una de ellas de acuerdo con la Segunda Ley de Newton
4
, = :c. Entonces, la matriz de masas agrupada [:[ del elemento
es
1 2
v
1
v
2
L
F
1
= A v
1
( )
L
2
F
2
= A
( )
L
2
v
2
F
1
F
2
Figura 2: Desplazamientos laterales de una barra y fuerzas de
inercia para la idealizacin de la masa.
[:[ =
j1
2
_
1 0
0 1
_
(4)
as que aplicando la Segunda Ley de Newton
[:[
_

1

2
_
=
_
1
1
1
2
_
(5)
Si el movimiento plano horizontal fuera permitido, el vector de
desplazamientos nodales sera fdg =
_
n
1

1
n
2

T
y la
matriz de masas quedara como
[:[ =
j1
2
_

_
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
_

_
(6)
Es ms razonable suponer una variacin lineal del desplazamien-
to lateral = (r) de un elemento barra de dos nodos. Esto re-
sulta en una distribucin lineal de la fuerza de inercia a lo largo
del elemento, como se muestra en la Figura 3, cuya intensidad
es j
1
y j
2
en los respectivos extremos. Tratando la fuerza
de inercia como una carga distribuida y aplicando las ecuaciones
de la esttica, se obtiene
1
1
= j1(
1
3

1

1
6

2
) y 1
2
= j1(
1
6

1

1
3

2
) (7)
5
1 2
v
1
v
2
L
F
1
F
2
dx
v A
( )
dx df= q = dx
q
1
q
2
Figura 3: Modelo de una barra con matriz de masa no diagonal.
Entonces la matriz de masas [:[ del elemento es
[:[ =
j1
3
_
1
1
2
1
2
1
_
o [:[ =
j1
0
_
2 1
1 2
_
(8)
de manera que se siga cumpliendo
[:[
_

1

2
_
=
_
1
1
1
2
_
Para movimiento plano general, el :
ij
en [:[ de la Ec. (8) de-
bera aplicarse tambin a los grados de libertad axiales n
1
y n
2
.
La matriz [:[ resultante debe ser de 4 4 y contendr ocho
coecientes diferentes de cero.
Para un elemento viga se deben agregar los grados de libertad
rotacionales o
1
y o
2
a la gura 9.3.1b; [:[ se convierte en una ma-
triz de 44. Las partculas de masa no tienen inercia rotacional,
as que el agrupamiento de masas para un elemento viga de cu-
atro grados de libertad produce una matriz de masa diagonal
como la siguiente:
[:[ =
j1
2
_

_
1 0 0 0
0 0 0 0
0 0 1 0
0 0 0 0
_

_
(9)
los dos coecientes :
11
= j1,2 y :
33
= j1,2 estn asociados
con las aceleraciones
1
y
2
. Si la masa tambin se asocia con
los grados de libertad rotacionales, se tendr la matriz de masa
6
[:[ =
j1
2
_

_
1 0 0 0
0
L
2
12
0 0
0 0 1 0
0 0 0
L
2
12
_

_
(10)
Puede decirse que los dos nuevos elementos agregados son el mo-
mento requerido para crear una aceleracin angular unitaria de
una barra de longitud 1,2 pivoteando en un extremo.
Para elementos en general o de conguracin ms compleja el
proceso anterior es inadecuado, de la misma manera que el mto-
do directo para obtener la matriz de rigideces falla cuando se
trata de un elemento arbitrario. Utilizando las fuerzas de inercia
como argumento en el trabajo virtual puede mostrarse que la
frmula general para la matriz de masa de un elemento es
[:[ =
_
V
[`[
T
[`[j d\ (11)
donde j es la densidad de masa, \ es el volumen del elemento y
[`[ es la matriz de funciones de forma del elemento en cuestin.
La Ec. (11) proporciona la matriz de masa consistente del ele-
mento, as llamada por que utiliza las mismas funciones de forma
que se usan para obtener la matriz de rigideces. Si la Ec. (11)
se aplica a un elemento barra de dos nodos con desplazamientos
laterales, se obtiene la Ec. (8). Si se aplica a un elemento viga en
dos dimensiones, cuyos desplazamientos laterales son cbicos en
r, la Ec. (11) da
[:[ =
j1
420
_

_
10 221 4 131
221 41
2
131 31
2
4 131 10 221
131 31
2
221 41
2
_

_
(12)
esta matriz opera en el campo de desplazamientos
fdg =
_

1
o
1

2
o
2

T
(13)
Todas las matrices anteriores representan correctamente la re-
sistencia a la aceleracin traslacional; ellas dieren en cmo la
resistencia angular es modelada. Sin importar si una matriz de
masa es diagonal o completa o si inercia rotacional es usada o
no con los grados de libertad rotacionales, la convergencia est
7
asegurada conforme se rena la malla si las matrices de masa del
elemento proporcionan la fuerza de inercia correcta en respuesta
a todas las posibles aceleraciones traslacionales del elemento. Si
los elementos son compatibles y completamente integrados y las
matrices de masas son consistentes, se garantiza que las frecuen-
cias naturales .
i
calculadas por un modelo de elementos nitos
sean el lmite superior de las frecuencias naturales del modelo
matemtico. Es decir, se garantiza que con subsecuentes re-
namientos de la malla, las frecuencias naturales convergern por
arriba de las del modelo matemtico.
La estructura de la matriz de masa [`[ del sistema completo se
forma con el ensamble de las matrices de masas [:[, de la misma
manera que la matriz de rigideces [1[ de la estructura se forma
con el ensamble de las matrices de rigideces [/[ de los elementos.
Una matriz de masas [`[ consistente tiene el mismo patrn de
ceros y no ceros que la correspondiente matriz de rigideces [1[.
El modelista debe ser cuidadoso con las unidades. Si las longi-
tudes estn en metros, , = :c da una fuerza en newtons, si
: est en kilogramos y la aceleracin c en metros por segundo
cuadrado.
4. Matrices de masas para otros elementos
4.1. Elemento armadura
A continuacin se muestra el proceso de obtencin de la matriz de
masas para el elemento armadura. En general, la matriz de masas
consistente est denida por la Ec. (11). Para una armadura
alineada con el eje horizontal r la matriz de funciones de forma
es
[`[ =
_
Lx
L
x
L

(14)
Aceptando que el elemento tiene una rea constante y por lo
tanto el d\ , de la integral dada en la Ec. (11) se transforma en
d\ = dr
[:[ = j
_
L
0
[`[
T
[`[ dr (15)
sustituyendo la matriz de funciones de forma [`[ en la ecuacin
anterior
8
[:[ = j
_
L
0
_
_
Lx
L
x
L
_
_
_
Lx
L
x
L

dr
[:[ =
_
L
0
_
_
_
Lx
L
_
2
_
Lx
L
_
x
L
_
Lx
L
_
x
L
x
2
L
2
_
_
dr
[:[ = j
_
1,3 1,0
1,0 1,3
_
(16)
[:[ =
j1
0
_
2 1
1 2
_
(17)
Esta ltima ecuacin da la matriz de masas del elemento ar-
madura orientado con el eje r. Para una orientacin arbitraria,
como la mostrada en la Figura 4, debe utilizarle la matriz de
transformacin de coordenadas
[1[ =
_

_
cos o scn o 0 0
scn o cos o 0 0
0 0 cos o scn o
0 0 scn o cos o
_

_
(18)
u
i
v
i
u
j
v
j
A, E

L
Figura 4: Elemento armadura general.
9
Adems, la matriz de masas debe expandirse para alojar las
nuevas coordenadas
i
y
j
[:[ =
j1
0
_

_
2 0 1 0
0 0 0 0
2 0 1 0
0 0 0 0
_

_
(19)
entonces, la nueva matriz de masas ser
[ :[ = [1[
0
[:[[1[ (20)
Realizando las operaciones necesarias se obtiene
[ :[ =
j1
0
_

_
2c
2
2c: c
2
c:
2c: 2:
2
c: :
2
c
2
c: 2c
2
2c:
c: :
2
2c: 2:
2
_

_
(21)
en donde c = cos o y : = scn o. Se deja al lector deducir la matriz
de masas agrupadas para el mismo elemento armadura, la cual
es
[:[ =
j1
2
_

_
c
2
c: 0 0
c: :
2
0 0
0 0 c
2
c:
0 0 c: :
2
_

_
(22)
en donde c y : tienen el mismo signicado que para la matriz de
la Ec. (21).
4.2. Elemento marco
El elemento marco es una combinacin de los elementos armadu-
ra y viga, como se muestra en la Figura 5, por lo tanto tiene tres
grados de libertad por nodo y sus matriz de masas consistente es
la superposicin de las matrices de la armadura y la viga como
se muestra:
10
+
=
A, E, L
u
1
u
2
Elemento armadura
E, I, L
v
1

1
v
2

2
Elemento viga
A, E, I, L
v
1

1
v
2

2
Elemento marco
u
1
u
2
Figura 5: Elemento marco creado a partir de la armadura y de
la viga.
[:[ =
_

_
2c 0 0 c 0 0
0 10/ 221/ 0 4/ 131/
0 221/ 41
2
/ 0 131/ 31
2
/
c 0 0 2c 0 0
0 4/ 131/ 0 10/ 221/
0 131
2
/ 31
2
/ 0 221/ 41
2
/
_

_
(23)
en la ecuacin anterior c =
AL
6
y / =
AL
420
. Los grados de libertad
que intervienen en esta matriz son fdg =
_
n
1

1
o
1
n
2

2
o
2

T
.
4.3. Viga de Timoshenko
Anteriormente, en la Ec. (12) se present la matriz de masa agru-
pada para un elemento viga con polinomio de desplazamientos
cbico. Ahora se presenta para la llamada viga de Timoshenko.
La matriz de masa para este tipo de viga est dada por:
[:[ =
j1
0
_

_
2 0 1 0
0 0 0 0
1 0 2 0
0 0 0 0
_

_
(24)
4.4. Tringulo de deformacin constante (CST)
Para el elemento tringulo como el mostrado en la Figura 6, el
cual es muy usando en esfuerzo plano y deformacin plana de
teora de elasticidad tiene la siguiente matriz de masa:
11
u
v
u
v
u
v
x
y
1
1
3
3
2
2
Figura 6: Elemento triangular de deformacin constante.
[:[ =
jt
12
_

_
2 0 1 0 1 0
0 2 0 1 0 1
1 0 2 0 1 0
0 1 0 2 0 1
1 0 1 0 2 0
0 1 0 1 0 2
_

_
(25)
5. Matrices de masa consistente vs masa agrupada
No resulta obvio cual tipo de matriz de masa, agrupada o consis-
tente, dar los mejores resultados en un problema de respuesta
dinmica. Las matrices de masa agrupadas se considera que son
una aproximacin por el hecho de que ellas no toman en cuen-
ta el acoplamiento dinmico existente entre los varios grados de
libertad del elemento. Sin embargo, puesto que este tipo de ma-
trices son diagonales requieren menor espacio de memoria en un
programa de computadora. Por otra parte, las matrices de masa
consistente no son diagonales y por ello requieren ms almace-
namiento. Tambin son una aproximacin en el sentido de que
las funciones de forma utilizadas para derivarlas considera un
patrn de desplazamientos esttico.
6. Anlisis de vibracin libre no amortiguada
Se considera vibracin libre cuando el vector de cargas f1g es
cero o constante. Las cargas reales usualmente estn asociadas
con masas, por lo que deben afectar a la matriz de masa global
12
[`[ en el correspondiente nodo. En el anlisis de vibraciones in-
teresa conocer las frecuencias naturales y los modos de vibracin
de una estructura sin importar cual de ellos pueda ser ms im-
portante en una aplicacin especca y sin importar tampoco
como se inici la vibracin de la estructura. Todos los grados
de libertad se mueven en fase unos con otros y a la misma fre-
cuencia. De acuerdo con lo anterior, todos los desplazamientos
dependientes del tiempo alcanzan su valor mximo en el mis-
mo instante. La vibracin calculada como se describe ms abajo
consiste de desplazamientos que varan de manera senoidal rel-
ativos a la conguracin promedio f1g
m
creada por las cargas
constantes f1g
c
. Si f1g
c
= 0, la conguracin promedio es una
sin esfuerzos. Simblicamente
f1g = f1g
m
f

1g scn .t donde f1g


m
= [1[
1
f1g
c
(26)
en donde f1g es el vector de amplitudes de vibracin nodales y .
es la frecuencia natural en radianes por segundo. Luego entonces
f

1g = .
2
f

1g scn .t. Sustituyendo esta informacin en la Ec.


(3) y haciendo la matriz de amortiguamiento [C[ = [0[, se obtiene
_
[1[ .
2
[`[
_
f

1g = f0g (27)
la cual es la ecuacin que gobierna la vibracin libre no amor-
tiguada. La Ec. (27) se conoce en matemticas como el prob-
lema de valores propios. Este problema tiene la solucin trivial
f

1g = f0g, sin embargo interesan las soluciones no triviales, las


cuales hay tantas como grados de libertad implicados en el vec-
tor f1g. La i-sima solucin no trivial consiste de una frecuencia
natural de vibracin .
i
y su modo asociado 1
i
. La frecuencia .
i
ms pequea es conocida como frecuencia fundamental de vi-
bracin de la estructura. Existen varios algoritmos para resolver
el problema de valores propios y que se detallan en el apndice.
Algunas caractersticas importantes del problema de valores pro-
pios y sus frecuencias y modos resultantes son las siguientes:
A diferencia del problema esttico, la estructura puede no
requerir apoyos o soportes. Una estructura que no est
apoyada o parcialmente apoyada tendr modos de cuer-
po rgido, es decir, desplazamientos en los que todas las
deformaciones son cero. Para cada modo de cuerpo rgi-
do la frecuencia natural es cero. Debe hacerse notar que
13
algunos algoritmos de solucin fallan si existen valores car-
actersticos cero, a menos que se haga un desplazamiento
de valores.
La Ec. (27) puede escribirse en la forma [1[f

1g
i
= .
2
i
[`[f

1g
i
,
la cual tiene la interpretacin fsica de que un modo de vi-
bracin es una conguracin donde las cargas elsticas son
balanceadas con las cargas inerciales.
La amplitud relativa de los grados de libertad en f

1g
i
dene la forma del modo de vibracin i pero las magni-
tudes de los grados de libertad no tienen signicado alguno.
Luego entonces, si c es una constante arbitraria (incluyen-
do c = 1), f

1g
i
y cf

1g
i
representan el mismo modo de
vibracin. Para nes de visualizacin el programa de ele-
mentos nitos puede normalizar cada modo de vibracin,
de manera que el grado de libertad ms grande sea igual
a 1. Una normalizacin muy comn, al menos para usos
tericos y de procesamiento interno es escalar cada modo
de f

1g
i
de manera que
f

1g
T
i
[`[f

1g
i
= 1 (28)
Si los esfuerzos se calcularan a partir de los desplazamientos
nodales, ellos podran ser muy grandes, causado lo anterior
por la escalacin de los desplazamientos.
Los vectores propios (en este caso, los vectores de formas
modales) son ortogonales con respecto a las matrices de
rigideces y de masas, esto es, para i 6= ,: f

1g
T
i
[`[f

1g
j
= 0
y f

1g
T
i
[1[f

1g
j
= 0.
A menos que existan cargas de impacto, de manera normal
slo los modos de vibracin ms bajos son importantes en
una estructura. Incluso, si el modelo tiene una gran can-
tidad de grados de libertad, slo se extraen de la Ec. (27)
las frecuencias y modos ms bajos.
Los modos ms bajos exhiben menos ondas que los mo-
dos altos; por lo tanto hay ms elementos por onda, por lo
que el error de discretizacin disminuye.
14
7. Ejemplos del clculo de vibracin libre no amortiguada
7.1. Viga empotrada
En el siguiente ejemplo se calcularn el primero y segundo modo
de vibracin por elementos nitos para una viga empotrada en
un extremo. La geometra y propiedades de la viga se dan en la
Figura 7. Los resultados de las frecuencias y las formas modales
se compararn con sus correspondientes modelos matemticos de
acuerdo a la teora de vigas esbeltas de Euler-Bernoulli [5, pg.
335].
0.6 m
E= 200 GPa A=2.4 x10
-4
m
2
I=2 x10
-9
m
4
Figura 7: Viga empotrada para calcular sus vibraciones libres.
La viga se dividi en seis elementos con siete nodos como se mues-
tra en la Figura 8a). Sin embargo la numeracin de los desplaza-
mientos nodales mostrada en ella, aunque es fcil de entender no
es cmoda para implantarse en un programa en Matlab. Puesto
que todos los desplazamientos globales deben guardarse en un
solo vector. Por ello, para nes de programacin, los desplaza-
mientos se numeraron de manera consecutiva, como se muestra
en la Figura 8b); esta es una forma comn de numerarlos, como
se muestra en [10].
1 2 3 4 5 6 7
(1) (2) (3) (4) (5) (6)
d
3
d
4
d
5
d
6
v
7
d
8
d
9
d
10
v
11
d
12
d
13
d
14
d
1
=0
d
2
=0
1 2 3 4 5 6 7
(1) (2) (3) (4) (5) (6)
v
2

2
v
3

3
v
4

4
v
5

5
v
6

6
v
7

7
v
1
=0

1
=0
a) Modelo de elementos finitos de la viga en voladizo
b) Modelo de elementos finitos de la viga en voladizo en Matlab
Figura 8: Modelo de elementos nitos de la viga empotrada.
Se realiz un programa en Matlab para desarrollar el anlisis de
vibracin libre de la viga empotrada. La Figura 9 muestra el dia-
15
grama de bloques del programa correspondiente. Como todo pro-
grama tpico del mtodo de los elementos nitos, puede dividirse
claramente en tres etapas: preprocesamiento, procesamiento y el
postprocesamiento, como se muestra en la misma gura. Ms
adelante se presenta el listado del programa desarrollado. Las
rutinas necesarias para que el programa se ejecute se incluyen
en el apndice de este trabajo, puesto que pueden utilizarse para
crear otros programas.
PARMETROS DEL
MODELO:
Nodos, elementos, etc
COORDENADAS Y
CONECTIVIDAD
PROPIEDADES DE LA
VIGA:
rea, elasticidad, etc
INICIALIZACIN DE
MATRICES:
Matrices globales a cero
CREACIN DE MATRICES
Y
ENSAMBLE DE MATRICES
GLOBALES: KG y MG
APLICAR CONDICIONES
DE FRONTERA:
Desplazamientos conocidos
CLCULO DE
FRECUENCIAS
2
Y
MODOS DE VIBRACIN
INCORPORAR
DESPLAZAMIENTOS
CONOCIDOS A LAS
FORMAS MODALES
CLCULO DE
FRECUENCIAS
SEPARACIN DE MODOS
GRAFICADO DE MODOS
DE
VIBRACIN
PREPROCESAMIENTO PROCESAMIENTO POSTPROCESAMIENTO
Figura 9: Diagramas de bloques para el programa en Matlab para
el anlisis de vibracin de la viga.
% VIBRABEAM
% programa para el analisis vibracion
% libre no amortiguada de una viga
% empotrada
%---------------------------------------------
% Entrada de parametros del modelo
nnodo= 7; %numero de nodos
ndofel= 2; %numero de dof por nodo
nnel= 2; %numero de nodos por elemento
totdof= nnodo*ndofel; %numero total de dof
nel= nnodo - 1; %numero de elementos
%---------------------------------------------
16
% definicion de las coordenadas nodales
xcoord= [0.0 : 0.1 : 0.6];
% conectividad de los elementos
nodos= [1 2; 2 3; 3 4; 4 5; 5 6;6 7];
%---------------------------------------------
% Establece que el nodo 1 estan empotrado
despcf(1,:)= [1 1 1];
%---------------------------------------------
% Definicion de las propiedades fisicas de los
% elementos del modelo
A= 2.4E-04*ones(nel,1); % area
I= 2E-09*ones(nel,1); % momento de inercia
Elast= 200E09*ones(nel,1); % Modulo de elasti-
% cidad
rho= 7840*ones(nel,1); % densidad del material
%---------------------------------------------
% Inicializacion de las matrices
MG= zeros(totdof, totdof);
KG= zeros(totdof, totdof);
index= zeros(nnel*ndofel, 1);
%---------------------------------------------
% Crea las matrices ke y me de los elementos
% y las ensambla en las matrices globales co-
% rrespondientes
for ie=1:nel
% Calcula la longitud del elemento en turno
L= xcoord(nodos(ie,2)) - xcoord(nodos(ie,1));
% Calcula las matrices de masas y de
% rigideces del elemento en turno
me= mcbeam24(rho(ie), A(ie), L);
ke= kbeam24(Elast(ie), I(ie), L);
% ensambla las matrices de los elementos en
% las matrices globales
index= runindex(nnel, ndofel, nodos(ie,:));
MG= asmmtx(MG, me, index);
KG= asmmtx(KG, ke, index);
end
17
%---------------------------------------------
% Aplica los desplazamientos conocidos a
% las matrices de masas y de rigideces
[KG, MG]= applybc02(KG, MG, despcf);
%%---------------------------------------------
% Calcula los valores y vectores caracteristicos
[fm, frec2]= eig(KG, MG);
% calcula las frecuencias naturales
frec= sqrt(frec2);
% ordena las frecuencias y los modos de menor a mayor
[frec,nc]= sort(diag(frec));
fm= fm(:, nc);
% END DEL PROGRAMA
Los resultados que se obtienen con el programa anterior pueden
compararse con el modelo terico de la viga, como se muestra a
continuacin:
frec. frec.
mef teorica % de
n (rad/s) (rad/s) error
1 142.4 142.4 0.00
2 892.6 892.4 0.02
3 2503.4 2498.8 0.18
4 4928.2 4896.6 0.65
5 8216.1 8094.4 1.50
En cuanto a las formas modales, a continuacin se presentan las
dos primeras de ellas comparadas contra el valor terico corre-
spondiente. Ambos modelos, el de elementos nitos y el torico
fueron normalizados con respecto al valor mximo de cada forma
modal.
nodo 1a forma 1a forma 2a forma 2a forma
modal modal modal modal
mef teorica mef teorica
1 0.00000 0.00000 0.00000 0.00000
2 0.04510 0.45101 -0.22503 -0.22483
3 0.16554 0.16554 -0.58964 -0.58909
18
4 0.33952 0.33952 -0.71367 -0.71294
5 0.54694 0.54694 -0.42272 -0.42214
6 0.77096 0.77096 0.21632 0.21655
7 1.00000 1.00000 1.00000 1.00000
La Figura 10 presenta las dos primeras formas modales gracadas
utlizando los valores obtenidos con el mtodo de los elementos
nitos.
0 0.1 0.2 0.3 0.4 0.5 0.6
-0.2
0
0.2
0.4
0.6
0.8
1
A
m
p
lit
u
d
d
e
la
f
o
r
m
a
m
o
d
a
l (
m
/
m
)
Primera forma modal
Posicin en la viga x(m)
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
Posicin en la viga x(m)
Segunda forma modal
A
m
p
lit
u
d

d
e

la

f
o
r
m
a

m
o
d
a
l
(
m
/
m
)
Posicin de la viga x(m) Posicin de la viga x(m)
Primera forma modal Segunda forma modal
A
m
p
l
i
t
u
d
d
e
l
a
f
o
r
m
a
m
o
d
a
l
(
m
/
m
)
A
m
p
l
i
t
u
d
d
e
l
a
f
o
r
m
a
m
o
d
a
l
(
m
/
m
)
Figura 10: Primera y segunda formas modales de la viga en
voladizo.
7.2. Armadura bidimensional
En este segundo ejemplo se calcularn las cuatro primeras fre-
cuencias naturales y sus correspondientes formas modales para
una armadura como la que se muestra en la Figura 11. Los tres
elementos horizontales en la parte inferior de la armadura estn
hechos de acero (1 = 30 10
6
lb/plg
2
, j = 0.28390 lb/plg
3
) y
un rea de 0.4 plg
2
. Todos los elementos restantes estn hechos
de alumino (1 = 10 10
6
lb/plg
2
, j = 0.09702 lb/plg
3
) con un
rea de 0.7 plg
2
.
En la Figura 12 se muestra la malla de elementos nitos que se
usa en el programa vibratruss02. Al igual que en el ejemplo ante-
rior, los nmeros entre parntesis indican los elementos mientras
que los nmeros en azul indican los nodos. Es decir, se cre una
malla de nueve elementos usando seis nodos.
% PROGRAMA: VIBRATRUSS02
% Analisis de vibracion libre de una armadura compleja
%---------------------------------------------
% Entrada de parametros del modelo
nnodo= 6; %numero de nodos
19
10 plg 10 plg 10 plg
10 plg
Figura 11: Armadura a modelar.
(1) (2) (3)
(4)
(5)
(6)
(7)
(8)
(9)
1 2 3 4
5 6
Figura 12: Malla de elementos nitos para la armadura.
ndofnd= 2; %numero de dof por nodo
nnel= 2; %numero de nodos por elemento
totdof= nnodo*ndofnd; %numero total de dof
nel= 9; %numero de elementos
%---------------------------------------------
% definicion de las coordenadas nodales, en
% este caso 6 nodos. coord= [ x y; ....]
coord= [ 0 0; % nodo 1
10 0; % nodo 2
20 0; % nodo 3
30 0; % nodo 4
10 10; % nodo 5
20 10]; % nodo 6
% conectividad de los elementos
% nodos= [ nodos inicial nodo final; ....]
nodos= [1 2; % elemento 1
2 3; % elemento 2
3 4; % elemento 3
20
1 5; % elemento 4
2 5; % elemento 5
5 6; % elemento 6
2 6; % elemento 7
3 6; % elemento 8
4 6]; % elemento 9
%---------------------------------------------
% Grados de libertad con desplazamientos cero
despcf(1,:)=[1 1 1]; % Nodo 1, articulado
despcf(2,:)=[4 1 1]; % Nodo 4, articulado
%---------------------------------------------
% Definicion de las propiedades fisicas de los
% elementos del modelo
A= 0.4*ones(1,3); % area
A(1,4:9)= 0.7*ones(1,6);
%I= 2E-09*ones(nel,1); % momento de inercia
Elast= 30E06*ones(1,3); % Modulo de elasti-
Elast(1,4:9)= 10E6*ones(1,6); % cidad
rho= (0.28396/386.4)*ones(1,3); % densidad del material
rho(1,4:9)= (0.09762/386.4)*ones(1,6);
%---------------------------------------------
% Inicializacion de las matrices
MG= zeros(totdof, totdof);
KG= zeros(totdof, totdof);
index= zeros(nnel*ndofnd, 1);
%---------------------------------------------
% Crea las matrices de los elementos y las incorpora
% en las matrices globales de rigideces y de masas
for ie=1:nel
i= nodos(ie,1);
j= nodos(ie,2);
dx= coord(j,1) - coord(i,1);
dy= coord(j,2) - coord(i,2);
L= sqrt(dx^2 + dy^2);
theta= atan2(dy, dx);
k= ktruss24(A(ie), Elast(ie), L, theta);
m= mctruss24(rho(ie), A(ie), L, theta);
index= runindex(nnel, ndofnd, nodos(ie,:));
KG= asmmtx(KG, k, index);
21
MG= asmmtx(MG, m, index);
end
%---------------------------------------------
% Aplica los desplazamientos conocidos a
% las matrices de masas y de rigideces
[KG, MG]= applybc02(KG, MG, despcf);
%%---------------------------------------------
% Calcula los valores y vectores caracteristicos
[fm, frec2]= eig(KG, MG);
% calcula las frecuencias naturales
frec= sqrt(frec2);
% Ordena las frecuencias y los modos de menor a mayor
[frec,nc]= sort(diag(frec));
fm= fm(:, nc);
%---------------------------------------------------------------------
% Normaliza las formas modales con respecto al maximo
v_max=abs(max(fm));
for i=1:size(fm,1)
fm(:,i)= fm(:,i)/v_max(i);
end
% END DEL PROGRAMA
Los resultados para las primeras cuatro frecuencias naturales se
muestran a continuacin
frec.
mef
n (rad/s)
1 8311.9
2 14743
3 15770
4 23131
Dado que en este ejercicio hay ms elementos y las formas modales
son ms complejas, se realiz un sencillo programa llamado gra-
pher (el cual se encuentra en el apndice) para gracar las formas
22
modales. En la Figura 13 se muestran los cuatro modos de vi-
bracin.
Modo de vibracin 3
= 15770 rad/s
Modo de vibracin 4
= 23131 rad/s
Modo de vibracin 1
= 8311 rad/s
Modo de vibracin 2
= 14743 rad/s
Figura 13: Primeros cuatro modos de vibracin de la armadura.
Este es un ejemplo ms completo que el de la viga, puesto que in-
tervienen ms materiales, ms secciones transversales, los cuales
pueden modicarse para explorar otras opciones. Tambin pueden
modicarse las condiciones de apoyo, mismas que haran cambiar
las frecuencias naturales.
8. Anlisis modal de sistemas no amortiguados por elementos
nitos
En esta seccin se presentar la dinmica de sistemas de varios
grados de libertad utilizando para ello coordenadas modales. Los
conceptos discutidos sern ilustrados con ejemplos numricos re-
alizados en Matlab.
Partiendo de la Ec. (3), en donde se ha hecho que la matriz de
amortiguamientos [C[ sea cero, se tiene:
[`[f1g [1[f1g = f1g (29)
Se desea conocer el movimiento natural del sistema, es decir, la
respuesta f1g sin ninguna fuerza de excitacin f1g. Se supone
que la respuesta adopta la forma:
23
f1g = fge
i!t
(30)
donde fdg es la forma modal (o vector caractersticos) y .
es la frecuencia natural del movimiento. En otras palabras, se
supone que el movimiento es puramente senoidal debido al amor-
tiguamiento cero del sistema. Entonces, la solucin general es una
combinacin lineal de cada modo, como
f1g = c
1
f
1
ge
i!
1
t
c
2
f
2
ge
i!
2
t
. . . c
n
f
n
ge
i!nt
(31)
donde cada constante (c
i
) se evala a partir de las condiciones
iniciales. Sustituyendo la Ec. (30) en la Ec. (29) con f1g = 0, se
obtiene
_
.
2
[`[ [1[
_
fge
i!t
= 0 (32)
_
.
2
[`[ [1[
_
= 0 (33)
_
[1[ .
2
[`[
_
= 0 (34)
donde .
2
es el valor caracterstico o propio del sistema. La Ec. (34)
producir las soluciones .
2
1
. .
2
2
. . . . . .
2
n
, ordenadas de manera que
.
2
1
.
2
2
. . . .
2
n
. Dado que la matriz de masas es denida
positiva y la matriz de rigideces es al menos semidenida positi-
va, todos los .
i
son no negativos.
Observe que cualquier frecuencia natural y su vector modal aso-
ciado fg
i
satisface la Ec. (32), entonces, sustituyendo en la
Ec. (32) y despus de algunas operaciones
.
2
i
[`[fg
i
= [1[fg
i
(35)
premultiplicando ahora la ecuacin anterior por un vector modal
diferente:
.
2
i
fg
T
k
[`[fg
i
= fg
T
k
[1[fg
i
(36)
donde el superndice 1 indica la transpuesta de una matriz o
vector. Tomando la transpuesta en ambos lados de la Ec. (36)
.
2
i
fg
T
i
[`[fg
k
= fg
T
i
[1[fg
k
(37)
24
en la ecuacin anterior, como las matrices de masas y rigideces
son simtricas se tiene que [`[
T
= [`[ y [1[
T
= [1[. Repitien-
do el proceso pero iniciando con .
2
k
y fg
k
y en la Ec. (32) y
premultiplicando por fg
i
.
2
k
fg
T
i
[`[fg
k
= fg
T
i
[1[fg
k
(38)
restando la Ec. (37) de la Ec. (38), se tiene
_
.
2
k
.
2
i
_
fg
T
i
[`[fg
k
= 0 (39)
si i 6= / (lo cual implica dos frecuencias naturales diferentes), se
puede concluir que
fg
T
i
[`[fg
k
= 0 (40)
sustituyendo este resultado en la Ec. (36), se obtiene
fg
T
i
[1[fg
k
= 0 (41)
Las ecuaciones (40) y (41) establecen las propiedades de ortog-
onalidad de los vectores modales con respecto a las matrices de
masas y rigideces del sistema. Las relaciones de ortogonalidad ex-
presadas en las ecuaciones (40) y (41) generalmente se conocen
como ortogonalidad ponderada.
Si i = / en la Ec. (39) entonces la Ec. (40) es igual a una con-
stante escalar diferente de cero, digamos :
i
. Luego entonces:
fg
T
i
[`[fg
i
= :
i
(42)
Si i = / en la Ec. (37), esto da:
fg
T
i
[1[fg
i
= .
2
i
:
i
= /
i
(43)
Las constantes :
i
y /
i
para el modo de vibracin i se conocen
como masa modal y rigidez modal, respectivamente.
Tal y como se ha mostrado, la amplitud de cualquier vector
modal (vector caracterstico) es completamente arbitraria, el vec-
tor modal puede expresarse de manera particular. Por ejemplo,
25
un criterio muy comn para normalizar el vector modal es es-
calar el vector de manera tal que :
i
sea igual a la unidad en la
Ec. (42). El procedimiento es el siguiente.
Como se desea escalar los vectores modales, se puede poner:
fcg
i
= c
i
fg
i
(44)
donde c
i
es la constante de escalacin para el vector fg
i
. Susti-
tuyendo en la Ec. (42) para obtener un valor de masa unitario
fcg
T
i
[`[fcg
i
= :
i
c
2
i
fg
T
i
[`[fg
i
= 1
c
2
i
:
i
= 1
c
i
= 1,
p
:
i
(45)
Se puede ver claramente de la Ec. (45) que la constante de nor-
malizacin requerida es el recproco de la raz cuadrada de la
masa modal. Esta normalizacin en particular producir
fcg
T
i
[`[fcg
i
= 1 y fcg
T
i
[1[fcg
i
= .
2
i
(46)
Una vez que todos los vectores de forma modal han sido nor-
malizados, se puede introducir la matriz de formas modales, o
simplemente la matriz modal como
[4[ = [fcg
1
fcg
2
fcg
3
. . . fcg
n
[ (47)
las columnas de la matriz modal est formada por las formas
modales de cada uno de los modos de vibracin de le estruc-
tura. Ahora, se puede introducir la siguiente transformacin de
coordenadas
f1g = [4[fjg (48)
en donde fjg = fj
1
j
2
j
3
. . . j
n
[
T
es el vector de coordenadas
modales. Sustituyendo la Ec. (48) en la Ec. (29) se obtiene
[`[[4[f jg [1[[4[fjg = f1g (49)
26
premultiplicando ahora ambos miembros de la Ec. (49) por [4[
T
se obtiene
[4[
T
[`[[4[f jg [4[
T
[1[[4[fjg = [4[
T
f1g (50)
de acuerdo con la ortogonalidad de los vectores modales dada en
la Ec. (46) se tiene
fjg [
r
.
2
ir
[fjg = [4[
T
f1g = f,
i
g (51)
en donde [
r
.
2
ir
[ es una matriz diagonal de dimensin : : con
los cuadrados de las frecuencias naturales del sistema.
La Ec. (51) pone de maniesto que el sistema original, dado por
la Ec. (29) puede desacoplarse cuando se utilizan coordenadas
modales. Tambin puede ponerse la Ec. (51) de la siguiente man-
era
j
i
.
2
i
j
i
= ,
i
(52)
en donde i = 1. 2. 3. . . . . : y ,
i
es el i-simo rengln del producto
[4[
T
1. Esta ecuacin es la forma modal de las ecuaciones de
movimiento. Estas ecuaciones tienen la ventaja de que permiten
hallar una solucin analtica independiente para cada uno de los
modos de vibracin del sistema.
Para encontrar la solucin de la Ec. (52) se aplica el mtodo de
la Transformada de Laplace:
$f j
i
.
2
i
j
i
g = $f,
i
g
j
i
(:) =
:j
i
(0) ` j
i
(0)
:
2
.
2
i

,
i
(:)
:
2
.
2
i
(53)
donde j
i
(0) y ` j
i
(0) estn relacionadas con las condiciones ini-
ciales del problema de la siguiente manera. De la Ec. (48) se
tiene
fd(0)g = [4[fj(0)g
as que, premultiplicando ambos lados de la ecuacin anterior
por [4[
T
[`[ y aprovechando los resultados de la Ec. (46)
fj(0)g = [4[
T
[`[fd(0)g (54)
27
de igual manera
f` j(0)g = [4[
T
[`[f
`
d(0)g (55)
Como se observa en la Ec. (53), la solucin de la ecuacin difer-
encial de segundo grado en coordenadas modales (Ec. (52)) est
compuesta de dos partes. La primera depende de las condiciones
iniciales de la vibracin y est representada en la solucin por los
dos primeros trminos. La segunda parte depende de la fuerza de
excitacin, dada por la integral de convolucin en la Ec. (53). En
general esta integral no es fcil de evaluar, excepto para fuerzas
de impulso y funciones escaln.
Referencias
[1] Blevins, R. D., 1984, Formulas for Natural Frequency and
Mode Shape, Krieger Publishing Co. U.S.A.
[2] Briggs, John M., Introduction to Structural Dynamics,
McGraw-Hill, 1964.
[3] Chandrupatla, Tirupathi R. y Belegundu, Ashok D.; Intro-
duccin al estudio del elemento nito en ingeniera, 2
a
Edi-
cin, Pearson, 1999.
[4] Cook, Robert D., Finite Element Modeling for Stress Analy-
sis, Wiley & Sons, 1995.
[5] Inman, Daniel J.; Engineering Vibration, Prentice-Hall,
1996.
[6] Kwon, Young W. y Bang Hyochoong, The Finite Element
Method Using Matlab, 2
nd
Edition, CRC Press 2000.
[7] Maroo R., Rolando; Apuntes del mtodo de los elementos
nitos, 2003.
[8] Meirovitch, Leonard, Analytical Methods in Vibrations,
MacMillan Publishg, Co., 1967.
[9] Rao, Singiresu S., Mechanical Vibration, Addison-Wesley
Publishing Co., 1990.
[10] Segerling, Larry
28
A. Ejercicios
1. Utilizando la Ec.(20), deduzca la matriz de masas agru-
padas para el elemento armadura.
2. Modique el programa vibrabeam, para calcular las cuatro
primeras frecuencias naturales y formas modales para una
viga libre-libre, con las mismas caractersticas de geometra
y material que la viga del ejemplo. Compare sus resultados
con el modelo terico correspondiente.
3. Modique el programa vibrabeam, para calcular las primeras
cuatro frecuencias naturales y formas modales para una vi-
ga doblemente empotrada, con las mismas caractersticas
de geometra y material que la viga del ejemplo. Compare
sus resultados con el modelo terico correspondiente.
4. Tomando como modelo el programa vibrabeam, desarrolle
un programa de computadora en Matlab para calcular la
vibracin axial de la barra mostrada en la Figura.
5. En el programa vibratruss02 cambie la matriz de masas
consistente de los elementos armaduras por la matriz de
masas agrupadas y compare los resultados obtenidos para
las frecuencias.
6. En el programa vibratruss02 cambie las condiciones de
apoyo en los nodos 1 y 4, de manera que slo se restringa
el movimiento vertical. Compare las frecuencias naturales
contra las del ejemplo. Compare la nueva forma modal 1,
a qu atribuye usted la diferencias?
7. En la siguiente gura se muestra una bicicleta cuyo cuadro
est hecho de acero tubular con dimetro exterior de 1plg y
espesor de pared de 0.062 plg. Cree un programa en el cual
use el elemento marco para determinar la primera frecuen-
cia natural de la bicleta. Realice dos modelos, el primero de
ellos considerando a la bicicleta como un marco libre-libre
y el segundo como simplemente apoyado en la direccin
vertical.
B. Rutinas en Matlab
function [m]= mctruss24(rho, A, L, theta)
% [m] = mctruss24(rho, A, L, theta)
29
16.27"
20"
36.4"
40.5"
10" 25.4"
%
% Crea la matriz de masas consistente para el ele-
% mento armadura de 2 nodos y 4 grados de libertad
% orientado arbitrariamente
%
% [m] - Matriz de masas consistente
% rho - Densidad del material del elemento
% A - Area del elemento
% theta- Angulo definido entre la horizontal y el
% elemento medido en radianes
%-------------------------------------------------
% se asegura que los parametros de la funcion sean
% positivos
rho= abs(rho);
A= abs(A);
L= abs(L);
%-------------------------------------------------
% Crea la matriz de masas consistente
c= cos(theta);
s= sin(theta);
m= [ 2*c*c 2*c*s c*c c*s;
2*c*s 2*s*s c*s s*s;
c*c c*s 2*c*c 2*c*s;
c*s s*s 2*c*s 2*s*s];
m= rho*A*L*m/6;
30
%-------------------------------------------------
function [m]= mltruss24(rho, A, L, theta)
% [m] = mltruss24(rho, A, L, theta)
%
% Crea la matriz de masas agrupadas para el ele-
% mento armadura de 2 nodos y 4 grados de libertad
% orientado arbitrariamente
%
% [m] - Matriz de masas agrupadas
% rho - Densidad del material del elemento
% A - Area del elemento
% theta- Angulo definido entre la horizontal y el
% elemento medido en radianes
%-------------------------------------------------
% se asegura que los parametros de la funcion sean
% positivos
rho= abs(rho);
A= abs(A);
L= abs(L);
%-------------------------------------------------
% Crea la matriz de masas agrupadas
c= cos(theta);
s= sin(theta);
m= [ c*c c*s 0 0;
c*s s*s 0 0;
0 0 c*c c*s;
0 0 c*s s*s];
m= rho*A*L*m/2;
%-------------------------------------------------
function [m]= mcbeam24(rho, A, L)
% [m]= mcbeam24(rho, A, L)
%
% Crea la matriz de masa consistente para el
% elemento viga de 2 nodos y 4 grados de libertad
% (traslacion y rotacion por cada nodo)
%
31
% rho - Densidad del elemento
% A - Area del elemento
% L - Longitud del elemento
%-------------------------------------------------
% se asegura que los parametros de la funcion sean
% positivos
rho= abs(rho);
A= abs(A);
L= abs(L);
%-------------------------------------------------
% Crea la matriz de masa consistente
coef= rho*A*L/420;
m= [ 156 22*L 54 -13*L;
22*L 4*L^2 13*L -3*L^2;
54 13*L 156 -22*L;
-13*L -3*L^2 -22*L 4*L^2];
m= coef*m;
%-------------------------------------------------
function [m]= mlbeam24(rho, A, L)
% [m]= mlbeam24(rho, A, L)
%
% Crea la matriz de masas agrupadas para el
% elemento viga de 2 nodos y 4 grados de libertad
% (traslacion y rotacion por cada nodo)
% rho - Densidad del elemento
% A - Area del elemento
% L - Longitud del elemento
%-------------------------------------------------
% se asegura que los parametros de la funcion sean
% positivos
rho= abs(rho);
A= abs(A);
L= abs(L);
% Crea la matriz de masas agrupadas
coef= rho*A*L/2;
m= diag([1 0 1 0],0);
m= coef*m;
32
%-------------------------------------------------
function [k]= ktruss24(A, E, L, theta)
% [k]= ktruss24(A, E, L, theta)
%
% Crea la matriz de rigideces para un elemento
% armadura de 2 nodos y 4 grados de libertad
%
% [k] - Matriz de rigideces del elemento
% A - Area de la seccion transversal
% E - Modulo de elasticidad
% L - Longitud del elemento
% theta - Angulo definido entre la horizontal y el
% elemento medido en radianes
%-------------------------------------------------
% se asegura que los parametros de la funcion sean
% positivos
E= abs(E);
A= abs(A);
L= abs(L);
%-------------------------------------------------
% Crea la matriz de rigideces
c= cos(theta);
s= sin(theta);
k= [ c*c c*s -c*c -c*s;
c*s s*s -c*s -s*s;
-c*c -c*s c*c c*s;
-c*s -s*s c*s s*s];
k= A*E*k/L;
%-------------------------------------------------
function [k]= kbeam24(E, I, L);
% [k]= kbeam24(E, I, L)
%
% Crea la matriz de rigideces para el elemento viga
% de 2 nodos y 4 grados de libertad % (traslacion y
% rotacion por cada nodo)
33
%
% E - Modulo de elasticidad del material del elemento
% I - Momento de inercia del elemento
% L - Longitud del elemento
%-------------------------------------------------
% se asegura que los parametros de la funcion sean
% todos positivos
E= abs(E);
I= abs(I);
L= abs(L);
%-------------------------------------------------
% Crea constantes para calcular la matriz
EI= E*I;
coef12= 12*EI/L^3;
coef06= 6*EI/L^2;
coef04= 4*EI/L;
coef02= 2*EI/L;
%-------------------------------------------------
% Arma la matriz de rigideces
k=[ coef12 coef06 -coef12 coef06;
coef06 coef04 -coef06 coef02;
-coef12 -coef06 coef12 -coef06;
coef06 coef02 -coef06 coef04];
%-------------------------------------------------
function [index]= runindex(nnel,ndof, nodos)
% [index]= runindex(nnel,ndof, nodos)
%
% calcula los numeros de los grados de libertad asociados
% con un elemento
%
% nnel - Numero de nodos en el elemento
% ndof - Numero de grados de libertad por nodos
% nodos - Vector con los nodos que forman el elemento
% index - Vector donde se almacenan los grados de libertad
% asociados con el elemento
nn= length(nodos);
index=[];
34
for i=1:nn
temp=[(nodos(i)-1)*ndof+1:nodos(i)*ndof];
index=[index temp];
end
%-------------------------------------------------
function [KG]= asmmtx(KG, k, index)
% [KG]= asmmtx(KG, k, index)
%
% Ensambla las matrices de los elementos para
% formar la matriz global. La matriz global puede
% ser la matriz de masa o la matriz de rigideces
%
% KG - Matriz global que se formara
% k - matriz de propiedeades del elemento
% (masas o rigideces)
% index - Vector de nodos de grados de libertad del
% elemento
%-------------------------------------------------
% calcula la cantidad de grados de libertad del
% elemento
edof= length(index);
%-------------------------------------------------
% Ensambla la matriz usando el metodo directo
for i=1: edof
ii= index(i);
for j=1: edof
jj= index(j);
KG(ii,jj)= KG(ii,jj) + k(i,j);
end
end
%-------------------------------------------------
function [KG, MG]= applybc02(KG, MG, nodocf)
% [KG, MG]= applybc02(KG, MG, nodocf)
%
% Aplica condiciones de frontera cero a los nodos
% establecidos en dofcf para resolver el problema
% de valores caracteristicos [KG]{x}= lamda[MG]{x}
35
%
% KG - Matriz de rigideces global
% MG - Matriz de masas global
% nodocf - Matriz donde se guardan los nodos que
% tienen desplazamiento cero y en que
% grado de libertad
%-------------------------------------------------
% Determina cuales desplazamientos valdran cero
[row, col]= size(nodocf);
dofcf= [];
for i=1:row
nodo= nodocf(i,1);
dof= ((nodo-1)*(col-1)+1: nodo*(col-1));
dof= dof.*nodocf(i,2:end);
dofcf= [dofcf nonzeros(dof)];
end
n= length(dofcf);
%-------------------------------------------------
% Pone en cero los elementos de las matrices glo-
% bales de rigideces y de masas
KG(dofcf, :)= 0;
KG(:, dofcf)= 0;
MG(dofcf, :)= 0;
MG(:, dofcf)= 0;
%-------------------------------------------------
% Pone unos en la matriz de masa en las posiciones
% de dofcf
for i=1:n
tmp= dofcf(i);
MG(tmp, tmp)= 1;
end
%-------------------------------------------------
function [w, Phi, Fmod]= amodal(KG, MG, FG)
%
% [w, Phi, Fmod]= amodal(K, M, F)
%
% Calcula los parametros modales de una estructu-
36
% ra dadas sus propiedades fisicas.
%
% w - Frecuencias naturales del sistemas, orde-
% nadas de la menor a la mayor
% Phi - Matriz de formas modales normalizadas con
% respecto a las masas modales
% Fmod- Vector de fuerzas modales
% KG - Matriz de rigideces globales de la es-
% tructura
% MG - Matriz de masas globales de la estructura
% FG - Vector de fuerzas externas globales de la
% estructura
%-------------------------------------------------
% Calcula los vectores y las frecuencias naturales
% al cuadrado
[Psi, frec2]= eig(KG, MG);
% Ordena las frecuencias naturales de menor a
% mayor
[frec2, j]= sort(diag(frec2));
% Ordena la matriz modal de acuerdo al orden de
% las frecuencias
Psi= Psi(:,j);
% Calcula las masas modales
mm= diag(Psi*MG*Psi);
% Calcula las frecuencias
w= sqrt(frec2);
% Calcula la matriz modal normalizada a las masas
Phi= Psi*inv(sqrt(diag(mm)));
% Calcula el vector de fuerzas modales
Fmod= Phi*FG;
%-------------------------------------------------
% GRAPHER
% Programa para graficar las formas modales de
% la armadura
37
%---------------------------------------------
% define el numero del modo
nm= 1; % numero del modo a graficar: 1,2,3,4
% define un factor de escala para magnificar
% la deformacion del modo
fs= 3;
%---------------------------------------------
% separa las coordenadas originales de los
% nodos
xorg= coord(:,1);
yorg= coord(:,2);
%---------------------------------------------
%extrae la posicion horizontal de la forma
% modal
x= fm(1:2:11, 4 + nm);
%extrae la posicion vertical de la forma
% modal
y= fm(2:2:12, 4 + nm);
%---------------------------------------------
% mgnifica los valores
x=xorg + fs*x;
y=yorg + fs*y;
%grafica la posicion original de los nodos
plot(xorg, yorg, *b)
% grafica la nueva posicion de los nodos
hold on
plot(x,y,*r)
%---------------------------------------------
% grafica los elementos, tanto originales como
% los de la forma modal
for i=1:nel
ni= nodos(i,1);
nf= nodos(i,2);
xel= [xorg(ni) xorg(nf)];
yel= [yorg(ni) yorg(nf)];
38
plot(xel,yel, --b)
xdef= [x(ni) x(nf)];
ydef= [y(ni) y(nf)];
plot( xdef, ydef, r)
end
39

S-ar putea să vă placă și