PROYECTO DE FIN DE CARRERA
INGENIERÍA INDUSTRIAL
Continuación numérica de oscilaciones
periódicas en un sistema mecánico de dos
grados de libertad
Autor:
Felipe Parejo Palop
Tutores:
Emilio Freire Macías
Alejandro J. Rodríguez Luis
Departamento de Matemática Aplicada II
Escuela Técnica Superior de Ingeniería,
Universidad de Sevilla
Sevilla, 2015
PFC Felipe Parejo Palop
Página | 3
Contenido
1. Introducción .................................................................................................................. 5
2. Flutter ............................................................................................................................ 7
3. AUTO .......................................................................................................................... 11
3.1. Órdenes para ejecutar en AUTO ............................................................ 12
3.2. Ficheros de salida ................................................................................... 14
3.3. Descripción de las constantes de AUTO ................................................ 14
4. Sistema de dos grados de libertad propuesto por Davide Bigoni ............................... 17
5. Análisis de la estabilidad del sistema (flutter) ............................................................ 25
5.1. Análisis del sistema lineal sin amortiguamiento .................................... 26
5.2. Análisis del sistema lineal visco-elástico ............................................... 27
5.3. Análisis del sistema real (no lineal) ....................................................... 30
6. Simulaciones ............................................................................................................... 35
6.1. Simulación del sistema lineal sin amortiguamiento ............................... 35
6.1.1. Simulación 1 ................................................................................... 36
6.1.2. Simulación 2 ................................................................................... 39
6.2. Simulación del sistema lineal visco-elástico .......................................... 42
6.2.1. Simulación 3 ................................................................................... 43
6.2.2. Simulación 4 ................................................................................... 45
6.2.3. Simulación 5 ................................................................................... 47
6.3. Simulación del sistema real (no lineal) .................................................. 48
6.3.1. Simulación 6 ................................................................................... 49
6.3.2. Simulación 7 ................................................................................... 51
6.3.3. Simulación 8 ................................................................................... 53
7. Conclusiones ............................................................................................................... 57
8. Anexo .......................................................................................................................... 59
8.1. Códigos del programa AUTO ................................................................ 59
8.1.1. Sistema lineal sin amortiguamiento ................................................. 59
8.1.2. Sistema lineal visco-elástico ............................................................ 64
8.1.3. Sistema real (no lineal) .................................................................... 68
8.2. Códigos del programa MATLAB ........................................................... 72
8.2.1. Sistema lineal sin amortiguamiento ................................................. 72
8.2.2. Sistema lineal visco-elástico ............................................................ 76
8.2.3. Sistema real (no lineal) .................................................................... 80
9. Bibliografía ................................................................................................................. 85
5
1. Introducción
Las inestabilidades del tipo flutter (aleteo) y divergencia son un fenómeno
poco estudiado y presente en multitud de estructuras elásticas. El objetivo del
presente trabajo es demostrar que este fenómeno puede ser inducido por la
fricción seca de Coulomb, en sistemas mecánicos elásticos. En nuestro caso
elegiremos un sistema de dos grados de libertad.
Así pues, en primer lugar, se desarrolla el concepto de este tipo de
inestabilidades y con qué sistema afrontaremos el estudio de dicho fenómeno.
También se explicará la diferencia entre las dos formas de inestabilidad (flutter o
aleteo y divergencia).
A continuación se detallará el programa informático de continuación
numérica AUTO, que usaremos para el estudio numérico de nuestro sistema.
Seguidamente describiremos con detalle el sistema elegido para el estudio,
con todas sus ecuaciones, suposiciones y condiciones. Serán descritas las
ecuaciones reales del sistema, así como diferentes linealizaciones de las mismas
con sus respectivas suposiciones.
Una vez descrito el sistema que se usará y todas sus ecuaciones y
condiciones, pasaremos al estudio de su continuación numérica con el programa
AUTO. Se verá el comportamiento del sistema y se comprobará la estabilidad y la
aparición de las inestabilidades de aleteo (flutter) y divergencia.
En la siguiente parte, se procederá a simular el sistema, para así comprobar
que su comportamiento corresponde con el esperado en el estudio llevado a cabo
de su inestabilidad. Se hará implementando todas las ecuaciones y parámetros del
problema en el programa de cálculo numérico MATLAB.
Para terminar, en la siguiente sección se detallarán las conclusiones más
reseñables que se extraen del presente trabajo.
Y ya por último, en el anexo, se incluyen todos los códigos utilizados para
la realización de la continuación y el cálculo numéricos llevados a cabo con los
programas antes citados respectivamente.
7
2. Flutter
Las inestabilidades de divergencia y flutter (aleteo) son un tipo de
inestabilidad que se pueden dar en multitud de estructuras y mecanismos elásticos.
Estas inestabilidades suelen ser provocadas por la interacción entre fuerzas
aerodinámicas, inerciales y elásticas que actúan sobre dichas estructuras o
mecanismos. Entre los casos más típicos de estructuras donde aparecen estas
inestabilidades podríamos nombrar los puentes, las piezas externas de un
vehículo… Sin embargo, estas inestabilidades también pueden darse en
estructuras elásticas sustituyendo la presencia de las fuerzas aerodinámicas por la
presencia de fuerzas inducidas por la fricción de Coulomb. Para el caso de
estructuras o piezas elasto-plásticas sometidas a las fuerzas de un fluido, existen
multitud de estudios publicados por diversos autores. Sin embargo, para el caso de
estructuras elásticas sometidas a fricción de Coulomb, nunca se habían
proporcionado evidencias experimentales claras de su existencia hasta que se
realizó el estudio en el que se basa este proyecto “Experimental evidences of
flutter and divergency instabilities induced by dry friction” de Davide Bigoni [1].
La fricción de Coulomb entre dos cuerpos en contacto que deslizan entre sí
es un claro ejemplo de fuerza viva, ya que actúa en el sentido contrario al
movimiento relativo entre los cuerpos. Además se sabe que está asociada a
diferentes tipos de inestabilidades dinámicas, entre las cuales se hallan las antes
mencionadas, las conocidas como flutter y divergencia. Su aparición en sistemas
estructurales elásticos con fricción de Coulomb ha sido ya demostrada
teóricamente. Sin embargo, el primero en aportar una evidencia experimental
clara ha sido Bigoni en su artículo antes mencionado. En este trabajo
profundizaremos en el análisis de la estabilidad de la estructura usada por Bigoni
en sus experimentos.
Para proporcionar dicha evidencia experimental y teórica de las
inestabilidades de aleteo (flutter) y divergencia en sistemas elásticos con presencia
de fricción de Coulomb seca, será clave encontrar una estructura elástica que sea
capaz de presentar dichas inestabilidades. Encontramos una estructura con esta
característica en la llamada columna de Ziegler (Ziegler 1953 y 1977) [2] y [3].
Esta estructura consiste en dos barras rígidas, internamente articuladas con un
muelle rotacional elástico, el extremo de una ellas se fija externamente mediante
otra articulación con muelle rotacional elástico y en el extremo que queda libre de
2. Flutter
Página | 8
la otra barra se aplica una carga seguidora tangencial. Por lo tanto, dicha carga
aplicada queda siempre coaxial a la barra en la que se aplica. Podemos ver el
esquema de dicha estructura en la Figura 2.1.
Figura 2.1. La columna de Ziegler, un sistema de dos grados de libertad sujeto a
una carga que sigue el movimiento del sistema (la fuerza P permanece siempre
aplicada en el punto C y en paralelo a la varilla BC), y que experimenta las
inestabilidades flutter y divergencia. Las dos varillas, de densidad lineal, son
rígidas y están conectadas a través de dos articulaciones con muelles
rotacionales.
La única posición de equilibrio para este sistema sería la solución trivial.
Dado que la fuerza aplicada es no conservativa, la estructura se vuelve
dinámicamente inestable a un cierto nivel de carga, evidenciando una
inestabilidad de aleteo y a mayor carga, inestabilidad de divergencia. Para
diferenciar un tipo de inestabilidad de la otra, podríamos decir que en el caso del
flutter, se produce un crecimiento oscilatorio del movimiento hasta alcanzar la
órbita periódica estable. Sin embargo, en la inestabilidad divergencia, el
crecimiento del movimiento se produce de manera exponencial, por lo que no se
producen oscilaciones hasta que se aproxima a la órbita periódica estable
correspondiente.
Por lo tanto, se elige la columna de Ziegler y se demuestra que con la
fuerza modelada como se ha descrito, las inestabilidades mencionadas están
ligadas a estructuras y sistemas mecánicos con fricción seca.
El análisis de sistemas similares ha sido llevado a cabo antes por otros
autores. Por ejemplo, podemos citar el caso de tener las masas concentradas en un
punto de las barras en lugar de distribuidas linealmente (Hermann 1971 y Ziegler
1977) [4], [2] y [3]. A su vez también ha sido analizado el problema análogo de
PFC Felipe Parejo Palop
Página | 9
una columna fija sometida en su extremo libre a una fuerza tangencial a su eje
(Beck 1952 y Pflüger 1955) [5] y [6].
Como hemos comentado antes, este tipo de fuerzas seguidoras y las
inestabilidades mencionadas pueden darse en aeroelasticidad como resultado de
complejas interacciones entre el fluido y la estructura. Para modelar
experimentalmente este tipo de fuerzas se habían usado antes otro tipo de
dispositivos, como por ejemplo mediante un fluido expulsado a través de una
boquilla (Herrmann y compañía 1966) [7] o un cohete (Sugiyama y compañía
1995 y 2000) [8] y [9], conectados en el extremo de la estructura. Sin embargo, el
difícil modelado teórico y experimental y las limitaciones que implicarían estos
dispositivos, imposibilitaría un análisis en el tiempo de las inestabilidades. Por lo
tanto, Bigoni [1] propone que la fuerza sea transmitida a través de una rueda de
masa despreciable que esté obligada a deslizar en un plano en la dirección de la
barra en la que se coloca y a rodar en la dirección perpendicular. Podemos ver el
esquema de la estructura en la Figura 2.2.
Figura 2.2. Aquí se muestra cómo se produce la fuerza seguidora axial a la barra
en la que se aplica a través de la fricción seca por el deslizamiento entre la rueda
y el plano.
Resumiendo, se consiguen extraer tres claras conclusiones. La primera,
que una fuerza seguidora puede ser modelada fácilmente mediante la fricción seca
y que las inestabilidades flutter y divergencia pueden aparecer haciendo uso de un
montaje experimental relativamente simple. La segunda, que las inestabilidades
flutter y divergencia pueden ser inducidas por la fricción seca. Y la tercera, que
analizando el desarrollo de la inestabilidad, al menos en el caso del flutter, el
sistema alcanza un movimiento periódico estable en el tiempo.
Por lo tanto, podemos concluir que tenemos un sistema de dos grados de
libertad que es una variante de la columna de Ziegler, donde la carga seguidora es
inducida por una fuerza de fricción seca según la ley de Coulomb que actúa sobre
2. Flutter
Página | 10
una rueda que desliza sobre un plano y que está colocada en el extremo libre de la
estructura. Podemos ver esto en la Figura 2.2. La rueda es lo que hace que la
fuerza se transmita siempre paralela a la barra, es decir, coaxial a su eje.
11
3. AUTO
Para el análisis de la estabilidad del sistema que estudiaremos usaremos un
programa llamado AUTO07P, el cual está diseñado para el estudio de la
continuación y las bifurcaciones en ecuaciones diferenciales ordinarias. Los
códigos se escriben en FORTRAN, que es un lenguaje de programación
especialmente desarrollado para cálculos numéricos y aplicaciones científicas y de
ingeniería.
Este programa calcula los autovalores en los puntos de equilibrio o los
multiplicadores característicos de las órbitas periódicas y evalúa unas funciones
test para detectar cada tipo de bifurcación que pueda surgir en cada punto de la
continuación.
Los códigos de programación usados, en los que se incluyen nuestras
ecuaciones y las constantes del problema usadas para los análisis realizados, se
encuentran en el anexo (sección 8) al final del presente trabajo. Después
pasaremos a detallar las órdenes para ejecutan los archivos y el significado de las
diferentes constantes con las que trabaja el programa, así como los resultados que
nos proporciona finalmente el programa AUTO.
Como entrada, el programa requiere dos ficheros, uno denominado big.f90
y otro denominado c.big, conteniendo cada uno un tipo diferente de información.
En el primero se recogen todas las ecuaciones y parámetros que definen nuestro
sistema. En el segundo se incluyen las diferentes constantes con las que queremos
que trabaje nuestro programa, como por ejemplo el número de dimensiones, el
número de parámetros a variar, las tolerancias…
Para trabajar con el programa tendremos que abrir una ventana para
ejecutar órdenes del sistema operativo Unix, donde escribiremos las órdenes que
queramos que sean ejecutadas por el programa. Antes de nada tendremos que
decir al programa el directorio en el que deberá trabajar. En esta ventana también
aparecerá un resumen de la ejecución llevaba a cabo.
3. AUTO
Página | 12
3.1. Órdenes para ejecutar en AUTO
@r @r big para ejecutar el código guardado en el fichero big.f90 en AUTO.
Toma los valores de las constantes del fichero c.big y arranca a partir de
las soluciones guardadas en el fichero s.big si ya existe. Es la forma más
simple de ejecutar AUTO.
@r big 01a 01b ejecuta el código guardado en el fichero big.f90 en AUTO.
Toma los valores de las constantes del fichero c.01b arranca a partir de las
soluciones guardadas en el fichero s.01a que debe haber sido creado
previamente.
@sv @sv big guarda los archivos de salida del programa fort.7, fort.8 y fort.9
como b.big, s.big y d.big, respectivamente. Los ficheros que existan con
anterioridad con esos mismos nombres serán borrados.
@ap @ap big anexiona los ficheros de salida fort.7, fort.8 y fort.9 a los
ficheros de datos existentes b.big, s.big y d.big, respectivamente.
@pp @pp big abre la ventana para visualizar las gráficas de los datos
guardados en los ficheros b.big y s.big.
@pp abre la ventana para visualizar las gráficas de los datos guardados en
los ficheros fort.7 y fort.8.
@ll @ll enumera todas las soluciones que aparecen en el fichero fort.8.
@ll big enumera todas las soluciones que aparecen en el fichero s.big.
@lb @lb big enumera, borra y reetiqueta las soluciones y las diferentes ramas
reflejadas en los ficheros de datos b.big y s.big.
@lb big 01a enumera, borra y reetiqueta las soluciones y las diferentes
ramas reflejadas en los ficheros de datos b.big y s.big. Los ficheros
modificados se guardan como b.01a y s.01a.
Ahora vamos a explicar brevemente las órdenes que ejecutaremos para
nuestro problema. En primer lugar ejecutamos simplemente la orden @r big y
seguidamente usaremos @sv 01a para guardar las soluciones en los ficheros
b.01a, s.01a y d.01a. Ahora querremos que nos continúe el cálculo a partir de la
bifurcación de Hopf encontrada, por lo que tendremos que cambiar los valores de
algunas de las constantes del archivo c.big y lo guardaremos con el nombre c.01b.
PFC Felipe Parejo Palop
Página | 13
A continuación, ejecutaremos la orden @r big 01a 01b para calcular las órbitas
periódicas.
BP (1) Punto de ramificación (sistemas algebraicos)
LP (2) Silla nodo (sistemas algebraicos)
HB (3) Bifurcación de Hopf
UZ (4) Punto de salida especificado por el usuario
UZ (-4) Parada en el punto de salida especificado por el usuario
LP (5) Silla nodo (ecuaciones diferenciales)
BP (6) Punto de ramificación (ecuaciones diferenciales)
PD (7) Bifurcación con período doble
TR (8) Bifurcación a toros
EP (9) Punto final, finalización normal
MX (-9) Finalización anormal, no convergencia
Tabla 3.1. Tipos de soluciones y sus códigos de identificación.
3. AUTO
Página | 14
3.2. Ficheros de salida
- Ventana principal: en la misma ventana donde ejecutamos AUTO aparecerá un
breve resumen del resultado de la compilación de los ficheros ejecutados.
Sólo se reflejarán los puntos de soluciones especiales y/o las soluciones
etiquetadas. Los códigos que identifican cada tipo de solución reflejada en
esta ventana se muestran en la Tabla 3.1. Los códigos numéricos se usan
internamente en los ficheros fort.7 y fort.8.
- fort.7: este fichero de salida contiene el diagrama de bifurcaciones. En él se
encuentran los valores de los parámetros que intervienen en la
continuación de todas las órbitas etiquetadas y los puntos de bifurcación.
- fort.8: este fichero contiene los valores de las variables de estado del sistema a lo
largo de un período de todas las órbitas etiquetadas y/o seleccionadas.
- fort.9: este fichero contiene la evolución de todos los autovalores y
multiplicadores de todas las órbitas continuadas.
3.3. Descripción de las constantes de AUTO
Ahora definiremos las diferentes constantes que debemos dar al programa
para que ejecute el fichero con las ecuaciones y parámetros del sistema según las
especificaciones que deseemos. Estas constantes vienen recogidas en un fichero
con formato libre llamado c.big. Ahora detallaremos sólo aquellas constantes que
vamos a querer definir o variar para el caso de nuestro problema.
NDIM dimensión del sistema de ecuaciones recogido en el fichero big.f90.
IPS define el tipo de problema.
IPS=1 detección de soluciones estacionarias de equilibrio de las
ecuaciones diferenciales ordinarias y detección de bifurcaciones
de Hopf.
IPS=2 cálculo de soluciones periódicas, en nuestro caso partiremos de
una bifurcación de Hopf.
PFC Felipe Parejo Palop
Página | 15
IRS indica la etiqueta de la solución en la cual queremos que arranque el
cálculo.
IRS=0 se usa para la primera ejecución de un nuevo problema.
IRS>0 cuando ya hemos ejecutado el programa al menos una vez y
tenemos un fichero con soluciones indica la etiqueta de la solución
de la cual queremos que arranque el cálculo.
ICP parámetros que varían en la continuación de nuestro problema.
NTST número de puntos en el mallado de la solución periódica.
NMX número máximo de pasos.
NPR sirve para que se muestre y guarde una solución cada NPR pasos.
DSMIN tamaño mínimo de paso.
DSMAX tamaño máximo de paso.
NPAR máximo número de parámetros.
UZR permite seleccionar valores exactos de los parámetros que varían,
recogiendo y mostrando sus soluciones en las diferentes salidas del
programa (en la ventana principal y el fichero fort.8).
UZSTOP indica el valor del parámetro para el que el cálculo debe pararse y
finalizar.
17
4. Sistema de dos grados de libertad
propuesto por Davide Bigoni
Como ya nos indica Bigoni en su artículo, la inestabilidad aleteo puede ser
inducida por cargas seguidoras en estructuras elásticas y el caso que toma como
ejemplo es el denominado columna de Ziegler. Se trata de un sistema de dos
grados de libertad que consta de dos varillas rígidas de una determinada masa
(consideramos su densidad lineal ρ) dispuestas tal como se indica en la Figura 2.1,
donde dos muelles rotacionales de rigidez y proporcionan la elasticidad. La
posición del sistema queda determinada por las coordenadas lagrangianas y .
La carga se supone positiva cuando es de compresión y mantiene en todo
momento una dirección paralela a la barra BC.
La fuerza seguidora (de la estructura mostrada en la Figura 2.1) se
transmite a nuestra estructura mediante una rueda de masa despreciable colocada
en el extremo libre de forma que está obligada a deslizar sobre un plano en la
dirección de la segunda barra y rueda en la dirección perpendicular a la barra
(véase Figura 2.2).
El hecho es que una rueda ideal (sin masa, con rotación totalmente libre,
sin fricción de rodadura con su eje de giro y que se toca en un solo punto de su
circunferencia con el plano rígido) solo puede transmitir una fuerza axial y Bigoni
demuestra que estas condiciones pueden ser aproximadas con éxito en
experimentos reales, ya que las pequeñas desviaciones de los experimentos
respecto al modelo ideal no son lo suficientemente considerables para distorsionar
las inestabilidades del sistema.
Se analiza entonces la estructura mostrada en la Figura 2.1, bajo las
siguientes hipótesis:
(i) la rueda es de masa nula, de rotación totalmente libre y que toca el
plano horizontal en un punto;
(ii) las articulaciones son visco-elásticas, siendo la configuración recta la
posición neutra;
(iii) la fuerza seguidora es transmitida por fricción entre la rueda situada en
el extremo de la estructura y un plano que se desplaza a velocidad
;
4. Sistema de dos grados de libertad propuesto por Davide Bigoni
Página | 18
(iv) no existe fricción de rodadura en la rueda.
Con las cuatro hipótesis introducidas (i) - (iv) el sistema se aproxima
enormemente al sistema experimental montado por Bigoni, lo cual ha sido
verificado por él mismo de forma experimental y teórica. Por lo tanto, nada de
esto cambia el comportamiento cualitativo del sistema, que se verá muy bien
representado con supuestos simples, aunque obviamente otros modelos más
complejos deberían dar resultados más exactos cuantitativamente hablando.
Con un sencillo análisis estático de la estructura mostrada en la Figura 2.1
es fácil concluir que sólo la configuración trivial satisface las condiciones de
equilibrio estático, es decir, . De hecho, el equilibrio de la barra BC
sólo es posible si y el equilibrio del conjunto ABC precisa , de
modo que la conclusión es clara.
Ahora obtendremos las ecuaciones de movimiento del sistema. Para ello
usaremos los vectores de posición del punto C y de los centros de gravedad de las
barras, G1 y G2. Las coordenadas son las mostradas en la Figura 2.1.
I
donde y son los vectores unitarios de nuestro sistema de referencia. Así
pues, la fuerza seguidora de módulo puede quedar expresada como
II
cuyo modulo viene dado por la ley de fricción de Coulomb:
III
y donde es la reacción vertical de la rueda sobre el plano, y son los
coeficientes de fricción estático y dinámico respectivamente y es la
componente radial ( ) de la velocidad relativa de la
rueda sobre el plano móvil ( ). Y llamando a la velocidad de la rueda (punto C
de la estructura según la Figura 2.1) respecto al origen , se puede escribir:
PFC Felipe Parejo Palop
Página | 19
,
. IV
Para la realización práctica del experimento, se proporcionará la reacción
vertical mediante el uso de una estructura similar a una palanca, a la que se le
aplica una carga constante de valor , tal y como se muestra en la Figura 4.1.
Figura 4.1. La estructura se usa a modo de palanca para proporcionar la
reacción vertical R a través de una carga muerta W.
Así pues, la reacción vertical en función de la carga queda del
siguiente modo:
V
donde es la longitud del brazo de la palanca en el cual se aplica la carga y el
denominador es la longitud variable del otro brazo en el cual aparece la fuerza de
reacción vertical .
Se ha supuesto que las articulaciones son visco-elásticas con constantes de
rigidez y y constantes de amortiguamiento y , por lo que los momentos
aplicados en las barras quedarían de la forma para la barra 1 y de la
forma para la barra 2.
4. Sistema de dos grados de libertad propuesto por Davide Bigoni
Página | 20
Aplicando el principio de los trabajos virtuales (PTV) y denotando los
desplazamientos (rotaciones) virtuales como y obtenemos la siguiente
ecuación:
VI
Asumiendo la arbitrariedad de las coordenadas virtuales y que
nos proporciona el PTV llegamos a las siguientes dos ecuaciones diferenciales no
lineales
VII
que rigen el comportamiento dinámico del sistema. Debido a que la ley de fricción
definida en la ecuación III es una función discontinua de diferentes valores,
pueden aparecer dificultades numéricas en los cálculos. Para paliar este problema
se aproxima el coeficiente de fricción de la siguiente manera:
VIII
donde es un pequeño parámetro, .
Un análisis completamente elástico de la estructura ( ), válido
para posiciones cercanas a la solución trivial ( ), puede ser
implementado en el sistema diferencial no lineal obtenido en las ecuaciones VII.
A través de un desarrollo en serie de Taylor obtendríamos:
IX
PFC Felipe Parejo Palop
Página | 21
Además consideramos que en todo momento, condición que se
verifica sin duda en condiciones de flutter, y que es lo suficientemente elevado
para satisfacer que . Con estas condiciones
podemos trabajar ya con una versión completamente lineal de las ecuaciones VII.
X
donde P es ahora independiente de y se obtiene de la siguiente expresión:
XI
Continuando con la linealización de la ecuación XI, buscamos las
vibraciones armónicas en el tiempo de manera que podríamos concluir que:
• la inestabilidad aleteo aparece cuando , con
XII
donde y
• la inestabilidad divergencia cuando .
Por último, expondremos las ecuaciones del sistema linealizado sin
despreciar las viscosidades, obteniendo así unas ecuaciones diferenciales lineales
del sistema visco-elástico. Estas ecuaciones son mucho más reales que las
anteriores, pues al tener en cuenta el amortiguamiento el sistema se verá frenado
por este efecto, siendo más viable una estabilidad tanto en la posición de
equilibrio como en una órbita periódica. Si bien las hipótesis referidas a las
velocidades siguen siendo las mismas cuando planteamos las ecuaciones, a saber:
en todo momento y . Sin embargo, más
adelante veremos que en casi ningún momento se cumplen estas condiciones, por
lo que procederemos a variar el modelo y explicar dichas modificaciones en la
sección 5. Las ecuaciones quedan como sigue:
4. Sistema de dos grados de libertad propuesto por Davide Bigoni
Página | 22
XIII
Con estas ecuaciones esperamos obtener un análisis mucho más próximo
al que obtendríamos analizando el sistema real no lineal que el que obtendríamos
con el sistema lineal elástico despreciando las viscosidades ( ).
Longitud de las barras 100 mm
100 mm
50 mm
125 mm
Características de las articulaciones 0.189 N·m
0.189 N·m
0.006 N·m·s
0.006 N·m·s
Datos generales 1.84 gr/mm
0.61
0.47
Tabla 4.1. Valores de los parámetros del sistema.
PFC Felipe Parejo Palop
Página | 23
Bigoni llega a concluir que, en el caso de que aparezca una pequeña
desviación en la colinealidad de la fuerza seguidora aplicada con la barra en la
que ésta es aplicada, el modelo es lo suficientemente robusto respecto a esta
desviación, por lo que no se suprimen los fenómenos de inestabilidad de aleteo y
divergencia.
El análisis del sistema linealizado nos lleva a la conclusión ya conocida de
que, si bien la inestabilidad divergencia corresponde a un movimiento creciente
exponencialmente en el tiempo, la inestabilidad aleteo corresponde a una
oscilación auto-excitada en el tiempo.
Para poder comenzar con el análisis del sistema y con las simulaciones del
mismo, faltaría por elegir los valores de los diferentes parámetros que aparecen en
nuestras ecuaciones. El significado de cada parámetro ya ha sido explicado, y sus
valores vienen detallados en la Tabla 4.1.
25
5. Análisis de la estabilidad del sistema
(flutter)
En esta sección procederemos a analizar el comportamiento del sistema
cuando varía el parámetro (el contrapeso), el cual determina de forma
proporcional la magnitud de la fuerza de rozamiento tal y como se expresa en las
ecuaciones III y V de la sección 4 del presente proyecto. Para realizar dicho
análisis hacemos uso del programa de continuación AUTO, el cual ya ha sido
explicado en la sección 3. Con este programa podremos buscar el valor de para
el que la posición de equilibrio se hace inestable. A partir de ese valor de , lo
que debemos esperar según los experimentos llevados a cabo por Bigoni es una
órbita periódica en las variables de estado del sistema, sin embargo veremos que
esto no siempre ocurre según cómo modelemos el sistema.
El sistema que analizaremos consta de cuatro ecuaciones y dos grados de
libertad, por lo que en su estudio tendremos dos pares conjugados de autovalores.
Lo que esperaremos de ellos es que mientras el sistema sea estable, los dos pares
de autovalores tengan su parte real negativa (y parte imaginaria distinta de cero).
A medida que aumentemos uno de ellos deberá ir acercándose al eje
imaginario. En el momento que este par pase a la zona de parte real positiva, será
cuando el sistema se vuelva inestable en su posición de equilibrio y aparecerá la
órbita periódica estable, es decir, el flutter. Si seguimos aumentando , lo que
encontraremos será que, a partir de cierto valor, el par de autovalores con parte
real positiva comenzará a acercarse al eje real. Cuando estos dos autovalores
complejos dejen de serlo y solo tengan parte real, será el momento en el que
aparecerá la inestabilidad de divergencia. Esto ocurre para el sistema real (no
lineal) y para el sistema lineal visco-elástico, sin embargo no ocurre para el
sistema lineal sin amortiguamiento. Lo veremos con más detalle en esta sección.
Durante este apartado nos centraremos únicamente en una zona de valores
de cercana al punto donde aparece la inestabilidad (flutter), mientras que para
la aparición de la inestabilidad divergencia sería para valores mucho más altos de
.
5. Análisis de la estabilidad del sistema
Página | 26
5.1. Análisis del sistema lineal sin amortiguamiento
Comenzaremos estudiando el sistema linealizado despreciando el
amortiguamiento o viscosidad de las articulaciones, que corresponde con las
ecuaciones X y XI de la sección 4 de este trabajo.
En primer lugar haremos uso de la ecuación XII, que nos predice un valor
para la aparición del flutter de . Usando el programa AUTO,
encontramos que la posición de equilibrio se vuelve inestable (aparición del
flutter) también a partir de . Por lo tanto ambas previsiones
coinciden.
Lo que esperábamos encontrar a partir de este punto sería una órbita
periódica tal y como sucede en los experimentos llevados a cabo por Bigoni, sin
embargo vemos claramente que no es así. Además, observamos que el sistema no
tiende a la posición de equilibrio cuando no se encuentra en ella, ni siquiera en la
zona donde la posición de equilibrio es estable. Veamos el porqué analizando la
evolución de los polos del sistema, lo cual representamos en la Figura 5.1.
Observamos que el sistema nunca es realmente estable, pues ningún polo
tiene en ningún momento su parte real negativa. Esto significa que la única forma
de que el sistema tienda a la posición de equilibrio es que se encuentre ya en ella.
Esto se debe a la eliminación del amortiguamiento, por lo que el sistema oscilaría
alrededor de la posición de equilibrio cuando se encuentre en la zona de valores
de para los que el sistema es estable.
Vemos que los cuatro polos se encuentran inicialmente en el eje
imaginario y que un par conjugado se va acercando al otro a medida que se
incrementa . El punto en el que se encuentran y pasan de ser dos pares de polos
conjugados a un solo par conjugado doble es cuando , punto en el
que la parte imaginaria de los polos vale . A partir de ese punto un par de
polos conjugados se adentra en la zona de parte real negativa y el otro par en la
zona de parte real positiva.
Es a partir de este punto cuando debería aparecer el fenómeno del flutter,
que no es otra cosa que una órbita periódica estable. Sin embargo, no encontramos
ninguna órbita periódica, si no que las oscilaciones del sistema van creciendo de
forma exponencial indefinidamente. Esto no es lo que cabría esperar, por lo que
probamos a eliminar la condición impuesta en la linealización de que la velocidad
relativa placa/rueda es siempre positiva ( ) haciendo posible un cambio en
el sentido de dicha velocidad y, por lo tanto, en el sentido de la fuerza de fricción.
PFC Felipe Parejo Palop
Página | 27
Sin embargo, a pesar de ello, sigue ocurriendo lo mismo. Por tanto, podríamos
concluir que esta diferencia con los experimentos realizados se deba a la
linealización realizada. También ocurre que el valor de hallado no se
corresponde con la realidad, ni con el obtenido más adelante con sistemas de
ecuaciones más reales que el usado en esta ocasión.
Figura 5.1. Evolución de los polos del sistema lineal despreciando la viscosidad.
Los polos del sistema son dos pares de polos conjugados. Se representa en azul la
parte imaginaria y en rojo la parte real de dichos polos.
Por todo esto procederemos a analizar también el sistema linealizado sin
despreciar la viscosidad y el sistema real para, a continuación, comparar los
resultados.
5.2. Análisis del sistema lineal visco-elástico
El sistema que analizaremos a continuación es el sistema linealizado, pero
sin despreciar la viscosidad o amortiguamiento de las articulaciones. Las
ecuaciones correspondientes son las ecuaciones XI y XIII de la sección 4 del
presente proyecto.
5. Análisis de la estabilidad del sistema
Página | 28
En este caso el valor de para el que la posición de equilibrio se vuelve
inestable (aparición del flutter) es de , sin embargo no encontramos
órbita periódica estable como cabría esperar. Por este motivo procedemos a
comprobar si se cumple la condición, impuesta para estas ecuaciones, de que la
velocidad relativa rueda/placa es siempre positiva ( ), resultando que no se
cumple a partir del valor de . Por tanto modificamos el modelo
de forma que se tenga en cuenta este cambio de signo.
Figura 5.2. Representación de los tres modelos para la fricción (mu en la
gráfica) en función de la velocidad relativa (Vcp en la gráfica) rueda placa. Se
representa en azul el modelo usado por Bigoni (ecuación VIII), en rojo el modelo
de la tangente hiperbólica (ecuación XV) y en verde el modelo del arco-tangente
(ecuación XVI).
Lo ideal sería una función escalón del coeficiente de rozamiento. La
podríamos obtener fácilmente multiplicando el coeficiente de rozamiento por la
función signo de la velocidad relativa,
. XIV
Sin embargo esta ecuación no es derivable por ser una función discontinua
y pueden aparecer dificultades numéricas en los cálculos, por lo que Bigoni utiliza
PFC Felipe Parejo Palop
Página | 29
la expresión mostrada en la ecuación VIII de la sección 4. A pesar de esto, nos
encontramos con que esta expresión tampoco puede ser implementada en el
programa AUTO que estamos utilizando, por lo que barajamos otras dos opciones
que detallamos a continuación.
En la primera que tendremos en cuenta haremos uso de la ecuación
trigonométrica de la tangente hiperbólica. La expresión quedaría así:
XV
donde es un parámetro grande, . El papel de este parámetro es el
mismo que el del parámetro en el modelo de la ecuación VIII.
En la segunda opción que barajamos hacemos uso de una función parecida,
la función arco-tangente. La expresión quedaría así:
XVI
donde en un parámetro grande, . El papel de este parámetro es el
mismo que el explicado antes.
Estos valores de y han sido escogidos porque son los primeros que
hacen que su función correspondiente se aproxime más a la función XIV que la
empleada por Bigoni, tal y como podemos ver en la Figura 5.2.
En vista de esta gráfica y de los coeficientes usados para cada una de las
opciones ( y ) elegimos usar la opción de la tangente hiperbólica definida en
la ecuación XV.
Con estos cambios introducidos nos encontramos con que el valor de
para el que la posición de equilibrio se vuelve inestable no varía con respecto al
hallado antes, por lo que sigue siendo igual a . Sin embargo, ahora sí
que encontramos una órbita periódica a partir de este valor de , que es
precisamente lo que esperábamos hallar. Todo esto lo podemos ver reflejado en la
Figura 5.3.
Lo que ocurre aquí es que aparece una bifurcación de Hopf en el punto
. Así pues tenemos que, para valores de menores de
, el sistema siempre tenderá a la posición de equilibrio del sistema y
por lo tanto al reposo. Cuando sobrepasemos el valor de nos
encontraremos que, ante cualquier desviación del sistema de su posición de
5. Análisis de la estabilidad del sistema
Página | 30
equilibrio, el sistema tenderá a una órbita periódica estable (el llamado flutter)
cuyo tamaño irá en aumento a medida que se incrementa .
Figura 5.3. Diagrama de bifurcaciones de nuestro sistema. La línea negra
muestra la posición de equilibrio. La línea continua o discontinua indica que la
solución es estable o inestable. L2-NORM no es más que una medida del tamaño
de la órbita periódica. La línea roja nos indica la existencia de la órbita
periódica.
5.3. Análisis del sistema real (no lineal)
El sistema que usaremos ahora será el obtenido con las ecuaciones reales
sin despreciar ni linealizar nada y sin imponer ninguna condición en la velocidad
relativa entre la rueda y la placa. Estas ecuaciones corresponden a las ecuaciones
V, VII y VIII. Sin embargo, la ecuación VIII, que trata sobre el coeficiente de
fricción en función de la velocidad relativa entre la rueda y la placa, no es
implementable en el programa AUTO que estamos usando, tal y como hemos
explicado para el caso anterior. Por tanto, sustituiremos esta ecuación VIII por la
descrita anteriormente de la tangente hiperbólica, la ecuación XV, que también
PFC Felipe Parejo Palop
Página | 31
nos permite contemplar el cambio de signo en la fuerza de rozamiento cuando
cambia el signo de la velocidad relativa entre la rueda y la placa ( ).
Con todo esto, obtenemos que para este caso el valor de para el que la
posición de equilibrio se vuelve inestable (aparición del flutter) es de ,
y dicho valor coincide con el obtenido con las ecuaciones anteriores del sistema
lineal visco-elástico. Así mismo, vemos que a partir de ese valor aparece una
órbita periódica estable, tal y como era de esperar. Podemos verlo reflejado en la
Figura 5.4.
Figura 5.4. Diagrama de bifurcaciones de nuestro sistema. La línea negra
muestra la posición de equilibrio. La línea continua o discontinua indica que la
solución es estable o inestable. L2-NORM no es más que una medida del tamaño
de la órbita periódica. La línea roja nos indica la existencia de la órbita
periódica.
En este caso, tenemos un trozo de línea roja discontinua, lo que nos indica
la existencia de una órbita periódica inestable en ese tramo. Para ver con mayor
precisión y saber lo que ocurre exactamente en ese tramo hemos aumentado el
tamaño de dicha zona, veamos la Figura 5.5.
5. Análisis de la estabilidad del sistema
Página | 32
Empleando las ecuaciones reales se puede observar con claridad que lo
que tenemos en el punto es una bifurcación de Hopf subcrítica.
Esto se traduce en que existe una zona de valores de para los que coexisten dos
órbitas periódicas, una estable y otra inestable, junto al equilibrio estable.
Figura 5.5. El tramo de valores de para el que aparece la órbita periódica
inestable está comprendido entre y .
Así pues, tenemos que para valores de menores de , el
sistema tenderá siempre a su posición de equilibrio y por lo tanto al reposo. Así
mismo, cuando sobrepasemos el valor de nos encontraremos que
ante cualquier desviación de la posición de equilibrio, el sistema tenderá a una
órbita periódica estable (el llamado flutter) cuyo tamaño irá en aumento a medida
que se incrementa . Sin embargo, en este caso aparece un comportamiento un
tanto peculiar en el intervalo de valores de , pues el
sistema tendrá tres comportamientos diferentes en el régimen permanente según
las condiciones iniciales. Las posibilidades son que el sistema tienda a la posición
de equilibrio y, por tanto, al reposo o bien que tienda a una órbita periódica
estable. La tercera posibilidad es que se encuentre justo en la órbita periódica
inestable, en cuyo caso el sistema se mantendría en dicha órbita hasta que
PFC Felipe Parejo Palop
Página | 33
cualquier perturbación lo desviara de ella, provocando que se vaya o bien a la
posición de equilibrio, o bien a la órbita periódica estable.
35
6. Simulaciones
Procedemos a simular el sistema descrito mediante las ecuaciones antes
definidas. Una vez resueltas las ecuaciones podremos comparar los resultados que
obtendremos con los resultados experimentales y analíticos obtenidos por Bigoni.
Simularemos primero el sistema lineal despreciando la viscosidad, luego el
sistema lineal visco-elástico (sin despreciar la viscosidad) y por último el sistema
no lineal.
6.1. Simulación del sistema lineal sin amortiguamiento
Las ecuaciones de movimiento que debemos implementar son las
ecuaciones X mostradas en la sección 4 del presente proyecto. Para
implementarlas debemos hacer un cambio de variables y definir un sistema de
ecuaciones diferenciales tal y como se muestra a continuación.
Con el cambio de variables hecho despejamos y
de las ecuaciones X,
con lo que nos quedan:
6. Simulaciones
Página | 36
donde hemos redefinido los parámetros del sistema, que quedan definidos como
se expresa a continuación:
Recordamos que la fuerza de fricción linealizada viene dada por la
expresión detallada en la ecuación XI.
Los valores numéricos de los parámetros son los mismos que ya fueron
definidos en la Tabla 4.1 de la sección 4 y que son los usados por Bigoni en sus
experimentos y simulaciones.
Las ecuaciones junto con los parámetros han sido implementadas en varios
códigos de MATLAB, los cuales aparecen en el anexo (sección 8), junto con los
códigos del resto de sistemas de ecuaciones.
6.1.1. Simulación 1
La primera simulación que vamos a realizar se corresponde con los
siguientes parámetros y condiciones iniciales:
•
•
•
•
•
•
PFC Felipe Parejo Palop
Página | 37
Los resultados obtenidos se muestran en la Figura 6.1, la Figura 6.2 y la
Figura 6.3.
Figura 6.1. Evolución de los ángulos (azul) y (rojo) respecto al tiempo.
Figura 6.2. Posiciones de las barras cada 0.04 segundos.
6. Simulaciones
Página | 38
Se puede ver en la Figura 6.1 y la Figura 6.2 que las barras se alejan
rápidamente de la configuración de equilibrio. Si continuásemos la simulación en
el tiempo se vería que el sistema no alcanza ninguna órbita periódica, por lo que
aumentaría sin cesar la amplitud de las oscilaciones de las variables de estado.
Este hecho, además, implica que los ángulos de las barras alcanzarían valores
incompatibles con los límites físicos del montaje experimental.
Figura 6.3. Velocidad relativa entre la rueda móvil y la placa, . Nos sirve para
comprobar si se cumple la condición impuesta para estas ecuaciones de que
.
Esta situación correspondería a una situación de inestabilidad de aleteo
(flutter instability), que se corresponde plenamente con la simulación hecha por
Bigoni para este sistema en estas mismas condiciones.
De esta simulación, podemos concluir claramente que sus resultados están
bastante lejos de representar lo que ocurriría en la realidad, en este sistema y con
estas mismas condiciones. Se puede apreciar en la Figura 6.3 que a partir de cierto
momento la velocidad relativa entre la rueda y la placa ( ) se hace negativa,
violando la condición impuesta para estas ecuaciones de que , por lo que
las ecuaciones utilizadas dejarían de ser válidas a partir de ese momento, haciendo
PFC Felipe Parejo Palop
Página | 39
que los resultados obtenidos en la Figura 6.1 y la Figura 6.2 no se correspondan
con la realidad.
6.1.2. Simulación 2
Procedemos ahora a cambiar los parámetros y las condiciones iniciales de
la simulación del sistema linealizado, que quedan así:
•
•
•
•
•
•
Los resultados obtenidos se muestran en la Figura 6.4, la Figura 6.5 y la
Figura 6.6.
Tal y como se puede apreciar en la Figura 6.4 y la Figura 6.5, el valor de
los ángulos de las barras aumenta rápidamente. Si continuáramos la simulación en
el tiempo veríamos que los ángulos tienden a infinito, valores obviamente
incompatibles con cualquier montaje experimental.
Esta situación correspondería a una situación de inestabilidad divergente
(divergence instability) y en realidad no se corresponde plenamente con la
simulación hecha por Bigoni para este sistema y en estas mismas condiciones. Se
da el caso de que, para que coincida totalmente, hemos tenido que disminuir el
valor de hasta un valor de en lugar de como Bigoni utiliza para
esta simulación. Esto es curioso, pues en la otra simulación no se da esta
discordancia, podría deberse a que los errores cometidos en los cálculos se hagan
muy grandes como consecuencia de las altas velocidades que se alcanzan en esta
simulación entre la rueda y la placa ( ).
6. Simulaciones
Página | 40
Figura 6.4. Evolución de los ángulos (azul) y (rojo) respecto al tiempo.
Figura 6.5. Posiciones de las barras cada 0.04 segundos.
PFC Felipe Parejo Palop
Página | 41
Figura 6.6. Velocidad relativa entre la rueda móvil y la placa, . Nos sirve para
comprobar si se cumple la condición impuesta para estas ecuaciones de que
.
Como en la simulación anterior, en esta podemos concluir claramente que
sus resultados están bastante lejos de representar lo que ocurriría en la realidad en
este sistema con estas condiciones. Se puede apreciar en la Figura 6.6 que, a partir
de cierto momento, la velocidad relativa entre la rueda y la placa ( ) se hace
negativa, violando la condición impuesta para estas ecuaciones de . Por lo
que las ecuaciones utilizadas dejarían de ser válidas a partir de ese momento,
haciendo que los resultados obtenidos y representados en la Figura 6.4 y la Figura
6.5 no se correspondan con la realidad.
6. Simulaciones
Página | 42
6.2. Simulación del sistema lineal visco-elástico
En vista de los resultados poco convincentes obtenidos en las simulaciones
del sistema lineal elástico (despreciando la viscosidad o amortiguamiento de las
articulaciones, ), se ha procedido a la simulación del sistema de
ecuaciones linealizadas sin despreciar la viscosidad de las articulaciones. Las
ecuaciones de movimiento que debemos implementar son las ecuaciones XIII
mostradas en la sección 4. Para ello debemos hacer un cambio de variables y
definimos un sistema de ecuaciones diferenciales tal y como se muestra a
continuación.
Con el cambio de variables hecho despejamos y
de las ecuaciones
XIII, con lo que nos quedan:
donde hemos redefinido los parámetros del sistema, que quedan definidos como
se expresa a continuación:
PFC Felipe Parejo Palop
Página | 43
Recordamos que la fuerza de fricción linealizada viene dada por la
expresión detallada en la ecuación XI.
Los valores numéricos de los parámetros son los mismos que ya fueron
definidos en la Tabla 4.1 de la sección 4 y que son los usados por Bigoni en sus
experimentos y simulaciones.
Las ecuaciones, junto con los parámetros, han sido implementadas en
varios códigos de MATLAB, los cuales aparecen en el anexo (sección 8), junto
con los códigos del resto de sistemas de ecuaciones.
Para las simulaciones de estas ecuaciones hacemos un pequeño cambio en
el coeficiente de fricción respecto a la expresión usada de la tangente hiperbólica
(ecuación XV) en el estudio de la sección 5. En lugar de la expresión mencionada
usaremos directamente la función signo (ecuación XIV), puesto que en MATLAB
sí que se puede implementar dicha expresión. Por lo tanto, al introducir este
cambio hemos eliminado la condición impuesta de que .
6.2.1. Simulación 3
La primera simulación que vamos a realizar se corresponde con los
siguientes parámetros y condiciones iniciales:
•
•
•
•
•
•
Los resultados obtenidos se muestran en la Figura 6.7 y la Figura 6.8.
6. Simulaciones
Página | 44
Se puede apreciar claramente en la Figura 6.7 que el sistema tiende a
desestabilizarse en el tiempo y que se producen oscilaciones. Y también se
observa cómo las amplitudes de los ángulos van aumentando hasta alcanzar el
régimen permanente, es decir, la órbita periódica estable. Se observa que esto
ocurre poco a poco, de forma oscilatoria y no bruscamente, y, por lo tanto, se trata
de una situación de flutter.
Figura 6.7. Evolución de los ángulos (azul) y (rojo) respecto al tiempo.
Figura 6.8. Posiciones de las barras cada 0.04 segundos.
PFC Felipe Parejo Palop
Página | 45
Si comparamos estos resultados con los obtenidos en las simulaciones
hechas por Bigoni, con las ecuaciones no lineales para estas mismas condiciones,
podemos ver que coinciden bastante bien.
6.2.2. Simulación 4
Procedemos ahora a cambiar los parámetros y las condiciones iniciales de
la simulación del sistema linealizado visco-elástico, que quedan así:
•
•
•
•
•
•
Y mostramos a continuación la Figura 6.9 y la Figura 6.10 con los
resultados obtenidos para estas condiciones.
Al comparar estos resultados con los obtenidos por Bigoni, para el sistema
no lineal para estas mismas condiciones, podemos observar que coinciden
bastante.
Podemos ver en la Figura 6.9 y la Figura 6.10 como se alcanza
rápidamente el régimen estacionario, sin oscilaciones previas en las amplitudes de
las órbitas. O lo que es lo mismo, vemos que la amplitud del movimiento se
incrementa exponencialmente. Por lo tanto, esta situación se corresponde con una
situación de inestabilidad divergente (divergence instability). Si comparamos
estas simulaciones con las llevadas a cabo para el sistema no lineal, podemos
concluir que el comportamiento de ambos sistemas no difiere de forma apreciable.
Sin embargo, tal y como hemos analizado el sistema en la sección 5, se
supone que no debe coexistir ninguna órbita periódica con el tramo final de
valores de para los que el sistema es estable alrededor de la posición de
equilibrio. Por este motivo realizamos otra simulación y así dejamos comprobado
que se cumple este comportamiento.
6. Simulaciones
Página | 46
Figura 6.9. Evolución de los ángulos (azul) y (rojo) respecto al tiempo.
Figura 6.10. Posiciones de las barras cada 0.04 segundos.
PFC Felipe Parejo Palop
Página | 47
6.2.3. Simulación 5
Procedemos entonces a cambiar los parámetros y las condiciones iniciales
de la simulación del sistema linealizado visco-elástico, que quedan así:
•
•
•
•
•
•
Figura 6.11. Representación de la amplitud de las oscilaciones de los ángulos
(azul) y (rojo) respecto al tiempo.
Y mostramos en la Figura 6.11 la representación gráfica de los resultados
obtenidos para estas condiciones. Se puede observar en dicha figura que las
6. Simulaciones
Página | 48
amplitudes de las órbitas de los ángulos van disminuyendo progresivamente,
tendiendo nuestro sistema al reposo en la posición de equilibrio.
Por lo tanto, tal y como se predijo anteriormente en la sección 5, se cumple
que nuestro sistema tiende a la posición de equilibrio con estas condiciones
iniciales y este contrapeso . Sin embargo, veremos después que el sistema no
lineal tenderá a la órbita periódica esperada, también según el análisis de la
sección 5. Así pues, encontramos que esta será la principal diferencia apreciable
de importancia entre el sistema lineal visco-elástico y el sistema no lineal.
6.3. Simulación del sistema real (no lineal)
Las ecuaciones de movimiento que debemos implementar son las
ecuaciones VII. Para ello debemos hacer un cambio de variables y definimos un
sistema de ecuaciones diferenciales tal y como se muestra a continuación.
Con el cambio de variables hecho despejamos y
de las ecuaciones
VII, con lo que nos quedan:
PFC Felipe Parejo Palop
Página | 49
donde hemos redefinido los parámetros del sistema, que quedan definidos como
se expresa a continuación:
Recordamos que la fuerza de fricción viene dada por las expresiones
detalladas en las ecuaciones III y V.
Las ecuaciones junto con los parámetros han sido implementadas en varios
códigos de MATLAB que se incluyen en el anexo (sección 8).
Para las simulaciones de estas ecuaciones hacemos un pequeño cambio en
el coeficiente de fricción respecto a la expresión usada de la tangente hiperbólica
(ecuación XV) en el estudio de la sección 5. En lugar de la expresión mencionada
usaremos directamente la ecuación XIV, puesto que en MATLAB sí que se puede
implementar dicha expresión.
6.3.1. Simulación 6
La primera simulación que vamos a realizar se corresponde con los
siguientes parámetros y condiciones iniciales:
•
•
•
6. Simulaciones
Página | 50
•
•
•
Los resultados obtenidos para estas condiciones se muestran a
continuación en la Figura 6.12 y la Figura 6.13.
Figura 6.12. Evolución de los ángulos (azul) y (rojo) respecto al tiempo.
Se observa en ambas figuras que el sistema tiende a desestabilizarse en el
tiempo y que se producen oscilaciones. Vemos además, que las amplitudes de las
oscilaciones van aumentando progresivamente, o lo que es lo mismo, la amplitud
del movimiento crece de manera oscilatoria. Por lo tanto, esta situación
corresponde a una situación de inestabilidad de aleteo (flutter instability) y,
además, se corresponde con la simulación hecha por Bigoni, para este sistema con
estas mismas condiciones. Además, los resultados también se corresponden con la
simulación hecha con el sistema lineal visco-elástico para estas mismas
condiciones, variando, única y ligeramente, en el tamaño de las amplitudes de las
órbitas de las variables de estado.
PFC Felipe Parejo Palop
Página | 51
Figura 6.13. Posiciones de las barras cada 0.04 segundos.
6.3.2. Simulación 7
Procedemos a cambiar los parámetros y las condiciones iniciales de la
simulación, que quedan así:
•
•
•
•
•
•
Los resultados obtenidos para estas condiciones se muestran a
continuación en la Figura 6.14 y la Figura 6.15.
En ambas figuras se puede apreciar como las amplitudes alcanzan
rápidamente su régimen estacionario. Se observa, claramente, que la amplitud del
movimiento se incrementa de manera exponencial. Por lo tanto, esta simulación
correspondería con una situación de inestabilidad divergente (divergence
instability) y se puede afirmar que se corresponde con la simulación hecha por
Bigoni para estas condiciones. Además, los resultados también se corresponden
con la simulación hecha con el sistema lineal visco-elástico para estas mismas
6. Simulaciones
Página | 52
condiciones, variando, única y ligeramente, en el tamaño de las amplitudes de las
órbitas de las variables de estado.
Figura 6.14. Evolución de los ángulos (azul) y (rojo) respecto al tiempo.
Figura 6.15. Posiciones de las barras cada 0.04 segundos.
PFC Felipe Parejo Palop
Página | 53
6.3.3. Simulación 8
Aquí incluiremos dos simulaciones, con las que se pretende comprobar
que existe un tramo de valores de en el que se puede dar una estabilidad
alrededor de la posición de equilibrio y una estabilidad alrededor de una órbita
periódica. Esto lo analizamos ya en la sección 5 y ahora sólo lo comprobaremos
con simulaciones.
Figura 6.16. Representación de la amplitud de las oscilaciones de los ángulos
(azul) y (rojo) respecto al tiempo.
Con la primera simulación comprobaremos que el sistema tiende al reposo
alrededor de la posición de equilibrio, para lo que realizaremos una simulación
con los siguientes valores de los parámetros.
•
•
•
•
6. Simulaciones
Página | 54
•
•
Y mostramos en la Figura 6.16 los resultados obtenidos para estas
condiciones.
En esta figura se observa claramente cómo las amplitudes de las
oscilaciones van disminuyendo y tienden a cero, por lo que se confirma que existe
equilibrio estable alrededor de la posición de equilibrio, partiendo de estas
condiciones iniciales y usando este valor del contrapeso .
Ahora cambiamos los parámetros buscando que el sistema tienda a la
órbita periódica que antes encontramos y que supuestamente debe existir. Las
nuevas condiciones serían las siguientes.
•
•
•
•
•
•
Y mostramos a continuación la Figura 6.17 y la Figura 6.18 con los
resultados obtenidos para estas condiciones.
En los resultados representados en ambas figuras, podemos ver que el
sistema se mantiene alejado de la posición de equilibrio, oscilando alrededor de
ella. Claramente el sistema tiende a una órbita periódica, que correspondería con
una situación de inestabilidad de aleteo (flutter instability).
Además, como ya se ha dicho, para el valor de utilizado, se puede dar
también el comportamiento de estabilidad alrededor de la posición de equilibrio.
La tendencia del sistema hacia un comportamiento u otro dependerá,
fundamentalmente, de las condiciones iniciales del sistema ( y )
y, en parte, del valor exacto que usemos para el contrapeso . Por lo tanto, queda
demostrada la existencia de un tramo de valores de para el que coexiste el
equilibrio con una órbita periódica estable, tal y como se predijo en la sección 5.3.
PFC Felipe Parejo Palop
Página | 55
Figura 6.17. Evolución de los ángulos (azul) y (rojo) respecto al tiempo.
Figura 6.18. Representación de la amplitud de las oscilaciones de los ángulos
(azul) y (rojo) respecto al tiempo.
57
7. Conclusiones
En este trabajo se ha buscado estudiar el comportamiento de la columna de
Ziegler (Ziegler 1953 y 1977) [2] y [3], así como demostrar la posibilidad de que
aparezcan las inestabilidades de aleteo (flutter) y divergencia, inducidas por
fricción seca, en sistemas mecánicos. Dicha demostración se consigue gracias a
los resultados obtenidos de los análisis y simulaciones llevadas a cabo. De todo
esto se extraen diferentes conclusiones que se detallan a continuación.
Al llevar a cabo la continuación numérica de las ecuaciones de nuestro
sistema, queda demostrada la existencia de una bifurcación de Hopf subcrítica.
Dicha bifurcación no viene predicha por el sistema lineal (ni por el elástico ni por
el visco-elástico), si no solamente por el sistema real sin linealizar.
Queda pues, demostrada la existencia de las inestabilidades de aleteo
(flutter) y divergencia, inducidas por fricción en sistemas mecánicos. Esto queda
demostrado a través de la bifurcación de Hopf encontrada en el sistema lineal
visco-elástico y en el sistema real, así como con las simulaciones llevadas a cabo
de dichos sistemas. No se encuentra dicha bifurcación en el sistema lineal elástico
(despreciando la viscosidad).
Viendo los resultados obtenidos de los análisis y simulaciones de los tres
sistemas (lineal elástico, lineal visco-elástico y real no lineal), se concluye que el
primero de ellos no representa fielmente lo que ocurre, realmente, en el sistema no
lineal. En primer lugar, no coincide en el valor del contrapeso para el que el
sistema se vuelve inestable e, incluso, difiere en el hecho de que ni siquiera se da
el fenómeno del flutter. Aunque el sistema se vuelve inestable en su posición de
equilibrio a partir de cierto valor del contrapeso , no existe ninguna órbita
periódica a partir de dicho valor. Además, en los resultados obtenidos de las
simulaciones, se observa que una de las condiciones impuestas para dicho sistema
( ) deja de cumplirse poco después de iniciarse las simulaciones. Por lo
tanto, es obvio que el sistema lineal elástico se aleja demasiado de la realidad
como para que sirva de comparación con el sistema real.
Al contrario de lo que ocurre en el sistema lineal elástico, en el lineal
visco-elástico si se predice con exactitud el valor del contrapeso , coincidiendo
7. Conclusiones
Página | 58
con el sistema real, para el que aparece la inestabilidad de la configuración de
equilibrio (aparición del flutter). Sin embargo, falla al predecir, respecto al
sistema real, cómo es la bifurcación de Hopf existente, pues la bifurcación
encontrada no es subcrítica, si no degenerada.
La otra diferencia apreciable, entre el sistema lineal visco-elástico y el
sistema real, se halla en que difieren las amplitudes de las órbitas periódicas. No
se aprecia variación alguna en el período de oscilación de un sistema al otro. Esto
se debe, fundamentalmente, a que la linealización se ha hecho alrededor de la
configuración de equilibrio, por lo que cuanto más se aleje el sistema de esta
posición, mayor será el error cometido. Aparte de estas dos diferencias
mencionadas, se puede concluir que el sistema lineal visco-elástico refleja con
exactitud el comportamiento del sistema real.
59
8. Anexo
En este anexo detallaremos los códigos usados para analizar y simular
nuestro sistema en los programas AUTO y MATLAB respectivamente.
8.1. Códigos del programa AUTO
Estos son los códigos usados en el programa AUTO para el sistema lineal
sin amortiguamiento (despreciando la viscosidad de las articulaciones), el sistema
lineal visco-elástico (sin despreciar la viscosidad de las articulaciones) y el
sistema real (no lineal) respectivamente.
8.1.1. Sistema lineal sin amortiguamiento
•Nombre del fichero: big.f90
!-------------------------------------------------------------
! bigonilineal.f90 - sistema de Bigoni
!-------------------------------------------------------------
SUBROUTINE FUNC(NDIM,U,ICP,PAR,IJAC,F,DFDU,DFDP)
!--------- ----
! Evaluates the algebraic equations or ODE right hand side
! Input arguments :
! NDIM : Dimension of the algebraic or ODE system
! U : State variables
! ICP : Array indicating the free parameter(s)
! PAR : Equation parameters
! Values to be returned :
! F : Equation or ODE right hand side values
IMPLICIT NONE
INTEGER, INTENT(IN) :: NDIM, IJAC, ICP(*)
DOUBLE PRECISION, INTENT(IN) :: U(NDIM), PAR(*)
DOUBLE PRECISION, INTENT(OUT) :: F(NDIM)
8. Anexo
Página | 60
DOUBLE PRECISION, INTENT(INOUT) ::
DFDU(NDIM,NDIM),DFDP(NDIM,*)
DOUBLE PRECISION x1, x2, x3, x4, W, mu, ro, L1, L2, L3, Vp
DOUBLE PRECISION K0, k1, k2, Beta0, beta1, beta2, long1,
long2
!definición de variables
x1 = U(1)
x2 = U(2)
x3 = U(3)
x4 = U(4)
!definición de los parámetros
W = PAR(1)
Vp = PAR(2)
mu = PAR(3)
ro = PAR(4)
long1 = PAR(5)
long2 = PAR(6)
k1 = PAR(7)
k2 = PAR(8)
beta1 = PAR(9)
beta2 = PAR(10)
L1 = ro * (long1**2) * (long1 + 3*long2)/3
L2 = ro * long1 * (long2**2)/2
L3 = ro * (long2**3)/3
K0 = k1 + k2
Beta0 = beta1 + beta2
!P = mu * (0.125*W/(0.05 + long1*cos(x1) + long2*cos(x2)))
!P, fuerza de rozamiento
!definición de las ecuaciones
F(1) = x3 !velocidad angular barra 1
F(2) = x4 !velocidad angular barra 2
F(3) = (- k2*(x1-x2)*L2 &
- L3*K0*x1 + L3*k2*x2 &
+ L3*long1 * mu &
* (0.125*W / (0.05 + long1 + long2)) * (x1-x2)) &
/ (L1*L3 - (L2**2))
F(4) = (-L2*F(3) + k2*(x1-x2)) / L3
END SUBROUTINE FUNC
!-------------------------------------------------------------
SUBROUTINE STPNT(NDIM,U,PAR,T)
!--------- -----
! Input arguments :
! NDIM : Dimension of the algebraic or ODE system
PFC Felipe Parejo Palop
Página | 61
! Values to be returned :
! U : A starting solution vector
! PAR : The corresponding equation-parameter values
IMPLICIT NONE
INTEGER, INTENT(IN) :: NDIM
DOUBLE PRECISION, INTENT(INOUT) :: U(NDIM),PAR(*)
DOUBLE PRECISION, INTENT(IN) :: T
! Initialize the equation parameters
PAR(1) = 15. !W N
PAR(2) = 0.075 !Vp m/s
PAR(3) = 0.47 !mu
PAR(4) = 1.84 !ro kg/m
PAR(5) = 0.1 !long1 m
PAR(6) = 0.1 !long2 m
PAR(7) = 0.189 !k1 Nm
PAR(8) = 0.189 !k2 Nm
PAR(9) = 0.006 !beta1
PAR(10) = 0.006 !beta2
! Initialize the solution
U(1) = 0.
U(2) = 0.
U(3) = 0.
U(4) = 0.
END SUBROUTINE STPNT
!-------------------------------------------------------------
SUBROUTINE BCND(NDIM,PAR,ICP,NBC,U0,U1,FB,IJAC,DBC)
!--------- ----
IMPLICIT NONE
INTEGER, INTENT(IN) :: NDIM, ICP(*), NBC, IJAC
DOUBLE PRECISION, INTENT(IN) :: PAR(*), U0(NDIM), U1(NDIM)
DOUBLE PRECISION, INTENT(OUT) :: FB(NBC)
DOUBLE PRECISION, INTENT(INOUT) :: DBC(NBC,*)
END SUBROUTINE BCND
!-------------------------------------------------------------
SUBROUTINE
ICND(NDIM,PAR,ICP,NINT,U,UOLD,UDOT,UPOLD,FI,IJAC,DINT)
!--------- ----
IMPLICIT NONE
INTEGER, INTENT(IN) :: NDIM, ICP(*), NINT, IJAC
DOUBLE PRECISION, INTENT(IN) :: PAR(*)
8. Anexo
Página | 62
DOUBLE PRECISION, INTENT(IN) :: U(NDIM), UOLD(NDIM),
UDOT(NDIM), UPOLD(NDIM)
DOUBLE PRECISION, INTENT(OUT) :: FI(NINT)
DOUBLE PRECISION, INTENT(INOUT) :: DINT(NINT,*)
END SUBROUTINE ICND
!-------------------------------------------------------------
SUBROUTINE FOPT(NDIM,U,ICP,PAR,IJAC,FS,DFDU,DFDP)
!--------- ----
IMPLICIT NONE
INTEGER, INTENT(IN) :: NDIM, ICP(*), IJAC
DOUBLE PRECISION, INTENT(IN) :: U(NDIM), PAR(*)
DOUBLE PRECISION, INTENT(OUT) :: FS
DOUBLE PRECISION, INTENT(INOUT) :: DFDU(NDIM),DFDP(*)
END SUBROUTINE FOPT
!-------------------------------------------------------------
SUBROUTINE PVLS(NDIM,U,PAR)
!--------- ----
IMPLICIT NONE
INTEGER, INTENT(IN) :: NDIM
DOUBLE PRECISION, INTENT(IN) :: U(NDIM)
DOUBLE PRECISION, INTENT(INOUT) :: PAR(*)
!-------------------------------------------------------------
END SUBROUTINE PVLS
!-------------------------------------------------------------
•Nombre del fichero: c.big
NDIM= 4, IPS = 1, IRS = 0, ILP = 1
ICP = [1]
NTST= 15, NCOL= 4, IAD = 3, ISP = 1, ISW = 1, IPLT= 0,
NBC= 0, NINT= 0
NMX= 99000, NPR= 99000, MXBF= 10, IID = 2, ITMX= 8, ITNW=
5, NWTN= 3, JAC= 0
EPSL= 1e-08, EPSU = 1e-08, EPSS = 1e-06
DS = 0.001, DSMIN= 1e-09, DSMAX= 0.01, IADS= 1
NPAR = 9, THL = {11: 0.0}, THU = {}
UZSTOP = {1: 25.}
PFC Felipe Parejo Palop
Página | 63
•Nombre del fichero: c.01b
NDIM= 4, IPS = 2, IRS = 2, ILP = 1
ICP = [1,11]
NTST= 100, NCOL= 4, IAD = 3, ISP = 1, ISW = 1, IPLT= 0,
NBC= 0, NINT= 0
NMX= 20000, NPR= 190000, MXBF= 10, IID = 2, ITMX= 8,
ITNW= 5, NWTN= 3, JAC= 0
EPSL= 1e-08, EPSU = 1e-08, EPSS = 1e-06
DS = 0.01, DSMIN= 1e-08 DSMAX= 0.1, IADS= 1
NPAR = 9, THL = {11: 0.0}, THU = {}
UZSTOP = {1: -40.}
8. Anexo
Página | 64
8.1.2. Sistema lineal visco-elástico
•Nombre del fichero: big.f90
!-------------------------------------------------------------
! bigonilinealviscoso.f90 - sistema de Bigoni
!-------------------------------------------------------------
SUBROUTINE FUNC(NDIM,U,ICP,PAR,IJAC,F,DFDU,DFDP)
!--------- ----
! Evaluates the algebraic equations or ODE right hand side
! Input arguments :
! NDIM : Dimension of the algebraic or ODE system
! U : State variables
! ICP : Array indicating the free parameter(s)
! PAR : Equation parameters
! Values to be returned :
! F : Equation or ODE right hand side values
IMPLICIT NONE
INTEGER, INTENT(IN) :: NDIM, IJAC, ICP(*)
DOUBLE PRECISION, INTENT(IN) :: U(NDIM), PAR(*)
DOUBLE PRECISION, INTENT(OUT) :: F(NDIM)
DOUBLE PRECISION, INTENT(INOUT) ::
DFDU(NDIM,NDIM),DFDP(NDIM,*)
DOUBLE PRECISION x1, x2, x3, x4, W, mu, ro, L1, L2, L3, Vp,
vcp
DOUBLE PRECISION K0, k1, k2, Beta0, beta1, beta2, long1,
long2
!definición de variables
x1 = U(1)
x2 = U(2)
x3 = U(3)
x4 = U(4)
!definición de los parámetros
W = PAR(1)
Vp = PAR(2)
mu = PAR(3)
ro = PAR(4)
long1 = PAR(5)
long2 = PAR(6)
k1 = PAR(7)
k2 = PAR(8)
beta1 = PAR(9)
beta2 = PAR(10)
L1 = ro * (long1**2) * (long1 + 3*long2)/3
PFC Felipe Parejo Palop
Página | 65
L2 = ro * long1 * (long2**2)/2
L3 = ro * (long2**3)/3
K0 = k1 + k2
Beta0 = beta1 + beta2
!P = mu * (0.125*W/(0.05 + long1*cos(x1) + long2*cos(x2)))
!P, fuerza de rozamiento
vcp = Vp*cos(x2) - long1*x3*sin(x1-x2)
!definición de las ecuaciones
F(1) = x3 !velocidad angular barra 1
F(2) = x4 !velocidad angular barra 2
F(3) = ( -k2*(x1-x2)*L2 &
- beta2*(x3-x4)*L2 &
- L3*K0*x1 + L3*k2*x2 - L3*Beta0*x3 &
+ L3*beta2*x4 &
+ L3*long1 * mu *dtanh(1.e06*vcp) &
* (0.125*W / (0.05 + long1 + long2)) * (x1-x2)) &
/ (L1*L3 - (L2**2))
F(4) = (-L2*F(3) + k2*(x1-x2) + beta2*(x3-x4)) / L3
END SUBROUTINE FUNC
!-------------------------------------------------------------
SUBROUTINE STPNT(NDIM,U,PAR,T)
!--------- -----
! Input arguments :
! NDIM : Dimension of the algebraic or ODE system
! Values to be returned :
! U : A starting solution vector
! PAR : The corresponding equation-parameter values
IMPLICIT NONE
INTEGER, INTENT(IN) :: NDIM
DOUBLE PRECISION, INTENT(INOUT) :: U(NDIM),PAR(*)
DOUBLE PRECISION, INTENT(IN) :: T
! Initialize the equation parameters
PAR(1) = 1. !W N
PAR(2) = 0.075 !Vp m/s
PAR(3) = 0.47 !mu
PAR(4) = 1.84 !ro kg/m
PAR(5) = 0.1 !long1 m
PAR(6) = 0.1 !long2 m
PAR(7) = 0.189 !k1 Nm
PAR(8) = 0.189 !k2 Nm
PAR(9) = 0.006 !beta1
PAR(10) = 0.006 !beta2
8. Anexo
Página | 66
! Initialize the solution
U(1) = 0.
U(2) = 0.
U(3) = 0.
U(4) = 0.
END SUBROUTINE STPNT
!-------------------------------------------------------------
SUBROUTINE BCND(NDIM,PAR,ICP,NBC,U0,U1,FB,IJAC,DBC)
!--------- ----
IMPLICIT NONE
INTEGER, INTENT(IN) :: NDIM, ICP(*), NBC, IJAC
DOUBLE PRECISION, INTENT(IN) :: PAR(*), U0(NDIM), U1(NDIM)
DOUBLE PRECISION, INTENT(OUT) :: FB(NBC)
DOUBLE PRECISION, INTENT(INOUT) :: DBC(NBC,*)
END SUBROUTINE BCND
!-------------------------------------------------------------
SUBROUTINE
ICND(NDIM,PAR,ICP,NINT,U,UOLD,UDOT,UPOLD,FI,IJAC,DINT)
!--------- ----
IMPLICIT NONE
INTEGER, INTENT(IN) :: NDIM, ICP(*), NINT, IJAC
DOUBLE PRECISION, INTENT(IN) :: PAR(*)
DOUBLE PRECISION, INTENT(IN) :: U(NDIM), UOLD(NDIM),
UDOT(NDIM), UPOLD(NDIM)
DOUBLE PRECISION, INTENT(OUT) :: FI(NINT)
DOUBLE PRECISION, INTENT(INOUT) :: DINT(NINT,*)
END SUBROUTINE ICND
!-------------------------------------------------------------
SUBROUTINE FOPT(NDIM,U,ICP,PAR,IJAC,FS,DFDU,DFDP)
!--------- ----
IMPLICIT NONE
INTEGER, INTENT(IN) :: NDIM, ICP(*), IJAC
DOUBLE PRECISION, INTENT(IN) :: U(NDIM), PAR(*)
DOUBLE PRECISION, INTENT(OUT) :: FS
DOUBLE PRECISION, INTENT(INOUT) :: DFDU(NDIM),DFDP(*)
END SUBROUTINE FOPT
PFC Felipe Parejo Palop
Página | 67
!-------------------------------------------------------------
SUBROUTINE PVLS(NDIM,U,PAR)
!--------- ----
IMPLICIT NONE
INTEGER, INTENT(IN) :: NDIM
DOUBLE PRECISION, INTENT(IN) :: U(NDIM)
DOUBLE PRECISION, INTENT(INOUT) :: PAR(*)
!-------------------------------------------------------------
END SUBROUTINE PVLS
!-------------------------------------------------------------
•Nombre del fichero: c.big
NDIM= 4, IPS = 1, IRS = 0, ILP = 1
ICP = [1]
NTST= 15, NCOL= 4, IAD = 3, ISP = 1, ISW = 1, IPLT= 0,
NBC= 0, NINT= 0
NMX= 99000, NPR= 99000, MXBF= 10, IID = 2, ITMX= 8, ITNW=
5, NWTN= 3, JAC= 0
EPSL= 1e-08, EPSU = 1e-08, EPSS = 1e-06
DS = 0.001, DSMIN= 1e-09, DSMAX= 0.01, IADS= 1
NPAR = 9, THL = {11: 0.0}, THU = {}
UZSTOP = {1: 40.}
•Nombre del fichero: c.01b
NDIM= 4, IPS = 2, IRS = 2, ILP = 1
ICP = [1,11]
NTST= 800, NCOL= 4, IAD = 3, ISP = 1, ISW = 1, IPLT= 0,
NBC= 0, NINT= 0
NMX= 90000, NPR= 5000, MXBF= 10, IID = 2, ITMX= 8, ITNW=
5, NWTN= 3, JAC= 0
EPSL= 1e-08, EPSU = 1e-08, EPSS = 1e-06
DS = 0.001, DSMIN= 1e-08 DSMAX= 0.05, IADS= 1
NPAR = 9, THL = {11: 0.0}, THU = {}
UZR = {1:[15.,16.,17.,18.,19.,20.]}
UZSTOP = {1: 20.}
8. Anexo
Página | 68
8.1.3. Sistema real (no lineal)
•Nombre del fichero: big.f90
!-------------------------------------------------------------
! bigoni.f90 - sistema de Bigoni
!-------------------------------------------------------------
SUBROUTINE FUNC(NDIM,U,ICP,PAR,IJAC,F,DFDU,DFDP)
!--------- ----
! Evaluates the algebraic equations or ODE right hand side
! Input arguments :
! NDIM : Dimension of the algebraic or ODE system
! U : State variables
! ICP : Array indicating the free parameter(s)
! PAR : Equation parameters
! Values to be returned :
! F : Equation or ODE right hand side values
IMPLICIT NONE
INTEGER, INTENT(IN) :: NDIM, IJAC, ICP(*)
DOUBLE PRECISION, INTENT(IN) :: U(NDIM), PAR(*)
DOUBLE PRECISION, INTENT(OUT) :: F(NDIM)
DOUBLE PRECISION, INTENT(INOUT) ::
DFDU(NDIM,NDIM),DFDP(NDIM,*)
DOUBLE PRECISION x1, x2, x3, x4, W, mu, ro, L1, L2, L3, Vp,
vcp
DOUBLE PRECISION K0, k1, k2, Beta0, beta1, beta2, long1,
long2
!definición de variables
x1 = U(1)
x2 = U(2)
x3 = U(3)
x4 = U(4)
!definición de los parámetros
W = PAR(1)
Vp = PAR(2)
mu = PAR(3)
ro = PAR(4)
long1 = PAR(5)
long2 = PAR(6)
k1 = PAR(7)
k2 = PAR(8)
beta1 = PAR(9)
beta2 = PAR(10)
L1 = ro * (long1**2) * (long1 + 3*long2)/3
PFC Felipe Parejo Palop
Página | 69
L2 = ro * long1 * (long2**2)/2
L3 = ro * (long2**3)/3
K0 = k1 + k2
Beta0 = beta1 + beta2
!P = mu * (0.125*W/(0.05 + long1*cos(x1) + long2*cos(x2)))
!P, fuerza de rozamiento
vcp = Vp*cos(x2) - long1*x3*sin(x1-x2)
!definición de las ecuaciones
F(1) = x3 !velocidad angular barra 1
F(2) = x4 !velocidad angular barra 2
F(3) = (-L2**2*sin(x1-x2)*cos(x1-x2)*x3**2 &
- k2*(x1-x2)*L2*cos(x1-x2) &
- beta2*(x3-x4)*L2*cos(x1-x2) &
- L2*L3*sin(x1-x2)*x4**2 &
- L3*K0*x1 + L3*k2*x2 - L3*Beta0*x3 &
+ L3*beta2*x4 &
+ L3*long1 * mu*dtanh(5.e01*vcp) &
* (0.125*W / (0.05 + long1*cos(x1) +
long2*cos(x2))) * sin(x1-x2)) &
/ (L1*L3 - (L2**2)*(cos(x1-x2)**2))
F(4) = (-L2*cos(x1-x2)*F(3) + L2*sin(x1-x2)*x3**2 &
+ k2*(x1-x2) + beta2*(x3-x4)) / L3
END SUBROUTINE FUNC
!-------------------------------------------------------------
SUBROUTINE STPNT(NDIM,U,PAR,T)
!--------- -----
! Input arguments :
! NDIM : Dimension of the algebraic or ODE system
! Values to be returned :
! U : A starting solution vector
! PAR : The corresponding equation-parameter values
IMPLICIT NONE
INTEGER, INTENT(IN) :: NDIM
DOUBLE PRECISION, INTENT(INOUT) :: U(NDIM),PAR(*)
DOUBLE PRECISION, INTENT(IN) :: T
! Initialize the equation parameters
PAR(1) = 1. !W N
PAR(2) = 0.075 !Vp m/s
PAR(3) = 0.47 !mu
PAR(4) = 1.84 !ro kg/m
PAR(5) = 0.1 !long1 m
PAR(6) = 0.1 !long2 m
PAR(7) = 0.189 !k1 Nm
PAR(8) = 0.189 !k2 Nm
PAR(9) = 0.006 !beta1
8. Anexo
Página | 70
PAR(10) = 0.006 !beta2
! Initialize the solution
U(1) = 0.
U(2) = 0.
U(3) = 0.
U(4) = 0.
END SUBROUTINE STPNT
!-------------------------------------------------------------
SUBROUTINE BCND(NDIM,PAR,ICP,NBC,U0,U1,FB,IJAC,DBC)
!--------- ----
IMPLICIT NONE
INTEGER, INTENT(IN) :: NDIM, ICP(*), NBC, IJAC
DOUBLE PRECISION, INTENT(IN) :: PAR(*), U0(NDIM), U1(NDIM)
DOUBLE PRECISION, INTENT(OUT) :: FB(NBC)
DOUBLE PRECISION, INTENT(INOUT) :: DBC(NBC,*)
END SUBROUTINE BCND
!-------------------------------------------------------------
SUBROUTINE
ICND(NDIM,PAR,ICP,NINT,U,UOLD,UDOT,UPOLD,FI,IJAC,DINT)
!--------- ----
IMPLICIT NONE
INTEGER, INTENT(IN) :: NDIM, ICP(*), NINT, IJAC
DOUBLE PRECISION, INTENT(IN) :: PAR(*)
DOUBLE PRECISION, INTENT(IN) :: U(NDIM), UOLD(NDIM),
UDOT(NDIM), UPOLD(NDIM)
DOUBLE PRECISION, INTENT(OUT) :: FI(NINT)
DOUBLE PRECISION, INTENT(INOUT) :: DINT(NINT,*)
END SUBROUTINE ICND
!-------------------------------------------------------------
SUBROUTINE FOPT(NDIM,U,ICP,PAR,IJAC,FS,DFDU,DFDP)
!--------- ----
IMPLICIT NONE
INTEGER, INTENT(IN) :: NDIM, ICP(*), IJAC
DOUBLE PRECISION, INTENT(IN) :: U(NDIM), PAR(*)
DOUBLE PRECISION, INTENT(OUT) :: FS
DOUBLE PRECISION, INTENT(INOUT) :: DFDU(NDIM),DFDP(*)
PFC Felipe Parejo Palop
Página | 71
END SUBROUTINE FOPT
!-------------------------------------------------------------
SUBROUTINE PVLS(NDIM,U,PAR)
!--------- ----
IMPLICIT NONE
INTEGER, INTENT(IN) :: NDIM
DOUBLE PRECISION, INTENT(IN) :: U(NDIM)
DOUBLE PRECISION, INTENT(INOUT) :: PAR(*)
!-------------------------------------------------------------
END SUBROUTINE PVLS
!-------------------------------------------------------------
•Nombre del fichero: c.big
NDIM= 4, IPS = 1, IRS = 0, ILP = 1
ICP = [1]
NTST= 15, NCOL= 4, IAD = 3, ISP = 1, ISW = 1, IPLT= 0,
NBC= 0, NINT= 0
NMX= 9900, NPR= 9900, MXBF= 10, IID = 2, ITMX= 8, ITNW=
5, NWTN= 3, JAC= 0
EPSL= 1e-08, EPSU = 1e-08, EPSS = 1e-06
DS = 0.001, DSMIN= 1e-09, DSMAX= 0.01, IADS= 1
NPAR = 9, THL = {11: 0.0}, THU = {}
UZSTOP = {1: 50.}
•Nombre del fichero: c.01b
NDIM= 4, IPS = 2, IRS = 2, ILP = 1
ICP = [1,11]
NTST= 100, NCOL= 4, IAD = 3, ISP = 1, ISW = 1, IPLT= 0,
NBC= 0, NINT= 0
NMX= 15000, NPR= 5000, MXBF= 10, IID = 2, ITMX= 8, ITNW=
5, NWTN= 3, JAC= 0
EPSL= 1e-08, EPSU = 1e-08, EPSS = 1e-06
DS = 0.001, DSMIN= 1e-08 DSMAX= 0.05, IADS= 1
NPAR = 9, THL = {11: 0.0}, THU = {}
UZR = {1:[14.1,15.,16.,17.,18.,19.,20.]}
UZSTOP = {1: 100.}
8. Anexo
Página | 72
8.2. Códigos del programa MATLAB
Estos son los códigos usados en el programa MATLAB para el sistema
linealizado elástico (despreciando la viscosidad de las articulaciones), el sistema
linealizado visco-elástico (sin despreciar la viscosidad de las articulaciones) y el
sistema real respectivamente.
En los tres casos el archivo que se ejecuta es el primero, siendo el segundo
una función donde se incluyen las ecuaciones del sistema.
8.2.1. Sistema lineal sin amortiguamiento
bigonilineal.m
Este primer archivo es el que debemos ejecutar, el segundo es una función
creada por mí que se usa en este archivo.
%bigonilineal.m clear all close all
% parámetros W = 55 %[N] contrapeso Vp= 0.05 %[m/s] velocidad de la placa ro=1.84; %[kg/m] l1=0.1; %[m] l2=0.1; %[m] k1=0.189; %[N·m] k2=0.189; %[N·m] beta1=0.006; %[N·m·s] beta2=0.006; %[N·m·s] ls=0.125; %[m] lf=0.05; %[m] muD=0.47; %coeficiente de rozamiento dinámico muS=0.61; %coeficiente de rozamiento estático eps=10^-5; %epsilon, para definir el coeficiente de rozamiento
cuando Vcp es pequeña A=10^6; %parámetro para tanh, para definir el coeficiente de
rozamiento cuando Vcp es pequeña según la función de tanh B=10^7; %parámetro para arctan, para definir el coeficiente de
rozamiento cuando Vcp está próxima a cero
%coeficientes de las ecuaciones L1=ro*(l1^2)*(l1+3*l2)/3; L2=ro*l1*l2^2/2; L3=ro*l2^3/3; K0=k1+k2; Beta0=beta1+beta2;
PFC Felipe Parejo Palop
Página | 73
%intervalo de integración t0 = 0; tf = 0.2 %[seg]
%condiciones iniciales x0(1,1) = -0.5*pi/180; %alfa1 x0(2,1) = -0.5*pi/180; %alfa2 x0(3,1) = 0; %omega1 x0(4,1) = 0; %omega2
%----------------------------------------------------------------- %integración de las ecuaciones lineales [t x]=ode45(@bigonilinealdif, [t0 tf], x0, [], W, Vp, L1, L2, L3,
K0, Beta0, l1, l2, k2, beta2, ls, lf, muD, muS, eps, A ,B); N=length(t);
%velocidad radial (axial respecto a la barra) relativa de la rueda
respecto a la placa Vcp=Vp*cos(x(:,2))-l1*x(:,3).*sin(x(:,1)-x(:,2));
%coeficiente de rozamiento mu=[]; R=[]; lambda=1.6; %[s/m] pendiente del coeficiente de fricción for i=1:N mu(i,1)=muD*sign(Vcp(i))+lambda*Vcp(i); R(i,1)=ls*W/(lf+l1*cos(x(i,1))+l2*cos(x(i,2))); %[N] end
%fuerza de rozamiento P=mu.*R;
%----------------------------------------------------------------- %gráficas de los ángulos respecto al tiempo
figure(1) hold on plot(t(:,1),x(:,1)*180/pi)%;grid %alfa1
% figure(2) plot(t(:,1),x(:,2)*180/pi,'r');grid %alfa2 xlabel('Tiempo [seg]') xlim([0 t(N)]) % ylim([-60 60]) % ylim([-max(abs(x(:,1)*180/pi))-5 max(abs(x(:,1)*180/pi))+5]) ylim([-max(abs(x(:,2)*180/pi))-5 max(abs(x(:,2)*180/pi))+5])
title('Evolución de alfa1 y alfa2 en el tiempo') ylabel('alfa [grados]') legend('alfa1','alfa2')
8. Anexo
Página | 74
%bucle para cada posición
% [Y,I]=max(abs(x(:,2))); % I=t(N)/8; %tiempo entre representaciones I=0.04; %tiempo entre representaciones i=1; j(1)=1; k=2;
while i<=N if t(i)>=I*k-I j(k)=i; k=k+1; end i=i+1; end
%-----------------------------------------------------------------
%representación de la velocidad relativa de la rueda sobre la
placa móvil figure(6) hold on plot(t(:,1), Vcp(:,1), 'g');grid % plot([0 t(N)], [Vp Vp], 'k') title('Evolución de la velocidad relativa de la rueda sobre la
placa móvil') xlabel('Tiempo [seg]') ylabel('Vcp [m/s]') % legend('Vcp','Vp') xlim([0 t(N)]) % vel=l1*sin(x(:,1)-x(:,2)).*x(:,3)./cos(x(:,2)); % plot(t(:,1),vel(:,1),'r') % legend('Vcp','Vp','l1*sin(x1-x2)*x3/cos(x2)')
figure (7) hold on plot(0,0,'k^');grid for k=1:length(j) plot(t(j(k)),0,'k^') plot([t(j(k)) t(j(k))+l1*sin(x(j(k),1))],[0
l1*cos(x(j(k),1))],'r') plot(t(j(k))+l1*sin(x(j(k),1)),l1*cos(x(j(k),1)),'ko') plot([t(j(k))+l1*sin(x(j(k),1))
t(j(k))+l1*sin(x(j(k),1))+l2*sin(x(j(k),2))],[l1*cos(x(j(k),1))
l1*cos(x(j(k),1))+l2*cos(x(j(k),2))],'r') % ylim([0 0.25]) end
PFC Felipe Parejo Palop
Página | 75
plot(t(N),0,'k^') plot([t(N) t(N)+l1*sin(x(N,1))],[0 l1*cos(x(N,1))],'r') plot(t(N)+l1*sin(x(N,1)),l1*cos(x(N,1)),'ko') plot([t(N)+l1*sin(x(N,1))
t(N)+l1*sin(x(N,1))+l2*sin(x(N,2))],[l1*cos(x(N,1))
l1*cos(x(N,1))+l2*cos(x(N,2))],'r')
axis equal % xlim([-I t(N)+I]) xlim([-I t(N)+0.15]) ylim([-0.05 0.25]) xlabel('Tiempo [seg]')
bigonilinealdif.m
En este fichero es donde hemos creado una función que incluye las
ecuaciones diferenciales del sistema.
%bigonilinealdif %función que incluye las ecuaciones diferenciales linealizadas del
sistema function xdot=bigonilinealdif(t, x, W, Vp, L1, L2, L3, K0, Beta0,
l1, l2, k2, beta2, ls, lf, muD, muS, eps, A, B)
%fuerza de reacción en la rueda % R=ls*W/(lf+l1*cos(x(1,1))+l2*cos(x(2,1))); %[N] fuerza de
reacción completa R=ls*W/(lf+l1+l2); %[N] fuerza de reacción despreciando alfa1 y
alfa2
%velocidad radial (axial respecto a la barra) relativa de la rueda
respecto a la placa Vcp=Vp*cos(x(2,1))-l1*x(3,1)*sin(x(1,1)-x(2,1));
%coeficiente de rozamiento mu=muD; % mu=muD*sign(Vcp); % mu=muBig(x, Vp, l1, muD, muS, eps); % mu=muD*tanh(A*Vcp); % mu=muD*2*atan(B*Vcp)/pi;
%fuerza de rozamiento P=mu*R;
%sistema de ecuaciones diferenciales xdot(1,1)=x(3,1); xdot(2,1)=x(4,1); xdot(3,1)=(-k2*(x(1,1)-x(2,1))*L2-
L3*K0*x(1,1)+L3*k2*x(2,1)+L3*l1*P*(x(1,1)-x(2,1)))/(L1*L3-L2^2); xdot(4,1)=(-L2*xdot(3,1)+k2*(x(1,1)-x(2,1)))/L3;
8. Anexo
Página | 76
8.2.2. Sistema lineal visco-elástico
bigonilinealviscoso.m
Este primer archivo es el que debemos ejecutar, el segundo es una función
creada por mí que se usa en este archivo.
%bigonilinealviscoso.m clear all close all
% parámetros W = 14.12 %[N] contrapeso Vp= 0.05 %[m/s] velocidad de la placa ro=1.84; %[kg/m] l1=0.1; %[m] l2=0.1; %[m] k1=0.189; %[N·m] k2=0.189; %[N·m] beta1=0.006; %[N·m·s] beta2=0.006; %[N·m·s] ls=0.125; %[m] lf=0.05; %[m] muD=0.47; %coeficiente de rozamiento dinámico muS=0.61; %coeficiente de rozamiento estático eps=10^-5; %epsilon, para definir el coeficiente de rozamiento
cuando Vcp es pequeña A=10^6; %parámetro para tanh, para definir el coeficiente de
rozamiento cuando Vcp es pequeña según la función de tanh B=10^7; %parámetro para arctan, para definir el coeficiente de
rozamiento cuando Vcp está próxima a cero
%coeficientes de las ecuaciones L1=ro*(l1^2)*(l1+3*l2)/3; L2=ro*l1*l2^2/2; L3=ro*l2^3/3; K0=k1+k2; Beta0=beta1+beta2;
%intervalo de integración t0 = 0; tf = 300 %[seg]
%condiciones iniciales x0(1,1) = 30.5*pi/180; %alfa1 x0(2,1) = 20.5*pi/180; %alfa2 x0(3,1) = 0; %omega1 x0(4,1) = 0; %omega2
%----------------------------------------------------------------- %integración de las ecuaciones lineales
PFC Felipe Parejo Palop
Página | 77
[t x]=ode45(@bigonilinealviscosodif, [t0 tf], x0, [], W, Vp, L1,
L2, L3, K0, Beta0, l1, l2, k2, beta2, ls, lf, muD, muS, eps, A,
B); N=length(t);
%velocidad radial (axial respecto a la barra) relativa de la rueda
respecto a la placa Vcp=Vp*cos(x(:,2))-l1*x(:,3).*sin(x(:,1)-x(:,2)); %----------------------------------------------------------------- %gráficas de los ángulos respecto al tiempo
figure(1) hold on plot(t(:,1),x(:,1)*180/pi)%;grid %alfa1
% figure(2) plot(t(:,1),x(:,2)*180/pi,'r');grid %alfa2 xlabel('Tiempo [seg]') xlim([0 t(N)]) % ylim([-60 60]) ylim([-max(abs(x(:,2)*180/pi))-5 max(abs(x(:,2)*180/pi))+5])
title('Evolución de alfa1 y alfa2 en el tiempo') ylabel('alfa [grados]') legend('alfa1','alfa2')
%bucle para cada posición
% [Y,I]=max(abs(x(:,2))); % I=t(N)/8; %tiempo entre representaciones I=0.04; %tiempo entre representaciones i=1; j(1)=1; k=2;
while i<=N if t(i)>=I*k-I j(k)=i; k=k+1; end i=i+1; end
%-----------------------------------------------------------------
%representación de la velocidad relativa de la rueda sobre la
placa móvil figure(6) hold on plot(t(:,1), Vcp(:,1), 'g');grid plot([0 t(N)], [Vp Vp], 'k')
8. Anexo
Página | 78
title('Evolución de la velocidad relativa de la rueda sobre la
placa móvil') xlabel('Tiempo [seg]') ylabel('Vcp [m/s]') xlim([0 t(N)])
%-------------------------------------- %representación de la amplitud de las oscilaciones figure(8) hold on grid
%blucle para buscar los máximos de alfa1 cont1=0; pun1=[]; for p1=2:N if x(p1-1,3)>0 && x(p1,3)<0 cont1=cont1+1; pun1(cont1)=p1; elseif x(p1-1,3)<0 && x(p1,3)>0 cont1=cont1+1; pun1(cont1)=p1; end end
%blucle para buscar los máximos de alfa2 cont2=0; pun2=[]; for p2=2:N if x(p2-1,4)>0 && x(p2,4)<0 cont2=cont2+1; pun2(cont2)=p2; elseif x(p2-1,4)<0 && x(p2,4)>0 cont2=cont2+1; pun2(cont2)=p2; end end
plot(t(pun1),abs(x(pun1,1)*180/pi)) plot(t(pun2),abs(x(pun2,2)*180/pi),'r') % plot(t(1),x(1,1)*180/pi) % plot(t(1),x(1,2)*180/pi,'r')
title('Evolución de las amplitudes de alfa1 y alfa2') xlabel('Tiempo [seg]') ylabel('Amplitdud de alfa [grados]') xlim([0 t(N)])
PFC Felipe Parejo Palop
Página | 79
ylim([0 0.7]) ylim([0 max(abs(x(:,2)*180/pi))+5])
% ylim([-max(abs(x(:,2)*180/pi))-5 max(abs(x(:,2)*180/pi))+5]) legend('alfa1','alfa2')
bigonilinealviscosodif.m
En este fichero es donde hemos creado una función que incluye las
ecuaciones diferenciales del sistema.
%bigonilinealviscosodif %función que incluye las ecuaciones diferenciales linealizadas del
sistema function xdot=bigonilinealviscosodif(t, x, W, Vp, L1, L2, L3, K0,
Beta0, l1, l2, k2, beta2, ls, lf, muD, muS, eps, A, B)
%fuerza de reacción en la rueda % R=ls*W/(lf+l1*cos(x(1,1))+l2*cos(x(2,1))); %[N] fuerza de
reacción completa R=ls*W/(lf+l1+l2); %[N] fuerza de reacción despreciando alfa1 y
alfa2
%velocidad radial (axial respecto a la barra) relativa de la rueda
respecto a la placa Vcp=Vp*cos(x(2,1))-l1*x(3,1)*sin(x(1,1)-x(2,1));
%coeficiente de rozamiento % mu=muD; mu=muD*sign(Vcp); % mu=muBig(x, Vp, l1, muD, muS, eps); % mu=muD*tanh(A*Vcp); % mu=muD*2*atan(B*Vcp)/pi;
%fuerza de rozamiento P=mu*R;
%sistema de ecuaciones diferenciales xdot(1,1)=x(3,1); xdot(2,1)=x(4,1); xdot(3,1)=(-L2*beta2*(x(3,1)-x(4,1))-k2*(x(1,1)-x(2,1))*L2-
L3*Beta0*x(3,1)+L3*beta2*x(4,1)-
L3*K0*x(1,1)+L3*k2*x(2,1)+L3*l1*P*(x(1,1)-x(2,1)))/(L1*L3-L2^2); xdot(4,1)=(-L2*xdot(3,1)+beta2*(x(3,1)-x(4,1))+k2*(x(1,1)-
x(2,1)))/L3;
8. Anexo
Página | 80
8.2.3. Sistema real (no lineal)
bigoni.m
Este primer archivo es el que debemos ejecutar, el segundo es una función
creada por mí que se usa en este archivo.
%bigoni.m clear all close all
% parámetros W = 14.12 %[N] contrapeso Vp= 0.075 %[m/s] velocidad de la placa ro=1.84; %[kg/m] l1=0.1; %[m] l2=0.1; %[m] k1=0.189; %[N·m] k2=0.189; %[N·m] beta1=0.006; %[N·m·s] beta2=0.006; %[N·m·s] ls=0.125; %[m] lf=0.05; %[m] muD=0.47; %coeficiente de rozamiento dinámico muS=0.61; %coeficiente de rozamiento estático eps=10^-5; %epsilon, para definir el coeficiente de rozamiento
cuando Vcp es pequeña A=10^6; %parámetro para tanh, para definir el coeficiente de
rozamiento cuando Vcp es pequeña según la función de tanh B=10^7; %parámetro para arctan, para definir el coeficiente de
rozamiento cuando Vcp está próxima a cero
%coeficientes de las ecuaciones L1=ro*(l1^2)*(l1+3*l2)/3; L2=ro*l1*l2^2/2; L3=ro*l2^3/3; K0=k1+k2; Beta0=beta1+beta2;
%intervalo de integración t0 = 0; tf = 15 %[seg]
%condiciones iniciales x0(1,1) = 30.5*pi/180; %alfa1 x0(2,1) = 20.5*pi/180; %alfa2 x0(3,1) = 0; %omega1 x0(4,1) = 0; %omega2
%----------------------------------------------------------------- %integración de las ecuaciones [t x]=ode45(@bigonidif, [t0 tf], x0, [], W, Vp, L1, L2, L3, K0,
Beta0, l1, l2, k2, beta2, ls, lf, muD, muS, eps, A, B);
PFC Felipe Parejo Palop
Página | 81
N=length(t);
%velocidad radial (axial respecto a la barra) relativa de la rueda
respecto a la placa Vcp=Vp*cos(x(:,2))-l1*x(:,3).*sin(x(:,1)-x(:,2)); %----------------------------------------------------------------- %gráficas de los ángulos respecto al tiempo
figure(1) hold on plot(t(:,1),x(:,1)*180/pi)%;grid %alfa1
% figure(2) plot(t(:,1),x(:,2)*180/pi,'r');grid %alfa2 xlabel('Tiempo [seg]') xlim([0 t(N)]) % ylim([-60 60]) % ylim([-0.7 0.7]) ylim([-max(abs(x(:,2)*180/pi))-5 max(abs(x(:,2)*180/pi))+5]) % ylim([-max(abs(x(:,1)*180/pi))-5 max(abs(x(:,1)*180/pi))+5])
title('Evolución de alfa1 y alfa2 en el tiempo') ylabel('alfa [grados]') legend('alfa1','alfa2')
%----------------------------------------------------------------- % %representación gráfica de la posición de las barras respecto al
tiempo
% [Y,I]=max(abs(x(:,2))); % I=t(N)/8; %tiempo entre representaciones I=0.04; %tiempo entre representaciones % I=1 %tiempo entre representaciones i=1; j(1)=1; k=2;
while i<=N if t(i)>=I*k-I j(k)=i; k=k+1; end i=i+1; end
%-----------------------------------------------------------------
%representación de la velocidad relativa de la rueda sobre la
placa móvil figure(6) hold on plot(t(:,1), Vcp(:,1), 'g');grid % plot([0 t(N)], [Vp Vp], 'k')
8. Anexo
Página | 82
title('Evolución de la velocidad relativa de la rueda sobre la
placa móvil') xlabel('Tiempo [seg]') ylabel('Vcp [m/s]') xlim([0 t(N)]) % legend('Vcp','Vp')
%-------------------------------------- %representación de la amplitud de las oscilaciones figure(8) hold on grid
%blucle para buscar los máximos de alfa1 cont1=0; pun1=[]; for p1=2:N if x(p1-1,3)>0 && x(p1,3)<0 cont1=cont1+1; pun1(cont1)=p1; elseif x(p1-1,3)<0 && x(p1,3)>0 cont1=cont1+1; pun1(cont1)=p1; end end
%blucle para buscar los máximos de alfa2 cont2=0; pun2=[]; for p2=2:N if x(p2-1,4)>0 && x(p2,4)<0 cont2=cont2+1; pun2(cont2)=p2; elseif x(p2-1,4)<0 && x(p2,4)>0 cont2=cont2+1; pun2(cont2)=p2; end end
plot(((t(pun1)+t(pun1+1))/2),abs(((x(pun1,1)+x(pun1+1,1))/2)*180/p
i)) plot(((t(pun2)+t(pun2+1))/2),abs(((x(pun2,2)+x(pun2+1,2))/2)*180/p
i),'r') % plot(t(pun2),abs(x(pun2,2)*180/pi),'r') % plot(t(1),x(1,1)*180/pi) % plot(t(1),x(1,2)*180/pi,'r')
PFC Felipe Parejo Palop
Página | 83
title('Evolución de las amplitudes de alfa1 y alfa2') xlabel('Tiempo [seg]') ylabel('Amplitdud de alfa [grados]') xlim([0 t(N)]) ylim([0 0.7]) ylim([0 max(abs(x(:,2)*180/pi))+5])
% ylim([-max(abs(x(:,2)*180/pi))-5 max(abs(x(:,2)*180/pi))+5]) legend('alfa1','alfa2')
bigonidif.m
En este fichero es donde hemos creado una función que incluye las
ecuaciones diferenciales del sistema.
%bigonidif %función que incluye las ecuaciones diferenciales del sistema function xdot=bigonidif(t, x, W, Vp, L1, L2, L3, K0, Beta0, l1,
l2, k2, beta2, ls, lf, muD, muS, eps, A, B)
%fuerza de reacción en la rueda R=ls*W/(lf+l1*cos(x(1,1))+l2*cos(x(2,1))); %[N] fuerza de reacción
%velocidad radial (axial respecto a la barra) relativa de la rueda
respecto a la placa Vcp=Vp*cos(x(2,1))-l1*x(3,1)*sin(x(1,1)-x(2,1));
%coeficiente de rozamiento % mu=muD; mu=muD*sign(Vcp); % mu=muBig(x, Vp, l1, muD, muS, eps); % mu=muD*tanh(A*Vcp); % mu=muD*2*atan(B*Vcp)/pi;
%fuerza de rozamiento P=mu*R;
%sistema de ecuaciones diferenciales xdot(1,1)=x(3,1); xdot(2,1)=x(4,1); xdot(3,1)=(-L2^2*sin(x(1,1)-x(2,1))*cos(x(1,1)-x(2,1))*x(3,1)^2-
k2*(x(1,1)-x(2,1))*L2*cos(x(1,1)-x(2,1))-beta2*(x(3,1)-
x(4,1))*L2*cos(x(1,1)-x(2,1))-L2*L3*sin(x(1,1)-x(2,1))*x(4,1)^2-
L3*(K0*x(1,1)-k2*x(2,1)+Beta0*x(3,1)-
beta2*x(4,1))+L3*l1*P*sin(x(1,1)-x(2,1)))/(L1*L3-(L2*cos(x(1,1)-
x(2,1)))^2); xdot(4,1)=(-L2*cos(x(1,1)-x(2,1))*xdot(3,1)+L2*sin(x(1,1)-
x(2,1))*x(3,1)^2+k2*(x(1,1)-x(2,1))+beta2*(x(3,1)-x(4,1)))/L3;
85
9. Bibliografía
[1] Bigoni, D., Noselli, G., 2011. “Experimental evidence of flutter and
divergence instabilities induced by dry friction”. Journals of the Mechanics
and Physics of Solid. 59 (10), 2208-2226.
[2] Ziegler, H., 1953. “Linear elastic stability. A critical analysis of methods”. Z.
Angew. Maths. Phys. 4, 89-121.
[3] Ziegler, H., 1977. “Principles of Structural Stability”. Birkhäuser Verlag,
Basel and Stuttgart.
[4] Hermann, G., 1971. “Dynamics and Stability of Mechanical Systems with
Follower Forces”. Technical Report NASA CR-1782.
[5] Beck, M., 1952. “Die knicklast des einseitig einsgespannten, tangential
gedrückten Stabes”. Z. Angew. Math. Phys. 3, 225-228.
[6] Pflüger, A., 1955. “Zur Stabilität des tangential gedruckten Stabes”. Z. Angew.
Math. Mech. 5, 191.
[7] Hermann, G., Nemat-Nasser, S., Prasad, S.N., 1966. “Models Demostrating
Instability of Nonconservative Dynamical Systems”. Technical Report No.
66-4, Northwestern University, Department of Civil Engineering.
[8] Sugiyama, Y., Katayama, K., Kinoi, S., 1995. “Flutter of cantilevered column
under rocket thrust”. J. Aerosp. Eng. 8, 9-15.
[9] Sugiyama, Y., Katayama, K., Kiriyama, K., Ryu, B.-J., 2000. “Experimental
verification of dynamic stability of vertical cantilevered columns subjected to
a sub-tangential force”. J. Sound Vib. 236, 193-207.
[10] Doedel, E.J., Oldeman, B.E., 2012. “AUTO-07P: continuation and
bifurcation software for ordinary differential equations”. Concordia
University, Montreal, Canada.